Page 1 of 1

Как осуществить контроль сети MPI между S7-300 и WinCC

Posted: Thu Aug 09, 2012 7:46 pm
by Sergey177
Столкнулся тут с задачей. На действующем проекте нужно контролировать связь между контроллером S7-300 и рабочей станцией на WinCC. Связь осуществлена по MPI и изменена на другой тип не может. Задача - при потере связи или ошибках обмена - контроллером должна быть получена информация, для дальнейшей обработки и соответствующих действий. Господа - помогите плиз!

Re: Как осуществить контроль сети MPI между S7-300 и WinCC

Posted: Fri Aug 10, 2012 5:07 am
by CHANt
Простейший вариант.
В GlobalScripts скрипт делаешь который к значению переменной добавляет единичку каждую секунду. Переменную отсылаешь в контроллер.
В контроллере, берем стандартную функцию FC90 "WSR"
Image
Заводим в ДБ массив из 5 переменных (или сколько надо) и переменную принимаемую из WinCC.
На вход EN устанавливаем тактовый меркер 1 сек.
Как работать с FC90 показано на скриншоте и дано в справке Step7
Затем берем компаратор и сравниваем, ну например, 2 и 5 значение из массива. Если не равны - связь есть.

Re: Как осуществить контроль сети MPI между S7-300 и WinCC

Posted: Sun Sep 09, 2012 7:06 am
by serg_58
Ну, вообще то можно еще проще.
Берешь в PLC тактовую переменную, например 2 hz, посылаешь его в WinCC, проверяешь наличие изменений, присваиваешь это значение другому тегу и возвращаешь тот же сигнал на другую переменную. Далее мониторишь наличие изменений в PLC. Если их нет в течении заданного времени - Alarm. Так можно проверять связь с любой HMI и любым протоколом. Я это делал с Wonderware. :D

Re: Как осуществить контроль сети MPI между S7-300 и WinCC

Posted: Mon Sep 10, 2012 3:30 pm
by Sergey177
Спасибо за советы! В общем на основе ваших рекомендаций придумал свой вариант: написал скрипт в С - оценивает состояние бита, полученного из PLC - если он 1 - устанавливает его в 0, если 0 - устанавливает единицу. Тригер 1с. В общем получился тактовый меркер, формируемый в WinCC. В PLC частота изменения бита контролируется таймером.