バックグラウンドタスクの制御
バックグラウンドタスクは、監視処理や通信処理を行うために実行されているタスクであり、通常のタスクの起動前に起動し、通常のタスクがエラーになったり、オペレーターからの指示で通常のタスクの処理を中断しても、動作し続けます。このためバックグラウンドタスクとして動作するファンクションは、常に動作し続けるようなプログラムになることがあります。
プログラムモードでは、バックグラウンドタスクのデバッグも行えるようになっています。[Run]ウィンドウの[停止]ボタンをクリックして、バックグラウンドタスクも中断するかどうか選択できます。
タスクマネージャーでは、[Pause/Cont]ボタン以外で、バックグラウンドタスクも通常のタスクと同様なオペレーションができます。バックグラウンドタスクにブレークポイントを設定してステップ実行することも可能です。
一方、オートモードでは原則的にバックグラウンドタスクの制御を行うことができません。オートモードでは、バックグラウンドタスクがエラーになった場合の回復方法は原則的にありません。したがって十分デバッグを行ってください。特に通信関係の処理はエラーハンドリングなどが確実にできることを確認した上で、オートモードで実行するようにしてください。
以下にコンソールからの操作内容と、バックグラウンドタスクの動きをまとめます。
オペレーターウィンドウ
| ボタン名 | バックグラウンドタスクの動き |
|---|---|
| 開始 | 影響を受けません。 |
| 停止 | 影響を受けません。 |
| 一時停止 | 影響を受けません。 |
| 継続実行 | 影響を受けません。 |
リモート入力
| 入力信号名 | バックグラウンドタスクの動き |
|---|---|
| Start / Stop | 影響を受けません。 |
| Pause / Continue | 影響を受けません。 |
| Reset | 影響を受けません。 |
| Shutdown | 処理を中断します。 |
Runウィンドウ (プログラムモード)
| ボタン名 | バックグラウンドタスクの動き |
|---|---|
| 開始 | タスクの起動方法を選択できます。 |
| 停止 | 通常のタスクのみを停止するか、バックグラウンドタスクを含めて停止するか選択できます。 |
| 一時停止 | 影響を受けません。 |
| 継続実行 | 影響を受けません。 |
タスクマネージャー (プログラムモード)
| ボタン名 | バックグラウンドタスクの動き |
|---|---|
| Halt / Resume | バックグラウンドタスクを選択した場合、Halt/Resumeが実行できます。 |
| Quit | バックグラウンドタスクを選択した場合、Quitが実行できます。 |
| Pause/Cont | 影響を受けません。 |
| Stop | バックグラウンドタスクを含めて全てのタスクが停止します。 |
ブレークポイント (プログラムモード)
| スイッチ名 | バックグラウンドタスクの動き |
|---|---|
| ブレークポイント設定 | バックグラウンドタスクにもブレークポイントは設定可能です。ブレークポイント行で一時停止します。 |
| ステップイン | 可能です。 |
| ステップオーバー | 可能です。 |
| 継続実行 | 可能です。 |
| Walk | 可能です。ただし、バックグラウンドタスクから動作命令は実行することができません。 |