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

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

Найдите объекты OPC Toolbox в памяти

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

opcfind
ans =
     []

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

Создайте некоторые объекты 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 функция.