利用VB实现组态王单片机之间串行通信
基于DDE的组态王与VB的数据通信

基于DDE的组态王与VB的数据通信摘要:针对煤矿井下的实际应用,基于组态王软件的动态数据交换(DDE)技术和VB应用程序,本文介绍了瓦斯监测监控系统中上位机和下位机通过CAN总线接口CAN-RS232进行通信的方法。
关键词组态王CAN-RS232 DDE VB1.前言随着计算机技术和监控技术的发展,监控组态软件在工业过程控制等领域得到了广泛的应用。
它作为面向监控与数据采集的软件平台,具有丰富的项目设置,使用方法灵活,并且功能强大。
煤矿井下监测监控系统主要包括两个部分:一是数据采集系统,即智能结点(下位机),它将CPU与各类传感器相结合,对生产过程中的设备、仪表进行实时监测,将各种被测物理量的参数及状态转换成数字信号,并通过CAN总线传递到上位机,CAN总线是一种日益受到重视的数据通讯方式,在传输率为5kb/s时,该总线无需中继可实现10km的可靠传输。
在监控系统的第二个部分即上位机上,通常无法直接将CAN总线与之连接起来,本监控系统是采用CAN-RS232智能转换接口进行上、上位机间的数据通信的,实际使用中CAN-RS232接口使用了VB来编写驱动程序。
通过智能转换接口,上位机在接收到CAN总线上传的数据后,利用组态软件可以对之进行实时记录和分析,并以适当的形式如声音,图形,报表等方式显示给用户,使用户更直观、全面的了解现场工况。
本监控系统的数据通信中,基于VB的CAN-RS232接口驱动以及与组态王的数据交换是重要问题。
本系统采用DDE(动态数据交换)方式和VB应用软件来完成上位机与CAN总线的数据通信,用组态王软件来实现上位机的画面显示、数据管理以及对监控系统进行控制。
监控系统中CAN总线的数据是以帧的格式来传送的,每一帧包含30个字节,其含义分别为帧的序号,帧的格式(扩展帧/标准帧),帧的类型(远程帧/数据帧)以及帧数据的长度,一帧的后八个字节为传送的测控数据,又称为帧数据。
2.DDE工作原理DDE是微软公司开发的一个基于Windows平台的通信协议,它允许多个应用程序以客户或服务器的形式相互传送数据。
VB环境下实现PC机与单片机的串行通讯

VB环境下实现PC机与单片机的串行通讯随着科技的不断发展,PC机和单片机的联系日益密切,特别是在嵌入式系统领域中,单片机已经成为了必不可少的重要组成部分。
而如何实现PC机和单片机之间的通讯,是一项必须要掌握的技能。
本篇文章主要介绍如何运用VB环境下的串口编程,实现PC机与单片机的串行通讯。
一、概述通讯技术日新月异,各种新的通讯技术层出不穷。
而在普通家庭却使用最为广泛的通讯技术,还是传统的串口通讯。
使用传统的串口通讯,可以实现PC机与单片机之间的数据交互,可靠性高,兼容性强,使用便捷。
要实现PC机与单片机之间的串行通讯,需要掌握两个技能:单片机串行通讯的编程和VB环境下串口编程。
二、单片机串行通讯的编程单片机串行通讯主要是通过寄存器和中断实现的。
单片机通过一个IO口与电脑之间建立一个简单的通讯接口,PC机通过该接口向单片机发送数据,单片机接收到数据,就可以通过该接口把数据返回给PC机。
单片机串口通讯编程的内容主要包括串口数据位、停止位、校验位、波特率等信息,这些信息需要设置在单片机的寄存器中。
同时,还要设置中断信息,以免程序在不接收数据时死等。
三、VB环境下串口编程VB环境下串口编程的关键是掌握控件的使用。
实际上,VB环境下的串口编程非常简单,只需要使用微软提供的MSComm控件就可以实现。
通过MSComm控件的事件和方法,可以轻松地实现数据的读取、发送、接收等功能。
需要注意的是,MSComm控件的BaudRate属性需要与单片机编写的程序的波特率一致,不然可能会出现通讯故障。
四、如何实现串口通讯首先需要硬件上建立好通讯接口。
通常情况下,USB串口转换器和单片机板子都会配套出售,只需要把两者插在一起即可。
其次需要编写单片机的串口通讯程序。
单片机数字口与串口的通讯,就是把串口接到单片机的数字口中,通过串口向外发送数据。
因此,编写单片机的串口通讯程序,需要设置停止位、数据位、奇偶校验位、波特率等参数。
基于VB_NET的PC机和MCS_51单片机之间的串行通信

