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

出处:feng993032 发布于:2010-06-23 11:28:40

  摘要:本文在艾默生PLC与其变频器的通讯基础上加入了基于RS485接口Modbus协议的PLC与单片机的多机通讯。介绍了艾默生PLC与其变频器的通讯特点,详细描述了通讯系统的硬件构成以及软件设计过程。所设计的通讯方案已经成功应用于混合动力电动汽车驱动电机及发动机节气门的综合控制。

  1 引言

  在自动控制领域,PLC 和单片机都受到广泛应用。PLC 具有稳定可靠,抗干扰能力强, 功能强大且使用方便等特点[1],单片机具有成本低廉,使用灵活,功能多样等特点。PLC 与 单片机结合,互相联系,互相通讯,将扩展控制功能,更好的控制复杂的系统。

  在研究混合动力电动汽车驱动系统[2]时, 采用PLC 作为主控制器,控制电机变频器和发 动机节气门控制器,实现对电机和发动机功率的 综合控制。因为PLC 和变频器均是艾默生公司 的产品,均支持RS485 接口和MODBUS 协议, 所以控制系统统一采用RS485 接口和MODBUS 协议。而发动机节气门控制器采用89C51 单片 机,所以要通过建立PLC 与单片机的通讯,实 现控制。

  图1 通信系统结构框图

  2 硬件设计

  通讯系统的结构框图如图1 所示。

  2.1 信号转换电路

  单片机支持 TTL 电平,可以采用MAX485 芯片来实现RS485 与TTL 之间的信号转换 (如图2)。MAX485 芯片采用单一电源+5 V 工作,额定电流为300 μA,采用半双工通讯方式,内部含有一个驱动器和接 收器。RO 和DI 端分别为接收 器的输出和驱动器的输入端, 分别与单片机的RXD 和TXD 相连;RE 和DE 端分别为接收 和发送的使能端,当RE 为逻 辑0 时,器件处于接收状态; 当DE 为逻辑1 时,器件处于 发送状态,因为MAX485 工作 在半双工状态,所以只需用单 片机的一个管脚控制这两个 引脚即可;PLC 里RS485 总线的A 端和B 端分别为接收和发送的差分信号端,当A 引脚的 电平高于B 时,代表发送的数据为1;当A 的电平低于B 端时,代表发送的数据为0。在A 和B 端之间加匹配电阻,一般可选100Ω 左右的电阻。


  3 软件设计

  控制系统采用单主机/多从机的组网方式,PLC 为主机,电机变频器和单片机为从机。 艾默生公司的PLC 和电机变频器之间已经建立了采用RS485 总线,MODBUS 协议的通讯 [3][4],为了实现PLC 与单片机的通讯,须先了解PLC 与电机变频器的通讯特点,然后建立 连接通讯。

  3.1 PLC 与电机变频器的通讯特点

  采用RTU 方式的Modbus 协议,帧格式如图3 所示。 波特率为9600bps,数据格式为1-8-N-2,字符间间隔少于 1.5 个字符时间(1.72ms),RTU 帧的帧长度是256 个 字节。帧之间的空闲时间取命令码设定和Modbus 内部约 定值中的较大值。Modbus 内部约定的帧间空闲如下: 帧头和帧尾通过总线空闲时间不小于3.5 个字符时间 (4ms)来界定帧。帧之间的总线空闲不需要累加起始和 结束空闲。数据采用CRC16 校验,整个信息参与校验, 校验和的高低字节需要交换后发送。


  图3 RTU 方式

  RS485 是异步半双工的通讯总线。主机处于主导和支 配地位,定时发出监控命令,等待从机的应答。从机处于 侦听状态,不能主动往总线发送数据,在接收到主机发送 的一帧信息后,首先判断地址码是否本机地址,如果此帧 信息的地址码和本机地址相同,则继续处理命令码和数 据,如果此帧信息的地址码和本机地址不同,则忽略。接收完一个主机监控命令后,先进行校验,如果校验正确则执行接收的监控命令,并根据命令 回送相应的应答帧。任何时刻只能有一个从机处于发送状态,但主机发送时所有从机都必须 处于接收状态。

  上位机PLC 的通讯流程图如图4 所示。

  图4 上位机PLC 的通讯流程图

  3.2 PLC 与单片机通讯的实现

  表 1 PLC 与单片机通讯的帧字节数

  单片机进行通信时工作在“方式一”的状态下[5]。 因为PLC 发出的数据帧个字符为地址数据,所 以单片机在接收数据时要区分接收到的数据是否是 帧的个字符。根据单片机每接收完一个字节数 据RI 就置1,而且帧间间隔4ms 以上,字符间隔少 于1.72ms, 可以通过计时的方式来判断帧的个 字符。当RI 置1,开始计时,到下RI 置1,计 时结束,当时间间隔大于4ms,则后RI 置1 时 接收的字符是帧的个字符,当时间少于1.72ms, 则不是。

  为了简化程序,可以协议好PLC 与单片机通讯 的帧字节数为6 个字节,如表1。单片机根据地址字 符数据判断是否是本机地址,如果是,则接收处理 后面的5 个字节数据,计算前四个字节的CRC 校验 码,并与接收到的两个字节CRC 校验,进行核对, 如果不相同,则不反馈数据给PLC,也不执行数据 包含的指令,如果相同,则反馈数据给PLC,执行 数据包含的指令。下位机单片机程序的流程图如图5 所示。

  4 结束语

  本文作者创新点:在艾默生 PLC 与其变频器的 通讯基础上加入了基于RS485 接口Modbus 协议的 PLC 与单片机的多机通讯,该通讯方案硬件接口简 单,软件和通信协议有很好的通用性,可以拓展为PLC 与多个变频器和单片机的同时通讯, 也可应用于其他工程的多机通讯系统中。该通讯方案已经成功应用于混合动力电动汽车的驱 动电机及发动机节气门的综合控制。


  

参考文献:

[1]. PLC datasheet https://www.dzsc.com/datasheet/PLC_1248813.html.
[2]. RS485 datasheet https://www.dzsc.com/datasheet/RS485_585289.html.
[3]. 89C51  datasheet https://www.dzsc.com/datasheet/89C51+_105386.html.
[4]. TTL  datasheet https://www.dzsc.com/datasheet/TTL+_1174409.html.
[5]. MAX485  datasheet https://www.dzsc.com/datasheet/MAX485+_859396.html.


版权与免责声明

凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。

本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。

如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。

广告
上传BOM文件: BOM文件
*公司名:
*联系人:
*手机号码:
QQ:
应用领域:

有效期:
OEM清单文件: OEM清单文件
*公司名:
*联系人:
*手机号码:
QQ:
有效期:

扫码下载APP,
一键连接广大的电子世界。

在线人工客服

买家服务:
卖家服务:

0571-85317607

客服在线时间周一至周五
9:00-17:30

关注官方微信号,
第一时间获取资讯。

建议反馈

联系人:

联系方式:

按住滑块,拖拽到最右边
>>
感谢您向阿库提出的宝贵意见,您的参与是维库提升服务的动力!意见一经采纳,将有感恩红包奉上哦!