SFCプログラムで、1サイクル内で活性化したステップが同時に複数存在する場合、それぞれが同じファンクションをコールしていた場合問題はないのか。
つまり、ファンクションのコードが再入してしまうが問題はないか?


ISaGRAFの1アプリケーション中のSFCステップは、それぞれ別のスレッドで実行されるわけではありません。例えば、2つのステップが1サイクル中で同時に活性化した場合、ステップ中の該当するアクションブロックはそのターゲットサイクル中に順番に実行されていきます。
したがって、ファンクションやサブプログラム類の呼び出しも、厳密には同時にコールされることはないので、問題はありません。

ただし、ISaGRAFのファンクションやサブプログラム自体のコードは再入可能ではありません。ファンクション内の全てのローカル変数はスタティックなデータで、メモリ上の決められた位置に保存され、ターゲット実行中は値が保持されます。
したがって、ファンクション内でファンクションをコールするような場合は問題が起きる場合もあります。
最終更新:
2008-07-28 13:43
改訂:
1.0
評価点数:0 (0 件の投票)
Chuck Norris has counted to infinity. Twice.

最も人気の FAQ RSS

  1. LD言語で、ある接点がFALSEの場合、それ以降のファンクションブロックを実行しないように出来るか? (44508 回の閲覧)
  2. SFC要素の「ステップ」と「トランジション」の意味と役割を教えてください。 (43360 回の閲覧)
  3. ISaGRAF WorkbenchをWindows 7で使用するにはどうしたらよいでしょうか? (40914 回の閲覧)
  4. ISaGRAFはIEC1131-3のシステム定義に準拠しているか? (38982 回の閲覧)
  5. PLCプログラムをより早く動かすにはどうすればよいですか? (38804 回の閲覧)
  6. LD言語で、立ち上がり・立ち下がりの出力はあるか? (36850 回の閲覧)
  7. VxWorksターゲットにおける変数管理の留意点について (36363 回の閲覧)
  8. 日立製作所製SHマイコン用コンパイラ使用時の注意事項 (35550 回の閲覧)
  9. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (35516 回の閲覧)
  10. FBD/LD言語で同じ行に複数の演算がある場合の実行順序は? (33498 回の閲覧)

最近の FAQ RSS

  1. ファンクションブロックはネストできますか。 (2016-08-05 15:07)
  2. Cファンクション/ファンクションブロックの"Hidden" パラメータとはどのようなものか (2015-01-30 14:24)
  3. 前のISaGRAFで作成したプロジェクトをインポートしたら、コメントが文字化けを起こしています。 (2014-05-07 06:52)
  4. 前のバージョンで作成したプロジェクトは読み込めますか。 (2014-03-07 07:46)
  5. ISaGRAFでコンフィグレーション、リソースそれにPOUはそれぞれいくつ作成できますか。 (2014-03-07 02:06)