<small id="ipgbl"></small>
<small id="ipgbl"></small>
<label id="ipgbl"></label>

  • <listing id="ipgbl"></listing>

  • <small id="ipgbl"></small>
    產品列表
    聯系方式

    杭州易測計量設備有限公司

    地 址:杭州市余杭區北沙西路152號

    聯系人:王經理

    電 話:0571-85108155

    傳 真:0571-85105122

    手 機:18094712401

    行業資訊
    ?

    VB編程技術在地磅管理軟件上的應用

    本文通過對一個地磅管理系統軟件的編程過程,介紹了用VB6.0編程軟件在地磅管理系統中的技術應用。 
      1.引言 
      Visual Basic(簡稱VB)是Win- 
      dows環境下簡單、易學、高效的編程語言開發系統,以其所見即所得的可視化界面設計風格和32位面向對象的程序設計等特點,已廣泛地應用于各個領域,是很多計算機軟件開發人員采用的開發工具。VB提供了良好的界面設計能力,提供了強大的數據庫訪問功能和微機串口通信功能。完全能夠滿足地磅管理系統的數據采集、處理和存儲要求。下面以SCS微機地磅稱重軟件為例,敘述VB軟件對系統中幾個重要功能程序的設計。 
      2.管理軟件功能需求 
      SCS微機地磅稱重系統主要通過計算機串口連接地磅稱重儀表,處理儀表所獲取的汽車重量信息,達到管理汽車稱重數據的目的。系統軟件要求達到的功能主要有: 
     ?。?)設置管理權限,達到操作人員分級登錄操作。 
     ?。?)記錄、貯存并打印每一次稱重結果。包括車號、貨物名稱、運貨單位、駕駛員、毛皮重、凈重、進出廠過磅時間、司磅員等內容。 
     ?。?)查詢打印功能??砂窜囂?、時間范圍、司磅員、貨物種類、駕駛員等或任意組合查詢過去稱重記錄,并可打印輸出。 
     ?。?)統計打印功能??蓪ΨQ重結果自動進行統計,并打印各種報表,如月報、年報、分類報表等。 
     ?。?)數據維護功能。包括記錄限制修改和刪除,數據備份和導出。 
      在這個系統軟件中,重點是編寫數據采集的串口通信模塊和數據庫操作訪問功能程序。用Visual Basic編程語言來編制這些程序,也就要充分理解串口通信和數據庫訪問相關的控件特點和應用技術。 
      3.數據采集程序模塊的設計 
      3.1 選擇MSComm控件實現串口通信 
      用VB開發串口通信程序常用兩種方法,一種是利用WINDOWS的通信API函數實現,另一種是采用VB內集成的MSComm通信控件實現。在實例中選用MSComm控件實現串口通信的編程,該控件具有豐富的與串口通信密切相關的屬性和事件,提供了對串口的各種操作。在通信過程中,當發送數據、收到數據或產生傳輸錯誤時,觸發MSComm控件的OnComm事件,然后可以通過判斷CommEvent屬性值獲得事件類型,再根據事件類型進行相應數據處理。因此用其實現微機串口的數據通信相當簡單,以很少的程序代碼就可以輕松實現串口的訪問和數據通信。 
      3.2 儀表參數及其數據通信協議 
      以微機管理系統連接汽車衡XK3 
      190-A9稱重顯示器為例。該儀表可連接8個350Ω或12個700Ω的高精度稱重傳感器,用于測量汽車重量數據。儀表測量準確度為Ⅲ級(N=3000)按顯示分度值設置不同,測量范圍最大值100噸。該儀表具有RS-232/RS422(選配)串行通訊接口,能與微機進行串口數據通信,實時傳送檢測數據。 
      該儀表串口數據通信協議是:數據傳輸速率為600/1200/2400/9600bps 
     ?。蛇x),數據格式(10位):1位開始位,8位數據位(ASCⅡ編碼),1位停止位,無奇偶校驗位。通訊方式有連續方式和指令方式兩種,這里只列舉連續通訊方式中的格式。 
      所傳送的數據為儀表顯示的當前稱量(毛重或凈重)。每幀數據由10組數據組成。格式如表1。 
      3.3 部分參數的技術說明 
     ?。?)為滿足各種儀表參數和計算機不同運行環境的需要,把串口通信的一些參數用數據庫的表進行存放,程序通過讀取表數據來進行通信環境參數的設置。這樣做用戶可以修改數據表的數據來改變運行參數,以滿足實際需要。 
     ?。?)為了提高接收數據的讀取速度,實現實時監測功能,設置MSComm1的屬性RThreshold=4,接收緩沖區收到四個字節產生OnComm事件;InputLen=1,每次讀取一個字節。設置接收數據模式采用二進制形式,即InputMode=comInputModeBinary。設置InBufferSize=50(設置接收緩沖區為50字節),OutBufferSize=2(設置發送緩沖區為2字節)。 
     ?。?)定義一個Byte類型數組變量來存放重量數據值。注意用Input屬性讀取數據時,還要看儀表輸出數據位格式的編碼方式。壓縮的BCD碼存入Byte類型變量,VB系統只按十進制數處理,這要通過一個簡單算法換算,解壓BCD碼才能還原成十進制表示數值。本例ASCⅡ編碼直接賦值給數組Byte類型變量。 
      3.4 源程序代碼 
      系統數據庫db1.mdb建立一個名為“串口”的表,字段分別為串口、波特率、校驗、停止位、數據位、流控制,記錄串口運行參數設置信息。在窗體中添加名為MSComm1的MSComm控件,名為Label7顯示重量數據的標簽控件,名為Text3、Text4存貯毛重、皮重的文本框控件等。 
      串口初始化模塊: 
      Private Sub Form_Load() 
      MSComm1.CommPort = rec(“串口”)‘賦值串口端口號,本例為COM1 
      MSComm1.Settings = rec(“波特率”) & ",n,8,1" ‘無奇偶校驗,8位數據位,1位停止位 
      MSComm1.InputLen = 1 
      MSComm1.RThreshold = 4 
      If MSComm1.PortOpen = False Then ‘判斷串口端口是否打開 
      MSComm1.PortOpen = True ‘打開端口 
      Else 
      MsgBox “串行端口號已被占用,請選擇其它端口!”, vbCritical + vbOKOnly, “系統信息” 
      Exit Sub 
      數據讀取、轉換及顯示模塊: 
      Private Sub MSComm1_OnComm() 
      Dim buf() As Byte 
      ‘定義一個數據變量 
      If MSComm1.CommEvent = 2 Then ‘判斷接收緩沖區內字符數達到Rthreshold指定的值 
      buf = MSComm1.Input 
      ‘讀取一個字節 
      If buf(0) = 2 Then 
      ‘判斷是否為開02(XON) 開始 
      c2 = buf(1) 
      ‘以下讀取各位重量數據分別賦值 
      c3 = buf(2) 
      c4 = buf(3) 
      c5 = buf(4) 
      c6 = buf(5) 
      c7 = buf(6) 
      c8 = buf(7) 
      以下為對各位字節數據進行轉換和組合顯示 
      shuju = Chr(c2) + Chr(c3) + Chr(c4) + Chr(c5) + Chr(c6) + Chr(c7) + Chr(c8) Label7.Caption = shuju ‘賦值顯示 
      If Option1.Value=True Then 
      ‘Option1為毛重選項。判斷是否Option1被選中 
      Text3.Text = Val(Label7.Caption) ‘賦值給毛重文本控件 
      End If 
      If Option2.Value = True Then ‘Option21為皮重選項。判斷是否Option2被選中 
      Text4.Text = Val(Label7.Caption) ‘賦值給皮重文本控件 
      End If 
      Label10.Caption= “數據穩定!" 
      Else 
      Label10.Caption = “連接正常,但數據不穩定...!" 
      MSComm1.PortOpen = False ‘重新關閉和開啟串口端口一次 
      MSComm1.PortOpen = True 
      End If 
      End If 
      End Sub 
      4.數據庫程序模塊設計 
      4.1 數據庫表結構設計 
      本例以Microsoft Access數據庫進行稱重數據的管理,建立db1.mdb數據庫。地磅完成一個稱重過程一般是某車號汽車稱毛重,再過皮重(或者稱重順序反調)得出凈重后,數據存入數據表,打印報表。在實際稱重中稱毛重和過皮重的過程并不連續,有時要連續稱幾臺汽車的毛重或皮重,因此必須建立一個用于存貯稱重暫存數據的表。在db1.mdb數據庫中建立報頭、帳戶、本地表、稱重、單位設置、歷史皮重、串口、物質類別等數據表。“本地表”用于存貯歷史稱重數據,“稱重”表存貯稱重暫存數據,本例重點介紹“本地表”和“稱重”兩個關鍵表的結構設計,如表2,表3所示。 
      4.2 數據庫編程 
      SCS微機地磅稱重軟件建立了“系統登錄”、“稱重管理”、“報表管理”等多個窗體,都涉及到對db1.mdb數據庫的編程,主要應用了Visual Basic對Access數據庫操作的編程語言。如: 
      dim conn as new adodb.connection 
      dim rs as new adodb.recordset 
      連接數據庫 
      with conn 
       If .State<>adstateclosed Then .Close 
       .ConnectionString = “pro 
      -vider=Microsoft.Jet.OLEDB.4.0; 
      Data Source=” & App.path & “數據庫名.mdb;Mode=ReadWrite;Persist Security Info=False” 
       .Open 
      End With 
      查詢記錄 
      if rs.state<>adstateclosed then rs.close 
      rs.open “select * from 表名”,conn,adopenkeyset,adlockreadonly 
      set mshflexgrid1.datasource 
      =rs 
      rs.close 
      新增記錄 
      conn.execute “insert into 表名(...) values(...)” 
      修改記錄 
      conn.execute “update 表名 set ... where ...” 
      刪除記錄 
      conn.execute “delete from 表名 where...”等等,鑒于論文篇幅的限制本例數據庫編程源代碼略。
    上一篇:關于地磅故障分析與處理的心得 下一篇:淺談SCS數字式地磅安裝與調試
    精品推薦 更多…
    網站首頁汽車衡地磅電子磅秤電子秤電子吊秤電子叉車秤建筑工地產品聯系我們關于我們公司動態

    聯系人:王經理 電話:0571-85108155  傳真:0571-85105122

    郵編:310006 手機:18094712401 地址:杭州市余杭區北沙西路152號

    Copyright ? 杭州易測計量設備有限公司 All rights reserved.   
    宝贝乖把腿张开流水了视频