POWERLINK 通信

:  
  • POWERLINK は、In-Sight のファームウェアバージョン 4.7.2 以上、および In-Sight Explorer のソフトウェアバージョン 4.7.2 以上を実行している In-Sight 70xx ~ 74xx シリーズのビジョンシステムでのみサポートされています。ファームウェアバージョン 5.1.0 以上ではサポートされません。
  • POWERLINK は、In-Sight 70xx ~ 74xx シリーズのカラービジョンシステム (In-Sight 7010C、In-Sight 7200C、In-Sight 7400C、In-Sight 7402C) ではサポートされません。
  • In-Sight ビジョンシステムは、B&R Automation Studio バージョン 3.090 以降、および Automation Runtime バージョン 3.08 以降でのみサポートされています。

POWERLINK および In-Sight ビジョンシステム

概要

POWERLINK は、時間が重要なシステムで使用される産業用イーサネットプロトコルです。POWERLINK Ethernet プロトコルは、PLC や産業用 PC などの管理ノード (MN) を使用して、Ethernet 帯域幅を固定時間サイクル (200 ~ 10000 µs) に分割します。In-Sight ビジョンシステムなど、ネットワークで稼動しているもう 1 つのデバイスは、制御ノード (CN) として動作し、MN からのメッセージに対応したデータの送信のみ許可されています。

各サイクルの間、MN は各 CN 宛てのデータを作成し、CN はそれぞれ、ネットワーク上のほかのデバイス宛てのデータで応答します。このデータは等時性メッセージング (決定論が保証されたメッセージング) を使用したノードと非同期メッセージング (決定論の保証されていないメッセージング) を使用したノードの間で送信されます。ネットワーク上のデバイスがすべて同期された後、MN により非同期期間が開始され、1 つのデバイスがネットワーク上で標準 TCP/IP トラフィックを送信できるようになります。

:  デバイスがネットワーク帯域幅を競合することはないので、POWERLINK ノードをまとめて接続する場合に遅延を軽減するには、スイッチではなくリピーターハブを使用します。

POWERLINK ネットワークのデバイスはすべて、ノード ID 番号 (1 ~ 240) で識別されます。MN のノード ID は常に 240で、CN はノード ID 1 ~ 239 のいずれかを持ちます。このノード ID 番号は固定 IP サブネット 192.168.100.<NodeID> と組み合わせられます。これは、ネットワーク上の各デバイスに、POWERLINK ネットワーク内の固定 IP アドレスを割り当てます。この IP アドレスは、POWERLINK ネットワークの外側にあるほかのデバイスと通信するために使用することもできます。

:  
  • POWERLINK を有効にしたビジョンシステムを POWERLINK ネットワークから切断し、通常のイーサネットネットワークに切り替える場合、イーサネット通信がロックアップし、帯域幅が 1Mbps に制限されることがあります。通常のイーサネットネットワークを使用している場合、ジョブを編集するには、POWERLINK 通信を無効にしてください。
  • POWERLINK ネットワーク上の In-Sight ビジョンシステムが In-Sight Explorer に接続されている場合に、PLC にダウンロードを試みたり、PLC のソフトウェア再起動を試みたりすると、ビジョンシステムを In-Sight Explorer に接続できなくなることがあります。PLC に変更を加えたり再起動したりする前に、ビジョンシステムを In-Sight Explorer から切断することが推奨されます。この問題が発生した場合、In-Sight Explorer に再度接続するには、ビジョンシステムに電源を再投入してください。

POWERLINK サイクル

POWERLINK ネットワークは、「サイクル」(200 ~ 10000 µs) と呼ばれる固定タイムスライスに分割されます。各サイクルには、等時性メッセージ送信、および非同期メッセージ送信 (時間が許せば) の期間が含まれます。各サイクルのはじめに、MN はサイクルの開始 (SoC) メッセージをネットワークにブロードキャストし、サイクルの等時性フェーズが始まることを知らせます。SoC メッセージの送信後、MN はそのサイクルについて設定された CN それぞれにポーリング要求 (PReq) を送信します。各 CN はポーリング応答 (PRes) メッセージで応答します。PReq および PRes メッセージは、ネットワーク上にデータを作成するために使用されます。

