аданої майстром функції або містить дані, передані підлеглим пристроєм у відповідь на запит ведучого. Довжина і формат поля залежить від номера функції;
Поле «Контрольна сума» є важливим елементом протоколу: у ньому міститься інформація, необхідна для перевірки цілісності повідомлення і відсутності помилок передачі. Контрольна сума завершує кадри запиту і відповіді. Поле CRC записується молодшим байтом вперед. Алгоритм розрахунку CRC може відрізнятися для різних пристроїв.
Максимальний розмір пакета для мереж RS232/RS485 - 256 байт, для мереж TCP - 260 байт.
.2 Адресація даних в протоколі Modbus RTU
Всі операції з даними прив'язані до нуля, кожен вид даних (регістр, вихідна / вхідна значення) починаються з адреси 0000. Адресація до осередку починається з 1.
Наприклад: Прапор номер 1 програмованого контролера має адресу 0000 (вказується в полі «Адреса»).
Прапор номер 127 (DEC) має адресу 0x007E hex (126 dec) (вказується в полі «Адреса»).
запам'ятовує регістр 40001 буде мати адресу 0000 в полі «Адреса» команди. Тому що код операції вже містить у собі необхідну інформацію про адресу. Операції з цими регістрами мають зсув Адрес_регістра - 40000=Значення Використовуване В Поле «Адреса». Тип адресації команд надалі будемо позначати як у таблиці 3.2.1
Таблиця 3.2.1 - позначення типу адресації команд
смещеніеобозначеніе - 400004x - 100001x
запам'ятовує регістр 40108 буде мати адресу 006B hex (107 dec)
.3 Контроль помилок в протоколі Modbus RTU
Під час обміну даними можуть виникати помилки двох типів:
· помилки, пов'язані з спотвореннями при передачі даних;
· логічні помилки.
Помилки першого типу виявляються за допомогою фреймів символів, контролю парності і циклічної контрольної суми CRC. Результат передається в лінію зв'язку з молодшого байта.
Для повідомлень про помилки другого типу протокол Modbus RTU передбачає, що пристрої можуть відсилати відповіді, що свідчать про помилкову ситуації. Ознакою того, що відповідь містить повідомлення про помилку, є встановлений старший біт коду команди. Кадр помилкового відповіді наведено в Табл. 3.3.1
Таблиця - 3.3.1 Кадр помилкового відповіді modbus
Мережевий адресКод командиКод помилки CRC - код018102С1 91 Можуть бути відправлені відповіді, що мають наступні коди (Табл. 3.3.2).
Таблиця 3.2.2 - Коди помилок modbus
Код ошібкіНазваніеКомментарій 01ILLEGAL FUNCTIONКоманда не реалізована (неприпустимий номер функції) 02ILLEGAL DATA ADDRESSНекорректний адрес03ILLEGAL DATA VALUEНекорректние данние04FAILURE IN ASSOCIATED DEVICEОтказ обладнання контроллера05ACKNOWLEDGEДанние не готові (оберігає від генерації помилки таймаута) 06BUSY, REJECTED MESSAGEСістема зайнята, повторити повідомлення позже07NAK -NEGATIVE ACKNOWLEDGMENTКод непідтвердження прийому, передає станція повторює передачу08MEMORY PARITY ERRORОшібка перевірки парності пам'яті У RTU режимі повідомлення починається з інтервалу тиші рівного часу передачі 3,5 символів при даній ...