Доступ к данным с помощью OPC Data Access Explorer

Обзор процедуры

Этот раздел иллюстрирует основные шаги, необходимые для создания приложения OPC Toolbox™ Data Access путем визуализации сигналов треугольной волны и пилозубой волны, предоставляемых Matrikon™ OPC Simulation Server. Приложение регистрирует данные в памяти и строит графики этих данных, выделяя неопределенные или плохие точки данных. Визуализируя данные, вы можете более четко увидеть отношения между сигналами.

Примечание

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

Пример в этой теме использует приложение OPC Data Access Explorer. В сложении каждый шаг содержит информацию о том, как выполнить этот шаг с помощью кода командной строки. Весь пример содержится в файле примера opcdemo_quickstart.

Шаг 1: Откройте OPC Data Access Explorer

Дважды кликните OPC Data Access Explorer в меню Apps. Приложение открывается без созданных узлов, серверов или объектов тулбокса. На следующем рисунке показаны основные компоненты OPC Data Access Explorer.

OPC Data Access Explorer with panes for hosts and servers, toolbox objects, and properties

На следующих шагах вы заполняете каждую из панелей информацией, необходимой для регистрации данных, и будете регистрировать данные, создавая и взаимодействуя с объектами OPC Toolbox.

Эквивалентный код командной строки

Чтобы открыть OPC Data Access Explorer из командной строки, введите opcDataAccessExplorer в MATLAB® приглашение.

Шаг 2: Найдите свой сервер OPC

На этом шаге вы получаете две части информации, которую тулбокс должен уникально идентифицировать сервер OPC, к которому вы хотите получить доступ. Эта информация используется при создании объекта OPC Data Access Client (opcda объект клиента), описанный в шаге 3: Создание объекта клиента доступа к OPC Data.

Первая необходимая информация - это имя хоста серверного компьютера. Имя хоста (описательное имя типа PlantServer или IP-адрес, например 192.168.16.32) определяет компьютер в сети и используется протоколами OPC Data Access для определения доступных серверов OPC на этом компьютере и для связи с компьютером для установления соединения с сервером. В любом приложении OPC Toolbox необходимо знать имя Сервера OPC узла, чтобы можно было установить соединение с этим узлом. Сетевой администратор сможет предоставить вам список имен узлов, предоставляющих серверы OPC в сети. В этом примере вы будете использовать localhost в качестве имени хоста, поскольку вы будете подключаться к серверу OPC на той же машине, что и клиент.

Второй требуемой информацией является идентификатор сервера OPC. Каждый Сервер OPC на конкретном узле идентифицируется уникальным идентификатором сервера (также называемым идентификатором программы или ProgID), который выделяется этому серверу при установке. Идентификатор сервера является вектором символов, обычно содержащим периоды.

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

Используя OPC Data Access Explorer, можно просмотреть хост с помощью следующих шагов:

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

    Host name dialog with localhost

  2. В диалоговом окне Host name введите имя хоста. В этом случае можно использовать "localhost"псевдоним.

    localhost

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

    OPC Data Access Server showing localhost servers

    Обратите внимание, что локальный хост в этом примере предоставляет три сервера OPC. Идентификатор сервера для этого примера 'Matrikon.OPC.Simulation.1'.

Эквивалентный код командной строки

В эквивалентной командной строке для этого шага используется функция opcserverinfo.

hostInfo = opcserverinfo('localhost')
hostInfo = 
                 Host: 'localhost'
             ServerID: {1x3 cell}
    ServerDescription: {1x3 cell}
     OPCSpecification: {'DA2'  'DA2'  'DA2'}
    ObjectConstructor: {1x3 cell}

Изучение возвращенной структуры более подробно предоставляет идентификаторы серверов каждого Сервера OPC.

allServers = hostInfo.ServerID'
allServers = 
    'Matrikon.OPC.Simulation.1'
    'ICONICS.Simulator.1'
    'Softing.OPCToolboxDemo_ServerDA.1'

