После получения сведений о серверах OPC, описанных в разделе Обнаружение доступных серверов доступа к данным, можно установить подключение к серверу путем создания объекта OPC Client и подключения этого клиента к серверу. Эти шаги описаны в следующих разделах.
Примечание
Чтобы запустить пример кода в следующих примерах, вы должны иметь Matrikon™ OPC Simulation Server, доступный на вашем локальном компьютере. Для получения информации об установке см. раздел Установка OPC DA или HDA Simulation Server для OPC Classic Examples. Код требует только незначительных изменений, работающих с другими серверами.
Как создать opcda объект, вызовите opcda функция, указывающая имя хоста и идентификатор сервера. Вы получили эту информацию с помощью opcserverinfo функция (описанная в разделе Обнаружение доступных серверов доступа к данным).
Этот пример создает opcda объект для представления соединения с сервером симуляции OPC Matrikon. The opcserverinfo функция включает в себя opcda по умолчанию синтаксис в ObjectConstructor поле.
da = opcda('localhost', 'Matrikon.OPC.Simulation.1');Просмотр сводных данных характеристик opcda созданный вами объект, введите в командной строке имя переменной, присвоенное объекту. Для примера это сводные данные для объекта da.
da

Элементы этого списка соответствуют нумерованным элементам в сводных данных объектов:
Область заголовка Summary включает имя opcda объект клиента. Имя по умолчанию для объекта клиента состоит из 'host/serverID'. Вы можете изменить имя объекта клиента, используя set функция, описанная в Configure Opc Toolbox Data Access Свойства.
The Server Parameters предоставить информацию о сервере OPC, с которым связан клиент. Имя хоста, идентификатор сервера и состояние подключения указаны в этом разделе. Вы соединяетесь с Сервером OPC, используя connect функция, описанная в разделе Подключение клиента к серверу DA.
The Object Parameters раздел содержит информацию о группе доступа к OPC Data (dagroup) объекты, настроенные на этом клиенте. Вы используете групповые объекты, чтобы содержать наборы номенклатуры. Создание групповых объектов описано в разделе Создание групповых объектов доступа к данным.
Вы подключаете клиент к серверу, используя connect функция.
connect(da);
После подключения к серверу Status информация в клиенте, сводные данные отображения изменится с 'disconnected' на 'connected'.
Если клиент по какой-либо причине не смог подключиться к серверу (по примеру, если сервер OPC завершил работу), будет создано сообщение об ошибке. Для получения информации об устранении неполадок в соединениях с Сервером OPC см. раздел «Поиск и устранение проблем».
После подключения клиента к серверу можно выполнить следующие задачи:
Получите диагностические сведения о сервере OPC, такие как состояние сервера, время последнего обновления и поддерживаемые интерфейсы. Вы используете opcserverinfo функция для получения этой информации.
Просмотрите имя Сервера OPC пространства для получения информации о доступных серверных элементах. Дополнительные сведения см. в разделе Обзор пространства имен серверов OPC DA.
Создайте объекты группы и позиции для взаимодействия с Сервером OPC данными. Для получения дополнительной информации см. раздел «Создание объектов доступа к данным OPC Toolbox».
Связанный объект клиента позволяет вам взаимодействовать с сервером OPC для получения информации о пространстве имен этого сервера. Пространство имен сервера обеспечивает доступ ко всем точкам данных, предоставляемым OPC-сервером, путем присвоения каждой из точек данных имени серверных элементов и последующего размещения этих серверных элементов в пространстве имен, которое обеспечивает уникальный идентификатор для каждого серверного элемента.
В этом разделе описывается, как вы используете подключенный клиентский объект для просмотра пространства имен и поиска информации о каждом серверном элементе. Эти мероприятия описаны в следующих разделах:
Получение пространства имен сервера DA описывает, как получить пространство имен сервера или частичное пространство имен сервера, используя getnamespace и serveritems функций.
Получение сведений о конкретном Серверном элементе описывает, как запросить у сервера свойства определенного серверного элемента.
Вы используете getnamespace функция для извлечения пространства имен из Сервера OPC. Необходимо указать объект клиента, подключенный к интересующему вас серверу. Пространство имен возвращается вам как массив структур, содержащий информацию о каждом узле в пространстве имен.
В приведенном ниже примере определяется пространство имен сервера симуляции OPC Matrikon, установленного на локальном узле.
da = opcda('localhost','Matrikon.OPC.Simulation.1');
connect(da);
ns = getnamespace(da)
ns =
3x1 struct array with fields:
Name
FullyQualifiedID
NodeType
NodesПоля структуры описаны в следующей таблице.
Область | Описание |
|---|---|
| Имя узла, как вектор символов. |
| Полный идентификатор элемента узла в виде вектора символов. Полный идентификатор элемента состоит из пути к узлу, сцепленного с |
| Тип узла. |
| Дочерние узлы. |
Из примера выше, исследование пространства имен показывает.
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'. Поскольку это узел ветви, он, скорее всего, не является допустимым серверным элементом. Третий узел является листовым узлом (не содержащим других узлов) с полным идентификатором 'Clients'. Поскольку этот узел является конечным узлом, это, скорее всего, серверный элемент, которое можно контролировать, создавая объект item.
Чтобы изучить узлы далее по дереву, необходимо обратиться к 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' и имеет полный идентификатор 'Bucket Brigade.Real8'. Полный идентификатор используется для ссылки на конкретный узел в пространстве имен сервера при создании элементов с программным обеспечением OPC Toolbox™.
Вы можете использовать flatnamespace функция для выравнивания иерархического пространства имен.
В сложение публикации пространства имен всем клиентам Сервера OPC предоставляет информацию о свойствах каждого из серверных элементов в пространстве имен. Эти свойства содержат сведения о формате данных, используемом сервером для хранения значения серверного элемента, описании серверного элемента и дополнительных свойствах, настроенных при создании серверного элемента. Дополнительные свойства могут включать информацию о диапазоне серверного элемента, максимальной скорости, с которой сервер может обновить этот серверный элемент значение, и т.д. См. «Свойства элемента OPC DA Server».
Вы получаете доступ к свойству с помощью определенного набора идентификаторов свойств. Идентификатор свойства является просто числом, которое задает определенное свойство серверного элемента. Идентификаторы свойств разделены на три категории:
Специфические свойства OPC (1-99), которые должен предоставить каждый сервер OPC. Специфические свойства OPC включают серверный элемент значение, качество и временную метку. Для получения дополнительной информации о понимании OPC Data, смотрите OPC Data: Значение, Качество и TimeStamp.
Рекомендуемые OPC свойства (100-4999), которые могут предоставить серверы OPC. Эти свойства включают максимальное и минимальное значения, описание серверного элемента и другие обычно используемые свойства.
Специфические для поставщика свойства (5000 и выше), которые Сервер OPC может определять и использовать. Эти свойства могут быть различными для каждого сервера OPC и предоставить пространство производителям серверов OPC определять свои собственные свойства.
Вы запрашиваете свойства серверного элемента, используя serveritemprops функция, задающая объект клиента, полный идентификатор элемента интересующей вас серверного элемента и необязательный вектор идентификаторов свойств, которые вы хотите получить. Если вы не задаете идентификаторы свойств, возвращаются все свойства, определенные для этих серверных элементов.
Примечание
Полный идентификатор элемента будет получен от сервера с помощью getnamespace функцию или serveritems функция, которая просто возвращает все полные идентификаторы элементов в массиве ячеек из векторов символов.
В следующем примере запрашивается свойство Item Description (ID 101) серверного элемента 'Bucket Brigade.ArrayOfReal8' из примера в разделе Get the DA Server Name Space.
p = serveritemprops(da, 'Bucket Brigade.ArrayOfReal8', 101)
p =
PropID: 101
PropDescription: 'Item Description'
PropValue: 'Bucket brigade item.'Список идентификаторов свойств OPC Foundation см. в разделе Свойства элемента OPC DA Server.