概要3100/3150-MCMモジュールを応用してAB PLCとM0DBUSネットワーク通信方法を実現し、この方法はM0DBUSプロトコルを使用し、AB PLCのアプリケーションプログラムを開発することによって、マスター·スレーブ構造ネットワーク通信を実現する。
I.はじめに はじめに
現在、産業制御現場ではPLCや各種スマートメーターが生産プロセス制御に使用されています。制御規模の拡大や制御機能の複雑化に伴い、複数のPLCと一定数の周辺機器が制御システムを構成する必要があります。
M0DBUSは米国M0DIC0N社が制定したシリアル伝送プロトコルであり、マスター·スレーブコマンド応答型通信を実現することができる。産業用通信および分散制御システムプロトコルとして、多くの企業のPLCおよびスマートメーターによってサポートされている。
A-B社Allen-Bradleyは、高度な通信およびデータ処理機能を有する米国のプログラマブルコントローラを生産する主要なメーカーの一つである。水処理業界では、生産プロセス制御のために多数のプログラマブル·コントローラが使用されており、その中でA-B社のPLCがかなりの割合を占めている。
異なるハードウェアメーカーは異なる産業通信と分散制御システムプロトコルをサポートするため、AB PLCとM0DBUS計器が制御ネットワークを構成することを実現し、設備のネットワークを実現するためには、相互通信プロトコルの切り替え問題が存在する。
3100/3150-モジュールはPR 0s 0FT TECHN 0L0社が発売したAB PLC共通フレームワーク上にしたM0DBUS通信インタフェースモジュールである。このモジュールはAB PLCとM0DBUSフィールド設備間の通信を実現でき、それによってAB PLCの通信能力を増強させ、AB PLCとM0DBUSネットワークの相互接続を柔軟に実現し、複雑な制御要求を完成させる。
本記事は水道プラントポンプステーションの集散制御システムの設計に基づき、AB社のsLCシリーズのPLCが3150-MCMモジュールとM0DUsネットワークで接続する実現方法を重点的に紹介する。
II.はじめに システム·ネットワーキング·プログラム
水道プラントポンプステーションの分散制御システムは、一般的な論理制御を実現するだけでなく、シミュレーション量を含む数値処理とネットワーク通信などの機能を備えている。現場での実際応用において、システム使用の電気機保護装置sepam2000はM0DBUS通信プロトコルを採用し、システム制御機能の需要から、AB PLCでM0DBUSプロトコルに対するサポートを実現することを要求する。3150-MCMモジュールを使用してM 0 DBUSデバイスネットワークを構築しました。
システムのネットワーク構造はM0DBUSプロトコルの規範に従い、標準的なシンプルなマスター·スレーブバス構造を採用し、PLCをホストとして通信を開始し、複数台のモータ保護装置sepam2000をスレーブとして、各スレーブは伝送を進める前に必ずホストからの許可信号を待つ必要がある。ホストは、通信チェーン上のスレーブから情報を送受信することができ、スレーブは、常に受動的であり、ホストからの通信に応答する準備ができている
お願いします!デバイス層部分ネットワーク構造を図1に示します。

III.ザ·フー Sepam2000およびM 0 DBUSプロトコルの紹介
am 2000は、モータ
am 2000と远隔
M0DBUの通信は、マスタ/スレーブ式データ伝送を採用し、マスタ/スレーブ構造の通信の形態において、マスタが1台、複数台のスレーブがあり、マスタが各スレーブと双方向通信を行うことができ、各スレーブ間は通信できない。ホストが各スレーブと通信するメッセージ形式はリクエスト/レスポンスフレーム方式である.各通信はホストによって開始され、ハンドシェイクは不要です。ホストは、リクエストフレームを発行した後、応答時間がタイムアウトするまでスレーブが応答フレームを返すのを待つ。スレーブは、データを提供することによってのみ、ホストの要求に応答するか、または要求に応じて対応するアクションを行うことができる。
M0 DBUプロトコルは、ホスト要求のフォーマットを定義し、WTRU要求のアドレス指定、要求動作の機能符号化、伝送データ及び誤りチェックなどを含む。要求中のアドレスすなわちアドレスコードは、ホストメッセージを受信するスレーブアドレスを提供し、スレーブはアドレスに基づいて当該要求を受け入れるか否かを判別し、ユーザはスレーブ毎のアドレスを設定しなければならない。機能コードは、指定されたアドレス指定スレーブにどのような動作を完了するかを指示します。データフィールドには、スレーブがタスクを実行するために必要な追加情報が含まれます。例えば、機能コード03は、スレーブの保持レジスタを読み出してその内容を返すことを示しており、データ領域内の情報は、どのレジスタから読み出すか、読み出す必要があるレジスタの数をスレーブに伝えなければならない。エラーチェックフィールドは、スレーブに情報の完全性チェックの方法を提供します。同様に、応答のフォーマットもM0DBUプロトコル構造を採用し、スレーブ応答の機能符号化は、受け付けられた要求の機能符号化に対応し、データフィールドは要求に応じて返されるデータを含み、エラーチェックフィールドは、ホストが情報内容が有効であるかどうかを確認することを可能にする。
M0 DBUプロトコルには24種類の機能コードがありますが、すべてがsepam2000に適しているわけではなく、実際にはsepam2000は以下の限られた数種類しかサポートしていません。
0 1出力ステータスの読み取り
0 2入力状態の読み取り
0 3内部レジスタ内容の読み込み
0 4入力レジスタ内容の読み込み
05単一出力状態の強制
0 6個々のレジスタの内容をリフレッシュする
0 7例外イベントステータスの読み取り
0 8診断テスト
11読み取りカウンタとステータスワード
15複数の出力状態の強制
16複数のレジスタ内容のリフレッシュ
ホストが2番のsepam2000スレーブレジスタ0805h-080Ahの内容を読み出したい場合、機能03を呼び出す必要がある。ホスト要求とスレーブ応答のフレーム形式は以下のとおりです。
要求フレーム
| アドレス:address | 機能番号の説明 | データ開始レジスタのアドレッシング | レジスタの数 | エラー検証フィールド |
| 2 | 03 | 0C05 | 06 | CRC16 |
応答フレーム
| アドレス:address | 機能番号の説明 | バイトカウント | データレジスタ0805 | …… | データレジスタ(080A) | エラー検証フィールド |
| 2 | 03 | 0C | Data1 | …… | Data6 | CRC16 |
ホストがsepam2000スレーブ2のレジスタ0810hの内容をフラッシュしてレジスタの内容を1000に設定することを望む場合、関数06を呼び出す必要がある。ホスト要求とスレーブ応答のフレーム形式は以下のとおりです。
要求フレーム
| アドレス:address | 機能番号の説明 | レジスタアドレス指定 | 値の設定 | エラー検証フィールド |
| 2 | 06 | 0C0E | 1000 | CRC16 |
応答フレーム受信した要求フレームを返します
| アドレス:address | 機能番号の説明 | レジスタアドレス指定 | 値の設定 | エラー検証フィールド |
| 2 | 06 | 0C0E | 1000 | CRC16 |
sepam2000のフレームフォーマットおよび実行される機能は明確に定義されており、自由に変更することはできません。通信中、ホストと各スレーブの対応関係が正しいことを確認する。また、ユーザは、実際のニーズに応じて、適切な伝送ボーレート、文字パリティ、停止ビット数などの通信パラメータ設定を設定することができる。
IV.その他 AB PLCにおけるM 0 DBUプロトコルの実装
1.&& MCMモジュールの通信制御
PR0s0FT TECHN0L0GY社の3100/3150-MCM通信モジュールであり、ネットワークインタフェースに相当し、PLCはMCMモジュールを介してM0DUsバスに接続される。MCMモジュールは、AB PLCにM 0 DBUプロトコルを迅速かつ確実に実装します。
3100/3150-MCM通信モジュールは、ホストモードまたはスレーブモードのいずれかを選択できます。MCMモジュールがホストとして設定されると、バスに接続されたスレーブを制御し、M0 DBUプロトコル01、02、03、04、05、06、15、16の8つの機能エンコーディングをサポートし、最大100のカスタマイズされた要求命令を送信することができ、“4ブロードキャスト”方式で要求を発行することをサポートする。MCMモジュールがスレーブとして指定された場合、ホストの要求に応答して、M0 DBUプロトコル01、02、03、04、05、06、08、15、16の9つの機能符号化をサポートすることができる。同時に、3100/3150-MCM通信モジュールは、ホストモードまたはスレーブモードのいずれでも、AsCIIおよびRTUの両方の伝送モードをサポートする。
AB PLCがホストモードとして3100/3150-MCM通信モジュールを構成する場合、PLCは周期スキャン方式を採用し、要求命令の順序でスレーブとデータを交換する。各スキャンの間、プロセッサは、論理的書き込み命令を使用して、ホストメモリ内の各スレーブに出力されるデータを、記憶された機能命令に従って指定されたスレーブに送信する3100/3150-MCM通信モジュール内の送信バッファに送信する。各スレーブが応答した後に返されたデータは、3100/3150-MCM通信モジュールによって受信バッファに保存され、PLCは論理読み取り命令を使用して対応する入力データストアにデータを移動する。サイクルを繰り返して、ホストとスレーブのデータを周期的にリフレッシュさせます。データフロー全体を図2に示します。

2.と。MCMモジュールとM 0 DBUのハードウェア接続
MCMモジュールは、Rs232Cと互換の標準通信インタフェースを用いているが、実用上はマルチキャスト通信を実現するため、Rs485 方式を採用している。図3は、3150-MCMモジュール9コアシリアルポートとM 0 DBUSの接続図です。

3. MCMモジュールのバッファ管理
PLCとMCMモジュール間では,モジュール入出力イメージファイルを介してデータ転送を行う。PLCがデータを書き込むとき、データを出力イメージファイルに書き込み、次いで3100/3150-MCM通信モジュールは、対応するバッファ位置にデータをマッピングするPLCがデータを読み取るとき、マッピングアドレスに応じて、モジュールバッファ内の対応するアドレスのデータを入力イメージファイルから読み出す。イメージファイルのデータ転送単位は50バイトのデータブロックであり、PLCは1つずつデータブロックを循環的に転送する必要がある。
MCMは、バッファをデータ転送の単位サイズに応じて、いくつかのブロックに分割し、1つ1つにラベル付けし、ブロック番号で対応付けし、3つのブロックに分割し、データ、コマンド、パラメータ設定に使用する。データ記憶領域はブロック番号0から始まり、ブロック番号79で終わり、中間に4000バイトのスペースがあり、受信データと送信データを格納し、ホストとスレーブがデータを交換する場所である命令記憶領域はブロック80からブロック99まで、合計1000バイトであり、ホストモードで、モジュールの機能命令表を格納し、スキャン毎に機能命令リストに従ってスレーブに要求フレームを発行するブロック番号255の最初の40バイトは、モジュールを初期化するために特別にモジュール設定パラメータ記憶領域として定義される。
通信過程において、まずホストに対して初期化を行い、すなわち255番目のブロック番号に対応するバッファ内容に対してパラメータ設定を行い、主に通信ポートの設定、モジュールバッファの詳細区分を定義する。以下のパラメータがあります。
(1) MCM 通信モジュールの2つの独立した通信インタフェース設定を定義します。ホストモードまたはスレーブモードの選択、文字パリティ検査の定義、停止ビットの個数、伝送のボーレート、応答遅延などのパラメータを含む。
(2) モジュールのバッファに受信データを格納するデータストアを定義する.受信データストアの
(3) モジュールのバッファに送信データを格納するデータストアを定義する.送信データ·ストアの
(4) モジュールのバッファ内の命令ストアを定義します。命令記憶領域固定は80番目の番号ブロックから始まるので、記憶領域のブロック数を指定するだけでよい。
4 .。MCMモジュールの機能命令設定
MCMモジュールがホストモードであるとき、機能命令リストはモジュールバッファ内の命令ストアに格納される。ホストがスレーブに要求を出すと、モジュールは命令記憶領域から機能命令を逐次読み出し、M0DUs要求フレームフォーマットに従ってデータを送信する。
命令ストア内の各機能命令の具体的な内容は以下の通りです。
| 1 | モジュール通信ポートの選択 |
| 2 | マシンの住所。スレーブは、データを受信する際に、自局アドレスの値を受信局アドレスと比較し、情報が自局宛であるか否かを判定する。一方、ホストは、受信時に受信局アドレスと送信局アドレスを比較して、正しいスレーブ応答であるかどうかを判断する |
| 3 | 命令の機能コード |
| 4 | ソースアドレスです。つまり、ホストが送受信するデータのバッファ内の開始データアドレスです。 |
| 5 | データの長さ。つまり、ホストが送受信するデータのバイト数 |
| 6 | 宛先の住所すなわち、受信または応答するデータのレジスタアドレスです。 |
| 7 | データの種類です読み書きデータが2バイト浮動小数点数か1バイト整数かを示すために使用されます。 |
| 8 | ポーリング時間 |
もしホストが1 号通信インタフェースで2 号 sepam2000を読み取り、マシン中レジスタ0805h-080Ahの内容をモジュールバッファの50番目のバイトから始まる連続する6つのバイトに併置することを望むなら、
機能命令の内容は以下の通りです。
| ポート番号:Port Number | スレーブのアドレス | 機能コード化 | ソース·アドレス | データ長さ | 宛先アドレス | タイプの種類 | 時間は |
| 1 | 2 | 3 | 50 | 6 | 0805 | 00 |
5. AB PLC通信プログラムの開発
プログラムが実行されると、最初のスキャンサイクルでは、MCMの状態、すなわちMCMモジュールの初期化が設定されなければならない。
通信プログラムにおいて、PLCは、入出力イメージファイルにおいて、MCMバッファに対して現在及び後続の読み書きポインタを設定し、それぞれ現在のMCMバッファデータブロック番号、後続のバッファデータブロック番号を指す。MCMがデータ転送許可状態、すなわちI1 1/0 = 1,00 1/0 = 0にある場合、PLCは現在の読み書きポインタを判別し、対応する読み書き論理命令を呼び出す。ポインタがデータを受信するデータストアを指す場合、PLCはMCMモジュールからデータを受信しポインタがデータを送信するデータストアを指す場合、PLCはMCMモジュールにデータを送信しポインタが命令ストアを指す場合、PLCは機能命令をMCMモジュールに送信する。毎回1つのデータブロックの転送を実行し、転送后、后続の読み书きポインタをの読み书きポインタにきし、それにより次のスキャンサイクルで次のデータブロックの転送を行う。PLCは自動的に周期的にスキャンし、データ伝送の要件を満たすために、プログラムされた機能命令に従ってスレーブの入出力データに送受信する。
PLCの論理命令とMCMの通信原理に基づき,図4に示すホスト通信プログラムを描いた.
構造ブロック図。

V.。 おわりに
現場試運転を経て、1 台のAB PLCと13 台のsEPAM2000からなるM0DUsネットワーク接続を実現した。実際の応用により、この方式で構成されたシステムは構造が簡単で、応用が便利で、複雑な制御ニーズを満たすことができることが証明された。
发表回复