新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于RS485接口Modbus协议的PLC与多机通讯

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

作者:时间:2013-02-17来源:网络收藏

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


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