exponenta event banner

Чтение и запись данных из модели

Пример обзора

В этом разделе представлен пошаговый пример использования библиотеки блоков OPC Toolbox™. В примере создается простая модель с использованием блоков в библиотеке блоков OPC Toolbox с блоками из других библиотек Simulink ®.

Этот пример пишет волну синуса Серверу Моделирования Matrikon™ OPC и читает данные назад из того же сервера. Блок OPC Write используется для отправки данных на сервер OPC, а блок OPC Read - для считывания этих же данных обратно в модель.

Примечание

Для запуска кода в следующих примерах на локальном компьютере должен быть доступен сервер моделирования Matrikon OPC. Дополнительные сведения об установке см. в разделе Установка сервера моделирования OPC DA или HDA для классических примеров OPC. Код, используемый в этом примере, требует только незначительных изменений для работы с другими серверами.

Шаг 1: Создание новой модели в редакторе Simulink

  1. Для запуска Simulink и создания новой модели введите в командной строке MATLAB ® следующее:

    simulink

    В диалоговом окне Начальная страница Simulink щелкните Пустая модель, а затем Создать модель. Откроется пустое окно Редактор (Editor).

  2. В редакторе щелкните Файл (File) > Сохранить как (Save As), чтобы назначить имя новой модели.

Шаг 2: Открытие библиотеки блоков OPC Toolbox

  1. В окне редактора модели щелкните Обозреватель библиотеки (Library Browser).

  2. Откроется обозреватель библиотеки Simulink. Левая панель содержит дерево доступных библиотек блоков в алфавитном порядке. Щелкните значок OPC Toolbox узел.

    OPC Toolbox block library

    Также можно открыть библиотеку блоков OPC Toolbox, введя следующую команду в командной строке MATLAB:

    opclib

Шаг 3: Перетащите блоки панели инструментов OPC в редактор

Библиотека блоков OPC Toolbox содержит четыре блока

Эти блоки можно использовать для настройки и управления подключениями к серверам, отправки и получения оперативных данных между сервером OPC и моделированием, а также для анализа качества OPC.

Чтобы использовать блоки в модели, выделите каждый блок в библиотеке и перетащите блок в редактор Simulink Editor. В этом примере требуется по одному экземпляру каждого из блоков OPC Configuration, OPC Write и OPC Read в модели.

Drag OPC Configuration, OPC Write, and OPC Read blocks into your model

Примечание

Имена блоков по умолчанию в модели не отображаются. Чтобы отобразить имена скрытых блоков во время работы в модели, установите флажок Показать (Display) и снимите флажок Скрыть автоматические имена (Hide Automatic Names).

Шаг 4: Перетащите другие блоки для завершения модели

Для модели требуется еще три блока. Один блок обеспечивает передачу данных на сервер; два других блока отображают данные, полученные от сервера.

Для отправки синусоидальной волны на сервер можно использовать блок синусоидальной волны (Simulink). Чтобы получить доступ к блоку синусоидальной волны, разверните узел Simulink в дереве браузера и щелкните запись библиотеки Sources. Из блоков, отображаемых на правой панели, перетащите блок синусоидальной волны в редактор Simulink Editor и поместите его слева от блока OPC Write.

Drag a sine wave block into your model

Можно использовать блок «Scope» для отображения значения, полученного с сервера, и блок «Display» для просмотра качества элемента. (На следующем шаге выходной порт метки времени будет удален.) Чтобы получить доступ к блоку Scope, щелкните запись Sinks library в развернутом узле Simulink в дереве браузера. Из блоков, отображаемых на правой панели, перетащите блок «Область» в редактор Simulink и поместите его выше и справа от блока OPC Read. Также перетащите блок «Отображение» в редактор Simulink и поместите его под блоком «Область».

Drag Scope and Display blocks into your model

Шаг 5: Настройка OPC-серверов для модели

