1. Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
  2. Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
  3. Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
  4. За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
  5. Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
  6. Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
  7. Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.

Разрыв связи с контроллером

ПЛК SIMATIC (S7-200, S7-1200, S7-300, S7-400, S7-1500, ET200)

Модератор: Глоб.модераторы

Ответить

Автор темы
alexpavl1981
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 05 июл 2023, 14:57
Имя: Александр
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 4 раза

Разрыв связи с контроллером

Сообщение alexpavl1981 »

Добрый день!
Прошу помочь с программой. В сети 3 контроллера S7 1200, требуется организовать детектирование пропадания связи. Т.е. чтобы при разрыве связи с любым из контроллеров на оставшихся формировался сигнал. Попробовал использовать ERROR блока PUT, но он при вытаскивании сетевого кабеля из контроллера не выдает никаких ошибок, только статус блока меняется на 25
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Разрыв связи с контроллером

Сообщение M3f »

alexpavl1981, вы видимо не сохраняете значение статуса блока PUT при ошибке, а просто смотрите на значение "online". Статус должен поменяться на 1, это может быть всего на один цикл.
ERROR = 1; STATUS = 1
Communication problems, for example
- Connection description not loaded (local or remote).
- Link down (for example, cable, CPU off, CP in STOP mode).
- Connection to partner not yet established.
А вообще проверку связи можно сделать, как банально, через ввод проверочной переменной (менять значение этой переменной, читать и проверять значение) или, если знания позволяют, подымать соединение, аппаратное или программное (через TCON) и проверять его статус через T_DIAG. Если у вас в программе уже применяется PUT/GET, то используйте их.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
alexpavl1981
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 05 июл 2023, 14:57
Имя: Александр
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 4 раза

Разрыв связи с контроллером

Сообщение alexpavl1981 »

Если статус меняется на 1 только на один цикл, получается, его нельзя использовать для моей задачи? Ведь кратковременное пропадание может случиться даже при физически неповрежденной сети?
Насчет проверочной переменной так и сделал. Появилась идея запускать счетчики на каждом контроллере, отправлять их значения на другие и на них сравнивать с какой-то уставкой, результат отправлять назад. Например счетчик на PLC1 увеличивается с частотой 1 Гц и уставкой 500, отправляется на PLC2, там при достижении значения 200 включается булевый тэг, который отправляет команду на сброс счетчика PLC1. При разрыве связи команда на сброс не приходит, счетчик досчитает до уставки и на выходе сформируется сигнал разрыва связи. Вроде работает.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Разрыв связи с контроллером

Сообщение M3f »

alexpavl1981, почему нельзя использовать, все зависит как вы организуете диагностику этого события. Статус будет меняться на 1, когда ПЛК не смог физически подключиться или произошло что-то другое (смотри пост выше), а вот как часто будет меняться статус, все зависит от того как вы вызываете блок PUT.
Потеря связи может произойти по многим факторам и, как вы заметили, не только при повреждении сети. Если вы хотите контролировать только физическое повреждение сети, то с помощью дополнительной переменной вы этого тоже не сделаете.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
alexpavl1981
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 05 июл 2023, 14:57
Имя: Александр
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 4 раза

Разрыв связи с контроллером

Сообщение alexpavl1981 »

Спасибо за ответы. Я в сименсе только начинаю разбираться, в основном по чужим программам, наверно проще описать реальную ситуацию. Есть 2 группы насосов, которые включаются попеременно по времени наработки, каждая управляется своим контроллером. Очередность включения групп устанавливается на 3м контроллере. В один непрекрасный момент один из контроллеров насосной группы сгорел, управляющий контроллер этого не увидел и просто подал команды пуска на сгоревший контроллер и останова на работающий. Соответственно все встало и теперь мне нужно переписать программу так, чтобы этого не повторилось.
Вопрос в том, как мне правильно вызывать блок PUT, чтобы отследить крупную проблему со связью, но не кратковременный секундный сбой в сети

AppCreator
здесь недавно
здесь недавно
Сообщения: 35
Зарегистрирован: 02 фев 2023, 10:38
Имя: Владимир
Страна: РФ
город/регион: Восьмипалатинск
Благодарил (а): 4 раза
Поблагодарили: 12 раз

Разрыв связи с контроллером

Сообщение AppCreator »

alexpavl1981 писал(а): 12 июл 2023, 14:32 Появилась идея запускать счетчики на каждом контроллере, отправлять их значения на другие и на них сравнивать с какой-то уставкой, результат отправлять назад. Например счетчик на PLC1 увеличивается с частотой 1 Гц и уставкой 500, отправляется на PLC2, там при достижении значения 200 включается булевый тэг, который отправляет команду на сброс счетчика PLC1. При разрыве связи команда на сброс не приходит, счетчик досчитает до уставки и на выходе сформируется сигнал разрыва связи. Вроде работает.
Намного проще передавать текущее время контроллера. Если в приемных блоках других контроллеров это время не меняется - связи нет. При необходимости добавляется таймаут ожидания изменений времени.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Разрыв связи с контроллером

