品牌:A-B | 規格:全新 | 材質:原裝 |
產地:其它 |
ECPP40-01
程序代碼
在(通用)(聲明)中定義程序所用變量:
Dim ab(4) As Byte '字節數據類型數組,用來存貯接收到的一組字節數據
Dim av As Variant '用來從接收緩衝區讀取數據
Dim i As Integer
Dim j As Integer
Dim w As Integer '接收數據個數計數器
Dim b1 As Single
Dim b2 As Single
Dim WW As Single '十進制檢測值
Dim TD(8) as Boolean '通道狀態數組
Dim Wmax(8) As Single '大值數組
Dim Wmin(8) As Single '小值數組
在窗體中添加名為Command1的[開始]按鈕和名為MSComm1的MSComm控件。
[開始]按鈕的Click事件處理程序主要是對MSComm1控制的參數初始化設置,程序中大部分參數在設計時可在MSComm1控制的屬性窗口中設置:
Private Sub Command1_Click() '開始按鈕
With MSComm1
mPort=2 '使用COM2
.Setting="9600,N,8,1" '設置通信口參數
.InBufferSize=40 '設置MSComm1接收緩衝區為40字節
.OutBufferSize=2 '設置MSComm1發送緩衝區為2字節
.InputMode = comInputModeBinary '設置接收數據模式為二進制形式
.InputLen = 1 '設置Input 一次從接收緩衝讀取字節數為1
.SThreshold = 1 '設置Output 一次從發送緩衝讀取字節數為1
.InBufferCount = 0 '清除接收緩衝區
.OutBufferCount = 0 '清除發送緩衝區
For i=1 to 8
Wmax(i) = -99 '大值賦初值
Wmin(i) = 99 '小值賦初值
Next i
w = 0 '數據個數計數器清零
.RThreshold = 1 '設置接收一個字節產生OnComm事件
On Error Resume Next '改變錯誤處理的方式。
Err.Clear
If .PortOpen = False Then '判斷通信口是否打開
.PortOpen = True '打開通信口
If Err Then '錯誤處理
MsgBox "串口通信無效"
Exit Sub
End If
End If
End With
End Sub
為了達到實時數據採集目的,實時數據採集處理程序採用MSComm事件驅動方式。MSComm1_OnComm 的事件處理程序只處理comEvReceive事件,首先判斷幀數據的開始字節,關閉OnComm接收事件,然後接收數據字節,將壓縮BCD進行還原轉換,再接收符號字節,判斷數據符號,判斷數據大小值,後打開OnComm接收事件,等待下一次OnComm事件產生:
Private Sub MSComm1_OnComm()
With MSComm1
Select Case mEvent '判斷MSComm1通訊事件
Case comEvReceive '收到Rthreshold個字節產生的接收事件
av = .Input '讀取一個接收字節
ab(1) = av(0) '轉換保存到字節數據類型數組
If ab(1) = 170 Then '判斷是否為數據開始標志,0FAH=170
.RThreshold = 0 '關閉OnComm事件接收
W=W+1 '計數器加1
av = .Input '讀取通道狀態字節
ab(0) = av(0) '轉換保存到字節數據類型數
For i = 1 To 8 '通道狀態數組復位
TD(i) = False
Next i
cn = 2 '幀長度賦初值,一個開始字,一個狀態字
If ab(0) >= 128 Then '判斷第八通狀態
TD(8) = True '第八道是真
ab(0) = ab(0) - 128 '第7位置零
cn = cn + 3 '幀長度加3個字節
End If
If ab(0) >= 64 Then '判斷第七通狀態
TD(7) = True '第七道是真
ab(0) = ab(0) - 64 '第6位置零
cn = cn + 3 '幀長度加3個字節
End If
If ab(0) >= 32 Then '判斷第六通狀態
TD(6) = True '第六道是真
ab(0) = ab(0) - 32 '第5位置零
cn = cn + 3 '幀長度加3個字節
End If
If ab(0) >= 16 Then '判斷第五通狀態
TD(5) = True '第五道是真
ab(0) = ab(0) - 16 '第4位置零
cn = cn + 3 '幀長度加3個字節
End If
If ab(0) >= 8 Then '判斷第四通狀態
TD(4) = True '第四道是真
ab(0) = ab(0) - 8 '第3位置零
cn = cn + 3 '幀長度加3個字節
End If
If ab(0) >= 4 Then '判斷第三通狀態
TD(3) = True '第三道是真
ab(0) = ab(0) - 4 '第2位置零
cn = cn + 3 '幀長度加3個字節
End If
If ab(0) >= 2 Then '判斷第二通狀態
TD(2) = True '第二道是真
ab(0) = ab(0) - 2 '第0位置零
cn = cn + 3 '幀長度加3個字節
End If
If ab(0) >= 1 Then '判斷第一通狀態
TD(1) = True '第一道是真
cn = cn + 3 '幀長度加3個字節
End If
For i = 1 To 8 '
If TD(i) = True Then
av = .Input '讀取第一個數據字節(BCD碼高位字節)
ab(2) = av(0) '轉換保存到字節數據類型數組
av = .Input '讀取第二個數據字節(BCD碼低位字節)
ab(3) = av(0) '轉換保存到字節數據類型數組
av = .Input '讀取第三個接收字節(符號位字節)
ab(4) = av(0) '轉換保存到字節數據類型數組
b1 = ab(2) - 6 * (ab(2) \ 16) '高位字節壓縮BCD碼轉換為實數
b2 = ab(3) - 6 * (ab(3) \ 16) '低位字節壓縮BCD碼轉換為實數
WW = b2 + b1 / 100 '數值組合,標定小數點
If ab(4) > 127 Then WW = -WW '判斷數據符號位
Label1(i-1) = Format(WW,"0.00") '顯示毫米單位數值,2位小數
If WW>Wmax(i) And WW<51 Then '判斷大值,儀表在剛開始工作時有幹擾,會傳導一些亂碼,位移傳感器有參數偏差,大值一般都略大於50毫米,所以取51為極限大值,取-51為極限小值。
Wmax(i) = WW
Label2(i-1)=Format(Wmax(i),"0.00") '顯示大值
End If
If WW < Wmin(i) And WW > -51 Then '判斷小值
Wmin(i) = WW
Label3(i-1)=Format(Wmin(i),"0.00") '顯示小值
End If
End If
Next i
.RThreshold = cn '打開MSComm1事件接收
Else
.RThreshold = 1
End If
Case Else
End Select
End With
End Sub
應用領域
醫療
使用產品
硬件:USB-6211 OEM
軟件: VC
解決方案
新生兒是一個特殊的受試群體,他們不能主觀的表達是否能聽見聲音,因此,對於新生兒進行聽力篩查,採用客觀,無損的檢測方法。2000年6月,美國嬰幼兒聽力聯合委員會(JCIH)發表聲明:推薦採用耳聲發射聽力檢測技術對新生兒進行聽力篩查的技術。近年來各類人群聽力損傷日趨嚴重。例如:聽力下降的起始年齡快速下降,據報道與青少年每天長時間,高質量地欣賞MP3是引起聽力損傷的原因,密閉的耳機聲場的集中聲能嚴重損傷青少年的聽力。還有:高齡人群由於慢性病引起高頻聽覺失聰。清華大學是國內掌握耳聲發射聽力檢測設備研制能力的科研單位,完成了技術向產品的轉化。
NEW KOLLMORGEN SERVOSTAR SERVO STAR CD DRIVE CEO3560
KOLLMORGEN SEIDEL 6SM37M-6.000-G MOTOR
Kollmorgen ServoStar Drive SE06200-Y066 SE06200Y066
Kollmorgen B-204-A-22 GOLDLINE BRUSHLESS SERVO MOTOR
Inland-Kollmorgen Servo Motor TT-2950-1210-C Used
KOLLMORGEN IND BDS4A-106J-0001-204B2 USPP BDS4A106J0001
KOLLMORGEN SEIDEL 56WK-P240/80-B USPP 56WKP24080B
KOLLMORGEN IND HPAR-15840-601-4501B14 USPP HPAR15840601
KOLLMORGEN IND B-206-A-31 USPP B206A31
KOLLMORGEN IND ME9-205-B-A4-206 NSFP ME9205BA4206
KOLLMORGEN EB-404-D-91-B3-001 BRUSHLESS MOTOR NEW
KOLLMORGEN IND BCL-02820-A00 USPP BCL02820A00
KOLLMORGEN IND TPAR 3340-34 USPP TPAR334034
KOLLMORGEN IND MT1506B1-R1D2 USPP MT1506B1R1D2
KOLLMORGEN IND M-405-A-B1 USPP M405AB1
KOLLMORGEN IND BCL-02806-A01 NSPP BCL02806A01
KOLLMORGEN IND PSR4/5A-112 USPP PSR45A112
KOLLMORGEN IND PA0800 NSFP PA0800
Kollmorgen Industrial Drives BDS4-203H-9105-204A7
Kollmorgen MT302A1-M2C1
Kollmorgen MT502A1-F1B1 SERVO MOTOR GOLDLINE XT
KOLLMORGEN IND SR03000-2G102A USPP SR030002G102A
KOLLMORGEN IND SR03000-000000 USPP SR03000000000
KOLLMORGEN SEIDEL 6SM-27M-4.000-G USPP 6SM27M4000G