




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何通过如何通过 Modbus RTU 协议实现协议实现 S7-1200 与与 PAC3200 的通信的通信 How to communication between S7-1200 and PAC3200 meter via Modbus RTU protocol Getting Started Edition (2009 年年 12 月月) IA&DT Service & Support Page 2-27 摘摘 要要 本文介绍了通过 Modbus 协议实现 S7-1200 与 PAC3200 的通信。 关键词关键词 Modbus 协议,S7-1200,PAC3200 Key Words Modbus RTU protocol,S7-1200,SENTRON PAC3200 IA&DT Service & Support Page 3-27 目目 录录 如何通过 Modbus RTU 协议实现 S7-1200 与 PAC3200 的通信 .1 1西门子 SENTRON PAC3200 仪表介绍.4 1.1 SENTRON PAC3200 MODBUS RTU 通信扩展模块介绍 .4 1.2 SENTRON PAC3200 MODBUS RTU 通信扩展模块的接线.5 1.3 SENTRON PAC3200 MODBUS RTU 通信的方式 .6 2西门子 SENTRON PAC3200 仪表与 S7-1200 进行通信的接线图.7 3硬件需求.7 3软件需求.8 4S7-1200 MODBUS RTU 的通信方式.8 5S7-1200 与 PAC3200 进行 MODBUS RTU 的通信组态.11 5. 1 PLC 硬件组态 .11 5. 2 PAC3200 参数设置.12 6S71200 与 PAC3200 的 MODBUS RTU 通信原理与编程的实现.13 6. 1 S7 1200 PLC 与 PAC3200 通过 MODBUS RTU 通信的基本原理.13 6. 2 S7 1200 PLC 与 PAC3200 通过 MODBUS RTU 通信的编程 .16 附录推荐网址 .26 IA&DT Service & Support Page 4-27 西门子 S7-1200 紧凑型 PLC 在当前的市场中有着广泛的应用,作为经常与 SENTRON PAC3200 系列仪表共同使用的 PLC,其 Modbus 通信协议的使用一直在市场上有着非常广 泛的应用。本文将主要介绍如何使用 Modbus 通信协议来实现 S7-1200 与 SENTRON PAC3200 仪表的通信。 1西门子西门子 SENTRON PAC3200 仪表介绍仪表介绍 西门子的 SENTRON PAC3200 多功能电力仪表是一种用于面板安装的仪表,可用来计 量、显示配电系统多达 50 个测量变量,例如电压、电流、功率、有功功率、频率以及最大 值、最小值和平均值。中文大屏幕图形液晶显示使用户可远距离读表。PAC3200 仪表如下图 所示。 图 1:仪表 PAC3200 1.1 1.1 SENTRON PAC3200 MODBUS RTU通信扩展模块介绍通信扩展模块介绍 PAC3200多功能仪表的本体没有MODBUS RTU通信的功能,如果希望将PAC3200作为 从站连接到MODBUS RTU网络与主站进行数据交换必须选用外部扩展通信模块SENTRON PAC RS485模块。(注意: PAC RS485 扩展模块使用错误的固件版本时将不能工作 SENTRON PAC3200 电力监测设备的固件版本最低应为FWV2.0X。 较早的版本不支持 PAC RS485 扩展模块。)该扩展模块具有下列性能特点: 可通过设备正面设置参数 即插即用 支持 4.8/9.6/19.2 以及 38.4 KBd 通信传输速率 支持 4.8/9.6/19.2 以及 38.4 KBd 通信传输速率 通过6针螺钉端子接线 IA&DT Service & Support Page 5-27 不需要外接辅助电源 通过模块上的 LED 显示状态 PAC3200 MODBUS RTU 通信扩展模块如下图所示。 (1) 通信接线端子 (2) 安装螺钉 (3) 通风口 (4) LED 图 2:PAC3200 MODBUS RTU 通信模块 1.2 1.2 SENTRON PAC3200 MODBUS RTU通信扩展模块的接线通信扩展模块的接线 SENTRON PAC3200 MODBUS RTU 通信扩展模块的接线如下图所示 图 3:PAC3200 MODBUS RTU 通信模块的接线图 1. 将电缆连接到端子排上相应的螺栓端子。 2. 将电缆屏蔽层的一端连接到保护性接地PE。 3. 将信号公共端连接到保护性接地。 这样也使得扩展模块接地。 4. 在第一个和最后一个通信节点上,在正信号和负信号之间接入总线端接电阻器。 为 此,PAC RS485 扩展模块中集成了一个120 Ohm 的总线端接电阻器。 如果需要其它 电阻值,请使用外部总线端接电阻器。 将它连接到第一个和最后一个通信节点。 IA&DT Service & Support Page 6-27 1.3 1.3 SENTRON PAC3200 MODBUS RTU通信的方式通信的方式 1SENTRON PAC3200 设备支持的功能码如下: FC 功能码 数据类型 访问权限 02 输入的状态 位 输入 R 03 输出寄存器 寄存器 输出 R 04 输入寄存器 寄存器 输入 R 06 单一输出寄存器 寄存器 输出 RW 10 多个输出寄存器 寄存器 RW 2B 设备识别 R 表 1: SENTRON PAC3200 设备支持的功能码 R可读 RW可读写 2SENTRON PAC3200 MODBUS RTU 与与 S7-1200 进行通信进行通信 S7-1200 PLC 可以通过功能代码 0 x03 和 0 x04 访问仪表 PAC3200 的被测量数据。 下表是一些 PAC3200 被测量的数据。 表 2: SENTRON PAC3200 设备的一些被测量数据 IA&DT Service & Support Page 7-27 2西门子西门子 SENTRON PAC3200 仪表与仪表与 S7-1200 进行通信的接线图进行通信的接线图 下图是 SENTRON PAC3200 仪表与 S7-1200 进行 MODBUS RTU 通信的接线图。 图 4:S7-1200 与 PAC3200 进行 MODBUS RTU 进行通信的接线图 3硬件需求硬件需求 S7-1200 PLC 目前有 3 种类型的 CPU: 1)S7-1211C CPU。 2)S7-1212C CPU。 3)S7-1214C CPU。 IA&DT Service & Support Page 8-27 这三种类型的 CPU 都可以使用 MODBUS 通信协议通过通信模块 CM1241 RS485 来实 现 S7-1200 与 PAC3200 仪表的通信。 本例中使用的本例中使用的 PLC 硬件为:硬件为: 1)PM1207 电源 ( 6EP1 332-1SH71 ) 2) S7-1214C ( 6ES7 214 -1BE30 -0XB0 ) 3) CM1241 RS485 ( 6ES7 241 -1CH30 -0XB0 ) 4) 模拟器 ( 6ES7 274 -1XH30 -0XA0 ) 本例中使用的本例中使用的 PAC3200 仪表硬件为:仪表硬件为: 1) PAC3200 (7KM2112-0BA00-3AA0) 2) MODBUS RTU 模块 (7KM9300-0AB00-0AA0) 3) MODBUS 通信电缆 ( 6XV1830-0EH10) 3软件需求软件需求 1) 编程软件 Step7 Basic V10.5 ( 6ES7 822-0AA0-0YA0) 4S7-1200 MODBUS RTU 的通信方式的通信方式 S7-1200 作为 MODBUS RTU 主站的通信方式是由 DATA_ADDR 和 MODE 参数来选 择 Modbus 功能类型的。 DATA_ADDR(从站中的起始 Modbus 地址): 指定要在 Modbus 从站中访问的数 据的起始地址。MB_MASTER 使用 MODE 输入而非功能代码输入。 MODE 和 Modbus 地 址范围一起确定实际 Modbus 消息中使用的功能代码。 IA&DT Service & Support Page 9-27 下表列出了 MB_MASTER 参数 MODE、Modbus 功能代码和 Modbus 地址范围之间 的对应关系。 IA&DT Service & Support Page 10-27 表 3: MB_MASTER 的 MODBUS 功能 IA&DT Service & Support Page 11-27 5S7-1200 与与 PAC3200 进行进行 MODBUS RTU 的通信组态的通信组态 我们通过一个实例来介绍如何在 Step7 Basic V10.5 中组态 S7-1214C 和 PAC3200 的 MODBUS RTU 通信。 5. 1 PLC 硬件组态硬件组态 首先在 Step7 Basic V10.5 中建立一个项目,如图 1 所示。 图 5: 新建 S7 1200 项目 在硬件配置中,添加 CPU1214C 和通信模块 CM1241 RS485 模块,如图 2 所示。 图 6: S7 1200 硬件配置 IA&DT Service & Support Page 12-27 在 CPU 的属性中,设置以太网的 IP 地址,建立 PG 与 PLC 的连接,如下图所示。 图 7: S7 1200 IP 地址的设置 5. 2 PAC3200 参数设置参数设置 在SENTRON PAC 电力监测设备的主菜单中,调用“设置”“RS485 模块”,出现下 面的设置画面: 图 8: PAC3200 MODBUS RTU 通信参数的设置 1. 地址的设置范围:1-247。本例中设为 8。 2. 波特率的设置范围:4800,9600,19200,38400。本例中设为 38400。 3. 设置外部通信的数据位、奇偶校验位及停止位: 8E1=8 个数据位,奇偶校验位为even, 1 个停止位 8O1=8 个数据位,奇偶校验位为odd, 1 个停止位 8N2=8 个数据位,无奇偶校验位, 2 个停止位 8N1=8 个数据位,无奇偶校验位, 1 个停止位 本例中根据S7-1200 MODBUS MASTER 的参数设置为 8N1。 4. 协议的设置:可选项为:SEABUS,MODBUS RTU。 本例中设为 MODBUS RTU。 5响应时间的设置:注意与波特率的设置相匹配,本例中设为 10mS。 IA&DT Service & Support Page 13-27 6S71200 与与 PAC3200 的的 MODBUS RTU 通信原理与编程的实现通信原理与编程的实现 6. 1 S7 1200 PLC 与与 PAC3200 通过通过 MODBUS RTU 通信的基本原理通信的基本原理 S7 1200 提供了专用的 MODBUS 库进行 MODBUS 通信,如下图所示: 图 9: S7 1200 提供的专用 MODBUS 库 西门子 PLC S7-1200 的模块 CM1241 RS232 和 CM1241 RS485 都可以实现 MODBUS RTU 的通信,本例中采用 CM1241 RS485 模块来实现与仪表 PAC3200 的 MODBUS RTU 的通信。 S7-1200 的 MODBUS RTU 通信的基本原理是: 首先 S7-1200 PLC 的程序调用一次 MODBUS 库中的功能块 MB_COMM_LOAD 来组态 CM1241 RS232 和 CM1241 RS485 模块上的端口,对端口的参数进行配置。 其次调用 MODBUS 库中的功能块 MB_MASTER 或者 MB_SLAVE 作为 MODBUS 主站 或者从站与支持 MODBUS 协议的设备进行通信。 IA&DT Service & Support Page 14-27 S7-1200 PLC 作为 MODUBUS 主站 与 PAC3200 进行 MODBUS RTU 通信的控制原理 如下图所示: 图 10:S7-1200 PLC 作为 MODUBUS 主站 与 PAC3200 进行 MODBUS RTU 通信原理 IA&DT Service & Support Page 15-27 S7-1200 PLC 还可以作为 MODBUS 子站与作为 MODBUS 主站之间的 PLC 进行 MODBUS RTU 通信,其控制原理如下图所示: 图 11:S7-1200 PLC 作为 MODBUS 子站与作为 MODBUS 主站之间的 PLC 进 行 MODBUS RTU 的通信原理 每个 S7-1200 CPU 最多可带 3 个通信模块,而每个 CM1241 RS485 通信模块理论上最 多支持 247 个 MODBUS 子站。但是在实际应用时需要考虑 CPU 的性能以及轮循 MODBUS 子站的时间。 IA&DT Service & Support Page 16-27 6. 2 S7 1200 PLC 与与 PAC3200 通过通过 MODBUS RTU 通信的编程通信的编程 1MODBUS RTU 通信接口参数的编程通信接口参数的编程 MB_COMM_LOAD 功能块用于组态点对点 (PtP, Point-to-Point) CM 1241RS485 或 CM 1241 RS232 模块上的端口,以进行 Modbus RTU 协议通信。 程序开始运行时,调用一次 MB_COMM_LOAD 功能块,来实现对 MODBUS RTU 模块 的初始化组态。 MB_COMM_LOAD 执行一次的编程方式采用如下图所示时钟位 M10.0 来完成。 图 12:MB_COMM_LOAD 执行一次的编程时钟位的设置 IA&DT Service & Support Page 17-27 MB_COMM_LOAD 功能块的编程如下图所示。 图 13:MB_COMM_LOAD 功能块的编程 PORT:指的是通过哪个通信模块进行 MODBUS RTU 通信。 BAUD:指的是和 MODBUS 子站进行通信的速率。 通信端口的波特率。取值范围为 300,600,1200,2400,4800,9600,19200, 38400,57600,76800,115200。 注意:仪表注意:仪表 PAC3200 的波特率的设置范围:4800,9600,19200,38400。因此上 S7- 1200 的波特率的设置一定要和仪表 PAC3200 的波特率的设置相一致。 MB_DBMB_DB:对 MB_MASTER 或 MB_SLAVE 指令所使用的背景数据块的引用。 在用户程序中放置 MB_SLAVE 或 MB_MASTER 后,DB标识符会出现在 MB_DB 功能框连接的助手下拉列表 中。如“MB_MASTER_DB”或“MB_SLAVE_DB”。 IA&DT Service & Support Page 18-27 STATUS:端口状态代码。具体含义如下表所示。 表 4: MB_COMM_LOAD 组态端口的状态代码 IA&DT Service & Support Page 19-27 2MODBUS_MASTER 功能块的编程功能块的编程 MB_MASTER 功能块允许程序作为Modbus 主站使用点对点 (PtP, Point-to-Point) CM 1241 RS485 或 CM 1241RS232 模块上的端口进行通信。 可访问一个或多个 Modbus 从站设 备中的数据。 MB_MASTER功能块的编程如下图所示。 图 14:MB_MASTER 功能块的编程 REQ REQ:数据发送请求信号。0-无请求。1-请求将数据传送到 MODBUS 从站。 MB_ADRMB_ADR:通信对象MODBUS从站的地址。有效地址范围为0-247。值 0 被保留用于将消 息广播到所有 Modbus 从站。 只有Modbus 功能代码 05、06、15 和 16 是可用于广播的功能代码。 注意:此处MODBUS从站的地址一定要与仪表PAC3200 的MODBUS 地址相一致。注意:此处MODBUS从站的地址一定要与仪表PAC3200 的MODBUS 地址相一致。 IA&DT Service & Support Page 20-27 MODE MODE:模式选择。选择范围为:读、写、诊断。 DATA_ADDRDATA_ADDR:从站中的起始地址: 指定要在 Modbus 从站中访问的数据的起始地 址。 特别注意的是:由于仪表PAC3200的寄存器与S7-1200 MODBUS RTU寄存器的不一致 性,读取仪表PAC3200的DATA_ADDR的地址必须从40002开始。 特别注意的是:由于仪表PAC3200的寄存器与S7-1200 MODBUS RTU寄存器的不一致 性,读取仪表PAC3200的DATA_ADDR的地址必须从40002开始。 注意: S7-1200的MODBUS RTU通信功能是通过使用“DATA_ADDR”和“MODE”的组合 来选择MODBUS功能码,如下表所示。 注意: S7-1200的MODBUS RTU通信功能是通过使用“DATA_ADDR”和“MODE”的组合 来选择MODBUS功能码,如下表所示。 表 5: S7-1200 的 MODBUS RTU 通信功能码 而仪表PAC3200 MODBUS RTU通信功能则是通过功能码来实现的,如下表所示。 而仪表PAC3200 MODBUS RTU通信功能则是通过功能码来实现的,如下表所示。 FC 功能码 数据类型 访问权限 02 输入的状态 位 输入 R 03 输出寄存器 寄存器 输出 R 04 输入寄存器 寄存器 输入 R 06 单一输出寄存器 寄存器 输出 RW 10 多个输出寄存器 寄存器 RW 2B 设备识别 R 表 6: 仪表 PAC3200 MODBUS RTU 通信功能码 IA&DT Service & Support Page 21-27 因此从上述可以得出如果需要读取输出寄存器的值时,需要使用模式0的03H功能,即 从寄存器40001到49999来读取仪表的数据,但是由于仪表PAC3200的寄存器与S7-1200 MODBUS RTU寄存器的不一致性,读取仪表PAC3200的DATA_ADDR的地址必须从40002开 始。 DATA_LEN 因此从上述可以得出如果需要读取输出寄存器的值时,需要使用模式0的03H功能,即 从寄存器40001到49999来读取仪表的数据,但是由于仪表PAC3200的寄存器与S7-1200 MODBUS RTU寄存器的不一致性,读取仪表PAC3200的DATA_ADDR的地址必须从40002开 始。 DATA_LEN:请求访问数据的长度。位数或字节数。 DATA_PTRDATA_PTR:数据指针: 指向要写入或读取的数据的 CPU DB 地址。 该DB 必须为 “非仅符号访问”DB 类型。 NDRNDR: 新数据就绪: 0 事务未完成 1 表示 MB_MASTER 指令已完成所请求的有关 Modbus从站的事务。 BUSYBUSY:忙: 0 无正在进行的 MB_MASTER 事务 1 MB_MASTER 事务正在进行 ERRORERROR:错误: 0 - 未检测到错误 1 表示检测到错误并且参数 STATUS 提供的错误代码有效。 STATUSSTATUS:状态代码,如下表所示。 IA&DT Service & Support Page 22-27 表 7: MB_MASTER 进行 MODBUS RTU 通信的状态代码 IA&DT Service & Support Page 23-27 在成功地编译下载到在 S7-1200 PLC 中后,可以从变量表中看到仪表 PAC3200 的三相 相电压数据,如下图所示。 图 15:在 S7-1200 中通过 MODBUS RTU 通信得到的仪表 PAC3200 的三相相电压数据 Modbus 主站通信规则: 必须先执行 MB_COMM_LOAD 组态端口,然后 MB_MASTER 指令才能与该端口通 信。 如果要将某个端口用于初始化 Modbus 主站的请求,则 MB_SLAVE 将不能使用该端 口。MB_MASTER 执行的一个或多个实例可使用该端口。 Modbus 指令不使用通信中断事件来控制通信过程。 用户程序必须轮询 MB_MASTER 指令以了解传送和接收的完成情况。 如果用户程序操作 Modbus 主站并使用 MB_MASTER 向从站发送请求,则用户必须 继续轮询(执行 MB_MASTER)直到返回从站的响应。 请从同一个 OB(或 OB 优先等级)调用指定端口的所有 MB_MASTER 执行。 IA&DT Service & Support Page 24-27 3MODBUS_SLAVE 功能块的编程功能块的编程 由于 S7-1200 与 PAC3200 进行 MODBUS RTU 通信,没有使用 MODBUS_SLAVE 功 能块,因此在此只作简单介绍。 MB_SLAVE 指令允许程序作为 Modbus 从站使用点对点 (PtP, Point-to-Point) CM 1241RS485 或 CM 1241 RS232 模块上的端口进行通信。 Modbus RTU 主站可以发出请 求,然后程序通过执行 MB_SLAVE 来响应。 在程序中放置 MB_SLAVE 指令时,必须分配唯一的背景数据块。 指定 MB_COMM_LOAD 指令中的 MB_DB 参数时会用到该 MB_SLAVE 背景数据块名称。 Modbus 通信功能代码(1、2、4、5 和 15)可以在 PLC 输入过程映像及输出过程映 像中直接读写位和字。 图 16:MB_SLAVE 功能块 MB_ADDR:Modbus RTU 地址(1 到 247):Modbus 从站的站地址。 MB_HOLD_REG:指向 Modbus 保持寄存器 DB 的指针。 保持寄存器 DB 必须 为典型的全局 DB。 注意注意:在创
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 电表改装课件
- 车辆保险服务投标方案
- 电脑知识培训计划课件
- 输电线路巡检技术服务合同
- 电脑培训知识点总结
- sis考试试题及答案
- pqc考试试题及答案
- 电缆业务知识培训课件
- 第7章 消费者的需要与购买动机
- 高级餐厅基础知识培训内容
- 2025年度房屋拆迁补偿安置房买卖协议
- 电子竞技赛事策划与组织运营管理方案设计
- 人教版(2024)八年级上册数学全册教案
- 2025年智慧城市信息化运维服务合作合同模板
- 职工职业健康体检实施方案与标准
- 公安科技信息化课件
- 桥梁工程支架浇筑连续箱梁的施工监理实施细则
- 2025年国家药品监督管理局直属单位招聘126人笔试模拟试题及参考答案详解
- 2025年医疗器械经营企业法律法规培训考试(含答案)
- 2025年部编版新教材语文九年级上册教学计划(含进度表)
- 2025年多省公务员联考公安基础知识考试真题(附答案)
评论
0/150
提交评论