JobAutoで共通部品を呼び出す方法|引数・戻り値の設定

★アクションの説明、概要

JobAutoで作成した共通部品を ロボットから呼び出して使用する方法について説明します。

「共通部品の呼び出し」アクションでは、 あらかじめ作成した共通部品を選択し、 ロボットから共通部品を実行できます。

ロボットから共通部品へ値を渡す「引数」と、 共通部品で処理した結果を ロボットへ返す「戻り値」を設定できます。

複数のロボットで共通して使用する処理を 共通部品として作成しておくことで、 同じ処理をそれぞれのロボットへ作成せずに 呼び出して使用できます。

ご注意ください

共通部品の中から 別の共通部品を呼び出すことはできません。

共通部品の中でほかの共通部品を使用すると、 フリーズなど処理の異常が発生する可能性があります。 必要な処理がある場合は、 対象となる共通部品のアクションをコピーして 移植してください。


★アクションの作成方法


★アクションの設定画面について

アクション設定画面の設定項目についての説明は以下の通りです。

作成したカスタムアクションを右クリックしカスタムアクションを開くをクリックすると、呼び出しているカスタムアクションのアクションフローが表示されます。

1.基本設定

1-1. 呼び出す共通部品を選択

使用する共通部品をプルダウンで選択します。

1-2.引数

共通部品へロボットから渡す値の設定を行います。

・ロボットが渡す値

ロボットが共通部品へ渡す値を設定します。変数参照可能です。

・共通部品の格納先

共通部品はロボットから値をもらいます。 もらった値は共通部品内の変数に格納します。その変数を設定します。

・フリーハンドモード ※0.10.11から

ロボット ⇒ 共通部品をクリックするとフリーハンドモードに切り替わります。ロボットから共通部品へ渡す変数の設定が10だったのが無制限になります。書き方は以下の通りです。

左辺にロボットから渡す値や変数、右辺に共通部品が受け取って格納する変数を設定します。

1=$[no]
ロボットから1を共通部品のnoという変数へ渡しています。

1-3.戻り値

共通部品からロボット へ渡す値の設定を行います。

・ロボットがもらう値

共通部品がロボットへ渡す値が格納されている共通部品内の値を設定します。

・ロボットの格納先

ロボットは共通部品から値をもらいます。 もらった値はロボット内の変数に格納します。その変数を設定します。

・フリーハンドモード ※0.10.11から

共通部品 ⇒ ロボットをクリックするとフリーハンドモードに切り替わります。共通部品からロボットへ渡す変数の設定が10だったのが無制限になります。書き方は以下の通りです。

左辺に共通部品からロボットへ渡す変数、右辺にロボットが受け取って格納する変数を設定します。

$[res]=$[結果]
共通部品からresという変数の値をロボットの結果という変数へ渡しています。


2.高度な設定

2-1.アクション有効

このアクションを無効にする場合は、チェックを外します。


3.エラー発生時の対応

3-1. エラー時の処理

エラーが発生したときの設定を行います。詳細はこちらをご確認ください。

3-2.基点となる条件分岐

エラー時の処理で条件分岐の次のフローに移動を選択したときに、設定することができます。アクションでエラーが発生した場合、移動先の条件分岐を選択します。

3-3. エラー時にログ出力

エラーが発生したときにログに出力するか設定します。スケジュール実行したときのログへ出力されます。エラーとして扱わない場合は、チェックを外します。詳細はこちらをご確認ください。


JobAutoで共通部品を呼び出す場合

複数のロボットで共通して使用する処理を 再利用したい場合は、 処理を共通部品として作成し、 「共通部品の呼び出し」から実行します。

共通部品を利用することで、 同じ処理を複数のロボットへ 個別に作成する必要がなくなります。

共通部品を呼び出す基本的な流れ

  1. 使用する処理を共通部品として作成します。
  2. ロボットへ 「共通部品の呼び出し」アクションを作成します。
  3. 「呼び出す共通部品を選択」で 使用する共通部品を指定します。
  4. ロボットから共通部品へ値を渡す場合は、 「引数」を設定します。
  5. 共通部品の処理結果をロボットへ返す場合は、 「戻り値」を設定します。

