水利科技与经济第12卷第1期Vol112 No11
2006年1月WaterConservancyScienceandTechnologyandEconomyJan12006
利用VB实现水泵性能曲线的自动绘制
张 荣
(河海大学农业水土工程系,南京 210098)
[摘 要]
在水泵的选型过程中,通常采用多项式的最小二乘法来拟合水泵性能曲线。介绍了
根据水泵厂家提供的典型数据,利用VisualBasic语言编制程序来实现水泵性能曲线的自动绘制。
[关键词]
水泵性能曲线;VB;自动绘制
[中图分类号] TP39,TV675 [文献标识码] A [文章编号] 1006-7175(2006)01-0062-03
AutomaticDrawingofPumpCharacteristicCurvebyVB
ZHANGRong
(HohaiUniversity,Nanjing210098,China)
Abstract:Inthecourseoftypeselectingofthewaterpump,themathematicmodelofleastsquaresurfacefittingisutilizedforthedrawingofthepump.scharacteristiccurve.AccordingtothetypicaldataofferedbytheproducerandwiththeutilizeoftheVisualBasiclanguage,thepump.scharacteristiccurvewillbeautomaticallydrawn.Keywords:pumpcharacteristiccurve;VB;automaticdrawing
动态坐标系,根据所选泵型流量和扬程等的大小自动标注坐标,横坐标为流量,纵坐标分别为扬程、效率和功率;¼将水泵性能曲线方程读入程序;½绘制水泵性能曲线。
下面以次充好500ZLB-85(+4)型水泵为例描述性能曲线的绘制过程:
(1)水泵型号。500ZLB-85(+4)。(2)典型数据。见表1。
表1 500ZLB-85(+4)型水泵参数表
流量QPm3Ps-1
0.577
0.8140.926
扬程HPm8.735.813.6
效率EP%
748574
功率NPkW
66.754.544.1
1 计算水泵性能曲线
在水泵的选型和运行中,通常采用多项式的最小二乘法来拟合水泵性能曲线[1]。水泵产品样本上给出的典型数据大都为3点,且水泵性能曲线(允许使用部分)可用抛物线方程表示[2],因此可将所给3点范围内的曲线拟合成抛物线。并且根据实际验证,在此范围内将其拟合为抛物线是合理的。因此可用最小二乘法拟合为二次多项式,方程如下
扬程流量曲线方程:H=A1h+A2h+A3hQ2效率流量曲线方程:E=A1e+A2e+A3eQ2功率流量曲线方程:N=A1n+A2n+A3nQ2
(3)建立动态坐标系。流量坐标范围:0.55~0.94m3Ps;扬程坐标范围:3.27~9.60m;效率坐标范围:67.27~100;功率坐标范围:40.09~74.04kW。
(4)水泵性能曲线方程。通过最小二乘拟合,求得各系数如下:
A1h=5.862659,A2h=17.2250,A3h=-21.24035,A1e=-147.3987,A2e=622.799,A3e=-414.3705,
2 绘制所选水泵性能曲线
水泵性能曲线绘制的步骤:¹确定要绘制性能曲线的水泵型号;º将水泵参数的典型数据读入程序;»建立
[收稿日期] 2005-08-121
[作者简介] 张 荣(1981-),男,江苏盐城人,在读硕士研究生,研究方向为泵站工程.
张 荣:利用VB实现水泵性能曲线的自动绘制
n11,n2,n21,n3,n31AsSinglePublicxhAsStringPrivateSubCommand1Dimx,y,z,h,kAsSingle
Click()
第1期
A1n=40.7001,A2n=113.4883,A3n=-118.5928扬程流量曲线方程:
H=5.862659+17.22504Q-21.24035Q2效率流量曲线方程:
E=-147.3987+622.799Q-414.3705Q2功率流量曲线方程:
N=40.7001+113.4883Q-118.5928Q图1~图3
。
2
h11=Val(t2.Text):h21=Val(t3.Text):h31=Val(t4.Text)q11=Val(t5.Text):q21=Val(t6.Text):q31=Val(t7.Text)e11=Val(t8.Text):e21=Val(t9.Text):e31=Val(t10.Text)n11=Val(t11.Text):n21=Val(t12.Text):n31=Val(t13.Text)-将典型数据输入窗体各文本框(除水泵名称对应文本框)输入的值赋予h11等变量。
Callmax(h11,h21,h31,k):[email protected](q11,q21,q31,k):[email protected]=100
Callmax(n11,n21,n31,k):[email protected](h11,h21,h31,k):h1=kP1.1Callmin(q11,q21,q31,k):q1=kP1.05Callmin(e11,e21,e31,k):e1=kP1.1
(5)绘制水泵性能曲线。水泵性能曲线绘制过程见
图1
典型数据输入窗体
Callmin(n11,n21,n31,k):n1=kP1.1
-求出所建动态坐标系中各坐标范围。将最大值赋予k;min(x,y,z,k)为求最小值的子程序,将最小值赋予k,程序代码此处略。
Forx=1000To13000Step1000P3 form1.Line(x,1000)-(x,7000) Next
Fory=1000To7000Step500 form1.Line(1000,y)-(13000,y) Next
图2
水泵工作性能曲线窗体
form1.ForeColor=vbBlackxh=t1
form1.CurrentX=7000:form1.CurrentY=500:form1.PrintxhFory=1000To7000Step500
h=h1+(y-1000)P500@(h3-h1)P12 z=Format(h,d00.00d)
form1.CurrentX=200:form1.CurrentY=7900-y:form1.Printz Next
-在form1中一个长度为12000特维,宽度为6000特维的区域内建立坐标系统。
图3 已绘成的水泵工作性能曲线
Forx=1000To13000Step2000P3
h=q1+(x-1000)P(2000P3)@(q3-q1)P18 z=Format(h,d0.00d)
form1.CurrentX=x-200:form1.CurrentY=7300:form1.Printz Next
form1.CurrentX=12800
form1.CurrentY=7300:z=Format(q3,d0.00d):form1.PrintzFory=1000To4000Step500
h=e1+(y-1000)P500@(e3-e1)P6 z=Format(h,d00.00d)
form1.CurrentX=13300:form1.CurrentY=4900-y:form1.Printz Next
3 水泵性能曲线绘制程序的编制
本程序采用VB编制,设有两个窗体,典型数据输入窗体(图1)及水泵工作性能曲线窗体(图2),其中典型数据输入窗体为启动窗体。
311 典型数据输入窗体设计
该窗体用于输入水泵名称及厂家所提供的典型数据,控件设置图1。输入典型数据后,点击确定,即可弹出如图2所示窗体。其部分代码如下:
Publich1,h11,h2,h21,h3,h31,q1,q11,q2,q21,q3,q31,e1,e11,e2,e21,e3,e31,n1,
水利科技与经济第12卷第1期Vol112 No11
2006年1月WaterConservancyScienceandTechnologyandEconomyJan12006
Fory=5000To7000Step500
h=n1+(y-5000)P500@(n3-n1)P4 z=Format(h,d00.00d)
form1.CurrentX=13300:form1.CurrentY=7000-y+5000:form1.Printz
Next
form1.Line(0,0)-(0,8000):form1.Line(0,0)-(14000,0)form1.Line(800,1000)-(800,7000):form1.Line(1000,7200)-(13000,7200)
form1.Line(13200,1000)-(13200,4000):form1.Line(13200,5000)-(13200,7000)
Forx=1000To13000Step1000P3 form1.Line(x,7200)-(x,7250) Next
Fory=1000To7000Step500 form1.Line(750,y)-(800,y) Next
Fory=1000To4000Step500 form1.Line(13200,y)-(13250,y) Next
Fory=5000To7000Step500 form1.Line(13200,y)-(13250,y) Next
form1.CurrentX=300:form1.CurrentY=700:form1.PrintdH(m)dform1.CurrentX=12500:form1.CurrentY=7500:form1.PrintdQ(m3Ps)dform1.CurrentX=13500:form1.CurrentY=4700:form1.PrintdN(KW)dform1.CurrentX=13500:form1.CurrentY=700:form1.Printdn(%)d-动态坐标系统中数值的标注。Form2.Hide:form1.ShowEndSub
PrivateSubCommand2EndEndSub
Click()
[email protected] w=Form2.q3P1.02ForeColor=vbBlack
Forx=vTowStep(w-v)P100000 y=a1h+a2h@x+a3h@x^2
m=1000+12000P(Form2.q3-Form2.q1)@(x-Form2.q1) n=1000+6000P(Form2.h3-Form2.h1)@(Form2.h3-y) PSet(m,n) Next
Forx=vTowStep(w-v)P100000 y=a1e+a2e@x+a3e@x^2
m=1000+12000P(Form2.q3-Form2.q1)@(x-Form2.q1) n=1000+3000P(Form2.e3-Form2.e1)@(Form2.e3-y) PSet(m,n) Next
Forx=vTowStep(w-v)P100000 y=a1n+a2n@x+a3n@x^2
m=1000+12000P(Form2.q3-Form2.q1)@(x-Form2.q1) n=7000-2000P(Form2.n3-Form2.n1)@(y-Form2.n1) PSet(m,n) NextEndSubPrivateSub退出EndEndSubPrivateSub返回UnloadMeForm2.ShowEndSub
Click()Click()
4 结 语
本程序编程语言采用VisualBasic6.0,利用建立动态坐标系的方法以满足不同泵型的坐标取值,根据厂家泵样本所提供的典型数据进行曲线拟合,最终实现水泵工作性能曲线的自动绘制。本程序可作为水泵选型系统的组成部分,即收集各类泵样本并建立数据库[3],可从库中选择适合泵型并用本程序来实现性能曲线的绘制。
312 水泵工作性能曲线窗体设计(图2)
曲线绘制采用绘制点的方法来绘制整条曲线。利用VB中的For循环语句及所求性能曲线方程来实现连续点的绘制,每条曲线由表及里100,000个连续点组成。该窗体蛇有3个命令按钮控件。点击显示按钮实现曲线绘制;返回按钮则返回典型数据输入窗体设计(图1),以便修改数据;退出按钮则推出程序。
以下为该窗体的部分程序代码(系数计算部分略):
PrivateSub显示
Click()
Dima1h,a2h,a3hAsSingleDima1e,a2e,a3eAsSingleDima1n,a2n,a3nAsSingleDimx,y,z,m,n,v,wAsSingle
[参考文献]
[1]李庆扬,王能超,易大义.数值分析第四版[M].北京:
清华大学出版社,施普林格出版社,20011
[2]栾鸿儒.水泵及水泵站[M].北京:水利电力出版社,
19931
[3]纪晓华,鄢碧鹏,刘 超.水泵选型专家系统研究与开
发[J].江苏农业研究成果,2001,(4):211
水利科技与经济第12卷第1期Vol112 No11
2006年1月WaterConservancyScienceandTechnologyandEconomyJan12006
利用VB实现水泵性能曲线的自动绘制
张 荣
(河海大学农业水土工程系,南京 210098)
[摘 要]
在水泵的选型过程中,通常采用多项式的最小二乘法来拟合水泵性能曲线。介绍了
根据水泵厂家提供的典型数据,利用VisualBasic语言编制程序来实现水泵性能曲线的自动绘制。
[关键词]
水泵性能曲线;VB;自动绘制
[中图分类号] TP39,TV675 [文献标识码] A [文章编号] 1006-7175(2006)01-0062-03
AutomaticDrawingofPumpCharacteristicCurvebyVB
ZHANGRong
(HohaiUniversity,Nanjing210098,China)
Abstract:Inthecourseoftypeselectingofthewaterpump,themathematicmodelofleastsquaresurfacefittingisutilizedforthedrawingofthepump.scharacteristiccurve.AccordingtothetypicaldataofferedbytheproducerandwiththeutilizeoftheVisualBasiclanguage,thepump.scharacteristiccurvewillbeautomaticallydrawn.Keywords:pumpcharacteristiccurve;VB;automaticdrawing
动态坐标系,根据所选泵型流量和扬程等的大小自动标注坐标,横坐标为流量,纵坐标分别为扬程、效率和功率;¼将水泵性能曲线方程读入程序;½绘制水泵性能曲线。
下面以次充好500ZLB-85(+4)型水泵为例描述性能曲线的绘制过程:
(1)水泵型号。500ZLB-85(+4)。(2)典型数据。见表1。
表1 500ZLB-85(+4)型水泵参数表
流量QPm3Ps-1
0.577
0.8140.926
扬程HPm8.735.813.6
效率EP%
748574
功率NPkW
66.754.544.1
1 计算水泵性能曲线
在水泵的选型和运行中,通常采用多项式的最小二乘法来拟合水泵性能曲线[1]。水泵产品样本上给出的典型数据大都为3点,且水泵性能曲线(允许使用部分)可用抛物线方程表示[2],因此可将所给3点范围内的曲线拟合成抛物线。并且根据实际验证,在此范围内将其拟合为抛物线是合理的。因此可用最小二乘法拟合为二次多项式,方程如下
扬程流量曲线方程:H=A1h+A2h+A3hQ2效率流量曲线方程:E=A1e+A2e+A3eQ2功率流量曲线方程:N=A1n+A2n+A3nQ2
(3)建立动态坐标系。流量坐标范围:0.55~0.94m3Ps;扬程坐标范围:3.27~9.60m;效率坐标范围:67.27~100;功率坐标范围:40.09~74.04kW。
(4)水泵性能曲线方程。通过最小二乘拟合,求得各系数如下:
A1h=5.862659,A2h=17.2250,A3h=-21.24035,A1e=-147.3987,A2e=622.799,A3e=-414.3705,
2 绘制所选水泵性能曲线
水泵性能曲线绘制的步骤:¹确定要绘制性能曲线的水泵型号;º将水泵参数的典型数据读入程序;»建立
[收稿日期] 2005-08-121
[作者简介] 张 荣(1981-),男,江苏盐城人,在读硕士研究生,研究方向为泵站工程.
张 荣:利用VB实现水泵性能曲线的自动绘制
n11,n2,n21,n3,n31AsSinglePublicxhAsStringPrivateSubCommand1Dimx,y,z,h,kAsSingle
Click()
第1期
A1n=40.7001,A2n=113.4883,A3n=-118.5928扬程流量曲线方程:
H=5.862659+17.22504Q-21.24035Q2效率流量曲线方程:
E=-147.3987+622.799Q-414.3705Q2功率流量曲线方程:
N=40.7001+113.4883Q-118.5928Q图1~图3
。
2
h11=Val(t2.Text):h21=Val(t3.Text):h31=Val(t4.Text)q11=Val(t5.Text):q21=Val(t6.Text):q31=Val(t7.Text)e11=Val(t8.Text):e21=Val(t9.Text):e31=Val(t10.Text)n11=Val(t11.Text):n21=Val(t12.Text):n31=Val(t13.Text)-将典型数据输入窗体各文本框(除水泵名称对应文本框)输入的值赋予h11等变量。
Callmax(h11,h21,h31,k):[email protected](q11,q21,q31,k):[email protected]=100
Callmax(n11,n21,n31,k):[email protected](h11,h21,h31,k):h1=kP1.1Callmin(q11,q21,q31,k):q1=kP1.05Callmin(e11,e21,e31,k):e1=kP1.1
(5)绘制水泵性能曲线。水泵性能曲线绘制过程见
图1
典型数据输入窗体
Callmin(n11,n21,n31,k):n1=kP1.1
-求出所建动态坐标系中各坐标范围。将最大值赋予k;min(x,y,z,k)为求最小值的子程序,将最小值赋予k,程序代码此处略。
Forx=1000To13000Step1000P3 form1.Line(x,1000)-(x,7000) Next
Fory=1000To7000Step500 form1.Line(1000,y)-(13000,y) Next
图2
水泵工作性能曲线窗体
form1.ForeColor=vbBlackxh=t1
form1.CurrentX=7000:form1.CurrentY=500:form1.PrintxhFory=1000To7000Step500
h=h1+(y-1000)P500@(h3-h1)P12 z=Format(h,d00.00d)
form1.CurrentX=200:form1.CurrentY=7900-y:form1.Printz Next
-在form1中一个长度为12000特维,宽度为6000特维的区域内建立坐标系统。
图3 已绘成的水泵工作性能曲线
Forx=1000To13000Step2000P3
h=q1+(x-1000)P(2000P3)@(q3-q1)P18 z=Format(h,d0.00d)
form1.CurrentX=x-200:form1.CurrentY=7300:form1.Printz Next
form1.CurrentX=12800
form1.CurrentY=7300:z=Format(q3,d0.00d):form1.PrintzFory=1000To4000Step500
h=e1+(y-1000)P500@(e3-e1)P6 z=Format(h,d00.00d)
form1.CurrentX=13300:form1.CurrentY=4900-y:form1.Printz Next
3 水泵性能曲线绘制程序的编制
本程序采用VB编制,设有两个窗体,典型数据输入窗体(图1)及水泵工作性能曲线窗体(图2),其中典型数据输入窗体为启动窗体。
311 典型数据输入窗体设计
该窗体用于输入水泵名称及厂家所提供的典型数据,控件设置图1。输入典型数据后,点击确定,即可弹出如图2所示窗体。其部分代码如下:
Publich1,h11,h2,h21,h3,h31,q1,q11,q2,q21,q3,q31,e1,e11,e2,e21,e3,e31,n1,
水利科技与经济第12卷第1期Vol112 No11
2006年1月WaterConservancyScienceandTechnologyandEconomyJan12006
Fory=5000To7000Step500
h=n1+(y-5000)P500@(n3-n1)P4 z=Format(h,d00.00d)
form1.CurrentX=13300:form1.CurrentY=7000-y+5000:form1.Printz
Next
form1.Line(0,0)-(0,8000):form1.Line(0,0)-(14000,0)form1.Line(800,1000)-(800,7000):form1.Line(1000,7200)-(13000,7200)
form1.Line(13200,1000)-(13200,4000):form1.Line(13200,5000)-(13200,7000)
Forx=1000To13000Step1000P3 form1.Line(x,7200)-(x,7250) Next
Fory=1000To7000Step500 form1.Line(750,y)-(800,y) Next
Fory=1000To4000Step500 form1.Line(13200,y)-(13250,y) Next
Fory=5000To7000Step500 form1.Line(13200,y)-(13250,y) Next
form1.CurrentX=300:form1.CurrentY=700:form1.PrintdH(m)dform1.CurrentX=12500:form1.CurrentY=7500:form1.PrintdQ(m3Ps)dform1.CurrentX=13500:form1.CurrentY=4700:form1.PrintdN(KW)dform1.CurrentX=13500:form1.CurrentY=700:form1.Printdn(%)d-动态坐标系统中数值的标注。Form2.Hide:form1.ShowEndSub
PrivateSubCommand2EndEndSub
Click()
[email protected] w=Form2.q3P1.02ForeColor=vbBlack
Forx=vTowStep(w-v)P100000 y=a1h+a2h@x+a3h@x^2
m=1000+12000P(Form2.q3-Form2.q1)@(x-Form2.q1) n=1000+6000P(Form2.h3-Form2.h1)@(Form2.h3-y) PSet(m,n) Next
Forx=vTowStep(w-v)P100000 y=a1e+a2e@x+a3e@x^2
m=1000+12000P(Form2.q3-Form2.q1)@(x-Form2.q1) n=1000+3000P(Form2.e3-Form2.e1)@(Form2.e3-y) PSet(m,n) Next
Forx=vTowStep(w-v)P100000 y=a1n+a2n@x+a3n@x^2
m=1000+12000P(Form2.q3-Form2.q1)@(x-Form2.q1) n=7000-2000P(Form2.n3-Form2.n1)@(y-Form2.n1) PSet(m,n) NextEndSubPrivateSub退出EndEndSubPrivateSub返回UnloadMeForm2.ShowEndSub
Click()Click()
4 结 语
本程序编程语言采用VisualBasic6.0,利用建立动态坐标系的方法以满足不同泵型的坐标取值,根据厂家泵样本所提供的典型数据进行曲线拟合,最终实现水泵工作性能曲线的自动绘制。本程序可作为水泵选型系统的组成部分,即收集各类泵样本并建立数据库[3],可从库中选择适合泵型并用本程序来实现性能曲线的绘制。
312 水泵工作性能曲线窗体设计(图2)
曲线绘制采用绘制点的方法来绘制整条曲线。利用VB中的For循环语句及所求性能曲线方程来实现连续点的绘制,每条曲线由表及里100,000个连续点组成。该窗体蛇有3个命令按钮控件。点击显示按钮实现曲线绘制;返回按钮则返回典型数据输入窗体设计(图1),以便修改数据;退出按钮则推出程序。
以下为该窗体的部分程序代码(系数计算部分略):
PrivateSub显示
Click()
Dima1h,a2h,a3hAsSingleDima1e,a2e,a3eAsSingleDima1n,a2n,a3nAsSingleDimx,y,z,m,n,v,wAsSingle
[参考文献]
[1]李庆扬,王能超,易大义.数值分析第四版[M].北京:
清华大学出版社,施普林格出版社,20011
[2]栾鸿儒.水泵及水泵站[M].北京:水利电力出版社,
19931
[3]纪晓华,鄢碧鹏,刘 超.水泵选型专家系统研究与开
发[J].江苏农业研究成果,2001,(4):211