我的位置:首页 >> 中继器

阀门启闭动态转矩检测装置与PC机的智能串门窗维修乐陵机床附件开关航天模型Rra

发布时间:2024-03-20 17:46:37 来源:徕富机械网

阀门启闭动态转矩检测装置与PC机的智能串行通信

0 引言

阀门制造的质量越来越受到行业与广大用户的重视,特别是高压、大口径、低温等特殊工况下工作的阀门及重要输送管道上的阀门,若开启或关闭过程中发生机械故障,其后果不可设想。阀门启闭动态转矩检测系统可以完整地记录被测阀门在开启与关闭的全过程中所需的时间(开度)与转矩、时间(开度)与位移的关系,并以数据显尔、趋势曲线、输出最大值及报表等多种形式,反映阀门的制造与装配质量信息,供技术人员进行统计、计算和分析,以获得产品的性能指标,可帮助企业提高产品质量。

阀门启闭动态转矩检测系统以PC机为控制处理中心,由阀门启闭动态转矩检测装置采集数据,然后用异步串行通信方式传给PC机,实现由PC机对整个检测过程的自动控制。VB在开发可视化环境下的检测系统控制软件时有其独特的优势。首先,人机界面的建立比其它工具简单、快速;其次VB提供了串行通信控件,使开发者可以开发串行通信和系统程序,而功能上也提供了不少为用户所设想的简便之处。本义介绍的阀门启闭动态转矩检测系统中的有关程序即选用了VB作为编程工具。

1 阀门启闭动态转矩检测装置与PC机的串行通信

用VB开发串行通信程序一般有两种方法:

①利用Windos的通信API函数

Windows SDK提供了完备的API接口函数,利用API函数编写的串口通信程序功能更强大、更丰富,但编写复杂,其复杂化和专业化使很多开发者望而却步。

②采用通信控件实现

使用控件是VB的一大优势,其编写程序较为简单,大多数VB程序员使用微软公司的MSComm控件来进行串行通信程序的开发。

笔者编写的用于阀门启闭动态转矩检测装置与PC机的串行通信程序,主要利用了MSComm控件的一些属性与方法。MSComm控件提供了标准的事件处理函数、过程,通过设置串行通信的参数(端口号、波特率等),比较容易实现串行通信。

1.1 阀门启闭动态转矩检测系统通信协议

阀门启闭动态转矩检测装置与PC机之间采用RS232异步串行通信接口通信,数据传输速率为9600bps,1位开始位,8位数据位,1位停止位,无奇偶校验位。检测装置不断发送检测数据。每个数据块由4个字节组成,第一个字节的前三位定义为二进制常数1ll,是每个数据块的开始标志,其余3个字节的前三位均为二进制常量000;每两个字节的后五位表示一个十进制数灯箱布,高位在前,低位在后。如图1所示。

1.2 MSComm控件的主要属性和事件

MSComm控件有很多属性,其中最基本的有以下几个:

1.2.1 CommPort属性:设置并返回通讯端口号。端口号可以设置为l~99的任何数,如mPort=2表示设置当前通讯端口为COM2。

1.2.2 Setting属性:设置并返回波特率、奇偶校验、数据位、停止位。格式为tting=String。String是一个包含四部分的字符串:第一部分为波特率;第二部分为奇偶校验,N表示不校验,M表示符号校验,E表示偶校验,0表示奇校验,S表示空格校验;第三部分为数据位数,其可选值为4,5,6,7,8;第四部分为停止位位数,其可选值为1,l.5,2。Setting属性的缺省值为 9600,N,8,1 。

1.2.3 PortOpen属性:设置并返回通讯端口的状态(打开和关闭)。

1.2.4 Input属性:从接收缓冲区返回和删除字符。该属性在运行时为只读。

1.2.5 InputMode属性:设置和返回Input属性检索的数据类型。

1.2.6 InputLen属性:设置并返回每次InPut属性从接收缓冲区中读取的字符数。InputLen属性的缺省值为0。设置InputLen为0时,Input将读取接收缓冲区的全部字符。

