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

Обзор в качестве примера

Этот раздел обеспечивает постепенный пример, чтобы проиллюстрировать, как использовать библиотеку блоков OPC Toolbox™. Пример создает простую модель с помощью блоков в библиотеке блоков OPC Toolbox с блоками из других библиотек Simulink®.

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

Примечание

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

Шаг 1: создайте новую модель в редакторе Simulink

  1. Чтобы запустить Simulink и создать новую модель, введите следующее в командной строке MATLAB®:

    simulink

    В диалоговом окне начальной страницы Simulink нажмите Blank Model, и затем Create Model. Пустое, окно 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 Toolbox в редактор

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

Можно использовать эти блоки, чтобы сконфигурировать и справиться со связями с серверами, отправить и получить живые данные между Сервером OPC и симуляцией, и анализировать качество OPC.

Чтобы использовать блоки в модели, выберите каждый блок в библиотеке и перетащите блок в Редактор Simulink. В данном примере вам нужен один экземпляр каждая Настройка OPC, Запись OPC и блок OPC Read в вашей модели.

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

Примечание

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

Шаг 4: перетащите другие блоки, чтобы завершить модель

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

Чтобы отправить синусоиду в сервер, можно использовать блок Sine Wave (Simulink). Чтобы получить доступ к блоку Sine Wave, расширьте узел Simulink в дереве браузера и кликните по записи библиотеки Sources. От блоков, отображенных на правой панели, перетащите блок Sine Wave в Редактор Simulink и поместите его слева от блока OPC Write.

Drag a sine wave block into your model

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

Drag Scope and Display blocks into your model

Шаг 5: сконфигурируйте серверы OPC для модели

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

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

    OPC Configuration block parameter dialog

  2. Нажмите Configure OPC Clients, чтобы открыть менеджера по OPC-клиенту.

    OPC client manager dialog

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

    OPC server properties dialog

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

    OPC client manager with client selected

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

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

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

Вы устанавливаете параметры для блоков в вашей модели путем двойного клика на каждом блоке.

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

    OPC Write block parameter dialog

  2. Нажмите Add Items, чтобы отобразить браузер пространства имен для Сервера Симуляции Matrikon OPC.

  3. Расширьте узел Элементов Симуляции в пространстве имен, затем расширьте узел Бригады Блока. Выберите узел Real8 и нажатие кнопки>>, чтобы добавить, что элемент к выбранным пунктам перечисляет.

    Select items dialog

  4. Нажмите OK, чтобы добавить элемент Bucket Brigade.Real8 с блоком OPC Write список ItemIDs.

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

  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: соедините блоки

Установите связь между блоком Sine Wave и блоком OPC Write. Когда вы перемещаете курсор около выходного порта блока Sine Wave, курсор становится крестом нитей. Кликните по выходному порту Sine wave и удержите кнопку мыши; перетащите к входному порту блока OPC Write и отпустите кнопку.

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

Обратите внимание на то, что Запись OPC и блоки Чтения OPC непосредственно не соединяются вместе в модели. Единственная связь между ними через элемент на сервере, который вы задали на Шаге 5: Сконфигурируйте Серверы OPC для Модели.

Completed model for OPC writing and reading

Шаг 8: запустите симуляцию

Прежде чем вы запустите симуляцию, дважды кликнете блок Scope, чтобы открыть представление scope.

Scope block view before simulation

Чтобы запустить симуляцию, нажмите Run в Редакторе Simulink панель инструментов.

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

Во время симуляции строка состояния в нижней части окна модели обновляет прогресс симуляции, и синусоида отображена в окне Scope.

Scope block veiw after simulation