Шаг 3: Создайте объект клиента доступа к OPC Data

После определения имени хоста и идентификатора сервера OPC, к которому необходимо подключиться, можно создать opcda объект клиента. Клиент контролирует состояние подключения к серверу и сохраняет любые события, происходящие с этого сервера (такие как уведомление об изменении состояния данных, которое называется событием изменения данных) в журнале событий. The opcda объект клиента также содержит все объекты группы доступа к данным, созданные на клиенте. Дополнительные сведения об иерархии объектов OPC Toolbox™ см. в разделе Иерархия объектов тулбокса для стандарта доступа к данным.

С помощью OPC Data Access Explorer можно создать клиент непосредственно из панели Хосты и Серверы OPC.

Щелкните правой кнопкой мыши по Matrikon Узлом сервера и выберите Create client. Клиент будет создан на панели «Объекты OPC Toolbox», как показано на следующем рисунке.

Creating a client for the Matrikon server

Имя клиента (отображается на панели «Объекты OPC Toolbox») Host/ServerID, где Host является именем хоста и ServerID - идентификатор сервера, сопоставленный с этим клиентом. В этом примере имя клиента 'localhost/Matrikon.OPC.Simulation.1'

После создания клиента можно просмотреть свойства объекта клиента на панели Свойства объекта, как показано на следующем рисунке.

OPC client properties

Альтернативные методы создания клиентов

Можно создать клиент в OPC Data Access Explorer с помощью любого из следующих методов:

  • Выберите узел Клиенты OPC MATLAB на панели Объекты OPC Toolbox и нажмите кнопку Add Client на панели инструментов Объекты OPC Toolbox.

  • Выберите Add из меню Клиент.

  • Щелкните правой кнопкой мыши узел MATLAB OPC Clients в дереве объектов OPC Toolbox и выберите Create Client.

Если вы выбираете один из этих методов, появляется диалоговое окно с запросом имени хоста и идентификатора сервера.

Add client dialog with fields for host name and server ID

Когда вы задаете имя хоста, вы сможете выбрать идентификатор сервера из списка, нажав кнопку Выбрать. Используя диалоговое окно Добавить клиент, вы также можете автоматически попытаться подключиться к серверу, когда клиент будет создан, установив флажок Подключить после создания клиента OPC перед нажатием кнопки OK.

Эквивалентный код командной строки

Эквивалент командной строки этого шага включает в себя использование opcda с указанием аргументов hostname и Server ID.

da = opcda('localhost', 'Matrikon.OPC.Simulation.1')
da =
   OPC Data Access Object: localhost/Matrikon.OPC.Simulation.1
      Server Parameters
         Host:           localhost
         ServerID:       Matrikon.OPC.Simulation.1
         Status:         disconnected
      Object Parameters
         Group:          0-by-1 dagroup object

Дополнительные сведения о создании клиентов см. в разделе Создание объектов доступа к данным OPC Toolbox.

Шаг 4: Подключение к серверу OPC

Объекты клиента Доступ не подключаются автоматически к серверу при создании. Это позволяет вам полностью настроить иерархию объектов OPC Toolbox (клиент с группами и элементами) перед подключением к серверу или даже без присутствия сервера.

Примечание

Диалоговое окно Add Client, описанное в разделе Альтернативные методы создания клиентов, может подключить клиент к серверу после создания объекта клиента.

Для подключения клиента к серверу можно использовать панель инструментов OPC Toolbox Objects, показанную на следующем рисунке.

OPC Toolbox Objects toolbar

Щелкните Connect на панели инструментов OPC Toolbox Objects. Если клиент может подключиться к серверу, значок для этого клиента в дереве объектов OPC Toolbox изменится на показ подключения клиента. Если клиенту не удалось подключиться к серверу, появится диалоговое окно с сообщением об ошибке. Сведения о том, почему клиент не может подключиться к серверу, см. в разделе Поиск и устранение проблем.

Когда вы соединяете opcda объект клиента на сервере, сопоставленном с этим клиентом, узел сервера на панели Хосты и Серверы OPC также обновляется, чтобы показать, что сервер имеет соединение с клиентом в приложении. При этом соединении свойства сервера отображаются на панели Хосты и Серверы OPC. В данном примере типичное представление приложения после подключения к клиенту показано на следующем рисунке.

OPC Data Access Explorer after connecting to client

Свойства Сервера OPC включают диагностическую информацию, такую как поддерживаемые интерфейсы OPC Data Доступа, время запуска сервера и текущее состояние сервера.

Эквивалентный код командной строки

Вы используете connect функция для соединения opcda объект клиента для сервера в командной строке.

connect(da)

Шаг 5: Создайте Доступ данных OPC Группового объекта

Вы создаете объекты группы доступа к данным (dagroup объекты) для управления и хранения набора объектов Data Access Item (daitem объекты). A dagroup объект управляет тем, как часто сервер должен уведомлять вас о любых изменениях в значениях элементов, управлять статусом активации элементов этой группы и определять, запускать и останавливать задачи регистрации.

Как создать dagroup Объектом щелкните Add group на панели инструментов OPC Toolbox Объектов. Группа создается и автоматически называется либо сервером OPC, либо программным обеспечением OPC Toolbox.

Toolbox object showing group properties

Сами по себе, dagroup объекты не полезны. После добавления элементов в группу можно управлять этими элементами, считывать значения с сервера для всех элементов группы и регистрировать данные для этих элементов, используя dagroup объект. На шаге 6 вы просматриваете доступные теги на сервере OPC. Шаг 7 включает добавление элементов, связанных с этими тегами, в dagroup объект.

Эквивалентный код командной строки

Создание dagroup объекты из командной строки, вы используете addgroup функция. Этот пример добавляет группу к opcda объект клиента уже создан.

grp = addgroup(da)
grp =
   OPC Group Object: Group0
      Object Parameters
         GroupType:        private
         Item:             0-by-1 daitem object
         Parent:           localhost/Matrikon.OPC.Simulation.1
         UpdateRate:       0.5
         DeadbandPercent:  0
      Object Status
         Active:           on
         Subscription:     on
         Logging:          off
         LoggingMode:      memory

Дополнительные сведения о создании Групповых объектов из командной строки см. в разделе «Создание групповых объектов доступа к данным».

Шаг 6: Просмотр пространства имен серверов

Все серверы OPC обеспечивают доступ к серверным элементам через пространство имен сервера. Пространство имен является упорядоченным списком серверных элементов, обычно расположенным в иерархическом формате для быстрого доступа. Серверный элемент (также известная как метка) является точкой измерения или данных на сервере, обеспечивая информацию от устройства (такого как датчик давления) или от другого программного пакета, который поставляет данные через OPC Data Доступы (такого как пакет SCADA).

Примечание

Если вы знаете идентификаторы позиций интересующих вас серверных элементов, можно пропустить этот раздел и перейти к шагу 7 «Добавление элементов OPC Data доступа к группе». В этом примере предположим, что вы не знаете точных идентификаторов элементов, хотя вы знаете, что хотите записать информацию из Пилозубых волн и Треугольных волн, предоставленных Matrikon Simulation Server.

Вкладка Пространство имен панели Узлы и серверы (Hosts and Servers) позволяет графически просматривать пространство имен сервера. Поскольку большинство серверов OPC содержат тысячи серверных элементов, извлечение пространства имен может занять много времени. При первом подключении к серверу пространство имен не извлекается автоматически. Вы должны запросить пространство имен с помощью одной из View кнопок на панели инструментов Server Namespace, как показано на следующем рисунке.

Server namespace toolbar

Щелкните Вид иерархического пространства имен, чтобы получить иерархическое пространство имен для Сервера OPC Matrikon. На панели отображается древовидное представление, содержащее пространство имен Matrikon. Панель должна выглядеть аналогично следующему рисунку.

Name space with different nodes

Примечание

