式を判定

式を判定、すなわちアプリケーションの結果を確認するには、このツールを使用します。この式を構成するのは、前のツールの数値の結果と文字列の結果、または手動で指定した値です。判定には広い範囲の式を使用できます。使用できる式の詳細については、の節を参照してください。

他の MERLIC ツールと違って、このツールを挿入するときにデフォルトパラメーターはありません。式でパラメーターを使用する場合、手動でツールに追加する必要があります。詳細については、パラメーターの追加の節を参照してください。

グラフィックウィンドウの代わりに、このツールには、この式を定義できる入力フィールドが表示されます。評価された式の結果は、ツールの下部に返ります。このツールを挿入するときにデフォルトパラメーターはありません。

式の入力

式の入力フィールドに入力すると、入力内容に一致する可能性のある関数と演算子を含むオートコンプリートリストがポップアップします。このリストには、手動で追加されたパラメーターと以前に定義された結果も含まれています。これは、このツールの前の式の結果を、そのツールの後続の式で使用できることを意味します (たとえば、最初の式の結果を 3 番目の式で使用するなど)。ただし、後続の式の結果を前の式で使用することはできません (たとえば、3番目の式の結果を最初の式で使用するなど)。

リスト全体から直接参照するには、ショートカット CTRL + スペースキーを使用してポップアップを手動で開きます。指定可能な関数と演算子の詳細については、演算のタイプの節を参照してください。

この画像では、CTRL +スペースキーを使用して手動で開いた後の、可能なすべての関数と演算子を含むポップアップリストを確認できます。リストの一番上に、最初の式「NumberMissing」の結果と、パラメーター「Region_Accepted」が表示されます。

式の追加、削除、および移動

追加の式を手動で追加および削除できます。式を追加するには、ツールワークスペース の下部にある「 式を追加」ボタンをクリックします。入力フィールドの右側にある ボタンをクリックすると、式を削除できます。

または、ツールワークスペース の下部にある結果を右クリックし、「削除」を選択して結果とそれぞれの式を削除することもできます。

ドラッグアンドドロップによって、追加した式を移動させ、前の式の結果を次の式で使用できるようにするなど、式の順番を変更できます。そうするには、移動させる式を選択し、ドラッグして目的の位置まで移動させ、新しい場所にドロップします。

新しい式ごとに、新しい結果が作成され、ツールの下部に返されます。オプションで、ツールの下部にある結果名をダブルクリックして、結果の名前を変更します。ツールパラメーターと結果の命名規定については、ツールとコネクターの名前の変更のトピックを参照してください。

結果を非表示にすることができます。たとえば、他のツールに未接続で、ツールフロー のさらに下の式でのみ使用される中間結果がある場合です。非表示にしたい結果を右クリックし、「非表示」を選択します。非表示の結果を表示するには、結果の右側にある ボタンを使用します。

パラメーター

このツールにデフォルトパラメーターはありません。したがって、ツールを挿入したときに、パラメーターは表示されません。パラメーター値を式で使用する場合、前のツールの結果値を使用するか、ツールの新しいパラメーターを定義できます。

サポートしているセマンティックタイプ

このツールでは、パラメーターに以下のセマンティックタイプをサポートします:

  • 任意
  • double
  • long
  • string

MERLIC で利用できるすべてのセマンティックタイプがこのツールでサポートされているわけではありませんが、「ツール状態」など、この結果のセマンティックタイプがサポートされていなくても、前のツールの数値結果、または文字列結果を使用できます。ただし、その結果に対する接続を作成すると、個々の新しいパラメーターのセマンティックタイプは変換されて、「any」(任意) に設定されます。

セマンティックタイプの「long」は整数でも値の範囲が広い整数を表しますが、以下の解説では引き続き、整数と呼びます。

パラメーターの追加

前のツールの結果をパラメーターとして使用

前のツールの結果をユーザーの式で使用するとき、結果を「式を判定」ツールに接続する必要があります。

  1. 式を判定」ツールで結果をパラメーターとして使用する前のツールに移動します。
  2. 接続の矢印を目的のツール結果から接続のドロップターゲットまでドラッグします。あるいは、コンテキストメニューを開き、メニューエントリ「接続先」をクリックします。
  3. ツール「式を判定」を選択し、メニューエントリ「<接続を追加>」をクリックします。

接続した結果は、「式を判定」ツールの新しいパラメーターとしてすぐに追加されます。パラメーターの名前とセマンティックタイプは、接続した結果から自動的に適合されます。接続した結果値のセマンティックタイプをこのツールでサポートしていない場合、新しいパラメーターでは、自動的に「any」に設定されます。

あるいは、以下に述べるように、ツールで新しいパラメーターを定義して、新しいパラメーターを前のツールの結果に接続することもできます。

