Соедините с OPC Data доступ к серверам

Обзор

После того, как вы получаете информацию о своих Серверах OPC, описанный в Обнаруживают Доступные Серверы Доступа к данным, можно установить связь с сервером путем создания объекта OPC Client и подключения того клиента с сервером. Эти шаги описаны в следующих разделах.

Примечание

Чтобы запустить пример кода в следующих примерах, необходимо иметь Сервер Симуляции Matrikon™ OPC в наличии на локальной машине. Для получения информации об установке этого смотрите Установку DA OPC или Сервер Симуляции HDA для Классических примеров OPC. Код требует, чтобы только незначительные изменения работали с другими серверами.

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

Создать opcda объект, вызовите opcda функция, задающая имя узла и ID сервера. Вы получили эту информацию с помощью opcserverinfo функция (описанный в Обнаруживают Доступные Серверы Доступа к данным).

Этот пример создает opcda объект представлять связь с Сервером Симуляции Matrikon OPC. opcserverinfo функция включает opcda по умолчанию синтаксис в ObjectConstructor поле .

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

Просмотрите сводные данные объекта клиента

Просмотреть сводные данные характеристик opcda возразите, что вы создали, введите имя переменной, которое вы присвоили объекту в командной строке. Например, это - сводные данные для объекта da.

da

Элементы в этом списке соответствуют пронумерованным элементам в объектных сводных данных:

  1. Заголовок Summary включает имя opcda объект клиента. Имя по умолчанию для объекта клиента составлено из 'host/serverID'. Можно поменять имя объекта клиента с помощью set функция, описанная в, Конфигурирует Свойства объектов Доступа к данным OPC Toolbox.

  2. Server Parameters предоставьте информацию о Сервере OPC, с которым сопоставлен клиент. Имя хоста, ID сервера и состояние связи обеспечиваются в этом разделе. Вы соединяетесь с Сервером OPC с помощью connect функция, описанная в Подключении Клиент к Серверу DA.

  3. Object Parameters раздел содержит информацию о OPC Data Access Group (dagroup) объекты сконфигурированы на этом клиенте. Вы используете групповые объекты, чтобы содержать наборы элементов. Создание групповых объектов описано в, Создают Групповые объекты Доступа к данным.

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

Вы соединяете клиент с сервером с помощью connect функция.

connect(da);

Если вы связали с сервером, Status информация в клиентском отображении сводных данных изменится от 'disconnected' к 'connected'.

Если клиент не мог бы связать с сервером по некоторым причинам (например, если Сервер OPC будет закрыт), то сообщение об ошибке будет сгенерировано. Для получения информации о поиске и устранении неисправностей связей с Сервером OPC смотрите Поиск и устранение проблем.

Когда вы соединили клиент с сервером, можно выполнить следующие задачи:

  • Получите диагностическую информацию о Сервере OPC, таком как состояние сервера, время последнего обновления и поддерживаемые интерфейсы. Вы используете opcserverinfo функция, чтобы получить эту информацию.

  • Просмотрите пространство имен Сервера OPC информацию о доступных серверных элементах. Смотрите Обзор Пробел Имени сервера DA OPC для деталей.

  • Создайте группу, и элемент возражает, чтобы взаимодействовать с данными о Сервере OPC. Смотрите Создают Объекты Доступа к данным OPC Toolbox для получения информации.

Просмотрите пробел имени сервера DA OPC

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

В этом разделе описывается вы используете связанный объект клиента, чтобы просмотреть пространство имен и найти информацию о каждом серверном элементе. Эти действия описаны в следующих разделах:

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

Вы используете getnamespace функция, чтобы получить пространство имен из Сервера OPC. Необходимо задать объект клиента, который соединяется с сервером, которым вы интересуетесь. Пространство имен возвращено в вас как массив структур, содержащий информацию о каждом узле в пространстве имен.

Пример ниже получает пространство имен Сервера Симуляции Matrikon OPC, установленного на локальном хосте.

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

ns = 
3x1 struct array with fields:
    Name
    FullyQualifiedID
    NodeType
    Nodes

Поля структуры описаны в следующей таблице.

Поле

Описание

Name

Имя узла, как вектор символов.

FullyQualifiedID

Полностью определенный ID элемента узла, как вектор символов. Полностью определенный ID элемента составлен из пути к узлу, конкатенированному с '.' 'characters'. Вы используете полностью определенный ID элемента при создании объекта элемента, сопоставленного с этим узлом.

NodeType

Тип узла. NodeType может быть 'branch' (содержит другие узлы), или 'leaf' (не содержит никакие другие ветви).

