save-results」プラグイン

このプラグインは、MVApp 結果 に含まれるデータを、ディスク上の構成可能なディレクトリに自動的に保存するために使用できます。サンプルプラグイン「save-images」とは対照的に、このプラグインは非画像データのみを保存し、プラグインのソースコードは公開されていません。データは .csv 形式のファイルに保存されます。「save-results」プラグインは、プラグインが起動し、MERLIC RTE が実行し、レシピの準備ができたときにファイルを開きます。それぞれの MVApp 結果 のデータは、蓄積されたデータが定義済みのバッファサイズを超えたり、ファイルが閉じられたりするとすぐに、断続的に収集されてファイルに書き込まれます。プラグインの停止、レシピの準備解除、または MERLIC RTE の停止でファイルが閉じられます。

このプラグインには、出力ディレクトリ、ファイル名形式、形式設定をカスタマイズするための構成オプションがあります。

プラグインのテスト

このプラグインは、他の任意の通信プラグイン、つまり MERLIC RTE Setup の「通信」タブで構成するプラグインと組み合わせて使用できます。しかし、いくつかの初期のテストでは、「action-sender」サンプルプラグインと当社が提供するサンプルレシピの 1 つを使用して、一部の反復をトリガーできます。「action-sender」プラグインでアクションを送信し、「save-results」プラグインで結果をディスクに保存できます。これにより、最終的な本番環境で「save-results」プラグインを使用する前に、プラグインの利用可能な構成オプション、および結果のファイルの各形式と内容を確認できます。

  1. MERLIC RTE Setup を開き、「レシピ」タブに移動します。
  2. 非画像結果を表す少なくとも 1 つの MVApp 結果 を含む MERLIC Vision App を参照するレシピをインポートします。テスト用に、サンプルレシピの 1 つ (たとえば「verify_chip_number_recipe.mrcp」) を使用することもできます。
  3. レシピをデフォルトのレシピとして設定します。2 つのプラグインの起動時にこのステップをスキップしてレシピがデフォルトとして設定されていない場合は、「action-sender」プラグインからコマンド「python.exe comm-send.py PrepareRecipe <Recipe ID>」を使用して、つまりステップ 9 以降に、手動でレシピを読み込む必要があります。
  4. 通信」タブに切り替え、MERLIC RTE を起動します。MERLIC RTE の実行中はプラグインの構成サービスを使用できます。
  5. 左側にあるプラグインインスタンスのリストに「save-results」プラグインを追加します。

  6. プラグインの構成を確認します。詳細については、「プラグインの構成」セクションを参照してください。
  7. MERLIC RTE Setup の下部にある「プラグインの起動」ボタンをクリックするか、左側のプラグインインインスタンスリストの各メニューから、プラグインの実行を開始します。プラグインを開始する方法と停止する方法の詳細については、「通信プラグインの開始および停止」を参照してください。
  8. save-results」プラグインと同様に「action-sender」プラグインを追加・起動します。
  9. コマンドプロンプトを開き、「action-sender」プラグインのディレクトリ、つまり MERLIC のインストールディレクトリの「examples\communication_plugins\action-sender」ディレクトリに移動します。
  10. Python スクリプト「comm-send.py」を使用して、以下のように 1 回の実行を開始します。MVApp が 1 回実行されると画像の結果が取得されます。
    コピー
    python.exe comm-send.py StartSingleJob

    あるいは、連続実行を開始することもできます。

    コピー
    python.exe comm-send.py StartContinuous

    利用可能な他のオプションの情報を得るために、「python.exe comm-send.py --help」と入力して、詳細な使い方を確認することもできます。

  11. プラグインの実行中に、各反復の結果が収集されます。それらは、蓄積されたデータが定義済みのバッファサイズを超えると、断続的にファイルに書き込まれます。バッファサイズはオペレーティングシステムに依存するため、構成できません。また、以下の変更により、ファイルを閉じたときに結果が書き込まれるようになります。
    • プラグインが停止した。
    • レシピがコマンド「python.exe comm-send.py UnprepareRecipe」を使用して準備解除されている。
    • MERLIC RTE が停止した。

    これらの条件のいずれかが満たされるとすぐに、結果がファイルに書き込まれ、「save-results」プラグインの構成で定義されたディレクトリで確認できるようになります。

プラグインの構成

サンプルプラグインは、MERLIC RTE Setup の「通信」タブで構成できます。MERLIC RTE Setup を開いてプラグインを追加するだけで、プラグインで使用できる構成項目が表示されます。構成を有効にするには、まず MERLIC RTE を起動する必要があることに留意してください。

通信」タブの右側には、選択したプラグインのパラメーターが表示されます。以下では、セクション「User parameters」のパラメーターのみを説明します。構成可能なパラメーターはこれだけです。

Additional Data

このカテゴリのパラメーターを使用して、それぞれのジョブに関する追加情報も .csv ファイルに保存するかどうかを選択できます。

Add measurement ID

このパラメーターは、それぞれのジョブの測定 ID を保存するかどうかを定義します。測定 ID が指定されていない場合は、空の文字列が返されます。デフォルトでは、このパラメーターは設定されていません。

Add part ID

このパラメーターは、それぞれのジョブのパーツ ID を保存するかどうかを定義します。パーツ ID が指定されていない場合は、空の文字列が返されます。デフォルトでは、このパラメーターは設定されていません。

Add timing information

このパラメーターは、さまざまなタイミング情報を保存するかどうかを定義します。これには、実行の開始時間と終了時間、処理時間、取得時間などの情報が含まれます。デフォルトでは、このパラメーターは設定されていません。

Formatting

Delimiter character

このパラメーターは、各反復で保存されるデータエントリを区切るために使用される文字を定義します。デフォルト設定値は「Comma」です。利用可能なオプションは下の表にリストされています。

文字

説明

Comma

結果はコンマで分離されます。

Semicolon

結果はセミコロンで分離されます。

Space

結果はスペースで分離されます。

Tab

結果はタブで分離されます。

Output

Base directory

このパラメーターは、データの結果を保存するディレクトリを定義します。 ボタンを介してファイルシステムからディレクトリを選択することも (ローカルシステムの場合)、テキストフィールドに直接パスを入力することもできます。デフォルトでは、Windows システムでは「%LOCALAPPDATA%/Temp」に、Linux システムでは「/tmp」に設定されています。

File name format:

このパラメーターは、保存された結果のファイル名のフォーマットを定義します。デフォルト設定値は「Time (ISO 8601) and Recipe ID」です。

フォーマット

説明

Recipe ID

ファイル名は、接頭辞「MERLIC_recipe-」と現在準備中のレシピの ID で構成されます (例: MERLIC_recipe-2.csv)。

この形式を選択した場合、現在読み込まれているレシピの ID のみがファイル名として考慮されるため、既存の結果ファイルが削除される可能性があります。同じレシピでプラグインを複数回使用すると、レシピ ID は前と同じものとなり、ファイル名も同じであるため、前回のセッションの既存ファイルは新しい結果で上書きされることになります。前のセッションの結果が失われます。

Time (ISO 8601) and Recipe ID

ファイル名は、ISO 8601 形式の現在の UTC 時刻と、現在準備中のレシピの ID で構成されます (例: 20230120T170327Z-2.csv)。