1.2.7 Output属性:向传送缓冲区写数据。要传送的数据可是文本数据或二进制数据。

1.2.8 CommEvent属性:返回最近的通信事件或错误。只要有通讯错误或接收事件发生时就会产生0nComm事件。CommEvent属性中存有该错误或事件的数值代码。

1.2.9 Rthreshold属性:设置或传回引发接收事件的字符数,即属性页上的 R阀值 。当接收寄存器达到所设置的字符数时,将会引发OnComm事件中的接收事件。此属性的默认值是0,其意义是无论寄存器中有多少字符均不会引发接收事件。

1.3 本装置通信控件的属性

本装置通信控件MSComm1重要属性设置如下:

mPort=2 选串行端口2

ttings= 9600,n,8,1 设置9600波特率,无奇偶校验,8个数据位,1个停止位

tBufferStze=30000 设置缓冲区大小为30000个字节

putMode=1 输入输出的数据类型为二进制

hreShold=0 不引发接收事件

putLen=7 指定由串行口一次读入的字符串长度

MSComm控件提供了OnComm事件,用于通信错误或通信事件发生时,用户可在OnComm事件中编写代码。

1.4 数据处理

对接收的每个数据块,要通过一个简单算法,将二进制格式数据转换成两个十进制表示的数据。编写数据处理函数如下:

Function BtoD(d1 as byte,d2 as byte)as integer

BtoD=(d1 And H1.安全装置:实验时在曲折实验装置周围装有安全防护罩10)/16*2^9_

+(dl And H8)/ 8*2^8_

+(d1 And H4)/ 4*2^7_

+(dl And H2)/2*2^6_

+(d1 And H1)/1*2^5_

+(d2 And H10)/16*2^4_

+(d2 And H8)/8*2^3_

+(d2 And H4)/4*2^2_

+(d2 And H2)/2*2^1_

+(d2 And H1)/1*2^0_

End Function

1.5 发送命令程序

为了发送一个4字节二进制数{7E,01,F6,oA}数据传输命令,它必须先存到一个形式为Byte的动态数组,然后再将此动态数组传送出去。采用单击命令按钮方式发送传输命令,过程如下:

Private Sub cmdstart_Click() 开始按钮

Dim outA()As Byte

outA()=ChrB( H7E) ChrB(l) ChrB( HF6) ChrB( HA)

tput=outA 向阀门启闭动态转矩检测装置发送数据传输命令

U1max=0 数据1最大值存储变量清零

U2max=0 数据2最大值存储变量清零

T=Val(xt) 数据采样时 间间隔

CT=Va1(xt) 数据采样时间

abled=True 启动接收阀门启闭动态转矩检测装置数据定时器

End Sub

1.6 接收数据程序

接收数据是一个自动的周期性过程,通过子过程来实现,由定时器开启。接收数据时,每次要判断第一个字节是否为一个数据块的起始字节,只有是则连接的4个字节才为正确的数据,否则查看下一字节。通过设置putLen=7来实现每次从接收缓冲区内读取七个字节的数据,以保证每一个周期能另外一方面读取一个数据块。接收数据子过程如下:

Sub ReceriveData()

Dim Buf()As Byte

Dim i As Integer

Dim Temp As Integer

Dim c(3) As Byte

Dim U1%,U2%

Buf()=put

For i=LBound (Buf)To UBound(Buf) 查找数据块的第一个字节

If Buf(i)\32=7 Then

Temp=i

Exit For

End If

Next

For i=0 To 3 读取一个数据块

c(i)= Buf(TemP+i)

Next

U1=BtoD(c(0),c(1)) 调用数据处理函数求数据1

U2=BtoD(c(2),c(3)) 调用数据处理函数求数据2

If U1>U1 max Then 求数据1的最大值

Ulmax=U1

End If

If U2>U2max Then 求数据2的最大值

U2maX=U2

End If

End Sub

1.7 通讯错误的处理

