exponenta event banner

Создание и настройка объектов панели инструментов OPC

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

ПРЕДВАРИТЕЛЬНЫЕ УСЛОВИЯ:

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

Создание клиента с помощью opcda функция. Необходимо указать имя хоста и идентификатор сервера для OPC-сервера, связанного с этим клиентом.

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

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

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

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)

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