반응형

https://youtube.com/live/Xcc1FCAth2E

[14편] LS PLC(XEM-DN32H2)의 Cnet과 MODBUS RTU 프로토콜로 노드레드(node-red)에서 원격제어하기!(녹칸다의 내맘대로 PLC 시리즈)

녹칸다의 내맘대로 PLC시리즈이다!
이번 시리즈는 아래 구글 슬라이드에 설명자료를 작성하도록 한다!(모두에게 공유되어있음)
https://docs.google.com/presentation/d/1c5YLf60WR_41MiQoi98iuQQTgTxfjQfBKBZt6dUz8R0/edit#slide=id.g2561df2b582_0_0

녹칸다는 아두이노 코딩하는 유튜버이다!
이번 시리즈는 아래와 같은 주의사항이 있다!

1.녹칸다는 PLC에 대해서 잘 모름(가장 중요)
2.아두이노로 코딩하던 사람이 PLC를 바라보는 관점으로 입문자용 자료를 만듦!
3.그러므로 PLC를 정석으로 하고자 하는 의도는 전혀 없음!
4.녹칸다가 가진 PLC CPU는 레더로직(LD)과 ST언어 2가지로 제어가 가능함!
5.레더로직은 전혀 이해가 안되어서 몇가지 샘플만 구동해보는 것으로 마무리 함!(대충 이렇게 하는구나~ 정도 수준)
6.ST언어는 약간 이해가 되므로 아두이노 코딩하는 전략을 기반으로 해서 다양한 예제를 만들어 보도록 함!
7.그러나 녹칸다가 ST언어로 코딩할 내용이 “실제로 이렇게 해도 되는건가?” 는 보장하지 못함, “결론적으로 작동이 됨”에 초점을 맞추도록 함!
8.진행중 잘못된 설명이 있으면 녹칸다에게 알려주면 감사!

이번편에서는 녹칸다가 활용하고 있는 LS PLC인 XEM-DN32H2의 Cnet으로 MODBUS RTU 프로토콜을 이용한 원격제어를 해보고자 한다!
(노드레드가 설치된 컴퓨터와 PLC를 RS485 to USB모듈로 연결하고 원격제어함)

직전편까지는 C#윈폼을 이용해서 원격제어 프로그램을 구현했다면 이번에는 IoT플랫폼인 노드레드(node-red)로 접근해보는 것이다!

노드레드에서 간단한 몇가지 설정을 하고 모드버스 프로토콜에 대한 약간의 이해만 있으면 구현하는데는 큰 어려움이 없다!
그리고 노드레드로 구현하게 되면 web app형태로 구동되므로 플랫폼의 제약이 없다!

잘 만들어두면 스마트폰이나 태블릿에서도 PLC를 제어할 수 있는 형태가 된다!
노드레드(node-red)의 기본적인 사용법과 무엇을 설치하면 PLC를 원격제어 할 수 있는지 함께 알아보도록 하자!

 

(녹칸다가 라이브방송에서 구현한 LS PLC 예제)

예제1)%QX0.0.0에 파일럿램프를 1개 연결하고 노드레드에서 write single coil을 이용해서 on/off하는 예시를 보이시오!

example14_1.zip
0.01MB

예제2)예제1번에서 만들었던 결과를 dashboard를 이용해서 UI로 구현하시오!

example14_2.zip
0.01MB

예제3)%QX0.0.0에 연결된 파일럿램프의 켜짐과 꺼짐상태를 UI에 출력하는 예제를 구현하시오!

example14_3.zip
0.01MB

예제4)%QX0.0.0~%QX0.0.2까지 3개의 파일럿램프를 연결해서 개별적으로 on/off하고 상태를 확인하면서 동시에 제어가 가능하도록 구현하시오!

example14_4.zip
0.01MB

예제5)읽고쓰기 겸용 레지스터 0번지(%MW100)에 부호가없는 16bit 정수를 저장하고 읽어오는 예시를 보이시오!

example14_5.zip
0.01MB

예제6)읽고쓰기 겸용 레지스터 0번지(%MW100)에 부호가있는 16bit 정수를 저장하고 읽어오는 예시를 보이시오!

example14_6.zip
0.01MB

예제7)%IX0.0.0에 버튼을 누르면 PLC내부의 카운터값이 1씩 증가하고 %IX0.0.1의 버튼을 누르면 카운터값이 1씩 감소할때 카운터값을 %MW0으로 지정하고 노드레드에서 현재 카운터값을 출력할 수 있는 예제를 구현하시오!

example14_7.zip
0.02MB

반응형
Posted by 덕력킹
,