【分岐条件】Flow Switchアクティビティの使い方について理解する

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

 

「Flow Switch」アクティビティは「If」や「Flow Decision」アクティビティと同様に、分岐条件により指定したフローのみを実行させることができます。

「If」と「Flow Decision」アクティビティは、2つのフローのうちどちらか一方を実行させるアクティビティでしたが、「Flow Switch」は2つ以上の複数のフローの中から条件に一致したフローのみを実行させることができます。

「Flow Switch」はフローチャート内でのみ使用することが可能で、シーケンス内では使用できません。

「If」および「Flow Decision」アクティビティについては以下を参照ください。

Flow Switchによるフロー制御

Flow Switchアクティビティの図

「Flow Switch」を使用することにより、2つ以上存在する複数のフローの中から、指定条件に一致したフローのみを実行するようにロボットに指示できます。デザイナーパネルに配置した際には、複数のひし形で表示され、見た目でもすぐに「Flow Switch」であることが確認できます。

「Flow Switch」に判定対象となる変数や値を指定することで、その内容を元に条件分岐判定が行われ後続の実行フローが決定されます。
最初に指定した後続作業が「Default」フローとなり、いづれの条件にも一致しなかった場合にこのフローが選択されます。なおデフォルトフローはプロパティで変更することが可能です。また「Case」プロパティの値を変更することにより条件判定の値を変更することも可能です。

判定対象の型はデフォルトで整数(Int)が選択されていますが、プルダウンから変数の型を変更することで文字列型「String」や配列型「Array」なども使用可能です。「Flow Decision」と同様にデザイナーパネル上でフローステップライン(線)を後続のアクティビティに接続することで複数の作業を指定できます。

Flow Switchアクティビティのプロパティ

Flow Decisionアクティビティのプロパティ

設定可能な内容一覧

プロパティで設定可能な内容を一覧にして表示します。

表示名(DisplayName)

デザイナーパネルに表示される「Switch」の名称を変更することができます。実行されるプログラムの動作には影響ありません。日本語も使用可能です。

条件分岐(Expression)

分岐条件を設定するプロパティです。
後述の「TypeArgument」を指定することにより文字列や配列などの型も指定することが可能です。また型が一致していない場合は正常に遷移しませんので、事前にどのような型の値で判定するかを決めておきましょう。

分岐条件の型(TypeArgument)

分岐条件で使用する型を指定します。文字列で判定を行いたい場合はStringを、数値で判定を行いたい場合は「Int32」を選択します。変数と同様の型を使用することができます。デフォルトはInt32が設定されています。

デフォルトフローの表示名(DefaultCaseDisplayName)

全ての条件に一致しない場合はデフォルトフローが選択されます。このフロー遷移線の表示名称を設定することができます。デフォルトでは「Default」と設定されています。

デフォルトフロー(IsDefaultCase)

このプロパティのチェックボックスにチェックを入れることで、複数のフローの中からデフォルトフローを指定することができます。
1つの「Flow Switch」内で1つのフローのみチェックを入れることができます。2つ以上のフローにチェックを入れた場合は「Default case already exists.」というエラー表示されるため、既存のデフォルトフローを解除してから再指定してください。

なお、いづれのフローにもデフォルト指定せずに実行した場合もプログラムは実行されますが、後続作業は行われず処理終了となるため忘れずにチェックしましょう。

Flow Switchの使用方法

分岐条件(Expression)に値や変数などを指定し、複数あるフローのうち分岐条件に一致したフローが実行されます。

Flow Switchアクティビティのサンプル

3つあるフローの中から1つが選択され実行される。下図でいうとvalueの値は「1」であるため、Case「1」が実行される。
valueの値が「1」でも「0」でもない場合は、「Default」フローが実行される。

3つのフローから1つを選択して実行するサンプル

ユーザの入力値(Input dialog)の値によって実行されるフローを決定する。
実際は入力値が数値であるかなどのチェックを行いましょう。

ユーザ入力値によって実行するフローを決定するサンプル

まとめ

Flow Switchの使い方について説明しました。
なお先述の通り、フローチャートでのみ使用可能であるためプロジェクト作成時から分岐条件を確認しておきましょう。

3つ以上のフローが存在し、そこで分岐が必要な場合はFlow Switchアクティビティを使い、2つの場合は「If」や「Flow Decision」を使用するとよいと思います。
IfおよびFlow Decisionアクティビティについては以下を参照してください。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す

*