MCからDAを使用するロボットを実行した際に “No available Automation Device using…” というエラーが発生する。

フォローする

Design Studioでは正常に実行できるDAを操作するロボットMCにアップロードしてスケジュール等で起動した場合にLogに以下のようなエラーが記録されロボットが稼働しない場合、RoboServer起動時のパラメータ -mcUrl が正しく設定されていない可能性があります。

No available Automation Device using {デバイス名}: {エラー内容}

{エラー内容} については環境により以下の様に様々

  • server responced HTTP/1.1 404 not found
  • null
  • Connection to http://localhost refused

一方で、DAを使用しないWebロボットや、DAを使用するロボットに関してもSingle Userモードで稼働するダイレクトコネクション方式のロボットについては特に問題なく起動・実行されるため、原因の特定が困難であると言えます。

本現象は、Device 情報をMCに登録して参照するデバイスマッピング方式で稼働するロボットに関して、ロボット実行時に参照先のMCを特定できずに発生する事象です。

RS起動時にパラメータとして指定している “-mcUrl” および “-cl” の組み合わせ、または RoboServer Settings ツールに設定したMCの接続情報に誤りがないことを確認の上、不整合があった場合には修正のうえRSを再起動してください。

仕組みの解説

MCとRS間の接続は、まずRSが起動時に “-mcUrl として指定されたURL + -clとして指定されたクラスター” または RoboServer Settings ツールのGeneralタブ中にある “Register to a Management Console” に指定された接続情報に従ってMCのクラスターへ自身を登録しに行きます。
上記両方に設定情報が記載されている場合には、RS起動時に指定したパラメータが優先して適用されます。

URL/クラスター名に不備がある場合にはコンソール、またはWindowsのサービスとして起動している場合にはWindowsのイベントビューアへ上記と同様のエラーが出力され続けますが、しばらく放っておくとRoboServer自体はMCのクラスター配下に登録されてしまいます。(これはv9.7までの仕様の名残で、上記設定パラメータ自体がv10になってDAを接続することを前提に追加された仕様であることに起因します。)

wrong_cluster-1024x57.png

クラスター名を 間違えてNon Production ではなく、on Productionとしてしまっているにも拘らず、正常に認識されている。

RS起動時に指定されたMCへの接続情報は、DAを操作するロボットが当該RSにて実行された際に、その時点のDevice状態(Available/InUse/Offline)をRSがMCに確認しに行くために利用される情報であり、それが間違っていることによりMCへ最新のDeviceの情報を取得しに行けなくなり、エラーを発生してロボットが終了することになります。

そのため、既存のWebロボットやダイレクトコネクション方式(MCを参照に行かない)DA利用ロボットは影響を受けません。