Действия

При применении действий подход несколько иной. Сначала определяются действия (виды работ), которые должна выполнять система, а затем уже составляется диаграмма, в которой определяется их порядок и взаимосвязь. Каждое действие сопоставляется одному или нескольким шагам. Причем вполне возможно, что некоторое действие должно запускаться в одном шаге и останавливаться в другом. Также возможно, что начатое действие должно закончить свою работу вообще независимо ни от каких шагов. Например, начав движение, кабина лифта должна как минимум доехать до ближайшего этажа и выпустить пассажиров, даже если дана команда на окончание работы. Действия показываются на SFC-диаграмме в виде прямоугольников, расположенных справа от шага и привязанных к нему графически. Существенно важным здесь является то, что одно и то же действие можно многократно использовать в разных шагах. Так, например шаги Cooling (охлаждение) и Drying (сушка) используют действие air-cooling (воздушный обдув).  Действия не принадлежат конкретному шагу, а являются самостоятельными программными элементами SFC-компонента.

Идентификаторы действий должны быть уникальны в пределах компонента  и не должны совпадать с идентификаторами шагов и переходов.

Классификаторы действий

Тип

Описание

N - несохраняемое действие

Данное действие будет выполняться в каждом рабочем цикле, пока активен шаг.

P - импульс

Действие выполняется один раз при активации и второй раз после деактивации шага.

P0 - импульс (задний фронт)

Действие выполняется один раз при деактивации.

P1 - импульс (передний фронт)

Действие выполняется один раз при активации.

S - сохраняемое

Действие активируется и остается активным до сброса. Действие продолжит выполняться в каждом цикле даже тогда, когда шаг уже не активен.

R - сброс

Действие деактивируется.

L - ограниченное по времени

Действие активируется вместе с шагом и остается активным на заданное время, но не дольше, чем шаг.

SL - сохраняемое и ограниченное по времени

Действие активируется вместе с шагом и остается активным заданное время, вне зависимости от активности шага. Действие можно деактивировать досрочно из другого шага с классификатором R.

D - отложенное

Действие активируется через заданное время после активации шага и остается активным, пока активен шаг. Если шаг окажется активным меньше заданного времени, то действие не будет активировано.

DS - отложенное сохраняемое

Действие активируется через заданное время после активации шага и остается активным до сброса. Если шаг активен меньше заданного времени, то действие не будет активировано. При параллельном выполнении сброса в процессе отсчета времени (в другом шаге с классификатором R) действие не будет активироваться.

SD - сохраняемое отложенное

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

Классификаторы L, D, SD, DS и SL требуют указания константы времени в формате TIME. Например: T#10s.