ReadUserDataBuffer

[ネットワークの設定] ダイアログで現在有効にされているファクトリ通信プロトコルの [User Data] フィールドに含まれるデータを読み取ります (消費します)。参照される  構造体は FormatInputBuffer 関数によって作成されたもので、受信されたデータの認識方法を定義します。

:  定期的な接続で、有効にされている産業用プロトコルに基づくデータバッファへの書き込みが活発に行われていない場合、この関数は、最後にデータバッファへの書き込みを行ったプロトコルのデータを返します。

ReadUserDataBufferの入力パラメータ

Syntax:ReadUserDataBuffer(イベント,バッファ,プロトコル,接続の検証,バイト/ワードオーダ)

イベント

データを読み取る更新イベントを指定します。このパラメータは、次のいずれかを参照している必要があります。

  • AcquireImage 関数を含んでいるセル A0 の画像データ構造体
  • Event 関数を含んでいるセル
  • Button 関数を含んでいるセル

バッファ

FormatInputBuffer 関数によって作成された、バッファデータ構造体への参照を指定します。この構造体は受信されたデータの解釈方法を定義します。

:  入力データの最大長は、4,000 バイトです。

プロトコル

ユーザデータの読み取り元となるプロトコルを指定します。

:  
  • In-Sight 4.9.3 以前のファームウェアを搭載する In-Sight ビジョンシステムで、産業用イーサネットプロトコルが指定されていない場合は、デフォルトで Modbus TCP サーバプロトコルが使用されます。
  • モデル一覧およびサポートされているファームウェアバージョンについては、ファームウェアのバージョンをご参照ください。
0 = EtherNet/IP

EtherNet/IP が有効なファクトリ通信プロトコルであることを指定します。

:  このプロトコルは、In-Sight ファームウェア 5.1.0 以降を搭載している In-Sight ビジョンシステムでのみ使用可能です。
1 = PROFINET

PROFINET が有効なファクトリ通信プロトコルであることを指定します。

:  このプロトコルは、In-Sight ファームウェア 5.1.0 以降を搭載している In-Sight ビジョンシステムでのみ使用可能です。
2 = SLMP スキャナ SLMP スキャナが有効なファクトリ通信プロトコルであることを指定します。
3 = Modbus TCP サーバ

Modbus TCP サーバが有効なファクトリ通信プロトコルであることを指定します。

:  このプロトコルは、In-Sight ファームウェアバージョン 5.3.0 以降を搭載している In-Sight ビジョンシステムでのみ使用可能です。
8 = CC-Link IE Field Basic Bit CC-Link IE Field Basic が有効なファクトリ通信プロトコルであることを指定し、RY ビット空間からユーザデータバッファを読み取ります。
9 = CC-Link IE Field Basic Word CC-Link IE Field Basic が有効なファクトリ通信プロトコルであることを指定し、RWw ワードスペースからユーザデータバッファを読み取ります。
100 = デフォルト 現在有効なファクトリ通信プロトコルが使用されるよう指定します ([ネットワーク設定] ダイアログから有効にします)。複数のプロトコルが有効になっている場合は、最初に有効になったプトロコルが使用されます。

接続の検証

この関数で接続の検証を行うかどうかを指定します。有効にされている場合、選択されたプロトコルでアクティブな周期接続が行われていないと、#ERR が返されます。

EtherNet/IP の場合、前回の再起動の後、非明示的な接続が確立されていない場合は、#ERR が返されることはありません。  非明示的なメッセージが使用されない場合は、#ERR が返されることなく、センサで明示的にデータを受信することができます。

バイト/ワードオーダ

関数によって読み込まれるワードとバイトのビット順序を指定します。

:  このパラメータは、In-Sight ファームウェア 5.1.0 以上を実行している In-Sight ビジョンシステムだけで使用できます。モデル一覧およびサポートされているファームウェアバージョンについては、ファームウェアのバージョンをご参照ください。

0 = ビッグエンディアン (= Modbus のデフォルト)

最上位バイトが最初に格納され、以降のバイトが降順に格納されるように指定します。

1 = リトルエンディアン

最下位バイトが最初に格納され、以降のバイトが昇順に格納されるように指定します。

2 = ビッグエンディアン (ワード変換使用)

ビッグエンディアンのバイトスタイルが適用され、Double ワード型のワードペアオーダが切り替わります。(16 ビットワード)

3 = リトルエンディアン (ワード変換使用)

リトルエンディアンのバイトスタイルが適用され、Double ワード型のワードペアオーダが切り替わります。(16 ビットワード)

100 = デフォルト (選択解除された場合)

次のデフォルト設定が使用されます。

EtherNet/IP リトルエンディアン
PROFINET ビッグエンディアン
SLMP プロトコルスキャナ リトルエンディアン
Modbus TCP サーバ ビッグエンディアン
CC-Link IE フィールド Basic リトルエンディアン

AB (1 ワードサイズの値): A = 最上位バイト、B = 最下位バイト:

  着順
ビッグエンディアン (= デフォルト) AB
リトルエンディアン BA
ビッグエンディアン (ワード変換使用) AB
リトルエンディアン (ワード変換使用) BA

12AB (2 ワードサイズの値): 1 = 最上位バイト、B = 最下位バイト:

  着順
ビッグエンディアン (= デフォルト) 12 AB
リトルエンディアン BA 21
ビッグエンディアン (ワード変換使用) AB 12
リトルエンディアン (ワード変換使用) 21 BA

ReadUserDataBufferの出力

戻り値 クライアントによって送信されたデータを含む  UserData データ構造体。不正な入力パラメータが含まれていた場合、クライアントからの接続が確立されていない場合、または接続の確立後、データバッファへの書き込みが行われていない場合には #ERR が返されます。
結果  データ構造体内のデータには GetBufferData 関数を使用してアクセスします。