Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119
отправлено / posted
Имею канал подтипа DCS/AI8, разрыв связи с модулем и соответственно аппаратную недостоверность. 1) Устанавливаю атрибут "Подключение" в 1, изменяю значение "Выхода", но значение "Реальное" не меняется.
2) Кроме того, имею программу OPC-клиент, которая в режиме Advise получает из этого канала атрибуты "Реальное" и "Состояние" и в режиме SynchroWrite может изменять атрибуты "Выход" и "Состояние". При наличии в канале аппаратной недостоверности обмен данными в обоих указанных направлениях прекращается.
отправлено / posted
1) А почему Реальное должно меняться по Выходу?
2) Воспроизвести не удалось - при аппаратной недостоверности ОРС ичтение и запись проходит нормально (тестировал с использованием ОРС-клиента KEPware).
Сообщения / Posts 17354 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119
отправлено / posted
1) Потому, что так написано в Вашей документации! (Работа в реальном времени/ Резервирование/ Настройка каналов) Потому, что я уже два года пользуюсь этим для синхронизации данных на дублированных МРВ! Потому, что на каналах без аппаратной недостоверности это работает! Получается теперь, если один МРВ не может обмениваться с устройством, то резервный ему ничем не поможет - данные синхронизированы не будут!
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119
отправлено / posted
А вообще, я считаю, что при отключении канала от источника данных аппаратная недостоверность должна сбрасываться, т.к. исчезают предпосылки к её возникновению, а при подключении к источнику данных драйвер должен пытаться обратиться к устройству и при неудаче снова выставлять недостоверность. Кроме этого, аппаратная недостоверность каналов, входящих в группу (при групповом запросе) должна повторять аппаратную недостоверность канала, ведущего обмен данными.
Сообщения / Posts 341 | Из / From: Russia
| IP / IP: IP адрес / IP address |
отправлено / posted
Так бы сразу и сказали, что у Вас DF МРВ - это только он так умеет, обычный МРВ такого не поддерживает... Ситуация требует проверки - берем таймаут на испытания.
Сообщения / Posts 17354 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119
отправлено / posted
Вы зря так плохо думаете про обычный МРВ - на нем все работает точно также. У меня на одной паре компов DF стоит, а на другой простые МРВ и синхронизируются (правда рассылки долго приходится настраивать)!
Кстати, если в проекте сделать "Узел/Создать резерв" и потом запустить этот Резерв под обычным МРВ, то он на старте тоже находит партнера по резерву и встанет в TRACE!
Сообщения / Posts 341 | Из / From: Russia
| IP / IP: IP адрес / IP address |
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119
отправлено / posted
Ну я, в общем-то, нашел выход. Я просто создам еще по одному каналу на каждую группу, который будет копировать значение со входа канала, ведущего обмен и буду его синхронизировать и использовать во всех расчетах - ведь в нем недостоверности не будет!
Сообщения / Posts 341 | Из / From: Russia
| IP / IP: IP адрес / IP address |
Kramarenko Stanislav
Forum Professor / Завсегдатай форума
Участник № / Member № 119
отправлено / posted
Все работает. Скорее всего у Вас по этому каналу была выставлена Недостоверность, а при этом Реальный атрибут не обрабатывается, поэтому и не копируется Выход в Реальное. Попробуйте не DCS канал, а например - генератор пилы. Либо модуль DCS подключите, чтобы обмен был с ним, или объект в РКБ отлкючите, чтобы с самого начала у этих каналов было выставлено Подключение и недостоверность не успела появиться, если модуля нет.
Сообщения / Posts 17354 | Из / From: Россия
| IP / IP: IP адрес / IP address |