В этом разделе представлен постепенный пример, чтобы проиллюстрировать, как использовать библиотеку блоков OPC Toolbox™. Пример создает простую модель, используя блоки в библиотеке блоков OPC Toolbox с блоками из другого Simulink® библиотеки.
Этот пример записывает синусоиду в Matrikon™ OPC Симуляции Server и считывает данные с того же сервера. Вы используете блок OPC Write, чтобы отправить данные на сервер OPC, и блок OPC Read, чтобы считать эти же данные обратно в вашу модель.
Примечание
Чтобы запустить код в следующих примерах, вы должны иметь Matrikon OPC Simulation Server, доступный на вашем локальном компьютере. Для получения информации об установке см. раздел Установка OPC DA или HDA Simulation Server для OPC Classic Examples. Код, используемый в этом примере, требует незначительных изменений для работы с другими серверами.
Чтобы запустить Simulink и создать новую модель, введите следующее в MATLAB® командная строка:
simulink
В диалоговом окне начальной страницы Simulink нажмите Blank Model, а затем Create Model. Откроется пустое окно Editor.
В редакторе щелкните File > Save As, чтобы назначить имя новой модели.
В редактора моделей окне нажмите Library Browser.
Откроется браузер библиотеки Simulink. Его левая панель содержит дерево доступных библиотек блоков в алфавитном порядке. Нажмите на OPC Toolbox
узел.
Также можно открыть библиотеку блоков OPC Toolbox, набрав следующую команду в командной строке MATLAB:
opclib
Библиотека блоков OPC Toolbox содержит четыре блока
Можно использовать эти блоки для настройки и управления подключениями к серверам, для отправки и получения оперативных данных между сервером OPC и симуляцией, а также для анализа качества OPC.
Чтобы использовать блоки в модели, выберите каждый блок в библиотеке и перетащите блок в Редактор Simulink. В данном примере вам нужен один образец каждого блока OPC Configuration, OPC Write и OPC Read в вашей модели.
Примечание
Имена блоков не показаны по умолчанию в модели. Чтобы отобразить скрытые имена блоков во время работы в модели, установите флажок Display и снимите Hide Automatic Names.
Ваша модель требует еще трех блоков. Один блок предоставляет данные, отправленные на сервер; другие два блока отображают данные, полученные от сервера.
Для отправки синусоиды на сервер можно использовать блок Sine Wave (Simulink). Чтобы получить доступ к блоку Sine Wave, разверните узел Simulink в дереве браузера и щелкните запись библиотеки источников. Из блоков, отображаемых на правой панели, перетащите блок Sine Wave в Редактор Simulink и поместите его слева от блока OPC Write.
Можно использовать блок Scope, чтобы показать значение, полученное с сервера, и блок Display, чтобы просмотреть качество элемента. (Вы удалите выходной порт метки времени на следующем шаге.) Чтобы получить доступ к блоку Scope, щелкните элемент библиотеки Sinks в развернутом узле Simulink в дереве браузера. Из блоков, отображаемых на правой панели, перетащите блок Scope в Редактор Simulink и поместите его выше и справа от блока OPC Read. Также перетащите блок Display в Редактор Simulink и поместите его под блок Scope.
Чтобы общаться с серверами OPC от Simulink, сначала необходимо сконфигурировать эти серверы в модели. Блок OPC Configuration управляет и конфигурирует серверы OPC для модели Simulink. Каждый блок чтения или записи OPC использует один сервер из настроенных серверов и определяет элементы для чтения или записи.
Дважды кликните блок OPC Configuration, чтобы открыть диалоговое окно его параметров.
Щелкните Configure OPC Clients, чтобы открыть диспетчер клиентов OPC.
Нажмите кнопку Add, чтобы открыть диалоговое окно Сервера OPC Свойств. Укажите идентификатор сервера следующим 'Matrikon.OPC.Simulation.1'
(или нажмите Select и выберите сервер из списка доступных серверов OPC).
Щелкните OK, чтобы добавить сервер OPC к диспетчеру клиентов OPC.
Matrikon OPC Simulation Server теперь доступен на протяжении всей модели для чтения и записи.
Ваша модель будет использовать значения по умолчанию для всех других настроек в блоке OPC Configuration. Нажмите OK в диалоговом окне Строение, чтобы закрыть это диалоговое окно.
Вы устанавливаете параметры для блоков в модели, дважды кликнув по каждому блоку.
Дважды кликните блок OPC Write, чтобы открыть диалоговое окно его параметров. Сервер Matrikon автоматически выбирается в качестве OPC-клиента для использования в этом блоке. Необходимо указать элементы для записи.
Щелкните Add Items, чтобы отобразить браузер пространства имен для сервера симуляции OPC Matrikon.
Разверните узел Элементы в пространстве имен, затем разверните узел Bucket Brigade. Выберите узел Real8 и щелкните > >, чтобы добавить этот элемент в список выбранных элементов.
Нажмите OK, чтобы добавить элемент Bucket Brigade.Real8
в список ItemID блока записи OPC.
В диалоговом окне OPC Write parameters нажмите OK, чтобы принять изменения и закрыть диалоговое окно.
Дважды кликните блок OPC Read, чтобы открыть его диалоговое окно. Добавьте тот же элемент к блоку OPC Read, повторяя шаги 2-5, которые вы следовали для блока OPC Write в этом разделе.
Установите режим чтения равным 'Synchronous (device)'
и шаг расчета для блока, чтобы 0.2
.
Также снимите флажок 'Show timestamp port'
опция. Этот шаг удаляет выходной порт метки времени из блока OPC Read.
Выполните соединение между блоком Sine Wave и блоком OPC Write. Когда вы перемещаете курсор рядом с выходом портом блока Sine Wave, курсор становится перекрестным. Нажмите на выходной порт Sine Wave и удерживайте кнопку мыши; перетащите мышью к входу порту блока OPC Write и отпустите кнопку.
Точно так же выполните соединение между первым выходным портом блока OPC Read (маркирован V
) и вход порт блока Возможностей. Затем соедините другой выходной порт блока OPC Read (маркированный Q
) к входу порту блока Отображения.
Обратите внимание, что блоки OPC Write и OPC Read не соединяются непосредственно в модели. Единственное общение между ними происходит через элемент на сервере, который вы определили в Шаге 5: Сконфигурируйте Серверы OPC для Модели.
Прежде чем запускать симуляцию, дважды щелкните блок Scope, чтобы открыть представление возможностей.
Чтобы запустить симуляцию, щелкните Run на панели инструментов Редактор.
Модель записывает синусоиду на сервер OPC, читает назад с сервера и отображает волну в трассировке возможностей. В сложение значение качества устанавливается равным 192, что указывает на хорошее качество (см. «Качество OPC»).
Во время симуляции строка состояния в нижней части окна модели обновляет прогресс симуляции, и синусоида отображается в окне Scope.