char heardBeat[12] = "F0FE4B73A900" short port = 5010 char buf[1000] char req[31] = {33, 44, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 2, 115, 49, 7, 100, 105, 115, 112, 115, 107, 121, 2, 114, 117, 0, 0, 1, 0, 1} short receive_len short setShort bool setBool unsigned int time, timeStamp sub reg() setShort = 8 SetData(setShort, "Local HMI", LW, 9605, 1) SetData(setShort, "Local HMI", LW, 9606, 1) SetData(setShort, "Local HMI", LW, 9607, 1) SetData(setShort, "Local HMI", LW, 9608, 1) setShort = 53 SetData(setShort, "Local HMI", LW, 9609, 1) setShort = 40 SetData(setShort, "Local HMI", LW, 10520, 1) setBool = 1 SetData(setBool, "Local HMI", LB, 10071, 1) OUTPORT(req[0], "DispSky2", 31) INPORT(buf[0], "DispSky2", 1000, receive_len) SetData(buf[43], "Local HMI", LW, 9600, 1) SetData(buf[44], "Local HMI", LW, 9601, 1) SetData(buf[45], "Local HMI", LW, 9602, 1) SetData(buf[46], "Local HMI", LW, 9603, 1) SetData(port, "Local HMI", LW, 9604, 1) setBool = 1 SetData(setBool, "Local HMI", LB, 10070, 1) end sub macro_command main() GetData(time, "Local HMI", LW, 9030, 1) GetData(timeStamp, "Local HMI", RW, 0, 1) if timeStamp == 0 or time - timeStamp >= 300 then reg() OUTPORT(heardBeat[0], "DispSky1", 12) OUTPORT(heardBeat[0], "DispSky3", 12) SetData(time, "Local HMI", RW, 0, 1) end if INPORT2(buf[0], "DispSky1", receive_len, 1) if receive_len > 0 then OUTPORT(buf[0], "DispSky3", receive_len) SetData(time, "Local HMI", RW, 0, 1) end if INPORT2(buf[0], "DispSky3", receive_len, 1) if receive_len > 0 then OUTPORT(buf[0], "DispSky1", receive_len) end if end macro_command