单片机
返回首页

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

2013-02-17 来源:dzsc

  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 http://www.dzsc.com/datasheet/PLC_1248813.html.
[2]. RS485 datasheet http://www.dzsc.com/datasheet/RS485_585289.html.
[3]. 89C51  datasheet http://www.dzsc.com/datasheet/89C51+_105386.html.
[4]. TTL  datasheet http://www.dzsc.com/datasheet/TTL+_1174409.html.
[5]. MAX485  datasheet http://www.dzsc.com/datasheet/MAX485+_859396.html.

进入单片机查看更多内容>>
相关视频
  • RISC-V嵌入式系统开发

  • SOC系统级芯片设计实验

  • 云龙51单片机实训视频教程(王云,字幕版)

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

最新器件
精选电路图
  • 光控音效发生器电路

  • 优化电路板布局的简单方法

  • 一个简单的立体声平衡指示器电路

  • 分享一个电网倾角计电路

  • 使用NE555和磁簧开关的橱柜照明电路

  • 一种构建12V和230V双直流电源的简单方法

    相关电子头条文章