30.14.3.1 ロジック機能の動作

概要

ロジック機能は次のように動作します。

 

ロジックプログラム実行エンジンの初期状態です。ロジックプログラム実行エンジンを初期化したあと、ロジックの状態は「ローディング」に移ります。

メモリからロジックプログラムを読み込みます。ロジックプログラムが正常にロードされたかをチェックし、正常にロードされていない場合はエラー処理を行います。正常にロードされると「停止」に移ります。
電源投入時の動作が「運転」 に設定されている場合は、運転コマンドが自動実行されます。「ランニング」に移るときにI/O が初期化されます。

ロジックの停止状態です。コマンド([ロジックリセット]、[運転]、[1 スキャン実行]、[続行]、[一時停止])を受けると、それぞれの状態に移ります。
[ロジックリセット]コマンドで「ローディング」に移ります。このときシンボル変数の初期化が行われます。保持型変数で電源断時や表示器のロジックリセット時は直前のデータが保持されますが、オンラインモニタ(ロジックで実行しているプログラムをGP-Pro EX上で実行するモード)や#L_Commandでロジックのリセットを行ったときは、GP-Pro EXのロジック機能で設定した値を初期値とします。
[運転]コマンドおよび[1スキャン実行]コマンドで非保持型変数は0でクリアされます。[運転]コマンドで「ランニング」に移ります。[1スキャン実行]コマンドで1回だけロジックプログラムを実行します。

I/O読み込み、初期化ロジックプログラムの実行、I/O書き込みを行います。

ロジックプログラム実行エンジンの継続実行状態です。I/O読み込み、ロジックプログラムの実行、I/O書き込み、システム変数(#L_AvgLogicTime、#L_AvgScanTimeなど)の更新を行います。
[ロジックリセット]コマンドで「ローディング」に移ります。
[停止]コマンドで「停止」に移ります。
[一時停止]コマンドで「一時停止」に移ります。

ロジックプログラム実行エンジンの一時停止状態です。I/Oのウォッチドッグタイムアウトを避けるため、I/O読み込みとI/O書き込みを実行します。しかし、ロジックプログラムを実行しないため、出力の状態は変化しません。コマンドを受けるとそれぞれの状態に移ります。
[ロジックリセット]コマンドで「ローディング」に移ります。
[1スキャン実行]コマンドで1回だけロジックプログラムを実行します。
[停止]コマンドで「停止」に移ります。[続行]コマンドで「ランニング」に移ります。

運転時の流れ

運転時の流れは次のようになります。

スキャンタイムの調整は、64スキャンごとに行われます。コンスタントスキャンモード、パーセントスキャンモード、それぞれのスキャンタイムの調整は、次のようになります。

スキャンタイム=(#L_AvgLogicTime x 100)/50 (ロジック使用可能機種 GP-33**シリーズ : 30以外の機種 : 50)

スキャンタイム=(#L_AvgLogicTime x 100)/#L_PercentScan