第14卷第4期北京电子科技学院学报2006年12月Vol.14No.4JournalofBeijingElectronicScienceandTechnologyInstituteDec.2006基于VB.NET的PC机和MCS-51单片机之间的串行通信何文才1,2杜鹏1,2刘培鹤1牛晓蕾1,2张媛媛1,2(1.北京电子科技学院通信工程系,北京,100070;2.西安电子科技大学通信工程学院,陕西西安,710071)摘要:本文介绍了基于VisualStudio2005的VisualBasic2005(简称VB.NET)进行串口程序开发的方法,它具有开发周期短、可靠性强等特点。
同时给出了PC机与51单片机串行通信的应用实例,这对快速掌握最新的PC机与单片机串口通信技术有一定的参考价值。
关键词:VisualBasic.NET;Serialport控件;串行通信;单片机中图分类号:TP368.2文献标识码:A文章编号:1672-464X(2006)04-0061-041引言PC机和单片机之间的通信问题一直是业界的热门话题,它广泛应用于工业控制系统、智能检测系统、数据采集系统等。
PC机与单片机之间通常采用两种通信方式:并行通信和串行通信。
并行通信是指将待发送数据的各位同时传送,串行通信则将数据一位一位地按顺序传送。
并行通信虽然传输效率高、速度快,但可靠性差,所需硬件设备复杂,不适于长距离通信(通常不超过三十米),所以一般只适用于要求实时性强,传送速率较高的系统中,实用面较窄。
相比之下,串行通信虽然速度较慢、效率较低,但可靠性好,简单易实现,传输距离较长,所以被广泛应用于多种场合,特别适合于计算机与计算机、计算机与外设之间的远距离通信[1]。
串行通信包括同步通信和异步通信。
在同步通信中,数据开始传送前用同步字符来指示,并由时钟信号来实现发送端和接受端同步。
同步通信可以提高传输速率,但硬件实现比较复杂,常用于信息量大,传输速率要求高的场合;而在异步通信中,规定了标准的字符数据传输格式,即每一帧信息由起始位、数据位、奇偶校验位和停止位组成。
单片机与组态王的通信实例

单片机与组态王的通信实例随着工业自动化的发展,越来越多的设备开始采用单片机进行控制。
而组态王作为一种通用的组态软件,可以方便地对单片机的控制过程进行监控和操作。
本文将介绍一个单片机与组态王通信的实例,以帮助读者了解二者的基本通信原理和实现方法。
一、单片机与组态王的通信方式单片机与组态王之间的通信一般采用串口通信方式。
串口通信是一种常见的通信方式,它通过串口数据线将单片机与计算机连接起来,实现数据传输。
在组态王中,可以通过设置串口参数来与单片机进行通信。
二、单片机通信协议在单片机与组态王通信的过程中,需要约定一些通信协议来实现数据的传输和控制。
通信协议一般包括数据格式、波特率、校验方式等。
根据不同的单片机和组态王版本,通信协议可能会有所不同,需要根据实际情况进行调整。
三、组态王通信控件的使用在组态王中,可以使用串口通信控件来实现单片机与组态王之间的通信。
控件提供了许多函数和属性,可以方便地进行串口通信。
例如,可以使用控件的Open函数打开串口,使用Read函数和Write函数进行数据的读取和写入。
四、实例:单片机控制LED灯亮灭下面是一个简单的单片机与组态王通信实例:通过单片机控制LED灯的亮灭。
该实例中使用的单片机型号为AT89C51,组态王版本为6.53。
1、硬件连接将AT89C51单片机的P1.0引脚连接到LED灯上,并将单片机的RXD 和TXD引脚分别连接到计算机的串口上。
2、编写程序在AT89C51单片机上编写程序,用于控制LED灯的亮灭。
程序如下:MOV P1.0, #1 //将P1.0引脚电平设为高电平,LED灯亮SJMP $ //无限循环,保持电平不变3、组态王组态设计在组态王中创建一个新项目,并添加一个设备,选择与AT89C51单片机进行通信的串口设备。
然后创建一个画面,添加一个按钮和指示灯,用于控制LED灯的亮灭。
4、编写组态王脚本程序在组态王中编写脚本来实现与单片机的通信。
脚本如下:Dim ledState As Integer //定义LED状态变量,初始值为0 Function OnClick() As Integer //按钮单击事件处理函数If ledState = 0 Then //如果LED状态为灭,则发送高电平信号,使LED亮起CommandManager.WriteTag("TagName", "1") //写入高电平信号ledState = 1 //修改LED状态为亮Else //如果LED状态为亮,则发送低电平信号,使LED熄灭CommandManager.WriteTag("TagName", "0") //写入低电平信号ledState = 0 //修改LED状态为灭End IfEnd Function5、调试与运行将程序编译并下载到AT89C51单片机中,然后运行组态王程序。
基于VB6.0的计算机与单片机之间的串行通信