Если вы решите просмотреть пространство имен как плоское, то получите один список всех серверных элементов в пространстве имен, развернутых до их полных имен. Полное имя может использоваться для создания daitem объект.

Просмотр пространства имен с помощью приложения также предоставляет некоторые сведения о свойствах для каждого серверного элемента. Свойства включают опубликованные свойства OPC Item, такие как Значения, Качество и Timestamp, плюс дополнительные свойства, опубликованные Серверами OPC, которые могут предоставить больше информации об этом конкретном серверном элементе. Список стандартных свойств OPC и объяснение их использования см. в разделе Свойства элемента OPC DA Server.

В этом примере вам нужно найти сигналы Saw-zothed Waves и Triangle Waves в Matrikon Simulation Server. Это может быть достигнуто с помощью следующих шагов:

  1. Убедитесь, что вы просматриваете иерархическое пространство имен.

  2. Разверните узел Элементы симуляции. Вы увидите все типы сигналов, которые моделирует Matrikon Server.

  3. Разверните узел Пилозубые волны. Появляется ряд листовых узлов. Узел листа не содержит других узлов и обычно обозначает тег на Сервер OPC.

  4. Выберите Real8 узел листа. Свойства серверного элемента появляются в таблице свойств под деревом пространства имен, как показано на следующем рисунке.

    Node properties

    Обратите внимание на Item Canonical DataType свойство, которое double. Canonical DataType - это тип данных, который используется сервером для хранения серверного элемента значения.

  5. Выберите UInt2 узел листа. Вы заметите, что свойства обновляются, и Item Canonical Datatype свойство для этого серверного элемента uint16. (MATLAB обозначает целые числа с количеством битов в целом числе, например uint16; Сервер Matrikon использует соглашение о COM-вариантах, обозначающее количество байтов, таких как UInt2.)

Вы можете продолжить просмотр пространства имен сервера с помощью панели Server Namespace в приложении. Одной из уникальных характеристик сервера симуляции Matrikon является то, что можно просмотреть подключенные клиенты через пространство имен, выбрав узел Clients в корне пространства имен.

На шаге 7 вы добавляете три элемента к вновь созданному объекту группового объекта помощью панели Server Namespace.

Эквивалентный код командной строки

В командной строке вы можете просмотреть пространство имен серверов, используя serveritems функция. Необходимо предоставить подключенное opcda объект клиента к serveritems функция и необязательный аргумент в виде вектора символов для ограничения возвращаемых результатов. Вектор символов может содержать подстановочные символы (*). Пример использования serveritems является следующим.

sawtoothItems = serveritems(da, '*Saw*')
sawtoothItems = 
    'Saw-toothed Waves.'
    'Saw-toothed Waves.Int1'
    'Saw-toothed Waves.Int2'
    'Saw-toothed Waves.Int4'
    'Saw-toothed Waves.Money'
    'Saw-toothed Waves.Real4'
    'Saw-toothed Waves.Real8'
    'Saw-toothed Waves.UInt1'
    'Saw-toothed Waves.UInt2'
    'Saw-toothed Waves.UInt4'

Эквивалент командной строки для получения свойств серверного элемента serveritemprops. См. serveritemprops Страница с описанием для получения дополнительной информации об использовании функции.

Шаг 7: Добавление элементов доступа к OPC Data в группу

Теперь, когда вы нашли серверные элементы в пространстве имен, можно добавить объекты Доступ Item (daitem объект) для этих тегов в dagroup объект, созданный вами на шаге 5. A daitem объект является ссылкой на тег в пространстве имен, с указанием значения тег и дополнительной информации по этому элементу, такому как канонический тип данных.

Используя приложение, вы создаете элементы непосредственно из дерева пространства имен, используя контекстное меню на каждом узле дерева.

Перейдите к Simulated Items > Saw-toothed Waves > Real8 и щелкните правой кнопкой мыши этот узел, чтобы открыть контекстное меню. При выборе Add to из контекстного меню вы получаете список созданных групп для элемента, связанного с этим сервером, и пункт меню для создания новой группы (и добавления элемента к этой группе).

