S7-1200 与 CU240B/E-2 之间的 Modbus RTU 通讯 Modbus RTU Communication between S7-1200 and CU240B/E-2 Getting-started Edition (2013 年 6 月 )
摘要本文介绍了 S7-1200 PLC 和 CU240B-2 之间的 Modbus RTU 通讯 关键词 G120,CU240B-2,CU240E-2,Modbus RTU Key Words G120, CU240B-2, CU240E-2, Modbus RTU I CS LS TS Page 2-20
目 录 S7-1200 与 CU240B/E-2 之间的 Modbus RTU 通讯...1 1 S7-1200 与变频器的连接...4 1.1 本例程的系统配置... 4 1.2 硬件连接... 4 1.2.1 硬件连线... 4 1.2.2 PLC 与控制单元通信端口之间的连接... 4 2 变频器设置...5 2.1 地址设置... 5 2.2 参数设置... 5 3 PLC 组态和编程...5 3.1 创建项目... 5 3.2 硬件组态... 6 3.3 编程... 8 3.4 下载... 13 3.5 监视... 14 4 MODBUS 通信控制变频器...14 4.1 使用 MODBUS 通信控制变频器启停... 14 I CS LS TS Page 3-20
1 S7-1200 与变频器的连接 1.1 本例程的系统配置本例程中用到的硬件 : S7-1200(CPU 1214C) G120 ( 控制单元 CU240B-2 ) 一台装有 TIA Portal 软件的 PC 机 CM1241 模块 电源模块 标准 RJ45 网线 1.2 硬件连接 1.2.1 硬件连线 本例程中的硬件间的结构如下图所示 : 1.2.2 PLC 与控制单元通信端口之间的连接 图 1-1 用电缆将 CU240B-2 Modbus 通讯接口与 PLC 通信模块连接起来, 如下图所示 PLC 侧 变频器侧 3# 针脚 2# 端子 3# 端子 8# 针脚 图 1-2 I CS LS TS Page 4-20
2 变频器设置 2.1 地址设置可以通过控制单元上的地址开关, 也可以通过参数 P2021 或 STARTER 中 Control Unit / Communication / Field bus 页面来确定变频器的 Modbus-RTU 地址 只有所有地址开关都设为 OFF (0) 时,P2021 或 STARTER 中的设置才有效 否则,Modbus-RTU 地址为地址开关所设置的地址 2.2 参数设置 除了设置地址之外, 还需要对其他一些变频器的通信参数进行设置, 才可以进行 MODBUS 通信 具体需要设置的参数如表 2-1 所示 : 参数 P0015 = 21 p2030 = 2 p2020 p2024 p2029 p2040 表 2-1 描述变频器宏程序选择 I/O 配置现场总线协议选择 2: Modbus 现场总线波特率设置范围是 4800 bit/s 187500 bit/s, 出厂为 19200 bit/s Modbus 计时 索引 0: 最大从站应答延迟 : 在该时间后, 从站应答主站 索引 1: 字符延时 : 指一个 Modbus 消息帧内, 单个字符之间允许的最大延迟时间 ( 即 Modbus 1.5 个字节标准的处理时间 ) 索引 2: 报文延时 : 指 Modbus 报文之间允许的最大延时 ( 即 Modbus 3.5 个字节标准的处理时间 ) 现场总线错误统计指现场总线接口上接收错误的统计 显示过程数据监控时间指没有收到过程数据时发出报警的延时 注 : 该时间必须根据从站数量 总线波特率加以调整, 出厂为 100 ms 3 PLC 组态和编程 3.1 创建项目 首先创建一个项目, 点击创建新项目, 输入名称, 路径等信息 I CS LS TS Page 5-20
图 3-1 3.2 硬件组态 按照新手上路的提示首先选择设备和网络, 进行硬件组态 图 3-2 点击添加新设备, 添加相应型号的设备, 修改设备名称, 选择版本号, 点击添加 I CS LS TS Page 6-20
图 3-3 在弹出的设备与网络的右侧硬件目录中, 找到通信模块 - 点到点 -CM1241(RS485), 加入 CM1241 通信模块 图 3-4 双击设备视图中的 RS485 端口, 设置端口组态, 本例程配置如下图 I CS LS TS Page 7-20
图 3-5 在左侧的项目树 - 设备 - 在线访问 -Broadcom NetXtreme ( 本例程 PC 机所使用 的网卡 ), 双击更新可使用的设备, 搜索到连接的设备 图 3-6 3.3 编程在左边的设备中找到 S7-1200/ 程序块, 打开主程序 (Main[OB1]) 在右边的指令栏里选择通信 / 通信处理器 /MODBUS, 添加 MB_COMM_LOAD 和 MB_MASTER I CS LS TS Page 8-20
图 3-7 在弹出的调用选项中, 定义一个背景数据块 图 3-8 使用同样的方法, 再加入一个 MB_MASTER 模块, 同样定义背景数据块 I CS LS TS Page 9-20
图 3-9 分别按照图 3-10 图 3-11 设置 MB_COMM_LOAD 和 MB_MASTER 模块 图 3-10 I CS LS TS Page 10-20
图 3-11 其中,MB_COMM_LOAD 与 MB_MASTER 指令的参数说明, 请参考表 3-1, 表 3-2 表 3-1 MB_COMM_LOAD 指令的参数 参数 声明 数据 存储区 说明 类型 REQ Input BOOL I Q M D L 在上升沿执行指令 PORT Input UINT I Q M D L 或常量 通信端口的 ID: 在设备组态中插入通信模块后, 端口 ID 就会显示在 PORT 框连接的下拉列表中 也可以在变量表的 常量 (Constants) 选项卡中引用该常量 BAUD Input UDINT I Q M D L 或常量 PARITY Input UINT I Q M D L 或常量 FLOW_CT RL RTS_ON_ DLY Input UINT I Q M D L 或常量 Input UINT I Q M D L 或常量 波特率选择 : 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 76800, 115200 所有其它值均无效 奇偶校验选择 : 0 无 1 奇校验 2 偶校验流控制选择 : 0 ( 默认值 ) 无流控制 1 通过 RTS 实现的硬件流控制始终开启 ( 不适用于 RS485 端口 ) 2 - 通过 RTS 切换实现硬件流控制 RTS 延时选择 : 0 -( 默认值 ) 到传送消息的第一个字符之前, 激活 RTS 无延时 1 至 65535 到传送消息的第一个字符之前, 激活 RTS 以毫秒为单位的延时 ( 不 I CS LS TS Page 11-20
适用于 RS-485 端口 ) 应用 RTS 延时必须与 FLOW_CTRL 选择无关 RTS_OFF _DLY Input UINT I Q M D L 或常量 RTS 关断延时选择 : 0 ( 默认值 ) 传送最后一个字符到 取消激活 RTS 之间没有延时 1 至 65535 在发送消息的最后一个字符到 取消激活 RTS 之间以毫秒为单位的延时 ( 不适用于 RS-485 端口 ) 应用 RTS 延时必须与 FLOW_CTRL 选择无关 RESP_TO Input UINT I Q M D L 或常量 响应超时 : MB_MASTER 允许等待从站响应的时间 ( 毫秒 ) 如果从站在此时间内没有响应, 则 MB_MASTER 将重复该请求, 或者在发送了指定数目的重试后终止请求并返回错误 5 ms 至 65535 ms( 默认值 = 1000 ms) MB_DB Input VARIA NT D MB_MASTER 或 MB_SLAVE 指令的背景数据块的引用 在程序中插入 MB_SLAVE 或 MB_MASTER 之后, 数据块标识符会显示在 MB_DB 框连接的下拉列表中 DONE Output BOOL I Q M D L 指令的执行已完成且未出错 ERROR Output BOOL I Q M D L 错误 : 0 未检测到错误 1 表示检测到错误 在参数 STATUS 中输出错误代码 STATUS Output WORD I Q M D L 端口组态错误代码 表 3-2 MB_MASTER 指令的参数 参数 声明 数据类型 REQ Input BOO L MB_AD DR 存储区 I CS LS TS Page 12-20 说明 I Q M D L 请求输入 : 0 无请求 1 请求将数据发送到 Modbus 从站 Input UINT I Q M D L 或常量 Modbus RTU 站地址 : 默认地址范围 : 0 至 247 扩展地址范围 : 0 至 65535 值 0 已预留, 用于将消息广播到所有 Modbus 从站 只有 Modbus 功能代码 05 06 15 和 16 支持广播 MODE Input USIN T DATA_A DDR Input UDIN T I Q M D L 或常量 I Q M D L 或常量 模式选择 : 指定请求类型 : 读取 写入或诊断 : 有关详细信息, 请参见 Modbus 功能表 从站中的起始地址 : 指定 Modbus 从站中将供访问的数据的起始地
DATA_L EN DATA_P TR 址 可在 Modbus 功能表中找到有效地址 Input UINT I Q M D L 或常量 数据长度 : 指定要在该请求中访问 的位数或字数 可在 Modbus 功能 表中找到有效长度 Input VARI M D 指向 CPU 的数据块或位存储器地 ANT 址, 从该位置读取数据或向其写入 数据 对于数据块, 必须使用 标 准 - 与 S7-300/400 兼容 访问类型 进行创建 DONE Output BOO L I Q M D L 0: 事务未完成 1: 事务完成, 且无任何错误 BUSY Output BOO L ERROR Output BOO L STATUS Output WOR D 3.4 下载 I Q M D L I Q M D L I Q M D L 0: 当前没有 MB_MASTER 事务正在处理中 1: "MB_MASTER" 事务正在处理中 0: 无错误 1: 出错, 错误代码由参数 STATUS 来指示执行条件代码 编译, 确认无误后, 点击下载 在弹出的 扩展的下载到设备 中, 选择 PG/PC 接 口类型, 以及 PG/PC 接口 选择设备, 并点击下载 图 3-12 在弹出的下载预览中, 查看将要覆盖的内容, 选择统一下载, 并点击下载 I CS LS TS Page 13-20
图 3-13 3.5 监视 点击转到在线, 并点击启动监视, 此时即可通过 PLC 给变频器进行 MODBUS 通信 图 3-14 4 MODBUS 通信控制变频器 4.1 使用 MODBUS 通信控制变频器启停 如下图所示, 打开 Tag_1, 使能 MB_MASTER 使能完成之后, 关闭 Tag_1 I CS LS TS Page 14-20
图 4-1 如图 4-2, 将 MODE 改为 1( 即写入数据 ),DATA_ADDR 写入 40101( 主设定值寄存器号 ),DATA_PTR 写入 1000( 给定值的写入值 ) 然后 REQ 使用一个脉冲沿来发送给定值 此时, 变频器的给定值已经改为 1000 然后将 DATA_ADDR 写入 40100( 控制字寄存器号 ),DATA_PTR 写入 047E( 停车 ), 然后 REQ 使用一个脉冲沿来发送停车命令 再将 DATA_ADDR 写入 40100( 控制字寄存器号 ),DATA_PTR 写入 047F( 启动 ), 然后 REQ 使用一个脉冲沿来发送启动命令 I CS LS TS Page 15-20
注意 : 图 4-2 MB_COMM_LOAD 使能完成之后, 一定要将 Tag_1 关闭, 否则 MB_MASTER 模块将无法使 用 变频器启动位需要一个上升沿, 所以先给其停车命令, 然后发送启动命令, 利用上升沿来启动变频器 4.2 使用 MODBUS 通信修改和查看变频器参数现在, 以参数 P1120 加速时间为例, 对参数的修改和查看进行讲解 首先, 进行读参数的演示 将 MODE 输入改为 0( 即读参数模式 ), 将 DATA_ADDR 中写入 40322( 即加速时间的寄存器号 ), 然后 REQ 使用脉冲沿来发送一个读请求 此时, 可以接收到参数 P1120 中的数据位 1000( 即加速时间为 10s) I CS LS TS Page 16-20
图 4-3 然后进行写参数 : 将 MODE 输入改为 1( 即写参数模式 ), 将 DATA_ADDR 中写入 40322 ( 即加速时间的寄存器号 ), 在 DATA_PTR 中写入 500, 然后 REQ 使用脉冲沿来发送一个写请 求 此时, 已经将 500 写入了参数 P1120 之中, 加速时间改为 5s 图 4-4 控制单元中的 Modbus 寄存器和对应的参数如下表所示 : 表 4-1 Modbus 寄存器和对应的参数 I CS LS TS Page 17-20
I CS LS TS Page 18-20
如果您对该文档有任何建议, 请将您的宝贵建议提交至下载中心留言板 该文档的文档编号 :A0723 I CS LS TS Page 19-20
附录 - 推荐网址驱动技术 西门子 ( 中国 ) 有限公司工业业务领域支持中心 网站首页 :www.4008104288.com.cn 驱动技术下载中心 : http://www.ad.siemens.com.cn/download/searchresult.aspx?pid=883 驱动技术全球技术资源 : http://support.automation.siemens.com/cn/view/zh/10803928/130000 基于产品的支持与服务主页 : http://www.ad.siemens.com.cn/productportal/default.aspx 注意事项 应用示例与所示电路 设备及任何可能结果没有必然联系, 并不完全相关 应用示例不表示客户的具体解决方案 它们仅对典型应用提供支持 用户负责确保所述产品的正确使用 这些应用示例不能免除用户在确保安全 专业使用 安装 操作和维护设备方面的责任 当使用这些应用示例时, 应意识到西门子不对在所述责任条款范围之外的任何损坏 / 索赔承担责任 我们保留随时修改这些应用示例的权利, 恕不另行通知 如果这些应用示例与其它西门子出版物 ( 例如, 目录 ) 给出的建议不同, 则以其它文档的内容为准 声明 我们已核对过本手册的内容与所描述的硬件和软件相符 由于差错难以完全避免, 我们不能 保证完全一致 我们会经常对手册中的数据进行检查, 并在后续的版本中进行必要的更正 欢迎您提出宝贵意见 版权 西门子 ( 中国 ) 有限公司 2001-2013 版权保留 复制 传播或者使用该文件或文件内容必须经过权利人书面明确同意 侵权者将承担权利人 的全部损失 权利人保留一切权利, 包括复制 发行, 以及改编 汇编的权利 西门子 ( 中国 ) 有限公司 I CS LS TS Page 20-20