由于外界干扰或电压波动等原因,PC机和阀门启闭动态转知检测装置之间的通信可能会出现错误,如接收缓冲区溢出、连接端口超速等。这些可能发生的事件都能在代码中引起运行错误。为了处理这些错误,须要将错误处理代码添加到程序中。通过控件中的OnComm事件可以捕捉和处理错误。在通信过程中所发生的通信错误是CommEvent属性返回的。当CommEVent属性值发生改变时,表明有通信错误,就会产生OnComm事件。同时,可以利用自动引发OnComm事件的特点在接收过程中加入状态显示码。通信错误的处理程序如下:

Private Sub MSComm1_OnComm()

Select Case mEvent

case ComEventFrame 数据帧错误

X=MsgBox(Framing Error!,16)

错误处理首批次新材料是指用户在首年度内购买使用《目录》内的同品种、同技术规格参数的新材料产品

Case ComEventOverrun 连接端口超速

X=MsgBox( 数据丢失! ,16)

错误处理

End Select

End Sub

2 保存数据

通过串口传送过来的数据经过处理后,连同对应的时间参数,送入数据库,供MIS系统查询、绘制趋势曲线、打印报表等使用。数据表结构如表1所示:

表1 数据表结构

3 绘制趋势曲线

将采集到的数据绘制成趋势曲线(U1-T和U2-T),进行统计、计算和分析,以得到产品的性能指标。

3.1 绘图方法的使用

在VB中,最方便使用的绘图组件是图片框(Picture Box),此组件可以使用相关的绘图方法将数据绘到图片框中,使结果显示在其上。在绘制趋势曲线中只需用到直线的绘制方法,在VB中画直线是迈过Line方法来实现的,它的语法为:

ne[step] [x1,x1] [step](x2,y2)[, 颜色 [,B[F]]

其中,x1,y1为直线的起点坐标,x2,y2为直线的终点坐标,颜色用于设置直线的颜色,B、F为绘制矩形时所用。当使用Line方法绘制连结的线时,前一条线的终点就是后一条线的起点。线的宽度取决于DrawWidth属性值,线型取决于DrawStyle属性值。执行Line方法后,CurrentX和CurrentY性被参数设置为终点。

3.2 插值公式的使用

间门启闭动态转矩检测系统中PC机接收的数据为每工业皮带隔一定时间间隔采样、处理和读取的,为了能更好地显示曲线的趋势走向,需要使用插值法求中间点。常用牛顿插值公式计算中间点坐标。牛顿插值公式如下:

牛顿插值公式是一个递推公式,当需要增加一个节点时,只要多计算一行就可以了,比较方便实用。利用该公式即可骗写出在绘制趋势曲线过程中用到的构造牛顿插值公式子过程。

3.3 绘制趋势曲线

读取数据库中的数据,利用牛顿插值函数及Line方法,可得到如图2所示的检测结果趋势曲线(U1-T和U2-T)

程序代码如下:

Private Sub DrawNewTonGraph(Xmin As Single,Xmax As Single,stp As Single,m1 As Integer,m2 As Integer,k As Single,c,Pie As object)

Stp为横坐标绘图步长;m1为曲线的横坐标数据在数据表中的字段名,m2为曲线的纵坐标数据在数据表中的字段名;k为曲线比例系数;c为曲线的颜色;Pic为绘图的图片框

Dim x As Single X坐标

Dim y As Single Y坐标

NewTonInterpolationl ml,m2 调用构造中顿插值公式子过程

awWidth=2 设置曲线宽

Pic.Draw >

x=Xmin

y=NewTonInterpolation2(x) 用牛顿插值公式求X点的y值

et(x,y),c 设置起点

x=x+Stp

While x<Xmax

y=NewTonInterpolation2(x)

ne-(x,y*k),c 由上一次的位置画至此点

x=x+stp

Wend

x=Xmax

y=NewTonInterpolation2(x)

ne-(x,y*k),C

End Sub

4 结束语

阀门启闭动态转矩检测系统为一主从式系统,上位机为PC机,应用程序全部用VB开发,由PC机实现对整个检测过程的自动控制,可以完整地记录被测阀门在开启与关闭的全过程中所需的时间(开度)与转矩、时间(开度)与位移的关系,并以数据显示、趋势曲线、输出最大值及报表等形式,反映阀门的制造与装配质量信息。本文中给出的原程序均巳在VB6.0环境下调试通过,其中的编写方法对其他类似的检测系统也有一定的借鉴作用。

参考文献

[1] 范逸之.利用Visual Basic实现串并行通信技术.北京:清华大学出版社,2001.

[2] 范逸之.Visual Basic与分布式监控系统[M].北京:清华大学出版社,2002.

北京装修电话
北京装修费用
卧室装修
北京装修哪家好
相关阅读
8月21日碳黑网上行情最新快报机油泵五指山释放阀钣金托盘模具Trp

8月21日碳黑上行情最新快报产品名称货品所在地单价(不含运费)碳黑/330/超细碳黑江苏无锡市5.50/公斤碳黑浙江台州市路桥区4000.00/吨碳黑河北石家庄市1980.00/吨碳黑河南商丘市400.00/吨N330/N220 碳黑上海

04月18日 11:39
汽巴精化推出热固着油墨LED灯手轮分析仪器汽车漆膜期货投资Trp

汽巴精化推出热固着油墨IRGASTAR GF瑞士巴塞尔消息,汽巴精化(Ciba)将在本年度德鲁巴展上(drupa)带来全新系列的热固着油墨产品。作为印刷行业的最大展会,本年度的德鲁巴展新余将于5月29日~

04月18日 08:34
我国食品包装机械行业存在的问题以及对策大庆爪型干泵小吃刹车盘青虾养殖Trp

我国食品包装机械行业存在的问题以及对策近年来我国的食品包装机械行业逐步发展为我国国民经济中增长最快、最具活力的支柱产业之一,但由于起步较晚、技术资源不够集中等原因,与发达国家

04月18日 08:28
原材料价格上涨触动零售端部分五金产品或涨过滤机MP4气缸盖耐火炉料激光电源Trp

原材料价格上涨触动零售端 部分五金产品或涨价最近,装修师傅都在抱怨水龙头、门锁等五金产品的“拿货价”上涨了。在市面上,这些五金产品的价格还未明显上涨,业内人士表示,随着铜、锌等

04月18日 07:09
评价固特异全包围汽车丝圈脚垫宝马53系奥膨胀螺丝注射模具异型螺母手柄冷水机Trp

评价:固特异全包围汽车丝圈脚垫宝马53系奥迪a4lq3q5翼虎途观L昂科威固特异全包围汽车丝圈脚垫宝马53系奥迪a4lq3q5翼虎途观L昂科威双层大包围 专车专用 健康无味 耐脏易洗初次安装后感受:挺好,

04月17日 21:30
体系聚异丁烯实现工业化生产0淄博无刷马达专业原煤弹性袜胶印机TRp

BF3体系聚异丁烯实现工业化生产由中油吉林石化公司研究院完成的一项具有国际先进水平的科研新成果-BF3体系聚异丁烯工业化技术开发项目,日前正式通过吉林省科技厅组织的技术鉴定。

04月03日 04:54
友情链接: 试验机 西装定制 离婚律师 山西妇产医院 药品库 上海继承谈判 北京擅长离婚律师事务所 工作服门户 脚气病引起手指灰指甲是什么原因 脚上灰指甲怎么防止传染手上 脚气灰指甲严重会引起哪些疾病 有灰指甲的人穿过的鞋传染吗 寻医问药 保亭口腔医院 北京离婚律师咨询在线 萍乡妇科专科医院哪家好 上海办离婚律师找谁 河北石家庄妇产医院哪家好 离婚官司律师报价 西藏拉萨治疗妇产专科医院 盐城皮肤病 征地拆迁 Car Decoration 笔记网 南宁工作服定做 Testing Machine Pet Supplies Application 寻医问药 上海哪里男科医院好 浙江哪家医院治疗五官好 成都风湿病专科医院排名 沈阳哪家医院看妇科好 安徽哪家医院治疗精神科好 白辞网 Products