基 于 V 60的计算机与单片机之 间 B。 的 串行 通 信
孙 颖 沈精 虎
( 青岛大学机电工程学院 , 青岛 26 7 ) 6 0 1
摘 要 : 本文主要介绍了 V 6 B. 0中通信控件 MS o m的一些重要属性及在 Wi o s Cm n w 环境下应用通信 d
一
串行通信指的是两个交换信 息者的信 息流动 , 而且其信息流动的方式是一个位接着一个位 ,有顺 序 地 由一个 方 向向另 一个 方 向流 动 。不过 在 计 算机 内部并不是通过串行的方式来处理信息的 ,而是 以 并 行 的方式 处 理 的 , 因此 , 计算 机 的 内部 把 数 据传 在
进行一次转换 ,把线上 收到的信息转换成计算机 内 部可以处理 的并行信息。 般 计 算 机 上 都 有 两 个 串行 端 口 ( O 、 C M1
一
的数据采集和工业控制应用软件十分方便 ,尤其软 件界面设计非常便捷 ,编程工作量较小 ,开发周期
短 ,特别 适 合 非计 算 机 专业 的工 程 技术 人 员掌 握 和
Ba e nVB s do
S N ig HE ig u U Y n ,S N Jn h
(h oee f eh n a adEet nc n i eig Q ndo nvrt, iga 6 0 ) T eCU g c ai ln l r i E g er , iga i syQnd o2 6 7 oM c co n n U ei 1
0 引言
串行通信程序 。
1 串行通 信 的基本 知识 闭
工 业控 制 领 域 ( D S系统 )经 常 涉及 到 串行 如 C ,
通信问题。为了实现微机和单片机之间的数据交换 , 人们用各种不同方法实现串行通信 ,如在 D S O 下采 用汇编语言或 c 言 , 语 但在 Wi o s n w 环境下却存在 d 些 困难 和 不 足 。在 Widw 操 作 系统 已经 占据 统 no s
组态王与单片机多机串口通信的设计方案

组态王与单片机多机串口通信的设计1 引言随着工业化要求提高,分布式系统发展以及控制设备与监控设备之间通讯需要,组态软件设计的监控系统逐步普及。
现在组态软件繁多,比如KingVieW(组态王>、MCGS、W inCC等。
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直接连接,需要电气转换。
组态王组态王和VB的应用

引言在工业监控系统中,国产组态软件的应用越来越普遍,其中组态王组态软件具有良好的图形界面、丰富的驱动程序和网络功能,价格适中,因而在国内冶金、电力等领域应用广泛。
但是,组态王并非面面俱到,有时需要利用其他软件弥补其薄弱环节。
本文基于组态王组态软件和Visual Basic 6.0实现了一种适合工业现场的远程监控系统,该方法既利用组态软件方便快捷的界面设计功能,又可借助VB编程实现大数据量的串口通信、复杂的数据分析和处理等功能。
本系统投入运行后,对武钢工业港的6312站和1#混匀取料机进行在线监测和故障诊断。
实际运行效果表明:该监控系统实现了武钢工业港中控室和各监控点之间连续、可靠的数据信息交换,是一种经济实用、安全有效的工业监控方式。
1、监控系统的硬件结构本系统采用无线传输装置、数据采集装置和工控机,以分布式控制方式组成监控系统。
在监控系统中,主站上位机采用1台工业PC机作为中控室的主机,从站下位机为2台现场数据采集装置,分别连接6312站和1#混匀取料机的信号源。
作为信息终端的上、下位机通过串行端口与无线传输装置相连,以无线通信的方式进行数据信息的相互传输,形成一个三级网络系统,监控系统基本结构如图1所示。
图1 监控系统基本结构图上位机中的组态王软件负责向下位机发送地址信息和控制命令,接收来自下位机管理设备的相关运行状态及参数信息,完成对生产过程的动态模拟显示和相关的数据处理,提供信息报警和数据报表等功能。
下位机完成对设备数据的实时采集,然后响应主站的请求,通过无线传输装置将设备的更新数据以无线通信的方式及时上传至主站的上位机中,实现设备点检状态的在线监测。
2、组态王软件的设计2.1 组态王简介组态王是一款国产组态软件,它具有①丰富的图库及图库开发工具,通过形象简单的组态工作,即可构成所需功能的界面;②大量的设备驱动接口,支持国内主流的各种PLC、智能仪表、板卡和现场总线等工控产品;③一种类似C语言的编程环境,便于建立命令语言文本,处理一些简单的算法和操作;④内嵌许多控件函数、命令语言函数供用户调用,另外支持自定义函数。
基于DDE的组态王与VB的数据通信

基于DDE的组态王与VB的数据通信摘要:针对煤矿井下的实际应用,基于组态王软件的动态数据交换(DDE)技术和VB应用程序,本文介绍了瓦斯监测监控系统中上位机和下位机通过CAN总线接口CAN-RS232进行通信的方法。
关键词组态王CAN-RS232 DDE VB1.前言随着计算机技术和监控技术的发展,监控组态软件在工业过程控制等领域得到了广泛的应用。
它作为面向监控与数据采集的软件平台,具有丰富的项目设置,使用方法灵活,并且功能强大。
煤矿井下监测监控系统主要包括两个部分:一是数据采集系统,即智能结点(下位机),它将CPU与各类传感器相结合,对生产过程中的设备、仪表进行实时监测,将各种被测物理量的参数及状态转换成数字信号,并通过CAN总线传递到上位机,CAN总线是一种日益受到重视的数据通讯方式,在传输率为5kb/s时,该总线无需中继可实现10km的可靠传输。
在监控系统的第二个部分即上位机上,通常无法直接将CAN总线与之连接起来,本监控系统是采用CAN-RS232智能转换接口进行上、上位机间的数据通信的,实际使用中CAN-RS232接口使用了VB来编写驱动程序。
通过智能转换接口,上位机在接收到CAN总线上传的数据后,利用组态软件可以对之进行实时记录和分析,并以适当的形式如声音,图形,报表等方式显示给用户,使用户更直观、全面的了解现场工况。
本监控系统的数据通信中,基于VB的CAN-RS232接口驱动以及与组态王的数据交换是重要问题。
本系统采用DDE(动态数据交换)方式和VB应用软件来完成上位机与CAN总线的数据通信,用组态王软件来实现上位机的画面显示、数据管理以及对监控系统进行控制。
监控系统中CAN总线的数据是以帧的格式来传送的,每一帧包含30个字节,其含义分别为帧的序号,帧的格式(扩展帧/标准帧),帧的类型(远程帧/数据帧)以及帧数据的长度,一帧的后八个字节为传送的测控数据,又称为帧数据。
2.DDE工作原理DDE是微软公司开发的一个基于Windows平台的通信协议,它允许多个应用程序以客户或服务器的形式相互传送数据。
采用VB实现组态软件与下位机的串行通信方法研究

采用VB实现组态软件与下位机的串行通信方法研究摘要:基于DDE(Dynamic Data Exchange)技术,研究了VB6.0下组态软件与下位机串口通信服务程序实现方法,并对其进行了改进,解决了组态软件没有提供某些现场设备通信驱动程序问题。
服务程序利用串口通信控件MSComm与下位机进行通信,同时采用DDE技术与组态软件进行数据交换。
工程实践表明,该方法通用性强、实现简便。
1、引言工业控制领域,组态软件正到越来越广泛使用。
例如:Fix、InTouch、KingView (组态王)等均是组态软件优秀代表,它们提供了丰富工控界面、数据库处理、对象连接等数据管理控制功能,为使用者带来了极大方便。
组态软件以Windows系统作为操作平台,具有图形功能完备、界面一致性好和易学易用等特点,与使用专用机开发工控系统相比更有通用性,更方便了工程技术人员应用开发。
但实际应用中,组态软件常常没能提供一些现场设备通信驱动程序,而这些设备大多采用串口与PC机进行通信。
VB提供串行通信控件MSComm,让开发者可以方便、快捷开发串行通信程序,而采用VBWindows环境下实现符合DDE协议通信程序也并非难事,整个系统数据流示意图如图1所示。
本文以组态王软件与PHILIPS公司51LPC系列单片机之间通信为例,研究了采用VB6.0开发串口通信服务程序原理及其实现方法。
图1 系统数据流示意图2、串口通信实现方法Windows平台下利用VB实现串口通信主要有以下两种方法:1)使用Windows API(Application Program Interface)函数。
这种方法可编写移植性强通信程序,但必须首先用Declare声明VB中所要用动态链接库DLL,这需要对Windows API函数有深入了解,编程较复杂;2)使用Microsoft公司提供Active X控件MSComm。
该通信控件改变对象属性,向对象发送消息及为对象事件编写响应代码,可以方便完成用户应用程序间串行通信,既可实现API函数所有功能,又使编程效率提高,应用功能增强,程序简单明了。
单片机与组态王的通信实例

