S7-1200 CPU集成PN口的ModbusTCP通信快速入门S7-1200 PLC需要通过TIA Portal博途软件进行组态配置,从TIA Portal V11 SP1开始软件中增加了S7-1200的Modbus TCP块库,用于S7-1200与支持Modbus TCP的通信伙伴进行通信。
目录:1 Modbus TCP通讯概述
1.1 通讯所使用的以太网参考模型
1.2 Modbus TCP数据帧
1.3 Modbus TCP使用的通讯资源端口号
1.4 Modbus TCP使用的功能代码
1.5 Modbus TCP通讯应用举例
2 SIMATIC S7-1200 Modbus TCP通讯概述
3 配置 S7-1200 CPU作为Modbus TCP Server与通信伙伴建立通讯
4 配置 S7-1200 CPU作为Modbus TCP Client 与通信伙伴建立通讯 5 本文说明
1 Modbus TCP通讯概述 MODBUS/TCP是简单的、中立厂商的用于管理和控制自动化设备的 MODBUS 系列通讯协议的派生产品,显而易见,它覆盖了使用 TCP/IP协议的“Intranet”和 “Internet”环境中 MODBUS报文的用途。协议的最通用用途是为诸如 PLC’s, I/O模块,以及连接其它简单域总线或 I/O模块的网关服务的。 1.1 通讯所使用的以太网参考模型 Modbus TCP传输过程中使用了 TCP/IP以太网参考模型的 5层: 第一层:物理层,ᨀ供设备物理接口,与市售介质/网络适配器相兼容 第二层:数据链路层,格式化信号到源/目硬件址数据帧 第三层:网络层,实现带有 32位 IP址 IP报文包 第四层:传输层,实现可靠性连接、传输、查错、重发、端口服务、传输调度 第五层:应用层,Modbus协议报文 1.2 Modbus TCP数据帧 Modbus数据在 TCP/IP以太网上传输,支持 Ethernet II和 802.3两种帧格式, Modbus TCP数据帧包含报文头、功能代码和数据 3部分,MBAP报文头 (MBAP、Modbus Application Protocol、Modbus应用协议)分4个域,共 7个字 节。 1.3 Modbus TCP使用的通讯资源端口号 在 Moodbus服务器中按缺省协议使用 Port 502 通信端口,在 Modus客户器程序 中设置任意通信端口,为避免与其他通讯协议的冲突一般建议 2000开始可以使 用。 1.4 Modbus TCP使用的功能代码 按照使用的通途区分,共有 3种类型分别为: 1) 公共功能代码:已定义好功能码,保证其唯一性,由 Modbus.org认可; 2) 用户自定义功能代码有两组,分别为 65~72和 100~110,无需认可,但不 保证代码使用唯一性,如变为公共代码,需交 RFC认可;3) 保留功能代码,由某些公司使用某些传统设备代码,不可作为公共用途。 按照应用深浅,可分为 3个类别: 1) 类别 0,客户机/服务器最小可用子集:读多个保持寄存器(fc.3);写多个保持寄 存器(fc.16)。 2) 类别 1,可实现基本互易操作常用代码:读线圈(fc.1);读开关量输入(fc.2); 读输入寄存器(fc.4);写线圈(fc.5);写单一寄存器(fc.6)。 3) 类别 2,用于人机界面、监控系统例行操作和数据传送功能:强制多个线圈 (fc.15);读通用寄存器(fc.20);写通用寄存器(fc.21);屏蔽写寄存器(fc.22);读 写寄存器(fc.23)。 1.5 Modbus TCP通讯应用举例 在读寄存器的过程中,以 Modbus TCP请求报文为例,具体的数据传输过程如下: 1) Modbus TCP客户端实况,用 Connect()命令建立目标设备 TCP 502端口连 接数据通信过程; 2) 准备 Modbus报文,包括 7个字节 MBAP内请求; 3) 使用 send()命令发送; 4) 同一连接等待应答; 5) 同 recv()读报文,完成一次数据交换过程; 6) 当通信任务结束时,关闭 TCP连接,使服务器可以为其他服务。
SIMATIC S7-1200 Modbus TCP通讯概 S7-1200 CPU 从 Firmware V1.0.2开始,软件 STEP7 V11 SP1版本 直接调用 Modbus TCP的库指令“MB_CLIENT”和“MB_SERVER”使用
Modbus TCP通信功能,如下图 2-1所示:
|