在宏指令中用GETDATA读取多个PLC数据是,只能读出第一个PLC地址的数据,其他的数据读不出来,并且有丢数据的现象,宏指令程序如下
macro_command main()
short Data
GetData(Data, "Local HMI", LW, 200, 1)
Data=Data+1
SetData(Data, "Local HMI", LW, 200, 1)
GetData(Data, "MODBUS RTU", 4x, 1#71, 1)
Data=Data*1.6
SetData(Data, "Local HMI", "Ua", 1)
GetData(Data, "MODBUS RTU", 4x, 1#72, 1)
Data=Data*1.6
SetData(Data, "Local HMI", "Ub", 1)
GetData(Data, "MODBUS RTU", 4x, 1#73, 1)
Data=Data*1.6
SetData(Data, "Local HMI", "Uc", 1)
GetData(Data, "MODBUS RTU", 4x, 1#77, 1)
SetData(Data, "Local HMI", "Ia", 1)
GetData(Data, "MODBUS RTU", 4x, 1#78, 1)
SetData(Data, "Local HMI", "Ib", 1)
GetData(Data, "MODBUS RTU", 4x, 1#79, 1)
SetData(Data, "Local HMI", "Ic", 1)
GetData(Data, "MODBUS RTU", 4x, 1#83, 1)
SetData(Data, "Local HMI", "Ps", 1)
GetData(Data, "MODBUS RTU", 4x, 1#87, 1)
SetData(Data, "Local HMI", "Qs", 1)
GetData(Data, "MODBUS RTU", 4x, 1#92, 1)
SetData(Data, "Local HMI", "PF", 1)
GetData(Data, "MODBUS RTU", 4x, 1#93, 1)
SetData(Data, "Local HMI", "F", 1)
GetData(Data,"MODBUS RTU",4X,2#77,1)
SetData(Data,"Local HMI","Ia1",1)
GetData(Data,"MODBUS RTU",4X,3#77,1)
SetData(Data,"Local HMI","Ia2",1)
GetData(Data,"MODBUS RTU",4X,4#77,1)
SetData(Data,"Local HMI","Ia3",1)
end macro_command
2#77的数据读不上来
这是什么原因造成的,有什么解决的办法吗?当把每个站号单独写在独立宏指令中,可以读出来,帮帮我吧 |