Этот раздел иллюстрирует основные шаги, необходимые для создания приложения 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
.
Дважды кликните OPC Data Access Explorer в меню Apps. Приложение открывается без созданных узлов, серверов или объектов тулбокса. На следующем рисунке показаны основные компоненты OPC Data Access Explorer.
На следующих шагах вы заполняете каждую из панелей информацией, необходимой для регистрации данных, и будете регистрировать данные, создавая и взаимодействуя с объектами OPC Toolbox.
Чтобы открыть OPC Data Access Explorer из командной строки, введите opcDataAccessExplorer
в MATLAB® приглашение.
На этом шаге вы получаете две части информации, которую тулбокс должен уникально идентифицировать сервер 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, можно просмотреть хост с помощью следующих шагов:
На панели Узлы и Серверы OPC щелкните значок Добавить узел, чтобы открыть диалоговое окно Имя узла, показанное ниже.
В диалоговом окне Host name введите имя хоста. В этом случае можно использовать "localhost
"псевдоним.
localhost
Нажмите OK. Имя хоста будет добавлено к древовидному представлению OPC Network, и серверы OPC, установленные на этом узле, будут автоматически найдены и добавлены в древовидное представление. Ваш узел и панель Серверов OPC должны выглядеть так же, как показано ниже.
Обратите внимание, что локальный хост в этом примере предоставляет три сервера 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'
После определения имени хоста и идентификатора сервера OPC, к которому необходимо подключиться, можно создать opcda
объект клиента. Клиент контролирует состояние подключения к серверу и сохраняет любые события, происходящие с этого сервера (такие как уведомление об изменении состояния данных, которое называется событием изменения данных) в журнале событий. The opcda
объект клиента также содержит все объекты группы доступа к данным, созданные на клиенте. Дополнительные сведения об иерархии объектов OPC Toolbox™ см. в разделе Иерархия объектов тулбокса для стандарта доступа к данным.
С помощью OPC Data Access Explorer можно создать клиент непосредственно из панели Хосты и Серверы OPC.
Щелкните правой кнопкой мыши по Matrikon
Узлом сервера и выберите Create client. Клиент будет создан на панели «Объекты OPC Toolbox», как показано на следующем рисунке.
Имя клиента (отображается на панели «Объекты OPC Toolbox») Host/ServerID
, где Host
является именем хоста и ServerID
- идентификатор сервера, сопоставленный с этим клиентом. В этом примере имя клиента 'localhost/Matrikon.OPC.Simulation.1'
После создания клиента можно просмотреть свойства объекта клиента на панели Свойства объекта, как показано на следующем рисунке.
Можно создать клиент в OPC Data Access Explorer с помощью любого из следующих методов:
Выберите узел Клиенты OPC MATLAB на панели Объекты OPC Toolbox и нажмите кнопку Add Client на панели инструментов Объекты OPC Toolbox.
Выберите Add из меню Клиент.
Щелкните правой кнопкой мыши узел MATLAB OPC Clients в дереве объектов OPC Toolbox и выберите Create Client.
Если вы выбираете один из этих методов, появляется диалоговое окно с запросом имени хоста и идентификатора сервера.
Когда вы задаете имя хоста, вы сможете выбрать идентификатор сервера из списка, нажав кнопку Выбрать. Используя диалоговое окно Добавить клиент, вы также можете автоматически попытаться подключиться к серверу, когда клиент будет создан, установив флажок Подключить после создания клиента 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.
Объекты клиента Доступ не подключаются автоматически к серверу при создании. Это позволяет вам полностью настроить иерархию объектов OPC Toolbox (клиент с группами и элементами) перед подключением к серверу или даже без присутствия сервера.
Примечание
Диалоговое окно Add Client, описанное в разделе Альтернативные методы создания клиентов, может подключить клиент к серверу после создания объекта клиента.
Для подключения клиента к серверу можно использовать панель инструментов OPC Toolbox Objects, показанную на следующем рисунке.
Щелкните Connect на панели инструментов OPC Toolbox Objects. Если клиент может подключиться к серверу, значок для этого клиента в дереве объектов OPC Toolbox изменится на показ подключения клиента. Если клиенту не удалось подключиться к серверу, появится диалоговое окно с сообщением об ошибке. Сведения о том, почему клиент не может подключиться к серверу, см. в разделе Поиск и устранение проблем.
Когда вы соединяете opcda
объект клиента на сервере, сопоставленном с этим клиентом, узел сервера на панели Хосты и Серверы OPC также обновляется, чтобы показать, что сервер имеет соединение с клиентом в приложении. При этом соединении свойства сервера отображаются на панели Хосты и Серверы OPC. В данном примере типичное представление приложения после подключения к клиенту показано на следующем рисунке.
Свойства Сервера OPC включают диагностическую информацию, такую как поддерживаемые интерфейсы OPC Data Доступа, время запуска сервера и текущее состояние сервера.
Вы используете connect
функция для соединения opcda
объект клиента для сервера в командной строке.
connect(da)
Вы создаете объекты группы доступа к данным (dagroup
объекты) для управления и хранения набора объектов Data Access Item (daitem
объекты). A dagroup
объект управляет тем, как часто сервер должен уведомлять вас о любых изменениях в значениях элементов, управлять статусом активации элементов этой группы и определять, запускать и останавливать задачи регистрации.
Как создать dagroup
Объектом щелкните Add group на панели инструментов OPC Toolbox Объектов. Группа создается и автоматически называется либо сервером OPC, либо программным обеспечением OPC Toolbox.
Сами по себе, 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
Дополнительные сведения о создании Групповых объектов из командной строки см. в разделе «Создание групповых объектов доступа к данным».
Все серверы OPC обеспечивают доступ к серверным элементам через пространство имен сервера. Пространство имен является упорядоченным списком серверных элементов, обычно расположенным в иерархическом формате для быстрого доступа. Серверный элемент (также известная как метка) является точкой измерения или данных на сервере, обеспечивая информацию от устройства (такого как датчик давления) или от другого программного пакета, который поставляет данные через OPC Data Доступы (такого как пакет SCADA).
Примечание
Если вы знаете идентификаторы позиций интересующих вас серверных элементов, можно пропустить этот раздел и перейти к шагу 7 «Добавление элементов OPC Data доступа к группе». В этом примере предположим, что вы не знаете точных идентификаторов элементов, хотя вы знаете, что хотите записать информацию из Пилозубых волн и Треугольных волн, предоставленных Matrikon Simulation Server.
Вкладка Пространство имен панели Узлы и серверы (Hosts and Servers) позволяет графически просматривать пространство имен сервера. Поскольку большинство серверов OPC содержат тысячи серверных элементов, извлечение пространства имен может занять много времени. При первом подключении к серверу пространство имен не извлекается автоматически. Вы должны запросить пространство имен с помощью одной из View кнопок на панели инструментов Server Namespace, как показано на следующем рисунке.
Щелкните Вид иерархического пространства имен, чтобы получить иерархическое пространство имен для Сервера OPC Matrikon. На панели отображается древовидное представление, содержащее пространство имен Matrikon. Панель должна выглядеть аналогично следующему рисунку.
Примечание
Если вы решите просмотреть пространство имен как плоское, то получите один список всех серверных элементов в пространстве имен, развернутых до их полных имен. Полное имя может использоваться для создания daitem
объект.
Просмотр пространства имен с помощью приложения также предоставляет некоторые сведения о свойствах для каждого серверного элемента. Свойства включают опубликованные свойства OPC Item, такие как Значения, Качество и Timestamp, плюс дополнительные свойства, опубликованные Серверами OPC, которые могут предоставить больше информации об этом конкретном серверном элементе. Список стандартных свойств OPC и объяснение их использования см. в разделе Свойства элемента OPC DA Server.
В этом примере вам нужно найти сигналы Saw-zothed Waves и Triangle Waves в Matrikon Simulation Server. Это может быть достигнуто с помощью следующих шагов:
Убедитесь, что вы просматриваете иерархическое пространство имен.
Разверните узел Элементы симуляции. Вы увидите все типы сигналов, которые моделирует Matrikon Server.
Разверните узел Пилозубые волны. Появляется ряд листовых узлов. Узел листа не содержит других узлов и обычно обозначает тег на Сервер OPC.
Выберите Real8
узел листа. Свойства серверного элемента появляются в таблице свойств под деревом пространства имен, как показано на следующем рисунке.
Обратите внимание на Item Canonical DataType
свойство, которое double
. Canonical DataType - это тип данных, который используется сервером для хранения серверного элемента значения.
Выберите 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
Страница с описанием для получения дополнительной информации об использовании функции.
Теперь, когда вы нашли серверные элементы в пространстве имен, можно добавить объекты Доступ Item (daitem
объект) для этих тегов в dagroup
объект, созданный вами на шаге 5. A daitem
объект является ссылкой на тег в пространстве имен, с указанием значения тег и дополнительной информации по этому элементу, такому как канонический тип данных.
Используя приложение, вы создаете элементы непосредственно из дерева пространства имен, используя контекстное меню на каждом узле дерева.
Перейдите к Simulated Items > Saw-toothed Waves > Real8 и щелкните правой кнопкой мыши этот узел, чтобы открыть контекстное меню. При выборе Add to из контекстного меню вы получаете список созданных групп для элемента, связанного с этим сервером, и пункт меню для создания новой группы (и добавления элемента к этой группе).
Меню, отображаемое для этого примера, показано на следующем рисунке.
Щелкните Group0, чтобы добавить элемент в уже существующую группу, созданную на шаге 5. A daitem
объект создается на панели «Объекты OPC Toolbox». На следующем рисунке показан подсвеченный вновь созданный элемент со свойствами элемента, показанными на панели свойств.
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
Дополнительные сведения о добавлении элементов в группы см. в разделе Создание объектов элемента доступа к данным.
Просмотреть Значения (Value), Качество (Quality) и Метки времени (Timestamp) для каждого элемента можно с помощью панели свойств элемента. Однако это представление предоставляет доступ только к одному элементу за раз. Групповой объект предназначен для чтения и записи значений из всех элементов группы и для регистрации данных в памяти и/или диске. Вы используете панель «Чтение/запись группы» для просмотра значений элементов, созданных вами на шаге 7, чтобы определить приблизительную область значений значений, которые изменяются для каждого значения элемента. Информация из этой панели поможет вам проверить, что данные обновляются, и можно ли построить график данных в одном наборе осей или в подграфиках.
Щелкните Group0 на панели «Объекты OPC Toolbox». Перейдите на вкладку Чтение/запись в верхней части панели свойств группы. Теперь панель «Объекты OPC Toolbox» должна выглядеть аналогично панели, показанной на следующем рисунке.
Значения Value, Quality и Timestamp в таблице элементов будут постоянно обновляться, пока у вас включена подписка. Подписка определяет, отправляются ли события изменения данных сервером OPC в тулбокс для элементов, значения которых изменяются. UpdateRate
и DeadbandPercent
задайте, как часто элементы должны запрашиваться для нового значения и отправляются ли все изменения значений или только изменения заданной величины в тулбокс. Дополнительные сведения о подписке см. в разделах События изменения данных и Подписка.
Наблюдая данные в течение некоторого времени, вы увидите, что три сигнала, по-видимому, имеют одинаковые области значений. Это указывает, что вы можете визуализировать данные в тех же осях, когда вы постройте график на шаге 11.
Вы также можете использовать панель «Чтение/запись группы» для записи значений во многие элементы одновременно. Укажите значение в столбце Write таблицы данные для каждого элемента, в который вы хотите записать, и нажмите Write, чтобы иметь возможность записывать в эти элементы.
На шаге 10 вы сконфигурируете задачу регистрации и данные журнала для этих трех элементов.
Вы можете использовать read
функция с групповым объектом в качестве первого параметра для чтения значений из всех элементов группы. read
Функция обсуждается более подробно в Read and Запись данных.
Теперь, когда ваш dagroup
объект содержит элементы, можно использовать группу для управления взаимодействием этих элементов с сервером. На этом шаге вы конфигурируете группу для регистрации данных из этих элементов в течение 2 минут с интервалом 0 2 секунды. Вы будете использовать записанные данные на шаге 11, чтобы визуализировать сигналы, произведенные Matrikon Simulation Server.
OPC Data Access Servers обеспечивают доступ только к «живым» данным (последнему известному значению каждого серверного элемента в пространстве имен). Во многих случаях одно значение сигнала не полезно, и временные ряды, содержащий значение сигналов в течение периода времени, полезны при анализе этого сигнала или набора сигналов. Программное обеспечение OPC Toolbox позволяет вам регистрировать все элементы группы на диске или в памяти, а также извлекать эти данные для анализа в MATLAB.
Сеанс логгирования конфигурируется с помощью dagroup
объект. Изменяя свойства, связанные с логгированием, вы контролируете, как часто данные должны отправляться с сервера на клиент, сколько записей группа должна записывать в журнал и где записывать данные в журнал. Эта информация представлена на панели журналов dagroup
свойства объекта в приложении.
Перейдите на вкладку Logging на панели Properties. Следующий рисунок показывает панель Logging для dagroup
объект, созданный в этом примере.
Используя панель Logging, сконфигурируйте сеанс логгирование с помощью следующих шагов:
Установите частоту обновления на 0.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);
На шаге 9 вы сконфигурировали dagroup
свойства логгирования объектов. Теперь ваш объект готов к регистрации необходимого объема данных в памяти.
Нажмите Start на вкладке Logging. Начинается задача регистрации, и механизм OPC Toolbox получает и сохраняет данные с сервера OPC. Индикатор прогресса указывает состояние задачи регистрации, как показано на следующем рисунке.
Примечание
Задача ведения журнала выполняется в фоновом режиме. Можно продолжить работу в MATLAB, пока задача ведения журнала находится в операции. Задача регистрации не зависит от каких-либо других расчетов, выполняемых в MATLAB, и MATLAB не блокируется обработкой задачей регистрации.
Дождитесь завершения задачи перед продолжением шага 11.
Вы используете start
функция с необходимой dagroup
объект для запуска задачи ведения журнала.
start(grp)
Несмотря на то, что операция логгирования происходит в фоновом режиме, можно дать MATLAB указание дождаться завершения задачи логгирования, используя wait
функция.
wait(grp)
В этом вводном примере вы используете приложение, чтобы визуализировать данные, зарегистрированные на шаге 10. В более сложной задаче вы экспортируете записанные данные в рабочую область и используете функции MATLAB для анализа и интерпретации записанных данных.
Когда задача ведения журнала остановится, панель журналов обновится, чтобы показать, что задача завершена. Пример фрагменту состояния регистрации на панели журналов после выполнения задачи показан на следующем рисунке.
Чтобы просмотреть данные из приложения, нажмите Plot. Записанные данные будут извлечены из модуля тулбокса и отображены в графическом окне MATLAB. Формат отображаемых данных и опций аннотации определяется настройками в системе координат опции панели Logging. По умолчанию график будет помечен любыми точками данных, которые имеют качество, отличное от Good
. Значения, whos Bad
аннотированы большим красным кругом с черной границей и значениями с качеством Repeat
аннотированы жёлтой звездой. Вы всегда должны просмотреть Качество, возвращенное со Значением элемента, чтобы определить, является ли Значение значимым или недействительным. Связь между Значением и Качеством элемента обсуждается в OPC Data: Значение, Качество и TimeStamp.
Пример нанесенных на график данных показан на следующем рисунке.
Примечание
Ваши нанесенные на график данные почти точно не будут похожи на показанный здесь, потому что задача логгирования была выполнена в другое время.
Заметьте, как три сигнала кажутся почти полностью не связанными, за исключением периода двух 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)
Когда вы закончите с задачей 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 см. в разделе Удаление объектов.