HOME > 고객지원 > Q&A
PLC, IO Server통신 Redundancy |
---|
작성자: 관리자 2002-03-07 14:13:10 | 4,687 |
일단 I/O server와 InTouch의 데이터 송수신 체크입니다. I/O server에 Topic을 만들면 InTouch에는 해당 AccessName가 있을것입니다. InTouch에서 IO integer Tag에 해당 AccessName를 부여한뒤 item name을 STATUS로 주시면 IO Server에 이상이 발생할 경우 Status값이 0이 됩니다. PLC Backup과 관련해서는 IO Server에 해당 PLC에 따라 각각의 Topic을 만들어 두셨을 것입니다. 각각의 PLC에 HeartBeat Address를 만들어둡니다. 참고로 HeartBeat는 PLC에 특정 Address에 끊임없이 값이 변하게끔 (예를들어 시간의 초 값 같은) 설정합니다. 그런 후 InTouch의 특정 Tag에 HeartBeat Address를 부여합니다. 예를들어 IO integer Tag에 Tagname : Heart라고 가정하고 Datachange Script에 Tagname : Heart Script : CounterCheck = 0; Tagname : $Second Script : CounterCheck = CountCheck +1; if CounterCheck > 10 then <-여기서 10은 PLC와 통신이 10초간 멈추면 Topic을 바꾸게 됩니다. IOSetAccessname("Accessname","nodename","Applicationname","Topicname"); endif; IOSetAccessName Function에 대한 자세한 설명은 Script창의 Help를 참조하십시오. 이상입니다. 위의 Script에 좀 더 추가하자면 IOGetTopic Function 등을 이용하여 현재 Topic값을 얻어 이상이 발생하면 다른 Topic으로 대체합니다. 예를들어 if CounterCheck > 10 then if IOGetTopic("AccessName") == "PLC1" then IOSetAccessName("AccessName","Node","Application","PLC2"); else IOSetAccessName("AccessName","Node","Application","PLC1"); end if; end if; |