单片机与组态王的通信组态王(kingView)内置了通用单片机通信模块,这样,我们自己开发的单片机仪表就可以挂接在KingView上了。
因为这样,所以对这个东西有了些兴趣,做了些研究。
(1)研究环境组态王6.53,免费下载,当然有使用限制,不过用于研究是没有问题的。
下载地址:Keil软件,Porteus,这些就不多说了。
Virtual Serial Ports Driver XP 5.1 虚拟串口软件,用此软件可以生成一对相互联接的虚拟串口,这样,初期的研究工作就在电脑上完成了,省得用硬件电路板了。
(2)资料KingView提供了一份简单的说明材料,就在下载后的解压缩文件包中。
具体的位置是:Value Pack\技术资料\常用协议\单片机ASCII码通讯协议(3)电路搭建注意单片机的TXD与虚拟串口的TXD,单片机的RXD与虚拟串口的RXD是连在一起的,不要交叉哦,我在这上面可吃了不少的苦头。
这个虚拟串口元件的设置如下图所示:说明:这里选COM2,是因为我事先用Vspd生成了一对虚拟串口,com2和com4,至于其他参数则应该选得和kingview中的一致,这个到下面再说。
什么,这个元件不知哪里找?这里啦(4)VSPD的使用现如今的电脑很少有两个串口的了,人呢也是越来越懒了,虽然手边的电路板是现成的,写片子是容易的,但是仍然还是嫌麻烦的,所以就发动狗狗搜一搜,找到了这个VSPD,当然它是很容易用的在first后面选一个串口名,然后在Second后面再选一个串口名,然后点一下Add Pair 就行啦。
怎么选都可以,就算是选com1也是可以的,虽然com1是真实存在的物理串口,但是这个VSPD照样把它给虚拟了。
这里我选的是com2和com4,大家可以看到在左侧的窗口中出现了这样一对互联的串口了,也就是说,我从串口2发数据,然后串口4就能收到。
同样,我从串口4发数据,串口2就能收到。
(5)组态王置根据自己屏幕选择演示项目中的一个找到设备->DDE,双击“新建...”选择:智能模块(上面的图中看不到)->单片机->通用单片机ASCII->串口起个名字,然后选择串口号,我们选择com4这一步选择地址,需要为自己的单片机设备确定一个地址,这有点麻烦。
一种VB和单片机进行串行通信的可靠协议

