Как осуществить контроль сети MPI между S7-300 и WinCC
-
- Posts: 43
- Joined: Thu Aug 18, 2011 2:39 pm
Как осуществить контроль сети MPI между S7-300 и WinCC
Столкнулся тут с задачей. На действующем проекте нужно контролировать связь между контроллером S7-300 и рабочей станцией на WinCC. Связь осуществлена по MPI и изменена на другой тип не может. Задача - при потере связи или ошибках обмена - контроллером должна быть получена информация, для дальнейшей обработки и соответствующих действий. Господа - помогите плиз!
-
- Posts: 501
- Joined: Tue Jun 27, 2006 5:52 am
- Location: Russia
Re: Как осуществить контроль сети MPI между S7-300 и WinCC
Простейший вариант.
В GlobalScripts скрипт делаешь который к значению переменной добавляет единичку каждую секунду. Переменную отсылаешь в контроллер.
В контроллере, берем стандартную функцию FC90 "WSR"
Заводим в ДБ массив из 5 переменных (или сколько надо) и переменную принимаемую из WinCC.
На вход EN устанавливаем тактовый меркер 1 сек.
Как работать с FC90 показано на скриншоте и дано в справке Step7
Затем берем компаратор и сравниваем, ну например, 2 и 5 значение из массива. Если не равны - связь есть.
В GlobalScripts скрипт делаешь который к значению переменной добавляет единичку каждую секунду. Переменную отсылаешь в контроллер.
В контроллере, берем стандартную функцию FC90 "WSR"
Заводим в ДБ массив из 5 переменных (или сколько надо) и переменную принимаемую из WinCC.
На вход EN устанавливаем тактовый меркер 1 сек.
Как работать с FC90 показано на скриншоте и дано в справке Step7
Затем берем компаратор и сравниваем, ну например, 2 и 5 значение из массива. Если не равны - связь есть.
-
- Posts: 99
- Joined: Thu Jun 03, 2010 7:43 pm
- Location: Russia
Re: Как осуществить контроль сети MPI между S7-300 и WinCC
Ну, вообще то можно еще проще.
Берешь в PLC тактовую переменную, например 2 hz, посылаешь его в WinCC, проверяешь наличие изменений, присваиваешь это значение другому тегу и возвращаешь тот же сигнал на другую переменную. Далее мониторишь наличие изменений в PLC. Если их нет в течении заданного времени - Alarm. Так можно проверять связь с любой HMI и любым протоколом. Я это делал с Wonderware.
Берешь в PLC тактовую переменную, например 2 hz, посылаешь его в WinCC, проверяешь наличие изменений, присваиваешь это значение другому тегу и возвращаешь тот же сигнал на другую переменную. Далее мониторишь наличие изменений в PLC. Если их нет в течении заданного времени - Alarm. Так можно проверять связь с любой HMI и любым протоколом. Я это делал с Wonderware.
-
- Posts: 43
- Joined: Thu Aug 18, 2011 2:39 pm
Re: Как осуществить контроль сети MPI между S7-300 и WinCC
Спасибо за советы! В общем на основе ваших рекомендаций придумал свой вариант: написал скрипт в С - оценивает состояние бита, полученного из PLC - если он 1 - устанавливает его в 0, если 0 - устанавливает единицу. Тригер 1с. В общем получился тактовый меркер, формируемый в WinCC. В PLC частота изменения бита контролируется таймером.