Управление объектами доступа к данным 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 функция.