Активировать / деактивировать определенные элементы opc в активной подписке opc, не создавая их заново

Я разрабатываю клиент-серверное приложение на основе opc с использованием OPC Net API. Мой сервер - это клиент OPC, который предоставляет данные процесса клиентам через инфраструктуру службы WCF. В зависимости от того, какие теги подключены моими клиентами, я хочу реагировать на моем сервере и подписываться только на эти элементы opc.

Теперь мой вопрос: можно ли активировать или деактивировать элементы opc в активной подписке без постоянного повторного создания подписки?

Другой вопрос: есть ли у кого-нибудь здесь опыт работы с этим API и сколько элементов opc может быть в подписке, чтобы она по-прежнему работала с хорошей производительностью?


opc
person Marco Reichert    schedule 22.04.2013    source источник


Ответы (1)


Да, каждый элемент имеет активное состояние, которое вы можете изменить через API. Найдите метод SetActiveState () в интерфейсе IOPCItemMgt.

Обычно вы можете без проблем использовать сотни или даже тысячи элементов в подписке, но производительность может варьироваться в зависимости от возможностей сервера.

Узким местом часто являются AddItems, что на некоторых серверах занимает много времени. Вы можете попробовать добавить все элементы за один вызов AddItems, или вам может потребоваться один раз разбить вызов на несколько меньших, если сервер обрабатывает слишком много времени.

person Jouni Aro    schedule 22.04.2013