ISaGRAFの1アプリケーション中のSFCステップは、それぞれ別のスレッドで実行されるわけではありません。例えば、2つのステップが1サイクル中で同時に活性化した場合、ステップ中の該当するアクションブロックはそのターゲットサイクル中に順番に実行されていきます。
したがって、ファンクションやサブプログラム類の呼び出しも、厳密には同時にコールされることはないので、問題はありません。
ただし、ISaGRAFのファンクションやサブプログラム自体のコードは再入可能ではありません。ファンクション内の全てのローカル変数はスタティックなデータで、メモリ上の決められた位置に保存され、ターゲット実行中は値が保持されます。
したがって、ファンクション内でファンクションをコールするような場合は問題が起きる場合もあります。
したがって、ファンクションやサブプログラム類の呼び出しも、厳密には同時にコールされることはないので、問題はありません。
ただし、ISaGRAFのファンクションやサブプログラム自体のコードは再入可能ではありません。ファンクション内の全てのローカル変数はスタティックなデータで、メモリ上の決められた位置に保存され、ターゲット実行中は値が保持されます。
したがって、ファンクション内でファンクションをコールするような場合は問題が起きる場合もあります。