이 페이지에서

Qt OPC UA 개요

OPC UA는 산업용 애플리케이션에서 데이터 모델링 및 데이터 교환을 위한 프로토콜입니다.

OPC UA 서버는 참조로 연결된 노드 메쉬로 구성된 데이터에 대한 액세스를 제공합니다. 다양한 참조 유형과 메타데이터를 포함하는 노드를 사용함으로써 클라이언트는 데이터 구조를 미리 알지 못해도 데이터를 탐색하고 해석할 수 있습니다.

각 노드에는 고유 식별자와 읽기 및 쓰기가 가능한 속성이 있습니다. 그 중에서도 값을 저장하는 변수 노드와, 매개변수 및 반환 값을 설명하는 노드가 연결된 호출 가능한 메서드 노드가 있습니다. 이벤트 발생 시 알림 및 변수 노드의 값 변경 모니터링 기능도 제공됩니다.

참조를 사용하여 노드를 결합함으로써 복잡한 객체를 생성할 수 있습니다. 상속도 가능합니다. OPC UA는 특수한 요구 사항에 맞게 확장할 수 있는 사전 정의된 모델을 지원합니다.

OPC UA는 임베디드 센서부터 제조 실행 시스템 및 전사적 자원 관리(ERP) 시스템에 이르기까지 모든 수준에서 사용될 수 있도록 설계된, 플랫폼 독립적인 OPC Classic의 후속 버전입니다. 이 프로토콜은 서비스 요청 및 응답을 위한 표준화된 메시지를 기반으로 하는 서비스 지향 아키텍처를 갖추고 있습니다. 이러한 메시지를 인코딩하고 네트워크를 통해 전송하는 방법에는 여러 가지가 있습니다. 가장 일반적인 방법은 TCP를 통한 이진 인코딩입니다.

OPC UA 프로토콜에서 구현된 기능

다음 표는 Qt OPC UA 에서 지원하는 OPC UA의 기능을 요약한 것입니다.

기능
읽기
일괄 읽기
HistoryRead (Raw)
쓰기
일괄 쓰기
다차원 배열
찾아보기
데이터 변경 구독
이벤트 구독
구독/모니터링 대상 항목 수정
메서드 호출
경로 확인
GetEndpoints
FindServers
노드 관리
노드 등록
노드 등록 해제

데이터 유형

Qt OPC UA 에서는 현재 OPC UA 데이터 유형의 일부만 지원됩니다.

데이터 유형Qt OPC UA 데이터 유형
Int16, Int32, Int64직접 사용
UInt16, UInt32, UInt64직접 사용
바이트quint8
SByteqint8
부울직접 사용
Double직접 사용됨
Float직접 사용됨
문자열QString
LocalizedTextQOpcUaLocalizedText
DateTimeQDateTime
ByteStringQByteArray
XmlElementQString
노드 IDQString
GUIDQUuid
정규화된 이름QOpcUaQualifiedName
상태 코드QOpcUa::UaStatusCode
범위QOpcUaRange
EU정보QOpcUaEUInformation
복소수QOpcUaComplexNumber
DoubleComplexNumberQOpcUaDoubleComplexNumber
축 정보QOpcUaAxisInformation
XVQOpcUaXValue
인수QOpcUaArgument
확장된 노드 IDQOpcUaExpandedNodeId
확장 객체QOpcUaExtensionObject
구조체 정의QOpcUaStructureDefinition
구조체 필드QOpcUaStructureField
열거형 정의QOpcUaEnumDefinition
열거형 필드QOpcUaEnumField
진단 정보QOpcUaDiagnosticInfo
단순 속성 피연산자QOpcUaSimpleAttributeOperand
속성 피연산자QOpcUaAttributeOperand
리터럴 연산자QOpcUaLiteralOperand
ElementOperandQOpcUaElementOperand
상대 경로 요소QOpcUaRelativePathElement
콘텐츠 필터 요소QOpcUaContentFilterElement
이벤트 필터QOpcUaMonitoringParameters::EventFilter

클래스 및 소유권

사용자에게 노출되는 두 가지 중요한 클래스는 QOpcUaClient 와 QOpcUaNode 입니다.

두 클래스의 객체는 사용자가 소유하며, 더 이상 필요하지 않을 때는 삭제해야 합니다.

로깅 범주

다음 표는 Qt OPC UA 에서 사용하는 로깅 범주를 요약한 것입니다.

로깅 범주설명
qt.opcuaQOpcUaProvider 및 QOpcUaClient
qt.opcua.plugins.open62541open62541 플러그인에서 생성된 메시지

Open62541 전용 로깅 범주

open62541 SDK 로깅 범주는 컴파일 시점에 구성되는 open62541의 로그 레벨에 따라 달라집니다. 기본값은 300이며, 이 경우 info, warning, error 및 critical이 활성화됩니다. 더 간결하거나 더 상세한 출력을 얻으려면 다른 구성으로 open62541 SDK를 재빌드해야 합니다.

다음 표는 open62541에서 사용하는 로깅 범주를 보여줍니다:

Open62541 로깅 범주설명
qt.opcua.plugins.open62541.sdk.networkopen62541 네트워크에서 생성된 메시지
qt.opcua.plugins.open62541.sdk.securechannelopen62541 채널에서 생성된 메시지
qt.opcua.plugins.open62541.sdk.sessionopen62541 세션에서 생성된 메시지
qt.opcua.plugins.open62541.sdk.serveropen62541 서버 구성 요소에서 생성된 메시지
qt.opcua.plugins.open62541.sdk.clientopen62541 클라이언트에서 생성된 메시지
qt.opcua.plugins.open62541.sdk.userlandopen62541 사용자 영역에서 생성된 메시지
qt.opcua.plugins.open62541.sdk.securitypolicyopen62541 보안 정책에 의해 생성된 메시지

라이선스

Qt OPC UA 모듈은 The Qt Company의 상용 라이선스에 따라 제공됩니다. 또한, 이 모듈은 자유 소프트웨어 라이선스 하에서도 제공됩니다. 이러한 자유 소프트웨어 라이선스는 GNU Lesser General Public License 버전 3 또는 GNU General Public License 버전 2입니다. 자세한 내용은 Qt 라이선싱을 참조하십시오.

Qt OPC UA Qt 6.12.0에는 다음의 허용적인 라이선스에 따라 제공되는 타사 모듈이 포함될 수 있습니다:

Open62541, version v1.5.7

Mozilla Public License 2.0, Creative Commons Zero v1.0 Universal, Creative Commons Attribution Share Alike 4.0 International, BSD 3-Clause "New" 또는 "Revised" License, Apache License 2.0 및 MIT License

외부 라이브러리에 대한 링크에는 백엔드 제공업체의 라이선스가 적용됩니다.

Open62541

Open62541 플러그인은 Qt OPC UA 과 동일한 라이선스로 제공됩니다. Open62541 라이브러리 자체는 Mozilla Public License v2.0에 따라 라이선스가 부여됩니다.

보안 지원은 open62541 라이브러리의 OpenSSL 플러그인에 의해 제공됩니다. open62541 플러그인이 보안 지원과 함께 빌드되었으나 대상 시스템에서 OpenSSL을 사용할 수 없는 경우, open62541 플러그인은 로드되지 않습니다.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.