[17편] LS PLC(XEM-DN32H2)의 데이터를 MYSQL 데이터베이스(database)에 저장하고 읽어오기!(C# and NODE-RED)
프로그래밍/LS산전PLC 2023. 7. 19. 23:22https://youtube.com/live/I7w3X7Hpbkk
[17편] LS PLC(XEM-DN32H2)의 데이터를 MYSQL 데이터베이스(database)에 저장하고 읽어오기!(C# and NODE-RED)
녹칸다의 내맘대로 PLC시리즈이다!
이번 시리즈는 아래 구글 슬라이드에 설명자료를 작성하도록 한다!(모두에게 공유되어있음)
https://docs.google.com/presentation/d/1c5YLf60WR_41MiQoi98iuQQTgTxfjQfBKBZt6dUz8R0/edit#slide=id.g2317be94e50_0_0
녹칸다는 아두이노 코딩하는 유튜버이다!
이번 시리즈는 아래와 같은 주의사항이 있다!
1.녹칸다는 PLC에 대해서 잘 모름(가장 중요)
2.아두이노로 코딩하던 사람이 PLC를 바라보는 관점으로 입문자용 자료를 만듦!
3.그러므로 PLC를 정석으로 하고자 하는 의도는 전혀 없음!
4.녹칸다가 가진 PLC CPU는 레더로직(LD)과 ST언어 2가지로 제어가 가능함!
5.레더로직은 전혀 이해가 안되어서 몇가지 샘플만 구동해보는 것으로 마무리 함!(대충 이렇게 하는구나~ 정도 수준)
6.ST언어는 약간 이해가 되므로 아두이노 코딩하는 전략을 기반으로 해서 다양한 예제를 만들어 보도록 함!
7.그러나 녹칸다가 ST언어로 코딩할 내용이 “실제로 이렇게 해도 되는건가?” 는 보장하지 못함, “결론적으로 작동이 됨”에 초점을 맞추도록 함!
8.진행중 잘못된 설명이 있으면 녹칸다에게 알려주면 감사!
이번편에서는 녹칸다가 활용하고 있는 LS PLC인 XEM-DN32H2의 데이터를 데이터베이스(database)인 MYSQL에 저장하고 읽어오는 것을 주제로 해보도록 한다!
다양한 구성이 있을 수 있는데 통신은 FEnet으로 하고 제어 프로토콜은 MODBUS TCP로 하도록 한다!
데이터베이스는 대용량이 스토리지가 필요하고 대용량 스토리지는 일반적으로 크기가 크기 때문에 PLC근처에 있지 않는다고 가정을 해보도록 한다!
그렇다면 먼거리에서 데이터를 수집하기 위해서는 이더넷(ethernet)을 사용하는게 좋을 것 같다!
아무튼 이것은 시나리오이고 PLC에서 생산된 제어데이터를 어떻게 하면 데이터베이스에 집어넣고 읽어올수 있을지에 초점을 맞추어 보도록 한다!
데이터 수집을 하기 위한 프로그램은 C#과 노드레드(node-red)로 구현하도록 한다!
예제1)C#윈폼에 데이터베이스 관련 개발환경을 구성하고 기본적으로 데이터를 쓰고 읽는 예시를 보이시오!
예제2)C#과 PLC를 modbus TCP로 연결하고 데이터를 DB에 집어넣으시오!
예제3) 예제2에서 PLC설정을 그대로 유지하고 노드레드(node-red)에서 동일한 기능을 구현하시오!