Сообщение M3f »

alexpavl1981, все управление от третьего ПЛК идет через блоки PUT/GET?
Как вариант, при определении ошибки и требуемого статуса блока PUT взводить какой-либо бит через таймер TOF. Через второй таймер, если бит висит какое-то время (например 30-60 сек) формировать ошибку связи (тем самым отсеиваем секундные сбои).
Или использовать вариант через проверочную переменную (это аналогично проверке времени контроллера, как написали выше).
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
alexpavl1981
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 05 июл 2023, 14:57
Имя: Александр
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 4 раза

Разрыв связи с контроллером

Сообщение alexpavl1981 »

Да, все через PUT. Проблема как раз в том, что я соединил 2 контроллера в сеть, обмениваюсь через PUT данными, потом просто в одном из контроллеров вытащил кабель. Насколько я понял инструкцию, в таком случае должен висеть ERROR=1 и статус 1 не один цикл, а пока не вставлю кабель назад, но по факту статус 25 и ошибка 0. Поэтому как я понимаю, TOF не поможет, если уже через цикл ошибка пропадает.
Еще раз спасибо за помощь, буду копать в сторону времени, звучит несложно
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Разрыв связи с контроллером

Сообщение M3f »

alexpavl1981, почитайте внимательней работу таймера TOF, если даже приходит 1 импульс, то выход висит еще заданное время.
Вы не правильно поняли работу PUT. ПЛК вызывается блок PUT, он не может соединится, выдает ошибку. Но в следующем цикле (или через несколько микросекунд, в зависимости как вы его вызываете), ПЛК опять вызывает данный блок и он пытается опять соединиться (поэтому статус меняется) и поэтому вы видите только статус 25 без ошибок.
TOF_001.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
alexpavl1981
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 05 июл 2023, 14:57
Имя: Александр
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 4 раза

Разрыв связи с контроллером

Сообщение alexpavl1981 »

Добрый день!
Испытал схему с PUT и TOF, ERROR на выходе PUT появляется почему-то через 35 сек после отключения сетевого кабеля, меня в принципе устраивает такое время, но хотелось бы знать, почему именно такое время и можно ли его уменьшить
изображение_2023-07-13_115001510.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Разрыв связи с контроллером

Сообщение M3f »

alexpavl1981, на том ПЛК, который устанавливает связь (Active connection establishment), в настройках попробуйте поставить меньшее время "Keep-Alive connection monitoring", смотрите скриншоты ниже.
s7_conn_001.PNG
s7_conn_002.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
alexpavl1981
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 05 июл 2023, 14:57
Имя: Александр
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 4 раза

Разрыв связи с контроллером

Сообщение alexpavl1981 »

Да, именно оно, большое спасибо! Этот способ действительно самый простой, надеюсь еще кому-то пригодится
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Разрыв связи с контроллером

Сообщение M3f »

alexpavl1981, надеюсь вы подправили время и у ваших таймеров (TOF и TON), а не оставили как у вас на последнем скриншоте выше.
Если настраиваете "Keep-Alive connection monitoring", то можно обойтись одним таймером TOF ("Keep-Alive connection monitoring" уже убирает ложные обрывы связи). При этом время у TOF должно быть больше "Keep-Alive connection monitoring".
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070

Автор темы
alexpavl1981
здесь недавно
здесь недавно
Сообщения: 7
Зарегистрирован: 05 июл 2023, 14:57
Имя: Александр
Страна: Россия
город/регион: Санкт-Петербург
Благодарил (а): 4 раза

Разрыв связи с контроллером

Сообщение alexpavl1981 »

А этот "Keep-Alive connection monitoring" на что-то еще влияет? Я могу без проблем поставить например 10 минут?
И вопрос не по теме - есть ли в TIA Portal какой-то инструмент для отслеживания, какая часть программы пишет в конкретный участок памяти? При использовании PUT/GET cross-reference information не помогает(
Аватара пользователя

M3f
не первый раз у нас
не первый раз у нас
Сообщения: 386
Зарегистрирован: 31 янв 2017, 11:08
Имя: Николай
Благодарил (а): 8 раз
Поблагодарили: 122 раза

Разрыв связи с контроллером

Сообщение M3f »

alexpavl1981,
1. "Keep-Alive connection monitoring" влияет почти на все Ethernet соединения. 10 мин. поставить можете, но ПЛК будет реинициализировать соединение только через 10 мин.
Keepalive frames (only with TCP and ISO-on-TCP connections)
Set the interval at which keepalives are sent to the partner of a communications connection.
The Ethernet CP is configured for all connection-oriented services so that keepalive frames are sent. This ensures that connections are terminated if one of the communication partners fails and the connection resources are released again. The setting made here applies to all TCP and ISOonTCP connections operated via the CP. A connection-oriented setting is not possible.
2. Если вы про указатели с абсолютной адресацией (P#DB1.DBX0.0), то только через общий поиск в проекте.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
Ответить

Вернуться в «Simatic TIA Portal»