组态王与单片机多机串口通信的设计方案_第1页
组态王与单片机多机串口通信的设计方案_第2页
组态王与单片机多机串口通信的设计方案_第3页
组态王与单片机多机串口通信的设计方案_第4页
组态王与单片机多机串口通信的设计方案_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

2、串口通讯方法目前,组态王与单片机的通信多是通过动态数据交换(DDE或通过自己开发通讯驱动 程序完成。DDE是Windows平台上的一个完整的通信协议,组态王通过该协议与其他应 用程序交换数据。但不可靠和非实时。而自己开发通讯驱动程序会带来设计困难,增加系 统开发周期,可行性不高。组态王专门提供一种与单片机多机串口通信方法,可满足大多 数系统需求。3 PC机与单片机的硬件接口电路图1为上位PC机与下位单片机80C51的连接电路。PC机与单片机本身都自带串行 通讯接口,但由于在分布式系统中PC机与各单片机的分布不集中,不能利用RS-232通 讯传输,只能改用RS-485。RS-485采用差分式传输

3、信号,最大传输距离为1 219 m.最 大传输速率为10 Mb/s.对同时出现的两条信号线A、B的干扰有较强的抑制能力。当两 条线绞在一起时,被通信各种分布参数耦合过来的干扰信号可平均地分配到这两条线上, 因此对RS-485的差分式传输线路而言,用双绞线可获得较强的抗干扰能力。RS-485采用 二线与四线平衡传输方式,二线制可实现真正的多点双向通信,但需要在传输线上接电阻 (约 120 Qo上位pc机RS-485 线RS-485RS-485RS-4858051N#8051上位pc机RS-485 线RS-485RS-485RS-4858051N#80512#不相符,STC89C52不能与RS-4

4、85直接连接需要电气转换。这里采用Maxim公司的M80511#图1 PC机与单片机采用RS-485总线的连接电路由于80C51系列单片机STC89C52串行接口的,TTL电气特性与RS-485电气特性AX485,图2为其接口电路。+5VOCi0. 1 JJF40+5VOCi0. 1 JJF4020vcc RXDP1. 7 VSSTXD108h2RXD VCCREBDEATXD87 r11343 LMAX485STC89C52r图 2 STC89C52 与 MAX485 接 口电路图2中,MAX485的RE和DE南STC89C52单片机的P1. 7控制。由于MAX485以半双工的方式工作,因此

5、由P1. 7控制其发送与接收。当P1. 7为高电平时,驱动器使能而接收器为高阻态,此时可发送数据;而当P1. 7为低电平时.接收器使能而驱动器为高阻态,此时接收数据。另外由于PC机的COM 口是基于RS-232的串行通讯口 .其电气 特性与RS-485不一致,因此也需电平转换。图3为单片机地址设置电路,单片机STC89C52的P1 口的低4位用于设定本机地 址,通过4位DIP开关的组合最多可设定16种地址。如当4位开关全部断开时,对应的 本机地址是11 11。下位单片机在开始工作前需先设定自己的地址,这样,在开机自检时 下位单机片就能获取本机地址。+5V635SW DIP635SW DIP-4

6、 lkQpTi pT72 pE3图3单片机地址设置电路4系统通讯协议设计组态王提供了通过PC机与单片机串口进行十六进制数据通讯的驱动,而驱动中已经 规定好其通讯协议。4. 1通讯参数通讯参数包括数据位、停止位、波特率、校验方式。其中,数据位、停止位、波特率 由单片机决定。组态王中的设定和单片机一致即可。校验方式参照数据传输格式”部分。4. 2数据传输格式与协议说明格式1组态王发送地址请求格式(检验位为1:ENQ(头:H05,询问,请求帧的开始代码;ACK (头:H06确认,ACK应答帧的开始代码;NAK (头:H15否认,NAK应答帧的开始代码;EOT(尾:H04正文的结束,请求帧的结束ASC

7、II代码;ETX(尾:H03结束正文,应答帧的结束ASCII代码;数据传输:所有数据均为16进制数;.Sta:设备地址,1个字节,组态王设备地址范围为0255,此地址为单片机的地址,由单片机中的程序决定;.R:读标志,1个字节(0 x52;.W:写标志,1个字节(0 x57;. DataType:需要交换的数据类型,1字节。其中“1”代表字节,“2”代表字,“3” 代表浮点型;DataNum :读取数据的个数,1字节;.DataAddr:数据偏移地址,2字节,低字节在前,高字节在后;Data:实际传输的数据,低字节在前,高字节在后;DataLong:单片机返回Data的字节数,2字节,低字节在

8、前,高字节在后:CRC:为从第1个字节至CRC前的所有字节的异或值,1字节;ErrorCode:错误代码,“0”代表正确应答,“1”代表数据类型错误,“2”代表数 据范围超限,“3”代表指令无法识别。5单片机通讯程序流程设计图4为组态王程序流程,图5为单片机通讯程序流程。80C51系列单片机多机通讯可归纳如下:图4组态王程序流程GOD初始化 获取本机地址 * SM2设为1只接收地址图5单机片程序流程上位机的SM2=0,所有下位机的SM2=1,以便只接收上位机发来的地址;上位机给下位机发送地址时,第9数据位应该为1,以指示下位机接收这个地 址;所有下位机在SM2=1, RB8=1和RI=0时,接收上位机发来的地址,进入相 应中断服务程序,并与本机地址相比较,以确认是否为被寻址的下位机;被寻址下位机通过指令清除SM2,以便正常接收上位机发送来的数据,并向 上位机发回接收到的地址以便核实。未被寻址的下位机保持SM2=1,并退出各自 的中断服务程序;完

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论