📄 modtestset.bas
字号:
Attribute VB_Name = "modTestSetModl"
Option Explicit
'****************************************
'* 丂丂巊梡僷儔儊乕僞堦棗
'****************************************
Public QS As Long '應掕屄悢
Public XQS As Long '壱摦屄悢
Public QEND As Long '嵟廔庢崬屄悢
Public Serial(90000) As Long '僔儕傾儖斣崋
Public tDaTE(90000) As String '擔晅
Public tTImE(90000) As String '帪娫
Public TorQue1(90000) As Single '僩儖僋抣侾
Public TorQue2(90000) As Single '僩儖僋抣俀
Public ResisT(90000) As Single '掞峈抣
Public R_TorQue(90000) As Integer '
Public R_ResisT(90000) As Integer '
Public R_Decide(90000) As Integer '崌斲徻嵶(0:OK 1:trq1 2:trq2 4:Rsist 8:Total)
Public R_Pass As Integer '幪摦嶌(0:OK 1:幪)
Public R_Selct As Integer '幪摦嶌(0:僩儖僋 1:掞峈)
Public R_BOX As Integer '椙昳敔愗姺(0:Lf 1:Rt)
Public R_Conclusion As Integer '廔椆張棟(0:捠忢 1:廂懇)
'専嵏悢忋尷-----
Public Const N_Inspect As Long = 32000 '忋尷(32000偑愨懳尷奅)
Public Const N_Boxful As Long = 2000 '忋尷(1敔撪偺屄悢梕検)
'婯奿斖埻-----
Public Std_stdTorQue1 As Single '婎弨僩儖僋1
Public Std_widTorQue1 As Single '亇斖埻
Public Std_stdTorQue2 As Single '婎弨僩儖僋2
Public Std_widTorQue2 As Single '亇斖埻
Public Std_stdResisT As Single '婎弨掞峈
Public Std_widResisT As Single '亇斖埻
Public Para As SikenJoken '帋尡忦審
Public Plc As PlaceInfo '寘悢巜掕偵巊梡
Public Linguistic As Integer '尵岅愗姺偊(0:塸岅 1:擔杮岅)
'僆僼僙僢僩-----
Public Ost_TorQue1 As Single '僩儖僋侾偺僆僼僙僢僩
Public Ost_TorQue2 As Single '僩儖僋俀偺僆僼僙僢僩
Public Ost_ResisT As Single '掞峈偺僆僼僙僢僩
'帋尡忦審
Type SikenJoken
tDaTE As String '帋尡擔
tTImE As String '帋尡帪娫
tSample As String '帋椏柤
tLoT As String '儘僢僩
tSHiFT As String '僔僼僩
tAngle1 As Single '夞揮妏1
tAglSpd1 As Single '夞揮懍搙1
tAngle2 As Single '夞揮妏2
tAglSpd2 As Single '夞揮懍搙2
tStdTorQue1 As Single '婎弨僩儖僋1
tWidTorQue1 As Single '亇斖埻
tStdTorQue2 As Single '婎弨僩儖僋2
tWidTorQue2 As Single '亇斖埻
tStdResisT As Single '婎弨掞峈
tWidResisT As Single '亇斖埻
tStartSerial As Long '奐巒揰
End Type
'奺崁栚偺暥帤悢偲寘悢
Type PlaceInfo
pDaTE As String '帋尡擔
pTImE As String '帋尡帪娫
pSample As String '帋椏柤
pLoT As String '儘僢僩
pSHiFT As String '僔僼僩
pAngle As String '夞揮妏
mxAngle As Single ' 嵟戝抣
mnAngle As Single ' 嵟彫抣
pAglSpd As String '夞揮懍搙
mxAglSpd As Single ' 嵟戝抣
mnAglSpd As Single ' 嵟彫抣
pStdTorQue1 As String '婎弨僩儖僋1
mxStdTorQue1 As Single ' 嵟戝抣
mnStdTorQue1 As Single ' 嵟彫抣
pWidTorQue1 As String '亇斖埻
mxWidTorQue1 As Single ' 嵟戝抣
mnWidTorQue1 As Single ' 嵟彫抣
pStdTorQue2 As String '婎弨僩儖僋2
mxStdTorQue2 As Single ' 嵟戝抣
mnStdTorQue2 As Single ' 嵟彫抣
pWidTorQue2 As String '亇斖埻
mxWidTorQue2 As Single ' 嵟戝抣
mnWidTorQue2 As Single ' 嵟彫抣
pStdResisT As String '婎弨掞峈
mxStdResisT As Single ' 嵟戝抣
mnStdResisT As Single ' 嵟彫抣
pWidResisT As String '亇斖埻
mxWidResisT As Single ' 嵟戝抣
mnWidResisT As Single '亇斖埻
pStartSerial As String '奐巒揰
mxStartSerial As Single ' 嵟戝抣
mnStartSerial As Single ' 嵟彫抣
End Type
'****************************
'* 奺崁栚偺暥帤悢偲寘悢愝掕
'****************************
Public Sub Set_Places()
With Plc
.pSample = "20" '帋椏柤
.pLoT = "2" '儘僢僩
.pSHiFT = "2" '僔僼僩
.pAngle = "##0.0" '夞揮妏
.mxAngle = 360 ' 嵟戝抣
.mnAngle = 0 ' 嵟彫抣
.pAglSpd = "#00.0" '夞揮懍搙
.mxAglSpd = 750 ' 嵟戝抣
.mnAglSpd = 0 ' 嵟彫抣
.pStdTorQue1 = "#0.0000" '婎弨僩儖僋1
.mxStdTorQue1 = 1 ' 嵟戝抣
.mnStdTorQue1 = -1 ' 嵟彫抣
.pWidTorQue1 = "#0.0000" '亇斖埻
.mxWidTorQue1 = 1 ' 嵟戝抣
.mnWidTorQue1 = 0 ' 嵟彫抣
.pStdTorQue2 = "#0.0000" '婎弨僩儖僋2
.mxStdTorQue2 = 1 ' 嵟戝抣
.mnStdTorQue2 = -1 ' 嵟彫抣
.pWidTorQue2 = "#0.0000" '亇斖埻
.mxWidTorQue2 = 1 ' 嵟戝抣
.mnWidTorQue2 = 0 ' 嵟彫抣
.pStdResisT = "#0.0000" '婎弨掞峈
.mxStdResisT = 10 ' 嵟戝抣
.mnStdResisT = 0 ' 嵟彫抣
.pWidResisT = "#0.0000" '亇斖埻
.mxWidResisT = 10 ' 嵟戝抣
.mnWidResisT = 0 '亇斖埻
.pStartSerial = "#######0" '奐巒揰
.mxStartSerial = 500000 ' 嵟戝抣
.mnStartSerial = 0 ' 嵟彫抣
End With
End Sub
'************************************************************
'*丂 RsltDATA(庢傝崬傫偩僨乕僞傪奺屄偵怳傝暘偗傞)
'* mWork:壱摦屄悢 mQ:應掕屄悢 mDate:崱擔晅 mTime:崱帪娫
'* mSral:奐巒揰 mTrQ1:僩儖僋1 mTrQ2:僩儖僋2 mRsist:掞峈
'************************************************************
Public Sub DataRslt(mWork As Long, mQ As Long, mDate As String, mTime As String, _
mSral As Long, mTrQ1 As Single, mTrQ2 As Single, mRsist As Single)
Dim gWK As Long
'僩儖僋-----
gWK = mWork - 2
If gWK <= 0 Then
TorQue1(0) = 0: TorQue2(0) = 0
Else
TorQue1(gWK) = mTrQ1: TorQue2(gWK) = mTrQ2
End If
'掞峈-----
gWK = mWork - 3
If gWK <= 0 Then
ResisT(0) = 0
tDaTE(0) = mDate
tTImE(0) = mTime
mQ = 0
Else
ResisT(gWK) = mRsist
tDaTE(gWK) = mDate
tTImE(gWK) = mTime
mQ = gWK
Serial(gWK) = mQ + (mSral - 1)
End If
End Sub
'************************************************************
'*丂 RsltJudgE(庢傝崬傫偩僨乕僞慞偟埆偟傪敾抐偡傞)
'* 丂丂mQ:應掕屄悢 mDATA:僨乕僞 mMin:婯奿彫 mMin:婯奿戝
'* 丂丂丂丂丂丂mGood:椙悢 mBad:晄椙悢 mRate:椙昳棪
'*丂丂丂丂丂丂丂mMark:晄椙儅乕僋 mREC:晄椙寢壥
'************************************************************
Public Sub RsltJudgE(mQ As Long, mDATA() As Single, mMin As Single, mMax As Single, _
mGood As Long, mBad As Long, mRate As Single, mMark As Integer, mREC() As Integer)
Dim gJ As Long
If mQ = 0 Then Exit Sub '應掕屄悢偑柍偄偲傜側偄
mBad = 0: mGood = 0: mRate = 0
For gJ = 1 To mQ
If (mDATA(gJ) < mMin) Or (mDATA(gJ) > mMax) Then
mBad = mBad + 1 '晄椙悢
mREC(gJ) = mREC(gJ) Or mMark
Else
mGood = mGood + 1 '椙悢
mREC(gJ) = mREC(gJ) + 0
End If
Next gJ
mRate = mGood / (mGood + mBad) * 100 '椙昳棪
End Sub
'************************************************************
'* ErrorJudge(師夞幪偰忣曬)
'* 丂 丂mQ:應掕屄悢 mREC:晄椙寢壥
'* mDump:幪偰(0:non 1:幪) mBranch:幪偰忣曬(0:僩儖僋 1:掞峈)
'************************************************************
Public Sub ErrorJudge(mQ As Long, mREC() As Integer, _
mDump As Integer, mBranch As Integer)
mDump = 0: mBranch = 0
If mREC(mQ) > 0 Then
mDump = 1 '晄椙昳----------
If (mREC(mQ) And &H3) <> 0 Then
mBranch = 0 '僩儖僋僄儔乕-----
Else
mBranch = 1 '掞峈僄儔乕-----
End If
End If
End Sub
'************************************************************
'* QualityGoods(椙昳敔庢傝懼偊忣曬)
'* 丂 丂mQ:應掕屄悢 mREC:晄椙寢壥
'* 丂丂丂丂 mBOX:敔忣曬(0:Left 1:Right)
'************************************************************
Public Sub QualityGoods(mQ As Long, mREC() As Integer, mBOX As Integer)
Dim gJ As Long, gBad As Long, gGood As Long
Dim gWK As Long, gWK1 As Single
If mQ <= 0 Then Exit Sub '應掕屄悢偑柍偄偲傜側偄
gBad = 0: gGood = 0
For gJ = 1 To mQ - 1
If (mREC(gJ) < 0) Or (mREC(gJ) > 0) Then
gBad = gBad + 1 '晄椙悢
Else
gGood = gGood + 1 '椙悢
End If
Next gJ
'敔敾抐-----
gWK1 = (gGood - 1) / N_Boxful: If gWK1 < 0 Then gWK1 = 0
gWK = Int(gWK1): mBOX = gWK Mod 2
End Sub
'************************************************************
'* 丂丂丂丂丂丂 丂丂DataDISP(寢壥昞帵)
'* 丂丂丂 丂 mWork:壱摦屄悢 mJudge:敾掕寢壥
'************************************************************
Public Sub DataDISP(mWork As Long, mDgt() As String, mJudge() As Integer)
Dim gWK As Long, gTable As String
gWK = mWork - 3
If gWK <= 0 Then Exit Sub '應掕屄悢偑柍偄偲傜側偄
'崌斲昞帵-----
If mJudge(gWK) > 0 Then
gTable = "* "
Else
gTable = " "
End If
'應掕屄悢-----
gTable = gTable & plcFormat(Serial(gWK), "#####0", 6) & " "
'僩儖僋1-----
If (mJudge(gWK) And &H1) = &H1 Then
gTable = gTable & "亂" & plcFormat(TorQue1(gWK), mDgt(1), 8) & "亃"
Else
gTable = gTable & " " & plcFormat(TorQue1(gWK), mDgt(1), 8) & " "
End If
'僩儖僋2-----
If (mJudge(gWK) And &H2) = &H2 Then
gTable = gTable & "亂" & plcFormat(TorQue2(gWK), mDgt(2), 8) & "亃"
Else
gTable = gTable & " " & plcFormat(TorQue2(gWK), mDgt(2), 8) & " "
End If
'掞峈-----
If (mJudge(gWK) And &H4) = &H4 Then
gTable = gTable & "亂" & plcFormat(ResisT(gWK), mDgt(3), 8) & "亃"
Else
gTable = gTable & " " & plcFormat(ResisT(gWK), mDgt(3), 8) & " "
End If
'崌斲昞帵-----
If mJudge(gWK) > 0 Then
gTable = gTable & " NG "
Else
gTable = gTable & " OK "
End If
'帪娫-----
gTable = gTable & plcFormat(tTImE(gWK), "8", 8) & " "
'擔晅-----
gTable = gTable & plcFormat(tDaTE(gWK), "10", 10)
ExamForm.List1.AddItem gTable
ExamForm.List1.ListIndex = gWK - 1
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -