- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Разрыв связи с контроллером
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 05 июл 2023, 14:57
- Имя: Александр
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Разрыв связи с контроллером
Добрый день!
Прошу помочь с программой. В сети 3 контроллера S7 1200, требуется организовать детектирование пропадания связи. Т.е. чтобы при разрыве связи с любым из контроллеров на оставшихся формировался сигнал. Попробовал использовать ERROR блока PUT, но он при вытаскивании сетевого кабеля из контроллера не выдает никаких ошибок, только статус блока меняется на 25
Прошу помочь с программой. В сети 3 контроллера S7 1200, требуется организовать детектирование пропадания связи. Т.е. чтобы при разрыве связи с любым из контроллеров на оставшихся формировался сигнал. Попробовал использовать ERROR блока PUT, но он при вытаскивании сетевого кабеля из контроллера не выдает никаких ошибок, только статус блока меняется на 25
-
- не первый раз у нас
- Сообщения: 386
- Зарегистрирован: 31 янв 2017, 11:08
- Имя: Николай
- Благодарил (а): 8 раз
- Поблагодарили: 122 раза
Разрыв связи с контроллером
alexpavl1981, вы видимо не сохраняете значение статуса блока PUT при ошибке, а просто смотрите на значение "online". Статус должен поменяться на 1, это может быть всего на один цикл.
А вообще проверку связи можно сделать, как банально, через ввод проверочной переменной (менять значение этой переменной, читать и проверять значение) или, если знания позволяют, подымать соединение, аппаратное или программное (через TCON) и проверять его статус через T_DIAG. Если у вас в программе уже применяется PUT/GET, то используйте их.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.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 05 июл 2023, 14:57
- Имя: Александр
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Разрыв связи с контроллером
Если статус меняется на 1 только на один цикл, получается, его нельзя использовать для моей задачи? Ведь кратковременное пропадание может случиться даже при физически неповрежденной сети?
Насчет проверочной переменной так и сделал. Появилась идея запускать счетчики на каждом контроллере, отправлять их значения на другие и на них сравнивать с какой-то уставкой, результат отправлять назад. Например счетчик на PLC1 увеличивается с частотой 1 Гц и уставкой 500, отправляется на PLC2, там при достижении значения 200 включается булевый тэг, который отправляет команду на сброс счетчика PLC1. При разрыве связи команда на сброс не приходит, счетчик досчитает до уставки и на выходе сформируется сигнал разрыва связи. Вроде работает.
Насчет проверочной переменной так и сделал. Появилась идея запускать счетчики на каждом контроллере, отправлять их значения на другие и на них сравнивать с какой-то уставкой, результат отправлять назад. Например счетчик на PLC1 увеличивается с частотой 1 Гц и уставкой 500, отправляется на PLC2, там при достижении значения 200 включается булевый тэг, который отправляет команду на сброс счетчика PLC1. При разрыве связи команда на сброс не приходит, счетчик досчитает до уставки и на выходе сформируется сигнал разрыва связи. Вроде работает.
-
- не первый раз у нас
- Сообщения: 386
- Зарегистрирован: 31 янв 2017, 11:08
- Имя: Николай
- Благодарил (а): 8 раз
- Поблагодарили: 122 раза
Разрыв связи с контроллером
alexpavl1981, почему нельзя использовать, все зависит как вы организуете диагностику этого события. Статус будет меняться на 1, когда ПЛК не смог физически подключиться или произошло что-то другое (смотри пост выше), а вот как часто будет меняться статус, все зависит от того как вы вызываете блок PUT.
Потеря связи может произойти по многим факторам и, как вы заметили, не только при повреждении сети. Если вы хотите контролировать только физическое повреждение сети, то с помощью дополнительной переменной вы этого тоже не сделаете.
Потеря связи может произойти по многим факторам и, как вы заметили, не только при повреждении сети. Если вы хотите контролировать только физическое повреждение сети, то с помощью дополнительной переменной вы этого тоже не сделаете.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 05 июл 2023, 14:57
- Имя: Александр
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Разрыв связи с контроллером
Спасибо за ответы. Я в сименсе только начинаю разбираться, в основном по чужим программам, наверно проще описать реальную ситуацию. Есть 2 группы насосов, которые включаются попеременно по времени наработки, каждая управляется своим контроллером. Очередность включения групп устанавливается на 3м контроллере. В один непрекрасный момент один из контроллеров насосной группы сгорел, управляющий контроллер этого не увидел и просто подал команды пуска на сгоревший контроллер и останова на работающий. Соответственно все встало и теперь мне нужно переписать программу так, чтобы этого не повторилось.
Вопрос в том, как мне правильно вызывать блок PUT, чтобы отследить крупную проблему со связью, но не кратковременный секундный сбой в сети
Вопрос в том, как мне правильно вызывать блок PUT, чтобы отследить крупную проблему со связью, но не кратковременный секундный сбой в сети
-
- здесь недавно
- Сообщения: 35
- Зарегистрирован: 02 фев 2023, 10:38
- Имя: Владимир
- Страна: РФ
- город/регион: Восьмипалатинск
- Благодарил (а): 4 раза
- Поблагодарили: 12 раз
Разрыв связи с контроллером
Намного проще передавать текущее время контроллера. Если в приемных блоках других контроллеров это время не меняется - связи нет. При необходимости добавляется таймаут ожидания изменений времени.alexpavl1981 писал(а): ↑12 июл 2023, 14:32 Появилась идея запускать счетчики на каждом контроллере, отправлять их значения на другие и на них сравнивать с какой-то уставкой, результат отправлять назад. Например счетчик на PLC1 увеличивается с частотой 1 Гц и уставкой 500, отправляется на PLC2, там при достижении значения 200 включается булевый тэг, который отправляет команду на сброс счетчика PLC1. При разрыве связи команда на сброс не приходит, счетчик досчитает до уставки и на выходе сформируется сигнал разрыва связи. Вроде работает.
-
- не первый раз у нас
- Сообщения: 386
- Зарегистрирован: 31 янв 2017, 11:08
- Имя: Николай
- Благодарил (а): 8 раз
- Поблагодарили: 122 раза
Разрыв связи с контроллером
alexpavl1981, все управление от третьего ПЛК идет через блоки PUT/GET?
Как вариант, при определении ошибки и требуемого статуса блока PUT взводить какой-либо бит через таймер TOF. Через второй таймер, если бит висит какое-то время (например 30-60 сек) формировать ошибку связи (тем самым отсеиваем секундные сбои).
Или использовать вариант через проверочную переменную (это аналогично проверке времени контроллера, как написали выше).
Как вариант, при определении ошибки и требуемого статуса блока PUT взводить какой-либо бит через таймер TOF. Через второй таймер, если бит висит какое-то время (например 30-60 сек) формировать ошибку связи (тем самым отсеиваем секундные сбои).
Или использовать вариант через проверочную переменную (это аналогично проверке времени контроллера, как написали выше).
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 05 июл 2023, 14:57
- Имя: Александр
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Разрыв связи с контроллером
Да, все через PUT. Проблема как раз в том, что я соединил 2 контроллера в сеть, обмениваюсь через PUT данными, потом просто в одном из контроллеров вытащил кабель. Насколько я понял инструкцию, в таком случае должен висеть ERROR=1 и статус 1 не один цикл, а пока не вставлю кабель назад, но по факту статус 25 и ошибка 0. Поэтому как я понимаю, TOF не поможет, если уже через цикл ошибка пропадает.
Еще раз спасибо за помощь, буду копать в сторону времени, звучит несложно
Еще раз спасибо за помощь, буду копать в сторону времени, звучит несложно
-
- не первый раз у нас
- Сообщения: 386
- Зарегистрирован: 31 янв 2017, 11:08
- Имя: Николай
- Благодарил (а): 8 раз
- Поблагодарили: 122 раза
Разрыв связи с контроллером
alexpavl1981, почитайте внимательней работу таймера TOF, если даже приходит 1 импульс, то выход висит еще заданное время.
Вы не правильно поняли работу PUT. ПЛК вызывается блок PUT, он не может соединится, выдает ошибку. Но в следующем цикле (или через несколько микросекунд, в зависимости как вы его вызываете), ПЛК опять вызывает данный блок и он пытается опять соединиться (поэтому статус меняется) и поэтому вы видите только статус 25 без ошибок.
Вы не правильно поняли работу PUT. ПЛК вызывается блок PUT, он не может соединится, выдает ошибку. Но в следующем цикле (или через несколько микросекунд, в зависимости как вы его вызываете), ПЛК опять вызывает данный блок и он пытается опять соединиться (поэтому статус меняется) и поэтому вы видите только статус 25 без ошибок.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 05 июл 2023, 14:57
- Имя: Александр
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Разрыв связи с контроллером
Добрый день!
Испытал схему с PUT и TOF, ERROR на выходе PUT появляется почему-то через 35 сек после отключения сетевого кабеля, меня в принципе устраивает такое время, но хотелось бы знать, почему именно такое время и можно ли его уменьшить
Испытал схему с PUT и TOF, ERROR на выходе PUT появляется почему-то через 35 сек после отключения сетевого кабеля, меня в принципе устраивает такое время, но хотелось бы знать, почему именно такое время и можно ли его уменьшить
У вас нет необходимых прав для просмотра вложений в этом сообщении.
-
- не первый раз у нас
- Сообщения: 386
- Зарегистрирован: 31 янв 2017, 11:08
- Имя: Николай
- Благодарил (а): 8 раз
- Поблагодарили: 122 раза
Разрыв связи с контроллером
alexpavl1981, на том ПЛК, который устанавливает связь (Active connection establishment), в настройках попробуйте поставить меньшее время "Keep-Alive connection monitoring", смотрите скриншоты ниже.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 05 июл 2023, 14:57
- Имя: Александр
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Разрыв связи с контроллером
Да, именно оно, большое спасибо! Этот способ действительно самый простой, надеюсь еще кому-то пригодится
-
- не первый раз у нас
- Сообщения: 386
- Зарегистрирован: 31 янв 2017, 11:08
- Имя: Николай
- Благодарил (а): 8 раз
- Поблагодарили: 122 раза
Разрыв связи с контроллером
alexpavl1981, надеюсь вы подправили время и у ваших таймеров (TOF и TON), а не оставили как у вас на последнем скриншоте выше.
Если настраиваете "Keep-Alive connection monitoring", то можно обойтись одним таймером TOF ("Keep-Alive connection monitoring" уже убирает ложные обрывы связи). При этом время у TOF должно быть больше "Keep-Alive connection monitoring".
Если настраиваете "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
-
- здесь недавно
- Сообщения: 7
- Зарегистрирован: 05 июл 2023, 14:57
- Имя: Александр
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 4 раза
Разрыв связи с контроллером
А этот "Keep-Alive connection monitoring" на что-то еще влияет? Я могу без проблем поставить например 10 минут?
И вопрос не по теме - есть ли в TIA Portal какой-то инструмент для отслеживания, какая часть программы пишет в конкретный участок памяти? При использовании PUT/GET cross-reference information не помогает(
И вопрос не по теме - есть ли в TIA Portal какой-то инструмент для отслеживания, какая часть программы пишет в конкретный участок памяти? При использовании PUT/GET cross-reference information не помогает(
-
- не первый раз у нас
- Сообщения: 386
- Зарегистрирован: 31 янв 2017, 11:08
- Имя: Николай
- Благодарил (а): 8 раз
- Поблагодарили: 122 раза
Разрыв связи с контроллером
alexpavl1981,
1. "Keep-Alive connection monitoring" влияет почти на все Ethernet соединения. 10 мин. поставить можете, но ПЛК будет реинициализировать соединение только через 10 мин.
1. "Keep-Alive connection monitoring" влияет почти на все Ethernet соединения. 10 мин. поставить можете, но ПЛК будет реинициализировать соединение только через 10 мин.
2. Если вы про указатели с абсолютной адресацией (P#DB1.DBX0.0), то только через общий поиск в проекте.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.
EPLAN Electric P8 Professional+ 2.7 HF1 11496 | TIA Portal Professional V17 Upd1 | Creo Parametric 4.0 M070