Добаление функционала в пример depOpcNativeClient

Общие вопросы по оборудованию и программному обеспечению Компании ДЭП
Faster
Сообщения: 653
Зарегистрирован: 11 июл 2007, 09:38

Сообщение Faster » 29 июн 2009, 16:07

Доброе , можно ли туда добавить вычитывание по ID значения пути ОПЦ, когда его задаю делаю ID =20 Name = 0:Analog:100
Теперь обратное , я знаю ид в группе мне надо знать что за сигнал


так же пример работы с архивами такой же, былобы просто супер.

Dino
Сообщения: 163
Зарегистрирован: 21 фев 2005, 13:18
Откуда: Компания ДЭП

Сообщение Dino » 29 июн 2009, 16:45

Опишите подробнее, что Вы подразумеваете под "ID".
С уважением Климов Александр
Компания ДЭП
г. Москва
(495) 995-00-12 доб. 150

Faster
Сообщения: 653
Зарегистрирован: 11 июл 2007, 09:38

Сообщение Faster » 30 июн 2009, 06:47

В описанном вами классе, фактически вызов функции TopcGroup.AddItems (Name,id)

Так далее когда присходит постановка на мониторинг мы задаём OPC путь (0:Analog:1 к примеру) а в другой ID++ котороепостоянно прибьавляется , таким образом колгда возникает в форме событие OnChange нам передаётся тока параметр с ID ...


мен теперь надо знать
как удалить из группы по ID
как узнать какой сигнал скрыт за этим ID в группе


Я уж не знаю куда понятнее написать

Dino
Сообщения: 163
Зарегистрирован: 21 фев 2005, 13:18
Откуда: Компания ДЭП

Сообщение Dino » 30 июн 2009, 13:21

Faster писал(а):как удалить из группы по ID

Используйте функцию IOPCItemMgt::RemoveItems (описание можно найти в OPC Data Access Custom Interface Specification Version 3.0), только братите внимание на то что удаление элементов из группы происходит не по ID, который задал клиент, а по ID, который возратил OPC сервер при вызове IOPCItemMgt::AddItem, в возвращаемом параметре OPCITEMRESULT ** ppAddResults.

Faster писал(а):как узнать какой сигнал скрыт за этим ID в группе

OPC сервер данную информацию не возвращает, клиент должен сам помнить какой сигнал какому ID соответствует. Для этого проще всего использовать словарь или хэш для быстрого поиска, если сигналов много.
С уважением Климов Александр

Компания ДЭП

г. Москва

(495) 995-00-12 доб. 150

Faster
Сообщения: 653
Зарегистрирован: 11 июл 2007, 09:38

Сообщение Faster » 02 июл 2009, 03:50

вообще пример бы ...



а насчёт возврата, неужели нет метода получить обратно инфу сигнал:ID ? это же бред ?


и ещё вопрос если в моём приложении возникает Crash и оно падает не закрывая классы , так сказать экстренно , OPC см высвобождает память из под групп и прочего ?

Faster
Сообщения: 653
Зарегистрирован: 11 июл 2007, 09:38

Сообщение Faster » 02 июл 2009, 04:03

А ещё бы хотелось пример работы с архивами таким же способом, чтобы уйти от компонентов!

Faster
Сообщения: 653
Зарегистрирован: 11 июл 2007, 09:38

Сообщение Faster » 07 июл 2009, 00:53

прошла неделя, а ответа нет и нет

Dino
Сообщения: 163
Зарегистрирован: 21 фев 2005, 13:18
Откуда: Компания ДЭП

Сообщение Dino » 17 сен 2009, 19:18

Faster писал(а):вообще пример бы ...
а насчёт возврата, неужели нет метода получить обратно инфу сигнал:ID ? это же бред ?

нет
Faster писал(а):и ещё вопрос если в моём приложении возникает Crash и оно падает не закрывая классы , так сказать экстренно , OPC см высвобождает память из под групп и прочего ?

да, должен освобождать
С уважением Климов Александр

Компания ДЭП

г. Москва

(495) 995-00-12 доб. 150

Faster
Сообщения: 653
Зарегистрирован: 11 июл 2007, 09:38

Сообщение Faster » 18 сен 2009, 04:21

Используйте функцию IOPCItemMgt::RemoveItems (описание можно найти в OPC Data Access Custom Interface Specification Version 3.0), только братите внимание на то что удаление элементов из группы происходит не по ID, который задал клиент, а по ID, который возратил OPC сервер при вызове IOPCItemMgt::AddItem, в возвращаемом параметре OPCITEMRESULT ** ppAddResults.


А я сохраняю абор соответствия с своими ID что я давал в OPC сервер , и когда происходит изменение , он какраз выдаёт мои ID
сейчас попробую подругому ...


ещё вопрос , если я создам вторую группу сигналов, то ID должны быть уникальны в пределах группы или уникальность в приделах всего OPC

Dino
Сообщения: 163
Зарегистрирован: 21 фев 2005, 13:18
Откуда: Компания ДЭП

Сообщение Dino » 18 сен 2009, 13:37

Faster писал(а):ещё вопрос , если я создам вторую группу сигналов, то ID должны быть уникальны в пределах группы или уникальность в приделах всего OPC

должны быть уникальны в пределах группы
С уважением Климов Александр

Компания ДЭП

г. Москва

(495) 995-00-12 доб. 150