咨詢電話
ENGLISH0755-88840386發(fā)布時間:2021-05-19 14:45:39 |來源:網絡轉載
在煤炭企業(yè)中,由于各個礦點比較分散,各個礦點距離較遠,容易形成信息孤島;又由于煤炭企業(yè)生產環(huán)境惡劣,容易造成對信號的干擾,使得網絡的傳輸出現(xiàn)差錯,造成信息丟失;軌道衡計重信息的采集時效性不高,不利于煤炭企業(yè)的查詢決策,極大的降低了企業(yè)的綜合競爭力。為了提高煤炭企業(yè)綜合競爭力,解決信息不能共享問題以及完成企業(yè)信息化的建設,煤炭企業(yè)需要對軌道衡計重信息進行科學和有效的管理,形成煤炭企業(yè)的一種隱性的競爭力。隨著計算機技術和現(xiàn)代通訊技術的發(fā)展,建立一個分布式的軌道衡智能計重系統(tǒng),對煤炭企業(yè)的信息化建設起著很大的作用。且由于軌道衡計重信息采集的準確性和及時性,對煤炭銷售管理和分析,以及安排各個礦點的生產具有舉足輕重的作用。因此,煤炭分布式軌道衡智能計重系統(tǒng)是整個企業(yè)信息化管理系統(tǒng)的關鍵環(huán)節(jié)。
1 系統(tǒng)需求分析
系統(tǒng)以一家大型煤炭企業(yè)為背景,設計開發(fā)煤炭分布式軌道衡智能計重系統(tǒng)。企業(yè)以前的軌道衡計重系統(tǒng)是以單機版為主,并且各個礦點的數(shù)據(jù)格式不統(tǒng)一,全公司不能共享計重信息,生成的計重信息報表很大一部分還要采用人工錄入和設計,計重信息采用紙質報表上報總公司,總公司采用電話批示或者委派人員下礦指導,時效性不高。這樣就不利于企業(yè)決策層以市場為導向做出及時有效的決策,也不利于過磅人員及時準確的掌握本礦點的煤炭庫存情況。煤炭分布式軌道衡智能計重系統(tǒng)必須滿足下面四方面的需求,這四個方面分別是司磅員,公司業(yè)務管理人員,系統(tǒng)管理員,系統(tǒng)的健壯性。司磅員的需求是錄入計重信息、打印磅單、打印日報表;公司業(yè)務管理人員的需求是修改由于司磅員的失誤產生的錯誤數(shù)據(jù),匯總打印,制定銷售計劃和生產計劃;系統(tǒng)管理員的需求是設置計重系統(tǒng)運行的基本參數(shù),添加、修改、刪除用戶;系統(tǒng)的健壯性是系統(tǒng)適應惡劣環(huán)境的需要,保證數(shù)據(jù)的安全和準確。
2 系統(tǒng)設計
系統(tǒng)體系結構
根據(jù)需求,煤炭分布式軌道衡智能計重系統(tǒng)采用經典的C/S 結構,這種結構人機界面友好,還可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client 端和Server 端來實現(xiàn),降低了系統(tǒng)的通訊開銷??蛻舳瞬捎肈elphi7.0 開發(fā),因為Delphi7.0 在開發(fā)C/S結構的系統(tǒng)時有著絕對的優(yōu)勢,比如,快速開發(fā),編譯高效,等。服務器端用SQL Server 2005 作為數(shù)據(jù)庫服務器,因為SQL Server2005 在企業(yè)數(shù)據(jù)管理中有著高可用性和提供易用性、可管理性、及支持大型SQL Server 配置的集成的管理工具和管理應用編程接口(APIS)的優(yōu)點;并且SQL Server 2005 對XML 的支持和在SQL 語言中嵌入高級語言的支持在完成數(shù)據(jù)庫系統(tǒng)的開發(fā)中起著舉足輕重的作用。
系統(tǒng)功能模塊設計
煤炭分布式軌道衡智能計重系統(tǒng)功能詳細介紹如下。智能計重業(yè)務:負責計重信息的采集和錄入,智能計重系統(tǒng)可智能關聯(lián)到站信息,主界面上實時顯示重量信息和預設偏差重量,便于操作人員有效控制每節(jié)車皮的裝車情況,本系統(tǒng)智能記憶錄入的車皮信息,減少手工輸入工作量,提高工作效率。
軌道衡查詢打印:用戶通過自定義查詢條件,配置默認打印報表形式,適應不同單位對報表形式的要求。數(shù)據(jù)修改:由于操作員失誤,造成數(shù)據(jù)有誤,可以申請管理員修改已經提交的計重數(shù)據(jù),系統(tǒng)智能記錄修改操作以及相關信息,并備案。
中央數(shù)據(jù)管理:配置當前磅點的信息;客戶關系管理,中央數(shù)據(jù)庫客戶信息的下載;設置上傳本地計量數(shù)據(jù)方式,可以設置自動上傳或者手工上傳;斷點自動上傳,錯誤數(shù)據(jù)自動回滾,提高系統(tǒng)的健壯性;添加,刪除,修改用戶信息。權限管理:添加權限組,以及設置不同角色的操作權限。系統(tǒng)設置:設置串口的類型;設置串口基本參數(shù)。
3 關鍵技術
3.1 SPCOMM
用Delphi 實現(xiàn)串口通信,常用的方法有:使用第三方控件,如Spcomm 控件等;使用Windows API 函數(shù)。使用Windows API 函數(shù)的方法比較適合于編寫較為復雜的底層通信程序。Spcomm 是Small-Pig Team 開發(fā)的一個第三方Delphi 串口控件,該控件封裝了串口通信的類的屬性和方法,提供了對串口的各種操作,編程簡單、通用性強、可移植性好。在Delphi 開發(fā)中已經成為一個被廣泛應用的串口通信開發(fā)控件。
Spcomm 共實現(xiàn)了三個類:串口類、讀線程類以及寫線程類。串口類的一個實例調用方法StartComm 中打開串口,并實例化了一個讀線程實例和一個寫線程實例,這兩個實例和主線程之間進行消息的傳遞,實現(xiàn)串口通信。Spcomm 應用的核心在于主線程、讀線程和寫線程之間的消息傳遞機制,而通信數(shù)據(jù)相關信息的傳遞也是以消息傳遞的方式進行的。
利用Spcomm 進行串口通信,必須設置的基本屬性。CommName 屬性:計算機串口端口號的名字,COM1、COM2……等,在實例化串口類后必須設置串口的此屬性。BaudRate:設定串口通信用的波特率9600,4800 等,根據(jù)實際需要來定。Parity 屬性:校驗位信息None、Odd、Even、Mark、Space 等。ByteSize 屬性:表示一個字節(jié)中,使用多少個數(shù)據(jù)位收發(fā)數(shù)據(jù),根據(jù)具體情況設定5、6、7、8 等。StopBits 屬性:表示一個字節(jié)中,使用停止位的位數(shù),根據(jù)具體情況設定1、1.5、2 等。利用Spcomm 進行串口通信,必須調用的方法和觸發(fā)的事件。StartComm 方法:用來打開串口,開始串口通信。如果失敗,則會拋出串行口錯誤。錯誤類型有串行口己處于打開狀態(tài),所以不能打開串行口,不能創(chuàng)建讀寫進程,不能建立串行口緩沖區(qū)等。StopComm 方法:用來停止串行口的所有進程,關閉串口。WriteCommData(pDataToWrite:PChar;dwSizeofDataToWrite:Word)方法是返回布爾值的函數(shù),其中參量pszStr-ingToWrite 是要發(fā)送到串行口的字符串,DwSizeaf- DataToWrite 是要發(fā)送到串行口的字符串的長度。該方法通過寫線程向串行口輸出緩沖區(qū)發(fā)送數(shù)據(jù)。發(fā)送操作將在后臺默認執(zhí)行。如果寫線程PostMessage 成功,則返回值是True,若寫線程失敗,返回值是False。OnReceiveData(Buffer:Pointer;BufferLength:Word)事件是接受緩沖區(qū)收到數(shù)據(jù)時觸發(fā)的事件,其中參量Buffer 是指向輸入緩沖區(qū)的指針。參量BufferLength 是從緩沖區(qū)收到的數(shù)據(jù)長度。當輸入緩沖區(qū)收到數(shù)據(jù)時,該事件被觸發(fā)。當輸入緩存有數(shù)據(jù)時將觸發(fā)該事件,對從串口收到的數(shù)據(jù)進行處理。
3.2 ADO
ADO(ActiveX Data Object, Active 數(shù)據(jù)對象)是Microsoft 提供的一種面向對象,與語言無關的數(shù)據(jù)訪問應用編程接口。是處理關系數(shù)據(jù)庫和非關系數(shù)據(jù)庫的實用新技術,基于OLE DB 數(shù)據(jù)訪問模式,支持大部分商業(yè)數(shù)據(jù)源。具有易于編程,易于數(shù)據(jù)庫移植,訪問速度快和效率高,占用磁盤空間較少和低內存支出等優(yōu)點。ADO 實際上是OLE DB 的應用層接口,這種結構也為一致的數(shù)據(jù)訪問接口提供了很好的擴展性,而不再局限于特定的數(shù)據(jù)源,因此,ADO 可以處理各種OLE DB 支持的數(shù)據(jù)源。ADO 本身由幾個對象所組成,這幾個對象分別負責提供各種數(shù)據(jù)庫操作行為,大致上可以分為連接、修改和查詢3 個部份。在ADO 模型中,主體對象只有3 個:Connection、Command 和Recordset,一個典型的ADO 應用使用Connection 對象建立與數(shù)據(jù)源的連接, 然后用一個Command 對象給出對數(shù)據(jù)庫操作的命令,比如查詢或者更新數(shù)據(jù)等,而Recordset 用于對結果集數(shù)據(jù)進行維護或者瀏覽等操作。1) Connection 對象
Connection 對象代表與數(shù)據(jù)源進行的唯一會話。也稱為連接對象,用來創(chuàng)建一個與指定數(shù)據(jù)源的連接,包括Microsoft SQL server、Oracle 以及能夠為其指明一個OLEDB 提供程序或一個ODBC 驅動器的任何數(shù)據(jù)源。
2) Command 對象
Command 類是IDBCommand 接口的實現(xiàn),通過Command 來執(zhí)行數(shù)據(jù)庫命令以及數(shù)據(jù)庫數(shù)據(jù)的查詢、更新、插入都通過Command 來實現(xiàn)。
3) Recordset 對象
Recordset 對象代表一個記錄集,是一個連接的數(shù)據(jù)庫中的表,或者是Command 對象的執(zhí)行結果返回的記錄集.在ADO 對象模型中, Recordset 有著舉足輕重的作用。可以通過Recordset 在行中檢查和修改數(shù)據(jù), 所有對數(shù)據(jù)的操作幾乎都是在Recordset 對象中完成的。Record 對象可以用于選定行,上下移動行,添加,更改,刪除行。
4 系統(tǒng)實現(xiàn)
根據(jù)系統(tǒng)需求分析,系統(tǒng)設計以及對關鍵技術的運用,在delphi7和VS2005 開發(fā)環(huán)境下完成系統(tǒng)的開發(fā)。
5 結論
煤炭分布式軌道衡智能計重系統(tǒng)在完成計重操作由手工操作轉化為自動化操作的同時,還融入的先進的管理理念,使得企業(yè)的管理更加規(guī)范化和系統(tǒng)化,也使得整個公司的決策更加及時有效,該系統(tǒng)已經在福建某大型國有煤炭企業(yè)中得到成功的運用。
本文源于網絡轉載,如有侵權,請聯(lián)系刪除