Anybus X-gateway 経由での CC-Link ネットワーク上の三菱電機 Automation Controller との通信

:  CC-Link は、In-Sight ファームウェア 4.x.x を搭載した In-Sight ビジョンシステムでのみ使用可能です。In-Sight ファームウェア 5.1.0 以上を実行している In-Sight ビジョンシステムでは使用できません。モデル一覧およびサポートされているファームウェアバージョンについては、「ファームウェアバージョン」を参照してください。

概要

In-Sight ビジョンシステムは、Anybus X-gateway と TCP/IP Modbus プロトコルを使用して、CC-Link ネットワーク上のデバイスと通信することができます。

このトピックでは、ゲートウェイのインストールおよび設定方法、オートメーションコントローラプログラミングソフトウェア (三菱電機 GX Developer) の設定方法、In-Sight ExplorerCC-Link ネットワーク上の三菱電機オートメーションコントローラと通信するための In-Sight Explorer のセットアップ方法について説明します。

下記の例は、次のコンポーネントを使用していることを前提に記述されています。

  • Anybus X-gateway および HMS Anybus IPconfig ソフトウェア
  • ファームウェアバージョン 3.41.00 以降を実行している In-Sight ビジョンシステム
  • CC-Link をサポートする三菱電機オートメーションコントローラ
  • 三菱電機 GX Developer プログラミングソフトウェア

Anybus X-gateway のインストールと設定

このセクションの手順では、Anybus X-gateway の Ethernet 部分のインストールおよび設定方法について説明します。手順では、次のコンポーネントを使用していることを前提にしています。 

:  詳細については、HMS Anybus-X のマニュアル (『Anybus-X Generic Gateway User Manual』、『Anybus-X Ethernet Network Interface Addendum』、『X-gateway Interface Addendum - CC-Link Slave Interface』) を参照してください。これらのマニュアルは、HMS の Web サイト (www.hms-networks.com) のサポートページで提供されています。

Anybus X-gateway のインストールおよび設定を行うには、以下の手順に従います。

  1. HMS のソフトウェアユーティリティである Anybus IPconfig をダウンロードしてインストールします。このユーティリティでは、HMS IP Configuration Protocol (HICP) を使用して、Anybus ベースの Ethernet インタフェースを簡単な方法で設定できます。
  2. Ethernet に接続した PC で、Anybus IPconfig を実行します。ネットワーク上で検出された Anybus ベースの Ethernet インタフェースとその IP アドレスが、すべてウィンドウに表示されます。
  3. Anybus X-gateway の CC-Link ステーションアドレススイッチを使用して、CC-Link ステーションアドレスを設定します。詳細については、『X-gateway Interface Addendum - CC-Link Slave Interface』を参照してください。
  4. 通信するオートメーションコントローラのボーレートに合わせて、Anybus X-gateway のボーレートスイッチを設定します。
  5. Anybus X-gateway ハードウェアを実際に取り付けて接続します。詳細については、Anybus X-gateway のマニュアルを参照してください。
  6. Anybus X-gateway ハードウェアを適切に取り付けて、すべてのケーブルを接続した後、Anybus X-gateway ハードウェアの電源を投入し、電源がオンになるまで 30 ~ 60 秒待ちます。Anybus-X Gateway ハードウェアの電源がオンになると、Ethernet LED 状態インジケータが緑色に点灯または点滅します。
  7. Anybus IPconfig ユーティリティで、[Scan] ボタンをクリックし、Anybus ベースの Ethernet インタフェースがすべて表示されているウィンドウを更新します。リストに、デフォルト IP アドレス 192.168.0.1 の Anybus X-gateway ハードウェアが新たに追加表示されます。
  8. Anybus X-gateway の設定を変更する必要がある場合は、リストで [Anybus X-gateway] をダブルクリックします。DHCP による IP アドレスまたは固定 IP アドレス、サブネットマスク、デフォルトゲートウェイ、および DNS サーバを割り当てるためのダイアログが表示されます。設定を完了したら、[Set] ボタンをクリックして続行します。
  9. 最後に、Anybus IPconfig ユーティリティで、[Scan] ボタンをクリックし、Anybus ベースの Ethernet インタフェースがすべて表示されているウィンドウを更新します。リストに、新しい IP アドレス (変更した場合) の Anybus X-gateway ハードウェアが表示されます。

CC-Link ネットワーク上の三菱電機オートメーションコントローラへの Anybus X-gateway の接続

Anybus X-gateway では、TCP/IP Modbus ネットワークと CC-Link データをやり取りし、In-Sight ビジョンシステムの入力と出力を三菱電機オートメーションコントローラのプロセッサメモリに送信することができます。これらの値は、確立後、CC-Link ネットワークの更新レートによって定義される間隔で同期されます。

TCP/IP Modbus 経由での In-Sight ビジョンシステムへの Anybus X-gateway の接続では、実際のデータがどのように転送されるかを説明しています。また、スニペットと詳細なサンプル設定を示しています。

詳細については、『Anybus-X Generic Gateway User Manual』と『Anybus-X CC-Link Slave Network Interface Addendum』を必要に応じて参照してください。これらのマニュアルは、HMS の Web サイト (www.hms-networks.com) でダウンロードすることができます。

Anybus X-gateway のほかに、Anybus Communicator も CC-Link のマスタまたはスレーブとして使用することができます。ここでは Anybus X-gateway を使用します。

CC-Link 通信の設定

Anybus X-gateway と三菱電機コントローラの間の CC-Link 接続を設定するには、最初に Anybus X-gateway をオートメーションコントローラと同じボーレートに設定し、コントローラと異なるステーション番号を指定する必要があります。スイッチは電源コネクタの横にあります。詳細については、Anybus のユーザマニュアルを参照してください。次の手順では、三菱電機 GX Developer ソフトウェアを使用して、オートメーションコントローラの設定を行います。

  1. GX Developer を開き、オートメーションコントローラのプロジェクトをロードします。

  2. オートメーションコントローラモジュールの設定を確認します。[パラメータ][PLC パラメータ] の順にダブルクリックし、[I/O 割り当て] タブを選択します。

    この例では、Q02(H) デバイスが 1 つ、Intelli デバイスが 1 つ、入力デバイスが 1 つ、出力デバイスが 1 つあります。ポイントの種類と数の詳細については、三菱電機のマニュアルを参照してください。

  3. CC-Link ネットワークを設定します。[パラメータ] の下の [ネットワークパラメータ] をダブルクリックして、[CC-Link] を選択します。

    PLC が [種類] の下の [マスタステーション] として選択されます。[リモートネット (Ver.1 モード)] は、Anybus X-gateway で使用される CC-Link バージョン 1.0 を指しています。Anybus Communicator を使用する場合は、バージョン 2.0 が選択されます。Anybus X-gateway が接続されている唯一のステーションであるため、[すべての接続数] は [1] に設定されます。

  4. 占有されるステーションを設定します。[ステーション情報] をダブルクリックします。次の画面が表示されます。

    オートメーションコントローラハンドシェークを設定できるようになります。これは、X-Gateway または Communicator でオートメーションコントローラからの応答が必要な場合のオプションの手順です。詳細については、HMS の Web サイトの『How to set up an Anybus Product with CC-Link and a Mitsubishi Automation Controller』を参照してください。

  5. オートメーションコントローラと相互通信できるように X-Gateway を設定します。PC と Gateway の config ポートの間をシリアルケーブルで接続し、Windows のハイパーターミナルを開きます ([スタート] → [アクセサリ] → [通信] → [ハイパーターミナル])。
  6. [ファイル] メニューで、[プロパティ] をクリックします。
  7. [接続先] タブの [接続方法] フィールドで該当する COM ポートを選択し、[設定] をクリックします。次の画像にある設定を使用します。

    接続して ESC キーを押し、メニューオプションを表示します。

    6 を押して、次の設定情報を入力します。この設定は、オートメーションコントローラの設定画面で入力した情報と一致している必要があります。

    デバイスを再起動します。システムの設定が完了しました。

TCP/IP Modbus 経由での In-Sight ビジョンシステムへの Anybus X-gateway の接続

このセクションでは、TCP/IP Modbus による通信を使用した In-Sight ビジョンシステムへの Anybus X-gateway の接続について説明します。

:  詳細については、Open Modbus/TCP Specification (外部リンク。インターネットアクセスが必要。Modicon 発行) と InSightModbus.doc (Cognex サポート Web サイトで入手可能) を参照してください。

In-Sight Explorer での TCP/IP Modbus による通信の設定In-Sight Explorer

In-Sight ビジョンシステムでは TCP/IP Modbus クライアント機能が有効になっていますが、Anybus X-gateway が TCP/IP Modbus サーバ (スレーブ) として機能するため、このサーバ機能はこのモデルでは必要ありません。

  1. In-Sight Explorer で、In-Sight Explorer[In-Sight ネットワーク] ペインから設定される、In-Sight ビジョンシステムまたはエミュレータを選択します。
  2. [ファイル] メニュー[ジョブの新規作成] を選択し、ビジョンシステムまたはエミュレータに新規ジョブをロードします。
  3. [パレット]の [スニペット] タブを選択して、[Communication] フォルダを展開します。スプレッドシートで、In-Sight Explorerまず A2 を選択して [CCLinkGateway.cxd] をダブルクリックするか、ファイルをセル A2 にドラッグ & ドロップすることにより、CCLinkGateway.cxd ファイルをセル A2 にロードします。
  4. 新規ジョブを CCLinkGateway.job として、ビジョンシステムまたはエミュレータに保存します。
  5. セル A5 をダブルクリックし、Anybus X-gateway の IP アドレスを入力します (必要に応じて、HMS Anybus IPconfig ソフトウェアユーティリティを実行し、Anybus X-gateway の IP アドレスを取得します)。
  6. TCP/IP Modbus の通信では、In-Sight クライアント (マスタ) のジョブに TCPDevice 関数と QueryDevice 関数が存在している必要があります。TCPDevice 関数は、リモートデバイス間 (この場合は、Anybus X-gateway と In-Sight ビジョンシステム) のネットワーク接続を作成するときに使用します。QueryDevice 関数は、TCP/IP Modbus パケットの Modbus 関数コードコマンドを作成するときに使用します。CCLinkGateway.cxd ファイルでは、TCPDevice 関数が C5 に含まれ、2 つの QueryDevice 関数がセル B15 (読み取り要求用) とセル B28 (書き込み要求用) に含まれています。
  7. Anybus X-gateway は、QueryDevice 関数の以下の Modbus 関数コードをサポートしています。

    関数コード

    関数名

    3

    Read multiple registers

    4

    Read input registers

    6

    Write single register

    7

    Read exception status

    8

    Diagnostics

    16

    Force multiple registers

    22

    Mask write register

    23

    Read/Write registers

  8. セル B15 の QueryDevice 関数をダブルクリックし、パラメータが次のように設定されていることを確認します。

    :  Modbus パケット構造体の詳細については、『Modbus Implementation Guide』を参照してください。

    パラメータ入力番号

    パラメータ入力

    名前

    パラメータ入力値

    説明

    1

    Event

    $A$15

    [イベント] ボタンへのセル参照。

    2

    Device

    $C$5

    セル C5 の TCPDevice 関数へのセル参照。

    3

    Data

    0

    Modbus ヘッダ、トランザクション ID、上位バイト = 0。

    4

    Data

    0

    Modbus ヘッダ、トランザクション ID、下位バイト = 0。

    5

    Data

    0

    Modbus ヘッダ、プロトコル ID、上位バイト = 0。

    6

    Data

    0

    Modbus ヘッダ、プロトコル ID、下位バイト = 0。

    7

    Data

    0

    フィールド長、上位バイト = 0。

    8

    Data

    6

    フィールド長、下位バイト = 6 (後続のバイト数)。

    9

    Data

    0

    単位 ID、使用しないバイト = 0。

    10

    Data

    $C$12+3

    Modbus 関数コードバイト。この例では、この入力は 3 または 4 になります。

    :  Modbus 関数コードバイトが 3 にセットされている場合、In-Sight は保持レジスタ (TCP/IP Modbus 経由で書き込まれたデータ) を読み取ります。Modbus 関数コードバイトが 4 にセットされている場合、In-Sight は入力レジスタ (CC-Link 経由で書き込まれたデータ) を読み取ります。

    11

    Data

    0

    Modbus 参照アドレス、上位バイト = 0。

    :  : 入力レジスタは、アドレス 1000 から Read multiple registers (関数コード 3) を使用して、またはアドレス 0 から Read input registers (関数コード 4) を使用して読み取られる場合があります。

    12

    Data

    $E$19

    Modbus 参照アドレス、下位バイト = 4。最初の 4 バイトは「ビット領域」サイズの指定に使用される。この場合、最初の 4 バイトはデータ交換に使用することができず、占有されるステーションの番号のために予約済みです。

    :  入力レジスタは、アドレス 1000 から Read multiple registers (関数コード 3) を使用して、またはアドレス 0 から Read input registers (関数コード 4) を使用して読み取られる場合があります。
    :  詳細については、HMS Web サイト (www.hms-networks.com) のサポートページで提供されている『X-gateway Interface Addendum - CC-Link Slave Interface』のデータ交換の基本事項についての説明 (第 2-1 章) を参照してください。

    13

    Data

    0

    ワード (レジスタ) 数、上位バイト = 0。

    14

    Data

    $B$8

    ワード (レジスタ) 数、下位バイト = 0。

    この例では、この入力は 1、2、3、4、6、8 のいずれかになります。

  9. Anybus X-gateway からの TCP/IP Modbus 応答パケットは、QueryDevice 関数のバイナリ構造体に格納されます。これらの戻り値は、In-Sight Explorer でIn-Sight ExplorerBGetInt 関数によって読み取られます。この関数は、バイナリ構造体の特定のバイトからの整数値を返し、応答は以下のような形式になります。

    バイト番号

    Modbus 応答

    説明

    バイト 7

    Modbus 関数コード

    この例では、3 または 4。このコマンドが失敗すると、関数コードに 128 が追加されます (返される値は 131 または 132。セル E15 を参照してください)。

    バイト 8

    バイト数

    この例では、2 レジスタ (ワード) = 4 バイト。セル E15 を参照してください。

    バイト 9/10

    レジスタ 0 の値

    これらの値は 2 バイト形式です。CCLinkGateway.cxd ファイルで、セル D18 の BGetInt 関数がバイト 9 のバイナリ値を読み取ります (ワード読み取りの下位バイト)。

    バイト 11/12

    レジスタ 1 の値

    これらの値は 2 バイト形式です。CCLinkGateway.cxd ファイルで、セル D19 の BGetInt 関数がバイト 11 のバイナリ値を読み取ります (ワード読み取りの下位バイト)。

    バイト 13/14

    レジスタ 2 の値

    これらの値は 2 バイト形式です。CCLinkGateway.cxd ファイルで、セル D20 の BGetInt 関数がバイト 13 のバイナリ値を読み取ります (ワード読み取りの下位バイト)。

    バイト 15/16

    レジスタ 3 の値

    これらの値は 2 バイト形式です。CCLinkGateway.cxd ファイルで、セル D21 の BGetInt 関数がバイト 15 のバイナリ値を読み取ります (ワード読み取りの下位バイト)。

    バイト 17/18/19/20

    浮動小数点数値を格納するレジスタ 3 および 4 の値

    これらの値は浮動小数点形式です。CCLinkGateway.cxd ファイルで、セル D22 の BGetInt 関数がバイト 17 のバイナリ値を読み取ります (ワード読み取りの下位バイト)。

    バイト 21/22/23/24

    文字列 (バイト配列) を格納するレジスタ 5、6、および 7 の値

    これらの値は文字列形式です。CCLinkGateway.cxd ファイルで、セル D23 の BGetInt 関数がバイト 21 のバイナリ値を読み取ります (ワード読み取りの下位バイト)。

  10. 書き込み要求用の QueryDevice 関数 (セル B28) は、要求パケットおよび応答パケットと同じ形式で書式設定されます。

オートメーションコントローラから In-Sight ビジョンシステムへの CC-Link 経由でのデータの読み取り

このモデルによって提供される例に従い、Anybus X-gateway の入力バッファは読み取られるデータソースです。このバッファには、TCP/IP Modbus 上の In-Sight ビジョンシステムが CC-Link ネットワーク上のオートメーションコントローラから要求したデータが保持されます。

  1. In-Sight ExplorerIn-Sight Explorer での TCP/IP Modbus による通信の設定In-Sight Explorer 」で作成したジョブを継続して使用します。
  2. CC-Link Configurator (GX Configurator-CC) を開きます。必要に応じ、GX Developer を使用して、三菱電機オートメーションコントローラにプロジェクトをダウンロードします。また、GX Developer を使用して、さらに複雑なデータ操作を行う場合があります。
  3. オートメーションコントローラシリーズとして、[QCPU-Q] を選択します。

  4. [オンライン] メニューから、[Remote station monitor/test] を選択します。

  5. [Remote station monitor/test] ダイアログを次のように設定します。

  6. [Batch monitor][Start monitor] の順にクリックします。
  7. [Present value change (RWw)] をクリックして、読み取り値の 16 進値と 10 進値を入力します。値は、In-Sight Explorer でリトルエンディアン表記で転送されている場合であっても、ビッグエンディアン表記でIn-Sight Explorer表示されます。

  8. CCLinkGateway.cxd ファイルのセル A8 で、レジスタの値として [8] (16 バイト) を選択します。
  9. セル C12 で、[Read Registers] のドロップダウンリストから、[Input Registers] を選択します。

  10. セル A15 の [Read] ボタンをクリックして、結果を更新します。セル D18 ~ D23 の値が変化して、CC-Link Configurator で入力した値が反映されるはずです。

In-Sight ビジョンシステムからオートメーションコントローラへの CC-Link 経由でのデータの書き込み

このモデルによって提供される例に従い、Anybus X-gateway の出力バッファは書き込まれるデータソースです。このバッファには、TCP/IP Modbus 上の In-Sight ビジョンシステムが CC-Link ネットワーク上のオートメーションコントローラに書き込むデータが保持されます。

  1. CCLinkGateway.cxd ファイルのセル A8 で、レジスタの値として [8] (16 バイト) を選択します。
  2. セル C12 で、[Read Registers] のドロップダウンリストから[Holding Registers] を選択します。これにより、In-Sight ジョブ内で書き込まれるのと同じレジスタからデータが読み取られます。
  3. 次に、アプリケーションに対する正しいデータタイプになるように、セル D31 ~ D36 の値を調整します。EditInt セルに値を入力します。セル D31 ~ D34 には 4 つの整数 (最小値は -32768、最大値は 32767 で、値はこの範囲内の有効な整数である必要があります) を、セル D35 には浮動小数点数値 (最小値は ±1.175495e-38、最大値は ±3.402823e+38 で、値はこの範囲内の有効な浮動小数点数値である必要があります) を、セル D36 には 4 バイトの文字列 (文字列は 4 文字を超えることができなくなりました) を入力します。

  4. セル A28 の [Write] ボタンをクリックし、In-Sight Explorer スプレッドシートからIn-Sight Explorerオートメーションコントローラに結果を書き込みます。

  5. セル A15 の [Read] ボタンをクリックします。セル D18 ~ D23 の値が変化し、セル D31 ~ 36 に入力した値が反映されるはずです。
  6. CC-Link Configurator (GX Configurator-CC) を開きます。必要に応じ、GX Developer を使用して、三菱電機オートメーションコントローラにプロジェクトをダウンロードします。また、GX Developer を使用して、さらに複雑なデータ操作を行う場合があります。
  7. オートメーションコントローラシリーズとして、[QCPU-Q] を選択します。

  8. [オンライン] メニューから、[Remote station monitor/test] を選択します。

  9. [Remote station monitor/test] ダイアログを次のように設定します。

  10. [Batch monitor][Start monitor] の順にクリックします。RWr モニタの下の値が、In-Sigth Explorer スプレッドシートで入力した値の 16 進値と 10 進値を反映するようにIn-Sight Explorer変更されます。値は、In-Sight Explorer でリトルエンディアン表記で転送されている場合であっても、ビッグエンディアン表記でIn-Sight Explorer表示されます。