2台のS 7 -1200 PLC間のModbus TCP通信

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

2台のS 7 -1200 PLC間のModbus TCP通信

概要:概要

オートメーションおよび制御システムでは、PLC間の通信にModbus TCPプロトコルが広く使用されています。この記事では、クライアントのプログラミングと通信プロセスに焦点を当て、2つのS 7 -1200 PLC間でModbus TCP通信を実装する方法を説明します。

実験環境の設定

  • オペレーティングシステムWIN7 SP1 Professional 64ビット
  • プログラミングソフトウェア: STEP 7 Professional V13 SP1 Update 5
  • システムハードウェア- CPU 1212C6ES7212 - 1AE40 - 0XB0 V4.1およびCPU 1215C6ES7215 -1AG40- 0XB0 V4.1

Modbus TCP通信の基本設定

  • クライアント側は: CPU 1212C
  • サーバー·サーバー: CPU 1215C
  • IPアドレスNetWorkerクライアント192.168.0.6、サーバ192.168.0.4
  • ポート番号:Port NumberNetWorkerクライアント0サーバ502
  • ハードウェア識別子: 64
2台のS 7 -1200 PLC間のModbus TCP通信插图

ハードウェア識別子は、デバイス構成でPRO FINETインターフェイスをダブルクリックし、プロパティのハードウェア識別子で表示されます。

S 7 -1200クライアントとしてのプログラミングと通信手順

  • S 7 -1200クライアント側でMB CLIENT命令ブロックを呼び出す必要があります。
  • この命令ブロックは、クライアントとサーバ間のTCP接続、コマンドメッセージの送信、応答の受信、サーバ切断の制御などのタスクを完了します。

MB_CLIENTの呼び出し

MB_CLIENT命令ブロックをプログラムブロック>OB1 "のセグメント内で呼び出し、呼び出し時にバックグラウンドDBが自動的に生成されます。

2台のS 7 -1200 PLC間のModbus TCP通信插图1

MB_CLIENT足定義

  • REQサーバとの間の通信要求、立ち上がりエッジ有効。
  • DISCONNECTこのパラメータにより、Modbus TCPサーバとの接続の確立と終了を制御することができる。0接続の確立、1接続の解除。
  • MB MODE Modbus要求モード読み取り、書き込み、または診断を選択します。
  • MB_DATA_ADDR MB_CLIENTディレクティブによってアクセスされるデータの開始アドレス。
  • MB DATA LEN Data Lengthデータにアクセスされるビット数またはワード数。
  • MB_DATA_データレジスタへのポインタ。
  • CONNECT-接続記述構造へのポインタ。TCON_IP_v4データ型を使用します。
  • DONE最後のジョブが正常に完了し、出力パラメータDONEがすぐに“1”に設定されます。
  • BUSYジョブ·ステータス·ビット0処理中の“MB_CLIENT”ジョブはありません。1“MBCLIENT”ジョブは処理中です。
  • ERROR:エラー位: 0:エラーなし。:1:出现エラー,エラー原因表示STATUS。
  • STATUS-命令の詳細なステータス情報。

ピンのポインタタイプ

TCON_IP_v4構造体の作成:

  • 作成する必要があるグローバル·ブロックDB2 {{ぐろーばるでーたぶろっくDB2}}と、通信構成を格納するためのTCON IP v 4データ構造を定義します。
  • ダブルクリックしてDB2を開き、変数名“aa”、データ型“TCON IP v4”を定義します(TCON IP V4をダイアログにコピーします)。
  • Enterキーを押すとデータ型構造が作成されます。
2台のS 7 -1200 PLC間のModbus TCP通信插图2

TCON IP v 4データ構造のピン定義は以下の通りです。

2台のS 7 -1200 PLC間のModbus TCP通信插图3

注意

  • CON NECTピンの入力が必要シンボルアドレス指定その方法で
  • TCON_IP_v 4はシステムデータ型であり、PLCデータ型では作成されません。
  • LocalPort 一般的な使用デフォルト値0ローカルでランダムポートを使用する。

MB_DATA_PTRデータ·バッファの作成

1.一つのグローバルデータブロックDB3を作成し,作成方法は図2を参照することができ,上のステップで作成したDB2と共にCPUプログラムブロックに位置する;

生成された2つのDBブロック名

2台のS 7 -1200 PLC間のModbus TCP通信插图4

2.通信にデータを格納するためのWord配列のデータ型を作成します。MB_DATA_PTRデータバッファ構造

2台のS 7 -1200 PLC間のModbus TCP通信插图5

注意点は

  • 指定されたデータバッファはDBブロックまたはMメモリアアドレス中であることができる;
  • DBブロックは最適化されたデータブロックであってもよく,標準的なデータブロック構造であってもよい;
  • 最適化されたデータブロック構造には、プリミティブデータ型の配列が必要です。
  • 標準的なデータブロック構造の場合は、ピンをポインタで入力します。
  • MB_DATA_PTRで指定されたデータバッファは、MB_DATA_LENビット(入力ビット、出力ビットにアクセスする場合)又はワード(保持レジスタ、入力ワードにアクセスする場合)に十分な大きさでなければならない;
  • この記事では、標準データブロックデフォルトを例にプログラミングします。

DBブロック属性を標準ブロック構造に変更

2台のS 7 -1200 PLC間のModbus TCP通信插图6

クライアント侧の命令ブロックプログラミング完了

MB_CL命令ブロックを呼び出し、コード03を使用して2つの保持レジスタの値をサーバから読み出す。MB_=0、MB_DATA_ADDR =40001、MB_DATA_LEN =2

2台のS 7 -1200 PLC間のModbus TCP通信插图7

注意

  • この例では、パートナーは別のS 7 -1200で、Modbus TCPサーバをサポートする任意のデバイスと交換することができます。パラメータピンに適切な値を設定し、CON NECTに適切な通信パラメータを設定するだけです。
  • S 7 -1200がModbus TCPクライアントとして複数のModbus TCPサーバに同時に接続する必要がある場合は、複数のMB_CLIENTを使用する必要があります。
  • Modbus TCP接続に複数の通信ジョブがあり、各ジョブがMB_CLIENTを1回呼び出す場合、各呼び出しで同じバックグラウンドデータブロックを使用する必要があり、CON NECTと同じパラメータを使用します。

ダウンロードとテスト。

プログラムが完了したら、プロジェクト全体をS 7 -1200 PLCにダウンロードします。サーバ側の準備が完了したら、MB CLIENTコマンドブロックのREQピンの立ち上がりエッジをトリガして通信を開始します。読み込まれたデータはMB DATA PTRピンで指定されたDBブロック変数に格納されます。

結論:結論

以上の手順により、2つのS 7 -1200 PLC間のModbus TCP通信を正常に実現できます。クライアントのプログラミングには、効率的で信頼性の高い通信を実現するために不可欠な、詳細な命令ブロック構成とデータ構造の定義が含まれます。この通信方法は、産業オートメーションで広く使用されており、デバイス間のデータ交換のための安定したプラットフォームを提供します。

この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注