基于RS485接口Modbus协议的PLC与多机通讯

基于RS485接口Modbus协议的PLC与多机通讯

ID:45784121

大小:99.87 KB

页数:4页

时间:2019-11-17

基于RS485接口Modbus协议的PLC与多机通讯_第1页
基于RS485接口Modbus协议的PLC与多机通讯_第2页
基于RS485接口Modbus协议的PLC与多机通讯_第3页
基于RS485接口Modbus协议的PLC与多机通讯_第4页
资源描述:

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

1、基于RS485接口Modbus协议的PLC与多机通讯2010-06-2315:06:27作者:邓志君梁松峰來源:微计算机信息关键字:PLC单片机通讯Modbus串行通讯多机通讯1引言在自动控制领域,PLC和单片机都受到广泛应用。PLC具有稳沱可靠,抗干扰能力强,功能强大且使用方便等特点[1],单片机具有成本低廉,使用灵活,功能多样等特点。PLC与单片机结合,互相联系,互相通讯,将扩展控制功能,更好的控制复杂的系统。在研究混合动力电动汽车驱动系统[2]时,采用PLC作为主控制器,控制电机变频器和发动机节

2、气门控制器,实现对电机和发动机功率的综合控制。因为PLC和变频器均是艾默生公司的产品,均支持RS485接口和MODBUS协议,所以控制系统统一采用RS485接口和MODBUS协议。而发动机节气门控制器采用89C51单片机,所以要通过建立PLC与单片机的通讯,实现控制。图1通信系统结构框图2硬件设计通讯系统的结构框图如图1所示。2.1信号转换电路单片机支持TTL电平,可以采用MAX485芯片來实现RS485与TTL之间的信号转换(如图2)。MAX485芯片采用单一•电源+5V工作,额疋电流为300匸心,

3、采用半双工通讯方式,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,分别与单片机的RXD和TXD相连;RE和DE端分别为接收和发送的使能端,当RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可:PLC里RS485总线的A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;当A的电平低于B端时,代表发送的数据为0。在A和B端之间加匹配电阻,一般可选1

4、00Q左右的电阻。GNDGND3软件设计控制系统釆用单主机/多从机的组网方式,PLC为主机,电机变频器和单片机为从机。艾默主公司的PLC和电机变频器之间已经建立了采用RS485总线,MODBUS协议的通讯[3][4],为了实现PLC与单片机的通讯,须先了解PLC与电机变频器的通讯特点,然后建立连接通讯。3」PLC少电机变频器的通讯特点采用RTU方式的Modbus协议,帧格式如图3所示。波特率为9600bps,数据格式为1-8-N-2,字符间间隔少于1.5个字符时间(1.72ms),RTU帧的最大帧长度

5、是256个字节。帧之间的空闲时间取命令码设定和Modbus内部约定值中的较人值。Modbus内部约定的最小帧间空闲如下:帧头利帧尾通过总线空闲时间不小于3.5个字符时间(4ms)來界定帧。帧之间的总线空闲不需耍累加起始和结束空闲。数据采用CRC16校验,整个信息参与校验,校验和的高低字节需耍交换后发送。,Modbus数据帧.鵜駱计卜机叫十11姒11校啣I憎铲图3RTU方式RS485是异步半双工的通讯总线。主机处于主导和支配地位,疋时发出监控命令,等待从机的应答。从机处于侦听状态,不能主动往总线发送数据

6、,在接收到主机发送的一帧信息后,首先判断地址码是否本机地址,如果此帧信息的地址码和木机地址相同,则继续处理命令码和数据,如果此帧信息的地址码和木机地址不同,则忽略。接收完一个主机监控命令后,先进行校验,如果校验正确则执行接收的监控命令,并根据命令回送相应的应答帧。任何时刻只能有一个从机处丁-发送状态,但主机发送时所有从机都必须处丁-接收状态。上位机PLC的通讯流程图如图4所示。图4上位机PLC的通讯流程图3.2PLC与单片机通讯的实现表1PLC与单片机通讯的帧字节数帧构成地址功能码数据CRC字节数11

7、22单片机进行通信时工作在“方式一”的状态下[5]。因为PLC发出的数据帧第一个字符为地址数据,所以单片机在接收数据时要区分接收到的数据是否是帧的第-个字符。根据单片机每接收完一个字节数据RI就置1,而且帧间间隔4ms以上,字符间隔少于1.72ms,刖•以通过计时的方式来判断帧的第一个字符。当RI置1,开始计时,到下一次RI置1,计时结束,当时间间隔人于4ms,则后一次RI置1时接收的字符是帧的第一个字符,当时间少于1.72ms,则不是。为了简化程序,可以协议好PLC与单片机通讯的帧字节数为6个字节,

8、如表1。单片机根拯地址字符数据判断是否是本机地址,如果是,则接收处理后面的5个字节数据,计算前四个字节的CRC校验码,并与接收到的两个字节CRC校验,进行核对,如果不相同,则不反馈数据给PLC,也不执彳J:数据包含的指令,如果相同,则反馈数据给PLC,执行数据包含的指令。下位机单片机程序的流程图如图5所示。4结束语木文作者创新点:在艾默生PLC与其变频器的通讯基础上加入了基于RS485接口Modbus协议的PLC与单片机的多机通讯,该通讯方案硬件接口简单

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

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

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