谘詢電話

ENGLISH0755-88840386
新聞中心

谘詢電話

0755-88840386
您的位置:首頁 > K8凯发大酒店天生赢家專題 > 專業技術專題 > 工業自動化稱重儀表>詳情頁

博達數字傳感器軟件的開發接口

發布時間:2020-01-03 10:19:24 |來源:網絡轉載

在純軟件數字秤稱重方案中,稱重軟件工作時,計算機需要和數字傳感器通訊,獲取傳感器內碼。因此,要用到數字傳感器通訊協議。一般情況下,傳感器廠家出於安全、防作弊考慮,不對外公開協議。為了方便用戶開發稱重軟件(本文僅針對博達公司的數字傳感器的稱重軟件),博達公司提供了專用的通訊函數庫(ScalePort.dll)。用戶在開發軟件時,可以通過調用庫中的函數,獲取數字傳感器的內碼。使用此函數庫時,不需要其他的通訊控件。

ScalePort.dll 有兩種功能:

①從儀表串口讀取重量

②從數字傳感器讀取內碼

為了區分儀表和數字傳感器,將RS485- 232轉換器獲取內碼的方式命名為“boast”

在VB6 中調用和調用Win32 API 類似,源碼如下:

①Private Declare Function OpenScalePort Lib“ScalePort.dll” (ByVal ComPort As String, ByValseting As String, ByVal fangshi As String) As Long

' 打開稱重串口, 參數: 串口號, 通訊參數, “start”

②Private Declare Function CloseScalePort Lib“ScalePort.dll” () As Long' 關閉稱重串口

③Private Declare Function LoadCellReadDataLib “ScalePort.dll” (ByVal LoadCellType AsString, ByVal LoadCellNumber As Long, ByValntime As Long) As String

' 數字傳感器連續讀內碼指令( 參數1:“boast”;參數2:傳感器數目;參數3:單隻傳感器讀寫周期(毫秒為單位))

Private Sub Command1_Click()'打開按鈕

If OpenScalePort(Combo2.Text, Text1.Text, Combo3.Text)= 1 Then ' 打開串口,①

If Combo1.Text=“boast” Then

Timer1.Enabled=True' 讀傳感器

End If

Command1.Enabled=False

Else

MsgBox “串口打開不成功!”, vbInformation+vbOKOnly, “提示”

End If

End Sub

Private Sub Command2_Click()' 關閉按鈕Timer1.Enabled=False

e=CloseScalePort' 關閉串口②

Command1.Enabled=True

End Sub

Private Sub Form_Unload(Cancel As Integer)e=CloseScalePort' 關閉串口②

End Sub

' 通過485~232 轉換器,讀數字傳感器內碼,用戶不用擔心效率問題,在調用OpenScalePort ' 函數時,ScalePort.dll 已經在後台創建了獨立的串口采集線程,將傳感內碼存儲到內存中

Private Sub Timer1_Timer()' 使用定時器,從內存中讀內碼。

DoEvents

Dim b As String ' 從串口返回的內碼字符串

Dim LoadCellNumber As Integer ' 傳感器數目

LoadCellNumber=8' 此處以8 個傳感器為例

b=LoadCellReadData“( boast”,LoadCellNumber,25)' 從內存讀取全部傳感器內碼,25 是單隻傳感器讀寫周期,與USB- RS232 轉換器質量有關③

Text2.Text=b' 讀取的結果顯示到text2.text 中,字符串以S 開頭E 結尾,每6 個字符是一個傳感器內碼,整個字符串長度= 傳感器個數×6+2

If Left(b, 1)=“S” Then 判斷起始符

For i = 0 To LoadCellNumber - 1 ' 分別獲取每隻傳感器內碼

Label1(i).Caption = Mid(b, 2 + i×6, 6)Next i

End If

End Sub

傳感器異常時,內碼顯示:

①如果傳感器內碼返回+88888 表示校驗錯誤,一般是由現場幹擾引起。例如:大型感性負載起動,造成傳感器供壓不穩

②如果傳感器內碼返回+99999 表示傳感器未通訊,請檢查連線是否正確

ScalePort.dll 函數庫隻能獲取數字傳感器內碼,如果要修改地址,請用《BOAST 串口調試工具v3.67》。

獲取數字傳感器內碼是編寫數字稱重軟件的第一步,要完成一個實用的稱重軟件,後續還有許多工作要做。如標定、調角差、零點跟蹤、開機置零等。當然,也可以參考一些市場上的主流的稱重儀表,如XK3180、XK3190A9、DS1 等,借鑒一下他們的設計思路,可以起到事半功倍的效果。筆者曾在衡器廠做過2- 3 年的售後服務,所以對這些表比較熟悉。

 

 

本文源於網絡轉載,如有侵權,請聯係刪除

分享到
網站地圖凱發K8凱發K8凱發K8凱發K8凱發K8