Для взаимодействия с серверами OPC от Simulink необходимо сначала настроить эти серверы в модели. Блок OPC Configuration управляет и настраивает OPC-серверы для модели Simulink. Каждый блок OPC Read или OPC Write использует один сервер из настроенных серверов и определяет элементы для чтения или записи.

  1. Дважды щелкните блок OPC Configuration, чтобы открыть его диалоговое окно параметров.

    OPC Configuration block parameter dialog

  2. Щелкните Настроить OPC-клиенты, чтобы открыть диспетчер OPC-клиентов.

    OPC client manager dialog

  3. Нажмите кнопку Добавить, чтобы открыть диалоговое окно Свойства сервера OPC. Укажите идентификатор сервера как 'Matrikon.OPC.Simulation.1' (или нажмите Select и выберите сервер из списка доступных OPC-серверов).

    OPC server properties dialog

  4. Нажмите кнопку ОК, чтобы добавить сервер OPC в диспетчер клиентов OPC.

    OPC client manager with client selected

    Сервер моделирования Matrikon OPC теперь доступен в модели для чтения и записи.

  5. В модели будут использоваться значения по умолчанию для всех остальных настроек в блоке OPC Configuration. Нажмите кнопку OK в диалоговом окне OPC Configuration, чтобы закрыть это диалоговое окно.

Шаг 6: Определение значений параметров блока

Параметры блоков в модели задаются двойным щелчком мыши на каждом блоке.

  1. Дважды щелкните блок OPC Write, чтобы открыть его диалоговое окно параметров. Сервер Matrikon автоматически выбирается в качестве клиента OPC для использования в этом блоке. Необходимо указать элементы для записи.

    OPC Write block parameter dialog

  2. Щелкните Добавить элементы (Add Items), чтобы отобразить браузер пространства имен для сервера моделирования OPC Matrikon.

  3. Разверните узел Элементы моделирования (Simulation Items) в пространстве имен, а затем разверните узел Бригада сегментов (Bucket Brigade). Выберите узел Real8 и щелкните > >, чтобы добавить этот элемент в список выбранных элементов.

    Select items dialog

  4. Нажмите кнопку ОК, чтобы добавить элемент Bucket Brigade.Real8 в список ItemID блока записи OPC.

  5. В диалоговом окне «Параметры записи OPC» нажмите «ОК», чтобы принять изменения и закрыть диалоговое окно.

  6. Дважды щелкните блок OPC Read, чтобы открыть его диалоговое окно. Добавьте тот же элемент в блок OPC Read, повторяя шаги 2-5, которые выполнялись для блока OPC Write в этом разделе.

  7. Установите режим чтения в значение 'Synchronous (device)' и время выборки для блока 0.2.

  8. Также снимите флажок 'Show timestamp port' вариант. Этот шаг удаляет выходной порт временной метки из блока OPC Read.

    OPC Read block parameter dialog

Шаг 7: Подключение блоков

Установите соединение между блоком синусоидальной волны и блоком записи OPC. При перемещении курсора рядом с портом вывода блока синусоидальной волны курсор становится перекрестием. Щелкните выходной порт синусоидальной волны и удерживайте кнопку мыши; перетащите фигуру на входной порт блока записи OPC и отпустите кнопку.

Таким же образом установите соединение между первым портом вывода блока OPC Read (помечен V) и входной порт блока Scope. Затем подключите другой выходной порт блока OPC Read (с меткой Q) к входному порту блока Display.

Обратите внимание, что блоки OPC Write и OPC Read не соединяются непосредственно в модели. Единственная связь между ними - через элемент на сервере, который был определен в шаге 5 Настройка серверов OPC для модели.

Completed model for OPC writing and reading

Шаг 8: Запуск моделирования

Перед запуском моделирования дважды щелкните блок «Область», чтобы открыть вид области.

Scope block view before simulation

Для выполнения моделирования нажмите кнопку «Выполнить» на панели инструментов редактора Simulink Editor.

Модель записывает синусоидальную волну на сервер OPC, считывает с сервера и отображает волну в трассировке области. Кроме того, значение качества устанавливается равным 192, что указывает на хорошее качество (см. OPC Quality).

Во время моделирования строка состояния в нижней части окна модели обновляет ход моделирования, и синусоидальная волна отображается в окне Область (Scope).

Scope block veiw after simulation