Evaluate

In-Sight 関数を実行するとともに、In-Sight のスプレッドシートに数式を挿入します。Evaluate は、In-Sight ビジョンシステムから情報を取得したり、In-Sight ビジョンシステムに変更を加えたりするコマンドを実行します。

:  
  • Evaluate コマンドを使用してデータ構造体を返す In-Sight 関数を実行することはできませんが、このような関数を In-Sight のスプレッドシートに挿入することは可能です。
  • Evaluate コマンドを使用して In-Sight システム設定に加えられる変更は一時的なものです。In-Sight ビジョンシステムを再起動すると、変更はすべて失われます。設定を proc.set ファイルに保存するには、Store Settings コマンドを使用してください。

Evaluateの入力パラメータ

Syntax:EV [command]

:  引用符で囲まれている入力 (GetSystemConfig の "DHCPTimeout" など) は、In-Sight ビジョンシステムに送信する際に引用符で囲む必要があります。

Evaluate の結果出力

戻り値
  • ステータスコード。  ステータスコードは次のとおりです。
1 コマンドは正常に実行されました。
0 認識されないコマンドが送信されました。
-2 コマンドを実行することができませんでした。
-4 In-Sight ビジョンシステムのメモリ不足です。
-6 ユーザはコマンドを実行するためのフルアクセスのアクセス権を持っていません。
  • 後続の出力に含まれる文字数 (バイト単位)。
:  式の結果は、実行されるコマンドによって異なります。

Evaluate の例

例: Evaluate コマンドを使用して In-Sight の数式をスプレッドシートのセルにリモートで挿入する

Evaluate コマンドを使用して In-Sight の数式をスプレッドシートのセルにリモートで挿入するための一般的なシンタックスは、次のとおりです。

Syntax:EV [Column][Row] [Cell state] [Formula]

Evaluate の入力

Column 設定するセル値の列文字 (A ~ Z)
Row 設定するセル値の行番号 (0 ~ 399)
Cell state

指定したセルの現在の状態 (0 = 無効、1 = 有効)

:  
  • セル状態は別のセルを (絶対または相対) 参照することもあります。参照されるセルが空白の場合、セル状態は 0 になります。
  • テキストラベル付きのコントロール関数を、セル状態が無効と指定されたスプレッドシートに挿入した場合、GUI にはコントロールに関連付けられたグラフィックスのみが表示されます。スプレッドシート内でセル状態が変更されない限り、テキストラベルはスプレッドシートに表示されません。
数式

数式を作成するための値、関数、引数、および演算子の組み合わせ。

例 A: 基本関数をリモートで挿入する

  1. スプレッドシートが次のように設定されていると仮定します。

    A3 = 3 A4 = 4 A5 = 5 A6 = 6

    リモート接続を使用して、In-Sight スプレッドシートに数式を挿入することができます。

  2. Telnet クライアントから In-Sight ビジョンシステムにログオンしているときに、次のコマンドを入力します。EV A8 1 Sum(1,2,A3:A6)

    In-Sight は、ステータスコード (1) と、その後に XML データのバイト数 (0) を続けて返して応答します。この Evaluate コマンドにより、数式 Sum(1,2,A3:A6) がセル A8 に挿入されます。

    :  Sum スプレッドシート関数によって返される実際の結果 21 は、この Evaluate コマンドによって XML データとしては返されません。この結果を取得するには、代わりに Get Value コマンドを使用してください。

例 B: プロパティシートを使用して関数をリモートで挿入する

プロパティシートから選択したパラメータを含む関数も、スプレッドシートにリモートで挿入できます。Telnet クライアントから、次のコマンドを入力します。EV A2 1 ExtractBlobs($A$0,0,0,0,40,276,381,450,0,0,8,-1,0,0,2,1,100,100000,0)

次の画像に示すように、In-Sight ビジョンシステムは、ステータスコード (1) と、返された XML データのサイズ (0) で応答します。

ExtractBlobs 関数は、スプレッドシートのセル A2 に正常に挿入されました。

例: Evaluate コマンドと In-Sight 関数を使用して In-Sight ビジョンシステムから情報を取得する

Syntax:EV [command]

  1. In-Sight スプレッドシートのセル A2 に ReadIDCode 関数から取得された データ構造体が含まれていると仮定します。デコードされた文字列は、隣のセルに次のように返されます。

    A2 = ReadIDCode($A$0,0,0,0,156.798,216.083,178.964,179.119,0,128,0,1,3,0,0,0,0,15,0,2,1,0,0,6,0,0,0)

  2. 次のように、Telnet クライアントを使用して In-Sight ビジョンシステムにログオンし、EV GetString(A2) と入力します。

    In-Sight ビジョンシステムは、ステータスコード 1 を返して、コマンドが正常に実行されたことを示します。次の行では、36 バイトの XML データが返されたことが報告され、最後の行には、XML で書式設定された式の結果が含まれています。

例: Evaluate コマンドを使用して In-Sight のネットワーク設定を取得する

Syntax:EV [command]

Telnet クライアントから In-Sight ビジョンシステムにログオンしているときに、EV GetNetwork() と入力して、システムのネットワーク設定を取得します。Telnet クライアントの出力は、次の画像に示されています。

In-Sight ビジョンシステムは、ステータスコード 1 を返すことにより、コマンドが正常に実行されたことを示します。次の行には、その後に続く XML データのサイズ (552 バイト) が含まれています。残りの行は、返された実際の XML データで構成されています。

例: Evaluate コマンドを使用して In-Sight の特定の設定を変更する

この例では、In-Sight 5100 ビジョンシステムの FTP 設定のうち、アイドルタイムアウト読み取りタイムアウト接続リトライローカルポートリモートポート、およびパッシブ転送を設定します。Telnet クライアントから In-Sight ビジョンシステムにログオンしているときに、次のコマンドを発行します。EV SetFTPSettings(120,120,1,21,21,0)

Telnet クライアントの出力は、次の画像に示されています。

In-Sight ビジョンシステムは、ステータスコード 1 を返すことによって、コマンドが正常に実行されたことを示します。次の 18 は、その後に続く XML 出力バイト数を表しています。最後に、実際の XML データが示されています。