基于VB60的工控机与智能流量积算仪的串口通信.docx

上传人:安*** 文档编号:17782454 上传时间:2022-05-26 格式:DOCX 页数:9 大小:18.54KB
返回 下载 相关 举报
基于VB60的工控机与智能流量积算仪的串口通信.docx_第1页
第1页 / 共9页
基于VB60的工控机与智能流量积算仪的串口通信.docx_第2页
第2页 / 共9页
点击查看更多>>
资源描述

《基于VB60的工控机与智能流量积算仪的串口通信.docx》由会员分享,可在线阅读,更多相关《基于VB60的工控机与智能流量积算仪的串口通信.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、基于VB6.0的工控机与智能流量积算仪的串口通信基于VB6.0的工控机与智能流量积算仪的串口通信wangtao导语:以VB6.0为软件开发平台,在分析工控机与D088CZM智能流量积算仪通信原理的根底上,利用MSComm控件和MODBUS协议,实现了上位机与该智能流量积算仪的串口通信功能1、引言本文主要从应用的角度利用VB6.0的MSComm控件和MODBUS协议,成功实现了某流量控制系统中工控机与带RS232输出接口的智能数字流量积算仪之间的串口通信功能。D088CZM数字显示表应用于底吹氩流量控制系统中流量的显示,工控机通过读取其显示值作为反应信号,进而实现流量的闭环控制。2、D088CZ

2、M型智能数字流量显示积算仪与串口通信2.1硬件构成D0712A型质量流量传感器采用毛细管传热温差量热法原理测量气体的质量流量无需温度压力补偿。将加热电桥测得的流量信号送入放大器放大,放大后的流量检测电压与设定电压进展比拟,再将差值信号放大后去控制调节阀门,闭环控制流过通道的流量使之与设定的流量相等。当本流量积算仪与MFC质量流量计配套使用时,只需用电缆通过D型插头将流量积算仪与MFC连接起来即可。然后采用一台上位机与一台D088CZM流量积算仪进展通信的方式,使用RS232通讯方式:将2引脚TXD与上位机串口的RXD工控机串口的2引脚相连;3引脚RXD与上位机串口的TXD工控机串口的3引脚相连

3、;5引脚SG与上位机串口的SG工控机串口的5引脚相连。2.2通讯原理工控机作为上位机与从机数字流量积算仪采用主从应答方式进展通信,一个网络中只有一个主机上位机,节点地址为0,主机通过站号数字流量积算仪的唯一地址区分不同的从机。上位机始终处于主动状态,根据程序运行的需要向通信端口数字流量积算仪发出读写等命令;从机处于被动状态,接收并响应上位机的命令。需要读采样数据时,上位机通过通信口向指定地址的数字流量积算仪发出读数据命令,数字流量积算仪响应并将数据准备好,按统一的数据通信帧格式编成响应字符串,主机再次读通信口接收缓冲区即可读到所需的数据。向数字流量积算仪写数据时,上位机向指定数字流量积算仪发出

4、写命令及参数数据,积算仪即可承受并返回响应情况。上位机通过RS232通信进展运行状态监控、参数设置、诊断等远程测控功能,实现这些功能采用了不同的通信格式。其中MODBUS协议通讯原理图如下:图1MODBUS协议的询问应答环路2.3通讯协议本通信协议应用于D088CZM型流量积算仪与上位机的通信,数据以16进制格式传输,波特率:9600;数据位8位;停顿位:1位;效验位:无。本协议与MODBUS协议兼容,可以通过上位机显示流量积算仪的瞬时流量、累积流量、满量程、单位和阀状态包括阀控、关闭和清洗,而且可以通过上位机设定流量积算仪的瞬时流量、使流量积算仪的累积流量清零。因此在本协议用到了MODBUS

5、协议的命令$03Reading19words、命令$05Forcesinglecoil和命令$06Writing1word。使用命令$03可以通过上位机读流量积算仪的当前状态,其通信协议的详细格式为:上位机积算仪:010300020008E5CC各字节含义:01:MODBUS地址;03:功能码03Reading19words;0002:起始地址,00为高8位,02为低8位;0008:读取的字数;E5CC:CRC效验值,E5为CRC的低8位,CC为高8位。上位机积算仪:010310116CRCLCRCH各字节含义:01:MODBUS地址;03:MODBUS命令号;10:上传的字节数;14:瞬时流

6、量值;0009表示数字09,1019表示0.9.;510:流量累积值;同上;1114:满量程;同上;15:流量单位;00表示SCCM和SCC,01表示SCCM和SL,11表示SLM和SL;16:阀状态;00表示关闭,80表示阀控,FF表示清洗;CRCL:CRC的低八位;CRCH:CRC的高8位。3、用VB实现串行通讯3.1MSComm控件VB的通信控件MSComm可以提供串行通信的全部功能,程序编写、调试简单方便,开发速度快,该控件封装了通信经过中的底层操作程序,用户只需设置和监控控件的属性和事件,就可以方便地实现异步串行通信。采用MSComm控件接收数据,按照接收方式分两种形式:事件驱动方式

7、,定时查询方式。本例为适应流量的实时控制采用定时驱动方式,假设定时器计时到,通过串行通信口向指定地址流量积算仪发出读写等操作命令,等待时间到那么检查InBufferCount属性值来判断输入缓冲区中是否承受到了相应数目的字符,进而进展读取、判断数据合法性和数据存储、处理等操作。3.2通信功能的编程实现程序框图如下:图2串口通信程序框图串口初始化:MSComm1.CommPort=1MSComm1.SThreshold=1MSComm1.Settings=9600,N,8,1MSComm1.InBufferSize=1024MSComm1.OutBufferSize=1024MSComm1.In

8、putMode=comInputModeBinary翻开串口并定时发送数据命令:PrivateSubTimer1_TimerDimbytearray0To7AsBytebytearray0=H1bytearray1=H3bytearray2=H0bytearray3=H2bytearray4=H0bytearray5=H8bytearray6=HE5bytearray7=HCCMSComm1.InputLen=21MSComm1.InBufferCount=0MSComm1.OutBufferCount=0MSComm1.RThreshold=1MSComm1.PortOpen=TrueIfM

9、SComm1.PortOpen=TrueThenMSComm1.Output=bytearrayEndIfEndSub承受数据:PrivateSubMSComm1_OnCommDoDoEventsLoopUntilMSComm1.InBufferCount=21DimdatareadAsByteDimtempdataAsVariantDimstrAsStringIfMSComm1.CommEvent=comEvReceiveThentempdata=MSComm1.InputReDimdatareadUBoundtempdataAsByteFori=0ToUBoundtempdatadatareadi=tempdataiEndSub同理利用以上程序框图和通信协议可以完成下列图的所有功能:图3基于VB的D08-8CZM型流量积算仪4、完毕语利用VB6.0的MSComm控件和MODBUS协议,实现了工控机与带RS232输出接口的智能数字流量积算仪之间的串口通信功能,使其可以实时的收集瞬时流量,并成功的应用于底吹氩流量闭环控制系统。这种通信方式灵敏方便,构造简单,可靠性高,完全到达了预期的要求,具有较好的实际价值和使用性。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