OPC Toolbox предоставляет доступ к оперативным и архивным данным OPC напрямую из MATLAB и Simulink. Вы можете читать, записывать и логировать OPC данные с таких устройств, как распределенные системы управления, системы диспетчерского управления, системы сбора данных, а также работать с программируемыми логическими контроллерами (ПЛК). OPC Toolbox позволяет работать с онлайн данными серверов и архивными данными, которые соответствуют стандарту OPC Data Access (DA), стандарту OPC Historical Data Access (HDA) и стандарту OPC Unified Architecture (UA).
Продукт включает в себя блоки Simulink, которые позволяют моделировать интерактивное диспетчерское управление и выполнять тестирование алгоритмов в режиме «оборудования в контуре».
OPC Toolbox позволяет вам находить, получать доступ и читать необработанные и обработанные данные из любого источника данных, соответствующего стандарту OPC Historical Data Access. Вы также можете получить доступ к оперативным данным с сервера OPC тремя способами:
MATLAB использует интуитивно понятную иерархическую структуру объекта, которая помогает вам управлять соединениями с серверами OPC. Вы создаете объект OPC Data Access Client для подключения к серверу OPC. Это соединение позволяет вам просматривать пространство имен сервера и извлекать свойства каждого элемента, хранящегося на сервере. Вы можете создавать объект группы Data Access Group object для управления наборами объектов Data Access. OPC Toolbox позволяет настраивать и контролировать все объекты, группы объектов, изменять их свойства.
В Simulink в OPC Toolbox используется блок «Configuration» для указания OPC Data Access клиентов, которые будут использоваться в модели, и для определения поведения при возникновении ошибок и событий OPC, и для задания поведения модели в реальном времени. Во время моделирования модель выполняется в псевдо-реальном времени, максимально приближенному к системному времени моделирования, при необходимости модель автоматически замедляется. Вы можете использовать блок «Configuration», чтобы задать поведение вашей модели, если моделирование выполняется медленнее, чем системное время.
Создав объект группы, содержащий наборы объектов, вы можете одновременно читать или записывать, как отдельные элементы, так и все элементы в группе. В MATLAB операции чтения и записи могут выполняться как синхронно (выполнение MATLAB блокируется до завершения операции), так и асинхронно (MATLAB может продолжить работу во время выполнения операции). Вы можете записывать данные в память или на диск.
В Simulink блоки OPC Read и OPC Write извлекают и передают данные синхронно или асинхронно на сервер OPC DA и обратно. Блоки содержат менеджер клиентов, который позволяет вам задавать и управлять сервером OPC DA, выбирать элементы, а также определять времена семплирования блоков.
Вы создаете объект Historical Data Access Client для доступа к архивным данным OPC для подключения к серверу OPC HDA. Этот клиент позволяет вам просматривать пространство имен сервера и получать полные идентификаторы ID для каждого элемента, хранящегося на сервере. Эти идентификаторы используются для запроса архивных данных с сервера. Вы можете извлечь необработанные или обработанные данные, хранящиеся на сервере OPC HDA, указав идентификаторы ID, которые вы хотите получить, период времени, за который нужно получить данные, и опционально дополнительные параметры. OPC Toolbox поддерживает следующие операции чтения:
Данные извлекаются в объекты данных OPC HDA Data objects, которые позволяют визуализировать и предварительно обрабатывать архивные данные для дальнейшего анализа в среде MATLAB. Операции предварительной обработки включают функции передискретизации, преобразования данных и функции отображения данных.
Используя OPC Toolbox вы можете просматривать доступные серверы OPC UA. Подключиться к серверу OPC UA можно создав объект OPC UA Client. OPC Toolbox предоставляет функции, которые позволяют вам просматривать и искать узлы в пространстве имен сервера для определения доступных узлов данных. Вы можете взаимодействовать с несколькими узлами одновременно, создавая массив узлов OPC UA. Когда вы читаете текущее значение для узла или массива узлов, вы получаете значение, временную метку и оценку качества данных, и можете определить, это «сырые» данные или интерполированными значениями. Так же можно записать текущее значение в узел.
Вы можете прочитать исторические данные с узлов на сервере UA. Чтобы найти узлы, доступные на вашем сервере, вы можете использовать функцию графического просмотра пространства имен Browse Name Space. Браузер отображает индекс и идентификаторы для всех узлов на сервере.
Чтобы прочитать данные в MATLAB, вы указываете узлы и интервал времени, за который вы хотите прочитать данные. Серверы OPC UA также предоставляют функции агрегации для возврата предварительно обработанных данных клиентам. Вы можете запросить функции агрегации, которые поддерживает ваш сервер, и прочитать предварительно обработанные данные. Примеры функций агрегации: среднее, максимальное, минимальное значение и дельта.
Все исторические данные OPC UA хранятся в объектах данных OPC UA Data objects, которые содержат объекты типа datetime для представления метки времени. После вы можете легко визуализировать и обрабатывать, и анализировать данные в среде MATLAB.