SFCでの処理順序
アクティブステップ
アクティブなステップには現在実行中のアクションが含まれます。オンラインモードでは、CODESYSアクティブなステップを青色で表示します。
初期ステップ
SFC で POU を呼び出した後の最初のサイクルでは、初期ステップが自動的にアクティブ化され、ステップ アクションが実行されます。
CODESYS IECアクションを少なくとも2回実行します。1回目はステップがアクティブ化されたとき、2回目はステップが非アクティブ化されたとき(ただし、次のサイクルまでは非アクティブ化されません)です。
代替ブランチ
分岐の前のステップがアクティブの場合、CODESYS各代替分岐線の最初の切り替えを左から右へ通過する。次のステップは最初の分岐線でアクティブになる。CODESYS切り替えを見つけ、
TRUE
。並列分岐
分岐の前のステップ(水平の二重線)がアクティブで、分岐の前の切り替えが
TRUE
、 それからCODESYSすべての分岐線の最初のステップをアクティブにします。その後、分岐線は同時に処理されます。分岐の終端(水平の二重線の後)のステップがアクティブになり、二重線の後にある切り替えが戻ります。TRUE
。
IECアクションのリセット
CODESYSアクションの内部アクション制御フラグをリセットします予選(
N
、R
、S
、L
、D
、P
、SD
、DS
、 そしてSL
これらのフラグはIECアクションを制御します。ただし、アクション内で呼び出されてもフラグはリセットされません。終了アクションを実行する
CODESYSすべてのステップが、各ステップの終了アクションを実行するための条件を満たしているかどうかを検証します。検証の順序は、SFCチャートのレイアウトに従い、上から下、左から右へと進みます。
CODESYSステップが非アクティブになったときに終了アクションを実行します(前のサイクルでエントリアクションとステップアクションが実行され、後続のステップの条件が満たされた後)。
TRUE
)。エントリアクションを実行する
CODESYSすべてのステップが各ステップのエントリー アクションを実行するための条件を満たしているかどうかを検証します。検証の順序は、SFCチャートのレイアウトに従い、上から下、左から右へと進みます。条件が満たされている場合は、CODESYSエントリアクションを実行します。
CODESYS前のステップの切り替えが処理されるとすぐにエントリー アクションを実行し、
TRUE
これにより、ステップがアクティブ化されたことが示されます。時間チェック / ステップアクションの実行
IECアクションを実行する
CODESYS IECアクションをアルファベット順に実行します。これはアクションリストを2回通過して行われます。最初のパスでは、CODESYS前のサイクルで非アクティブ化された各ステップのIECアクションを実行します。2回目のパスでは、アクティブなすべてのステップのIECアクションが実行されます。
切り替えチェック / 次のステップの有効化
遷移が評価されます。現在のサイクルでステップがアクティブで、後続の切り替えが次の結果をもたらす場合、
TRUE
ステップの定義された最小時間が経過すると、後続のステップがアクティブになります。
重要
アクションを実行するときは、次の点に注意してください。
アクションは複数の SFC チャート内で使用されるため、同じサイクル内で複数回実行されることがあります。
例: シーケンシャル機能チャートには2つのIECアクションが含まれていますA
そしてB
どちらもSFCでプログラムされており、どちらもIECアクションを呼び出す。C
。 この場合、C
2回呼び出されます。
SFCチャートの異なるレベルで同じIECアクションを同時に使用すると、処理時に予期しない結果が生じる可能性があります。そのため、CODESYS対応するエラーメッセージが表示されます。このエラーメッセージは、例えば、開発システムの以前のバージョンで作成されたプロジェクトを操作している場合などに表示されることがあります。
ヒント
注: 暗黙的な変数を使用して、ステップやアクションの処理状態を監視したり、処理を制御したりすることができます。