《用西门子CP341实现Modbus_RTU通讯》.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《用西门子CP341实现Modbus_RTU通讯》.doc

用西门子CP341实现Modbus RTU通讯 1 概述 ??? CP341模块是西门子S7—3001400系列PLC中的串行通讯模块。该模块具有1个串行通讯口(RS232C或 TTY或RS485/422),RS422/485的通讯最大距离位1200m。支持以下协议ASCII,ModbusRTU远程终端,Data Highway(DF1协议),电气接口为15针D型孔接    4 CP341驱动配置 ??? 在您的计算机上首先安装STEP7 5.x软件和CP34x模板所带的软件驱动程序.模板驱动程序包括了对CP341进行参数化的窗口(在STEP7的硬件 组态界面下可以打开)、用于串行通讯的FB程序块。当系统上电,CP34x模板初始化完成后,CP34x上的sF灯点亮: 在硬件组态窗口中双击CP341模板,打开CP341模板的属性窗口,选择通讯协议modbus,网络工作方式设置为半双工,请记录下模板的硬件地址 以便在编程序时用到。双击CP341模板属性窗口中的protocol 协议图标进行协议参数设置,这里我们使用默认值:96oo bit,s, 8 data bits, 1 stop bit,even parity。对的硬件组态存盘编译,下载硬件组态.如果此时sF灯亮.请将通讯电缆与另一个通讯伙伴进行连接后.SF灯熄灭,说明硬件组态正确。 5 程序编写 (1)CP341发送模块的设计而发送程序主要是通过调用功能块FB8来实现,FB8是基于上升沿触发工作的.来一个上升沿FB8工作一次向总线上发 送一个请求数据包,所以在程序中一定要设计一个触发代码段,来不断的使REQ:=M50.0循环往复的置“1”置“0”,这样FB8就可以正常运行了。 ??? 在设计程序时一定要注意FB8的参数SF:=‘S’及R_TYP:=‘X’的值都是大写否则程序调试不成功。FB8需要一个背景数据块.这一背景数据块一般由系统自动生成.以上程序中为DB3;对于通过CP34 1的Modbus Master驱动通讯的发送模块需要设计发送数据块DB块.用来对主站发送参数进行设置和初始化。 ??? Modbus能够实现的功能代码共有10个.分别针对不同的寄存器读写功能设置.功能代码Initial value:B#16#4的功能是读从站的输出数据寄存器 整数型、状态字或浮点型数据:寄存器的起始地址Initial value:W#16#0是功能代码规定的寄存器的起始地址;读取寄存器的数目Initial value:4的意义是从起始地址开始总共读取4个寄存器。 (2)CP341接收程序的设计 ??? 接收程序是调用FB7来实现的,由于CP341可以处理接收程序的细节部分.因此对于设计者来说只需要进行简单的设计就可以实现数据的接收。接 收程序同样也需要设计背景数据块本例中为Db44块和接收数据块本例中为DB5块。 (3)装载设计好的发送接收程序FC 1与FC2。 6 参数化远程从站RTU . ??? 以上介绍的是Modbus主站的应用与程序设计,没有对远程终端RTU从站进行介绍.其实在进行程序调试时必须对从站进行一些参数设置使其参 数与主站要求的一致,包括协议类型、从站地址、寄偶校验、传输超时等,否则通讯很难成功。 7 总结 ??? 随着仪表自动化技术的提高,带各种通讯接口设备和现场总线设备将被大量应用到工业现场领域,使全数字化、串行、双向、互操作多快好省的远距离大数据量通讯成为可能.为数据监控和管理中心监控现场数据及现场设备工作状态和分析挖掘数据关系提供了方便。Modibus RTU通讯是现场总线实现的一个简单例证,成功的解决了现场仪表数据和PLC通讯问题,节省了因标准仪表信号布线所需的大量电缆,并且可靠性得到了大幅度提高。是我们今后现场信号采集通讯值得借鉴的一个典型代表。 RS485和MODBUS的区别 时间:2008-05-12 04:02来源: 作者: 点击: 626次 经常看到RS485和MODBUS写在一起,它们的区别和联系? RS485是一个物理接口,简单的说是硬件。 MODBUS是一种国际标准的通讯协议,用于不同厂商之间的设备交换数据(一般是工业用途);所谓协议,也可以理解为上面有人说的“语言”吧,简单的说是软件。 一般   经常看到RS485和MODBUS写在一起,它们的区别和联系? RS485是一个物理接口,简单的说是硬件。 MODBUS是一种国际标准的通讯协议,用于不同厂商之间的设备交换数据(一般是工业用途);所谓协议,也可以理解为上面有人说的“语言”吧,简单的说是软件。 一般情况下,两台设备通过MODBUS协议传输数据: 最早是用RS232C作为硬件接口,(也就是普通电脑上的串行通讯口(串口)); 也有用RS422的, 也有常用的RS485,这种接口传输

文档评论(0)

ghfa + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档