2.4.1 Реалізація протоколу передачі даних Modbus RTU Для взаємодії з керуючим персональним копьютера в програмне забезпечення системи управління був доданий алгоріітм, який реалізує стандартизований бінарний протокол передачі даних Modbus RTU. Вибір протоколу передачі даних заснований на простоті реалізації та різноманітті вже написаного ПО для налагодження та обміну даними по цьому протоколу.- Відкритий комунікаційний протокол, заснований на архітектурі «клієнт-сервер». Широко застосовується в промисловості для організації зв'язку між електронними пристроями. Може використовуватися для передачі даних через послідовні лінії зв'язку RS - 485, RS - 422, RS - 232, а також мережі TCP / IP (Modbus TCP). Контролери на шині Modbus взаємодіють, використовуючи клієнт-серверну модель, засновану на транзакціях, що складаються з запиту і відповіді.
Зазвичай в мережі є тільки один клієнт, так зване, «головне» (master) пристрій, і кілька серверів - «підлеглих» (slaves) пристроїв. Головне пристрій ініціює транзакції (передає запити). Головний може адресуватися індивідуально до підлеглого або ініціювати передачу широкомовного повідомлення для всіх підлеглих пристроїв. Підлеглий пристрій відповідає на запит, адресований саме йому. При отриманні широкомовного запиту відповідь не формується. Специфікація Modbus описує структуру запитів і відповідей. Їх основа - елементарний пакет протоколу, так званий PDU (Protocol Data Unit). Структура PDU не залежить від типу лінії зв'язку і включає в себе код функції і поле даних. Код функції кодується однобайтового полем і може приймати значення в діапазоні 1 .. 127. Діапазон значень 128 .. 255 зарезервований для кодів помилок. Поле даних може бути змінної довжини. Розмір пакета PDU обмежений 253 байтами.
Для передачі пакета по фізичних лініях зв'язку PDU поміщається в інший пакет, що містить додаткові поля. Цей пакет носить назву ADU (Application Data Unit). Загальна структура ADU наступна:
адресу веденого пристрою - адреса підлеглого пристрою, до якого адресовано запит. Ведені пристрої відповідають тільки на запити, що надійшли на їх адресу. Відповідь також починається з адреси відповідає веденого пристрою, який може змінюватися від 1 до 247. Адреса 0 використовується для широкомовної передачі, його розпізнає кожен пристрій, адреси в діапазоні 248 .. 255 - зарезервовані;
код функції - це наступне однобайтное поле кадру. Воно говорить веденого пристрою, які дані або виконання якого дії вимагає від нього веде пристрій;
дані - поле містить інформацію, необхідну веденого пристрою для виконання заданої майстром функції або містить дані, передані веденим пристроєм у відповідь на запит ведучого. Довжина і формат поля залежить від номера функції;
блок виявлення помилок - контрольна сума для перевірки відсутності помилок в кадрі.
Максимальний розмір ADU для послідовних мереж RS232/RS485 - 256 байт, для мереж TCP - 260 байт.
Помилки передачі даних виявляються за допомогою фреймів символів, контролю парності і циклічної контрольної суми CRC - 16-IBM (використовується число-поліном=0xA001).
Наявність в мікроконтролері контролера прямого доступу в пам'ять дозволило реалізувати дуже швидкий і невимогливий до ресурсів алгоритм обміну даними. Що дозволило підняти швидкість передачі даних до 480 Кбіт / с.
3. СПЕЦІАЛЬНА ЧАСТИНА
.1 Моделювання системи скаляр...