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)
주어진 parent 으로 새 OPC UA 공급자를 생성합니다.
[static]
QStringList QOpcUaProvider::availableBackends()
사용 가능한 플러그인 목록( QStringList )을 반환합니다.
[invokable]
QOpcUaClient *QOpcUaProvider::createClient(const QString &backend, const QVariantMap &backendProperties = QVariantMap())
선택한 backend 을 플러그인으로 로드하고 클라이언트 객체를 생성하여 QOpcUaClient 객체에 대한 포인터를 반환합니다. 플러그인 로딩에 실패하면 nullptr
대신 반환됩니다.
더 이상 필요하지 않은 경우 반환된 QOpcUaClient 객체를 삭제할 책임은 사용자에게 있습니다.
선택적 인수 backendProperties 를 사용하여 사용자 정의 백엔드 특정 설정을 키 값 쌍으로 전달할 수 있습니다. 이러한 설정은 인스턴스화되는 백엔드에 따라 다릅니다.
사용 가능한 설정은 다음과 같습니다.
설정 문자열 | 백엔드 | 설명 |
---|---|---|
최소 클라이언트 반복 간격Ms | open62541 | 이 매개변수는 더 이상 백엔드에서 평가되지 않으며 clientIterateIntervalMs 로 대체되었습니다. |
clientIterateIntervalMs | open62541 | 백엔드에 대한 클라이언트 반복 간격을 정의합니다. 클라이언트가 너무 많은 CPU 부하를 유발하는 경우 이 값을 기본값보다 높게 설정하면 구독의 서비스 요청 및 값 업데이트에 대한 응답 시간이 늘어나는 대신 CPU 부하가 줄어듭니다. 기본값은 50ms입니다. |
asyncRequestTimeoutMs | open62541 | OPC UA 서버에 대한 비동기 요청에 대한 시간 제한을 정의합니다. 시간 초과가 발생하기 전에 서버가 서비스 요청에 응답하지 않으면 서비스 호출이 실패하고 완료된 신호에 bad 상태 코드가 포함됩니다. 기본값은 15000ms입니다. |
참고: 이 함수는 메타객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
© 2025 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.