西门子CPU1511-1PN 6ES7511-1AK02-0AB0SIMATIC S7-1500, CPU 1511-1 PN, CENTRAL PROCESSING UNIT WITH WORKING MEMORY 150 KB FOR PROGRAM AND 1 MB FOR DATA, 1. INTERFACE: PROFINET IRT WITH 2 PORT SWITCH, 60 NS BIT-PERFORMANCE, SIMATIC MEMORY CARD NECESSARY 如何对 S7-1500 CPU 和 S7-1200 CPU 之间的 Modbus/TCP 通信进行编程和参数化 ? S7-1500 CPU 和 S7-1200 CPU 之间可以实现 Modbus/TCP 的通信。在 S7-1500 CPU 和 S7-1200 CPU 中调用 “MB_CLIENT” 和 “MB_SERVER” 指令并参数化。 “MB_CLIENT” 指令通过 CPU 的PROFINET接口实现 Modbus/TCP 客户机通信。使用 “MB_CLIENT” 指令在客户机和服务器之间建立连接,发送请求和接收响应,和控制连接断开。“MB_CLIENT” 指令在独立的功能块"ModbusClient"中被调用。 "MB_SERVER" 指令通过 CPU 的PROFINET接口实现 Modbus/TCP 服务器通信。使用 "MB_SERVER" 指令处理 Modbus/TCP 客户端的连接请求,接收来自 Modbus/TCP 客户端的请求并发送响应消息。"MB_SERVER" 指令在独立的功能块"ModbusServer"中被调用。 在这个例子中,通过两个Modbus/TCP连接演示了一个Modbus功能。 S7-1500 CPU 的**个连接作为Modbus TCP 客户机。S7-1200 CPU 作为 Modbus TCP 服务器。 S7-1200 CPU 的*二个连接作为Modbus TCP 客户机。S7-1500 CPU 作为 Modbus TCP 服务器。 一个Modbus/TCP 连接是要通过一对功能块建立的 (MB_CLIENT 和 MB_SERVER). “MB_CLIENT” 和 "MB_SERVER"指令分别在独立功能块(("ModbusClient" 和 "ModbusServer“)中调用。 图 01 文档描述如下: 在 S7-1500和S7-1200 CPU 的用户程序中调用 "ModbusClient"指令并参数化,该功能块内部调用"MB_CLIENT" 指令。 在 S7-1500和S7-1200 CPU 的用户程序中调用 "ModbusServer"指令并参数化,该功能块内部调用"MB_SERVER" 指令 。 在 TIA Portal V12 中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表 01 所示: 标准 DB 优化 DB ...... 在 TIA Portal V12 中为S7-1200/S7-1500 CPU 添加一个 DB 块时,其缺省属性为优化的 DB ,优化的 DB 块与标准的 DB 块整体对比如下表 01 所示: 标准 DB 优化 DB 数据管理 取决于变量的生明。用户可以生成用户定义或一个内存优化的数据结构。 数据被系统管理和优化。用户可以生成用户定义的数据结构,系统进行优化以节省内存的空间。 存储方式 每个变量的存储地址在 DB 块中每个变量的偏移地址可见 每个变量的存储地址由 CPU 自动分配,无偏移地址。 访问方式 可通过符号地址、**地址以及指针方式寻址 仅可通过符号地址访问 下载*初始化功能 不支持 支持(仅 S7-1500) 访问速度 慢 快 数据保持性 以整个 DB 块为单位设置保持性 DB 块内的每个变量均可单独设置保持性 兼容性 与 S7-300/400 PLC 兼容 与 S7-300/400 PLC 不兼容 出错几率 **地址访问 (例如 HMI 或间接寻址 ),声明修改后可能导致数据的不一致。 缺省为符号访问,不会造成数据的不一致,例如 HMI 只与符号名称对应。 表 01. S7-300/S7-400 与 S7-1200 以及 S7-1500 DB 参数的对比如下表 02 所示: S7-300/S7-400 S7-1200 S7-1500 DB 的较大容量 64 KB 64 KB 标准 DB 64KB,优化 DB 较大 16 M。 DB 的较大块号 16000 65535 DB 块类型 标准 DB 优化 DB、标准 DB(取决于DB块的属性) 表 02. 可通过修改 DB 块的属性将 DB 块修改为标准 DB 块或优化的 DB 块,如下图 01 所示: 图 01. 如 DB 块属性为标准 DB 块,该 DB 块内变量的偏移地址(offset)被编译后会出现,标准 DB 块与优化的 DB 块对比如下图 02 所示: 图 02. S7-1200 CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图 03 方式存储。 图 03. S7-1500 CPU中,标准 DB 块与优化的 DB 块在 PLC 中按照下图 04 方式存储。 图 04. 在 S7-1500 CPU 中,相比于标准的 DB 块,优化的 DB 块提供更快的访问速度,其根本原因与 CPU 的编码方式有关,如下图 05 所示: 图 05. 与标准的 DB 块相比,优化的 DB 块有以下优势: 提供更快的访问速度; 以符号寻址,编程者*考虑 DB 块中每个变量存储的具体地址,每个变量在 CPU 中存储的位置由 PLC 的系统自动进行分配; CPU 与 HMI (如 Panel)连接时,由于优化的 DB 是靠符号寻址,所以当 PLC 变量连接到 HMI 后,PLC 侧对变量做的修改,HMI *重新下载; 对 DB 块内的任意位置对变量进行添加及删除,或对变量的类型进行修改(如将Tag_1的属性由 byte 修改为Word),不会引起该 DB 块其它变量的使用;