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


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

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

このカテゴリー内のレコード

タグ