Послідовний зв'язок між промисловим комп'ютером і однокристальною розподіленою системою управління master-slave

Jan 05, 2022

Залишити повідомлення

Дизайн апаратного інтерфейсу Система управління, описана в цій статті, складається з промислового комп'ютера та декількох однокристальних комп'ютерів AT89C2051. Передача даних між господарем і рабом використовує асинхронний послідовний зв'язок. Оскільки порт послідовного зв'язку промислового комп'ютера є інтерфейсом RS-232C, його логічний рівень симетричний до землі, що відрізняється від виходу рівня TTL послідовним портом однокристального мікрокомп'ютера AT89C2051. Тому необхідно забезпечити надійну передачу даних між ними. Перетворювач рівня повинен бути підключений до лінії зв'язку. Коди конвертера загального рівня включають чіпи ICL232 і MAX232. У цьому тексті використовується чіп перетворення рівня MAX232.

Кілька однокристальних комп'ютерних схем зв'язку 2 дизайн програмного забезпечення 2.1 AT89C2051 однокристальний комп'ютерний комп'ютерний багатокомп'ютерний зв'язок функція AT89C2051 однокристальний мікрокомп'ютер послідовний порт має: послідовне надсилання буфера / отримання буфера (SBUF), регістр послідовного управління портом (SCON), спеціальний регістр функцій (PCON). Існує 4 режими роботи по налаштуванню SCON, серед яких режими роботи 2 і 3 підходять для багатокомп'ютерного зв'язку. Режим послідовного зв'язку 3 однокристального мікрокомп'ютера AT89C2051 є 9-бітним асинхронним режимом зв'язку даних зі змінною швидкістю бауд, а також є найбільш широко використовуваним режимом в багатокомп'ютерному зв'язку в даний час. Тут AT89C2051 передає кадр інформації з 11 бітами в цілому: 1 початковий біт, 8 біт даних, 1 біт може бути запрограмований на 9-й біт "1" або "0" і 1 стоп-біт, серед яких дев'ятий біт даних може бути використаний як біт паритету, а також може бути використаний як ідентифікаційний прапор для "адресного кадру" і "рамки даних".

Промисловий комп'ютер оснащений послідовним асинхронним портом зв'язку (адреса порту COM1 - 3f8H, адреса порту CM2 - 2f8H), а універсальний асинхронний приймач / передавач (UART) на платі інтерфейсу - це шматок 8250 або частина структури, метод програмування Той же чіп, що і 8250 з 10 регістрами всередині. Програмне забезпечення послідовного зв'язку ПК, програмістам потрібно лише використовувати команди вводу/виводу для введення/виведення регістрів в UART, щоб встановити швидкість послідовного зв'язку baud, формат передачі даних, чи дозволяти перерви, надсилати або отримувати дані Wait.

Новий метод багатомашинного зв'язку У звичайному багатомашинному способі зв'язку біт парності використовувався як характерний біт коду адреси надсилання (номер каналу) або даних, а перевірка передачі даних приймає метод накопичення та перевірки. Використання цього методу не тільки збільшує накладні витрати програмного забезпечення і обсяг даних для зв'язку, але і впливає на продуктивність в режимі реального часу. 2.3.1 Основні принципи комунікації

Дані 5 2 - встановлюється на "0" безпосередньо, і зробити +, ясно, то незалежно від того, яке значення дев'яти бітових даних (+ 9 8) є, нижній комп'ютер може генерувати послідовне переривання прийому, так що дев'ятий біт може бути використаний як біт паритету виявлення помилок теж. Наприклад, коли верхній комп'ютер-зразок спілкується з нижнім комп'ютером, спочатку надсилається адресний код, а потім команда даних надсилається після успішного рукостискання. В цей час прапор нижнього комп'ютера встановлений на "1", що еквівалентно "кишені" машини було відкрито. Комп'ютер постійно отримує дані з комп'ютера з нижньої позиції комп'ютера, і видає команду для відновлення ПРАПОРА в нижній позиції комп'ютера до "0" після отримання без помилок, щоб усвідомити "закриття кишені".

Коли нижній комп'ютер надсилає дані на верхній комп'ютер, він спочатку надсилає довжину даних для передачі, а потім починає надсилати припустимі дані.

Домовлено, що 00H - команда fetch, 0FFH - команда скидання, зв'язок приймає навіть паритет, а швидкість бод встановлена на рівні 2400b / s. Проточна схема основної функції ПК наведена вище, як показано вище. Програма зв'язку ПК написана на мові VC ++6.0. Комунікаційний модуль нижнього однокристального мікрокомп'ютера включає в себе основну програму і програму переривання, а її програмна блок-схема показана в і відповідно. Як реалізувати один на один зв'язок між верхнім комп'ютером і нижнім комп'ютером з відповідною адресою відправки? Можна використовувати програмний метод. Конкретний метод такий: у нижній комп'ютерній програмі встановлюється змінна прапора FLAG, а під час ініціалізації для FLAG встановлено значення "0". Коли верхній комп'ютер надсилає дані, кожен нижній комп'ютер генерує приймальне переривання, а рутина служби переривання спочатку оцінює значення локального ПРАПОРА. . Якщо FLAG є "0", порівняйте отримані дані з локальною адресою, якщо вона узгоджена, встановіть FLAG на 6", і надішліть назад локальний адресний код у відповідь, інакше негайно вистрибніть з рутини служби переривання; якщо FLAG є "1", вказуючи на те, що команда управління, відправлена верхнім комп'ютером, передається на відповідну програму обробки команд, і, нарешті, вистрибує з рутини служби переривання і повертається до основної програми. Після завершення зв'язку між верхнім комп'ютером і нижнім комп'ютером прапор нижнього комп'ютера встановлюється на "0". Якщо рукостискання не вдається, верхній комп'ютер-зразок надсилає команду скидання на нижній комп'ютер, а потім запускає рукостискання знову, якщо він не вдається три рази, він перетвориться на помилку обробки.

Спосіб реалізації та заходи надійності промислового комп'ютерного програмного забезпечення (1)Пронумеруйте кожен нижній комп'ютер і використовуйте його як адресний код комп'ютера.

Висновок У цій статті викладено лише один метод послідовного інтерфейсу розподіленої системи управління, але існує безліч методів інтерфейсу зв'язку між кожною машиною, таких як: пряме підключення послідовного порту (коли відстань коротка), підключення через модем і т.д. З точки зору програмного програмування, рабська машина безпосередньо пишеться мовою асемблера однокристального мікрокомп'ютера; а модуль підпрограми зв'язку промислового комп'ютера також може бути реалізований на різних мовах. Тому в конкретному дизайні системи один з методів можна підбирати відповідно до реальної ситуації, а в програмуванні можна розглядати технологію виявлення помилок і виправлення помилок, а в програмуванні можна завершити надійний зв'язок.

Послати повідомлення