一种VB和单片机进行串行通信的可靠协议摘要:本文详细介绍了VB和单片机之间进行通信的过程。
为了确保通信的可靠性,特别设计了一种以单片机为主控机的通信协议,并对其性能进行了初步探讨。
关键词:单片机串行通信可靠性在进行数据通信的软件设计时必须解决好两个方面的问题:一是可靠性,二是速度。
而这两方面的问题可靠性是第一位的。
速度只能是在可靠的基础上的速度。
可靠快速转输的实现需要上下位机软件以及通信协议等各个环节的可靠和其间的相互配合。
完成硬件层的串行通信设计较为简单,然而在实际工业现场中,干扰是不可避免的,因而仅仅依靠硬件层的通信必然会出现问题。
为了实现可靠通信,本文作者在实践的基础上提出了一种较为可靠的通信协议。
协议是基于帧的。
计算机端使用VB,而单片机端使用KEILC。
一、通信协议的设计本协议适用于单片机和计算机点对点通信的情况,设定单片机始终为主机,无论收发数据都由单片机确定。
协议分为三部分:握手帧、数据帧和应答帧。
A、握手帧定义:令计算机处于接收状态,单片机发送0X54(T),作为握手信号,如果计算机回0X63(c),则握手成功。
如果在给定时间内(100MS)计算机不回,则重发。
如果连发三次都失败,则转向错误处理。
B、数据帧定义:据,则可以以0X56为起始标志,数据长度设为1,数据任填。
C、应答帧:计算机每收到一个完整而正确的帧,就给单片机连发两个0X63(c)。
单片机收到任意一个即可认为应答成功。
此设计主要是防止应答数据丢失或错误。
D、错误处理:如果任何一帧接收不成功,则向单片机发0xEE表示接收错误并要求重发。
同时,VB记录错误原因,以便编程者分析。
如果单片机连发三次都不成功,则指出错误原因。
例如:VB的接收错误有:握手错误、数据帧的起始帧错误、数据帧的校验帧错误。
单片机的发送错误有:握手失败、数据传输失败。
二、单片机的软件设计近一两年来单片机的C语言已经成为单片机编程的主要工具。
KeilC软件产生的代码长度以比的上中等程序员用汇编的水平。
用VB实现单片机和计算机的串口通信

用VB实现单片机和计算机的串口通信//ex99 单片机数据发送程序#include //包含单片机寄存器的头文件/*****************************************************函数功能:向PC 发送一个字节数据***************************************************/void Send(unsigned char dat){ SBUF=dat; while(TI==0) ; TI=0;}/*****************************************************函数功能:延时1ms(3j+2)i=(3乘以33+2) 乘以10=1010(微秒),可以认为是1毫秒***************************************************/void delay1ms(){ unsigned char i,j; for(i=0;i<10;i++) for(j=0;j<33;j++) ;}/*****************************************************函数功能:延时若干毫秒***************************************************/void delaynms(unsigned char x){unsigned char i; for(i=0;i<x;i++) delay1ms();}/*****************************************************函数功能:主函数***************************************************/void main(void){ unsigned char i; TMOD=0x20; //定时器T1工作于方式2 TH1=0xfd; //根据规定给定时器T1赋初值TL1=0xfd; //根据规定给定时器T1赋初值PCON=0x00; //波特率9600 TR1=1; //启动定时器t1 SCON=0x40; //串口工作方式1 while(1) { for(i=0;i<200;i++) //模拟检测数据{ Send(i); //发送数据i delaynms(100); //100ms发送一次检测数据} }}tips:感谢大家的阅读,本文由我司收集整编。
利用VB实现DCS与单片机的串行通信

