Есть система управления на S7-300 с несколькими удалёнными станциями Симатик и ещё несколько станций на Ethernet (через GSDL заведённые). Проект в Step 7 V5.2
И бывает что питание на станциях пропадает или связь. Как бы это проще всего отслеживать, понятно что можно через прерывания обрабатывать и всё такое, но так как станций довольно мало, то хотелось бы совсем простой способ. Типа, соединение пропало с определённой станцией - выставляется бит. Будет вполне достаточно.
Заранее благодарен за любые подсказки.
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
S7-300 диагностика соединений
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 18
- Зарегистрирован: 17 фев 2023, 17:10
- Имя: Дмитрий
-
- здесь недавно
- Сообщения: 94
- Зарегистрирован: 29 окт 2017, 19:52
- Имя: Дмитрий
- Благодарил (а): 5 раз
- Поблагодарили: 18 раз
S7-300 диагностика соединений
Добрый день. У меня в проекте тоже было немного ET, всего 2. Сделал через вызов блока OB86. К нему дописал нехитрый код.
Делал диагностику по profibus.
L #OB86_EV_CLASS
L B#16#39
==I
S "Sistem_fault".Call_OB86
//Сброс неисправностей
L #OB86_EV_CLASS
L B#16#38
==I
R "Sistem_fault".Call_OB86
R "Sistem_fault".Error_ET1
R "Sistem_fault".Error_ET2
R "Sistem_fault".Error_ET3
R "Sistem_fault".Error_ET4
R "Sistem_fault".Error_ET5
//Выявление неисправностей стоек
A "Sistem_fault".Call_OB86
JCN nsf
L LW 8 //OB86_RACKS_FLTD
L 2043 //Адрес в железе + 1
==I
S "Sistem_fault".Error_ET1
L LW 8 //OB86_RACKS_FLTD
L 2041 //Адрес в железе + 1
==I
S "Sistem_fault".Error_ET2
Делал диагностику по profibus.
L #OB86_EV_CLASS
L B#16#39
==I
S "Sistem_fault".Call_OB86
//Сброс неисправностей
L #OB86_EV_CLASS
L B#16#38
==I
R "Sistem_fault".Call_OB86
R "Sistem_fault".Error_ET1
R "Sistem_fault".Error_ET2
R "Sistem_fault".Error_ET3
R "Sistem_fault".Error_ET4
R "Sistem_fault".Error_ET5
//Выявление неисправностей стоек
A "Sistem_fault".Call_OB86
JCN nsf
L LW 8 //OB86_RACKS_FLTD
L 2043 //Адрес в железе + 1
==I
S "Sistem_fault".Error_ET1
L LW 8 //OB86_RACKS_FLTD
L 2041 //Адрес в железе + 1
==I
S "Sistem_fault".Error_ET2
-
- эксперт
- Сообщения: 1035
- Зарегистрирован: 31 мар 2018, 12:05
- Имя: Вячеслав
- Благодарил (а): 100 раз
- Поблагодарили: 141 раз
S7-300 диагностика соединений
Mitya78,
ОВ нужные у вас в проекте скорее всего есть. Пустые. Иначе был бы стоп ПЛК при потере связи. Когда этот ОВ запускается, в его L области весь расклад, включая адрес модуля. Чего ещё проще Вам нужно?
ОВ нужные у вас в проекте скорее всего есть. Пустые. Иначе был бы стоп ПЛК при потере связи. Когда этот ОВ запускается, в его L области весь расклад, включая адрес модуля. Чего ещё проще Вам нужно?
-
- осмотрелся
- Сообщения: 169
- Зарегистрирован: 24 янв 2018, 11:18
- Имя: Антон
- Страна: Россия
- город/регион: Калининград
- Благодарил (а): 26 раз
- Поблагодарили: 27 раз
S7-300 диагностика соединений
Mitya78, ЕМНИП для 300-ой серии есть системные блоки позволяющие опрашивать статусы (онлайн/оффлайн, норма/ошибка) распределенной периферии Profinet/Profibus. Возвращается массив bool, где индекс элемента соответствует адресу (или номеру устройства у Profinet) станции.