Сообщение от
Newcomer
Добрый день.
Вот пример из РП на панель СП3ХХ.
Задача: к панели по протоколу Modbus TCP подключено slave-устройство с ID=4. Необходимо считать значение из шестого Input регистра и записать его в регистр панели PSW300.
Код макроса:
WORD Value=0;
Read(NET_0, 4, MODBUS_TCP_REG_3X, 6, 0, TYPE_WORD, &Value);
PSW[300]=Value;
Что означает 0 в записи ? Если это число считываемых регистров, то почему 0, а не 1.
Добрый день.
Это номер бита в регистре. Используется для считывания конкретного бита регистра (когда TYPE_BIT и осуществляется доступ к регистрам. Когда тип другой - не используется).
Пример использования:
Код:
BOOL Value;
Read(HMI_LOCAL_MCH, 0, TYPE_PSW, 256, 4, TYPE_BIT, &Value); // считываем PSW256.4
При работе по Modbus - нужно использовать MODBUS_RTU_BIT_4X и MODBUS_TCP_BIT_4X соответственно.