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

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

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

Создание клиентских объектов

Создайте клиент с помощью opcda функция. Вам нужно имя хоста и идентификатор сервера для Серверов 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)

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