ReadResult

ある In-Sight センサ (送信側) のセルから別のセンサ (受信側) へ値をインポートします。いくつかの ReadResult 関数を使用して、複数の In-Sight スレーブセンサから、受信センサ上の単一のスプレッドシートに結果をインポートします。

:  
  • 送信および受信 In-Sight センサはオンラインである必要があります。
  • WriteResult および ReadResult 関数の使用時には、ReadResult 関数を使用している In-Sight センサをネットワークトリガマスタとして構成し、WriteResult 関数を使用しているセンサをネットワークトリガスレーブとして構成することを強く推奨します。これによって結果を同期させることができるので、現在のトリガに反応してスレーブによって生成された結果をマスタが読み取ります。

ReadResultの入力パラメータ

Syntax:ReadResult(画像取り込み,ホスト名,タイムアウト)

画像取り込み セル A0 のデフォルトの画像データ構造体への参照であり、画像取り込みトリガのソースを指定します。
ホスト名

結果を送信する In-Sight センサのネットワーク名を指定します。In-Sight の送信側には、受信側に送信する値を含んでいるセルを参照する、WriteResult 関数が含まれている必要があります。

:  
  • In-Sight の「受信側」センサのスプレッドシートに複数の ReadResult 関数が含まれている場合、各関数は「異なる」In-Sight の送信側のホスト名を参照する必要があります。つまり、受信側センサ 1 台のみが、送信側センサの WriteResult セルからデータを読み取ることができます。
  • 無効なホスト名を指定した場合、最大 30 秒後に接続はタイムアウトします。
タイムアウト In-Sight の送信側センサが、In-Sight の受信側に結果を書き出すために待機する時間 (取り込み時間を含む) のミリ秒数(0 ~ 120000、0 はタイムアウトしません)。

ReadResultの出力

戻り値 指定した In-Sight の送信側からインポートされた値を含んでいる Result データ構造体。入力パラメータのいずれかが無効である場合、ネットワークエラーがある場合、または指定した [タイムアウト] 時間内に結果が受信されなかった場合は、#ERR が返されます。
結果 ReadResult 関数が最初にセルに挿入されると、In-Sight の送信側センサからインポートされた最初の 4 つの結果を含んでいるテーブルが、自動的にスプレッドシートに作成されます。

スプレッドシートに自動挿入されて結果テーブルを作成する関数は次のとおりです。

GetResult(結果, インデックス) Result データ構造体からインデックス付きの値を返します。この値は、In-Sight の送信側の WriteResult 関数でのセル参照の順番に従って、インデックスが付けられます。
:  ReadResult 関数は、In-Sight の送信側からインポートされ、Result データ構造体に含まれている最初の 4 つの結果に対応する、結果テーブル内の 4 つのエントリを自動的に返します。このテーブルを拡張して、追加の結果を返すことができます。そのためには、テーブルからセルをコピーして空のセルに張り付け、追加の各結果のインデックス値を増分して返します。

ReadResult 関数の例

2 台の In-Sight センサ、送信側受信側がネットワークに接続されていると仮定します。各センサのジョブを次のように設定します。

送信側:

A0 = AcquireImage(32,1,8,0,480,0,0,0,0,128,32,0,0,"","",0)

A1 = '画像取り込みの数:

A2 = '画像取り込みの数 × 2:

A3 = Timer("00:00:05",32)

A4 = WriteResult($A$0,$D$1,$D$2)

D1 = Count($A$0,9999999,0,0)

D2 = D1*2

AcquireImage セル (A0) はトリガ用に設定されています。セル A3 内の Timer 関数は、5 秒ごとに手動トリガを開始します。セル D1 には Count 関数が含まれており、画像取り込みの数を蓄積しますが、D2 は画像取り込みの数を 2 倍にします。最後に、セル A4 内の WriteResult 関数は、取り込みデータを受信側センサで使用できるようにします。

受信側:

A0 = AcquireImage(1,1,8,0,480,0,0,0,0,128,32,0,0,"","",0)

A1 = '画像取り込みの数:

A2 = '画像取り込みの数 × 2:

A4 = ReadResult($A$0,"Sender",0)

B4 = GetResult($A$4,0)

C4 = GetResult($A$4,1)

D1 = GetResult($A$4,0)

D2 = GetResult($A$4,1)

D4 = GetResult($A$4,2)

E4 = GetResult($A$4,3)

AcquireImage セル (A0) は連続的トリガ用に設定されています。セル A4 内の ReadResult 関数は、送信側WriteResult 関数からデータを引き出します。情報が読み込まれている残りのセル (B4、C4、D1、D2、D4、E4) には GetResult 関数が含まれており、セル A4 内の Result 構造体のゼロベースのインデックス指定を示しています。

両方のセンサをオンラインにすることで、ReadResult および WriteResult 関数が実行に移されていることを確認することができます。

20 秒後に、4 つの画像取り込みが発生しています。受信側センサは、送信側の値と同期したままになっています。送信側の WriteResult 関数は 2 つの値を渡しているだけなので、受信側のセル D4 および E4 は #ERR を返します。