СТА 4/2010

92 СТА 4/2010 www.cta.ru Контроль чётности может отсутствовать вообще. В этом случае вместо бита паритета должен использоваться второй стоповый бит. Для обеспечения максимальной совместимости с другими продуктами рекомендуется ис! пользовать возможность замены бита паритета на второй стоповый бит. Ведомые устройства могут воспринимать любой из вари! антов: чётный, нечётный паритет или его отсутствие. Структура сообщения Modbus RTU Сообщения Modbus RTU передаются в виде кадров, для каждого из которых известны начало и конец. Призна! ком начала кадра является пауза (тишина) продолжи! тельностью не менее 3,5 шестнадцатеричных символов (14 бит). Кадр должен передаваться непрерывно. Если при передаче кадра обнаруживается пауза продолжительностью более 1,5 шестнадцатеричных символов (6 бит), то считает! ся, что кадр содержит ошибку и должен быть отклонён принимающим модулем. Эти величины пауз должны стро! го соблюдаться при скоростях ниже 19 200 бит/с, однако при более высоких скоростях рекомендуется использовать фиксированные значения паузы – 1,75 мс и 750 мкс соот! ветственно. Контроль ошибок В режиме RTU имеются два уровня контроля ошибок в сообщении: ● контроль паритета для каждого байта (опционно); ● контроль кадра в целом с помощью CRC!метода. CRC!метод используется независимо от проверки паритета. Значение CRC устанавливается в ведущем уст! ройстве перед передачей. При приёме сообщения вычисля! ется код CRC для всего сообщения и сравнивается с его значением, указанным в поле CRC кадра. Если оба значе! ния совпадают, считается, что сообщение не содержит ошибки. Стартовые, стоповые биты и бит паритета в вычислении CRC не участвуют. П РИКЛАДНОЙ УРОВЕНЬ Прикладной уровень Modbus RTU версии 1.1а описан в [3]. Он обеспечивает коммуникацию между устройствами типа «ведущий–ведомый». Прикладной уровень является независимым от физического и канального, в частности, он может использовать протоколы Ethernet TCP/IP (Modbus TCP/IP), Modbus Plus (многомастерная сеть с пе! редачей маркера), интерфейсы RS!232, RS!422, RS!485, В ЗАПИСНУЮ КНИЖК У ИНЖЕ Н Е РА Таблица 2 Пример кодов Modbus RTU для модуля RealLab! типа NL 16DI ОБОЗНАЧЕНИЕ РЕГИСТРА HEX АДРЕС РЕГИСТРА ЧТО ЧИТАЕТСЯ ИЛИ ЗАПИСЫВАЕТСЯ КОД ФУНКЦИИ ЧТЕНИЯ РЕГИСТРА КОД ФУНКЦИИ ЗАПИСИ В РЕГИСТР ПРИМЕЧАНИЕ 00001 00h 00h Дискретный выход 0 01 05 1 или 0 00002 00h 01h Дискретный выход 1 01 05 1 или 0 10001 00h 00h Дискретный вход 0 02 – 1 или 0 10002 00h 01h Дискретный вход 1 02 – 1 или 0 10003 00h 02h Дискретный вход 2 02 – 1 или 0 10004 00h 03h Дискретный вход 3 02 – 1 или 0 10005 00h 04h Дискретный вход 4 02 – 1 или 0 10006 00h 05h Дискретный вход 5 02 – 1 или 0 10007 00h 06h Дискретный вход 6 02 – 1 или 0 10008 00h 07h Дискретный вход 7 02 – 1 или 0 10009 00h 08h Дискретный вход 8 02 – 1 или 0 10010 00h 09h Дискретный вход 9 02 – 1 или 0 10011 00h 0Ah Дискретный вход 10 02 – 1 или 0 10012 00h 0Bh Дискретный вход 11 02 – 1 или 0 10013 00h 0Ch Дискретный вход 12 02 – 1 или 0 10014 00h 0Dh Дискретный вход 13 02 – 1 или 0 10015 00h 0Eh Дискретный вход 14 02 – 1 или 0 10016 00h 0Fh Дискретный вход 15 02 – 1 или 0 40201 00h C8h Имя модуля 03 10 – 40213 00h D4h Версия программы 03 – – 40513 02h 00h Адрес модуля 03 06 0001h–00F7h (допустимый диапазон значений) 40514 02h 01h Скорость UART 03 06 0003h–000Ah (допустимый диапазон значений) 40518 02h 05h Протокол 03 06 0000h – ASCII, 0001h – RTU 40769 03h 00h Значение на выходе после включения питания модуля Power On Value0 03 06 0000h–0003h (допустимый диапазон значений) © СТА-ПРЕСС

RkJQdWJsaXNoZXIy MTQ4NjUy