Приветствую. Извиняюсь если тема была, но я ответа не нашел.
Сразу к делу. Имеется проект для ПЛК-100 R.L. Программа написана на SFC. Каждый шаг-переход написан на CFC. На Каждом шаге выполняется действие, а именно подача пара в блок-форму. Условием перехода на следующий шаг является узел где сравнивается давление или температура с уставкой (Рис. CDE_or_1).
Переменная "per3" в начале цикла присваивается нулю. Т.е. при входе на этот шаг "per3" = 0 и программа не сдвинется с этого шага пока "per3" не станет равный единице.
Программа работает. Шаг и условия перехода выполянются. Оборудование работает 8 часов все ок. Оператор выключает пульт, уходит домой. На следующее утро оператор приходит, включает пульт, нажимает старт и программа благополучно пролетает этот шаг не смотря на то, что ни температура ни давление не достигли уставки.
В программе 22 шага где условием перехода служит достижение уставки либо давления либо температуры. И все эти 22 шага проносятся за 3 секунды затворы только хлопать успевают. На каждом шаге своя переменная для перехода "per3", "per4" ..."per22". Все переменные на шаге "init" присваиваются нулю. После первого такого цикла все последующие циклы работают так как надо. Но стоит выключить питание на ночь, а утром включить то первый цикл опять скоростной.
В итоге сделал такую доработку (Рис. CDE_or_2). Тупо ввел задержку на 200 мс. И все нормально заработало по утрам.
Скажите в чем проблема? Сложилось впечатление, что блок OR держит выходное значение? Причем он его держит именно после выключения питания? Кто еще такое встречал подскажите? Спасибо.