DeviceNet産業用ネットワーク入門
はじめに
コミュニケーションの重要性は、エンジニアでなくても理解できるはずです。 チームリーダーがチームのすべてのメンバーに指示を伝え、相互に情報を収集する必要があるように、どんなオートメーション・システムでも、システム内のすべてのパーツとの間で通信が必要です。
今日、さまざまな媒体、プロトコル、タイプの産業ネットワークが使用されています。 それぞれ、利点、欠点、および使用目的があります。 DeviceNetは、これらの産業用ネットワークの1つとして広く知られています。 DeviceNet はかなり古いネットワークで、以前ほど新しいインストールに使用されていないかもしれませんが、まだ多くのインストール・ベースがあり、理解し実装できるように時間を投資する価値は十分にあると思われます。 ネットワークとデバイスを接続する媒体は、ラウンドまたはフラットリボンネットワークケーブルを使用します。 ネットワークに接続されたデバイスはノードと呼ばれます。 1つのネットワークに接続できるノードの最大数は64台です。
DeviceNetは、そのシンプルさと費用対効果の高さからよく利用されている。 使用や設置が簡単なのは、複数のデバイス、InputsとOutputsを接続するために共通のネットワークが使用されることに起因します。 ネットワークのバックボーンとして共通のトランクケーブルが使用され、トランクとノードの間にはより細いケーブル/ドロップが接続されます。 これは、中央の場所から別のデバイスに行く複数のケーブルでリモートI/Oラックとは対照的に、より少ないケーブルです。

図に例として示されているスキャナは、バックプレーンを介してPLCに接続されています。
バックプレーンに接続されておらず、最終的にPLCと通信する前にControlNetに変換されるCN2DNのように、他のタイプのスキャナがあることは注目に値しますが、同じ機能を提供します。 スキャナは、ネットワーク内のすべてのノードにも接続されています。
RSNetworx for DeviceNet
ロックウェル・オートメーションのアプリケーションの中で、DeviceNetネットワークで動作するために使用するインタフェースはRSNetworx for DeviceNetです。

このアプリケーションは、ネットワークへのノードの追加、デバイスの設定、各種パラメータの監視、障害が発生したときやネットワーク上のデバイスが期待どおりに動作しない場合の障害検出の補助に使用されます。

Scanner モジュール (この場合は 1788-CN2DN のノード 01) をダブルクリックすると、スキャナの一般プロパティを表示するウィンドウがポップアップ表示されます。 有効なノードアドレスは、0~63の範囲です。 ほとんどの場合、新しいデバイスがネットワークに追加されたときに、重複するノードアドレスの衝突がないことを保証します。 デバイスのノードアドレスの設定には、いくつかの異なる方法があります。 一部のデバイスのアドレスは、ハードウェア自体で変更されます。 これは、次の図に示すように、最上位桁(MSD)と最下位桁(LSD)の2つのポット、または各ディップスイッチがスイッチを入れたときに合計ノードアドレス値に追加される10進値を表す5つのディップスイッチの形態である可能性があります。 これは、デバイス自体にあるインターフェイス (HMI) 上、または RSNetworx for DeviceNet を通して行われます。
Downloading the EDS File
製造業者が新しいデバイスを設計するとき、それは特定の機能を実行するために行われます。 この機能を実行する際、デバイスは通常、デバイスからの出力(Input to the Scanner)の形で測定データを送信し、デバイスへの入力(Output from the Scanner)として指示を必要とします。 デバイスに設定可能なパラメータと、デバイスが必要とする、または生成するI/Oのタイプ/フォームを明確に示すために、メーカーは電子データシート(EDSファイル)を作成します。 これは、E3 電子モーター過負荷の eds ファイルの次のメモ帳ウィンドウに見られるように、アプリケーションがデバイスを識別するのに役立ち、理解するために意味のある説明と設定可能な値をパラメーターに追加するシンプルなテキスト ファイルです。

一度、EDS ファイルがデバイス用にダウンロードされると、次の手順に従って、RSNetworx for DeviceNet にインストールすることができます。

- EDS Wizardウィンドウが開きます。

- Nextをクリックします。

- ‘Register an EDS file(s)’ を選択し、[Next]をクリックします。

- EDSファイルが保存されているところをブラウズします。
- この場合、単一のファイルが選択されているので、[単一のファイルを登録]ラジオボタンを選択する必要があります。
- [次へ]をクリックします。

- [Next


- Click Next

- ES ファイルは正常にロードされて、機器をネットワークに追加できる状態になっています。
Memory Mapping
あらゆるテクノロジーをフル活用できるようにするには、パズルがどのように組み合わされるかを調べ、それを理解することが一番です。 あるデバイスのデータが他のデバイスのレジスタにどのように収まるかを理解することで、定義された標準に準拠する、スペースを節約するために必要なデータのみを使用する、または論理的に意味をなす形で整理するなどの操作が可能になる。 これらの記述の意味を説明するために、E3モーターオーバーロードの話を続けよう。 ユーザー マニュアルを見ると、このデバイスにはいくつかの異なる入力および出力アセンブリがあり、そこから選択することができます。
例として、次の図は、Rockwell Automation Publication 193-UM0021I-EN-P から引用した、E3 を使用する場合に選択可能な入力アセンブリの 1 つを示しています。 左の列は、このアセンブリが選択された場合、2バイトのデータが生成されることを示しています。 各ビットの機能も説明されており、例えば、Byte 0: Bit 0は、E3によって制御/監視されているモーターがトリップしたかどうかを検出するために使用することが可能です。 これはスキャナの入力レジスタにマッピングされます。 入力レジスタは、次に、PLCで制御ロジックの一部を変更するために使用したり、OPCサーバー/クライアントの組み合わせでSCADA/HMIシステムに取り込んで表示することもできます。
E3 デバイスはモーターを監視するだけではなく、それを制御することもできるので、ユーザーがデバイスで行うべき機能に応じて出力アセンブリを選択することもできます。

ここで選択された出力アセンブリは「BASIC CMD」と呼ばれます。 このアセンブリは1Byteのデータで構成されています。 このアセンブリから任意のビットを使用するために、例えば、Byte 0: Bit 2の記述は、「フォルトリセット」を示しています。 これは、スキャナの出力レジスタにマッピングすることで、トリップ状態が発生した後にモータをリセットするためのロジックをPLCにプログラムできることを意味する。 ロジックとは別に、SCADA/HMIからPLCにコマンドを送信することもできます。PLCはコマンドをスキャナに出力し、E3デバイスに命令を中継して、最終的にトリップ状態をリセットします。 この概念を理解するために、これがどのように行われるかを示す次の図を見てください。

Scanner の入力メモリ/レジスタは青で表示されています。 DWORDは全部で124個あります。 1つのDWORDは32ビットです。 ノードとそのデータはオレンジ色で表示されます。 このデータを使用するには、Scannerにマッピングする必要があります。 ノードからのデータを DWORD 2 にマップする場合、ビット 0 から始まる連続した形式で、次のように表示されます。 このオフライン ファイルに、新しいスキャナーと、この記事で例として使用されている E3 モーター過負荷が追加されます。
Step 1 – RSNetworx for DeviceNet
- Click on the Windows start button
- Browse to RSNetworx for DeviceNet and open the application

Step 2 – Add the Scanner
- Browse through the Hardware tree to the correct device or alternatively, ツリーエリア内で右クリックします。

- [ハードウェアの検索]をクリックします
- 開いた「ハードウェアの検索」ウィンドウで、次のように入力します。 1756-DNB’

- Click ‘Find Next’
- デバイスが見つかる領域を中心にツリーが展開します。
- デバイスをクリックして、グラフ領域にドラッグ アンド ドロップします。


Step 3 – E3 Motor Overload
- 前のステップと同じサブステップがここで行われることもあります。
- ハードウェアツリーを右クリックします。
- [ハードウェアの検索]を選択します。
- ‘E3’ と入力し、[次の検索]をクリックします。


ここまでで、ネットワーク構成にデバイスがロードされました。 次のステップでは、デバイスをスキャナのスキャンリストにロードする必要があります。 スキャンリストにデバイスを追加すると、スキャナは、入力データを読み取り、出力データを書き込むことによって、デバイスと積極的に通信するように指示されます。 さらに、前のセクションで説明したように、デバイスからのデータをスキャナのメモリにマッピングする必要があります。
ステップ4 – E3モータ過負荷を設定する
- E3デバイスをダブルクリックします。
- [Parameters]タブを選択します。

Parameter 60は、上に表示されているように、Input Assembly(入力アセンブリ)です。 パラメータ59はOutput Assemblyです。 異なるアセンブリに対して行われる選択は、Input Assemblyが100で、Output Assemblyが105です。 E3 Motor Overloadのユーザーマニュアルを参照すると、これらのアセンブリ選択がどのようなデータで構成されているかがわかります。
注意:異なるアセンブリを選択することもできますが、チュートリアルのこの部分の目的では、これらのアセンブリが使用されます。 このアセンブリを埋めるデータは、パラメータ61、62、63、64の組み合わせで、それぞれ2バイトのデータを埋めます。
- 「I/Oデータ」タブを選択します。

最初に見たところ、データはポーリング、コス(状態の変化)、サイクリックとして利用できることが分かります。 注:これらのメッセージ・タイプの説明はこの記事の範囲外です。 最初の2バイトは’Device Status’を表示するだけなので、このワードの中にどんなデータが含まれているのか曖昧に思われるかもしれません。

つまり、これらのパラメータは、実際にはパラメータ21、1、2、3に含まれるデータで構成されています。

‘I/O Data’ タブで見ているようにパラメータ21がデバイスステータスであり、パラメータ61から64は、’Parameter’61から’Data’64へのデータです。

- 「デバイスの状態」ウィンドウが開き、最初のWord/2Byteに含まれるデータが表示されます。
- 一番上のParametersにスクロールします。

- Parameters 1, 2, 3 が表示されます。 これは、モータに接続された3つの異なる位相の電流です。
この場合、出力アセンブリが何で構成されているかを識別するのは、より簡単な作業です。 これは、純粋にユーザーマニュアルを検査することによって行うことができます。

Step 5 – スキャンリストの設定
- Scanner (1756-DNB.NET) をダブルクリックし、Scanlist を設定します。 Node 00)

- Scanlistタブをクリック

- Node 1位置にあるE3は、スキャンリストに追加可能な状態になっています。
- 「Automap on Add」チェックボックスにチェックを入れたまま、「>」ボタンをクリックします。

- ‘Edit I/O Parameters…’ボタンをクリックします

- ここでメッセージタイプと入力/出力サイズが選択されます。
- これらのデフォルトの選択はすべてE3デバイスの設定に対応しているので、[OK]をクリックします。
ステップ6 – デバイスのI/Oをスキャナにマッピング
- [入力]タブを選択します。

E3の入力データは、連続したフォーマットでスキャナの最初の空きスペースに自動的にマップされました。 これはネットワーク構成に関する限り便利ですが、データを理解しやすい形式にするために、PLC内でデータを分割するコーディング技術が必要になります。
- ノード01を選択した状態で、[アンマップ]をクリックします。

- データはスキャナのメモリからアンマップされています。
- [詳細]をクリックします。

- 「詳細マッピング」ウィンドウが開きます。
- ここでデータを論理的に分離し、各ワードを独自のDWordスロットへマップし、ビット0から開始することができます。
- ‘Map From’ フィールドでは以下のものを選択してください。
- Message:Polled
- Byte:0
- Bit:0
- In ‘Map To’ field, select these:
- Memory:Assembly Data
- DWord:0
- Bit.DWORD>
- Byte:0
- Message:Memory:Polled
- Byte:Bit:0
- ‘Bit Length:’ で、16

- これにより、デバイスからの最初の 2 バイト (Byte 0 と 1) がスキャナの DWord 0 にマップされます。
- [マッピングの適用]をクリックします。
- マップビューで2番目のエントリをハイライトします。

- 「マッピング元」フィールドでは、次のものを選択します。
- Message:Polled
- Byte:2
- Bit:0
- In ‘Map To’ field, select following:
- Memory:Assembly Data
- DWord.DW
Byte:0
- Message:Polled
- ‘Bit Length:’ セレクターで、16

- これは、デバイスからスキャナの DWord 1 へ Byte 2 と 3 をマッピングします。
- [マッピングの適用]をクリックします。
- マップビューの3番目のエントリをハイライトします。

- 「マッピング元」フィールドでは、次のものを選択します。
- Message:Polled
- Byte:4
- Bit:0
- Map To フィールドでは、以下を選択します:
- Memory:Assembly Data
- DWord:2
- Bit:0
- ‘Bit Length:’ セレクターで、16

- これにより、デバイスからスキャナの DWord 2 に Byte 4 および 5 がマップされます。
- [マッピングの適用]をクリックします。
- マップビューの4番目のエントリを強調表示します。

- 「マップ元」フィールドでは、次のものを選択します。
- Message:Polled
- Byte:6
- Bit:0
- In ‘Map To’ field, select these:
- Memory:Assembly Data
- DWord:3
- Bit:0
- ‘Bit Length:’ セレクターで、16

- これにより、デバイスからスキャナの DWord 2 に Byte 4 および 5 がマップされます。
- Click ‘Apply Mapping’

- デバイスからの入力の詳細マッピングは完了しました。
- Click ‘Close’

- 入力マッピングがこのデバイスの分割されました、それぞれはスキャナで自身の DWord スロットに分割されています。
- ‘Output’ タブを選択します。

- 出力の自動マッピングも最初の空きスペースに実行されました。
- Mapping is now finished.
- Click ‘OK’.
Conclusion
This is only an effective starting point with DeviceNet as an industrial network.これは、産業用ネットワークとしての DeviceNet の効果的な出発点です。 この作品では、基本的なオフライン構成が試みられ、高度な機能にも少し触れました。 読者の皆様には、このトピックについてさらに読み進めていただき、オンラインシナリオで行った場合に構成がどのように異なるかを調査していただきたいと思います。 ネットワーク上の異なるデバイスで「遊ぶ」、高度なマッピングで異なる方法でデータを分離する、さらに RSLogix のメッセージ命令を使用して、異なる入出力アセンブリを通して公開されていない他のパラメータをコードで使用する方法を調べるなどです。
Leave a Reply