POWERLINK ネットワークでは、CN はクロストラフィック通信を実行できます。つまり、最初に MN を通過しなくても互いにプロセスデータを交換できます。このタイプの設定では、1 つの PLC を POWERLINK MN にすることができます。もう 1 つの PLC は CN として動作し、In-Sight ビジョンシステムの画像取り込みを制御します。In-Sight ファームウェアは、MN 以外に 2 つの CN からのクロストラフィック通信をサポートし、各ノードから最大 100 バイトのデータを受信することができます。

:  クロストラフィックサポートには、In-Sight 4.8.0 以降のファームウェアが必要です。

CN データが送信されるたびに、MN は非同期の開始 (SoA) メッセージをネットワークに送信し、サイクルの非同期フェーズの開始を知らせます。この間、1 つのノード (SoA フレームに含まれるデータにより示されるもの) がネットワークへの送信を許可されるパケットは 1 つです。このノードに、そのサイクル期間の容量以上のデータがある場合、この送信は複数のサイクルの非同期フェーズに拡散されます。

非同期データ転送

In-Sight ビジョンシステムにとって、POWERLINK ネットワークの非同期データ送信機能は非常に重要です。非同期フェーズは次のタスクを実行するために使用されます。

  • を使用したビジョンシステムの設定とモニタIn-Sight Explorer
  • オンライン状態での In-Sight Explorerまたは Cognex VisionView への画像とデータの転送
  • WriteImageFTP 関数を使用して FTP サーバに画像を送信

POWERLINK ネットワークの設定のうち非同期データスループットに最大の影響を持つものは、最大送信単位 (MTU) 設定とサイクル時間の 2 つです。

MTU

POWERLINK ネットワークの非同期パケットに対する MTU の範囲は 300 ~ 1500 バイトです。デフォルトでは、B&R PLC は MTU を 300 バイトに設定します。デフォルトの MTU を増やすには、非同期データ送信の各サイクルで、さらに時間を確保する必要があります。例えば、MTU では、非同期データ送信のために 27 µs の確保が要求されますが、最大サイズ (1500 バイト) の場合は 123 µs 必要です。

:  非同期パケットトランスファ用の MTU 値が、POWERLINK ネットワークで使用されている MTU 値と同じ値でない場合、TCP/IP 通信は正常に機能しません。

サイクル時間

サイクル時間も非同期データ送信を制限します。POWERLINK ネットワークは、1 サイクルにつき、非同期パケットを 1 つだけ送信するように設定されているため、サイクル時間を短縮すると、ネットワークで送信できる非同期パケットの数が増えます。最も一般的な POWERLINK ネットワーク設定の 1 つのサイクル時間は 400 µs です。これは 1 秒間に 2500 サイクル、つまり 1 秒間に送信できる非同期フレームの数は 2500 になります。

In-Sight ビジョンシステムの理想的な MTU とサイクル時間設定

POWERLINK はデータ送信、特に非同期の部分を Ethernet に依存しているため、POWERLINK ネットワークで使用できる帯域幅全体を計算する方法を理解することは、最適なパフォーマンスの確立には重要な決定因子です。この帯域幅全体は POWERLINK ネットワークの非同期送信を通じて通信するすべての CN で共有されます。

POWERLINK ネットワークで使用できる帯域幅全体は、一般に次の式で計算されます。 

  • 帯域幅 (Mbps) = MTU × 8 ÷ サイクル時間 (µs)

Cognex では、POWERLINK ネットワーク上の In-Sight ビジョンシステムに対する最適な設定は、MTU 1500 バイト、サイクル時間 400 µs であると決定しました。MTU のサイズが大きく減少したり、サイクル時間が増加したりすると、前セクションに記載されている 3 つの箇条書き項目について、パフォーマンスが大幅に低下します。サイクル時間の計算については、B&R Automation Studio アプリケーションに用意されている B&R Microsoft Excel スプレッドシート (powerlink_cycletime_calculations.xls) をご利用ください。

