[학위논문]OPC UA Publish-Subscribe 통신에서의 브로커 기반 메시지 전송 방법 구현 (The) Implementation of Broker-Based Message Transmission Method in OPC UA Publish-Subscribe Communication원문보기
지난 몇 년간 IT의 트렌드 중 하나는 사물인터넷(IoT) 이었으며, 이는 기존에 네트워크에 연결되지 않았던 장비들이 네트워크에 연동되어 데이터를 교환할 수 있는 방법을 제공하였다. 산업분야에서도 마찬가지로 위와 같은 추세를 따라 공장 내 모든 장비에 통신 기능을 추가하여 활용하고자 하는 움직임이 있으며, 이렇게 IT 기술이 융합된 공장 자동화를 스마트팩토리(...
지난 몇 년간 IT의 트렌드 중 하나는 사물인터넷(IoT) 이었으며, 이는 기존에 네트워크에 연결되지 않았던 장비들이 네트워크에 연동되어 데이터를 교환할 수 있는 방법을 제공하였다. 산업분야에서도 마찬가지로 위와 같은 추세를 따라 공장 내 모든 장비에 통신 기능을 추가하여 활용하고자 하는 움직임이 있으며, 이렇게 IT 기술이 융합된 공장 자동화를 스마트팩토리(Smart Factory)라 일컫는다[1]. 기존의 공장에서 생산 등의 설비를 제어하는 프로토콜로서 대두되던 것으로 OPC UA가 있다. 그러나 스마트팩토리가 등장하면서 OPC UA 시스템에 구성되는 장비의 수가 증가하였고, 기존 OPC UA의 클라이언트-서버 모델로는 신속한 정보 교환 및 효율적인 통신 자원 사용이 어려울 것이라는 관측이 등장함에 따라 새로운 통신 방식의 필요성이 대두되었다. 이에 새롭게 OPC UA의 표준 통신 모델로서 추가된 것이 바로 발행-구독 모델을 따르는 PubSub이다. OPC UA의 표준에는 PubSub 통신이 새롭게 추가되었으나, 아직 상업용 OPC UA SDK 및 오픈 소스 프로젝트 중에는 PubSub의 발행 및 구독 통신 과정을 온전하게 지원하는 것이 없다. 본 논문은 다가오는 스마트팩토리 시대에서 OPC UA PubSub을 빠르게 적용해보기 위해 표준에 맞게 OPC UA PubSub을 구현하였다. 오픈 소스로 제공되며 아직 발행자의 일부분만 구현되어 있는 Open62541을 기반으로 하여 구독자를 위한 통신 스택을 구현하고, 표준에는 등록되어 있지만 아직 구현되지 않은 메시지 브로커 기반의 통신 프로토콜MQTT 및 AMQP를 추가하였다. MQTT는 개발 라이브러리 및 메시지 브로커로 오픈 소스 기반의 Mosquitto를 사용하였으며, AMQP 또한 개발 라이브러리 및 메시지 브로커로 오픈 소스 기반의 RabbitMQ를 사용하였다. 최종적으로 패킷 분석 프로그램인 Wireshark를 이용하여 MQTT 및 AMQP 상에서 OPC UA UADP로 인코딩된 메시지가 정상적으로 전송되고 있음을 확인하였다.
지난 몇 년간 IT의 트렌드 중 하나는 사물인터넷(IoT) 이었으며, 이는 기존에 네트워크에 연결되지 않았던 장비들이 네트워크에 연동되어 데이터를 교환할 수 있는 방법을 제공하였다. 산업분야에서도 마찬가지로 위와 같은 추세를 따라 공장 내 모든 장비에 통신 기능을 추가하여 활용하고자 하는 움직임이 있으며, 이렇게 IT 기술이 융합된 공장 자동화를 스마트팩토리(Smart Factory)라 일컫는다[1]. 기존의 공장에서 생산 등의 설비를 제어하는 프로토콜로서 대두되던 것으로 OPC UA가 있다. 그러나 스마트팩토리가 등장하면서 OPC UA 시스템에 구성되는 장비의 수가 증가하였고, 기존 OPC UA의 클라이언트-서버 모델로는 신속한 정보 교환 및 효율적인 통신 자원 사용이 어려울 것이라는 관측이 등장함에 따라 새로운 통신 방식의 필요성이 대두되었다. 이에 새롭게 OPC UA의 표준 통신 모델로서 추가된 것이 바로 발행-구독 모델을 따르는 PubSub이다. OPC UA의 표준에는 PubSub 통신이 새롭게 추가되었으나, 아직 상업용 OPC UA SDK 및 오픈 소스 프로젝트 중에는 PubSub의 발행 및 구독 통신 과정을 온전하게 지원하는 것이 없다. 본 논문은 다가오는 스마트팩토리 시대에서 OPC UA PubSub을 빠르게 적용해보기 위해 표준에 맞게 OPC UA PubSub을 구현하였다. 오픈 소스로 제공되며 아직 발행자의 일부분만 구현되어 있는 Open62541을 기반으로 하여 구독자를 위한 통신 스택을 구현하고, 표준에는 등록되어 있지만 아직 구현되지 않은 메시지 브로커 기반의 통신 프로토콜 MQTT 및 AMQP를 추가하였다. MQTT는 개발 라이브러리 및 메시지 브로커로 오픈 소스 기반의 Mosquitto를 사용하였으며, AMQP 또한 개발 라이브러리 및 메시지 브로커로 오픈 소스 기반의 RabbitMQ를 사용하였다. 최종적으로 패킷 분석 프로그램인 Wireshark를 이용하여 MQTT 및 AMQP 상에서 OPC UA UADP로 인코딩된 메시지가 정상적으로 전송되고 있음을 확인하였다.
One of the trends in IT over the past few years was the Internet of Things(IoT), the way how the devices were not connected the the network get an opportunity to exchange data in the network. In the industrial sector, there is a movement to add communcation functions to all the devices in the factor...
One of the trends in IT over the past few years was the Internet of Things(IoT), the way how the devices were not connected the the network get an opportunity to exchange data in the network. In the industrial sector, there is a movement to add communcation functions to all the devices in the factory along with the IoT trend. The factory automation, the fusion with IT, is called a Smart Factory. OPC UA emerged as a protocol to control facilities such as a production in factory. However, with the rise of Smart Factory, the number of devices in the OPC UA system has increased, and it has been observed that the client-server model of the OPC UA will not able to exchange information quickly and use efficient communication resources. The newly added standard communication model of OPC UA is PubSub which adopts publish-subscribe model. While the OPC UA standard adds PubSub communication, there is still no commercial OPC UA SDK and open source project fully supporting PubSub’s publish-subscribe communication. This paper implements the OPC UA PubSub in order to quickly apply the OPC UA PubSub in the upcoming Smart Factory era. Based on the Open62541 provided as an open source and only part of the publisher is implemented, I added the communication stack for subscriber and broker-based communication protocol MQTT and AMQP registered in the standard but not implemented. I used Mosquitto open source to implement MQTT stack and connect to the message broker, and used RabbitMQ open source to implement AMQP stack and connect to the message broker. Finally, I confirmed that the MQTT and AMQP message encoded by OPC UA UADP are transmitted successfully by using Wireshark, the packet analysis software.
One of the trends in IT over the past few years was the Internet of Things(IoT), the way how the devices were not connected the the network get an opportunity to exchange data in the network. In the industrial sector, there is a movement to add communcation functions to all the devices in the factory along with the IoT trend. The factory automation, the fusion with IT, is called a Smart Factory. OPC UA emerged as a protocol to control facilities such as a production in factory. However, with the rise of Smart Factory, the number of devices in the OPC UA system has increased, and it has been observed that the client-server model of the OPC UA will not able to exchange information quickly and use efficient communication resources. The newly added standard communication model of OPC UA is PubSub which adopts publish-subscribe model. While the OPC UA standard adds PubSub communication, there is still no commercial OPC UA SDK and open source project fully supporting PubSub’s publish-subscribe communication. This paper implements the OPC UA PubSub in order to quickly apply the OPC UA PubSub in the upcoming Smart Factory era. Based on the Open62541 provided as an open source and only part of the publisher is implemented, I added the communication stack for subscriber and broker-based communication protocol MQTT and AMQP registered in the standard but not implemented. I used Mosquitto open source to implement MQTT stack and connect to the message broker, and used RabbitMQ open source to implement AMQP stack and connect to the message broker. Finally, I confirmed that the MQTT and AMQP message encoded by OPC UA UADP are transmitted successfully by using Wireshark, the packet analysis software.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.