基于Modbus协议实现单片机与PLC之间的通讯

基于Modbus协议实现单片机与PLC之间的通讯

ID:46686431

大小:50.50 KB

页数:6页

时间:2019-11-26

基于Modbus协议实现单片机与PLC之间的通讯_第1页
基于Modbus协议实现单片机与PLC之间的通讯_第2页
基于Modbus协议实现单片机与PLC之间的通讯_第3页
基于Modbus协议实现单片机与PLC之间的通讯_第4页
基于Modbus协议实现单片机与PLC之间的通讯_第5页
资源描述:

《基于Modbus协议实现单片机与PLC之间的通讯》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、基于Modbus协议实现单片机与PLC之间的通讯來源:PLC&FA作者:蔡晓燕赵兴群万遂人董鹏云关键词:可编程控制器Modbus通讯协议1引言HMI(人机界面)以其体积小,高性能,强实时等特点,越來越多的应用于工业白动化系统和设备屮。它有字母、汉字、图形和图片等不同的显示,界面简单友好。配有长寿命的薄膜按钮键盘,操作简单。它一般采用具冇集成度高、速度快、高可靠H•价格低等优点的单片机[1]作为其核心控制器,以实现实吋快速处理。PLC和单片机结合不仅可以提PLC的数据处理能力,还可以给用八带来友好简洁的界而。本文以Modbus通讯协议为例,详细讨论了一个人机系统中,如

2、何川C51实现单片机和PLCZ间通讯的实例。2Modbus通讯协议[4]Modbus协议是应用于电了控制器上的一种通用语言。通过此协议,控制器相互Z间、控制器经由网络和具它设备之间町以通信。Modbus协议提供了主一从原则,即仅一-设备(主设备)能初始化传输(杳询)。其它设备(从设备)根据主设备查询提供的数据作出相应反应。主设备查询的格式:设备地址(或广播,此时不需要回应)、功能代码、所有要发送的数据、和-•错误检测域。从设备回应消息包括确认地址、功能码、任何要返回的数据、和一错误检测域。如果在消息接收过程中发生一错误,或从设备不能执行其命令,从设备将建立一错误消息

3、并把它作为回应发送出去。控制器能设査为两种传输模式:ASCII和RTU,在同样的波特率下,RTU可比ASCII方式传送更多的数据,所以采用KTU模式。⑴典型的RTU消息帧典型的RTU消息帧如表1所示。表1典型的RTU消息帧起始位设备地址功能代码数据CRC校验结束符T1-T2-T3-T48Bit8Bitn个16BitT1-T2-T3-T4RTU消息帧的地址域包含8bito可能的从设备地址是0...127什进制)。其中地址0是用作广播地址,以使所有的从设备都能认识。主设备通过将要联络的从设备的地址放入消息屮的地址域来选通从设备。当从设备发送回应消息时,它把白己的地址放入

4、冋应的地址域中,以便主设备知道是哪一个设备作出回应。RTU消息帧屮的功能代码域包含了8bits,当消息从主设备发往从设备时,功能代码域将告Z从设备需要执行哪些行为;当从设备回应时,它使用功能代码域來指示是正常冋应(无谋)还是有某种错误发生(称作界议回应,一般是将功能码的最高位由0改为1)。从主设备发给从设备消息的数据域包含附加的信息:从设备必须用于进行执行由功能代码所定义的行为。这包括了像不连续的寄存器地址,要处理项的数冃,域中实际数据字节数。如果没有错误发生,从从设备返回的数据域包含请求的数据。如果有错误发生,此域包含一异议代码,主设备应用程序可以用來判断采取下-

5、-步行动。当选川RTU模式作字符帧时,错误检测域包含一16Bits值(用两个8位的字符來实现)。错谋检测域的内容是通过对消息内容进行循环兀长检测(CRC)方法得出的。CRC域附加在消息的最后,添加时先是低字节然示是高字节。(2)所有的Modbus功能码Modbus的功能码定义如表2所示。名环作用01F9F2"线■的当第状泰02JRI•一殂开关输入的当松衣(OK/OFF)03這一个或參个保材得祥殍申収御岂肃的二进稣1左一个或务个入霍祥弐护収■当篇的二逬制值05题笔枝.姒覽一个逻U蝮曲的0斷状去06把具休二堆(■麓入一个保捋寄存总5iWR异林杰取得8个内MHB的0斷状杰

6、08把诊締技鮭根文送从机・以对通/1处理进行详鉴便主机用.修改PC从机運卩10蛙询可隻主机耳一台正在枚行*程序任务从机通(I11住取事件计敷可餐主机发岀0询何•并履即判定省作她舌如12涙取1M事件记录可是主眦馆索哥台从的ModBus■务处件i分。13可像主UUI机啊m功M改PC从他线蛇询可餐主巩与正左伏行任务的从川通信15an多皴■的通斷16Mt多•存好is具停的二进制(■議入一拿连坎的保捋u存殍17报舌从瞬识可使主眦刿朗境址从紈的竟型汝该从机运行代附的状茶18884ft)MICRO84可餐主机債拟舞程功能・修改pc状态iW19重<通信植路发生非可修改是从机夏垃干己

7、如状序亨节20M取通用①敷文件尸的敛据m息3常用功能通讯程序的设计[5]本文介绍了几个Modbus常用功能程序的设计。笔者采用单片机作为主机,在单片机上编写程序实现单片机与PLC之间的通讯。山单片机向PLC发出命令信息,PLC自动作出回应。PLC通过单片机的申行通讯口通讯,程序用C51实现。程序的子函数及其功能:(1)串口初始化voidProtocollnit(void)函数功能:串口设置为异步通讯方式1(起始位1位,数据位8位,停止位1位);定时/计数器1设置为波特率发生器,通讯速率9600bps;开串行中断,并把串行中断设置为高优先级。(2)CRC简单函数u

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。