MQTT와 OPC UA 통신을 통한 산업용사물인터넷(IIoT) 구현

2018년 들어서 체감하고 있는 변화 중 하나는 IOT에 대한 기사가 늘었다는 것과 이를 주제로 하는 세미나가 작년보다 더 많이 생기고 있다는 것이다. 하지만 IOT와 관련된 회사나 이에 대한 인력이 한정되다 보니 세미나가 증가하는 것만큼이나 세미나 강연에 대한 요청이 많아 지고 있다.

필자가 속해 있는 회사의 입장에서 보면 참 반가운 일이 아닐 수 없다. 사용자의 관심과 시장의 요구가 점점 더 커지고 있고, 이로 인해 시장의 생성이 점점 더 현실화되어 간다는 반증이기 때문이다. 하지만 개인적인 입장에서 보면 세미나의 증가는 숙제와 고민을 가지게 만든다. 세미나에 참석하는 불특정 다수를 대상으로 자료를 준비하다 보니 그 수준의 기준을 어디에 둬야 하는지 모른다는 것이다. 참석자들은 최신 기술이나 동향에 대해 듣고자 하지만, 전혀 제어기술이나 통신기술에 문외한인 사람이나 사전 지식이 없는 사람들이 듣게 된다면 그 이해도가 어느 정도가 될지 모른다는 것이 숙제이다.

또한 동일한 세미나를 매년 나가다 보니 지난 번에 했던 내용에서 한 걸음 더 나아가서 설명을 해야 할지 지난 번 수준에서 해야 할 지도 문제이다. 제한된 시간에 주제를 설명해야 하다 보니 기본적인 배경설명을 하게 되면 정작 주제를 설명할 시간이 모자라고, 주제로 바로 들어가면 이에 대한 이해도를 높이는데 문제가 발생한다. 가능한 많은 참석자가 만족할 수 있는 수준과 방향을 찾기 위해 세미나를 준비할 때마다 고민이 된다. 힘들여 칼럼을 쓰고 있는 이유 중 하나도 세미나에서 채우지 못한 궁금증을 조금이나마 해소시키고자 하는 것도 주요 이유 중 하나이다.

지난 시간의 마지막에 언급하였던 MQTT와 OPC UA에 대해 이번 시간에 알아보고자 한다. IIOT를 얘기하다 보면 이 두 가지를 반드시 얘기한다고 해도 과언이 아니다. 그 만큼 이 두 가지 통신방식이 IIOT에서 가장 널리 사용되는 프로토콜이며, 그 이유는 다음과 같이 간단히 정리할 수 있다. 이 프로토콜들은 공통적으로 플랫폼에 독립적이며, 통신을 위한 포트 포워딩이 필요치 않다. 또한 표준 Ethernet 방식을 적용하고 있어 편리하게 사용할 수 있다. 조금 더 자세히 들여다 보면MQTT는 IBM과 Eurotech이 공통으로 개발한 프로토콜이며, Message Queue Telemetry Transport라고 한다.

이 프로토콜은 Machine to Machine 통신과 같이 대역폭이 제한된 통신 환경에서 사용할 수 있도록 개발된 경량 메시지 전송 프로토콜이라고 할 수 있다. MQTT는 푸시기술(Push technology)을 기반으로 개발되었으며, 이는 일반적으로 사용되는 Client/Server 방식을 사용하지 않고 통신 Broker를 두고 통신을 한다. 다시 말해서 메시지 중개자(Broker)를 통해서 송신자(Publisher)가 메시지를 발행하고, 수신자(Subcriber)가 메시지를 수신하는 방식을 사용한다. 이렇게 되면 메시지의 길이가 작아질 수 있고, 이로 인해 메시지의 고속 전송이 가능하다.

MQTT는 임베디드 디바이스를 위해 디자인 되었으며, user/password 방식이나 TLS를 통하여 보안이 유지되고 있다. 이 프로토콜의 다양한 장점으로 인하여 IBM이나 SAP와 같은 글로벌 클라우드 서비스 회사에서 이를 표준으로 채택하여 지원하고 있으며, 그 사용 추세 또한 증가하고 있다. 그리고, MQTT Broker가 클라우드내에서 호스트 역할을 한다면 firewall로 생길 수 있는 불편이 없어질 수 있다. OPC UA는 Open Productivity and Collaboration Unified Architecture로 이미 잘 알려진 OPC foundation에서 산업 자동화에 사용되는 Machine to Machine 통신을 위해 개발되었다. OPC UA는 MQTT와 마찬가지로 TCP/IP를 기반으로 통신하며, 이와 더불어 http와 https도 지원을 한다. 이에 대한 장점은 뒤에서 다시 설명토록 하겠다.