:  
  • フル画像の取り込みやフル解像度画像の送信および記録など、取り込まれた画像および画像の更新設定。限られた帯域幅環境の中で、目標は画像の取得レートを削減することです。このためには、部分的な取り込みが行われるように AcquireImage 関数の [取り込み開始行] および [行数] パラメータを設定し、[記録/再生のオプション] ダイアログ[記録] タブで、[画像の解像度] パラメータを [ハーフ] または [クォーター] に設定します。必要に応じて、この方法で設定を行い、バックグラウンドサービス用の帯域幅を増やします。
  • WriteImageFTP または WriteImageSFTP 関数を使用して画像を送信すると、画像解像度の設定に関係なく、 で使用できる帯域幅が削減されますIn-Sight Explorer
  • POWERLINK サイクル時間が 500µs 未満に設定されている場合、使用できる User Data チャネルは 16 に制限され、Inspection Results は 24 に制限されます。サイクル時間設定が低すぎる場合や、送信するデータの設定が多すぎる場合は、POWERLINK 接続が失敗します。

POWERLINK ネットワークゲートウェイおよび In-Sight ビジョンシステム

B&R PLC は、POWERLINK ネットワーク上のデバイスと、標準 Ethernet ポートを通じて接続されたデバイスの間の TCP/IP トラフィック用ゲートウェイとして動作することができます。In-Sight Explorerには、[In-Sight ネットワーク] ペインに POWERLINK ネットワークを追加する機能があります。[エクスプローラリモートサブネットリスト] ダイアログ ([システム] メニューからアクセス可能) を使用して、POWERLINK ネットワークを追加し、サブネット情報を設定することができます。この設定後、[In-Sight ネットワーク] ペインには、POWERLINK サブネットの In-Sight ビジョンシステムが表示されるようになります。

POWERLINK 通信で使用するために In-Sight ビジョンシステムを設定

このセクションでは、POWERLINK 通信を使用して、B&R PLC を In-Sight ビジョンシステムに接続する方法を説明します。

:  
  • これらの手順では、POWERLINK ネット経由での送信準備の整ったデータを含むジョブが In-Sight ビジョンシステムにロードされていることを前提にしています。
  • アプリケーション開発では、工場ラインに設置されている In-Sight ビジョンシステムに直接接続することを推奨します。これにより画像の更新速度が速くなるため、焦点の調節や画像の位置揃え、アプリケーションのセットアップがしやすくなります。アプリケーションの開発が完了したら、ジョブを保存してから、POWERLINK を有効化し、リモートサブネットを追加します。このリモートサブネットでは、In-Sight Explorer将来のトラブルシューティングやアプリケーションの追加開発のために、 からビジョンシステムをモニタできます。

In-Sight ビジョンシステムでの POWERLINK 通信の有効化

In-Sight ビジョンシステムを POWERLINK ネットワークに配置するには、まず、In-Sight ビジョンシステムの [ネットワークの設定] ダイアログを使用して、POWERLINK が有効になるようにビジョンシステムを設定する必要があります。

:  これらの手順では、POWERLINK ネットワークが既に動作していて、ほかのデバイスもこのネットワークにあり、かつ MN が B&R PLC であることを前提にしています。
  1. POWERLINK ネットワークに配置する In-Sight ビジョンシステムを、 が実行されている PC に直接接続しますIn-Sight Explorer
  2. を開き、In-Sight Explorer目的の In-Sight ビジョンシステムに接続します。
  3. [センサ] メニューから [ネットワークの設定] ダイアログを開きます。
  4. ダイアログの [産業用イーサネットプロトコル] セクションで [POWERLINK] を選択し、[設定] ボタンをクリックして [POWERLINKの設定] ダイアログを開きます。
  5. [POWERLINKの設定] ダイアログは、In-Sight ビジョンシステムのノード ID を定義するために使用されます。
  6. メッセージプロンプトが表示されたら、In-Sight ビジョンシステムを再起動し、電源の再投入後に POWERLINK プロトコルを有効にします。
  7. ビジョンシステムを PC から外し、POWERLINK ネットワークに接続します。

In-Sight ビジョンシステムへの周期接続の確立

In-Sight ビジョンシステムを POWERLINK ネットワークに統合しやすくするために、Cognex は Automatic Studio へのインポート用 In-Sight-7000.xdd ファイル (0000031D_In-Sight-7000.xdd) を作成しました。In-Sight-7000.xdd ファイルは、POWERLINK ネットワーク経由でデータを送信しやすくするために、In-Sight ビジョンシステムから POWERLINK マスターノードへのネットワークインタフェースを記述したものです。

  1. Automation Studio の [ツール] メニューにアクセスし、[Import Fieldbus Device] オプションを選択します。
  2. In-Sight Explorer 4.7.1 に含まれている .xdd ファイル (例えば、C:\Program Files\Cognex\In-Sight\In-Sight Explorer 4.7.1\XDD) に移動し、ファイル (0000031D_In-Sight-7000.xdd) をインポートします。
  3. In-Sight-7000.xdd ファイルのインポート後、In-Sight ビジョンシステムを POWERLINK ネットワークに追加し、ノード ID を割り当てる必要があります。

    :  Automation Studio へのサードパーティデバイスの追加に関する具体的な情報については、B&R Automation Studio ヘルプの Explorer POWERLINK ヘルプコンテンツを参照してください。
  4. In-Sight ビジョンシステムの追加が正常に終了したら、POWERLINK ネットワークへ周期的に送信されるチャネルを有効化します。In-Sight ビジョンシステムとの通信が確立されたら、[Cyclic transmission] の値を [Write] (ビジョンシステムへ出力) または [Read] (ビジョンシステムから入力) に設定し、このチャネルのデータを送信します。
  5. 有効化されたチャネルも、システム変数にマップすることができます。

    :  コントロールブロックやステータスブロックなど、ビットレベルのデータには、倍精度整数名にビット位置指定子を追加してアクセスする必要があります。このリリースでは、ビット変数を直接マッピングすることはできません。
  6. 適切に設定されたプロジェクトは B&R PLC にダウンロードされ、その後、PLC は In-Sight ビジョンシステムを使用して、データの周期転送を開始します。
  7. In-Sight ビジョンシステムが正常に動いていることを確認するには、Automation Studio の Monitor モードに入り、ビジョンシステムの I/O マッピングを開いて、ModuleOK チャネルが TRUE であることを確認します。

AcquireImage の [トリガ] パラメータの設定

In-Sight ビジョンシステムを POWERLINK ネットワークに統合すると、POWERLINK ネットワークで画像を取り込むためにビジョンシステムをトリガできるようになります。AcquireImage 関数の [トリガ] パラメータを [産業用イーサネット] に設定すると、POWERLINK が有効化されるときにハードウェア支援のトリガモードが有効化されます。

  1. AcquireImage 関数のプロパティシートを開きます。
  2. [トリガ] パラメータを [産業用イーサネット] に設定します。
  3. In-Sight ビジョンシステムをオンラインにします。
  4. In-Sight ビジョンシステムのトリガを行うには、Inspection Control オブジェクト[コントロール] フィールドにある Trigger Enable と Trigger ビットを直接操作するか、Inspection Status オブジェクト[ステータス] 構造体にある Trigger Ready、Trigger Ack、Acquiring、および Missed Acq ビットをモニタします。
  5. Automation Studio で、Inspection Control チャネルから Trigger Enable ビットを True に設定し、Trigger ビットを False から True に切り替えます。また、Trigger Ready ビットは True に設定します。

In-Sight ビジョンシステムからのデータの取得

In-Sight Explorer スプレッドシートからのデータを B&R PLC で取得するには、WriteResultsBuffer 関数を使用して、データを POWERLINK ネットワークに書き込む必要があります。この関数は、FormatOutputBuffer 関数によって作成されたデータのバッファを取り、そのデータを B&R PLC の設定済みデータテーブルに書き込みます。その後、このデータはサイクル時間に関係なく、最大 4 ms おきに同期され、次の更新サイクル中に送信されます。

以下の手順に従って、In-Sight ビジョンシステムから B&R PLC に送信されるデータの書式設定の方法を説明します。

  1. まず、In-Sight Explorer を使用して、新規ジョブを作成します。
  2. [パレット] の [スニペット] タブから、次の 2 つのスニペットをスプレッドシートに追加します。[Acquisition] → [AcqCounter] および [Math & Logic] → [Random]
  3. AcquireImage セルを開いて、[トリガ] パラメータを [連続] に設定します。
  4. 空白のセルを右クリックして [関数の挿入] を選択し、[関数の挿入] ダイアログを開きます。左側のペインで [入出力] カテゴリをクリックし、その後、右側のペインで FormatOutputBuffer 関数をダブルクリックして、スプレッドシートに挿入します。
  5. [FormatOutputBuffer] ダイアログの [追加] ボタンをクリックします。これでセル選択モードになります。Random スニペットの「Scaled random number」セルを選択します。
  6. [FormatOutputBuffer] ダイアログの [追加] ボタンを再びクリックします。これでセル選択モードになります。AcqCounter スニペットのカウントセルを選択します。

  7. [OK] ボタンを押して、[FormatOutputBuffer] ダイアログを閉じます。
  8. 空白のセルを右クリックして [関数の挿入] を選択し、[関数の挿入] ダイアログを開きます。左側のペインで [入出力] カテゴリをクリックし、その後、右側のペインで WriteResultsBuffer 関数をダブルクリックして、スプレッドシートに挿入します。
  9. WriteResultsBuffer 関数の [バッファ] パラメータを、作成したばかりの FormatOutputBuffer 関数のデータ構造体へのセル参照として設定します。
  10. In-Sight ビジョンシステムをオンラインにします。
  11. In-Sight ビジョンシステムが正常に動いていることを確認するには、Automation Studio の Monitor モードに入り、ビジョンシステムの I/O マッピングを開いて、ModuleOK チャネルが TRUE であることを確認します。

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

B&R PLC から In-Sight Explorer スプレッドシートにデータを送信するためには、ReadUserDataBuffer 関数を使用して、データを POWERLINK プロトコルスタックからプルする必要があります。この関数は、FormatInputBuffer 関数内で作成されたデータ形式を取り、B&R PLC から受信したデータを読み取って、このデータを書式設定して In-Sight Explorer スプレッドシートに入れます。In-Sight ビジョンシステムをトリガして B&R PLC からユーザデータを読み取るためには、コントロールブロックの Set User Data ビットを PLC からトリガする必要があります。

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

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

  1. AcquireImage セルを開いて、[トリガ] パラメータを [連続] に設定します。

    :  連続トリガモードは、デモンストレーションのみを目的としています。連続トリガモードでは、ビジョンシステムはできる限り多くの画像を取り込み、PLC からイベントが開始されると、PLC からビジョンシステムへのデータ転送を直ちに観察できます。ランタイム操作のためにビジョンシステムを導入する準備ができたら、画像取り込みトリガのソースに基づいて、[トリガ] パラメータを再設定する必要があります。
  2. 空白のセルを右クリックして [関数の挿入] を選択し、[関数の挿入] ダイアログを開きます。左側のペインで [入出力] カテゴリをクリックし、その後、右側のペインで FormatInputBuffer 関数をダブルクリックして、スプレッドシートに挿入します。
  3. [FormatInputBuffer] ダイアログの [追加] ボタンをクリックして、32 ビットの浮動小数点数と 32 ビットの整数をリストに追加します。

  4. [OK] ボタンを押して、[FormatInputBuffer] ダイアログを閉じます。
  5. 空白のセルを右クリックして [関数の挿入] を選択し、[関数の挿入] ダイアログを開きます。左側のペインで [入出力] カテゴリをクリックしてから、右側のペインで ReadUserDataBuffer 関数をダブルクリックして、その関数をスプレッドシートに挿入します。
  6. ReadUserDataBuffer 関数の [バッファ] パラメータを、作成したばかりの FormatInputBuffer 関数のデータ構造体へのセル参照として設定します。
  7. FormatInputBuffer 関数に追加されたフィールドに基づいて、データアクセス関数が自動的にスプレッドシートに追加されます。
  8. In-Sight ビジョンシステムをオンラインにします。
  9. Automation Studio の Monitor モードに入り、データを強制的に UserData フィールドに入れて、In-Sight ビジョンシステムが正常に動作していることを確認します。
  10. Inspection Control オブジェクト[コントロール] フィールドで Set User Data ビットを設定します。
  11. Inspection Control オブジェクトの [コントロール] フィールドで「Set User Data」ビットの設定を解除します。ビジョンシステムは連続トリガモードになっているため、画像を取り込み、データ転送を観察することができます。

In-Sight ネットワークへの POWERLINK ネットワークの追加

[In-Sight Network] ペインに POWERLINK ネットワークを追加するには、次の手順に従って操作します。

  1. [システム] メニューで、[リモートサブネット] をクリックします。
  2. [エクスプローラリモートサブネットリスト] ダイアログ[追加] ボタンをクリックして、[サブネットの追加] ダイアログを開きます。
  3. 追加されるサブネットにわかり易い名前を付け、[名前] フィールドに入力します。
  4. [IP アドレス] フィールドの IP アドレスは、POWERLINK ネットワーク用に PLC でプログラミングされた "POWERLINK NAT subnet"  IP アドレスと一致する必要があります。
  5. [マスク] フィールドに「255.255.255.0」と入力します。
  6. ネットワークインフラストラクチャが POWERLINK ネットワークへルーティングできない場合、[Use Custom Gateway] オプションをチェックし、[ゲートウェイ] フィールドに標準 Ethernet ネットワークの PLC の IP アドレスを設定します。これにより、PC のルーティングテーブルにリモートサブネットへの経路が確立されます。
  7. [OK] ボタンをクリックして、変更を確定し、[サブネットの追加] ダイアログを閉じます。
  8. 新たに設定されたリモートサブネットが [Explorer Remote Subnet List] ダイアログに表示されます。[OK] ボタンを押して、ダイアログを閉じます。
  9. POWERLINK ネットワークが [In-Sight ネットワーク] ペインに表示されるようになります。

In-Sight ビジョンシステムでの POWERLINK 通信の無効化

POWERLINK ネットワークで動作するように設定された In-Sight ビジョンシステムを無効化するには、次の手順に従って操作します。

  1. In-Sight Explorer が実行されている PC から、In-Sight ビジョンシステムを使用可能な Ethernet ポートの 1 つに接続し、PC で DHCP に設定します。
  2. [システム] メニューで、[センサ/デバイスをネットワークに追加] をクリックします。
  3. [センサ/デバイスをネットワークに追加] ダイアログで、目的の In-Sight ビジョンシステムを選択し、[DHCP で IP アドレスを自動的に取得する] オプションを選択して、[適用] ボタンをクリックします。
  4. 設定が正常に変更されたことを示すメッセージの後、指定したビジョンシステムが [In-Sight ネットワーク] ペインに表示されます。
  5. スプレッドシート または EasyBuilder 開発環境のいずれかで、ビジョンシステムへの接続を開きます。
  6. [センサ] メニューで、[ネットワークの設定] をクリックし、[ネットワークの設定] ダイアログを開きます。
  7. [産業用イーサネットプロトコル] で [なし] を選択し、[OK] ボタンをクリックします。
  8. ビジョンシステムを再起動して、変更を適用します。