ロボットから共通部品へ値を渡す場合

ロボットから共通部品へ値を渡す場合は、 「引数」を設定します。

「ロボットが渡す値」には、 固定値やJobAutoの変数を設定できます。

「共通部品の格納先」では、 ロボットから渡された値を格納する 共通部品側の変数を指定します。

共通部品からロボットへ値を返す場合

共通部品で処理した結果を 呼び出し元のロボットへ返したい場合は、 「戻り値」を設定します。

共通部品側でロボットへ渡す値と、 その値を格納するロボット側の変数を指定します。

共通部品で計算・取得した結果を ロボットの後続処理で使用する場合に利用できます。

引数と戻り値の違い

設定値の方向用途
引数ロボット → 共通部品共通部品で処理するために必要な値を ロボットから渡します。
戻り値共通部品 → ロボット共通部品で処理した結果を 呼び出し元のロボットへ返します。

フリーハンドモードで引数を設定する場合

0.10.11から、 引数と戻り値をフリーハンドモードで 設定できます。

引数で 「ロボット ⇒ 共通部品」をクリックすると、 フリーハンドモードへ切り替わります。

左辺にロボットから渡す値や変数、 右辺に共通部品で受け取る変数を設定します。

たとえば次のように設定します。

1=$[no]

この例では、 ロボットから「1」を渡し、 共通部品の変数「no」へ格納します。

フリーハンドモードで戻り値を設定する場合

戻り値で 「共通部品 ⇒ ロボット」をクリックすると、 フリーハンドモードへ切り替わります。

左辺に共通部品から返す変数、 右辺にロボット側で受け取る変数を設定します。

たとえば次のように設定します。

$[res]=$[結果]

この例では、 共通部品の変数「res」の値を、 ロボット側の変数「結果」へ格納します。

多数の引数・戻り値を設定する場合

フリーハンドモードでは、 従来の設定方式にあった10個までの制限がなく、 多数の引数や戻り値を設定できます。

共通部品へ渡す値や、 共通部品から受け取る値が多い場合は、 フリーハンドモードを利用できます。

共通部品の中から別の共通部品を呼び出さない

共通部品の中で、 別の共通部品を呼び出すことはできません。

共通部品の中からほかの共通部品を使用すると、 フリーズなど処理の異常が発生する可能性があります。

別の共通部品にある処理が必要な場合は、 必要なアクションをコピーして 対象の共通部品へ移植してください。

呼び出している共通部品の処理を確認する場合

呼び出している共通部品のアクションフローを確認したい場合は、 「共通部品の呼び出し」アクションを右クリックし、 「共通部品を開く」をクリックします。

呼び出している共通部品の アクションフローを確認できます。

共通部品から正常・エラーを返す場合

共通部品の途中で 呼び出し元のロボットへ正常またはエラーを返したい場合は、 「親ロボットに戻る」アクションを使用します。

エラーを返した場合は、 呼び出し元のロボットで 共通部品の実行エラーとして扱われ、 設定されているエラー処理が実行されます。

共通部品の呼び出しが想定どおり動かない場合の確認順序

  1. 「呼び出す共通部品を選択」で 目的の共通部品が設定されているか確認します。
  2. 引数を使用している場合は、 ロボットから渡す値が正しく設定されているか確認します。
  3. 共通部品側の格納先変数が 正しく設定されているか確認します。
  4. 戻り値を使用している場合は、 共通部品から返す値と ロボット側の格納先変数を確認します。
  5. フリーハンドモードを使用している場合は、 左辺と右辺の変数指定に誤りがないか確認します。
  6. 共通部品の中から 別の共通部品を呼び出していないか確認します。
  7. 「高度な設定」の「アクション有効」に チェックが入っているか確認します。
  8. エラーが発生している場合は、 「エラー発生時の対応」と実行ログを確認します。

関連する共通部品・その他操作

1件のコメント

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください。