ReadMC

ReadMC 関数は、三菱電機オートメーションコントローラ (PLC/MC、ロボットコントローラ) への SLMP 接続を生成し、3E QnA 互換または 1E A 互換バイナリフレームを使用して Batch Read コマンドを送信し、オートメーションコントローラからデータを受信します。

:  
  • このトピックでは、PLC/MC およびロボットコントローラを総称して、「オートメーションコントローラ」と呼びます。
  • In-Sight 2000 シリーズビジョンセンサは、ロボットコントローラをサポートしていません。
  • In-Sight ビジョンシステムが SLMP プロトコル経由でオートメーションコントローラと通信するように設定されている場合、SLMP プロトコルはビジョンシステムとオートメーションコントローラとの間のデータ転送のみをサポートします。

ReadMCの入力パラメータ

Syntax:ReadMC(イベント,ホスト名,ポート,PLC シリーズ,デバイスのアドレス,タイムアウト,バッファ)

イベント

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

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

ホスト名

データを読み取る三菱電機オートメーションコントローラの IP アドレスを指定します。

ポート

MELSEC EtherNet モジュール上で開く SLMP サーバの TCP ポート番号を 16 進数で指定します。

PLC シリーズ

データパケットがカプセル化されるメッセージフレームを指定します。

In-Sight ファームウェアバージョン 5.x.x

0 = iQ-R/Q/L シリーズ (3E フレーム)

QnA 互換 3E フレームを使用して Batch Read コマンドを送信します。

1 = FX シリーズ (1E フレーム)

A 互換 1E フレームを使用して Batch Read コマンドを送信します。

2 = iQ-F シリーズ (3E フレーム)

QnA 互換 3E フレームを使用して Batch Read コマンドを送信します。

3 = CR800-D シリーズ (3E フレーム)

QnA 互換 3E フレームを使用して Batch Read コマンドを送信します。

In-Sight ファームウェアバージョン 4.x.x

0 = iQ-F/R/Q/L シリーズ (3E フレーム)

QnA 互換 3E フレームを使用して Batch Read コマンドを送信します。

1 = FX シリーズ (1E フレーム)

A 互換 1E フレームを使用して Batch Read コマンドを送信します。

デバイスのアドレス

三菱電機オートメーションコントローラのデータを読み取るメモリ位置を指定します。使用可能なデバイスアドレスとフォーマットは、オートメーションコントローラシリーズの入力に指定されたオートメーションコントローラシリーズの種類 (iQ-F/R/Q/L シリーズ、FX シリーズまたは CR800-D シリーズ) によって異なります。

iQ-R/Q/L シリーズ、iQ-F シリーズ、または iQ-F/R/Q/L シリーズ

:  ZR (ファイルレジスタ) デバイスタイプは、iQ-F シリーズではサポートされていません。
デバイスのアドレス 説明 フォーマット
Xhhhhhh* 入力リレー ビット
Yhhhhhh 出力リレー ビット
Mdddddd* 内部リレー ビット
Ldddddd ラッチリレー ビット
Fdddddd アナンシエータ ビット
Bhhhhhh リンクリレー ビット
Ddddddd データレジスタ ワード
Whhhhhh リンクレジスタ ワード
Rdddddd ファイルブロックレジスタ ワード
ZRhhhhhh ファイルレジスタ ワード
TNdddddd タイマ値 ワード
CNdddddd カウンタ値 ワード
* 「hhhhhh」は 16 進数アドレス、「dddddd」は 10 進数アドレスです。

FX シリーズ

デバイスのアドレス 説明 フォーマット
Xoooooo* 入力リレー ビット
Yoooooo 出力リレー ビット
Mdddddd* 内部リレー ビット
Ddddddd データレジスタ ワード
Rdddddd 拡張レジスタ ワード
Sdddddd 状態リレー ビット
* 「oooooo」は 8 進数アドレス、「dddddd」は 10 進数アドレスです。

CR800-D シリーズ

デバイスのアドレス 説明 フォーマット
Ddddddd データレジスタ ワード
「dddddd」は 10 進数アドレスです。

タイムアウト

この関数がデータ送信を試行する時間をミリ秒単位で指定します (5 ~ 30000、デフォルト = 1000 ms)。指定された時間が経過すると、実行は停止し、#ERR が返されます。

:  [タイムアウト] の時間がジョブに追加される可能性があります。読み取りおよび書き込みの両方の操作が失敗した場合、両方の操作の [タイムアウト] 値が加算されるため、ジョブに追加される時間は [タイムアウト] 値の 2 倍になります。

バッファ

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

:  選択された PLC シリーズが iQ-R/Q/L シリーズiQ-F シリーズiQ-F/R/Q/L シリーズまたは CR800-D シリーズである場合、入力データの総最大長は 1920 バイトです。選択された PLC シリーズが FX シリーズである場合、入力データの総最大長は 128 バイトです。

ReadMCの結果出力

戻り値

三菱電機オートメーションコントローラによって送信されたデータを含むデータ構造体。無効な入力パラメータが含まれていた場合、または三菱電機オートメーションコントローラからの接続が確立されていない場合は #ERR が返されます。

結果

構造体内のデータには GetBufferData 関数を使用してアクセスします。