exponenta event banner

Управление объектами доступа к данным панели инструментов OPC

В этом примере показано, как управлять объектами OPC Toolbox™.

Поиск объектов панели инструментов OPC в памяти

Используйте opcfind для поиска объектов OPC Toolbox в памяти.

opcfind
ans =
     []

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

Создайте некоторые объекты OPC Toolbox.

da = opcda('localhost', 'Dummy.Server.1');
grp = addgroup(da);
itm1 = additem(grp, 'Fake.Item.ID1');
itm2 = additem(grp, 'Fake.Item.ID2');

Найти все допустимые объекты.

allOPC = opcfind
allOPC = 
    [1x1 opcda]    [1x1 dagroup]    [1x1 daitem]    [1x1 daitem]

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

foundGrp = allOPC{2}
foundGrp =
Summary of OPC Data Access Group Object: group1
   Object Parameters
      Group Type   : private
      Item         : 2-by-1 daitem object
      Parent       : localhost/Dummy.Server.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

Передача пар свойство/значение в opcfind для поиска объектов с определенным свойством.

allDA = opcfind('Type', 'opcda')
allDA = 
    [1x1 opcda]

Удалить объекты из памяти

Чтобы удалить объект OPC Toolbox из памяти, используйте delete функция с объектом. Удаление объекта клиента приводит к удалению всех объектов группы и элементов, связанных с клиентом. При удалении группы удаляются все элементы в этой группе.

delete(grp)

Найти все остальные допустимые объекты.

allOPC = opcfind
allOPC = 
    [1x1 opcda]

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

Отображение текущего рабочего пространства.

whos
  Name          Size            Bytes  Class      Attributes

  allDA         1x1               690  cell                 
  allOPC        1x1               690  cell                 
  ans           0x0                 0  double               
  da            1x1               630  opcda                
  foundGrp      1x1               630  dagroup              
  grp           1x1               630  dagroup              
  itm1          1x1               630  daitem               
  itm2          1x1               630  daitem               

Поскольку объект был удален, он больше не является допустимым.

grp
grp =
Invalid dagroup object.
This object should be removed from your workspace using CLEAR.

Элементы, содержащиеся в этой группе, также недопустимы.

itm1
itm1 =
Invalid daitem object.
This object should be removed from your workspace using CLEAR.

Очистите связанные переменные.

clear grp itm1 itm2

Отображение текущего рабочего пространства.

whos
  Name          Size            Bytes  Class      Attributes

  allDA         1x1               690  cell                 
  allOPC        1x1               690  cell                 
  ans           0x0                 0  double               
  da            1x1               630  opcda                
  foundGrp      1x1               630  dagroup              

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

Примечание: Использование opcreset функция удаляет только объекты из памяти, но не очищает их из рабочей области MATLAB.

opcreset

Убедитесь, что объекты не остались.

allOPC = opcfind
allOPC =
     []

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

whos
  Name          Size            Bytes  Class      Attributes

  allDA         1x1               690  cell                 
  allOPC        0x0                 0  double               
  ans           0x0                 0  double               
  da            1x1               630  opcda                
  foundGrp      1x1               630  dagroup              

Удалить эти переменные можно с помощью clear функция.