<< Click to Display Table of Contents >> Navigation: Modbus Universal MasterOPC Server > Быстрый старт > Пример 1 - проверка работы с симулятором > Ввод значений регистров |
ModRSSim настроен. Теперь введем в регистры значения, чтобы удостоверится что OPC сервер ведет опрос корректно. ModRSSim поддерживает написание скриптов на языке Visual Basic, например для генерации случайных значений (подробее см Автоматизация с помощью скрипта), но в данном примере мы будем осуществлять простой ручной ввод в регистры.
Изменить вручную значения нескольких регистров, а затем выполним их опрос из Modbus OPC сервера. Например, нам необходимо опросить 3 регистра:
1.Регион Holding Registers - адрес регистра 12 - тип данных word;
2.Регион Input Registers - адрес регистра 6 - тип данных float;
3.Регион Coils - адрес регистра 8 - тип данных bool.
Найдем эти регистры и введем в них значения.
1. Holding Registers.
Установим в настройках ModRSSim регион Holding Registers и тип данных word 16.
Теперь нам нужно найти 12 регистр, и ввести в него значение.
В ModRSSim адреса регистров представлены в стандартном виде. Стандартный Modbus адрес, определяет номер используемой функции чтения, записи и адрес переменной. При стандартной адресации существует четыре области памяти:
•Дискретные флаги (COILS): адреса 00001...09999, чтение функция 0x01, запись - функция 0x0F;
•Дискретные входы (DISCRETE_INPUTS): адрес 10001...19999, чтение - функции 0x02;
•Входные регистры (INPUT_REGISTERS): адрес 30001...39999, чтение - функция 0x04;
•Хранимые регистры (HOLDING_REGISTERS): адрес 40001...49999, чтение - функция 0x03, запись - функция 0x10.
Для преобразования стандартного Modbus адреса, к представлению адресов OPC сервера (а также представлению в документации большинства Modbus устройств), необходимо выполнить следующее:
1.По первой цифре стандартного адреса определить регион, к которому принадлежит данный регистр;
2.Убрать из стандартного адреса первую цифру и вычесть единицу.
У нас задача обратная поэтому нужно прибавить к исходному адресу единицу и подставить соответствующий номер региона. В нашем случае 12 регистр это адрес 400013. Найдем его в таблице и выполним двойной щелчок мыши:
Откроется окно ввода - в него можно ввести значение. Для примера введет 50 и нажмем ОK - оно отобразится в таблице.
Выберем регион - Analog Input, а также установим тип данных - float 32.
Найдем 6 регистр - 300007 и выполним в него ввод дробного числа, например 12.25.
При этом в соседнем регистре также будут прописаны значения - это корректно, дело в том что Float переменная имеет размерность 4 байта, и поэтому занимает 2 Modbus регистра, в нашем случае регистры 6 (300007) и 7 (300008).
Переключимся на регион Coils. У данного региона тип данных всегда - bool. В таблице он представлен значения 0 (false) и 1 (true).
Найдем регистр 8 и введем в него 1 - то есть подадим сигнал True.
Задание значений в симуляторе закончено - можно приступить к конфигурированию OPC сервера.