- 1. 概述
- 2. 实验环境设置
- 3. Modbus TCPKommunikation基本配置
- 4. S7-1200作为客户端的编程及Kommunikation过程
- 5. 调用 MB_CLIENT
- 6. CONNECT 引脚的指针Typus
- 7. 创建 MB_DATA_PTR Daten缓冲区
- 8. 客户端侧abgeschlossen.指令块编程
- 9. Download与测试
- 10. 结论
概述
在自动化和控制Das System中,Modbus TCPVereinbarung被广泛用于PLC之间的Kommunikation。本文将探讨如何在两台S7-1200 PLC之间实现Modbus TCPKommunikation,重点介绍客户端的编程和Kommunikation过程。
实验环境设置
- OperationenDas System: WIN7 SP1 专业版 64 位
- 编程软件: STEP 7 Professional V13 SP1 Update 5
- Das System硬件: CPU1212C 6ES7212-1AE40-0XB0 V4.1 和 CPU1215C 6ES7215-1AG40-0XB0 V4.1
Modbus TCPKommunikation基本配置
- 客户端: CPU 1212C
- Der Server: CPU 1215C
- IP Adresse: 客户端 192.168.0.6, Der Server 192.168.0.4
- 端口Nr.: 客户端 0 服务端 502
- 硬件标识符: 64

硬件标识符是在“AusrüstungStrukturen”中,双击PROFINET Schnittstelle,然后在“属性中的“硬件标识符”中Überprüfen。
S7-1200作为客户端的编程及Kommunikation过程
- S7-1200 客户端侧需要调用 MB CLIENT 指令块。
- 该指令块主要abgeschlossen.客户机和Der Server的 TCP Verbindung、Befehle senden消息EmpfangAntwort以及控制Der Server断开的工作任务。
调用 MB_CLIENT
将MB_CLIENT 指令块在程序块>OB1”中程序段里调用,调用时会自动生成背景 DB,Klick auf确定即可

MB_CLIENT 各脚定义:
- REQ: 与Der Server之间的KommunikationBitte,AufstiegWirksam。
- DISCONNECT: 通过该Parameter,可以控制与ModbusTCPDer Server建立和终止Verbindung。0:建立Verbindung;1:断开Verbindung。
- MB MODE: AuswahlModbusBitte模式(Lesen、写入或诊断)。
- MB_DATA_ADDR: 由”MB_CLIENT“指令所访问Daten的Ausgang Adresse。
- MB DATA LEN:DatenLänge:Daten访问的位或字的个数。
- MB_DATA_PTR: 指向ModbusDatenRegister.的指针。
- CONNECT:指向Verbindung描述结构的指针。使用TCON_IP_v4Datentyp。
- DONE: 最后一个作业成功abgeschlossen.,立即将输出ParameterDONE置位为”1″。
- BUSY:作业Status位:0:无正在处理的”MB_CLIENT”作业;1:”MBCLIENT’作业正在处理。
- ERROR:Fehler.位: 0:无Fehler.:1:出现Fehler.,Fehler.原因ÜberprüfenSTATUS。
- STATUS: 指令的详细Status信息。
CONNECT 引脚的指针Typus
创建TCON_IP_v4结构:
- 需要创建一个全局Daten块 DB2,并在Von denen定义TCON IP v4Daten结构,用于存储Kommunikation配置。
- 双击Öffnen. DB2,定义变QuantitätName为“aa”,Datentyp为TCON IP v4” (可将 TCON IP V4 拷贝zu对话框中) ;
- Klicken“回车”按键,该Datentyp结构创建完毕

TCON IP v4Daten结构的引脚定义说明如下:

注意:
- CONNECT引脚的填写需要用符Nr.寻址的方式
- TCON_IP_v4 是Das SystemDatentyp,不是在 PLC Datentyp中创建
- LocalPort 一般使用默认值 0,意思是本地使用随机端口
创建 MB_DATA_PTR Daten缓冲区
1.创建一个全局Daten块 DB3,创建方法可以参考图 2,连同上步创建的 DB2 位于 CPU 程序块中;
生成的两个 DB 块Name:

2.建立一个 Word 数组的Datentyp,以便Kommunikation中存放Daten;MB_DATA_PTR Daten缓冲区结构:

注意
- 指定的Daten缓冲区可为 DB 块或M存储区Adresse中;
- DB 块可为优化的Daten块,也可为标准的Daten块结构;
- 若为优化的Daten块结构,必须是基本Datentyp数组;
- 若为标准的Daten块结构,以指针的方式填写该引脚;
- MB_DATA_PTR 指定的Daten缓冲区必须足够大,至少达zuMB_DATA_LEN 个位 (访问输入位、输出位时) 或字 (访问保持Register.、输入字时) ;
- 本文以标准的Daten块 (默认) 为例进行编程。
修改DB块属性为标准的块结构:

客户端侧abgeschlossen.指令块编程
调用 MB_CLIENT 指令块,使用Funktionscode 03 从Der Server中Lesen 2个保持Register.的值,MB_MODE =0,MB_DATA_ADDR =40001,MB_DATA_LEN =2

注意:
- 对于本例来说,伙伴是另一个 S7-1200,实际上也可换做任意支持 Modbus TCP Der ServerDie Ausrüstung,只需在Parameter引脚设置合适值,并在 CONNECT 设置Richtig.Kommunikationsparameter即可。
- 如果 S7-1200作为 Modbus TCP 客户端需要同时Verbindung多个 Modbus TCP Der Server,那么需要使用多个 MB_CLIENT;
- 如果一个 Modbus TCP Verbindung里有多个Kommunikation作业,且每个作业调用一次 MB_CLIENT ,那么每次调用必须使用相同的背景Daten块,CONNECT 也使用相同的Parameter
Download与测试
abgeschlossen.编程后,将整个项目DownloadzuS7-1200 PLC。在Der Server侧准备就绪后,通过触发MB CLIENT指令块的REQ引脚的Aufstieg来启动Kommunikation。Lesenzu的Daten将被存放在MBDATA PTR引脚指定的DB块变Quantität中。
结论
通过以上步骤,两台S7-1200 PLC之间的Modbus TCPKommunikation可以被成功实现。客户端的编程涉及zu详细的指令块配置和Daten结构的定义,这对于实现高效且可靠的Kommunikation至关重要。这种Kommunikation方法在Industrielle Automatisierung中的应用非常广泛,为Ausrüstung间的Daten交换提供了一个稳定的平台。
Antwort veröffentlichen