Меню, отображаемое для этого примера, показано на следующем рисунке.

Adding an item to a group

Щелкните Group0, чтобы добавить элемент в уже существующую группу, созданную на шаге 5. A daitem объект создается на панели «Объекты OPC Toolbox». На следующем рисунке показан подсвеченный вновь созданный элемент со свойствами элемента, показанными на панели свойств.

New item in toolbox objects display

Чтение значения с сервера

A daitem объект первоначально не содержит информации о серверном элементе, которую он представляет. The daitem объект обновляется только тогда, когда сервер уведомляет клиент об изменении статуса этого элемента (уведомление называется событием изменения данных) или клиент специально читает значение с сервера. Используя приложение, можно принудительно выполнить чтение элемента, нажав кнопку Read на панели Properties необходимого элемента.

Нажмите Read. Обновятся поля Value, Quality и Timestamp в приложении. Значение содержит последнее значение, считанное сервером с этого конкретного элемента. Качество предоставляет меру того, насколько значимо Значение. Если качество Good, тогда значение может быть таким же, как и устройство или объект, на который ссылается элемент, но только во время, заданное полем Timestamp. Если качество - это что-то кроме Good, тогда значение элемента будет сомнительным.

Каждый раз, когда вы считываете или получаете данные от сервера через событие изменения данных, сервер будет предоставлять вам обновленные значения Value, Quality и Timestamp.

Добавление дополнительных элементов в группу

Используя панель Namespace, разверните узел Triangle Waves и добавьте элементы для Real8 и UInt2 серверных элементов. После этого с вашими dagroup будут связаны три элемента объект. На шаге 8 вы конфигурируете сеанс логгирования для этой группы. Затем вы регистрируете данные на шаге 9 из трех элементов, которые вы только что создали, и визуализируете данные на шаге 10.

Эквивалентный код командной строки

Вы используете additem функция для добавления элементов в dagroup объект. Вам нужно пройти dagroup объект, к которому будут добавлены элементы, и полный идентификатор элемента в виде вектора символов. Идентификаторы элементов были найдены с помощью serveritems функция на шаге 6.

itm1 = additem(grp, 'Saw-toothed Waves.Real8')
itm1 =
   OPC Item Object: Saw-toothed Waves.Real8
      Object Parameters
         Parent:           Group0
         AccessRights:     read/write
         DataType:         double
      Object Status
         Active:           on
      Data:
         Value:   
         Quality: 
         Timestamp:

В группу можно добавить несколько элементов в одном additem вызов, путем определения нескольких ItemID значения в массиве ячеек.

itms = additem(grp, {'Triangle Waves.Real8', ...
'Triangle Waves.UInt2'})
itms =
   OPC Item Object Array:
   Index:  DataType:  Active:  ItemID:
   1       double     on       Triangle Waves.Real8
   2       uint16     on       Triangle Waves.UInt2

Дополнительные сведения о добавлении элементов в группы см. в разделе Создание объектов элемента доступа к данным.

Шаг 8: Просмотреть все значения элемента

Просмотреть Значения (Value), Качество (Quality) и Метки времени (Timestamp) для каждого элемента можно с помощью панели свойств элемента. Однако это представление предоставляет доступ только к одному элементу за раз. Групповой объект предназначен для чтения и записи значений из всех элементов группы и для регистрации данных в памяти и/или диске. Вы используете панель «Чтение/запись группы» для просмотра значений элементов, созданных вами на шаге 7, чтобы определить приблизительную область значений значений, которые изменяются для каждого значения элемента. Информация из этой панели поможет вам проверить, что данные обновляются, и можно ли построить график данных в одном наборе осей или в подграфиках.

Щелкните Group0 на панели «Объекты OPC Toolbox». Перейдите на вкладку Чтение/запись в верхней части панели свойств группы. Теперь панель «Объекты OPC Toolbox» должна выглядеть аналогично панели, показанной на следующем рисунке.

Read/write settings for selected group