MQTT가 Broker를 중심으로 하는 통신방식을 사용한다면 OPC UA는 전통적인 Client/Server 방식을 사용하고 있다. 아무래도 OPC 통신이 기본적으로 Client/Server 방식을 사용하고 있기 때문에 이 방식을 그대로 채용한 것이라고 보여진다. 보안은 MQTT와 마찬가지로 user/password 방식과 TLS를 지원하며, Semantic information 기반으로 되어 있다. OPC UA는 이미 MES나 ERP와 같은 IT영역에서는 매우 잘 알려진 프로토콜이며, 객체 지향 데이터(Object oriented data)의 사용은 OPC UA의 중요성을 더욱 증가시키고 있다. 클라우드 공급자들은 OPC UA를 이미 Azure과 HANA와 같이 실험하고 있으며, 가까운 미래에 고성능의 장치들은 이를 통해 클라우드로 직접 통신하게 될 것이다.

MQTT와 OPC UA의 장점에 대해서는 앞서 설명한 것과 같이 다양하다. 이렇게 다양한 장점 중 어떤 요소가 선택의 가장 주요한 원인이 되었을까? 일반적으로 회사에서 어떤 프로토콜이나 그 제품을 선택할 경우 그 우선 순위를 정하게 된다. 사용 환경에 따라서 달라지겠지만 비용, 속도, 데이터처리량, 안정성, 상호운용성, 다양한 공급선등 여러가지 기준을 가지고 선택하게 되며, 무시할 수 없는 기준 중에 하나가 비용이다. 아무리 좋고 안정적인 시스템이라고 하더라도 그 가격이 턱없이 높거나 유지 보수나 업그레이드에 상식적인 수준 이상의 비용이 소요된다면 그 선택에 있어서 망설여지게 되거나 다른 대안을 찾는 경우가 발생한다. MQTT나 OPC UA를 적용함에 있어 기존에 설치된 시스템에서 큰 변경 없이 사용할 수 있다는 점이 큰 메리트이다. 지금부터 설명하는 것은 우리나라의 시스템과는 약간 이질감이 있다. 그럴 수 밖에 없는 것이 IIOT는 유럽이나 미국 같이 우리나라 보다 앞선 생산시스템을 가지고 있는 회사에서 만들어졌기 때문에 그들의 시스템을 중심으로 설명하지 않을 수 없다.

우리나라의 경우 일부 공장에서 Real-Time Ethernet 기술이 사용되고 있고, 이를 기반으로 장비나 시스템을 설계하고 제작하고 있으나, 아직 많은 곳에서 필드버스나 Serial 통신, 그리고 하드와이어링을 사용하고 있다. 이와 상반되게 유럽이나 미국 같은 경우 Real-Time Ethernet의 적용이 이미 일반화되어 있고, 어떤 특정 필드버스 사양 같은 경우에는 이미 1990년도 초반에 그 사양에 대한 업그레이드가 중지되었고 더 이상 사용되지 않지만 국내에서는 아직도 다양한 곳에서 신규로 적용되고 있을 만큼 실질적인 격차가 있다. 앞서 언급한 것처럼 생산 현장에 이미 Ethernet 기반의 통신이 사용되고 있고, 이를 바탕으로 IIOT의 구현을 하고자 했기 때문에 표준 TCP/IP 방식을 사용하는 MQTT나 OPC UA의 선택은 어쩌면 당연한 결과였을지도 모른다. 가장 널리 사용되고 있는 PROFINET이나 EtherNet/IP와 같은 프로토콜은 표준 Ethernet 사양을 기반으로 하고 있다. 예를 들어, PROFINET의 데이터 프레임을 보면 PROFINET 전용 통신 프레임과 표준 TCP/IP로 나눠져서 하나의 PROFINET Communication Cycle을 이루고 있음을 알 수 있으며, MQTT나 OPC UA는 PROFINET 프로토콜 내에서 함께 동작할 수 있는 구조를 가지고 있는 것이다.

지난달 칼럼에서 시간에 표준 Ethernet이 어떤 방식을 통해서 실시간성을 구현했는지에 대해서 이미 설명한 바 있다. PROFINET은 전용 통신 프레임의 활용을 통해 실시간 데이터의 전송을 구현하고 있고, 비실시간 데이터 또한 하나의 통신 프레임안에서 처리하고 있다. IIOT의 적용에 있어 가장 많이 받는 질문 중의 하나는 신규 설비 투자의 필요성이나 기존 장비의 재활용 가능성이다. 다시 말해서 현재 사용하고 있는 장비의 재사용과 더불어 그에 대한 최소 변경과 가급적 새로운 투자를 지양했으면 하는데, 이게 가능한 것이냐에 대한 질문이다. 만약 그 공장이나 장비가 앞서 설명한 PROFINET이나 EtherNet/IP와 같은 표준 Ethernet을 기반으로 한 프로토콜을 사용하고 있다면 최소의 투자와 변경을 통해서 IIOT의 구현이 가능하다.

그렇다면 MQTT와 OPC UA를 사용하지 않고는 IIOT를 적용할 수 없는가? 그 대답은 아니오이다. IIOT를 구현 또는 그 적용율을 어느 정도로 할 것인가에 따라 다른 프로토콜들이 적용될 수도 있다. MQTT와 OPC UA의 적용은 필드디바이스가 Edge Gateway나 클라우드에 직접 연결되어 데이터를 전송할 때 많이 사용된다. 하지만 사용자의 선택에 의해 연결범위가 달라질 수 있다. 필드 디바이스로부터 나오는 데이터를 PLC 또는 PC와 같은 Controller가 수집을 하고, 수집된 데이터를 Edge Gateway나 클라우드로 전송하는 방안으로도 구성할 수 있다.

이 경우 PLC나 PC가 가지고 있는 Ethernet port를 사용하게 되는데, IOT 데이터 전송을 위한 전용 통신선을 추가하여 표준 Ethernet 통신을 사용할 수도 있다. 이렇게 되면 일반적인 HTTP를 사용하여 데이터의 송신이 가능하다. 전체 시스템의 구성이나 수집하고자 하는 데이터의 종류에 따라서 어떤 프로토콜을 사용할 것인지를 결정할 수 있다. 하지만 PLC나 PC와 같은 Controller가 필드 데이터를 취합하게 되면 한계성을 가지게 된다. 다음 시간에 데이터 전송 방안에 대해 다루고자 하는데, 여기서 어떤 한계성을 가지게 되는지에 대해 자세히 설명할 수 있도록 하겠다.

아마도 MQTT와 OPC UA 같은 프로토콜의 구현은 IIOT를 사용하려는 사용자보다는 IIOT 제품을 공급하려는 공급자 입장에서 더욱 궁금할 것으로 예상된다. 사용자는 자신이 원하는 시스템의 사양과 대략적인 구성안을 정하고 이를 공급자에게 요청하면 되지만, 공급자는 사용자가 요청할 수 있는 모든 경우의 수를 파악하여 미리 준비하여야 하기 때문이다. 필자의 회사인 힐셔코리아에서는 PROFINET과 EtherNet/IP를 지원하면서 동시에 MQTT와 OPC UA를 지원하는 모듈의 출시를 앞두고 있다. 또한 Chip 레벨에서도 지원 가능한 솔루션도 함께 출시 준비 중이며, 올해 안에 자사의 통신용 컨트롤러 중의 하나인 netX 51에서 MQTT와 OPC UA가 구동 가능한 Firmware를 공급할 예정이다. 당연히 개발을 위한 개발환경 또한 제공을 할 예정이다. 사용자 입장에서는 연간 소요 수량이 어느 정도인지를 예상 또는 파악한 후 어떤 솔루션을 사용하여 개발할 것인지를 결정하면 된다.

지난 2017년 독일에서 있었던 SPS/IPC/DRIVE 전시회에서 거의 모든 회사가 IIOT 제품을 공개하였다. 물론 그 종류의 차이는 있었지만 모든 회사가 한 방향으로 나아가고 있음에는 틀림이 없다. 한국에서는 언제쯤 상용화가 될 것으로 예상하는 지에 대한 질문을 종종 받곤 한다. 시장의 변화 시점을 알 수는 없으나 한국 산업이 최첨단 기술에 바탕을 둔 제품을 생산하고 이를 위해 새로운 장비나 그 투자가 지속으로 필요하다는 것은 누구나 알고 있다. 최첨단 제품의 생산에 걸 맡는 최첨단 생산 시설이나 설비가 곧 적용되리라고 예상된다.

원일민 / 힐셔코리아 대표

 

댓글 남기기