PDA

Просмотр полной версии : Как подавать сигнал SFCInit SFC?



Yury Evgenev
19.08.2017, 20:04
Тренируюсь в SFC. Не понял работу сигнала SFCInit, при подаче которого активным становиться шаг INIT, а действие продолжается от того шага, с которого прыгнули.
Нужно подавать только фронт сигнала? Как тогда вообще остановить выполнение SFC программы?

petera
20.08.2017, 11:26
Тренируюсь в SFC. Не понял работу сигнала SFCInit, при подаче которого активным становиться шаг INIT, а действие продолжается от того шага, с которого прыгнули.
Нужно подавать только фронт сигнала? Как тогда вообще остановить выполнение SFC программы?

действие продолжается от того шага, с которого прыгнули потому, что от флага SFCInit шаг Init становится активным, но НЕ ВЫПОЛНЯЕТСЯ, пока переменная SFCInit имеет значение ИСТИНА.
по этому действия в самом шаге Init не выполняются, а действие продолжается от того шага, с которого прыгнули, который фактически продолжает выполнятся.
Если Вы используете флаг SFCReset, то поведение программы станет таким, какой Вы предполагали для флага SFCInit.

Yury Evgenev
20.08.2017, 11:57
Понятно. То есть SFCInit я должен посылать по фронту, если хочу сбросить выполнение программы. А если мне нужно остановить программу, задействовать reset. Как бы их совместить...