<< Click to Display Table of Contents >> Navigation: Modbus Universal MasterOPC Server > Быстрый старт > Пример 2 - подключение прибора по Modbus RTU > Тег входного аналогового значения |
Начнем с создания тега для опроса входного аналогового значения.
Чтобы определить адрес и тип регистра нужной вам переменной устройства необходимо обратится к документации по сетевому протоколу данного устройства. В Modbus существует 4 основных региона - Coils, Discrete Inputs, Holding Registers и Input Registers, каждая из функций имеет определенный номер функции, который должен послать Мастер (то есть в данном случае OPC сервер) при запросе к устройству. Некоторые производители в карте Modbus регистров указывают имена регионов, но многие указывают номера функций.
Соответствие региона Modbus функциям чтения и записи |
||
Регион |
Функция чтения |
Функции записи |
Coils |
0x01 |
0x05 - одиночная, 0x0F - групповая |
Discrete_Inputs |
0x02 |
не поддерживается |
Holding_Registers |
0x03 |
0x06 - одиночная, 0x10 - групповая |
Input_Registers |
0x04 |
не поддерживается |
Обратимся к странице 12 документации к протоколу устройства:
В устройствах Jumo также указываются номера функций. В нашем случае прибор для чтения поддерживает функцию 0x03 или 0x04, то есть можно установить регион тега Holding Registers или Input Registers. Поскольку в уставки мы также будем выполнять и запись, то для однообразия лучше использовать регион Holding Registers.
Обратимся к странице 22 документации прибора и найдем нужную нам переменную - Analog Input.
Наш тег имеет адрес 0x2B, тип данных - Float, и тип доступа - ReadOnly. Регион тега будет использовать Holding Registers. Нам известны все параметры тега - его можно добавлять в OPC сервер.
Вызовем у устройства контекстное меню и выберем пункт Добавить - Тег.
В появившемся окне зададим имя тега - Value и укажем остальные параметры. Регион - Holding Registers, Тип данных в устройстве and Тип данных в сервере - Float, Тип доступа - ReadOnly.
Отдельно следует отметить задание адреса регистра. Все адреса в Modbus OPC сервере задаются в десятичном формате. В документации к прибору адрес указан с HEX формате - 0x2B. OPC сервер снабжен функцией автоматического перевода из HEX в DEC. Для этого введите в поле адрес 0xАдрес и нажмите Enter - будет выполнен перевод числа, а слева от поля ввода, для наглядности, будет выведено число в HEX формате.
Также следует остановится на настройке Перестановка байт - если чередование байт будет установлено некорректно, то OPC сервер будет принимать некорректные значения. По стандарту Modbus у 4 байтовых чисел (Float, Int32, Uint32) используется чередование байт "Старшим байтом вперед". Вызовем редактор перестановки байт и установим данный способ чередования.
Нажмем OK - тег добавится в дерево.