NEWS
Modbus адреса в ТРМ133М-02
-
Адреса Modbus в контроллере распределены по группам (интервалам). Интервалы состоят из последовательных адресов Modbus (следующие друг за другом с разными типами значений; длиной (1 - 2 байта)…). При добавлении адресов: 126; 180; 337; 94 (без alias) в "system.adapter.modbus.0", то опрос значений работает. Если добавить ещё один адрес, например: 126; 180; 337; 94 (Float); 96(Float) или 126; 180; 337 (Enum); 338 (Enum); 94, то опрос по "рядом стоящим адресам" не работает (и "пишет" неверные значения по тем же адресам в "system.adapter.modbus.1", "system.adapter.modbus.2" ...). То есть контроллер не поддерживает "считывание" несколько (даже 2-х) адресов (в 0х03 Modbus функции).
Можно ли оставить весь функционал Modbus драйвера для "считывания последовательных Modbus адресов" в тех "настройках (Основное)" какие есть на данный момент(в ПЛК100 работает) и добавить: "считывание Modbus адреса" по одному значению (без диапазона адресов в 0x03 Modbus функции)?
Например код в C# (Float) работает:
ipAddress = "192.168.0.1";
port = 4001;
Connect();
UnitIdentifier = 1;
int[] serverResponse = ReadHoldingRegisters(26, 2);
...
//Thread.Sleep(1000);
serverResponse = ReadHoldingRegisters(28, 2);
...
serverResponse = ReadHoldingRegisters(30, 2);
...
Disconnect();
-
Для ТРМ133 ставим в настройках Modbus (основное) в меню "максимальная длина запроса на чтение (float)" на 1 registers : опрос работает. :idea: