2台のS 7 -1200 PLC間のModbus TCPCommunication

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

2台のS 7 -1200 PLC間のModbus TCPCommunication

概要:概要

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

実験環境の設定

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

Modbus TCPCommunicationの基本設定

  • クライアント側は: 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 CLIENTCommandブロックを呼び出す必要があります。
  • このCommandブロックは、クライアントとサーバ間のTCP接続、コマンドメッセージの送信、応答の受信、サーバ切断の制御などのタスクを完了します。

MB_CLIENTの呼び出し

MB_CLIENTCommandブロックをプログラムブロック>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-Commandの詳細なステータス情報。

ピンのポインタタイプ

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.Communicationにデータを格納するための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

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

MB_CLCommandブロックを呼び出し、コード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に適切なCommunicationパラメータを設定するだけです。
  • S 7 -1200がModbus TCPクライアントとして複数のModbus TCPサーバに同時に接続する必要がある場合は、複数のMB_CLIENTを使用する必要があります。
  • Modbus TCP接続に複数のCommunicationジョブがあり、各ジョブがMB_CLIENTを1回呼び出す場合、各呼び出しで同じバックグラウンドデータブロックを使用する必要があり、CON NECTと同じパラメータを使用します。

ダウンロードとテスト。

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

結論:結論

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

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.