當(dāng)前位置:歐亞貿(mào)易網(wǎng) > 技術(shù)中心 > 所有分類
| 防爆電子秤通信及數(shù)據(jù)庫管理系統(tǒng) | 2020-01-13 |
| 摘要:針對現(xiàn)代工業(yè)行業(yè)廣泛應(yīng)用的電子秤系統(tǒng)管理問題,提出了一種新的系統(tǒng)開發(fā)模式,采用Mi—crosoft公司的高級計算機語言VB6.0與常用數(shù)據(jù)庫系統(tǒng)Access2000開發(fā)電子秤數(shù)據(jù)管理系統(tǒng),結(jié)合SI—EMENS公司工業(yè)稱重儀表PIc,通過計算機COM口串行通信方式組成工業(yè)配料系統(tǒng)。該稱重在計算機上不僅可實現(xiàn)防爆電子秤數(shù)值的記錄、保存、查詢和歸檔等管理功能,還可以進行工業(yè)工藝流程控制。配料系統(tǒng)VB數(shù)據(jù)庫程序及VB與PIC通信程序的開發(fā)過程。 對于自動化配料系統(tǒng)中的自動防爆電子地磅或者單臺自動防爆電子秤配料系統(tǒng),傳統(tǒng)的稱重控制方法為PLC與RS485口直接通訊或者采用模擬量輸入、輸出模塊組態(tài)系統(tǒng),這樣的系統(tǒng)不僅成本高,而且編程調(diào)試比較復(fù)雜,人機交互界面較差?;诖藛栴},我們開發(fā)了一種經(jīng)濟型自動防爆電子秤系統(tǒng),主要控制界面由面向?qū)ο蟾呒壵Z言VB6.0與數(shù)據(jù)庫系統(tǒng)Access2000開發(fā)完成,而工業(yè)稱重儀表PLC執(zhí)行生產(chǎn)工藝控制,VB程序可編譯成獨立執(zhí)行EXE文件或者SETUP安裝文件,便于使用和移植。為了便于介紹,本文以單臺防爆電子秤配料系統(tǒng)為例介紹該系統(tǒng)的開發(fā)方法。 1稱重系統(tǒng)主要任務(wù)及構(gòu)成 1.1稱重系統(tǒng) 主要任務(wù)當(dāng)配料系統(tǒng)接收到需執(zhí)行防爆電子地磅信號時,防爆電子秤裝置開始執(zhí)行防爆電子地磅,防爆電子秤信息通過數(shù)據(jù)采集卡或者計算機COM1口被接收,然后通過VB程序?qū)⒃摂?shù)值寫入用戶預(yù)定義的數(shù)據(jù)庫中,程序可以將該數(shù)據(jù)自動添加到數(shù)據(jù)庫中去,數(shù)據(jù)庫可提供添加、查找、刪除和打印等管理功能,方便用戶操作管理數(shù)據(jù)。 1.2稱重系統(tǒng)構(gòu)成 防爆電子秤通訊及管理系統(tǒng)由防爆電子地磅機械系統(tǒng)和控制及管理系統(tǒng)組成。防爆電子秤機械系統(tǒng)主要由支撐架、升降氣缸、防爆地磅和稱臺支架等組成;控制及管理系統(tǒng)主要由工業(yè)計算機、PLC、防爆電子秤稱重模塊和中問繼電器等組成,軟件系統(tǒng)采用Microsoft公司的VB6.0和Access2000,SIEMENS公司的STEP7V5.4。如果存在多臺防爆地磅,可通過網(wǎng)絡(luò)集線器組建EN—THERNET進行485通信網(wǎng)絡(luò)擴展,本文以單臺防爆地磅232通信方式為例介紹系統(tǒng)組成結(jié)構(gòu),如圖1所示。 2VB程序開發(fā) 經(jīng)濟型電子秤數(shù)據(jù)傳輸主要是串口通信,即電子秤的輸出信號可以通過RS232口輸出,該通信協(xié)議正匹配工業(yè)計算機的C0M口,對于獲取COM通信處理,我們使用VB中成熟的非標(biāo)準(zhǔn)控件MSComm,它具有事件驅(qū)動和查詢2種通信方式。由于需要在程序事件發(fā)生時主控程序會被告知,因此采用事件驅(qū)動的通信處理方法,對該控件對象的部分屬性依據(jù)防爆地磅的實際通訊需求進行賦值處理,就可以實現(xiàn)計算機與防爆地磅的通訊連接。程序操作界面簡單設(shè)置為登陸窗口,主要控制窗口及報表打印窗口,依據(jù)實際需要可進行窗口擴展。 為此,設(shè)計串口通信程序,MSComm通信程序舉例說明如下:PrivateSubForm—Load()在PrivateSubForm—Load()在窗體加載事件中執(zhí)行如下代碼WithMSComm1.CommPort=1設(shè)置串行口為COM1.Settings=”1200,n,7,1”設(shè)置波特率為1200,無奇偶校驗,7位數(shù)據(jù)位,1位停止位.InputMode=comlnputModeText設(shè)置數(shù)據(jù)接收為字符串方式.InputLen=0讀取緩沖區(qū)的所有內(nèi)容.RThreshold=1每接收到1個字節(jié)就觸發(fā)一次On~Comm事件.PortOpen=True"打開串口EndWith 3Access2000數(shù)據(jù)庫開發(fā) 3.1數(shù)據(jù)庫功能與技術(shù)要求 數(shù)據(jù)庫系統(tǒng)可實現(xiàn)數(shù)據(jù)的添加、刪除、查找和顯示等功能,數(shù)據(jù)表字段顯示日期時間、型號和質(zhì)量等信息。數(shù)據(jù)庫軟件結(jié)構(gòu)如圖2所示。 3.2數(shù)據(jù)庫開發(fā)過程 首先要在Access中創(chuàng)建一個新的數(shù)據(jù)庫,命名為“BB”(可任意命名),然后創(chuàng)建ODBC數(shù)據(jù)源,打開“ODBC數(shù)據(jù)源管理器”,單擊“添加按鈕”,在彈出的對話框中選擇MicrosoftAccessDriver(*.mdb),單擊“完成”按鈕,接下來設(shè)置數(shù)據(jù)源名為“AB”,選擇數(shù)據(jù)源鏈接的數(shù)據(jù)庫,單擊“確定”按鈕就完成了創(chuàng)建。在VB程序中,用ActiveX數(shù)據(jù)對象(簡稱ADO控件)鏈接數(shù)據(jù)庫。ADO技術(shù)是Mircrosoft公司開發(fā)的數(shù)據(jù)庫應(yīng)用程序面向?qū)ο蟮男陆涌冢珹DO技術(shù)可以訪問包括關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫在內(nèi)的所有文件系統(tǒng),使應(yīng)用程序具有較好的靈活性和通用性,ADO中最主要的3個對象是Connection、Command和Recordset。Connection對象主要用于設(shè)置訪問數(shù)據(jù)源所需的鏈接;Command對象主要用于設(shè)置訪問數(shù)據(jù)源所需的命令;Recordset對象主要用來存放從結(jié)果中取回的記錄,它可以瀏覽記錄,增加、修改、刪除記錄,并可將已經(jīng)修改的記錄回傳給數(shù)據(jù)源。采用使用代碼的方法來實現(xiàn)與數(shù)據(jù)庫的鏈接。在窗體的FORMLOAD事件中輸入如下主要代碼。PrivateSubForm_Load()Adodc1.C0nnectionString一”Provider—Microsoft.Jet.OLEDB.4.0;DataSource=F:\11\AB.mdb;PersistSecurity—InfoFalse”‘鏈接數(shù)據(jù)庫Adodc1.RecordSource=”select*fromAB”‘鏈接數(shù)據(jù)表SetDataGrid1.DataSource=Adodcl設(shè)置顯示表格記錄字段值當(dāng)VB程序成功接收到防爆電子秤數(shù)據(jù)時,可自動寫入用戶的數(shù)據(jù)庫中,用戶也可以在數(shù)據(jù)處理使用后再寫入數(shù)據(jù)庫中,主要代碼如下。PrivateSubMSComml—OnComm()‘當(dāng)端口被激活時WithAdodc1.Recordset.AddNew.ReCordset.Fields(1):Date&””&Time‘記錄時間日期I.Recordset.Fields(2)一Text2.Text記錄字段2內(nèi)容.Recordset.Fields(3)一Text1.Text‘記錄字段3內(nèi)容……………………………….‘記錄字段N內(nèi)容.Recordset.Update.RecordSource=”select*from表2”Refresh4 PLC程序開發(fā) PLC程序開發(fā)應(yīng)以實際工藝流程和工藝技術(shù)指標(biāo)為條件,簡單介紹一種自動防爆電子秤工藝流程。當(dāng)PLC接收到防爆電子秤裝置執(zhí)行信號時,防爆電子秤氣缸升起,防爆地磅執(zhí)行防爆電子秤,數(shù)據(jù)傳送,防爆電子秤完畢,防爆電子秤氣缸下降,等待下一次稱量。此外PLC程序開發(fā)簡單,讀者可自行開發(fā)設(shè)計,還可以根據(jù)生產(chǎn)實際需要開發(fā)HMI界面等功能。 5VB程序與PLC程序的關(guān)聯(lián)實現(xiàn) 5.1VB與PLC獨立 控制如果防爆電子秤系統(tǒng)是開環(huán)控制類型,則VB程序只需記錄數(shù)據(jù)到數(shù)據(jù)庫中即可,無須反饋給PLC指令。也就是說VB和PLC控制是分別獨立的配料系統(tǒng),各行其責(zé),它們之間無須進行通信處理。 5.2VB與PLC聯(lián)合控制 如果防爆電子秤系統(tǒng)是閉環(huán)控制類型,則VB成功接收數(shù)據(jù)后需要向PLC發(fā)送指令,以驅(qū)動PLC內(nèi)部程序,此時需要上位機PC與下位機PLC實現(xiàn)通信連接。繼續(xù)使用前文介紹過的MSComm控件來實現(xiàn)VB與PLC的通信。計算機與西門子PLC進行通信時必須遵守西門子PLC300的PPI(PointtoPoint)協(xié)議,該通訊協(xié)議采用主從式的通訊方式,一次讀寫操作的步驟為: 1)PLC配料系統(tǒng)要求發(fā)送數(shù)據(jù)時,計算機會發(fā)送一組帶有前導(dǎo)碼的字符串。在前導(dǎo)碼之后便是站號,站號之后便是要配料系統(tǒng)解讀的命令或數(shù)據(jù); 2)當(dāng)PLC配料系統(tǒng)收到要求字符串并經(jīng)過判讀確定后,便會送出計算機所要求的數(shù)據(jù)。同時,數(shù)據(jù)被送出時會在數(shù)據(jù)之前加上前導(dǎo)碼與站號,計算機也以此前號碼與站號辨別數(shù)據(jù)來自何處; 3)計算機端收到配料系統(tǒng)發(fā)送回來的字符串即進行解讀檢查的操作。當(dāng)檢查完成后,便再送出一個確定的字符串給配料系統(tǒng),用以說明計算機端已成功接收到字符串;而若發(fā)送失敗,計算機也會在所送的字符串中要求配料系統(tǒng)重新發(fā)送數(shù)據(jù)。通過以上步驟我們可以看出,計算機和PLC通過收發(fā)2次數(shù)據(jù),才完成1次數(shù)據(jù)的讀寫。數(shù)據(jù)通信字符串流動情況如圖3所示。 6結(jié)語 稱重系統(tǒng)采用VB6.0與Access2000開發(fā)的防爆電子秤數(shù)據(jù)庫管理系統(tǒng)與PLC配料系統(tǒng)相組合,方便地實現(xiàn)了數(shù)據(jù)通訊功能和生產(chǎn)工藝要求。這種防爆電子秤系統(tǒng)具有開發(fā)成本低廉、難度低和可操作性強的特點。通過實際生產(chǎn)表明,該系統(tǒng)穩(wěn)定可靠,并且可以根據(jù)實際需求進行程序升級和功能擴展,因此該系統(tǒng)模式適用于多種形式的防爆電子秤場合,值得推廣應(yīng)用。 | |