Nodes

Дочерние узлы. Nodes массив структур с теми же полями как ns, представление узлов содержится в этой ветви пространства имен.

Из примера выше, исследуя пространство имен показывает.

ns(1)

ans = 
                Name: 'Simulation Items'
    FullyQualifiedID: 'Simulation Items'
            NodeType: 'branch'
               Nodes: [8x1 struct]

ns(3)

ans = 
                Name: 'Clients'
    FullyQualifiedID: 'Clients'
            NodeType: 'leaf'
               Nodes: []

От информации выше, первый узел является узлом ветви под названием 'Simulation Items'. Поскольку это - узел ветви, это наиболее вероятно не допустимый серверный элемент. Третий узел является вершиной (содержащий никакие другие узлы) с полностью определенным ID 'Clients'. Поскольку этот узел является вершиной, это наиболее вероятно серверный элемент, который может быть проверен путем создания объекта элемента.

Чтобы исследовать узлы далее вниз дерево, необходимо сослаться на Nodes поле узла ветви. Например, первый узел содержится в 'Simulation Items' узел получен можно следующим образом.

ns(1).Nodes(1)

ans = 
                Name: 'Bucket Brigade'
    FullyQualifiedID: 'Bucket Brigade.'
            NodeType: 'branch'
               Nodes: [14x1 struct]

Возвращенный результат показывает что первый узел 'Simulation Items' узел ветви под названием 'Bucket Brigade', и содержит 14 узлов.

ns(1).Nodes(1).Nodes(9)

ans = 
                Name: 'Real8'
    FullyQualifiedID: 'Bucket Brigade.Real8'
            NodeType: 'leaf'
               Nodes: []

Девятый узел в 'Bucket Brigade' назван 'Real8' и имеет полностью определенный ID 'Bucket Brigade.Real8'. Вы используете полностью определенный ID, чтобы относиться к тому определенному узлу на пробеле имени сервера при создании элементов с программным обеспечением OPC Toolbox™.

Можно использовать flatnamespace функция, чтобы сгладить иерархическое пространство имен.

Получение информации об определенном серверном элементе

В дополнение к публикации пространства имен всем клиентам Сервер OPC предоставляет информацию о свойствах каждого из серверных элементов в пространстве имен. Эти свойства предоставляют информацию о формате данных, используемом сервером, чтобы сохранить значение серверного элемента, описание серверного элемента и дополнительные свойства, сконфигурированные, когда серверный элемент был создан. Дополнительные свойства могут включать информацию об области значений серверного элемента, максимального уровня, на котором сервер может обновить то значение серверного элемента, и т.д. See OPC DA Server Item Properties.

Вы получаете доступ к свойству с помощью заданного набора свойства IDs. Свойство ID является просто номером, который задает определенное свойство серверного элемента. Идентификаторы свойства разделены на три категории:

  • OPC Specific Properties (1-99), который должен обеспечить каждый Сервер OPC. OPC Specific Properties включает Значение серверного элемента, Качество и Метку времени. Для получения дополнительной информации о понимании OPC Data смотрите OPC Data: Значение, Качество и TimeStamp.

  • OPC Recommended Properties (100-4999), что Серверы OPC могут обеспечить. Эти свойства включают максимальные и минимальные значения, описание серверного элемента и другие обычно используемые свойства..

  • Vendor Specific Properties (5000 и выше), который Сервер OPC может задать и использовать. Эти свойства могут отличаться для каждого Сервера OPC и предоставить пробел производителям Сервера OPC, чтобы задать их собственные свойства.

Вы запрашиваете свойства серверного элемента с помощью serveritemprops функция, задавая объект клиента, полностью определенный ID элемента серверного элемента, вы интересуетесь, и дополнительный вектор свойства IDs, которое вы хотите получить. Если вы не задаете свойство IDs, все свойства, заданные для того серверного элемента, возвращены.

Примечание

Вы получаете полностью определенный ID элемента из сервера с помощью getnamespace функционируйте или serveritems функция, которая просто возвращает все полностью определенные идентификаторы элемента в массиве ячеек из символьных векторов.

Следующий пример запрашивает свойство Item Description (ID 101) серверного элемента 'Bucket Brigade.ArrayOfReal8' из примера в Получают Пробел Имени сервера DA.

p = serveritemprops(da, 'Bucket Brigade.ArrayOfReal8', 101)

p = 
             PropID: 101
    PropDescription: 'Item Description'
          PropValue: 'Bucket brigade item.'

Для списка идентификаторов свойства OPC Foundation смотрите OPC DA Server Item Properties.