座椅测试RS232数据库VB界面源码.docx
- 文档编号:11334718
- 上传时间:2023-02-27
- 格式:DOCX
- 页数:92
- 大小:166.85KB
座椅测试RS232数据库VB界面源码.docx
《座椅测试RS232数据库VB界面源码.docx》由会员分享,可在线阅读,更多相关《座椅测试RS232数据库VB界面源码.docx(92页珍藏版)》请在冰豆网上搜索。
座椅测试RS232数据库VB界面源码
座椅测试软件:
RS232通讯,读写数据库,读写TXT文件,调用第三方控件
1软件主界面
软件引用
添加的部件:
添加NI公司部件库
主界面代码如下:
PrivateSubForm_Load()
DimsCmdAsString
DimjAsInteger
Setcndata=NewConnection
cndata.Open"Provider=microsoft.ace.oledb.12.0;DataSource="&CurDir&"\data.accdb;persistSecurityInfo=false;JetOLEDB:
databasePassword=kkqq"
DimrslingjianAsRecordset
Setrslingjian=NewRecordset
rslingjian.CursorLocation=adOpenStatic
sCmd="select*from[次数表]where标志like'"&1&"'"
rslingjian.OpensCmd,cndata,adOpenForwardOnly,adLockReadOnly,adCmdText
Module1.ceshicishu(0)=rslingjian!
[缸1测试次数]
Module1.ceshicishu
(1)=rslingjian!
[缸2测试次数]
Module1.ceshicishu
(2)=rslingjian!
[缸3测试次数]
Module1.ceshicishu(3)=rslingjian!
[缸4测试次数]
Module1.ceshicishu(4)=rslingjian!
[缸5测试次数]
Module1.ceshicishu(5)=rslingjian!
[缸6测试次数]
Module1.ceshicishu(6)=rslingjian!
[缸7测试次数]
Module1.ceshicishu(7)=rslingjian!
[缸8测试次数]
Module1.chongjisjcs=rslingjian!
[冲击实际次数]
rslingjian.Close
'Setrslingjian=NewRecordset
'rslingjian.CursorLocation=adOpenStatic
'sCmd="select*from[系数表]"
'rslingjian.OpensCmd,cndata,adOpenForwardOnly,adLockReadOnly,adCmdText
'IfNotrslingjian.BOFAndNotrslingjian.EOFThen
'rslingjian.MoveFirst
'EndIf
'Module1.lizhix(0)=rslingjian!
[力值1]'100kg1
'Module1.lizhix
(1)=rslingjian!
[力值2]'100kg2
'Module1.lizhix
(2)=rslingjian!
[力值3]'
'Module1.lizhix(3)=rslingjian!
[力值4]'
'Module1.lizhix(4)=rslingjian!
[力值5]'200kg1
'Module1.lizhix(5)=rslingjian!
[力值6]'200kg2
'Module1.lizhix(6)=rslingjian!
[力值7]'200kg3
'Module1.lizhix(7)=rslingjian!
[力值8]'200kg4
'Module1.lizhix(8)=rslingjian!
[力值9]'位移
'rslingjian.Close
Forj=0To4
Setrslingjian=NewRecordset
rslingjian.CursorLocation=adOpenStatic
'sCmd="select*from[系数表]"
sCmd="select*from[系数表1]where标志like'"&j+1&"'"
rslingjian.OpensCmd,cndata,adOpenForwardOnly,adLockReadOnly,adCmdText
'IfNotrslingjian.BOFAndNotrslingjian.EOFThen
'rslingjian.MoveFirst
'EndIf
Module1.lizhi1k(j)=rslingjian!
[力1k]'
Module1.lizhi2k(j)=rslingjian!
[力2k]'
Module1.lizhi3k(j)=rslingjian!
[力3k]'
Module1.lizhi4k(j)=rslingjian!
[力4k]'
Module1.lizhi5k(j)=rslingjian!
[力5k]'
Module1.lizhi6k(j)=rslingjian!
[力6k]'
Module1.lizhi7k(j)=rslingjian!
[力7k]'
Module1.lizhi8k(j)=rslingjian!
[力8k]'
Module1.lizhi1b(j)=rslingjian!
[力1b]'
Module1.lizhi2b(j)=rslingjian!
[力2b]'
Module1.lizhi3b(j)=rslingjian!
[力3b]'
Module1.lizhi4b(j)=rslingjian!
[力4b]'
Module1.lizhi5b(j)=rslingjian!
[力5b]'
Module1.lizhi6b(j)=rslingjian!
[力6b]'
Module1.lizhi7b(j)=rslingjian!
[力7b]'
Module1.lizhi8b(j)=rslingjian!
[力8b]'
Module1.lizhi1c(j)=rslingjian!
[力1c]'
Module1.lizhi2c(j)=rslingjian!
[力2c]'
Module1.lizhi3c(j)=rslingjian!
[力3c]'
Module1.lizhi4c(j)=rslingjian!
[力4c]'
Module1.lizhi5c(j)=rslingjian!
[力5c]'
Module1.lizhi6c(j)=rslingjian!
[力6c]'
Module1.lizhi7c(j)=rslingjian!
[力7c]'
Module1.lizhi8c(j)=rslingjian!
[力8c]'
rslingjian.Close
Nextj
''初始化力值系数
'frm.OPCItemValueToWrite(114).Text=Module1.lizhix(0)'DT100100kg1
'Callfrm.OPCItemWriteButton_Click(114)
'frm.OPCItemValueToWrite(115).Text=Module1.lizhix
(1)'DT102100kg2
'Callfrm.OPCItemWriteButton_Click(115)
'frm.OPCItemValueToWrite(116).Text=Module1.lizhix
(2)'DT104100kg3
'Callfrm.OPCItemWriteButton_Click(116)
'frm.OPCItemValueToWrite(117).Text=Module1.lizhix(3)'DT106100kg4
'Callfrm.OPCItemWriteButton_Click(117)
'frm.OPCItemValueToWrite(118).Text=Module1.lizhix(4)'DT108200kg1
'Callfrm.OPCItemWriteButton_Click(118)
'frm.OPCItemValueToWrite(119).Text=Module1.lizhix(5)'DT110200kg2
'Callfrm.OPCItemWriteButton_Click(119)
'frm.OPCItemValueToWrite(120).Text=Module1.lizhix(6)'DT112200kg3
'Callfrm.OPCItemWriteButton_Click(120)
'frm.OPCItemValueToWrite(121).Text=Module1.lizhix(7)'DT114200kg4
'Callfrm.OPCItemWriteButton_Click(121)
'frm.OPCItemValueToWrite(122).Text=Module1.lizhix(8)'DT116位移
'Callfrm.OPCItemWriteButton_Click(122)
Me.MSComm1.PortOpen=True
frm.OPCItemValueToWrite(31).Text=1'R1F通讯开始标志
Callfrm.OPCItemWriteButton_Click(31)
EndSub
PrivateSubMSComm1_OnComm()
'OnErrorResumeNext
DimiAsInteger
DimsCmdAsString
DimLengthAsInteger
DimArray1()AsByte
DimfuhaoAsSingle
DimzhAsInteger
Dimzh1AsInteger
Dimzh2AsInteger
Array1=Me.MSComm1.Input
Length=UBound(Array1)-LBound(Array1)+1
Fori=1ToLength-100
IfArray1(i)=255AndArray1(i+1)=255AndArray1(i+2)=255AndArray1(i+3)=170Then
CopyMemoryModule1.lizhiy(0),ByValVarPtr(Array1(i+4)),4
CopyMemoryModule1.lizhiy
(1),ByValVarPtr(Array1(i+8)),4
CopyMemoryModule1.lizhiy
(2),ByValVarPtr(Array1(i+12)),4
CopyMemoryModule1.lizhiy(3),ByValVarPtr(Array1(i+16)),4
CopyMemoryModule1.lizhiy(4),ByValVarPtr(Array1(i+20)),4
CopyMemoryModule1.lizhiy(5),ByValVarPtr(Array1(i+24)),4
CopyMemoryModule1.lizhiy(6),ByValVarPtr(Array1(i+28)),4
CopyMemoryModule1.lizhiy(7),ByValVarPtr(Array1(i+32)),4
CopyMemoryModule1.lizhiy(8),ByValVarPtr(Array1(i+36)),4
'CopyMemoryModule1.lizhi(0),ByValVarPtr(Array1(i+40)),4'100kg1
'CopyMemoryModule1.lizhi
(1),ByValVarPtr(Array1(i+44)),4'100kg2
'CopyMemoryModule1.lizhi
(2),ByValVarPtr(Array1(i+48)),4'100kg3
'CopyMemoryModule1.lizhi(3),ByValVarPtr(Array1(i+52)),4'100kg4
'CopyMemoryModule1.lizhi(4),ByValVarPtr(Array1(i+56)),4'200kg1
'CopyMemoryModule1.lizhi(5),ByValVarPtr(Array1(i+60)),4'200kg2
'CopyMemoryModule1.lizhi(6),ByValVarPtr(Array1(i+64)),4'
'CopyMemoryModule1.lizhi(7),ByValVarPtr(Array1(i+68)),4'
'CopyMemoryModule1.lizhi(8),ByValVarPtr(Array1(i+72)),4'
'CopyMemoryModule1.chongjisuohuidaoweixh,ByValVarPtr(Array1(i+76)),4'冲击缩回到位
'CopyMemoryModule1.chongjishenchudaoweixh,ByValVarPtr(Array1(i+80)),4'冲击伸出到位
'CopyMemoryModule1.jiting,ByValVarPtr(Array1(i+84)),4'急停信号
IfAbs(Module1.lizhiy(0))<=Abs(Module1.lizhi1c(0))Then
Module1.lizhi1(0)=(Module1.lizhiy(0))*Module1.lizhi1k(0)+Module1.lizhi1b(0)
ElseIfAbs(Module1.lizhi1c(0)) (1))Then Module1.lizhi1(0)=(Module1.lizhiy(0))*Module1.lizhi1k (1)+Module1.lizhi1b (1) ElseIfAbs(Module1.lizhi1c (1)) (2))Then Module1.lizhi1(0)=(Module1.lizhiy(0))*Module1.lizhi1k (2)+Module1.lizhi1b (2) ElseIfAbs(Module1.lizhi1c (2)) Module1.lizhi1(0)=(Module1.lizhiy(0))*Module1.lizhi1k(3)+Module1.lizhi1b(3) ElseIfAbs(Module1.lizhiy(0))>Abs(Module1.lizhi1c(3))Then Module1.lizhi1(0)=(Module1.lizhiy(0))*Module1.lizhi1k(4)+Module1.lizhi1b(4) EndIf Module1.lizhi(0)=Module1.lizhi1(0)-Module1.lizhi1z(0) IfAbs(Module1.lizhiy (1))<=Abs(Module1.lizhi2c(0))Then Module1.lizhi1 (1)=(Module1.lizhiy (1))*Module1.lizhi2k(0)+Module1.lizhi2b(0) ElseIfAbs(Module1.lizhi2c(0)) (1))AndAbs(Module1.lizhiy (1))<=Abs(Module1.lizhi2c (1))Then Module1.lizhi1 (1)=(Module1.lizhiy (1))*Module1.lizhi2k (1)+Module1.lizhi2b (1) ElseIfAbs(Module1.lizhi2c (1)) (1))AndAbs(Module1.lizhiy (1))<=Abs(Module1.lizhi2c (2))Then Module1.lizhi1 (1)=(Module1.lizhiy (1))*Module1.lizhi2k (2)+Module1.lizhi2b (2) ElseIfAbs(Module1.lizhi2c (2)) (1))AndAbs(Module1.lizhiy (1))<=Abs(Module1.lizhi2c(3))Then Module1.lizhi1 (1)=(Module1.lizhiy (1))*Module1.lizhi2k(3)+Module1.lizhi2b(3) ElseIfAbs(Module1.lizhiy (1))>Abs(Module1.lizhi2c(3))Then Module1.lizhi1 (1)=(Module1.lizhiy (1))*Module1.lizhi2k(4)+Module1.lizhi2b(4) EndIf Module1.lizhi (1)=Module1.lizhi1 (1)-Module1.lizhi2z(0) IfAbs(Module1.lizhiy (2))<=Abs(Module1.lizhi3c(0))Then Module1.lizhi1 (2)=(Module1.lizhiy (2))*Module1.lizhi3k(0)+Module1.lizhi3b(0) ElseIfAbs(Module1.lizhi3c(0)) (2))AndAbs(Module1.lizhiy (2))<=Abs(Module1.lizhi3c (1))Then Module1.lizhi1 (2)=(Module1.lizhiy (2))*Module1.lizhi3k (1)+Module1.lizhi3b (1) ElseIfAbs(Module1.lizhi3c (1)) (2))AndAbs(Module1.lizhiy (2))<=Abs(Module1.lizhi3c (2))Then Module1.lizhi1 (2)=(Module1.lizhiy (2))*Module1.lizhi3k (2)+Module1.lizhi3b (2) ElseIfAbs(Module1.lizhi3c (2)) (2))AndAbs(Module1.lizhiy (2))<=Abs(Module1.lizhi3c(3))Then Module1.lizhi1 (2)=(Module1.lizhiy (2))*Module1.lizhi3k(3)+Module1.lizhi3b(3) ElseIfAbs(Module1.lizhiy (2))>Abs(Module1.lizhi3c(3))Then Module1.lizhi1 (2)=(Module1.lizhiy (2))*Module1.lizhi3k(4)+Module1.lizhi3b(4) EndIf Module1.lizhi (2)=Module1.lizhi1 (2)-Module1.lizhi3z(0) IfAbs(Module1.lizhiy(3))<=Abs(Module1.lizhi4c(0))Then Module1.lizhi1(3)=(Module1.lizhiy(3))*Module1.lizhi4k(0)+Module1.lizhi4b(0) ElseIfAbs(Module1.lizhi4c(0)) (1))Then Module1.lizhi1(3)=(Module1.lizhiy(3))*Module1.lizhi4k (1)+Module1.lizhi4b (1) ElseIfAbs(Module1.lizhi4c (1)) (2))Then Module1.lizhi1(3)=(Module1.lizhiy(3))*Module1.lizhi4k (2)+Module1.lizhi4b (2) ElseIfAbs(Module1.lizhi4c (2)) Module1.lizhi1(3)=(Module1.lizhiy(3))*Module1.lizhi4k(3)+Module1.lizhi4b(3) ElseIfAbs(Module1.lizhiy(3))>Abs(Module1.lizhi4c(3))Then Module1.lizhi1(3)=(Module1.lizhiy(3))*Module1.lizhi4k(4)+Module1.lizhi4b(4) EndIf Module1.lizhi(3)=Module1.lizhi1(3)-Module1.lizhi4z(0) IfAbs(Module1.lizhiy(4))<=Abs(Mo
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 座椅 测试 RS232 数据库 VB 界面 源码