Для з’єднання MATLAB з базою даних процесу через OPC-інтерфейс, використовується OPC-Toolbox. OPC-Toolbox являє собою набір об’єктів та функцій, що реалізують ієрархічний об'єктно-орієнтований підхід до зєднання з OPC серверами (рис.1). Об’єкт OPC Data Access Client (opcda client) забезпечує зв’язок з OPC Сервером. Тобто, MATLAB OPC Toolbox забезпечує мультиклієнтну та мультисерверну архітектуру, оскільки може з’єднатися з декількома серверами, та забезпечувати декілька з’єднань з одним і тим самим сервером. Об’єкт opcda client може вміщувати декілька об’єктів Data Access Group (dagroup) які в свою чергу вміщують один або декілька items (daitem). Як видно, об’єктна архітектура OPC Toolbox MATLAB дуже схоже на модель OPC DA Automation інтерфейсу. Для перегляду списку зареєстрованих ОРС-Серверів використовується функція opcserverinfo, в яку в якості аргументів передається адреса ПК
У відповідь повертається структурна змінна типу opcserverinfo, з полями
Для роботи з ОРС в MATLAB необхідно зробити наступну послідовність дій: 1. Спочатку створюється об'єкт типу OPC Client для доступу до даних (функція opcda), що представляє зв'язок між MATLAB і сервером OPC. Першим параметром вказується ім’я ПК а другим ProgID OPC-Серверу:
Після створення об’єкту opcda необхідно встановити з’єднання між ним та ОРС-Сервером за допомогою функції connect, де в якості аргументів вказується об’єкт opcda.
Після встановлення з'єднання з сервером OPC, необхідно створити об'єкти dagroup, які представляють колекції Items OPC доступу до даних. Для перегляду переліку ItemID в межах ОРС-Серверу можна використати функцію getnamespace, в яку в якості аргументів вказується об’єкт opcda:
У відповідь повертається масив структурних змінних з полями:
Для створення групи використовується функція addgroup, в аргументах яких вказується об’єкт opcda, та опціонально ім’я групи, а повертається об’єкт dagroup.
Для створення OPCItem в групі використовується функція additem, в якості аргументів для якої вказується об’єкт dagroup, ItemID потрібного елементу, та опціонально тип змінної Item. Після виклику функції повертається об’єкт daitem.
Для знищення об’єктів OPCToolBOX використовується функція delete:
OPCToolbox надає всі можливості OPC для операцій читання та запису. Можна скористатися механізмом періодичного читання з оповіщенням. Для цього необхідно правильно налаштувати властивості об’єкту dagroup, а саме:
При періодичному читанні автоматично змінюються властивості об’єкту daitem: Value, Quality та TimeStamp. Якщо властивість об’єкту dagroup DataChangeFcn вказує на функцію, то при цьому також буде викликана дана функція. Для синхронного запису окремих OPCItem використовується функція write, де в якості аргументів передається об’єкт daitem та значення для запису:
Для асинхронного запису окремих OPCItem використовується функція writeasync, де в якості аргументів передається об’єкт daitem та значення для запису. Функція повертає номер транзакції.
Для синхронного читання окремих OPCItem використовується функція read, а для асинхронного – readasync.
Для групових операцій синхронного та асинхронного читання і запису використовуються ті самі функції, однак в якості аргументів вказуються об’єкт dagroup. Приклад звязку MATLAB з SCADA VijeoCitect:
|
Интеграционные технологии > OPC >