PDA

Просмотреть полную версию : Проблемма с работай счётчика (проблемы нет)


Ask_81
29.06.2016, 09:00
Доброе утро.
При программировании контроллера Pixal 2502, проявился следующий баг. При задании значения счёта (вход DI) через панель контроллера счётчик CTU сразу устанавливает (выход QU) в единицу, не дожидаясь окончания счёта. Скриншот прилагаю.
А у меня все параметры нужно задавать с панели ПЛК.

младшой
29.06.2016, 09:29
Вероятно потому что на инициализацию памяти требуется некоторое время. А значения, которые устанавливаются на входах блоков действуют сразу.
Таким образом, в первый цикл работы программы у вас на входах блока CTU: "Reset" = 0, "+" = 1, "DI" = 0. Счетчик начинает считать до 0, видит, что 0 достигнут и дает об этом сигнал на выходе.

Вам надо запускать счет (или делать сброс) после инициализации памяти. На блоках памяти есть выход "Память готова" или "syn".

На втором скриншоте все ОК, т.к. на вход DI CTU значение приходит в первый цикл работы программы.

Ask_81
29.06.2016, 09:38
Вероятно потому что на инициализацию памяти требуется некоторое время. А значения, которые устанавливаются на входах блоков действуют сразу.
Таким образом, в первый цикл работы программы у вас на входах блока CTU: "Reset" = 0, "+" = 1, "DI" = 0. Счетчик начинает считать до 0, видит, что 0 достигнут и дает об этом сигнал на выходе.

Вам надо запускать счет (или делать сброс) после инициализации памяти. На блоках памяти есть выход "Память готова" или "syn".

На втором скриншоте все ОК, т.к. на вход DI CTU значение приходит в первый цикл работы программы.

А как узнать какая пауза требуется на инициализацию памяти, или подбирать эмпирически?

младшой
29.06.2016, 09:52
Используйте выход "Память готова" или "syn". Это определенно должно занять времени меньше, чем 30 циклов.

Ask_81
29.06.2016, 10:34
Используйте выход "Память готова" или "syn". Это определенно должно занять времени меньше, чем 30 циклов.

Всё понял. Спасибо!

Ask_81
30.06.2016, 08:30
Используйте выход "Память готова" или "syn". Это определенно должно занять времени меньше, чем 30 циклов.

Только сигнал Память готова, не заработало. Я завёл сигналы (~Редактирование ИЛИ Память готова) и этими сигналами сбрасываю счётчики. Всё заработало.