In-Sight ビジョンシステムへのデータの送信

ControlLogix PLC から In-Sight Explorer スプレッドシートにデータを送信するためには、ReadUserDataBuffer 関数を使用して、データが EtherNet/IP スタックからプルされる必要があります。この関数は、FormatInputBuffer 関数内で作成されたデータフォーマットを取得し、EtherNet/IP 出力アセンブリ (ネットワークからの出力) のデータ領域からデータを読み取って、このデータを書式設定して In-Sight Explorer スプレッドシートに入れます。このデータは、RPI サイクルごとに PLC から受信されます。対応するスプレッドシートのデータは、スプレッドシートが実行されたときのみ更新されます。

例: In-Sight ビジョンシステムへの 32 ビット整数データの送信

この例では、In-Sight Explorer 内に新規ジョブを作成した後、以下の手順を実行して、ControlLogix PLC が受信するデータを設定します。

  1. AcquireImage セルを開いて、[トリガ] パラメータを [連続] に設定します。
  2. 空白のセルを右クリックして、[関数の挿入] を選択します。画面左側の [入出力] カテゴリを展開し、FormatInputBuffer 関数をダブルクリックして、スプレッドシートに挿入します。
  3. [FormatInputBuffer] ダイアログの [追加] ボタンをクリックして、2 つの 32 ビット整数をリストに追加します。

  4. [OK] ボタンをクリックして、[FormatInputBuffer] ダイアログを閉じます。
  5. 空白のセルを右クリックして、[関数の挿入] を選択します。画面左側の [入出力] カテゴリを展開し、[ネットワーク] サブカテゴリをクリックし、ReadUserDataBuffer 関数をダブルクリックして、スプレッドシートに挿入します。
  6. ReadUserDataBuffer 関数の [プロトコル] パラメータを EtherNet/IP に設定し、[バッファ] パラメータを、作成した FormatOutputBuffer データ構造体へのセル参照として設定します。
  7. FormatOutputBuffer 関数に追加されたフィールドに基づいて、Data Access 関数が自動的にスプレッドシートに追加されます。
  8. In-Sight ビジョンシステムをオンラインモードにします。
  9. RSLogix 5000 で、[Controller Tags] ダイアログを開き、InSight_Top:O.Data[0] および InSight_Top:O.Data[1] タグの値を変更します。
  10. User Data ハンドシェークが必要かどうかを判断します。User Data バイパスが有効な場合、データの交換は 4.xx カメラの交換をコピーします。User Data バイパスが有効ではない場合 (デフォルト状態)、この新規ビットにより、PLC と In-Sight の間のデータ交換に追加のハンドシェークが追加されます。スプレッドシートのデータを表示するには、追加の手順を実行する必要があります。

    1. カメラの [ネットワークの設定] ダイアログで [ユーザデータバイパスの有効化] が有効になっている場合、In-Sight Explorer スプレッドシートの値が直ちに更新されます。

    2. カメラの [ネットワークの設定] ダイアログで [ユーザデータバイパスの有効化] が有効になっていない場合:

      1. User Data タグを設定します。SetUserData ビットは名前付きタグ (この例では InSight_Top:O.Control.SetUserData) です。
      2. User Data Ack ビットを受信したら、上の User Data タグをクリアします。SetUserDataAck ビットは名前付きタグ (この例では InSIght_Top:I.Status. SetUserDataAck) です。

例: In-Sight ビジョンシステムへの浮動小数点数値データの送信

別のデータ型、例えば、32 ビット整数型以外の型や、データ型の混合を送信する必要がある場合、最も簡単な方法は、ContorlLogix でユーザ定義型を作成して、そのデータを In-Sight ビジョンシステムの出力タグから新しく作成したユーザ定義型にコピーすることです。以下の手順では、2 つのセルを浮動小数点数値としてコピーする方法を説明します。

  1. RSLogix で、オフラインモードにします。
  2. RSLogix で、[User-Defined] → [Data Types] フォルダを右クリックし、メニューから [New Data Type] を選択します。

  3. 新しいデータ型にわかり易い名前を付けて、2 つの浮動小数点数値を [Members:] リストに追加します。

  4. 次に、下記の例のように、ユーザ定義データ型を使用して、新しいタグをプロジェクトの Controller Tags に追加します。

  5. 最後に、COP 命令を MainRoutine ラダーロジックプログラムに追加します。これは、InSight_Top_Output タグのデータを InSight_Top:O.UserData[0] タグと InSight_Top:O.UserData[1] タグにコピーします。

  6. In-Sight ビジョンシステムをオフラインにします。
  7. 以前に作成した FormatInputBuffer 関数を開き、両方の [Data Type] の値を [32 bit floating point] に変更します。
  8. In-Sight ビジョンシステムをオンラインに戻します。
  9. このプログラムが ControlLogix PLC にダウンロードされた後、InSight_Top_Output タグ内のデータは浮動小数点形式で表示されるようになります。
  10. User Data ハンドシェークが必要かどうかを判断します。User Data バイパスが有効な場合、データの交換は 4.xx カメラの交換をコピーします。User Data バイパスが有効ではない場合 (デフォルト状態)、この新規ビットにより、PLC と In-Sight の間のデータ交換に追加のハンドシェークが追加されます。スプレッドシートのデータを表示するには、追加の手順を実行することが必要になります。

    1. カメラの [ネットワークの設定] ダイアログで [ユーザデータバイパスの有効化] が有効になっている場合 (チェックボックスがオン)、In-Sight Explorer スプレッドシートの値が直ちに更新されます。

    2. カメラの [ネットワークの設定] ダイアログで [ユーザデータバイパスの有効化] が有効になっていない場合 (デフォルト状態がオフ):

      1. User Data タグを設定します。SetUserData ビットは名前付きタグ (この例では InSight_Top:O.Control.SetUserData) です。

      2. User Data Ack ビットを受信したら、上の User Data タグをクリアします。SetUserDataAck ビットは名前付きタグ (この例では InSight_Top:I.Status. SetUserDataAck) です。