利用VB6.0中MSComm控件实现串口通信

来源 :科技尚品 | 被引量 : 0次 | 上传用户:xzcfjeom
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:使用VB6.0中的MSComm通信控件的属性和事件进行编程操作,实现上位机与仪器的RS232C串口通信。
  关键词:MSComm控件;实现;串口通信
  1 程序要求
  现有检测仪器一台,使用RS232C串口与计算机进行通信。该仪器输出为RS-232C标准接口,波特率为300~9600,无奇偶校验,8个数据位,1个停止位。所有命令均发送8位16进制数值。仪器在按下“检测开始”按钮后,不需要计算机进行任何操作,会主动发送代表仪器当前状态及检测数值的8位16进制数,要求上位机通过RS232C串口与仪器进行通信,提示用户当前的仪器工作状态并将检测的结果数值显示在上位机上。
  仪器RS232C通信协议。
  例:
  延时发送[机器码][命令号0x33][延时命令高0x00][延时命令低0x01][延时时间高8位][延时时间低8位][CRC校验低8位][CRC校验高8位]
  机器码:0x11
  编写VB6.0程序来访问串口,读取检测仪器上显示的状态及数据。
  2 程序编写
  (1)首先进行VB6.0通信控件的添加。在VB6.0的“工程”菜单下面选择“部件”子菜单,在控件栏中勾选“Microsoft comm control6.0”就可以在工具箱里面看到该件,将该控件添加到窗体上即可。
  (2)在测试窗体上添加一通信控件命名为“MSComm1”,并在窗体的Load事件中设置串口并开启串口。
  With MSComm1
  .CommPort = 1
  .Settings=”9600,N,8,1”
  .InputMode= comInputModeBinary‘设置接受数据的类型是二进制类型数据
  .InputLen=0 ‘读取接收缓冲区中全部的内容
  .InBufferCount=0 ‘清空接收缓冲区
  .OutBufferCount=0 ‘清空发送缓冲区
  .SThreshold=0 ‘一旦发送数据就触发OnComm()事件来检测是否返回数据
  .RThreshold=1 ‘接收到1个字节数据就立即触发OnComm()事件
  .CommPort=1 ‘使用第一个串口
  .PortOpen=True ‘打开串口
  End With
  需要注意的是,要在使用完串口后将其释放,所以在窗体的Unload事件中将串口资源释放。
  With MSComm1
  .PortOpen = False
  End With
  (3)双击窗体上的MSComm1控件,进入控件的MSComm1_OnComm事件,并添加下列代码。
  Private Sub MSComm1_OnComm()’ 定义接收16进制数值的数组
  Dim Receiveing()As Byte,Received(20)As Byte
  Dim Lenth As Integer,i As Integer‘定义中间变量
  Static n As Long
  If MSComm1.CommEvent = comEvReceive Then ‘仪器有应答
  Receiveing = MSComm1.Input ‘读取报文
  Lenth = UBound(Receiveing) ‘收到lenth个字符
  For i = 0 To Lenth
  Received(n + i)= Receiveing(i)‘将后续读到的报文叠加到数组中
  Next i
  n = n + Lenth + 1 ‘计算总长度
  If n >= 8 Then ‘收到了全部的报文
  RecievieData = 1 ‘接收报文长度正确标记位
  XvgData = Received ‘存放接收的报文
  End if
  End if
  End sub
  上述添加的代码用于读取从仪器发来的二进制数值,并存储到XvgData 数组中,等待使用。
  3 结束语
  以上程序为说明VB6.0利用MSComm控件的通信过程,仅给出了通信部分的程序,其他部分,如CRC校验、状态如何显示、数值如何处理及存储部分因为不是要说明的主要部分所以未做进一步的说明。
  利用VB6.0的MSComm控件可以快速开发出串口通信程序,从而大大提高编程的效率。
  参考文献
  [1]范逸之,陈立元.Visual Basic与RS-232串行通信控制[M].中国青年出版社,2002.
  (作者单位:加野麦克斯仪器(沈阳)有限公司)
其他文献
摘 要:在互联网技术不断发展和应用中,传统能源产业也将发生一定程度的变革。特别是在互联网思维的影响下,传统能源产业开始向着能源互联网发展。本文先分析了互联网思维和能源互联网的相关理论,综合阐述了能源互联网发展应用过程中的关键技术,最后提出了促进能源互联网发展的策略。  关键词:互联网思维;能源互联网;共享融合;信息技术  随着互联网的高度发展,移动终端、大数据等各类技术在日常生活中已经得到了广泛的
摘 要:2014年9月,李克强总理在夏季达沃斯论坛致开幕词时,提出要掀起“大众创业”“草根创业”的新浪潮,形成“人人创新”“万众创新”的新局面。2015年1月28日,李克强总理主持召开国务院常务会议,研究确定支持发展众创空间推进大众创新创业的政策措施。3月11日,国务院办公厅印发《关于发展众创空间推进大众创新创业的指导意见》,提出到2020年,形成一批有效满足大众创新创业需求,具有较强专业化服务能
本文通过对荣华二采区10
期刊
针对分离式尾缘襟翼翼缝对翼型气动性能与襟翼调控能力的影响,采用计算流体力学方法结合2种湍流模型从翼型宏观气动力与微观流场结构的角度对不同外形的翼缝进行了研究.在对
以中韩国际物流发展为研究实证,深入探讨了中韩国际物流对贸易结构变化的影响,重点突出了中方物流标准欠缺统一、物流信息化实现相对滞后以及物流人才十分紧缺等问题,最后对
摘 要:随着我国科技的迅速发展,许多新型技术被应用到众多行业的机械设备上,但是由于生产的需要和能源的消耗,需要对这些设备进行变频调速,针对这种情况,变频调速技术的应用可以提高对设备的控制水平,实现节能降耗的目的。本文通过对变频调速技术的介绍,对变频调速技术的应用及节能降耗效果进行分析。  关键词:变频调速技术;应用;节能降耗;效果  在企业生产活动或者民用机械设备的运行中,由于人们的要求不同,就需
摘 要:随着社会的进步与发展,广播电视产业得到快速发展,广播电视的规模也随之扩增,而广播电视安全播出技术的维护也面临着越来越严峻的挑战。只有处理好广播电视安全播出技术才能使广播电视正常运行,保证人们正常享受多样性的娱乐消遣生活。鉴于此,本文以广播电视安全播出的内容为切入点,重点分析了如何维护与处理广播电视安全播出技术。  关键词:广播电视;安全播出技术;维护  1 前言  广播电视在推动当代文化娱
对生物质气化炉进行改良,与斯特林发动机结合构建生物质发电系统.通过在上吸式固定床气化炉热裂解区内安装燃烧管进行改良,利用燃烧管所产生的高温烟气加热斯特林发动机,并通
当前我国城市正处于经济和社会的全面转型期,中国的城市化建设与发展日新月异,然而,我国的城市管理一定程度上跟不上城市建设的步伐,传统的城市管理在半个世纪里积累了不少问
【摘要】中职《护理学基础》没有统一的教学方法,针对中职护生的特点采取多媒体教学法、融入解剖学相关知识点进行理论实践一体化教学、开展技能竞赛、寒暑假见习、角色扮演和真人实验法相结合等教学方法可以大幅度提高教学效果。  【关键词】护理学基础 教学方法 中职  【中图分类号】G71 【文献标识码】A 【文章编号】2095-3089(2016)08-0178-01  《护理学基础》属于中职护理专业的核心课