Настройка контроллеров с протоколом Modbus

Настройка контроллеров с протоколом Modbus в системе АТМ
Краткая инструкция по настройке произвольных ПЛК, допускающих опрос по протоколу Modbus (RTU, ASCII, TCP). Обратите внимание на то, что тип протокола опроса указывается при регистрации.
Дополнительные данные по полному списку используемых в системе АТМ команд и функциональных кодов Modbus можно получить в службе поддержки support@1sim.ru.

Порядок подключения контроллера Modbus в системе АТМ

Система АТМ: Настройка контроллеров с протоколом Modbus
Система АТМ: Настройка контроллеров с протоколом Modbus
Система АТМ: Настройка контроллеров с протоколом Modbus

Тип параметра – «читаемый с прибора»

Название – любое человекочитаемое, например «Температура подачи»
Сокращенное название – короткое, например t1
Код параметра – должен иметь вид rXX_YYY, где XX – modbus-функция для чтения (01, 02, 03 или 04), YYY – адрес регистра (в десятичной системе). Параметры с функцией чтения 01 или 02 — это сответственно дискретные входы, 03 и 04 — регистры (ввода или хранения).
Категория – «текущие»
Единицы измерения – 1, 2 или 4 байтное целое, либо float (в формате IEEE), согласно описанию подключаемого контроллера. В системе АТМ единицы могут быть следующими:

byte — 1-байтное целое (от -128 до 127)

short — 2-байтное целое (от -32768 до 32767)

int — 4-байтное целое

float — 4-байтное вещественное в формате IEEE

float.swap — 4-байтное вещественное в формате IEEE. Формат отличается от float порядком, в котором рассматриваются байты.

int.swap — 4-байтное целое с обратным порядком байт

int.rswap — 4-байтное целое с обратным порядком байт внутри регистров

bool — логическое значение, 0 или 1.
 

Единицы измерения, заданные в интерфейсе системы АТМ, определяют порядок интерпретации полученных с прибора значений, т.е. следует выбирать единицы измерения исходя из того, как значение хранится в приборе. При использовании функций 01 или 02 единственным допустимым выбором является bool, поскольку дискретные входы могут принимать только значения 0 или 1.
Система АТМ: Настройка контроллеров с протоколом Modbus

Дискретный сигнал

Вид формулы в редакторе формул будет иметь следующий вид: rXX_YYY has Z.AABB, где ХХ — modbus-функция для чтения (03 или 04), YYY – адрес регистра/байта (в десятичной системе), Z — показатель инверсии бита (если поставить 1, то будет считаться, что дискретный сигнал нормальный, если 0, то сигнал инверсный), АА — номер бита (в десятичной системе), ВВ — маска для проверки.

Пример: 

r03_2 has 0.0301
r03 - команда чтения 
_2 - номер байта (читаем второй байт)
has 0. - дискретный сигнал в инверсии (аварийный/на разрыв)
has 1. - нормальный сигнал
03 - номер читаемого бита (третий бит)
01 - маска

Аналоговый сигнал

Для калибровки сигнала и отображения реальных физических единиц требуется внести формулу при редактировании параметра в Редакторе формул. 

Пример:

r03_11
11 - номер байта (читаем одиннадцатый байт)
Для отображения физических единиц записываем в Редакторе формул, например, следующее: (6*r03_11)/4000. Это означает,что диапазон измерения от 0 до 6 кгс/см, а шкала прибора измерения 4000 единиц.

Подобных параметров можно добавить произвольное количество. В дальнейшем можно создавать «Составные» параметры, в которых можно создавать формулы, ссылающиеся на читаемые с прибора параметры (например если в регистре хранится давление в 100*Кгс/см2, можно в составном сослаться на этот читаемый и поделить в формуле на 100).

 Внимание!
Вы подключаете нестандартное устройство. Подключаемое устройство может "считать себя" как DTE, так и DCE. Пожалуйста, обратите внимание на правильный подбор интерфейсного кабеля. Ознакомьтесь с документацией на устройство: вам может потребоваться как "кросс-кабель", так и "прямой", устройство может требовать аппаратного согласования потоков (сигналы RTS, DTR, CTS, DSR). В противном случае, опыт подключения может затянуться на несколько дней бесплодных поисков несуществующих программных ошибок.

Дополнительная информация:

Расширенный список операторов протокола Modbus в системе АТМ


Вы не нашли нужную информацию?