В этом примере показано, как считать измерения температуры и влажности с удаленного датчика на ПЛК, подключенном через 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