Показать сообщение отдельно
Старый 12.01.2018, 11:15   #2
Arsie
Сотрудник Segnetics
 
Аватара для Arsie
 
Регистрация: Jan 2006
Адрес: Russia, SPb
Сообщения: 18 098
Благодарил(а): 15 раз(а)
Поблагодарили: 660 раз(а) в 604 сообщениях
По умолчанию Ответ: Флаг наличия связи, или как присвоить значение переменной из HoldingReg?

Цитата:
Сообщение от Dima P. Посмотреть сообщение
В проекте есть переменная Flag (созданная как "Вход", в переменных ModBus расположена в зоне HoldingReg).
Удаленный Master постоянно записывает в нее 1. Идея в том, чтобы в проекте SMLogix проанализировать ее значение, а затем сбросить в ноль. Если при следующем анализе Flag == 1, значит связь с мастером есть. Если по прошествии времени она осталась в нуле, значит связи нет.

Вопрос: как присвоить этой переменной значение 0?

Контроллер SMH2010.
Эта задача решается переменной HeartBeat - Сердцебиение. Удалённый мастер постоянно записывает в неё инкрементирующееся значение. Если значение меняется (сердце бьётся), значит связь жива. Если сердце остановилось, значит её нет. По равномерности инкремента также можно судить о качестве связи.

Также эта задача решается с помощью анализа активности на порту. Если мастер вообще хоть какие-то запросы шлёт, значит связь есть. Блок Device(link).


__________________
Программа делает то что написал программист, а не то что он хотел.

Добро всегда побеждает зло. Кто победил - тот и добрый.
Arsie вне форума   Ответить с цитированием