В этом примере показано, как считать измерения температуры и влажности с удаленного датчика на ПЛК, подключенном через 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, чтобы получить текущее значение температуры. Поскольку значение температуры является double, установите точность в double.
read(m,'holdingregs',1,1,'double') ans = 46.7
Датчик влажности соединяется с регистром удержания по адресу 5 на плате. Считайте 1 значение, чтобы получить текущее значение влажности.
read(m,'holdingregs',5,1,'double') ans = 35.8
Отсоединитесь от сервера и очистите объект.
clear m