【doc】 VB+串口通讯与开关量的检测与输出.doc

上传人:仙人指路1688 文档编号:2389399 上传时间:2023-02-17 格式:DOC 页数:8 大小:17.50KB
返回 下载 相关 举报
【doc】 VB+串口通讯与开关量的检测与输出.doc_第1页
第1页 / 共8页
【doc】 VB+串口通讯与开关量的检测与输出.doc_第2页
第2页 / 共8页
【doc】 VB+串口通讯与开关量的检测与输出.doc_第3页
第3页 / 共8页
【doc】 VB+串口通讯与开关量的检测与输出.doc_第4页
第4页 / 共8页
【doc】 VB+串口通讯与开关量的检测与输出.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《【doc】 VB+串口通讯与开关量的检测与输出.doc》由会员分享,可在线阅读,更多相关《【doc】 VB+串口通讯与开关量的检测与输出.doc(8页珍藏版)》请在三一办公上搜索。

1、VB串口通讯与开关量的检测与输出VB+串口通讯与开关量的检测与输出VB+串口通讯与开关量的检测与输出摘要本文以VB和计算机串口在一个小型配料工程中的应用为例,详尽地阐述了串口在配料系统中的应用方法,特别是串口通讯中的开关量的检测和输出要点.该方案降低了系统硬件的成本.关键词VB串口通讯开关量配料控制管理低成本0引言在一般的配料系统中,通常配置一台上位机对配料过程中所产生的一系列数据进行存储和处理,且需要检测来自现场的一些开关量信号.在上位机与称量仪表的串行数据通讯中,一般只用了3针(点)(TXD,RXD,GND),而还有6针(CD,DSR,CTS,RI,DTR,RTS)没有用到,而这些没有用来

2、的引脚就正好可用于检测和输出开关量.下面介绍基于VB6.0平台的一个小项目._丁程概况:该项目是广州科密集团公司用于一种新型耗材配方研制的一个自动配料管理系统.由于实验场所环境的限制,计算机不能放在现场(不要求设立专人去操作计算机),只要求操作工人每次称量时按下秤台旁边的一个按钮,即可存储当前每种物料的名称及其重量,使管理系统以这个实测数据为依据,进行整理和加工后,最后得出综合分析结果,为以后的正式生产提供配方工艺上的依据.因此,该系统要求负责实时采集仪表的数据,实时采集开关量(按钮和转换开关的状态),实时地提醒操作员当次配料是否有效(根据配方分析是2005年7月第7册总第51册向序荣(成都大

3、鹏兴科技有限公司)否输出报警开关量信号).此外,还存储当前物料的种类和配料量,完成配方的管理,用户日后的数据查询和分析工作等.根据这种要求,我们可以选择一种RAD工具来作为开发平台.硬件配置:两套计量设备(包含两台定点输出仪表),一台计算机(采用工控机).软件:本实例采用Microsoft公司的VisualBasic6.0作为开发平台.VisualBasic是一种具有可视图形界面的快速开发工具,它可以利用Mscomm控件来实现对串口的控制,对开关量的检测以及开关量的输出.先介绍一下串口的九个引脚所代表的意义:RX接收数据TxD发送数据GND接地注:(连接计算机和通讯仪表的接地端)CD调制解调器

4、通知计算机有载波被检测到DTR计算机通知调制解调器可以进行传输DSR调制解调器通知计算机准备就序RI调制解调器通知计算机有电话打来CTS调制解调器通知计算机可送出数据RTs计算机要求调制解调器将数据发出根据这些引脚的意义,我们将调制解调器当成其它的外部设备,CD,DSR,RTS,RI可以用于开关量的输入检测.RTS和DTR则可用于开关量的输出.具体方法如下:添加部件MicrosoftCommControl6.0控件.1控件属性设置介绍Commport:设置或返回端口号.就是指通讯的端口号,用COMM1就设为1,用COMM2就设为2,但MSComm控件的最大值是16,在本项目中同时用了两个口,因

