Создайте и сконфигурируйте объекты OPC Toolbox

Этот пример показывает вам, как создать и сконфигурировать объекты OPC Toolbox™.

НЕОБХОДИМЫЕ УСЛОВИЯ:

Создайте объекты клиента

Создайте клиент, использующий opcda функция. Вам нужны имя хоста и ID сервера для Сервера OPC, сопоставленного с этим клиентом.

da = opcda('localhost','Matrikon.OPC.Simulation.1');
connect(da);

Добавьте группы в клиент

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

grp1 = addgroup(da);

Групповые объекты используются, чтобы управлять наборами daitem объекты.

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

grp2 = addgroup(da,'MyGroup');

Введите имя объекта, чтобы просмотреть сводные данные группового объекта.

grp1
grp1 =

Summary of OPC Data Access Group Object: Group0

   Object Parameters
      Group Type   : private
      Item         : 0-by-1 daitem object
      Parent       : localhost/Matrikon.OPC.Simulation.1
      Update Rate  : 0.5
      Deadband     : 0%

   Object Status
      Active       : on
      Subscription : on
      Logging      : off

   Logging Parameters
      Records      : 120
      Duration     : at least 60 seconds
      Logging to   : memory
      Status       : Waiting for START.
                     0 records available for GETDATA/PEEKDATA

Добавьте, что элемент возражает против группы

Добавьте элемент под названием Random.Real8 группе.

itm1 = additem(grp1,'Random.Real8');

Если вы хотите, чтобы значение, сохраненное в MATLAB®, имело определенный тип данных, задайте его в качестве третьего аргумента.

itm2 = additem(grp1,'Random.UInt2','double');

Чтобы просмотреть сводные данные объекта, введите имя объекта.

itm1
itm1 =

Summary of OPC Data Access Item Object: Random.Real8

   Object Parameters
      Parent        : Group0
      Access Rights : read

   Object Status
      Active        : on

   Data Parameters
      Data Type     : double
      Value         : 0
      Quality       : Bad: Out of Service
      Timestamp     : 12-Apr-2016 16:19:50

Создайте объектные векторы

Ссылки на несколько объектов OPC Toolbox могут храниться в объектных векторах.

itmVec = [itm1,itm2]
itmVec =

   OPC Item Object Array:

   Index:  Active:  ItemID:             Value:                Quality:    TimeStamp:
   1       on       Random.Real8        0                     Bad: Ou...  16:19:50
   2       on       Random.UInt2                              Bad: Ou...   

Отображение объектного вектора показывает информацию о каждом объекте в векторе.

Просмотрите и измените свойства объектов

Просмотрите список всех свойств, поддержанных объектом.

get(da)
  General Settings:
    EventLog = []
    EventLogMax = 1000
    Group = [1×2 dagroup]
    Host = localhost
    Name = localhost/Matrikon.OPC.Simulation.1
    ServerID = Matrikon.OPC.Simulation.1
    Status = connected
    Tag = 
    Timeout = 10
    Type = opcda
    UserData = []

  Callback Function Settings:
    ErrorFcn = @opccallback
    ShutdownFcn = @opccallback
    TimerFcn = []
    TimerPeriod = 10

Получите информацию об определенном свойстве.

clientName = da.Name
clientName =

localhost/Matrikon.OPC.Simulation.1

Получите информацию о свойстве с помощью propinfo функция.

statusInfo = propinfo(da,'Status')
statusInfo = 

               Type: 'string'
         Constraint: 'enum'
    ConstraintValue: {'disconnected'  'connected'}
       DefaultValue: 'disconnected'
           ReadOnly: 'always'

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

Установите значение Timeout свойство к 30 секундам.

da.Timeout = 30
da =

Summary of OPC Data Access Client Object: localhost/Matrikon.OPC.Simulation.1

   Server Parameters
      Host      : localhost
      ServerID  : Matrikon.OPC.Simulation.1
      Status    : connected
      Timeout   : 30 seconds

   Object Parameters
      Group     : 2-by-1 dagroup object
      Event Log : 0 of 1000 events

Очистка

Удалите объекты, которые вы закончены с помощью от механизма OPC Toolbox.

disconnect(da)
delete(da)

Удаление объекта клиента также удаляет группу и объекты элемента, сопоставленные с тем клиентом.