Цитата Сообщение от petera Посмотреть сообщение
Нужно сделать компиляцию из двух способов

В ф.область, первой функцией, добавить не мой фрагмент, а вызов Вашего макроса

Только в макросе добавить условие
если PSW[531] не равно нулю, тогда
Write(PLC, 1, MODBUS_RTU_REG_4X, 531, 0, TYPE_WORD, PSW[531])

И режим выполнения макроса нужно делать последовательно.
Спасибо за мысль, тоже попробую:
WORD Value=0;
Value=PSW[531];
PSW[531]!=0? Write(PLC, 1, MODBUS_RTU_REG_4X, 531, 0, TYPE_WORD, Value): Read(PLC, 1, MODBUS_RTU_REG_4X, 531, 0, TYPE_BIT, &PSW[531]);

Как-то так получилось, похоже на правду?