PDA

Просмотр полной версии : ПЛК 110 циклы while и REPEAT не работают.



amid27
28.05.2012, 14:04
Добрый день подскажите пожалста новичку. Почему у меня контроллер не хочет выполнить циклы WHILE и REPEAT. Всё пишу правильно, компилируется программируется. А при выполнении цикла ПЛК просто перезагружается. Вот например так - когда на входе 1- *1* на выходе 1 - *1*.
WHILE in1 DO
DO1:=TRUE;
END_WHILE
всякие иф - елсе работают хорошо.

capzap
28.05.2012, 14:08
все просто, если in1 равен true тогда цикл выполняется пока не станет false и так как время цикла ограничено миллисекундами, то плк уходит в рестарт

amid27
28.05.2012, 14:12
Спасибо! А что теперь делать, как убрать ограничение?

capzap
28.05.2012, 14:14
а для какой задачи? почему do1:=in1; не подходит?

amid27
28.05.2012, 14:19
Да я хочу зделать чтоб таймер написанный мною включался и выключался одной кнопкой как бы инверсией. например если нажал кнопку, то если х=1 то х = 0 и наоборот если х был 0, стал 1.

amid27
28.05.2012, 14:20
Да й вообще мне нравитс оператор while :)

swerder
28.05.2012, 16:58
теперь можете забыть про оператор while

Валенок
28.05.2012, 17:01
если in1 равен true тогда цикл выполняется пока не станет false
Да и никогда не станет. Это же не порт - это переменная. Где в цикле она становится false ?

Yegor
30.05.2012, 11:02
Спасибо! А что теперь делать, как убрать ограничение?Надо просто почитать где-нибудь как исполняются программы в ПЛК, и станет ясно, что никакого ограничения на самом деле нет.