5、为需要和两台仪表进行通讯(常用计算机有两个串口,如果串口不够用的话,可以买串口卡).Settings:设置并返回波特率,奇偶校验,数据位,停止位.参数格式为:”BBBB,P,D,S”.例如”9600,E,7,2”;在RS232中双方必须完全一样,彼此才能顺利的通信.否则的话将不能正确的接收到来自对方的信号.Handshaking:设置并返回硬件握手协议;(设为无)InBufferSize:设置并返回接收缓冲区的字节数;OutBufferCount:返回在传输缓冲区中等待的字符数.也可以用它来清除传输缓冲区;DTREnable:确定在通讯时是否使DataTerminalReady(DTR)线有效

6、(设为有效).RrrSEnable:确定在通讯时是否使RequestToSend(RrrS)线有效(设为有效).CommEvent:返回最近的通讯事件或错误.当发生错误或事件会产生OnComm事件.InputMode:设置或返回Input属性取回的数据的类型.它有两个参数,0表示以文字形式取回,1表示以二进制形式取回.(设为0)Rthreshold:设置并返回的要接收的字符数.Sthreshold:设置并返回传输缓冲区中允许的最小字符数.InputLen:设置并返回Input属性从接收缓冲区读取的字符数.2采集仪表当前数据提醒:要和仪表通讯,在参数(Compos,Settings)设置上必须相

7、互吻合.先要打开对象MSComm1.PortOpen=TrueMSComm2.PortOpen=TruePfiveSubMSCommlOnComm0IfMSComm1.CommEvent=comEvReceiveThen/收到Rthreshold#ofTxtReceive.Text=MSComm1.Input/将采集到的信息赋予到文本框undl:InStr(TxtReCeive.Text,”+”)/以下数行是对所采集到的数据进行处理加工,最终得到我们想要的格式的数据.Ilfoundl>0ThenFori=1TolengStep1Strin1=Mid(TxtReceive.Text,fou

8、nd1+1,3)Strin2=Mid(TxtReceive.Text,undl+4,3)Format(Val(strin2),”000”)Nextidisplay1.Caption=Format(Val(strin1),”梓#0)+”.”+Format(Val(strin2),”00”)EndIfVB+串口通讯与开关量的检测与输出EndIf,/本项目中,也就是需要两个计量仪表的的当前数据13开关状态的采集/检测四个引脚的工作状态(就是判断现场的开关状态和按钮状态)在具体的应用过程中,要添加一个TIMER控件用于循环的检测这几个输入引脚的电位的高低.PfiveSubTimerl_Timer0If

9、MSComm1.CDHoldingThenmsgbOX”CDisswitchin!”/检测CD脚的电位/消息处理过程IfMSComm1.CTSHoldingThenmsgbOX”CTSisswitchin!”/检测CTS脚的电位/消息处理过程IfMSComm1.DSRHoldingThenmsgbOX”DSRisswitchin!”/检测CTs脚的电位/消息处理过程IfMSComm1.C0mmEvent=c0mEvRingThenmsgbox”RIisswitchin!”/检测CTS脚的电位,/消息处理过程EndSUb4两个开关量的输出/就是控制两个引脚的电位,驱动的微型继电器工作.如果操作员

10、在具体的配料过程中,出现错误(超出了配方所要求物料品种的误差范围),软件会将DTR或者是RTS引脚上的电位抬高,驱动微型继电器来控制现场的报警装置.用报警来提示操作人员,本次配料不符合要求,需要添加或是减少份量.这样可以实时的纠正不必要了操作失误.MSComm1.RTSEnable=True/抬高电位使微型继电器动作接通报警器MSComm1.DTREnable=True5总结此项目已投入运行近一年时间,实践证明当需要处理的开关量较少时采用这种用串口来进行开关量的检测和输出的方式是可行的,也是可靠性.因此在类似这种小型应用项目中,即满足了用户要求,又为用户提供了更多的选择,同时节约了工程的成本.圈作者简介向序荣男,生于1981年,工程师,从事仪表自动化和上位机编程工作.自动化信息AUTOMATIONINFORMATION

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号