- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
Modbus协议下实现单片机与PLC之间的通
讯-单片机
1引言hmi(人机界面)以其体积小,高性能,强实时等特点,越来
越多的应用于工业自动化系统和设备中。它有字母、汉字、图形和图
片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作
简单。它一般采用具有集成度高、速度快、高可靠且价格低等优点的
单片机[1]作为其核心控制器,以实现实时快速处理。plc和单片机
结合不仅可以提PLC的数据处理能力,还可以给用户带来友好简洁的
界面。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,
如何用C51实现单片机和PLC之间通讯的实例。2Modbus通讯协
议Modbus协议是应用于电子控制器上的一种通用语言。通过此协
议,控制器相互之间、控制器经由网络和其它设备之间可以通信。
Modbus协议提供了主—从原则,即仅一设备(主设备)能初始化传输
(查询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。
主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、
所有要发送的数据、和一错误检测域。从设备回应消息包括确认地址、
功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程
中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息
并把它作为回应发送出去。控制器能设置为两种传输模式:ASCII
和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,
所以采用KTU模式。(1)典型的RTU消息帧典型的RTU消息帧
如表1所示。
1
RTU消息帧的地址域包含8bit。可能的从设备地址是0...127(十
进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。
主设备通过将要联络的从设备的地址放入消息中的地址域来选通从
设备。当从设备发送回应消息时,它把自己的地址放入回应的地址域
中,以便主设备知道是哪一个设备作出回应。
RTU消息帧中的功能代码域包含了8bits,当消息从主设备发往从
设备时,功能代码域将告之从设备需要执行哪些行为;当从设备回应
时,它使用功能代码域来指示是正常回应(无误)还是有某种错误发生
(称作异议回应,一般是将功能码的最高位由0改为1)。从主设
备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执
行由功能代码所定义的行为。这包括了像不连续的寄存器地址,要处
理项的数目,域中实际数据字节数。如果没有错误发生,从从设备返
回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,
主设备应用程序可以用来判断采取下一步行动。当选用RTU模式
作字符帧时,错误检测域包含一16Bits值(用两个8位的字符来实现)。
错误检测域的内容是通过对消息内容进行循环冗长检测(CRC)方法得
出的。CRC域附加在消息的最后,添加时先是低字节然后是高字节。
(2)所有的Modbus功能码Modbus的功能码定义如表2所示。3
常用功能通讯程序的设计[5]本文介绍了几个Modbus常用功能程
序的设计。笔者采用单片机作为主机,在单片机上编写程序实现单片
机与PLC之间的通讯。由单片机向PLC发出命令信息,PLC自动作出
回应。PLC通过单片机的串行通讯口通讯,程序用C51实现。程序的
2
子函数及其功能:(1)串口初始化voidProtocolInit(void)
函数功能:串口设置为异步通讯方式1(起始位1位,数据位8位,停
止位1位);定时/计数器1设置为波特率发生器,通讯速率9600bps;
开串
文档评论(0)