Запнулся на очередной простой задаче, связанной с макросами. Видимо - не совсем еще логику понимаю.
Суть задачи следующая - с контроллера считывается число, и при определенных его значениях в поле вывода нужно вывести соответствующий текст.
- Код: Выделить всё
- macro_command main()
float result
char text
GetDataEx(result, "MODBUS TCP/IP (32-Bit)", 4x, 10004, 1)
if result<200 then
text='R'
SetDataEx(result, "Local HMI", LW, 10, 1)
SetDataEx(text, "Local HMI", LW, 12, 1)
else if result>200 then
text='J'
SetDataEx(result, "Local HMI", LW, 10, 1)
SetDataEx(text, "Local HMI", LW, 12, 1)
end if
end macro_command
Подскажите - почему при первом срабатывании макроса выводится всегда R, и затем этот символ не меняется, независимо от пришедшего result?