3. В документации к прибору регистры указаны в формате 40001, при их опросе значения приходят некорректные.
Производитель устройства использует адресацию регистров в стандартном формате. Перевести ее к виду, требуемому в Modbus Universal MasterOPC очень просто. При стандартной адресации существует четыре области памяти:
- Дискретные флаги (COILS): адреса 00001...09999, чтение функция 1, запись - функция 15;
- Дискретные входы (DISCRETE_INPUTS): адрес 10001...19999, чтение - функции 2;
- Входные регистры (INPUT_REGISTERS): адрес 30001...39999, чтение - функция 4;
- Хранимые регистры (HOLDING_REGISTERS): адрес 40001...49999, чтение - функция 3, запись - функция 16
Для преобразования стандартного Modbus адреса, к современному представлению адресов OPC сервера, необходимо выполнить следующее:
1. По первой цифре стандартного адреса определить регион, к которому принадлежит данный регистр;
2. Убрать из стандартного адреса первую цифру и вычесть единицу.
Например, если стандартный адрес равен
40013, то в Modbus Universal MasterOPC, это будет тег региона Holding_Registers, а адрес регистра будет равен
12.