![]() |
Кравчук Василий АнатольевичФакультет: Факультет компьютерных информационных технологий и автоматики
Тема выпускной работы:Исследование и усовершенствование протокола передачи данных по линиям электроснабжения 220В, 50Гц для SCADA-системРуководитель: Суков Сергей Феликсович, доцент, к. т. н. |
Материалы по теме выпускной работы: |
Форматы функций Modbus. Modicon. Modbus Protocol Reference Guide |
||
Форматы функций Modbus Выражение числовых значений Если не определено иначе, числовые значения (типы адресов, кодов, или данных) выражены как десятичные значения в тексте этого раздела. Они выражены как шестнадцатеричные значения в числовых областях сообщения. Адреса данных в сообщениях Modbus Все адреса данных в сообщениях Modbus начинаются с нуля. Первое значение элемента данных определено как ноль. Например: •Значение, определенное как ‘значение 1’ в программируемом контроллере отображается как значение 0000 в данных при обращении к области сообщения Modbus. •Значение 127 в десятичных числах представляется как значение 007E hex (126 в десятичных числах). •Регистр временного хранения информации 40001 задается как регистр 0000 в области данных сообщения. Функциональная область кода уже определяет операцию 'регистра временного хранения информации'. Поэтому ‘4XXXX’ справочная информация подразумевается. •Регистр временного хранения информации 40108 задается как регистр 006B hex (107 в десятичных числах). Содержание полей в сообщениях Modbus Запрос ведущего – запрос чтения регистров временного хранения информации к подчиненному устройству по адресу 06. Сообщение запрашивает данные от трех регистров временного хранения информации, 40108 - 40110. Отметим, что сообщение определяет, что стартовый регистр обозначен как 0107 (006B Н). Подчиненный ответ повторяет функциональный код, указывая, что это – нормальный ответ. Область 'Byte Count' определяет, сколько 8-битовых элементов данных возвращается. Это показывает количество 8-битовых байтов для порядка следования в данных, как для ASCII, так и для RTU. В ASCII это значение – половина фактического количества символов ASCII в данных. В ASCII каждое 4-битовое шестнадцатеричное значение требует одного символа ASCII, поэтому два символа ASCII должны следовать в сообщении, чтобы содержать каждый 8-битовый элемент данных. Например, значения 63Н посылаются как один 8-битовый байт в режиме (01100011) RTU. То же самое значение, посланное в режиме ASCII, требует двух байтов, для ASCII ‘6’ (0110110) и ‘3’ (0110011). Область 'BYTE COUNT' считает эти данные как один 8-битовый элемент, независимо от символа, задаваемого методом (ASCII или RTU). | ||