🔥[FA-DUINO#22] 산업용 아두이노(arduino)와 ESP8266보드로 모드버스(modbus) TCP구현해보기!(modbus tcp)
프로그래밍/산업용아두이노(fa-duino) 2022. 12. 28. 23:16🔥[FA-DUINO#22] 산업용 아두이노(arduino)와 ESP8266보드로 모드버스(modbus) TCP구현해보기!(modbus tcp)
녹칸다의 산업용 아두이노(FA-DUINO) 시리즈이다!
산업용 아두이노를 이용한 코딩과 실제 산업현장에서 사용할 수 있는 제품들을 활용하도록 한다!
산업용 아두이노는 아두이노 메가보드로 만들어져 있어서 녹칸다 입장에서는 아두이노와 동일하다!
그러나 산업용 아두이노에 연결되는 것들은 아두이노의 것이라고 볼 수 없다!
그러므로 기존 아두이노와는 별개로 산업 제품을 연결하고 활용하는 것도 주요 주제라고 할 수 있다!
산업제품을 실제로 활용은 하되 전문가에 가깝게 하지는 않고 시연을 위한 도구 정도로 한정한다!
(녹칸다는 전기 패널에 대해서 전혀 알지 못함)
아두이노만 다루었던 사람은 산업제품의 배선이나 연결방법을 모르고,
산업제품을 다뤘던 사람은 PLC와 제조사에서 제공하는 프로그램만 다루어서 아두이노를 알지 못한다!
즉 녹칸다는 둘 사이를 연결하는 역할을 담당하게 된다!
아두이노는 C와 C++언어를 기반으로 하는데 생각보다 학습해야하는 양이 많다!
이번 산업용 아두이노 시리즈에서는 C와 C++언어에 대해서 잘 알고 있다고 가정한다!
(아두이노에서 사용하는 C와 C++언어에 대한 지원을 위해서 녹칸다의 아두이노 병법서 시리즈가 있으니 모르는 분들은 그것을 참고)
녹칸다의 산업용 아두이노는 구글 슬라이드에 결과물을 저장함!(모든 사람에게 공유되어있음!)
https://docs.google.com/presentation/d/19UuuJpKdFTj_RVp3qCrfGlKRo_kFRgEBzKX3Za8-u50/edit#slide=id.p
이번편은 산업용 아두이노와 IoT보드(wemos d1r1)를 rs232로 연결해서 모드버스 TCP를 구현하는 것을 목표로 한다!
모드버스 마스터는 노드레드(node-red) 플랫폼의 모드버스 노드를 활용하도록 한다!
먼저 산업용 아두이노는 인터넷에 연결되는 기능이 없기 때문에 IoT보드를 이용해서 대신 연결해주어야한다!
아래와 같은 순서로 접근해보도록 하자!
1.IoT보드를 TCP서버로 작동시키고 노드레드에서 접속할 수 있는지 확인해야한다!
2.노드레드에서 보낸 모드버스 TCP 데이터를 IoT보드가 받을 수 있는지 확인해야한다!
3.IoT보드가 수신한 모드버스 TCP데이터를 모드버스 RTU데이터로 변환하기!
4.IoT보드와 산업용 아두이노를 RS232로 연결하고 모드버스 RTU데이터 넘겨주기!
5.산업용 아두이노가 응답한 데이터를 IoT보드가 수신해서 모드버스 TCP로 응답하기!
(여기서 IoT보드의 역할은 TCP와 RTU사이의 변환을 가능하도록 하는 것이다)
(수신 데이터의 길이를 잘 계산해서 전달해주어야 할것이고 송신데이터의 길이도 미리 계산해서 받아야할 것이다)