PDA

Просмотр полной версии : Инициализация ПЛК



Gnom666
06.03.2009, 06:53
Дорый день. Начал програмировать ПЛК и столкнулся с такой проблемой, создаю переменную в энергонезависимой памяти, работаю с ней, и по сигналу с одного входа она обнуляется. При отключении и включении контроллера происходит инициализация входов и выходов, и эта переменная обнуляется. Как можно отключить инициализацию портов после отключения питания, или сделать программно задержку(что бы не проходил сигнал на функцию обнуления) после включения питания?(желательно фрагмент кода)

Филоненко Владислав
06.03.2009, 09:22
Ничего не понял. Программку выложите или объясните подробнее.

Gnom666
06.03.2009, 09:50
Я написал функцию, она считает импульсы по первому входу и сохраняет в энергонезависимой памяти(в моем случае это переменная Outva1(она доступна по Mod-BUS, что мне требуется для отображения на ИП320). По второму входу она сбрасывается в 0. Дак вот, при отключении и включении питания загораются все индикаторы на ПЛК(скорей всего для тестирования входов и выходов) а программа уже получается что запущена, и моя переменная становится равной 0. Если убрать часть программы для обнуления переменной, то она увеличивается на еденицу(т.е. как я записал в функции). Но это же не логично, в микроконтроллерах SIEMENS подобной проблемы небыло. Но получается что и на выходах при включении ПЛК срабатывают реле, и нельзя включать управляемое оборудование пока не включен контроллер, а если просто пропадет питание, это уже становится просто опасно. Или я не прав?

Филоненко Владислав
06.03.2009, 13:03
Заведите переменную Init:=FALSE, и первый цикл PLC - отрабатывайте особое состояние - старт). И присваивайте её TRUE.
А то, что лампочки загораются, совсем не значит что 1 на входах. Это только проверка индикации.

Gnom666
11.03.2009, 05:27
Вроде немного разобрался.
Действительно, при инициализации лампочки входов и выходов загораются для проверки индикации. Проблема была в том что я использовал функциональные блоки, когда всю программу написал в главной программе, все заработало как положено. Спасибо за консультацию.