SFC要素とFC言語の実行ルールはどのように違いますか?


FCとSFC言語の実行ルールを比較すると、以下のようになります。

<<最初のサイクル>>
FC
'Begin' アクションの活性化
FC言語は必ずBeginアクションからはじまりますが、ここにはプログラム処理を記述することはできません。
また、Beginアクションの活性化で1サイクル消費します。
SFC
イニシャルステップを活性化
イニシャルステップの中のパルスアクション(P1アクション)を1回だけ実行します。
同じくイニシャルステップの中に記述されたノンストアードアクション(N)も実行します。
<<2 番目のサイクル>>
FC
以下の条件が成立する箇所まで、全ての要素(アクションとテスト)を実行します。
  • FCサブプログラムがコールされる
  • ループ処理の中で、既にこのサイクルで1回実行されたアクションに再度到達
SFC
(1)イニシャルステップの直後のトランジション条件が不成立の場合
  • イニシャルステップのノンストアードアクションをもう一度実行します。

(2)イニシャルステップの直後のトランジション条件が成立した場合
  • 直後のステップが活性化され、イニシャルステップは非活性になります。
  • イニシャルステップのパルスアクション(P0アクション)を1回だけ実行します。
  • 直後のステップのパルスアクション(P1)を1回だけ実行します。
  • 活性化されたステップのノンストアードアクション(N)を1回実行します。
<<そ の次のサイクル>>
FC
以下の条件が成立する箇所まで、全ての要素(アクションとテスト)を実行します。
  • FCサブプログラムがコールされる
  • ループ処理の中で、既にこのサイクルで1回実行されたアクションに再度到達
SFC
(1)現在活性化しているステップの直後のトランジションの条件が成立しない場合
  • 現在活性化しているステップのノンストアードアクションが再度実行されます

(2)トランジションの条件が成立した場合
  • 現在活性化しているステップが非活性化し、直後のステップが活性化します
  • 非活性化したステッップのパルスアクション(P0)を1回実行します。
  • 活性化したステップのパルスアクション(P1)を1回実行します。
  • 活性化したステップのノンストアードアクションを1回実行します。
<<サ ブプログラムコール方法の違いについて>>
FC
  • 親FCプログラムの処理は、チャイルドFCプログラムの実行が終わるまでは待たされ ます。
  • 1つの親FCプログラムは同時に1つのチャイルドFCプログラムしか実行できません。
SFC
  • 親SFCプログラムとチャイルドSFCプログラムは同時に実行されます。
  • 複数のチャイルドSFCプログラムを同時に実行することができます。
  • 親プログラムからチャイルドSFCプログラムを停止することができます。
<<プログラム要素の名前の対応について>>
FC アクション
FC テスト/コンディション
SFC ステップ (プ ログラムの実行を行う部分)
SFC トランジション (条件の判断を行う部分)
最終更新:
2008-06-25 17:11
改訂:
1.0
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.