Control Logix PLCは、サイクリックスイープで実行する必要はありません。現在、RSLogix 5000が目の前にありませんが、プロジェクトを定義するときに、周期的なスイープで実行される1つのプログラムを作成する必要があります。ただし、そうでない他のプログラムを作成することもできます。また、トリガー(通常の入力スキャンには役立ちません)または固定タイマー(入力スキャンに非常に役立ちます)からそれらを実行することもできます。入力スキャンタイマーを計装の更新よりも速く設定しても意味がないことに注意してください。最新のPLCは、メーターがデータを更新するよりもはるかに速くスキャンを実行できることがよくあります。
私がこれに使用した良いテクニックの1つは、1秒などと呼ばれるプログラムを作成することです。このプログラムは、すべての入力をスキャンし、すべての信号処理を実行してから、バッファリングされたメモリ位置に書き込みます。プログラムの残りの部分は、これらのバッファリングされたメモリ位置を調べ、入力を直接監視することはありません。入力バッファリングプログラムは、PLCが障害を起こす前に処理できるものまで、プロセスに必要な速度で実行するように設定できます。
また、信号処理関数自体をアドオン命令として記述し、必要なパラメーターを使用してそれらを呼び出すこともお勧めします。
したがって、次のような呼び出しインターフェイスを備えたAOIを使用できます。
input-1_buffered := input_smooth (low_pass, input-1);
これにより、input-1を値として使用し、input-1_bufferedを最終的な場所として使用して、input_smooth関数が呼び出されます。low_passは、適切なロジックにジャンプするためにinput_smooth関数内で使用されます。
次に、実際の平滑化ロジックを構造化テキストで記述できます。これは、その1つのAOIにのみ存在するため、誰も理解する必要はありません。