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

发布者:BlissfulMoments最新更新时间:2010-06-23 来源: 微计算机信息关键字:PLC  单片机通讯  Modbus  串行通讯  多机通讯 手机看文章 扫描二维码
随时随地手机看文章

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 与多个变频器和单片机的同时通讯, 也可应用于其他工程的多机通讯系统中。该通讯方案已经成功应用于混合动力电动汽车的驱 动电机及发动机节气门的综合控制。

关键字:PLC  单片机通讯  Modbus  串行通讯  多机通讯 引用地址:基于RS485接口Modbus协议的PLC与多机通讯

上一篇:Modbus通信在PLC通道检测中的应用
下一篇:PROFIBUS-DP接口开发技术研究和应用

推荐阅读最新更新时间:2024-03-30 21:31

PLC编程需要养成良好的编程习惯
  每个人编程都会有不同的习惯和特点,不能强求一致。但是一些好的习惯还是应该为大多数人所遵循。一是理顺逻辑关系、时序关系,编制程序框图;二是合理分配主程序、子程序和中断程序;三是合理分配寄存器,编制寄存器符号表。   plc编程更接近于单片机,或者说PLC就是模块化的单片机。因此PLC的很多操作都是直接针对寄存器的,如果在程序中出现不合理的寄存器地址重叠,一定会出现不可预想的后果。编制寄存器符号表不仅可以避免上述问题(MicroWin会有问题提示),而且可以使程序具备更好的可读性。这和VB中定义变量有异曲同工之处。   VB编程中关注的是事件,不强调主程序和子程序的观念,因为VB主程序的工作是由PC的操作系统完成的。PLC
[嵌入式]
PLC的多功能自动车床设计
1、引言: 由于可编程控制器(PLC)具有可编程性,通用性、适应性强,针对工业控制设计,可靠性高,同时有完善的故障自诊断能力且维修方便,因此小型PLC具有很高的性价比,因此在普通车床的控制电路改造设计中发挥了极其重要的作用。 2、电气控制要求: 送料前,电机需停止,送料到位时,封口向下,封口到位后,送料继续直至送料到封口,此时主轴上的夹头夹紧工具,退料,然后通过变频器驱动主电机高速旋转,接下来按照功能的选择,进刀,工进,倒角,最后回原位,完成加工工艺。 根据加工工艺,对电气控制提出如下要求: 1) 主电机采用三相异步电动机,通过变频器控制,要求能够快速启停;且由于加工速度快,启停频繁,需接400Ω,260W的制动电阻; 2) 油
[嵌入式]
初学PLC的几种方法
  简介:可编程控制器(简称PLC)入门容易,真正掌握可编程控制器的编程方法,能够顺利设计出满足生产任务的要求,同时程序做到简洁、易懂,对于从事PLC应用的初学者,PLC的系统学习非常重要。本文就PLC的编程技巧、特殊功能模块和触摸屏的学习方法谈谈自己的心得。   可编程控制器是集计算机技术、通讯技术、自动控制技术为一体的工业控制装置。对于初学者来说掌握了PLC基本原理,熟悉常用的编程方法,在进行简单系统编程时尚可以运用自如,但对较为复杂的控制系统设计往往力不从心,要想在PLC应用方面得心应手,学习者除了要建立正确的学习方法,深入学习PLC编程技巧,最重要的是相关知识的学习。下面从六个方面谈谈学习PLC的心得。   一、多收集程
[机器人]
基于PLC的上网计时器制作
ADSL是目前采用得最多的宽带接入方式。不少用户利用ADSL MO-DEM的路由功能实现多台用PLC制作上网计时器电脑共享上网,以减少上网费。对于网络运营商提供的多种资费标准,除了包月使用的用户以外,都存在上网计时问题。 一般上网计时都是用电脑计时软件来实现,这些软件均是针对以拨号方式上网的单台电脑,对于利用ADSLMODEM的路由功能实现多台电脑共享上网的方式,目前还没有很好的计时办法。因ADSLMODEM工作在路由方式时,只要接通MODEM电源,MODEM就会自动进行拨号连接网络,因此要计算上网时间,必须计算ADSLMO-DEM的通电时间。 笔者用PLC制作了一个上网计时装置,用来监视和控制共享上网时间。 现以某小型办公
[嵌入式]
MSP430教程15:MSP430单片机串行通讯模块
串行异步通讯模块 在MSP430系列产品中,每一款型号都能实现串行通讯的功能,在MSP 430F1X11系列中,可以用定时器A和软件编程结合实现串行通讯功能。而在其它系列产品中都带有硬件的串行通讯模块USART;另外,MSP 430F14X系列产品中还带了两个串行通讯模块。而在MSP 430F15X,F16X系列中USART0还可以实现IIC总线通讯。在UART模块中带有UART串行异步通讯和SPI同步通讯硬件资源。 图是USART模块结构图,从下图可以看出USART模块分别由波特率部分:波特率发生器,串行通讯接收/发送控制寄存器。 接收部分,发送部分,端口IO部分。 串行异步通讯的特点: 1-异步
[单片机]
MSP430教程15:MSP430<font color='red'>单片机</font><font color='red'>串行通讯</font>模块
基于PC+PLC等离子熔射自动控制系统设计
   1 引言   等离子熔射由于其温度高且能量集中,能够熔射金属、陶瓷或复合材料的特点在表面改性、功能薄膜制备和材料加工工程中被广泛应用 。为了保证熔射皮膜成形性与成形质量,必须在数字图像处理、过程控制、人工智能等方法基础上进行系统集成控制与工艺优化。当前国际上几大热喷涂设备和材料生产厂家,如英国Metallisation公司、瑞士Sulzer-Metco公司和美国Praxair公司等,已推出基于PC+PLC+现场检测+过程控制的等离子熔射系统。但是由于国际上相关熔射设备价格昂贵,不能引进到国内每一个加工车间或者科研院所,因此需要自主开发适用于特定工艺的熔射过程检测与控制系统。目前国内已有基于单片机、微机、PLC等进行熔射控制
[嵌入式]
基于PC+<font color='red'>PLC</font>等离子熔射自动控制系统设计
PLC控制柜方案/应用/使用条件介绍
  PLC控制柜的组成部分   1、空开:一个总的空气开关,这个是整个柜体的电源控制。相信每个柜子都必须要有的一个东西。   2、PLC:这个要根据工程需要选择。打个比方如果工程小可以直接就是一个一体化的PLC但如果工程比较大可能就需要模块、卡件式的,同时还可能需要冗余(也就是两套交替使用)。   3、24VDC的电源:一个24VDC的开关电源,大多数的PLC都是自带24VDC的电源,根据是否确实需要来定是否要这个开关电源。   4、继电器:一般PLC是可以直接将指令发到控制回路里,但也可能先由继电器中转。打个比方,如果你PLC的输出口带电是24VDC的,但是你的控制回路里画的图需要PLC供的节点却是220VAC的,那么你就必须在
[嵌入式]
研祥“八爪鱼”盛装步入自动化产业殿堂
      在刚刚结束的“09年研祥自动化(EAS)产品峰会”北京站的新品推介会上,由研祥中国区市场本部最新研发推出的“八爪鱼”系列产品的王者AEQ-2801整机产品一下吸引了各位参会嘉宾的眼球,成为现场观摩和热评的焦点。       数据采集和设备控制是自动化产业领域中一个重要的分支,在传统的数据采集系统中,工程师往往会采用工控机加数据采集卡或者直接用PLC来实现现场信号的实时采集和输出控制。采用这种传统的数据采集方案,系统工程师往往会遇到以下的不足或缺陷:       1、 系统成本高      不管是采用工业控制计算或是PLC,系统的成本均比较高。目前市场上主流PLC的价格还是处于一个高位水平,即使现场点数不多的情况
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved