PDA

Просмотр полной версии : Потеря Eternet - безопасный режим



vchigrin
10.11.2025, 09:59
Как сделать так, что-бы при потере связи (Eternet) сетевые переменные переходили (сбрасывались) в "значение по умолчанию" в ПР103?
Установка Прбор-Настройка прибора-Модбус Славе-Таймаут перехода в безопасное состояние ничего не даёт пробовал разные значения, отличные от нуля - не помогает (значение не меняется). Это очень плохо...

CleanS
10.11.2025, 10:07
Как сделать так, что-бы при потере связи (Eternet) сетевые переменные переходили (сбрасывались) в "значение по умолчанию" в ПР103?
Установка Прбор-Настройка прибора-Модбус Славе-Таймаут перехода в безопасное состояние ничего не даёт пробовал разные значения, отличные от нуля - не помогает (значение не меняется). Это очень плохо...

Я на ПР200 использую переменную "Статус". ПР200 - мастер.

"Статус" — указание булевской переменной, в которую записывается статус прибора: 1 — устройство функционирует нормально, 0 — связь с устройством потеряна.

EFrol
10.11.2025, 10:12
Выходам надо еще задать то самое "безопасное состояние":
86660

vchigrin
10.11.2025, 10:32
Всё, вроде, сделал - Не помогает...
Вопрос - как тут проект "прикрутить" что-бы показать что я делал?

А выходам - по молчанию задано 0. Но это не поможет, т.к. обрыв связи- не значит что программа не работает, она работает, а т.к. сетевая племенная имеет значение, то она и копируется на выход. Менять надо именно сетевую переменную.

Королев Кирилл
10.11.2025, 10:46
Как сделать так, что-бы при потере связи (Eternet) сетевые переменные переходили (сбрасывались) в "значение по умолчанию" в ПР103?
Установка Прбор-Настройка прибора-Модбус Славе-Таймаут перехода в безопасное состояние ничего не даёт пробовал разные значения, отличные от нуля - не помогает (значение не меняется). Это очень плохо...

Безопасное состояние в настройках прибора работает только в том случае, если логика в приборе остановлена (переключатель работа-стоп в положении стоп) и от мастера нет запросов в течение таймаута.
Для реализации безопасного состояния в режиме работа нужно использовать концепцию Heartbeat. Для этого в мастере требуется организовать постоянно изменяющуюся переменную и передавать ее в ПР. На стороне ПР реализовать проверку на изменяемость этой переменной. Если переменная не изменялась в течение установленного времени - переводить значения в безопасное состояние. Пример во вложении.

vchigrin
10.11.2025, 11:13
Королев Кирилл Спасибо за пояснение. Впрочем я уже собирался пойти по этому пути, однако вы предоставили пример реализации. И за это спасибо!
Считаю тема закрыта. Т.к. понятно, что внутри ПР103 это не реализовано (быстрой готовой переменной нет), ну а как сделать это самому - понято.