当ページのリンクには広告が含まれます

【制御/プログラム/PLC】

第7回目 マルチタスクとRun(並列起動)/WINCAPS

2019年11月11日

マルチタスクとは

同時に複数のプログラム(タスク)の実行、処理をする事。タスクとは実行したプログラムが終了すまでの間に複数のプログラムを呼出したりしますが、その終了までの一連のプロセスをタスクと言います。

タスクのイメージ図

マルチタスクとは

タスクの優先順位

マルチタスクと言っても、実際にはタスクに優先順位を付けて優先順に実行しています。ですが、この処理のスピードが速いためWINCAPSやティーチングペンダントでプログラムの実行を確認しても順番に処理しているとはわかりません。同時に処理しているように感じます。

 

並列起動の命令

私は、マルチタスクを活用する為に、「Run プログラム名」を使用しています。Runはプログラムの並列起動をするための命令文です。下記のイメージ図では3つのプログラムが起動しており、各プログラムはENDで終了します。

Runの並列起動

並列起動の命令

 

なぜ並列起動するのか

私が並列起動の「RUN」を使用する理由について

条件

  • 制御権が必要のないプログラム

目的

  • ロボットがどうすればよいか?の情報収集
  • ロボットがどうゆう状態なのか?の情報共有(PLCへ)

メリット

  • プログラムを同時進行にしてメインのプログラムを簡略化する
  • 起動するプログラムの種類(動作モードの切り替え)がある場合の共通命令文を簡略化
  • 簡略化する事でデバックが簡単になる
  • メインのプログラムに必要な情報と条件の状態が確認し易くなる

私にはこのような目的とメリットがあるのですが、実際にはこの並列起動を使用しなくともプログラムを構築する事はできます。必要な情報をどの手法で処理していくか?それだけの事です。実際に、今まで私が見てきた他者のプログラム中で並列起動を使っものは見たことがありません。逆に、私が使わない命令文を使っている事多々あります。どうするかは作成者の考え次第です。

 

関連記事:【制御/プログラム/PLC】

以上です。

-【制御/プログラム/PLC】
-