Тема / Topic: Проблема ТМ6 при работе по ОРС с AllenBradley
kip
Forum Member / Участник форума
Участник № / Member № 6280
отправлено / posted
Добрый день,
Вресия ТМ6 - 6.090 (последняя).
Обнаружена проблема остановки коммуникаций по ОРС между МРВ1 и ОРС-сервером AllenBradley (АВ). В процессе работы ОРС-сервер АВ может иногда не отвечать на запросы при выполнении сложных задач. Это описано в его документации и это абсолютно штатный режим.
Согласно трассировке сети, после запуска МРВ успешно посылает ОРС-запросы ровно до того момента, когда ОРС-сервер АВ один раз рвет соединение (на запрос МРВ TCP:ACK приходит пакет TCP:RST).
После этого МРВ не возобновляет попыток опросить ОСР-сервер АВ вплоть до перезапуска МРВ.
Уважаемая разработка. Есть ли какой-либо способ решения проблемы, а именно как заставить ТМ6 периодически проводить опрос ОРС-сервера без останова-запуска проекта?
отправлено / posted
Существует диагностическая переменная @e_OPC, которая позволяет как диагностировать процесс обмена с OPC-серверами (в режиме INPUT), так и принудительно реинициализировать обмен (в режиме OUT) (см.соответствующий раздел справочной системы). Обнаружив отказ OPC-интерфейса, Вы можете программно реинициализовать его.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
kip
Forum Member / Участник форума
Участник № / Member № 6280
отправлено / posted
Отлично, можно привести пошаговую инструкцию по использованию этой переменной в проекте?
Сообщения / Posts 38 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Канал, связанный с переменной @e_OPC типа Input, возвращает код ошибки. Программа должна анализировать этот код с некоторым временным фильтром выдавать исполнительную команду в анал, связанный с переменной @e_OPC типа OUT.
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
kip
Forum Member / Участник форума
Участник № / Member № 6280
отправлено / posted
Спасибо, начинаю понимать, как реализовать перезапуск, но во встроенной справке не очень много информации. К МРВ подключено 4 ОРС сервера. " из них проблемные.
Переменная @e_OPC привязана к каналу с типом FLOAT (тип FLOAT получился автоматически при перетаскивании перменной из И-П в Каналы).
отправлено / posted
Можно открыть СВОЙСТВА канала FLOAT и изменить его тип на HEX16. Каждому OPC-серверу соответствует в папке узла файл конфигурирования *.cnf. В имени файла присутствует индекс OPC-сервера в узле. По этим индексам и следует идентифицировать результат диагностики (номера битов).
Сообщения / Posts 17315 | Из / From: Россия
| IP / IP: IP адрес / IP address |
kip
Forum Member / Участник форума
Участник № / Member № 6280
отправлено / posted
В нашем случае каждому ОРС-серверу соответствует 2 *.cnf файла с разными переменными внутри.
Например PROJ_0_opc0.cnf и PROJ_0_opc1.cnf соответствуют 1-ve серверу RSLinx.
Как я понимаю, мне нужно будет анализировать либо 0-й либо 1-й бит для определения доступности данного сервера по ОРС?
Сообщения / Posts 38 | Из / From: Россия
| IP / IP: IP адрес / IP address |