[16편] LS PLC(XEM-DN32H2)의 Cnet과 FEnet과 XGT SERVER 프로토콜로 노드레드(node-red)에서 원격제어하기!(녹칸다의 내맘대로 PLC 시리즈)
프로그래밍/LS산전PLC 2023. 7. 13. 23:07https://youtube.com/live/WkmWhI7ehjU
[16편] LS PLC(XEM-DN32H2)의 Cnet(RS485)과 FEnet(Ethernet)과 XGT SERVER 프로토콜로 노드레드(node-red)에서 원격제어하기!(녹칸다의 내맘대로 PLC 시리즈)
녹칸다의 내맘대로 PLC시리즈이다!
이번 시리즈는 아래 구글 슬라이드에 설명자료를 작성하도록 한다!(모두에게 공유되어있음)
https://docs.google.com/presentation/d/1c5YLf60WR_41MiQoi98iuQQTgTxfjQfBKBZt6dUz8R0/edit#slide=id.g2314596cf4f_0_0
녹칸다는 아두이노 코딩하는 유튜버이다!
이번 시리즈는 아래와 같은 주의사항이 있다!
1.녹칸다는 PLC에 대해서 잘 모름(가장 중요)
2.아두이노로 코딩하던 사람이 PLC를 바라보는 관점으로 입문자용 자료를 만듦!
3.그러므로 PLC를 정석으로 하고자 하는 의도는 전혀 없음!
4.녹칸다가 가진 PLC CPU는 레더로직(LD)과 ST언어 2가지로 제어가 가능함!
5.레더로직은 전혀 이해가 안되어서 몇가지 샘플만 구동해보는 것으로 마무리 함!(대충 이렇게 하는구나~ 정도 수준)
6.ST언어는 약간 이해가 되므로 아두이노 코딩하는 전략을 기반으로 해서 다양한 예제를 만들어 보도록 함!
7.그러나 녹칸다가 ST언어로 코딩할 내용이 “실제로 이렇게 해도 되는건가?” 는 보장하지 못함, “결론적으로 작동이 됨”에 초점을 맞추도록 함!
8.진행중 잘못된 설명이 있으면 녹칸다에게 알려주면 감사!
이번편에서는 녹칸다가 활용하고 있는 LS PLC인 XEM-DN32H2으로 노드레드(node-red)에서 XGT-SERVER프로토콜로 원격제어하는 것을 목표로 한다!
원격제어하고자하는 컴퓨터(이하 PC)에서 PLC와 연결하기 위해서 Cnet과 FEnet을 활용할 수 있다!
Cnet은 유선으로 연결하는 것인데 RS232와 RS485가 가능하고 시연은 RS485통신으로 하도록 한다!
FEnet은 인터넷으로 연결하는 것을 말하고 유무선 공유기에서 나오는 인터넷선을 직접 연결해서 통신 하도록 한다!
근데 Cnet하고 FEnet에 적용된 XGT SERVER프로토콜이 차이가 있다!(완전 다름)
그래서 첫번째로는 LS PLC에 RS485를 연결하고 Cnet설정을 통해서 노드레드로 XGT SERVER프로토콜로 원격제어를 해보고,
두번째로는 이더넷(ethernet)선을 PLC에 연결해서 인터넷으로 XGT SERVER프로토콜로 원격제어를 해보도록 한다!
문제는 노드레드(node-red)에 XGT SERVER프로토콜과 관련된 기능이 전혀 없으므로 제조사 매뉴얼을 보면서 직접 구현을 해야한다!
녹칸다와 함께 매뉴얼을 정독하면서 XGT SERVER 프로토콜을 구현해보도록 하자!
(라이브방송에서 구현한 LS PLC예제)
예제1) %QX0.0.0에 파일럿램프를 1개 연결하고 XGT-SERVER프로토콜을 이용해서 ON/OFF해보기!(Cnet/개별쓰기)
예제2)%QX0.0.0의 파일럿램프의 상태를 0.5초간격으로 읽어오시오!
예제3)%QX0.0.0~%QX0.0.2까지 3개의 파일럿램프를 연결해서 동시에 ON/OFF하고 상태를 확인하는 예시를 보이시오!
예제4)%MW0에 12345와 30000이라는 값을 저장하고 읽어오는 예시를 보이시오!
예제5)FEnet을 설정해서 %QX0.0.0의 파일럿램프를 ON/OFF하는 예시를 보이시오!
예제6)%QX0.0.0의 램프의 온오프상태를 개별읽기작업하는 예시를 보이시오!
예제7)%QX0.0.0~%QX0.0.2까지 파일럿램프 3개를 동시에 ON/OFF하고 상태를 확인하는 예시를 보이시오!
예제8)%MW0에 12345와 30000을 저장하고 읽어오는 예시를 FEnet으로 구현하시오!