2014-10-23 2 views
1

Я использую Matricon OPC Simulation. Я создал две группы, например. 'g1' и 'g2' и назначена одна переменная, например. 'Bucket Brigade.Int1' для обеих групп.Как работают группы на OPC-сервере?

Как работает группа?

Я вижу, что, когда я значения обновления переменных'Bucket Brigade.Int1' в группе 'g1' того значении переменной 'Bucket Brigade.Int1' в группе 'g2' изменений, а также.

Возможно ли создать как-то изолированные группы? Или переменные остаются каждый раз одинаковыми независимо от того, какая группа используется?

enter image description here enter image description here

ответ

6

Каждая «переменная» в вашем посте (также называемый «тэг», фактический подходящий термин OPC будет «OPC элемент») представляет собой значение базового устройства или системы. Таким образом, одна и та же переменная, если она используется в нескольких местах, как правило, должна иметь одинаковую ценность - вот в чем ее цель.

Группы OPC - это то, как OPC-клиент сообщает OPC-серверу, какие объекты OPC заинтересованы. Они существуют главным образом по соображениям производительности: все элементы OPC в той же группе OPC имеют некоторые общие характеристики, такие как скорость обновления, независимо от того, они активно обновляются и т. д. Таким образом, после создания группы и добавления элементов к ней клиент не должен обращаться к каждому элементу индивидуально и повторять данные, если он хочет «сделать что-то» для всей группы (например, изменить скорость обновления или отказаться от подписки все предметы).

Клиенты OPC имеют полную свободу в том, как они создают группы OPC и какие элементы они вставляют в них. Не только вы можете иметь один и тот же элемент в нескольких группах; на самом деле вы можете даже иметь один и тот же элемент несколько раз в одной группе (хотя я сомневаюсь, что это полезно для чего-либо). Поэтому ответ на ваши вопросы отрицательный, по крайней мере, на сервере OPC: вы не можете «изолировать» группы; если вы помещаете элемент в одну группу, сервер должен (чтобы быть совместимым), вы можете поместить его в другие группы (помните, что могут быть и другие клиентов, которые создают свои группы тоже - и они также не должны влиять).

Если вы пишете OPC-клиент, то, конечно, вы можете наложить любые ограничения, которые вам нравятся, на то, что он позволяет пользователю делать или нет.

+0

Понятное объяснение, спасибо Zbynek! – dee

+0

и еще один вопрос: возможно ли «программно» создавать переменные (элементы OPC) на OPC-сервере? Я использую OPCDA.NET (Advosol). – dee

+1

Это невозможно стандартизованным способом через интерфейсы спецификации доступа к данным OPC. У определенных серверов может быть несколько способов его достижения, но даже тогда это будет относительно редко. Я могу вспомнить, что (я думаю) серверы Kepware со своей моделью драйверов, по крайней мере для устройств на основе регистров, имеют идентификаторы элементов, которые в основном имеют предварительно определенный синтаксис, который содержит тип регистра и номер регистра. Затем можно «создать» переменную просто, читая/записывая/подписываясь на правильно сформированный Item ID, не будучи предварительно сконфигурированным. Но это делается вне/в сторону стандарта OPC. – ZbynekZ

 Смежные вопросы

  • Нет связанных вопросов^_^