您好,欢迎访问三七文档
目录一、设计任务书………………………………………………………..11、平面连杆机构……………………………………………………1二、铰链四杆机构…………………………………………………...…21.数学模型的建立……………………………………………………22.控件名称……………………………………………………………63.主要变量说明………………………………………………………84.程序源代码及运行结果……………………………………………10三、小结…………………………………………………………………..27四、主要参考资料………………………………………….……………282.主要控件名称及相关说明控件名称类型变量名含义、功能单位txtLength(0)TextBox控件数组dblL_AB主动连架杆AB长度mmtxtLength(1)dblL_BC连杆BC长度mmtxtLength(2)dblL_CD从动连架杆CD长度mmtxtLength(3)dblL_AD机架AD长度mmtxtLength(4)dblN主动连架杆AB的转速nr/mintxtLength(5)dblL_BEBE的长度mmtxtLength(6)dblF_BE杆BE与杆AB的夹角δmmtxtAngleTextBox-主动连架杆AB的任意角位移°textScaleTextBoxdblSxy运动仿真的显示比例-optClockWiseOptionButtonintCW杆AB顺时针转,intCW=-1-optNCW杆AB逆时针转,intCW=1optPositionOptionButtonintMB、C、D顺时针排列,intM=-1-optNPositionB、C、D逆时针排列,intM=1lblCurrent(0)Lable控件数组-显示指定时刻杆CD的角位移°lblCurrent(1)显示指定时刻杆CD的角速度rad/slblCurrent(2)显示指定时刻杆CD的角加速度rad/s2lblCurrent(3)显示指定时刻点E对x轴角位移°lblCurrent(4)显示指定时刻点E对x轴角速度rad/slblCurrent(5)显示指定时刻点E对x轴角加速度rad/s2lblCurrent(6)显示指定时刻点E对y轴角位移°lblCurrent(7)显示指定时刻点E对y轴角速度rad/slblCurrent(8)显示指定时刻点E对y轴角加速度rad/s2lblRealtimeABLable-实时显示杆AB的角位移°lblRealtime(0)Lable控件数组-实时显示杆CD的角位移°lblRealtime(1)实时显示杆CD的角速度rad/slblRealtime(2)实时显示杆CD的角加速度rad/s2lblRealtime(3)实时显示点E对x轴角位移°lblRealtime(4)实时显示点E对x轴角速度rad/slblRealtime(5)实时显示点E对x轴角加速度rad/s2lblRealtime(6)Lable控件数组实时显示点E对y轴角位移°lblRealtime(7)实时显示点E对y轴角速度rad/slblRealtime(8)实时显示点E对y轴角加速度rad/s2cmdRunCommandButton-运行程序-cmdListCommandButton-显示计算结果-cmdDrawCommandButton-绘制运动曲线-cmdPlayCommandButton-进行运动仿真-Command1CommandButton-暂停运动仿真-cmdExitCommandButton-退出程序-tmrDrawTimer-控制运动曲线的绘制速度-tmrPlayTimer-控制运动仿真的速度-sstResultSStab-提供一组选项卡显示程序运行结果-grdDataListMSFlexGrid-显示分析结果-picFigurePictureBox-显示机构示意图-picDraw(0)PictureBox控件数组-显示杆CD的角位移曲线-picDraw(1)-显示杆CD的角速度曲线-picDraw(2)-显示杆CD的角加速度曲线-picDraw(3)-显示点E对x轴角位移曲线-picDraw(4)-显示点E对x轴角速度曲线-picDraw(5)-显示点E对x轴角加速度曲线-picDraw(6)-显示点E对y轴角位移曲线-picDraw(7)-显示点E对y轴角速度曲线-picDraw(8)-显示点E对y轴角加速度曲线-picPlayPictureBox-显示运动仿真-hsbSpeedHscrollBar-调节运动仿真速度-3.主要变量说明变量名含义单位程序中数学模型中dblL_ABL1主动连架杆AB长度mmdblL_BCL2连杆BC长度mmdblL_CDL3从动连架杆CD长度mmdblL_ADL4机架AD长度mmdblN主动连架杆AB的转速r/mindblL_BEaBE的长度mmdblF_BEδ杆BE与杆AB的夹角mmtxtAngle-主动连架杆AB的任意角位移°dblSxy-运动仿真的显示比例-intCW-杆AB顺时针转,intCW=-1,反之intC=1-intM-B、C、D顺时针排列intM=-1,反之intM=1-dblF_AB1AB杆的角位移°dblF_BC2BC杆的角位移°dblF_CDφ3CD杆的角位移°dblW_BC2BC杆的角速度rad/sdblW_CD3CD杆的角速度rad/sdblE_BC2BC杆的角加速度rad/s2dblE_CD3CD杆的角加速度rad/s2X_EEx点E对x轴位移mmX1_EEx点E对x轴速度mm/sX2_EEx点E对x轴加速度mm/s2Y_EEy点E对y轴位移mmY1_EEy点E对y轴速度mm/sY2_EEy点E对y轴加速度mm/s2(dblAx,dblAy)-铰链A的坐标mm(dblBx,dblBy)-铰链B的坐标mm(dblCx,dblCy)-铰链C的坐标mm(dblDx,dblDy)-铰链D的坐标mm(dblEx,dblEy)-铰链E的坐标mmdblSx,dblSy-运动曲线的横向、纵向作图比例-dblWP、dblHP-PictureBox控件的宽度值、高度值TwipdblAngle_L-杆AB负角位移的最大绝对值°dblMax_f_CD-CD杆的最大角位移°dblMax_w_CD-CD杆的最大角速度rad/sdblMax_e_CD-CD杆的最大角加速度rad/s2dblMax_X_E-点E对x轴最大位移mmdblMax_X1_E-点E对x轴最大速度mm/sdblMax_X2_E-点E对x轴最大加速度mm/s2dblMax_Y_E-点E对y轴最大位移mmdblMax_Y1_E-点E对y轴最大速度mm/sdblMax_Y2_E-点E对y轴最大加速度mm/s2dblL_max-最长杆杆长mmdblL_min-最短杆杆长mmdblL_sum-各杆杆长之和mmintAngle_max-杆AB角位移的最大值mmintAngle_min-杆AB角位移的最小值mmintMarkBar-为0表示杆AB由intStartAngle位置转到intEndAngle为-1表示杆AB是摇杆,由intEndAngle位置返回intStartAngle-intMarkAngle-为1表示杆AB转过0度位置-为-1表示杆AB不转过0度位置dblE21dblE22dblE23-中间变量-dblE31dblE32dblE33--dblAdblBdblCdblD--strStr1strStr2strStr3--4.程序源代码及运行结果1.机构简图程序代码:PrivateSubcmdRun_Click()DimiAsInteger'textbox控件中的0/1/2/3/4/5/6DimdblL_maxAsDouble,dblL_minAsDouble,dblL_sumAsDouble'定义杆的属性'判断各数据的合法性'条件1:各参数大于0且角度小于360Fori=0To5IfVal(txtLength(i).Text)=0ThenMsgBox请输入正确值,vbInformation+vbOKOnly,消息框'输入值vbInformation(符号)+vbOKOnly(指对话框的确定键)txtLength(i).Text=ExitSubEndIfIfVal(txtLength(6).Text)360ThenMsgBox请正确输入,vbInformation+vbOKOnly,消息框'输入值vbInformation(符号)+vbOKOnly(指对话框的确定键)txtLength(6).Text=ExitSubEndIfNextdblL_min=Val(txtLength(0).Text)'把AB杆长赋值给minFori=0To3IfVal(txtLength(i).Text)dblL_minThendblL_min=Val(txtLength(i).Text)IfVal(txtLength(i).Text)dblL_maxThendblL_max=Val(txtLength(i).Text)'判断出最大值dblL_sum=dblL_sum+Val(txtLength(i).Text)'把所有值累加上去NextIfdblL_maxdblL_sum-dblL_maxThen'最大值所有之和-最大值MsgBox无法装配!最长杆杆长应小于其余三杆杆长之和!,vbInformation+vbOKOnly,消息框'判断是否可以成为机构txtLength(0).Text=txtLength(1).Text=txtLength(2).Text=txtLength(3).Text='清零ExitSubEndIfConstPI=3.14159265'进行赋值dblL_AB=Val(txtLength(0).Text)'定义ABdblL_BC=Val(txtLength(1).Text)'定义BCdblL_CD=Val(txtLength(2).Text)'定义CDdblL_AD=Val(txtLength(3).Text)'定义ADdblN=Val(txtLength(4).Text)'定义NdblL_BE=Val(txtLength(5).Text)'定义BEdblF_BE=Val(txtLength(6).Text)'定义BE角度角度值dblW_AB=2*PI*dblN/60'定义AB角速度化为rad/sdblE_AB=0'定义AB的角加速度为0IfOptClockWise.Value=TrueThen'杆AB转动方向为顺时针intCW=-1ElseintCW=1EndIfIfoptPosition.Value=TrueThen'铰链B、C、D的相对位置为顺时针intM=1ElseintM=-1EndIf'1和-1用于之后CallAngle_AB(intStartAngle,intEndAngle)'计算AB杆的转动范围cmdRun.Enabled=FalsefraParameter.Enabled=False'参数frafraRealtime.Enabled=True'实时fracmdList.Enabled=TruecmdDraw.Enabled=TruecmdPlay.Enabled=TrueEndSubPrivateSubcmdExit_Click()UnloadMeEndSub2.运行分析结果程序代码:'窗体事件PrivateSubForm_Load()cmdList.Enabled=FalsecmdDraw.Enabled=FalsecmdPlay.Enabled=False'设置名称列表作画演示为关闭状态fraParameter.Enabled=True'参数frafraRealtime.Enabled=False'实时fraDimiAsIntegerDimstrStr1AsString,strStr2AsS
本文标题:铰链四杆VB
链接地址:https://www.777doc.com/doc-4661864 .html