ImageVerifierCode 换一换
格式:DOCX , 页数:8 ,大小:149.81KB ,
资源ID:13241025      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/13241025.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(组态王及单片机多机串口通信的设计Word格式.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

组态王及单片机多机串口通信的设计Word格式.docx

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

2、C51系列单片机STC89C52串行接口的,TTL电气特性与RS-485电气特性不相符,STC89C52不能与RS-485直接连接,需要电气转换。这里采用Maxim公司的MAX485,图2为其接口电路。图2中,MAX485的RE和DE南STC89C52单片机的P17控制。由于MAX485以半双工的方式工作,因此由P17控制其发送与接收。当 P17为高电平时,驱动器使能而接收器为高阻态,此时可发送数据;而当P17为低电平时接收器使能而驱动器为高阻态,此时接收数据。另外由于PC机的COM口是基于RS-232的串行通讯口其电气特性与RS-485不一致,因此也需电平转换。图3为单片机地址设置电路,单片

3、机STC89C52的P1口的低4位用于设定本机地址,通过4位DIP开关的组合最多可设定16种地址。如当4位开关全部断开时,对应的本机地址是11 11。下位单片机在开始工作前需先设定自己的地址,这样,在开机自检时下位单机片就能获取本机地址。4 系统通讯协议设计组态王提供了通过PC机与单片机串口进行十六进制数据通讯的驱动,而驱动中已经规定好其通讯协议。41 通讯参数通讯参数包括数据位、停止位、波特率、校验方式。其中,数据位、停止位、波特率由单片机决定。组态王中的设定和单片机一致即可。校验方式参照“数据传输格式”部分。42 数据传输格式与协议说明格式1 组态王发送地址请求格式(检验位为1):格式2单

4、片机应答地址格式(检验位为0):格式3组态王读数据请求格式(检验位为0):格式4单片机应答读数据格式(正确)(检验位为O):格式5单片机应答读数据格式(错误)(检验位为0):格式6组态王写数据请求格式(检验位为O):格式7单片机应答写数据格式(正确)(检验位为0):协议具体说明如下:ENQ(头):H05,询问,请求帧的开始代码; ACK(头):H06,确认,ACK应答帧的开始代码;NAK(头):H15,否认,NAK应答帧的开始代码;EOT(尾):H04,正文的结束,请求帧的结束ASCII代码;ETX(尾):H03,结束正文,应答帧的结束ASCII代码;数据传输:所有数据均为16进制数;Sta:

5、设备地址,1个字节,组态王设备地址范围为0255,此地址为单片机的地址,由单片机中的程序决定;R:读标志,1个字节(0x52);W:写标志,1个字节(0x57);DataType:需要交换的数据类型,1字节。其中“1”代表字节,“2”代表字,“3”代表浮点型;DataNum:读取数据的个数,1字节;DataAddr:数据偏移地址,2字节,低字节在前,高字节在后;Data:实际传输的数据,低字节在前,高字节在后;DataLong:单片机返回Data的字节数,2字节,低字节在前,高字节在后:CRC:为从第1个字节至CRC前的所有字节的异或值,1字节;ErrorCode:错误代码,“0”代表正确应答

6、,“1”代表数据类型错误,“2”代表数据范围超限,“3”代表指令无法识别。1.首先确认单片机下位机程序是采用标准modbus协议ASCII ,RTU ,TCP/IP中的哪一种?2. 在力控开发系统环境里的 IO设备组态 选择 MODBUS驱动,根据1来选择相应的驱动程序,如1确认是MOUDBUS RTU则选择MOUDBUS RTU驱动后右键单击,在弹出对话框中选择新建。3.在接下来的新建过程中填好相应设置(如通讯方式,采集频率,数据格式,偏移地址等)祝你早日通讯成功!4.个人感觉组态软件中通讯大同小异,只是使用习惯问题。追问设备地址应该怎么填呢单片机与组态王软件通讯解决方案摘要:本文阐述了组态

7、王软件在工业控制领域中的应用,组态王软件和单片机进行通讯的两种解决方案及其优劣性比较,并着重阐述了基于DDE方案的数据通讯原理和代码实现。1.引言 组态王软件作为一种工业控制组态软件在国内已得到了非常广泛的应用。其具有强大的硬件支持能力,对国内外绝大多数PLC、变频器、板卡、模块、仪器仪表都编写了相应的驱动程序,使用起来相当方便快捷。在“农水实验田环境监测”项目中,我们使用的硬件设备包括日本三菱PLC、台湾研华亚当模块及自行开发的基于单片机的分析仪器,我们选择的软件开发平台是组态王软件。因此,实现单片机与组态王的数据通讯是一个必须解决的问题。2.单片机与组态王软件通讯的解决方案 2.1两种通讯

8、解决方案 单片机与组态王软件通讯的解决方案有两种,其一是直接编写支持单片机的驱动程序,就象组态王支持PLC一样;其二是利用组态王软件和 VisualBasic都支持DDE的特点,以VB为开发平台,写一个数据通讯应用程序,一方面实现与单片机的连接,另一方面实现与组态王的动态数据交换。2.2两种方案的比较 第一种方案的优点是程序结构比较紧凑,数据通讯效率较高;缺点是必须由对组态王软件内核比较清楚的程序员开发,开发周期较长。第二种方案可由一般的程序员开发,缺点是数据通讯效率较低。在本项目中,我们采用了第二种方案。3.基于DDE方案的实现 3.1DDE的概念 DDE是WINDOWS平台上的一个完整通信

9、协议,它使应用程序能彼此交换数据和发送指令。DDE过程可以比喻为两人对话,一方向另一方提出问题,然后等待回答。提问的一方称为“客户”,回答的一方称为“服务器”。一个应用程序可以同时是“客户”和“服务器”,当它向其他程序中请求数据是,它充当的是“客户”,若有其他程序向它提供数据,它又成了“服务器”。3.2通讯程序的数据流向 用VB编写的数据通讯程序作为中间者传递组态王与单片机之间的数据。当组态王需要向单片机发送控制命令时,组态王充当服务器向VB通讯程序提供数据,VB通讯程序再通过串口实现对单片机的远程控制;当组态王需要向单片机采集数据时,组态王充当客户向VB通讯程序请求数据。组态王与单片机通讯的

10、数据流向如图1图1组态王与单片机通讯的数据流向 3.3代码实现 1组态王的DDE设置 组态王的DDE对话的内容是通过三个标识名来约定的。应用程序名(application):进行DDE对话的双方名称 主题(topic):被讨论的数据域 项目(item)被讨论的特定数据对象 为了建立DDE连接,需要在组态王的数据词典里建立一个DDE变量,并登记三个标识名。组态王运行系统的程序名是“VIEW”,主题规定为“TAGNAME”,项目是在定义DDE变量时定义的项目名称。2VB通讯程序中的DDE设置 在VB中DDE的连接是通过控件的属性和方法来实现的。当VB充当服务器时,需要设置LinkTopic和Lin

11、kMode属性;当VB充当客户时,需要设置LinkTopic,LinkItem和LinkMode属性。例如,VB通讯程序作为服务器时的设置如下:SubForm_Load() LinkTopic=”form1” LinkMode=1 EndSub 3VB与单片机的通讯 在VB中可用Microsoft公司的32位串口通信控件Mscomm32.ocx实现与单片机的通讯。在程序初始化时,设置Rthreshoid属性为1,接收缓冲区接收到数据时触发OnComm事件,从而进行数据的接收和处理。MSComm1_OnComm()SelectCaseMSComm1.CommEvent MscommEVRECEIVE Inbuffe=MSComm1.Input Receivedata=Inbuffe MSComm1Receive=False Select 。4.结论 采用上述方案,我们在“农水实验田环境监测系统”项目中,很好地解决了组态王软件与单片机的数据通讯。一年来,系统运行稳定可靠,产生了良好的经济效益。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1