홈 / 게시판 / 프로젝트 & 구현 / MQTT와 OPC UA를 함께 사용하는 경우도 있나요? / NALDA 답변: MQTT와 OPC UA를 함께 사용하는 경우도 있나요?
NALDA Factory 운영자 답변
MQTT와 OPC UA는 경쟁 관계라기보다 서로 다른 문제를 해결하므로 함께 사용하는 구성이 흔히 가능합니다. MQTT는 Broker를 중심으로 Topic에 메시지를 Publish·Subscribe하는 가벼운 전송 패턴을 제공합니다. Payload의 의미와 데이터 모델은 애플리케이션이 정합니다. OPC UA는 산업 자산의 구조, 데이터 타입, 상태, Method와 보안 등을 표현하고 접근하는 표준화된 정보 모델과 서비스가 강점입니다.
한 가지 구성은 현장 Gateway가 OPC UA Server에서 필요한 Node를 구독하고, 값을 정규화해 MQTT Topic으로 발행하는 방식입니다. 이때 단순히 숫자만 보내지 말고 Asset ID, 원본 Node 식별자, 단위, Source Timestamp, 품질 상태와 Schema Version을 함께 보존해야 합니다. 반대 방향의 명령은 조회 데이터와 분리된 Topic, 권한과 확인 응답을 설계하고, 네트워크가 끊긴 동안의 재전송과 중복 처리 정책도 정해야 합니다.
다른 선택지는 OPC UA PubSub 자체의 MQTT Transport Mapping을 사용하는 것입니다. OPC Foundation 규격은 MQTT Topic과 JSON 또는 UADP 메시지 매핑을 정의합니다. 다만 사용하는 장비와 SDK가 해당 프로파일을 실제로 지원하는지 확인해야 하며, 임의 JSON Gateway와 표준 OPC UA PubSub는 상호운용 범위가 다릅니다.
설계 시에는 먼저 소비자가 필요한 의미와 갱신 특성을 정하고, Edge와 Cloud 사이의 책임을 구분합니다. TLS, 인증서 또는 자격 증명, Topic·Node별 권한, Broker와 OPC UA Endpoint의 방화벽 범위를 각각 구성해야 합니다. 기록 데이터로 연결 끊김, 순서 역전, 오래된 값과 중복 메시지를 시험하면 Digital Twin 화면이 잘못된 최신 상태를 표시하는 위험을 줄일 수 있습니다.
관련 자료
- 센서 데이터가 Digital Twin에 연결되는 과정
- Digital Twin을 구성하는 핵심 기술 5가지
- OASIS: MQTT Version 5.0
- OPC Foundation: OPC UA Part 14 PubSub Mappings