ru OPC UA Client - SEB103/QtOpcUaManager GitHub Wiki
English · Deutsch · Français · Italiano · Русский · Українська
OPC UA Client
Клиентская половина приложения подключается к OPC UA-серверу, просматривает его адресное пространство, а также читает, записывает, подписывается на значения переменных и строит по ним тренды. Внутри интерфейс обращается к фасаду OpcUaManager, который делегирует сетевую работу рабочему потоку OpcUaService (см. Архитектура).
Подключение к серверу
Подключение описывается:
- URL обнаружения/конечной точки, например
opc.tcp://127.0.0.1:4840; - политикой безопасности (например, None или Basic256Sha256 с подписью и шифрованием);
- удостоверением: анонимно или имя пользователя и пароль.
Введите это в форме подключения и подключитесь. Клиент выполняет обнаружение и выбор конечной точки, затем открывает сеанс. Безопасность на основе сертификатов использует хранилище PKI приложения (см. Настройка). Во время и после подключения состояние отображается в области статуса и записывается в панель журнала.
Поле URL обнаружения содержит список десяти последних серверов, к которым выполнялось подключение; можно также ввести имя хоста, IP-адрес или URL вида opc.tcp://.
Поиск серверов в сети
Если вы не знаете адрес сервера, нажмите Сканировать сеть… в форме подключения. Сканер предлагает IPv4-подсети, к которым подключён этот ПК, например 10.10.1.0/24 (Ethernet 3). Можно также ввести диапазон, например 10.10.1.1-254 или 10.10.1.5-10.10.1.40, либо одиночный адрес. По умолчанию проверяется только порт 4840 — стандартный порт OPC UA; дополнительные порты вводятся списком или диапазоном, например 4840, 48010-48012.
За один проход сканируется не более 1024 адресов и 16 портов. Сначала сканер проверяет, какие адреса принимают TCP-соединение, а затем запрашивает у каждого из них описание сервера OPC UA и его конечные точки. Строки появляются по ходу сканирования: сервер OPC UA показывается с именем, политиками безопасности и поддерживаемыми способами входа; порт, который принимает соединения, но не отвечает как сервер OPC UA, отображается приглушённым цветом.
Дважды щёлкните сервер или выберите его и нажмите Использовать, чтобы скопировать его адрес в поле URL обнаружения. После этого клиент находит сервер и автоматически запрашивает его конечные точки; выберите аутентификацию и нажмите Подключиться.
Просмотр адресного пространства
После подключения адресное пространство сервера показывается в виде дерева узлов, подгружаемых по мере раскрытия ветвей (на основе OpcUaModel). Выбор узла показывает его атрибуты — идентификатор узла, класс узла, тип данных, уровень доступа, значение и т. д. (AttributesModel).
Имена и значения атрибутов можно выделить мышью и скопировать сочетанием Ctrl+C; Ctrl+A выделяет поле целиком.
Переменные-узлы со структурированными значениями (например, структуры CODESYS без полного определения типа) декодируются просмотром их поддерева экземпляра, поэтому вы видите отдельные поля, а не непрозрачный блок.
Чтение, запись и подписка
- Чтение — запросить текущее значение переменной-узла.
- Запись — отправить новое значение в записываемую переменную (с учётом её уровня доступа).
- Подписка — зарегистрировать интерес к переменной, чтобы сервер присылал изменения значений. Переменные с подпиской появляются в представлении Data Access (
DataAccessModel), где показаны текущее значение, статус и метка времени и которое можно сортировать и фильтровать (DataViewFilterModel).
Чтобы добавить переменную в представление Data Access, отметьте её флажок в дереве адресного пространства или перетащите узел из адресного пространства либо из сегмента, открытого командой Открыть как сегмент, на панель ПРЕДСТАВЛЕНИЕ ДАННЫХ. Во время перетаскивания за указателем следует превью со значком и именем узла. На сенсорном экране нажмите и удерживайте узел, пока его строка не будет подсвечена, а затем перетащите его; обычный свайп по-прежнему прокручивает дерево. Узел, который уже есть в представлении, повторно не добавляется.
Если снять флажок, переменная удаляется из представления. Удаление строки из представления также снимает флажок в дереве, поэтому узел можно позже добавить снова.
Отслеживаемые переменные можно сохранять, чтобы они восстанавливались при следующем подключении (см. Настройка).
Тренды
Выбранные переменные можно отображать во времени в панели трендов. Тренд хранит ограниченную историю отсчётов и вычисляет геометрию графика (TrendModel); его можно приостанавливать и возобновлять.
Ведение журнала
Активность клиента — состояние подключения, ошибки и важные операции — записывается в панель журнала и в файл журнала приложения. Папку файла журнала можно открыть из интерфейса; это отправная точка для Устранение неполадок.