이 페이지에서

QOpcUaProvider Class

QOpcUaProvider는 QOpcUaClient 의 인스턴스를 생성합니다. 더 보기...

헤더: #include <QOpcUaProvider>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake: QT += opcua
상속: QObject

공개 함수

QOpcUaProvider(QObject *parent = nullptr)
QOpcUaClient *createClient(const QString &backend, const QVariantMap &backendProperties = QVariantMap())

정적 공용 멤버

QStringList availableBackends()

상세 설명

QOpcUaProvider를 사용하면 Qt 플러그인 시스템을 통해 QOpcUaPlugin을 불러와 QOpcUaClient 의 인스턴스를 생성할 수 있습니다.

예제

이 코드는 사용 가능한 첫 번째 백엔드를 사용하여 클라이언트를 생성합니다:

QOpcUaProvider provider;
QStringList available = provider.availableBackends();
if (!available.isEmpty()) {
    QOpcUaClient*client = provider.createClient(available[0]);
    if (client)
        qDebug() << "Client successfully created";
}

멤버 함수 문서

[explicit] QOpcUaProvider::QOpcUaProvider(QObject *parent = nullptr)

지정된 OPC UA 프로토콜 스키마( parent)를 사용하여 새로운 OPC UA 프로바이더를 생성합니다.

[static] QStringList QOpcUaProvider::availableBackends()

사용 가능한 플러그인의 ` QStringList `를 반환합니다.

[invokable] QOpcUaClient *QOpcUaProvider::createClient(const QString &backend, const QVariantMap &backendProperties = QVariantMap())

선택된 backend 를 플러그인으로 로드하고 클라이언트 객체를 생성하여 QOpcUaClient 객체에 대한 포인터를 반환합니다. 플러그인 로드에 실패하면 대신 nullptr 가 반환됩니다.

사용자는 더 이상 필요하지 않은 반환된 QOpcUaClient 객체를 직접 삭제해야 합니다.

선택적 인자 backendProperties 을 사용하여 백엔드별 사용자 정의 설정을 키-값 쌍 형태로 전달할 수 있습니다. 이러한 설정은 인스턴스화되는 백엔드에 특화되어 있습니다.

사용 가능한 설정은 다음과 같습니다.

설정 문자열백엔드설명
minimumClientIterateIntervalMsopen62541이 매개변수는 더 이상 백엔드에서 평가되지 않으며, clientIterateIntervalMs 로 대체되었습니다.
clientIterateIntervalMsopen62541backend의 클라이언트 반복 간격을 정의합니다. 클라이언트가 CPU 부하를 지나치게 유발하는 경우, 이 값을 기본값보다 높게 설정하면 구독의 요청 및 값 업데이트에 대한 응답 시간이 증가백엔드의 클라이언트 반복 간격을 정의합니다. 클라이언트가 과도한 CPU 부하를 유발하는 경우, 이 값을 기본값보다 높게 설정하면 서비스 요청 및 구독의 값 업데이트에 대한 응답 시간이 증가하는 대신 CPU 부하가 감소합니다. 기본값은 50ms입니다.
asyncRequestTimeoutMsopen62541OPC UA 서버에 대한 비동기 요청의 타임아웃을 정의합니다. 타임아웃이 발생하기 전에 서버가 서비스 요청에 응답하지 않으면 서비스 호출이 실패하며, finished 신호에는 bad 상태 코드가 포함됩니다. 기본값은 15000ms입니다.

참고: 이 함수는 메타 객체 시스템 및 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하십시오.

© 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.