新しいパラメーターの定義

新しいパラメーターを定義するには、新しいコネクターを追加して、パラメーター設定を定義します。

  1. ツールボードの左上角の ボタンをクリックします。パラメーター設定を定義するダイアログウィンドウが開きます。
  2. このダイアログウィンドウで新しいパラメーターのセマンティックタイプを選択します。
  3. オプションで新しいパラメーターの最小値と最大値を定義します。
  4. 「Ok」をクリックして、設定を確定します。新しいパラメーターは、デフォルト名で直ちに追加されます。
  5. パラメーター名をダブルクリックすると、オプションでパラメーター名を変更できます。ツールパラメーターと結果の命名規定については、 ツールとコネクターの名前の変更の章を参照してください。
  6. コネクターで新しいパラメーターの値を定義します。

パラメーターのセマンティックタイプと値の範囲を保存すると、これらの設定は以後変更できません。セマンティックタイプや値の範囲を調整する場合は、目的の設定で新しいパラメーターを追加します。

以下のビデオ例では、前のツールの結果とこの式で新しく定義したパラメーター値の使用方法を紹介します。

評価する式は、ツールボードの入力フィールドに定義してください。式が定義されていないか、無効な式が定義されている場合、MERLIC では、ツールボードツールフロー パネルにエラーが表示されます。ただし、このエラーは、式が欠落しているか、式が誤っている場合のみ発行されます。重要なワークスペースエラーは発行されません。したがって、その場合、「ツール状態」結果では「[0; OK]」が返ります。

この式は、数値、 文字列値、混合タプルに適用できます。ツールパラメーターの値を評価に使用するには、パラメーターの名前をこの式の入力フィールドに入力します。パラメーターなしで式を定義することもできます。

評価の方向

式は通常左から右に判定します。ただし、式で括弧を使用すると、判定順序が変化することがあります。

演算のタイプ

演算は、通常、長さ 1 の原子タプル タプルは、数値や文字列などの要素のリストです。を前提に記述します。タプルに複数のエレメントがある場合、ほとんどの演算は以下のように行われます。

  • タプルの 1 つが長さ 1 の場合、他のタプルのすべてのエレメントは選択した演算では、その単独値と組み合わせられます。
  • 両方のタプルの長さが 1 を超える場合、両方のタプルは同じ長さになります (そうでなければエラーになります)。この場合,選択した演算は同じインデックスのすべてのエレメントに適用されます。得られるタプルの長さは、入力タプルのながさと同じです。
  • タプルの 1 つの長さが 0 ([]) の場合、エラーになります。

以下では、式で使用できるさまざまなタイプの演算について解説します。

特殊文字の使用

このツールは、単一引用符で文字列を表します。ただし、特殊文字と単一引用符を併用すると、「\t」 のように文字はバックスラッシュでエスケープされ、タブとして処理されます。

結果

基本結果

結果:

この結果では、式の結果値が返ります。デフォルトでは、これは最初の式の結果です。追加の各式は、追加の結果を返します。結果のセマンティックタイプは、「any」(任意) に設定されます。

ツール状態:

ツール状態」はツール状態の情報を返します。したがって、エラー処理に使うことができます。さまざまなツールの状態結果の詳細については、 ツール状態 結果 のトピックを参照してください。

追加結果

処理時間:

この結果は、ツールの直近の実行の持続時間をミリ秒単位で返します。結果は、追加結果として提供されます。したがって、デフォルトでは非表示になっていますが、ツール結果の横にある ボタンを使用して表示できます。詳細については、ツールリファレンス概要の処理時間の節を参照してください。

アプリケーションの例

このツール、以下の MERLIC Vision App 例で使用します:

  • adapt_brightness_for_measuring.mvapp
  • calibrate_for_ruler_changed_distance.mvapp
  • calibrate_for_ruler_distorted.mvapp
  • calibrate_for_ruler_simple.mvapp
  • check_bent_leads.mvapp
  • check_correct_filling_on_3d_height_images.mvapp
  • check_pen_parts.mvapp
  • check_presence_of_fuses.mvapp
  • check_saw_angles.mvapp
  • check_single_switches.mvapp
  • classify_pills.mvapp
  • count_bottles_with_deep_learning.mvapp
  • detect_only_scratches_with_photometric_stereo.mvapp
  • detect_scratches_on_metal.mvapp
  • determine_circle_quality.mvapp
  • evaluate_ecc_200_print_quality.mvapp
  • find_and_count_screw_types.mvapp
  • measure_distance_segment_circle_calibrated.mvapp
  • measure_distance_to_center_led.mvapp
  • recognize_color_of_cables.mvapp
  • segment_pill_defects.mvapp
  • segment_pills_by_shape.mvapp