Страница 1 из 1

Ошибка обмена

СообщениеДобавлено: Пн дек 01, 2014 5:38 pm
curbat
Здравствуйте. Имеем сеть mbplus, она последнее время стала сбоить. Хочу средствами InTouch поймать момент и место сбоя. В регистре PLC бежит секундный счетчик, я мониторю его в InTouch. Какой скрипт применить, чтобы поймать момент когда секунды перестанут меняться и вывести аларм?

Re: Ошибка обмена

СообщениеДобавлено: Пн дек 01, 2014 6:07 pm
xonyx
что-то типа:
Код: Выделить всё
secreal - внешний тег неа секунды в контроллере.
al1 - внутр тег (аварийный)
dim sec as integer;
dim error as integer;
if secreal == sec then
  error = error + 1;
else
  error = 0;
  al1 = 0;
endif;
if error == 10 then
  al1 = 1;
endif;
sec = secreal;

Дальше - больше
делаешь запуск по datachange (я использовал условие $sec mod 3 == 0, ошибка вываливается через 30 сек после пропадания связи)
Вроде, должно работать.

Re: Ошибка обмена

СообщениеДобавлено: Пн дек 01, 2014 6:59 pm
curbat
Благодарю, буду пробовать.

Re: Ошибка обмена

СообщениеДобавлено: Пн дек 01, 2014 10:56 pm
Генератор зла
curbat писал(а):чтобы поймать момент когда секунды перестанут меняться и вывести аларм?

"Костыль" это карашо. Но не лучше ли изучить логи SMC и понять, отчего это происходит? И, как следствие, внести корректировки в настройки сервера в/в.

Re: Ошибка обмена

СообщениеДобавлено: Вт дек 09, 2014 5:38 pm
curbat
Это не костыль, это для сужения поиска проблемного узла. Скорей всего кабель или разъем с PLC, авария появляется очень редко, раз в сутки. Сеть охватывает весь завод,все очень старое. Некоторые скады работают под Win3.11 контроллеры тоже ровесники Буденновской лошади. :D