Найдите и просмотрите OPC Data доступ к серверам

Этот пример показывает вам, как использовать OPC Toolbox™, чтобы просмотреть сеть Серверы OPC и запросить пробел имени сервера для серверных элементов и их свойств.

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

Шаг 1: просмотрите сеть серверы OPC

Вы используете opcserverinfo функционируйте, чтобы запросить хост в сети для доступного OPC Data доступ к серверам. Этот пример использует локальный хост.

hostInfo = opcserverinfo('localhost')
hostInfo = 

                 Host: 'localhost'
             ServerID: {'Matrikon.OPC.Simulation.1'}
    ServerDescription: {'MatrikonOPC Server for Simulation and Testing'}
     OPCSpecification: {'DA2'}
    ObjectConstructor: {'opcda('localhost', 'Matrikon.OPC.Simulation.1')'}

Возвращенная структура предоставляет информацию о каждом сервере:

hostInfo.ServerDescription'
ans = 

    'MatrikonOPC Server for Simulation and Testing'

и о ID Сервера вы используете, чтобы создать объект клиента.

allID = hostInfo.ServerID'
allID = 

    'Matrikon.OPC.Simulation.1'

Шаг 2: создайте объект клиента и подключение к серверу

Используйте имя хоста и ID сервера, который, как находят на предыдущем шаге, создал объект клиента.

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

Summary of OPC Data Access Client Object: localhost/Matrikon.OPC.Simulation.1

   Server Parameters
      Host      : localhost
      ServerID  : Matrikon.OPC.Simulation.1
      Status    : disconnected
      Timeout   : 10 seconds

   Object Parameters
      Group     : 0-by-1 dagroup object
      Event Log : 0 of 1000 events

Соедините клиент с сервером.

connect(da);

Шаг 3: получите пробел имени сервера

Получите пространство имен сервера.

ns = getnamespace(da)
ns = 

4×1 struct array with fields:

    Name
    FullyQualifiedID
    NodeType
    Nodes

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

ns(1)
ans = 

                Name: 'Simulation Items'
    FullyQualifiedID: 'Simulation Items¥'
            NodeType: 'branch'
               Nodes: [8×1 struct]

Шаг 4: найдите элементы в пространстве имен

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

realItems = serveritems(ns,'*Real*')
realItems = 

    'Bucket Brigade.ArrayOfReal8'
    'Bucket Brigade.Real4'
    'Bucket Brigade.Real8'
    'Random.ArrayOfReal8'
    'Random.Real4'
    'Random.Real8'
    'Read Error.ArrayOfReal8'
    'Read Error.Real4'
    'Read Error.Real8'
    'Saw-toothed Waves.Real4'
    'Saw-toothed Waves.Real8'
    'Square Waves.Real4'
    'Square Waves.Real8'
    'Triangle Waves.Real4'
    'Triangle Waves.Real8'
    'Write Error.ArrayOfReal8'
    'Write Error.Real4'
    'Write Error.Real8'
    'Write Only.ArrayOfReal8'
    'Write Only.Real4'
    'Write Only.Real8'

Шаг 5: запросите свойства серверного элемента

Исследуйте канонический тип данных (PropID = 1) и права доступа элемента (PropID = 5) из второго найденного элемента.

canDT = serveritemprops(da,realItems{2},1)
accessRights = serveritemprops(da,realItems{2},5)
canDT = 

             PropID: 1
    PropDescription: 'Item Canonical DataType'
          PropValue: 'single'
         PropItemID: ''


accessRights = 

             PropID: 5
    PropDescription: 'Item Access Rights'
          PropValue: 'read/write'
         PropItemID: ''

Шаг 6: очистите объекты OPC Toolbox

Отключите клиент от сервера и удалите объекты OPC Toolbox из памяти, когда вам больше не будут нужны они. Удаление объекта клиента также удаляет объекты элемента и группа.

disconnect(da)
delete(da)