版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、现代供热技术及应用水泵设计作业说明分析单台或多台循环水泵在系统中运行的工作状况以确保系统中循环水泵能在高效区工作,而又满足流量要求,不致产生严重的水力和热力失调现象,从而寻求与系统相匹配的循环水泵,使其尽可能地满负荷、高效率运行,具有极其重要的意义。1 .循环水泵与管网特性分析1.1循环水泵曲线拟合所谓曲线拟合,就是用一个适当的函数关系式来表示若干个已知离散值之间内在规律的数据整理方法。最小二乘法是一种最常见的曲线拟合方法。包括按直线、抛物线、双曲线、指数曲线规律,以及按周期性规律变化的离散值,均可以拟合成为以下形式的多项式回归方程:式中a0、a1、a2、an回归系数(最小二乘估计)。1.2.
2、循环水泵的拟合曲线从水泵性能曲线图可看出其性能曲线HQ、NQ、Q近似于抛物线,故用三次回归曲线(相比二次回归曲线更精确)对测试数据进行水泵性能回归曲线方程如下: H= H0+A1Q1+A2Q2+A3Q3 N= N0+B1Q1+B2Q2+B3Q3 (311) =0+C1Q1+C2Q2+C3Q3式中 Q水泵流量,m3/h; H水泵扬程,mH2O; 水泵效率,%; N水泵轴功率,kW对水泵的Q-H特性曲线采用最小二乘法,按(311)式拟合求得。回归系数A1、A2、A3和H0可按正规方程组求得,其中n4。同理对水泵的N-Q特性曲线,可多回归系数N0、B1、B2、B3;对水泵的-Q特性曲线,可多回归系数
3、0、C1、C2、C3 .程序源代码(VB).1水泵选型Private Sub combo1_click()If Combo1.Text = TD65-50/2 ThenText7.Text = 10Text8.Text = 53.5Text9.Text = 6.5Text23.Text = 22.86Text10.Text = 20Text11.Text = 53Text12.Text = 8Text24.Text = 36.81Text13.Text = 40Text14.Text = 51Text15.Text = 10.5Text25.Text = 53.97Text26.Text =
4、50Text27.Text = 50Text28.Text = 12Text29.Text = 57.87ElseIf Combo1.Text = TD65-66/2 ThenText7.Text = 20Text8.Text = 70Text9.Text = 10.2Text23.Text = 38.13Text10.Text = 50Text11.Text = 67Text12.Text = 15Text24.Text = 62.04Text13.Text = 60Text14.Text = 66Text15.Text = 17Text25.Text = 64.71Text26.Text
5、= 80Text27.Text = 59Text28.Text = 20Text29.Text = 57.87ElseIf Combo1.Text = TD65-81/2 ThenText7.Text = 5Text8.Text = 90Text9.Text = 11.5Text23.Text = 10.97Text10.Text = 40Text11.Text = 85Text12.Text = 18.2Text24.Text = 51.89Text13.Text = 70Text14.Text = 81Text15.Text = 25Text25.Text = 63Text26.Text
6、= 90Text27.Text = 75Text28.Text = 28Text29.Text = 66.96End IfEnd Sub2.2计算管路阻抗Private Sub Command4_Click()a = Val(Text1.Text)b = Val(Text2.Text)c = Val(Text3.Text)d = Val(Text4.Text)e = Val(Text5.Text)F = c / (a * b * 3600 / (1000 * 4.182 * (d - e) * 1000) 2Text6.Text = Val(F)Text6.Text = Format(Val(
7、F), 0.0000000)End Sub2.3求解曲线方程Private Sub Command1_Click()Dim a(4, 4), y(4), h(4), l(4), c(4), r(4), n(4), w(4), gl, ych, g, p(4), z(4) As SingleDim a1, a2, a3, a4, b1, b2, b3, b4, e1, e2, e3, e4, e5, e6, c1, c2, c3, c4, d1, d2, d3, d4 As SingleIf Combo1.Text = Or Combo2.Text = Then MsgBox 请输入必要参数,
8、提示! Exit Sub End Ifa1 = Val(Text7.Text)a2 = Val(Text10.Text)a3 = Val(Text13.Text)a4 = Val(Text26.Text)b1 = Val(Text8.Text)b2 = Val(Text11.Text)b3 = Val(Text14.Text)b4 = Val(Text27.Text)c1 = Val(Text9.Text)c2 = Val(Text12.Text)c3 = Val(Text15.Text)c4 = Val(Text28.Text)d1 = Val(Text23.Text)d2 = Val(Te
9、xt24.Text)d3 = Val(Text25.Text)d4 = Val(Text29.Text)X1 = a1 + a2 + a3 + a4X2 = (a1) 2 + (a2) 2 + (a3) 2 + (a4) 2x3 = (a1) 3 + (a2) 3 + (a3) 3 + (a4) 3x4 = (a1) 4 + (a2) 4 + (a3) 4 + (a4) 4x5 = (a1) 5 + (a2) 5 + (a3) 5 + (a4) 5x6 = (a1) 6 + (a2) 6 + (a3) 6 + (a4) 6Y1 = b1 + b2 + b3 + b4Y2 = a1 * b1 +
10、 a2 * b2 + a3 * b3 + a4 * b4y3 = (a1) 2 * b1 + (a2) 2 * b2 + (a3) 2 * b3 + (a4) 2 * b4y4 = (a1) 3 * b1 + (a2) 3 * b2 + (a3) 3 * b3 + (a4) 3 * b4a(1, 1) = 4a(1, 2) = X1a(1, 3) = X2a(1, 4) = x3a(2, 1) = X1a(2, 2) = X2a(2, 3) = x3a(2, 4) = x4a(3, 1) = X2a(3, 2) = x3a(3, 3) = x4a(3, 4) = x5a(4, 1) = x3a
11、(4, 2) = x4a(4, 3) = x5a(4, 4) = x6z(1) = c1 + c2 + c3 + c4z(2) = a1 * c1 + a2 * c2 + a3 * c3 + a4 * c4z(3) = (a1) 2 * c1 + (a2) 2 * c2 + (a3) 2 * c3 + (a4) 2 * c4z(4) = (a1) 3 * c1 + (a2) 3 * c2 + (a3) 3 * c3 + (a4) 3 * c4For i = 1 To 4n(i) = 0Next iFor k = 1 To 1000For i = 1 To 4l(i) = n(i)Next iF
12、or i = 1 To 4Sum = 0For j = 1 To i - 1 Sum = Sum + a(i, j) * n(j) Next j sum1 = 0 For j = i To 4sum1 = sum1 + a(i, j) * n(j) Next j n(i) = n(i) + (z(i) - sum1 - Sum) / a(i, i)Next inum = Abs(l(1) - n(1)For i = 2 To 4If Abs(l(i) - n(i) num Thennum = Abs(l(i) - n(i)End IfNext iNext kIf num num Thennum
13、 = Abs(l(i) - w(i)End IfNext iNext kIf num num Thennum = Abs(l(i) - h(i)End IfNext iNext kIf num num Thennum = Abs(l(i) - h(i)End IfNext iNext kIf num num Thennum = Abs(l(i) - h(i)End IfNext iNext kIf num 10 (-5) Then Exit SubText20.Text = H & =( & Format(h(1), 0.00000) & + & Format(h(2), 0.00000) &
14、 )*Q & +( & Format(h(3), 0.00000) & )*(Q2) & +( & Format(h(4), 0.00000) & )*(Q3)End If2.4画图g = 40s = Text6.TextDodd = gg = g - (h(1) + h(2) * g + (h(3) - s) * g 2 + h(4) * g 3) / (h(2) + 2 * (h(3) - s) * g + 3 * h(4) * g 2)Loop Until Abs(dd - g) u / 4 Then Picture1.PSet (g, gl), vbGreenxiaolv = w(1)
15、 + w(2) * g + w(3) * g 2 + w(4) * g 3If hh w(1) Then Picture1.PSet (g, xiaolv), vbBlackNext g附录资料:不需要的可以自行删除VB HOOK(钩子)超级无敌详细用法(介绍)hook是WINDOWS提供的一种消息处理机制,它使得程序员可以使用子过程来监视系统消息,并在消息到达目标过程前得到处理。 下面将介绍WINNDOWS HOOKS并且说明如何在WINDOWS 程序中使用它。关于HOOKS 使用HOOK 将会降低系统效率,因为它增加了系统处量消息的工作量。建议在必要时才使用HOOK,并在消息处理完成后立即
16、移去该HOOK。HOOK链 WINDOWS提供了几种不同类型的HOOKS;不同的HOOK可以处理不同的消息。例如,WH_MOUSE HOOK用来监视鼠标消息。 WINDOWS为这几种HOOKS维护着各自的HOOK链。HOOK链是一个由应用程序定义的回调函数队列,当某种类型的消息发生时,WINDOWS向此种类型的HOOK链的第一个函数发送该消息,在第一函数处理完该消息后由该函数向链表中的下一个函数传递消息,依次向下。如果链中某个函数没有向下传送该消息,那么链表中后面的函数将得不到此消息。(对于某些类型的HOOK,不管HOOK链中的函数是否向下传递消息,与此类型HOOK联系的所有HOOK函数都会收
17、到系统发送的消息)HOOK过程 为了拦截特定的消息,你可以使用SetWindowsHookEx函数在该类型的HOOK链中安装你自己的HOOK函数。该函数语法如下: public function MyHook(nCode,wParam,iParam) as long 加入代码 end function 其中MyHook可以随便命名,其它不能变。该函数必须放在模块段。nCode指定HOOK类型。wParam,iParam的取值随nCode不同而不同,它代表了某种类型的HOOK的某个特定的动作。 SetWindowsHookEx总是将你的HOOK函数放置在HOOK链的顶端。你可以使用CallNex
18、tHookEx函数将系统消息传递给HOOK链中的下一个函数。 注释对于某些类型的HOOK,系统将向该类的所有HOOK函数发送消息,这时,HOOK函数中的CallNextHookEx语句将被忽略。 全局HOOK函数可以拦截系统中所有线程的某个特定的消息(此时该HOOK函数必须放置在DLL中),局部HOOK函数可以拦截指定线程的某特定消息(此时该HOOK函数可以放置在DLL中,也可以放置在应用程序的模块段)。 注释 建议只在调试时使用全局HOOK函数。全局HOOK函数将降低系统效率,并且会同其它使用该类HOOK的应用程序产生冲突。HOOK类型 WH_CALLWNDPROC 和 WH_CALLWND
19、PROCRET HOOK WH_C ALLWNDPROC 和WH_CALLWNDPROCRET HOOK可以监视SendMessage发送的消息。系统在向窗体过程发送消息前,将调用WH_CALLWNDPROC;在窗体过程处理完该消息后系统将调用WH_CALLWNDPROCRET。 WH_CALLWNDPROCRET HOOK会向HOOK过程传送一个CWPRETSTRUCT结构的地址。该结构包含了窗体过程处理系统消息后的一些信息。 WH_CBT Hook 系统在激活,创建,消毁,最小化,最大化,移动,改变窗体前;在完成一条系统命令前;在从系统消息队列中移去鼠标或键盘事件前;在设置输入焦点前,或同
20、步系统消息队列前,将调用WH_CBT HOOK。你可以在你的HOOK 过程拦截该类HOOK,并返回一个值,告诉系统,是否继续执行上面的操作。 WH_DEBUG HOOK 系统在调用与某种HOOK类型联系的HOOK过程前,将调用WH_DEBUG ,应用程序可以使用该HOOK决定是否让系统执行某种类型的HOOK。 WH_FOREGROUNDIDLE Hook 系统在空闲时调用该HOOK,在后台执行优先权较低的应用程序。 WH_GETMESSAGE Hook WH_GETMESSAGE Hook使应用程序可以拦截GetMessage 或 PeekMessage的消息。应用程序使用WH_GETMESS
21、AGE HOOK监视鼠标、键盘输入和发送到队列中的其它消息。 WH_JOURNALRECORD Hook WH_JOURNALRECORD Hook使应用程序可以监视输入事件。典型地,应用程序使用该HOOK记录鼠标、键盘输入事件以供以后回放。该HOOK是全局HOOK,并且不能在指定线程中使用。 WH_JOURNALPLAYBACK Hook WH_JOURNALPLAYBACK Hook使应用程序可以向系统消息队列中插入消息。该HOOK可以回放以前由WH_JOURNALRECORD HOOK录制的鼠标、键盘输入事件。在WH_JOURNALPLAYBACK Hook安装到系统时,鼠标、键盘输入事
22、件将被屏蔽。该HOOK同样是一个全局HOOK,不能在指定线程中使用。 WH_JOURNALPLAYBACK Hook返回一个时间暂停值,它告诉系统,在处理当前回放的消息时,系统等待百分之几秒。这使得此HOOK可以控制在回放时的时间事件。 WH_KEYBOARD Hook WH_KEYBOARD Hook使应用程序可以监视由GetMessage和PeekMessage返回的WM_KEYDOWN 及WM_KEYUP消息。应用程序使用该HOOK监视发送到消息队列中的键盘输入。 WH_MOUSE Hook WH_MOUSE Hook 使应用程序可以监视由GetMessage和PeekMessage返回
23、的消息。应用程序使用该HOOK监视发送到消息队列中的鼠标输入。 WH_MSGFILTER and WH_SYSMSGFILTER Hooks WH_MSGFILTER 和WH_SYSMSGFILTER Hooks使应用程序可以监视菜单、滚动条、消息框、对话框,当用户使用ALT+TAB或ALT+ESC来切换窗体时,该HOOK也可以拦截到消息。WH_MSGFILTER仅在应用程序内部监视菜单、滚动条、消息框、对话框,而WH_SYSMSGFILTER则可以在系统内监视所有应用程序的这些事件。 WH_SHELL Hook 一个SHELL程序可以使用WH_SHELL Hook来接收重要的信息。当一个SH
24、ELL程序被激活前或当前窗体被创建、消毁时,系统会调用WH_SHELL Hook过程。 使用HOOK 安装、销毁HOOK过程 监视系统事件安装、销毁HOOK过程 使用SetWindowsHookEx函数,指定一个HOOK类型,自己的HOOK过程是全局还是局部HOOK,同时给出HOOK过程的进入点,就可以轻松的安装你自己的HOOK过程。Declare Function SetWindowsHookEx Lib user32 Alias SetWindowsHookExA _ (ByVal idHook As Long, _ ByVal lpfn As Long, _ ByVal hmod As
25、Long, _ ByVal dwThreadId As Long) As LongidHook代表是何种Hook,有以下几种 Public Const WH_CALLWNDPROC = 4 Public Const WH_CALLWNDPROCRET = 12 Public Const WH_CBT = 5 Public Const WH_DEBUG = 9 Public Const WH_FOREGROUNDIDLE = 11 Public Const WH_GETMESSAGE = 3 Public Const WH_HARDWARE = 8 Public Const WH_JOURNAL
26、PLAYBACK = 1 Public Const WH_JOURNALRECORD = 0 Public Const WH_KEYBOARD = 2 Public Const WH_MOUSE = 7 Public Const WH_MSGFILTER = (-1) Public Const WH_SHELL = 10 Public Const WH_SYSMSGFILTER = 6lpfn代表Hook Function所在的Address,这是一个CallBack Fucnction,当挂上某个Hook时,我们便得定义一个Function来当作某个讯息产生时,来处理它的Function,这
27、个Hook Function有一定的叁数格式 Private Function HookFunc(ByVal nCode As Long, _ ByVal wParam As Long, _ ByVal lParam As Long ) As Long nCode 代表是什麽请况之下所产生的Hook,随Hook的不同而有不同组的可能值。 wParam lParam 传回值则随Hook的种类和nCode的值之不同而不同。 因这个叁数是一个 Function的Address所以我们固定将Hook Function放在.Bas中,并以AddressOf HookFunc传入。至於Hook Funct
28、ion的名称我们可以任意给定,不一定叫 HookFunchmod 代表.DLL的hInstance,如果是Local Hook,该值可以是Null(VB中可传0进去),而如果是Remote Hook,则可以使用GetModuleHandle(.dll名称)来传入。dwThreadId 代表执行这个Hook的ThreadId,如果不设定是那个Thread来做,则传0(所以一般来说,Remote Hook传0进去),而VB的Local Hook一般可传App.ThreadId进去。值回值 如果SetWindowsHookEx()成功,它会传回一个值,代表目前的Hook的Handle,这个值要记录下
29、来。因为A程式可以有一个System Hook(Remote Hook),如KeyBoard Hook,而B程式也来设一个Remote的KeyBoard Hook,那麽到底KeyBoard的讯息谁所拦截?答案是,最後的那一个所拦截,也就是说A先做keyboard Hook,而後B才做,那讯息被B拦截,那A呢?就看B的Hook Function如何做。如果B想让A的Hook Function也得这个讯息,那B就得呼叫CallNextHookEx()将这讯息Pass给A,於是产生Hook的一个连线。如果B中不想Pass这讯息给A,那就不要呼叫CallNextHookEx()。Declare Fun
30、ction CallNextHookEx Lib user32 Alias CallNextHookEx _ (ByVal hHook As Long, _ ByVal ncode As Long, _ ByVal wParam As Long, _ lParam As Any) As LonghHook值是SetWindowsHookEx()的传回值,nCode, wParam, lParam则是Hook Procedure中的三个叁数。最後是将这Hook去除掉,请呼叫UnHookWindowHookEx()Declare Function UnhookWindowsHookEx Lib u
31、ser32 Alias UnhookWindowsHookEx _ (ByVal hHook As Long) As LonghHook便是SetWindowsHookEx()的传回值。此时,以上例来说,B程式结束Hook,则换A可以直接拦截讯息。KeyBoard Hook的范例Hook Function的三个叁数nCode wParam lParam 传回值HC_ACTION表按键Virtual Key与WM_KEYDOWN同若讯息要被处理传0或 反之传1HC_NOREMOVEPublic hHook as LongPublic Sub UnHookKBD ()If hnexthookpro
32、c 0 Then UnhookWindowsHookEx hHook hHook = 0End IfEnd SubPublic Function EnableKBDHook()If hHook 0 Then Exit FunctionEnd Ifhhook = SetWindowsHookEx(WH_KEYBOARD, AddressOf _ MyKBHFunc, App.hInstance, App.ThreadId)End FunctionPublic Function MyKBHFunc(ByVal iCode As Long, _ ByVal wParam As Long, ByVal
33、 lParam As Long) As Long MyKBHfunc = 0 表示要处理这个讯息 If wParam = vbKeySnapshot Then 侦测 有没有按到PrintScreen键 MyKBHFunc = 1 在这个Hook便吃掉这个讯息 End If Call CallNextHookEx(hHook, iCode, wParam, lParam) 传给下一个HookEnd Function鼠标钩子的示例列下。(1)模块中输入:Public Const WM_MOUSEMOVE = &H200Public Const WM_LBUTTONDOWN = &H201Publi
34、c Const WM_LBUTTONUP = &H202Public Const WM_LBUTTONDBLCLK = &H203Public Const WM_RBUTTONDOWN = &H204Public Const WM_RBUTTONUP = &H205Public Const WM_RBUTTONDBLCLK = &H206Public Const WM_MBUTTONDOWN = &H207Public Const WM_MBUTTONUP = &H208Public Const WM_MBUTTONDBLCLK = &H209Public Const WM_MOUSEACTI
35、VATE = &H21Public Const WM_MOUSEFIRST = &H200Public Const WM_MOUSELAST = &H209Public Const WM_MOUSEWHEEL = &H20A 以上是鼠标的各个值Private Declare Function CallNextHookEx Lib user32 (ByVal hHook As Long, ByVal nCode As Long, ByVal wParam As Long, lparam As Any) As LongPublic Function HookProc(ByVal nCode As
36、Long, ByVal wParam As Long, ByVal lparam As Long) As Long If nCode 0 Then HookProc = CallNextHookEx(hHook, nCode, wParam, lparam) Exit Function End If If wParam = WM_RBUTTONDOWN Then MsgBox aa End IfEnd Function(2)窗体中输入:Private Declare Function SetWindowsHookEx Lib user32 Alias SetWindowsHookExA (By
37、Val idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As LongPrivate Declare Function UnhookWindowsHookEx Lib user32 (ByVal hHook As Long) As LongPrivate Const WH_MOUSE_LL As Long = 14Private Sub Form_Load() hHook = SetWindowsHookEx(WH_MOUSE_LL, AddressOf HookProc, Ap
38、p.hInstance, 0)End SubPrivate Sub Form_Unload(Cancel As Integer)Call UnhookWindowsHookEx(hHook)End Sub=保存图片:创建一个picturebox,其 autosize设为true 创建一个按钮 运行以下代码 Option Explicit Private Sub Command1_Click() Picture1.Picture = Clipboard.GetData SavePicture Picture1.Picture, d:1.jpg 保存路径和文件名自己定 End Sub =将一个或多个按键(注意可以是多个)消息发送到活动窗口,就如同在键盘上进行输入一样。 语法 SendKeys string, wait SendKeys 语句的语法具有以下几个命名参数: 部分 描述 string 必需的。字符串表达式,指定要发送的按键消息。 Wait 可选的。指定等待方式的 BooleandefBooleanDataTypeveendf98.chm 值。如果为 False(缺省值),则控件在按键发送出去之后立刻返回到过程。如果为 True,则按键消息必须在控件返回到过程之前加以处理。 说明 每个按键由一个或
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024届内蒙古自治区锡林郭勒盟高三上学期期末考试历史试题(解析版)
- 2024-2025学年浙江省杭州地区(含周边)重点中学高二上学期期中考试历史试题(解析版)
- 广东省广州市天河区2025届高三上学期综合测试(一)英语试卷含答案
- 《美术基本种类》课件
- 单位管理制度集合大合集【人员管理】十篇
- 单位管理制度汇编大合集【人力资源管理篇】十篇
- 单位管理制度合并汇编人员管理
- 单位管理制度分享汇编【职员管理】十篇
- 高中语文一些重要的文化常识
- 单位管理制度范例选集【职工管理篇】
- 中华传统文化之文学瑰宝学习通超星期末考试答案章节答案2024年
- 一年级数学个位数加减法口算练习题大全(连加法-连减法-连加减法直接打印版)
- 《数字电子技术》课程说课课件
- 银行资产保全业务管理办法
- 汽车吊篮使用专项施工方案
- 2024-2025学年四年级科学上册第三单元《运动和力》测试卷(教科版)
- 教育用地划拨流程
- 制造业智能制造工厂布局方案
- 10《吃饭有讲究》教学设计-2024-2025学年道德与法治一年级上册统编版
- 2024年中考数学二轮复习二次函数综合(含答案)
- 拆除铝合金门窗及附窗安全协议书
评论
0/150
提交评论