经产观察
IT资讯
IT产业动态
业界
网站运营
站长资讯
互联网
国际互联网新闻
国内互联网新闻
通信行业
通信设备
通信运营商
消费电子
数码
家电
通信设备

基于RS485的组态王与单片机多机串口通信设计

作者:habao 来源: 日期:2015-7-28 13:55:35 人气:

  1 引言

  随着工业化要求提高,分布式系统发展以及控制设备与设备之间通讯需要,组态软件设计的系统逐步普及。现在组态软件繁多,比如KingVieW(组态王)、 MCGS、WinCC等。KingView软件基于Microsoft Windows XP,NT/2000操作系统.具有友好的人机操作界面、强大的IO设备端口驱动能力,可与各种PLC、智能仪表、智能模块、板卡、变频器等实时通讯。由 于在检测大量模拟量的工业现场使用PLC与组态软件通讯势必增加产品成本。而单片机接口丰富,与A/D转换模块组合可以完成相同的工作,并且系统可靠、成本低。

  2组态王与单片机的串口通讯方法

  目前,组态王与单片机的通信多是通过动态数据交换(DDE)或通过自己开发通讯驱动程序完成。DDE是Windows平台上的一个完整的通信协 议,组态王通过该协议与其他应用程序交换数据。但不可靠和非实时。而自己开发通讯驱动程序会带来设计困难,增加系统开发周期,可行性不高。组态王专门提供 一种与单片机多机串口通信方法,可满足大多数系统需求。

  3 PC机与单片机的硬件接口电

  图1为上位PC机与下位单片机80C51的连接电。PC机与单片机本身都自带串行通讯接口,但由于在分布式系统中PC机与各单片机的分布不集 中,不能利用RS-232通讯传输,只能改用RS-485。RS-485采用差分式传输信号,最大传输距离为1 219 m.最大传输速率为10 Mb/s.对同时出现的两条信号线A、B的干扰有较强的能力。当两条线绞在一起时,被通信各种分布参数耦合过来的干扰信号可平均地分配到这两条线上, 因此对RS-485的差分式传输线而言,用双绞线可获得较强的抗干扰能力。RS-485采用二线与四线平衡传输方式,二线制可实现真正的多点双向通信,但需要在传输线上接电阻(约120 )。

  由于80C51系列单片机STC89C52串行接口的,TTL电气特性与RS-485电气特性不相符,STC89C52不能与RS-485直接连接,需要电气转换。这里采用Maxim公司的MAX485,图2为其接口电。

  图2中,MAX485的RE和DE南STC89C52单片机的P1.7控制。由于MAX485以半双工的方式工作,因此由P1.7控制其发送与 接收。当 P1.7为高电平时,驱动器使能而接收器为高阻态,此时可发送数据;而当P1.7为低电平时.接收器使能而驱动器为高阻态,此时接收数据。另外由于PC机 的COM口是基于RS-232的串行通讯口.其电气特性与RS-485不一致,因此也需电平转换。

  图3为单片机地址设置电,单片机STC89C52的P1口的低4位用于设定本机地址,通过4位DIP开关的组合最多可设定16种地址。如当4 位开关全部断开时,对应的本机地址是11 11。下位单片机在开始工作前需先设定自己的地址,这样,在开机自检时下位单机片就能获取本机地址。

  4 系统通讯协议设计

  组态王提供了通过PC机与单片机串口进行十六进制数据通讯的驱动,而驱动中已经好其通讯协议。

  4.1 通讯参数

  通讯参数包括数据位、停止位、波特率、校验方式。其中,数据位、停止位、波特率由单片机决定。组态王中的设定和单片机一致即可。校验方式参照“数据传输格式”部分。

  4.2 数据传输格式与协议说明

  格式1 组态王发送地址请求格式(检验位为1):

推荐文章