マルチタスクとは
同時に複数のプログラム(タスク)の実行、処理をする事。タスクとは実行したプログラムが終了すまでの間に複数のプログラムを呼出したりしますが、その終了までの一連のプロセスをタスクと言います。
タスクのイメージ図
タスクの優先順位
マルチタスクと言っても、実際にはタスクに優先順位を付けて優先順に実行しています。ですが、この処理のスピードが速いためWINCAPSやティーチングペンダントでプログラムの実行を確認しても順番に処理しているとはわかりません。同時に処理しているように感じます。
並列起動の命令
私は、マルチタスクを活用する為に、「Run プログラム名」を使用しています。Runはプログラムの並列起動をするための命令文です。下記のイメージ図では3つのプログラムが起動しており、各プログラムはENDで終了します。
Runの並列起動
なぜ並列起動するのか
私が並列起動の「RUN」を使用する理由について
条件
- 制御権が必要のないプログラム
目的
- ロボットがどうすればよいか?の情報収集
- ロボットがどうゆう状態なのか?の情報共有(PLCへ)
メリット
- プログラムを同時進行にしてメインのプログラムを簡略化する
- 起動するプログラムの種類(動作モードの切り替え)がある場合の共通命令文を簡略化
- 簡略化する事でデバックが簡単になる
- メインのプログラムに必要な情報と条件の状態が確認し易くなる
私にはこのような目的とメリットがあるのですが、実際にはこの並列起動を使用しなくともプログラムを構築する事はできます。必要な情報をどの手法で処理していくか?それだけの事です。実際に、今まで私が見てきた他者のプログラム中で並列起動を使っものは見たことがありません。逆に、私が使わない命令文を使っている事多々あります。どうするかは作成者の考え次第です。
関連記事:【制御/プログラム/PLC】
以上です。