добрый день всем.
возможно ли в языке Sfc выполнить программу один раз и выйти из Pou на последнем шаге (или переходе к Init)?
заранее большое спасибо!!
добрый день всем.
возможно ли в языке Sfc выполнить программу один раз и выйти из Pou на последнем шаге (или переходе к Init)?
заранее большое спасибо!!
можно в конце поставить пустое действие с выходом False, эффект будет тот же.
уточню вопрос.как выйти из Pou после одного циклавыполнения, если Pou написан на Sfc?
Цикл выполнения SFC это не правильно. Можно говорить о цикле выполнения состояния SFC. Даже если у Вас все переходы = true сеть из n последовательных состояний будет выполняться n циклов ПЛК. Т.е. по умолчанию (цикл плк=1 мс) n мс.
Прекратить выполнение программы sfc можно установив переменную программы на SFC (важно - не глобальную - а именно локальную) SFCReset в true.
Спасибо всем!! Зделал с использованием флага Step. Работает как надо
Немного запоздало, но ничего.
Вообще все зависит от среды разработки! Если Вы разрабатываете в ISAGraf то завершение проги производится командой GKILL("имя проги").
Если используется, скажем ABB Freelance, то можно указать в свойствах программы переменную, для включения/выключения активного режима работы.
Или на крайняк, если надо, чтобы программа отрабатывала один раз, то в конце всей цепочки поставить невыполнимое условие. Например во Freelance поставить .RESULT:=false; Но этот способ не очень хорош, так как прога остается в оперативной памяти контроллера, НО не работает, а следовательно не занимает ресурсов процессора.