您好, 歡迎來到包裝印刷網(wǎng)! 登錄| 免費注冊| 產(chǎn)品展廳| 收藏商鋪|
隨著計算機軟、硬件的飛速發(fā)展,計算機巳在各行各業(yè)得到了廣泛的應用。為了 適應大規(guī)模生產(chǎn)及大物流的需要,提高檢斤速度,檢斤質(zhì)量及檢斤數(shù)據(jù)的管理,我們把計算機網(wǎng) 絡(luò)技術(shù)、數(shù)據(jù)庫技術(shù)應用于地磅檢斤系統(tǒng)中。本文介紹了一種通過計算機串型接口采集稱重 儀表數(shù)據(jù),用局域網(wǎng)和SQL關(guān)系數(shù)據(jù)庫管理檢斤數(shù)據(jù),從而建立起的一套實現(xiàn)兩臺地磅互檢 重車和皮車的一種客戶/服務(wù)器結(jié)構(gòu)的稱重軟件系統(tǒng)。zui實現(xiàn)了票據(jù)打印、數(shù)據(jù)存儲、檢索、自 動備份、遠程傳送等功能。
1.問題的提出
隨著公司產(chǎn)量的不斷提高,進出廠物資檢斤量 也不斷增大。為滿足公司生產(chǎn)及大物流的需要,我 公司新建了兩臺相臨的100t地磅。同時提出了雙 秤互檢重車和皮車的要求,即:可以在兩臺地磅其 中的任何一臺檢毛重而在另一臺檢皮重。這樣大大 提高了檢斤的效率。但是,要實現(xiàn)這一目的,數(shù)據(jù)的 可靠存取就成為了關(guān)鍵。因為在實際檢斤過程中常 出現(xiàn)兩臺地磅同時檢斤、同進存取數(shù)據(jù),這樣就要 同時操作同一數(shù)據(jù)庫。一般的數(shù)據(jù)庫都是以占的 方式打開的,所以兩個或兩個以上的用戶在對同一 個數(shù)據(jù)庫進行讀、寫時就會出現(xiàn)其中一個數(shù)據(jù)不能 寫入或讀出的問題,而這在檢斤過程中是不允 許的。為解決此問題,我們建立和開發(fā)了一個客戶/服務(wù)器結(jié)構(gòu)的稱重軟件,采用SQLServer數(shù)據(jù)庫來 解決這個問題。
2.系統(tǒng)的構(gòu)成
稱重系統(tǒng)主要由三臺計算機(其中一臺安裝Win2000、SQL Server2000 做服務(wù)器);兩臺 670K+票據(jù)打印機;交換機;稱重傳感器;分線盒;稱重儀表組 成。系統(tǒng)構(gòu)成如圖1所示。
地磅在檢斤時,由稱重傳感器將重量信號轉(zhuǎn) 變?yōu)殡妷盒盘?,其原理如圖2所示。經(jīng)稱重儀表進 行A/D轉(zhuǎn)換后,由RS232串行接口將重量值傳送給 計算機。計算機對數(shù)據(jù)進行處理后,將毛重、皮重、 凈重、發(fā)貨單位、收貨單位、檢斤時間、品名、規(guī)格、車 號、車型等存入數(shù)據(jù)庫。
3.軟件的設(shè)計
軟件的設(shè)計主要分成數(shù)據(jù)采集、數(shù)據(jù)計算存儲、 票據(jù)打印、數(shù)據(jù)查詢、遠程傳送五個部分。采用 VB6.0編程語言開發(fā),下面分別介紹。
?、贁?shù)據(jù)采集
計算機的數(shù)據(jù)采集是通過RS232串行接口與 稱重儀表相連。要想與儀表實現(xiàn)通訊就必須知道儀 表的通訊協(xié)議。我們的稱重儀表采用的是余姚太平 洋自控有限公司的PA8101,其通訊協(xié)議如下:
SOH: 報文引導信息頭 ADDR:儀表地址
STX: 報文開始
BLOCK:信息塊;W:數(shù)據(jù);e:重量值的階碼;
m: 動態(tài)檢測位。
ETX: 報文結(jié)束
BCC: 信息塊校驗和
回車
此儀表有兩種通訊方式:一種是連續(xù)發(fā)送方式,另 種是命令方式。由于每臺計算機只和一臺儀表通訊, 因此我們采用的是*種通訊方式。用VB實現(xiàn)串行通 訊有多種方法,如:API函數(shù)、有VB ActiveX控件、第三 方控件及動態(tài)鏈接庫。我們采用的是用VB控件 MSCOM的方法。先要對MSCOM進行初始化:
MSComm 1.CommPort= 1 設(shè)置串行 口為 COM1; MSComm1 .PortOpen=True 打開串行口; MSComm1.Settings="9600,n,7,1"設(shè)置串口 波 特率為9600,數(shù)據(jù)位為7,停止位為1。
用定時器控件實現(xiàn)每秒一次的數(shù)據(jù)采集。代碼 如下:
Dim mysrr As Variant Dim mybyte As Variant DimBunin(1000) As Byte Dim iLen, i As Long Dim ComDate As Long Dim wd As Integer mysrr=Inbuf mysrr=MSComm 1. Input iLen=Len(mysrr) mybyte=mysrr For i=1 To iLen Inbuf( i) =mybyte( i)
Next i
Dim ComDat, ComDat1, ComDat2, ComDat3 As Variant
Dim ComDat4 As Double For i=0 To iLen
ComDat=ComDat + ChrS( Inbuf( i))
Next i
ComDat1=InStr( ComDat, Chr( 65))
If ComDat1=0 Then Exit Sub
ComDate=Val(Mid(ComDat,ComDat1+7,1))/求階碼 e
For i = ComDat1 + 2 To ComDat1+6
ComDat2 = ComDat2 + Mid( ComDat,i,1)
Next i
ComDat3 = Val( ComDat2)
ComDat4=ComDat3 >40 八ComDate /10 八5 求稱重值 wd%=Val(Mid(ComDat,ComDat1+8,1))求動態(tài)檢測 位m
?、跀?shù)據(jù)存儲
此部分是稱重系統(tǒng)的關(guān)鍵,是解決數(shù)據(jù)庫共享 的核心。在系統(tǒng)硬件上,我們采用客戶/服務(wù)器結(jié)構(gòu) 如圖1所示。因此,在三臺計算機中的一臺計算機上 安裝了 Wm2000 Server 和 SQL Server2000 將其配 置成服務(wù)器。用SQL Server 2000建立數(shù)據(jù)庫,通過 交換機(TP-Lmk)組成了一個小的局域網(wǎng)。在服務(wù)器 上分別為另兩臺計算機設(shè)置了帳號和密碼,使其能 通過ODBC共享服務(wù)器上的數(shù)據(jù)。在數(shù)據(jù)庫的操作 上采用ADO技術(shù)如圖3。
在ADO使用前應*行對ADO的引用,然后 定義變量,代碼如下所示:
Dim Connf As ADODB. Connection Dim Rsf As ADODB. Recordset Dim Cmdf As ADODB. Command Set Connf = New ADODB. Connection Set Rsf = New ADODB. Recordset Rsf.Supports (adAddNew)
Connf CursorLocation=adUseClient Connf.Open"DSN=car100;","",""
’打開ODBC的數(shù)據(jù)源 Rsf. Active Connection = Connf Rsf.LockType = adLockOptimistic Rsf.CursorType = adOpenDynamic Rsf.open ’打開數(shù)據(jù)庫
數(shù)據(jù)存儲軟件設(shè)計如圖4。
③數(shù)據(jù)的查詢及票據(jù)打印 在進行票據(jù)打印時,先由系統(tǒng)對所打印的車 號、品名、發(fā)貨單位、收貨單位等進行查詢,然后通過 代碼完成打印格式的控制,zui后由Epson 670K+票 據(jù)打印機將要打印的數(shù)據(jù)項打印到巳印刷好的檢斤 單內(nèi)。程序代碼如下:
Printer. ScaleMode=6 Printer. F ontSize= 12 Printer. CurrentX= 15 處開始打印
Printer. CurrentY=3 0 Printer.Print RsPrint RsPrint("收貨單位")
Printer.EndDoc
④遠程傳送
在每天檢斤完后,檢斤員可以進行交班操作,即 將當天巳打印出票的檢斤數(shù)據(jù)匯總到一個總的數(shù)據(jù) 庫。同時生成一個當天檢斤量的二進制文件(*.dat)。 在程序中內(nèi)嵌一個調(diào)用網(wǎng)絡(luò)撥號連接的程序,可對 直接通過Modem登錄到公司內(nèi)的遠程服務(wù)器,將* dat文件傳送過去,以便公司對其進行處理,便于公司 掌握進廠物資量及出廠產(chǎn)品量。代碼如下:
Shell "rundll rnaui.dll,RnaDial 6692001", vbNormalFocus
4.系統(tǒng)的功能
該系統(tǒng)不但實現(xiàn)了雙地磅互檢的要求,同時 還具有數(shù)據(jù)的安全存儲、查詢、打印、遠程傳送、計算 檢車數(shù)/出票數(shù)及記憶品名、發(fā)貨單位、收貨單位等 信息的功能。另外由于采用兩臺地磅共享SQL數(shù) 據(jù)庫,還可以在服務(wù)器上進行數(shù)據(jù)的安全備份,定期 整理,使數(shù)據(jù)更安全,減少公司的損失。軟件界面如 圖 5。
5.結(jié)束語
本文所介紹的軟件現(xiàn)巳正式應用于生產(chǎn)中,并 且收到了良好的使用效果。不但大大提高了效率,而 且可靠性非常高。通過客戶/服務(wù)器結(jié)構(gòu)的軟件開 發(fā),說明SQL Server數(shù)據(jù)庫及局域網(wǎng)巳不僅應用于 辦公系統(tǒng),將其應用于工業(yè)生產(chǎn)及自動化控制中,對 生產(chǎn)和管理同樣會發(fā)揮出具大的作用。
請輸入賬號
請輸入密碼
請輸驗證碼
以上信息由企業(yè)自行提供,信息內(nèi)容的真實性、準確性和合法性由相關(guān)企業(yè)負責,包裝印刷網(wǎng)對此不承擔任何保證責任。
溫馨提示:為規(guī)避購買風險,建議您在購買產(chǎn)品前務(wù)必確認供應商資質(zhì)及產(chǎn)品質(zhì)量。