メニュー

logo

カチシステムはお客様に寄り添った
システム開発と支援サービスを提供し
「やさしい最先端」を創造します。

【第65回】ロータス博士のWinActor塾~シナリオファイル呼び出しⅡ

2022.04.22

今日は前回の続きでシナリオ呼び出しについてじゃ。

今日はWinActorを実際に触るって言ってましたね。

うむ。まあフローの流れを確認する超簡単なものじゃ。

この程度ならシナリオを作るまでもないが、経験は大事じゃからな。

では始めるぞ。

フローの流れを理解する

シナリオファイル呼び出しのフロー遷移

前回の説明通り、シナリオファイル呼び出しを実行すると、プロパティで設定したシナリオファイルを読み込みそのシナリオを実行します。 

読み込んだシナリオの実行が完了すると、呼び出し元のシナリオに戻り、後続の処理に進みます。

 

 

なんかこれ、どこかで見たことあるなぁ。

サブルーチンかな?すごく動きが似てますね。

よく気付いたのう!まさにサブルーチンと同じフローの動きなのじゃ。

違うのはシナリオファイルを跨いでいるというところじゃな。

ずいぶん昔じゃが、過去にサブルーチンについて解説しておるからそちらも要チェックじゃ。

 

 

え?でもサブルーチンと同じなら

サブルーチンを使えばよくないですか?

もっともな考えじゃ。

ではこのシナリオファイルを跨いだ遷移の使い道を考えてみよう。

  

シナリオファイル呼び出しの適用例

例えば次のようなシチュエーションを考えてみてください。

 

・社内の各部署で同じシステムを利用し、データを登録している。

・入力するデータ項目は共通だが、入力データの収集方法が部署によって異なる。

 

実際にやることは同じでも、用意するインプットが異なるといったパターンは少なくありません。

こういった場合は、1つのシナリオ内で部署毎に処理を分岐させるよりも、シナリオファイルを複数用意して

個別処理のシナリオと共通処理のシナリオに分けたほうが効率的です。

 

シナリオファイル読み込みで遷移させることで、次のようにロボットを動かすことができます。

 

 

このように、入力データを準備するためのシナリオを別々に作成することで

効率的にシナリオを動かすことができ、メンテナンス性も向上します。

例えば部署Aのデータ収集方法に変更があり、シナリオ修正が必要になったとしても、部署B・部署Cは影響を受けず

そのままシナリオを実行することができます。

他部署の修正を待つ必要がないので、一部の変更のためにロボット全体を停止させる必要がなくなります。

他にも、社内システムに改修が入りデータ入力シナリオを更新する際も、

データ収集シナリオと入力シナリオは分離されているため、修正箇所の特定が容易になります。

 

なんてことだ!メリットだらけじゃないですか!

正しく理解していれば、このように更なる業務効率化に繋げられる訳じゃ。

もちろん、サブルーチンでひとつのシナリオにまとめたほうが良いこともある。

どのように運用するのが最も良いのかは、作成前にしっかりと吟味しよう。

シナリオ遷移をさせてみよう

では、実際にシナリオの遷移をさせてみよう。

まずは下準備からじゃ。

 

シナリオファイルの準備

シナリオを遷移させるには、最低でも「遷移元」と「遷移先」の2つのシナリオファイルが必要となります。

また、ファイルとして存在している必要があるため、必ずシナリオファイルを保存しておきましょう。

 

今回は例として、次のようにシナリオファイルを2つ作成しました。

 

 

シナリオAから実行を開始し、シナリオBに遷移するシナリオを作成します。

 

 

シナリオ全体の処理

今回はフローの流れを確認するだけなので、待機ボックスでメッセージを表示させるだけのものを作成します。

シナリオAの開始直後と終了前、シナリオBの中にそれぞれ配置し、合計3回メッセージが出力されるようにします。

 

 

シナリオA

 

 

 

シナリオB

 

 

なんですかこれ、めっちゃ簡単ですね。

もっと骨のあるやつを期待していたんですけど。

どこかの強キャラみたいなセリフじゃな・・・。

昔のロータス君であれば、簡単だと大喜びしていたじゃろう。

成長したのう。

 

 

シナリオファイル呼び出しノードの設定

今回は遷移するだけなので、遷移先のシナリオファイルを指定して完了です。

プロパティを開いたら「シナリオファイル名」の右側にある「…」ボタンを押しましょう。

 

 

ファイル選択ダイアログが開くので、遷移先のシナリオ(シナリオB)を選択します。

選択したら「開く」を押して決定します。

 

 

「シナリオファイル名 」に、先ほど選択したファイルのパスが入力されていればOKです。

 

 

これで設定は完了です。 

 

 

実行結果

ではシナリオを実行してみましょう。

シナリオAのみを実行します。シナリオBは作成後、保存して閉じてしまって問題ありません。

うまくできていれば次の順番でメッセージが表示されます。

 

 

シナリオAの開始と終了のメッセージの間にシナリオBのメッセージがありますね。

これでシナリオAの実行中にシナリオBが実行されたことが確認できました。 

うまくできたかな?

本来であれば、この待機ボックスの部分に処理を作成していくことになる。

シナリオ作成は簡単でしたけど、設定がどうこうというより

このノードを使ってどんな風にシナリオを分割するかがカギになりそう。

うむ、そうなのじゃ。

規模が大きくなるにつれてシナリオファイルをどう管理していくかが重要になってくる。

ここはシナリオ作成者の腕の見せ所じゃな。

変数引き継ぎなどの要素もあるから、最初にしっかりと仕様を決める必要がある。

変数引き継ぎ・・・。

また厄介そうなのが出てきましたね。

設定項目がたくさんあったのを覚えておるじゃろう。

このシリーズはまだ続くぞ。

ここからは少し難しくなると思うが、頑張ってついてくるように。

それではまた次回!

骨のあるやつを期待してるとか言わなきゃよかった。

関連記事こちらの記事も合わせてどうぞ。

最近の記事

カテゴリ

PAGETOP