【doc】 VB+串口通讯与开关量的检测与输出_第1页
【doc】 VB+串口通讯与开关量的检测与输出_第2页
【doc】 VB+串口通讯与开关量的检测与输出_第3页
【doc】 VB+串口通讯与开关量的检测与输出_第4页
【doc】 VB+串口通讯与开关量的检测与输出_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

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两个开关量的输出/就是控制两个引脚的电位,驱动的微型继电器工作.如果操作员在具体的配料过程中,出现错误(超出了配方所要求物料品种的误差范围),软件会将dtr或者是rts引脚上的电位抬高,驱动微型继电器来控制现场的报警装置.用报警来提示操作人员,本次配料不符合要求,需要添加或是减少份量.这样可以实时的纠正不必要了操作失误.mscomm1.rtsenable=true/抬高电位使微型继电器动作接通报警器mscomm1.dtrenable=true5总结此项目已投入运行近一年时间,实践证明当需要处

温馨提示

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

评论

0/150

提交评论