Значения Value, Quality и Timestamp в таблице элементов будут постоянно обновляться, пока у вас включена подписка. Подписка определяет, отправляются ли события изменения данных сервером OPC в тулбокс для элементов, значения которых изменяются. UpdateRate и DeadbandPercent задайте, как часто элементы должны запрашиваться для нового значения и отправляются ли все изменения значений или только изменения заданной величины в тулбокс. Дополнительные сведения о подписке см. в разделах События изменения данных и Подписка.

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

Вы также можете использовать панель «Чтение/запись группы» для записи значений во многие элементы одновременно. Укажите значение в столбце Write таблицы данные для каждого элемента, в который вы хотите записать, и нажмите Write, чтобы иметь возможность записывать в эти элементы.

На шаге 10 вы сконфигурируете задачу регистрации и данные журнала для этих трех элементов.

Эквивалентный код командной строки

Вы можете использовать read функция с групповым объектом в качестве первого параметра для чтения значений из всех элементов группы. read Функция обсуждается более подробно в Read and Запись данных.

Шаг 9: Настройка свойств группы для логгирования

Теперь, когда ваш dagroup объект содержит элементы, можно использовать группу для управления взаимодействием этих элементов с сервером. На этом шаге вы конфигурируете группу для регистрации данных из этих элементов в течение 2 минут с интервалом 0 2 секунды. Вы будете использовать записанные данные на шаге 11, чтобы визуализировать сигналы, произведенные Matrikon Simulation Server.

OPC Data Access Servers обеспечивают доступ только к «живым» данным (последнему известному значению каждого серверного элемента в пространстве имен). Во многих случаях одно значение сигнала не полезно, и временные ряды, содержащий значение сигналов в течение периода времени, полезны при анализе этого сигнала или набора сигналов. Программное обеспечение OPC Toolbox позволяет вам регистрировать все элементы группы на диске или в памяти, а также извлекать эти данные для анализа в MATLAB.

Сеанс логгирования конфигурируется с помощью dagroup объект. Изменяя свойства, связанные с логгированием, вы контролируете, как часто данные должны отправляться с сервера на клиент, сколько записей группа должна записывать в журнал и где записывать данные в журнал. Эта информация представлена на панели журналов dagroup свойства объекта в приложении.

Перейдите на вкладку Logging на панели Properties. Следующий рисунок показывает панель Logging для dagroup объект, созданный в этом примере.

Logging pane for selected group

Используя панель Logging, сконфигурируйте сеанс логгирование с помощью следующих шагов:

  1. Установите частоту обновления на 0.2.

  2. Установите количество записей, чтобы войти в 600. Поскольку вы хотите войти в систему в течение 2 минут (120 секунд) с 0 2-секундной частотой обновления, вам нужны 600 (то есть 120/0,2) записи.

Вы можете оставить остальные свойства регистрации по их значениям по умолчанию, потому что в этом примере используются данные, записанные в память.

На шаге 10 вы регистрируете данные. На шаге 11 вы визуализируете данные.

Эквивалентный код командной строки

Вы используете set функция для установки свойств объекта OPC Toolbox. Из командной строки MATLAB можно вычислить количество записей, необходимых для задачи регистрации.

logDuration = 2*60;
logRate = 0.2;
numRecords = ceil(logDuration./logRate)
set(grp, 'UpdateRate',logRate,'RecordsToAcquire',numRecords);

Шаг 10: Журнал Сервера OPC данных

На шаге 9 вы сконфигурировали dagroup свойства логгирования объектов. Теперь ваш объект готов к регистрации необходимого объема данных в памяти.

Нажмите Start на вкладке Logging. Начинается задача регистрации, и механизм OPC Toolbox получает и сохраняет данные с сервера OPC. Индикатор прогресса указывает состояние задачи регистрации, как показано на следующем рисунке.

Logging progress bar

Примечание

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

Дождитесь завершения задачи перед продолжением шага 11.

Эквивалентный код командной строки

Вы используете start функция с необходимой dagroup объект для запуска задачи ведения журнала.

start(grp)

Несмотря на то, что операция логгирования происходит в фоновом режиме, можно дать MATLAB указание дождаться завершения задачи логгирования, используя wait функция.

wait(grp)

Шаг 11: Постройте график данных

В этом вводном примере вы используете приложение, чтобы визуализировать данные, зарегистрированные на шаге 10. В более сложной задаче вы экспортируете записанные данные в рабочую область и используете функции MATLAB для анализа и интерпретации записанных данных.

Когда задача ведения журнала остановится, панель журналов обновится, чтобы показать, что задача завершена. Пример фрагменту состояния регистрации на панели журналов после выполнения задачи показан на следующем рисунке.

Logging progress complete

Чтобы просмотреть данные из приложения, нажмите Plot. Записанные данные будут извлечены из модуля тулбокса и отображены в графическом окне MATLAB. Формат отображаемых данных и опций аннотации определяется настройками в системе координат опции панели Logging. По умолчанию график будет помечен любыми точками данных, которые имеют качество, отличное от Good. Значения, whos Bad аннотированы большим красным кругом с черной границей и значениями с качеством Repeat аннотированы жёлтой звездой. Вы всегда должны просмотреть Качество, возвращенное со Значением элемента, чтобы определить, является ли Значение значимым или недействительным. Связь между Значением и Качеством элемента обсуждается в OPC Data: Значение, Качество и TimeStamp.

Пример нанесенных на график данных показан на следующем рисунке.

Data plot indicating various quality

Примечание

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

Заметьте, как три сигнала кажутся почти полностью не связанными, за исключением периода двух Real8 сигналов. Пиковые значения для каждого сигнала различны, как и периоды для двух сигналов Triangle Waves. Визуализируя данные, можно получить некоторое представление о том, как Matrikon OPC Simulation Server моделирует каждый тег. В этом случае очевидно, что Real8 и UInt2 сигналы имеют другой период.

Эквивалентный код командной строки

Когда ваша задача логгирования завершена, вы переносите данные из движка тулбокса в рабочее пространство MATLAB с помощью getdata функция, которая обеспечивает два типа выхода, в зависимости от 'datatype' аргумент. Для получения дополнительной информации см. getdata на страницах с описанием. В этом случае вы извлекаете данные в отдельные массивы и строите график данных.

Приведенный ниже пример воспроизводит отображение рисунка, которое вы получаете при нажатии Plot.

[logIDs, logVal,logQual,logTime,logEvtTime] = ...
 getdata(grp,'double');
plot(logTime,logVal);
axis tight
datetick('x','keeplimits')
legend(logIDs)

Шаг 12: Очистка

Когда вы закончите с задачей OPC, вы должны удалить объекты задачи из памяти и очистить рабочее пространство MATLAB от переменных, связанных с этими объектами. Приложение OPC Data Access Explorer автоматически удаляет из модуля тулбокса все объекты, которые он создает. Если вы работаете только в OPC Data Access Explorer, вам не нужно выполнять дальнейшую очистку кроме как закрыть приложение. Вы закрываете приложение с помощью опции Exit в меню File или с помощью кнопки Close в строке заголовка. Появится запрос на сохранение сеанса OPC Data Access Explorer. Можно принять решение сохранить сеанс в файл сеанса OPC (.osf файл) для дальнейшего использования или выхода без сохранения.

Эквивалентный код командной строки

Когда вы используете объекты OPC Toolbox из командной строки MATLAB или из ваших собственных функций, вы должны удалить их из движка программного обеспечения OPC Toolbox с помощью delete функция. Обратите внимание, что при удалении объекта тулбокса дочерние элементы этого объекта автоматически удаляются из модуля тулбокса. В следующем примере нет необходимости удалять grp и itmтак как они дети da.

disconnect(da)
delete(da)
clear da grp itm
close(gcf)

Дополнительные сведения об управлении объектами OPC Toolbox см. в разделе Удаление объектов.