利用VB实现DCS与单片机的串行通信
闵永智;谢道文;马景岗
【期刊名称】《化工自动化及仪表》
【年(卷),期】2003(030)004
【摘要】基于Windows,利用Visual Basic,通过串口依照RS-232标准实现DCS 与单片机的通信.
【总页数】2页(P77-78)
【作者】闵永智;谢道文;马景岗
【作者单位】武汉大学,电气工程学院,湖北,武汉,430072;武汉大学,电气工程学院,湖北,武汉,430072;兰州化学工业公司,甘肃,兰州,730060
【正文语种】中文
【中图分类】TP31
【相关文献】
1.利用VB6.0实现PIC单片机与PC串行通信 [J], 黄再银;宗建华
2.利用VB实现组态王与单片机之间的串行通信 [J], 刘艳
3.利用VB实现组态王与单片机之间的串行通信 [J], 刘艳
4.利用VB6.0实现PC机与MCS-51单片机之间的串行通信 [J], 李敏孜;刘志鸿;王宏
5.利用VB8.0实现PC机与多单片机串行通信的方法 [J], 王平根
因版权原因,仅展示原文概要,查看原文内容请购买。
用VB实现计算机与单片机的串行通信

S M f
E bde ytr m eddS s n e
用V B实现计 算机 与单片机 的 串行通信
周 子 琛 , 申 振 宁
( 警工程 学院 ,陵 西 西 安 7 0 6) 武 1 08
摘 要 :给 出了使用 VB控 件 .实现 P C机 8 3 0 1单片机之 串行 通信 的编 程 方法 r井给 出 了 个 H j VB
2 硬 件 组 成
该系统 中, 由于计 算机 串行通 信接 口和 8 3 单 01 片机的驱动 电平 不一致 ,故应 使用一个 电平转换装
置 ,而 MAXI 3 2 M 2 3就 可 以 完 成 这 。 能 , 最 简 功 单系 统 如 图 1 示。 所
件及错 误 ; ( )查询 方式, 查 Co E e t 性 来 2 检 n v n属 处理通 信 事 件及 错 误 。 F 面简要介绍Ms mm控件的主要 属性 以及 响 Co
“ 用 C 使 OM2作 为 通 信 口 , 使 用 查 询 方 式 进 行 通 信 ,每 隔 0 5 查 询 一 次 , 以确 定 是 否 发 送 周 期 .S
到 接 收 缓 冲 区 内字 节 个 数 达 到 或 超 过 该 设 置 值 时 就 产 生 On o c mm 事 件 。 门) n uln: 设 置 或 返 回接 收 缓 冲 区 内用 I . lp t e n p t 八 的个数 。 n 读 () n u : 表 示 从 接 收 缓 冲 区 内 读 出 的 串字 8 Ip t
( )P rOp I 串 行 L打 开 与 否 , 为 布 尔 案 。 3 o t e1 : J ( ) n feSz : 设 置 或 返 回缓 冲 区 的 人 小 , 4 IBu fr ie 政省值 为 l 2 0 4字 节 。 ( ) n u fr o n: 返 同 缓 冲 区 等 待 读 取 字 节 5 IB f C u t e
用VB实现计算机与单片机的串行通信

用VB实现计算机与单片机的串行通信周子琛,申振宁(武警工程学院,陕西西安710086)摘要:给出了使用VB控件,实现PC机与8031单片机之间串行通信的编程方法,并给出了一个用VB实现PC机同8031通信的应用实例。
1 概述在工业应用中,常常需要进行串行通信,特别是在一些工业控制系统中尤其重要。
早期,人们习惯使用汇编语言来编制通信程序,随着WINDOWS和可视化编程开发环境的出现,如微软的VB、VC等等,给传统的程序开发模式带来了深刻的变化。
其中VISUAL BASIC 由于使用方便,一般工程人员容易掌握、设计软件方便、工作量较小,深受工程人员喜爱。
适用于一些对实时性要求不高的情况下使用。
以下就采用RS232串行接口和8031单片机进行通信为例设计一个由8031单片机采集外部数据,然后送入计算机进行数据处理的处理过程来说明VB在开发串行通信时的使用情况。
2 硬件组成该系统中,由于计算机串行通信接口和8031单片机的驱动电平不一致,故应使用一个电平转换装置,而MAXIM3223就可以完成这一功能,最简单系统如图1所示。
在使用VB来完成串行通信时,可以使用两种方法:一种是VB调用Windows的API 函数法,另一种是使用VB自带的通信控件MsComm来完成。
3 MsComm控件MsComm控件并未在常用的工具箱内出现,用户可以单击菜单中的“工程”菜单,并选择“部件”命令,在部件对话框中选择“Micosoft comm. Control”即可加入到工具箱内。
MsComm控件提供了一系列标准通信命令使用的界面,可以建立与串行通信端口的连接,并通过串行通信端口完成对单片机,调制解调器等设备的数据采集和发送,以及监视串行通信线路的变化。
MsComm控件有两种处理方式:(1)事件驱动方式,由MsComm控件中的OnComm事件捕获并处理通信事件及错误;(2)查询方式,检查ConEvent属性来处理通信事件及错误。
基于VB实现PC机与单片机的串行通讯

基于VB实现PC机与单片机的串行通讯摘要:本文介绍使用VB6.0开发工具实现PC机与单片机的串行通讯的基本原理和方法。
并结合具体实例给出使用RS-232接口进行串行通信的基本程序。
关键词:VB,单片机,串行通讯引言随着计算机技术尤其是单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。
PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC 机的RS-232串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
因此如何实现PC机与单片机之间的通讯具有非常重要的现实意义。
本文将论述在VB环境下PC机与单片机之间实现串行通讯的软硬件方案。
PC机的通讯程序使用Visual Basic编写,VB是Microsoft公司推出的Windows应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 6.0 版本带有专门实现串行通讯的MSCOMM控件。
1、硬件原理目前的PC机都有至少一个串行通讯端口RS-232,RS-232端口可用于两台计算机之间进行通讯,RS-232的逻辑电平用正负电压表示,且信号使用负逻辑,逻辑0的电压范围是+5V~+15V,而逻辑1的电压范围是-5V~ -15V,RS-232端口是计算机与其他设备沟通的最常用的接口,不但实作简单,而且价格便宜。
在8051单片机的内部有一个全双工的异步串行I/O 口,它的输入和输出使用5V逻辑而不是RS-232电压,如何进行两种信号的转换,是连接时需要解决的问题,事实上,解决的方法很简单,只需使用一个诸如 MAX232这样的专用芯片即可。
电路结构见下图。
MAX232包含两个将TTL输入转换成RS-232输出的驱动器,还包含两个将RS-232输入翻译成CMOS输出的接收器,这些驱动器和接收器具有反向的功能。
4个外置的电容大小为1uF,如果使用极化电容,注意极性,引脚6的电压为负,因此它的电容的正极连接到地,电容等级至少为15V。
利用VB实现组态王与单片机之旬的串行通信

利用VB实现组态王与单片机之旬的串行通信作者:刘艳来源:《科技创新导报》 2011年第36期刘艳(华北电力大学北京 102200)摘要:本文介绍了使用VB实现组态王与单片机之间的通信,减少了系统开发周期,提高了软件质量,便于系统调试与维护。
关键词:VB 组态王单片机中图分类号:TP29 文献标识码:A 文章编号:1674-098X(2011)12(c)-0023-01DCS的构成方式十分灵活,处于底层的过程控制级(下位机)一般由分散的数据采集站和现场控制站等就地实现数据采集和控制,并通过数据通信网络传送到生产监控级计算机。
生产监控级(上位机)对来自过程控制级的数据进行集中操作管理,如各种优化计算、统计报表、故障诊断、显示报警等。
一般由一台PC机作为上位机,多台单片机组成的数据采集与控制系统作为下位机,为使人机交互方便、操作简单直观,常采用VB、VC开发监控系统,但这种实现方法编程难度大,对设计人员要求高,开发周期长,而组态软件的出现恰好解决了这个问题。
组态软件是指一些数据采集与过程控制的专用软件,它们是处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。
组态软件的应用领域很广,可以应用于电力系统等领域的数据采集与监视控制以及过程控制等诸多领域。
近年来,组态王KingView工控软件以其简单的操作、友好的界面、低廉的价格等优势得到了广大使用者的好评。
由于工业控制中需要监控的设备有仪表、模块及其他各种类型的设备,它们数量众多,需要开发大量的驱动以支持不同设备,而组态王提供的驱动不可能满足所有需求,对于用户自己设计的装置则没有相关驱动程序。
本文详细介绍了如何用VB实现组态软件与单片机之间的通信。
1 通信系统结构该系统结构框图如图1所示,组态王与VB应用程序间的通信通过DDE实现,单片机与VB应用程序间的通信通过串口通信实现。
VB6.0环境下利用Mscomm控件实现串行通信

VB6.0环境下利用Mscomm控件实现串行通信VB6.0环境下利用Mscomm控件实现串行通信摘要: 本文简要介绍了VB6.0中Mscomm通信控件的属性和使用方法,并结合具体实例给出了基本的通信程序。
主题词:串行通信 Visual Basic Mscomm .vbx控件Abstract: This paper briefly introduces the principle and method of Mscomm object of Visual basic 6.0, and with a real example basic program codes are given.Key Words:Serial Communication; Visual Basic; Mscomm .vbx control component随着计算机技术的飞速发展及其广泛应用,远程控制以及数据采集系统多采用上位机和下位机的主从工作方式,由于串行通信具有高效可靠、价格便宜,遵循统一的标准等特点,因而成为主要的通信手段。
微机的分析处理能力较强,有很好的人机界面和大容量的多种存储方式,所以上位机一般采用微机。
而单片机具有价格低,功能强,抗干扰能力好,温限宽和面向控制等特点,所以下位机采用单片机来构成主从式多机工作模式。
在需要对采集的数据进行分析处理或在远程需要对控制对象的控制过程进行统计或有条件控制时,采用数据库访问技术能有效地解决这类问题。
Visual Basic 6.0以其强大的功能、使用简单、能在短时间内开发出高效的通信程序而成为Windows系统开发的主要编程语言。
首先表现在VB可直接使用户自定义控件VBX或OCX文件;其次表现在VB 可通过调用动态链接库(DLL,dynamic link library)来加快应用程序关键部分的执行速度。
利用VB提供的这些功能可方便地完成程序设计,如串行编程等,本文将介绍VB6.0通信控件Mscomm .vbx及其编程方法,并结合实例给出计算机与单片机进行数据通信的基本程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
利用VB实现组态王与单片机之间的串行通信
摘要:本文介绍了使用vb实现组态王与单片机之间的通信,减少了系统开发周期,提高了软件质量,便于系统调试与维护。
关键词:vb 组态王单片机
中图分类号:tp29 文献标识码:a 文章编号:
1674-098x(2011)12(c)-0000-00
dcs的构成方式十分灵活,处于底层的过程控制级(下位机)一般由分散的数据采集站和现场控制站等就地实现数据采集和控制,并通过数据通信网络传送到生产监控级计算机。
生产监控级(上位机)对来自过程控制级的数据进行集中操作管理,如各种优化计算、统计报表、故障诊断、显示报警等。
一般由一台pc机作为上位机,多台单片机组成的数据采集与控制系统作为下位机,为使人机交互方便、操作简单直观,常采用vb、vc开发监控系统,但这种实现方法编程难度大,对设计人员要求高,开发周期长,而组态软件的出现恰好解决了这个问题。
组态软件是指一些数据采集与过程控制的专用软件,它们是处在自动控制系统监控层一级的软件平台和开发环境,使用灵活的组态方式,为用户提供快速构建工业自动控制系统监控功能的、通用层次的软件工具。
组态软件的应用领域很广,可以应用于电力系统等领域的数据采集与监视控制以及过程控制等诸多领域。
近年来,组态王kingview工控软件以其简单的操作、友好的界面、低廉的价格等优势得到了广大使用者的好评。
由于工业控制中需要监控的设备有仪表、模块及其他各种类型的设备,它们数量众多,需要开发大量的驱动以支持不同设备,而组态王提供的驱动不可能满足所有需求,对于用户自己设计的装置则没有相关驱动程序。
本文详细介绍了如何用vb实现组态软件与单片机之间的通信。
1 通信系统结构
该系统结构框图如图1所示,组态王与vb应用程序间的通信通过dde实现,单片机与vb应用程序间的通信通过串口通信实现。
2 vb应用程序与组态王之间的数据交换
dde(动态数据交换)能够和其它支持动态数据交换的应用程序方便的交换数据,dde对话的内容是通过三个标识名来约定的:应用程序名(application)、主题(topic)、项目(item),对vb 而言,程序名是指visual basic程序使用的可执行文件的名称,主题是指visual basic程序窗体(form)的 linktopic属性值,项目是一个特定的文本框、标签或图片框等控件的名称。
在 vb可视化编程工具中,dde 连接是通过控件的属性和方法来实现的。
对于作“顾客”的文本框、标签或图片框,要设置 linktopic、linkitem、linkmode 三个属性。
control.linktopic=服务器程序名|主题名
control.linkitem=项目名
其中,control 是文本框、标签或图片框的名字。
control.linkmode有四种选择:0=关闭 dde;1=热连接;2=冷连接;3=通告连接。
组态王访问vb应用程序时,首先在vb中设置如下:form1窗体中的linkmode属性设置为1,窗体的linktopic属性设置为formtopic,控件的name属性设置为text_to_view,生成的可执行文件的名称为vbdde。
在组态王中设置如下:新建dde设备,服务程序名即为vb中生成的可执行文件名,话题名与vb中窗体的linktopic属性值相同;新建一变量,变量的连接设备名与服务程序名相同,项目名与控件的name属性相同;新建一画面,将画面的文本框动画连接至新建的变量。
3 vb应用程序与单片机之间的数据交换
vb与单片机之间的串行通信主要是通过mscomm控件实现的,微软公司提供的microsoft comm control控件(简称mscomm)为编程者提供了简化的windows下的串行通信编程,使编程者不必掌握诸多关于硬件方面的知识,节省了开发周期。
使用mscomm控件主要是通过事件来处理串行口的交互,在使用事件驱动法设计程序时,每当有新字符到达,或端口状态改变,或发生错误时,mscomm 控件将触发oncomm事件,而应用程序在捕获该事件后,可以通过检查mscomm控件的commevent属性获取所发生的事件或错误,从而采取相应的操作。
在mscomm控件中主要用到的几个属性为commport、settings等,commport用来设置并返回通信端口号,settings以字符串的形式设置并返回波特率、奇偶校验、数据位、
停止位,缺省值为“9600,n,8,1”。
4 结语
通过vb实现组态王与单片机的通信,程序实现简单且模块化。
将组态软件与高级语言合用编写复杂控制系统软件,易于做到缩短开发周期,提高软件质量,且便于调试和维护。
参考文献
[1] 北京亚控科技发展有限公司.组态王vision6.53用户手册[m].北京:北京亚控科技发展有限公司,2007.。