ій пам'яті і розмір буфера
Список використовуваних функцій Modbus
Наявність/відсутність перевірки парності
Щодо основної програми, бібліотека Modbus обробляє запити від системи управління установкою, працюючи в переривання. Виникає необхідність захисту від виклику обробника Modbus в процесі зміни значення змінної, до якої якраз звертається Modbus. Повинна бути можливість призупинити роботу Modbus на час виконання зазначених транзакцій. p align="justify"> З точки зору стороннього розробника, який використовує розроблену бібліотеку, можна виділити кілька функцій:
Запуск Modbus із заданими значеннями параметрів
Заблокувати роботу Modbus на час обробки транзакції
Розблокувати роботу Modbus
Припинення роботи Modbus
З точки зору розробника бібліотеки виділяються наступні функції:
Ініціалізація та запуск протоколу із заданими параметрами
Прийом чергового байта посилки, для цього необхідно послідовно здійснити такі дії:
В· Зрозуміти, до якої посилці відноситься цей байт, чи були витримані всі таймінги
В· Визначити, до якої частини посилки відноситься даний байт (чи прийшов нам адресу пристрою, код функції, байт даних або байт контрольної суми)
В· Перевірити коректність отриманого значення відповідно з функціональним призначенням байта (наприклад, чи не було звернення до регістру за межами буфера, чи збігається прийшов адресу з власною адресою пристрою)
В· Зберегти байт
Після закінчення прийому всієї посилки, перевірити правильність контрольної суми за алгоритмом CRC (визначений специфікацією для Modbus RTU)
Виконати запитувана майстром дію, наприклад:
В· Вважати значення регістра по заданому адресою
В· Задати вказані значення для групи регістрів і т.д.
Надіслати майстру відповідь
Заблокувати/розблокувати роботу Modbus slave
Вимкнути бібліотеку
Інструменти
Для розробки програмного продукту була використана інтегрована середовище розробки ОјVision3, що поставляється в комплекті з платою AduC842 SAR Eval Board Rev A3. Це середовище включає редактор, управління проектами та створення об'єктного коду. Вбудовані в ОјVision3 інструменти включають компілятор С, макроассемблер, линкер і генератор hex файлів. Є можливість налагодження програмного коду. p align="justify"> Враховуючи специфіку роб...