В этом примере показано, как считывать измерения температуры и влажности с удаленного датчика ПЛК, подключенного через TCP/IP. Датчик температуры подключен к регистру удержания по адресу 1 на плате, а датчик влажности - по адресу 5.
Создайте объект MODBUS с помощью TCP/IP.
m = modbus('tcpip', '192.168.2.1', 502)
m =
Modbus TCPIP with properties:
DeviceAddress: '192.168.2.1'
Port: 502
Status: 'open'
NumRetries: 1
Timeout: 10 (seconds)
ByteOrder: 'big-endian'
WordOrder: 'big-endian'Датчик влажности не всегда реагирует мгновенно, поэтому увеличьте значение тайм-аута до 20 секунд.
m.Timeout = 20
Датчик температуры подключен к регистру удержания по адресу 1 на плате. Считайте значение 1, чтобы получить текущее значение температуры. Так как значение температуры является двойным, установите точность как двойную.
read(m,'holdingregs',1,1,'double') ans = 46.7
Датчик влажности подключен к регистру удержания по адресу 5 на плате. Считайте значение 1, чтобы получить текущее значение влажности.
read(m,'holdingregs',5,1,'double') ans = 35.8
Отключитесь от сервера и очистите объект.
clear m