PDA

Просмотр полной версии : Выполнение шага во время работы таймера. Вопрос



burn
06.02.2009, 16:07
Программа на SFC, есть шаг с таймером CFC. На выходе таймера переменная flag1.
Если flag1 ставится условием перехода на след шаг, то все работает.
Если же, flag1 поставить через два шага (т.е. между таймером и условием перехода ставятся другие шаги) - ничего не работает.
Подскажите, как можно реализовать?

Сергей71
09.02.2009, 12:36
запускай таймер в нужном шаге.
пример:
Шаг 1
Timer(параметры);
условие 1
Шаг 2
....
условие 2

Шаг 3
..
Timer(параметры);
условие Timer.q

kucherik
17.02.2009, 15:05
Программа на SFC, есть шаг с таймером CFC. На выходе таймера переменная flag1.
Если flag1 ставится условием перехода на след шаг, то все работает.
Если же, flag1 поставить через два шага (т.е. между таймером и условием перехода ставятся другие шаги) - ничего не работает.
Подскажите, как можно реализовать?

Не работает по очень простой причине. Пока выполняется шаг его функции доступны для условия и т.д. разных действий если же вы переходите на следующий шаг то это эквивалентно вызову другой функции, а следовательно см мануал для сохранения флага его надо сделать через переменную, а для передачи в другие области через глобальную переменную.
по аналогичной причине вы из функции напрямую портами ввода вывода
управлять не можете
кстати для работы таймера его надо вызывать как функцию
(она вернет текущее значения)