1.技術背景
1.1 B/S應用模式介紹
當Internet技術迅速發展時,人們希望把應用程序放到網絡上去執行,即:將運行在客戶機端的應用軟件移植到服務器端,客戶機不再需要應用程序,應用軟件集中在服務器端,用戶通過瀏覽器來執行應用,這就是B/S模式。這種模式把Web技術和數據庫技術結合起來,實現了開發環境和應用環境的分離,客戶端使用相對統一的瀏覽器代替客戶端軟件,B/S模式見圖1-1。
1.2 ASP與ADO技術介紹
ASP即不是一種語言、也不是一種開發工具,而是一種內含于信息服務管理器中的易學易用、可以集成Script語言到HTML頁面的服務器端的腳本語言環境,其主要功能是為生成動態的、交互式的Web服務器應用程序提供一種功能強大的方式或技術。它是一種Web服務器端的技術,它的所有命令和腳本均在服務器端解釋執行、向數據庫發送SQL指令,執行后再將結果以HTML格式傳送至客戶端的瀏覽器。
ActiveX數據對象(ADO)是一種易于使用的應用程序接口(API),該接口將OLE DB封裝于以用于應用程序的腳本語言中。編制動態網頁時,與數據庫連接用的就是ADO。
2.分廠網絡的建設
網絡的建設主要用到的硬件有服務器、客戶機、交換機、集線器、調制解調器、網卡、網線、廠內電話線的等。分廠網絡拓撲結構見圖2-1。
圖2-1 分廠網絡拓撲結構圖
[說明]上圖中分廠大樓內的機器(如:設備科、技術科的機器)直接通過網線接入網絡;離大樓較遠的遠程計算機,如:運一車間、運二車間、運三車間、分析儀表和廠內的移動用戶通過撥號接入網絡。
3.數據庫設計及實現
3.1表結構及表間的關系
計控分廠儀表數據表,儀表數據變更記錄表與其他被參照表間的關系如圖3-1。在表間關系圖中,每一個表用一個矩形框表示,最上方是表名,下面是相應的字段,字段旁有鑰匙圖標的是本表的主鍵字段。各表之間的連線表示這兩個表有參照關系,連線的“鑰匙標記”端指向被參照表的主鍵字段,連線的“多標記”端指向參照表(主表)的外鍵字段,兩個表之間就是通過被參照表的主鍵字段和參照表的外鍵字段進行聯系的,如:計控分廠儀表數據表與工藝單元表可以通過工藝單元字段進行表連接。兩個表建立關系后,可以對INSERT和UPDATE操作強制關系,如:計控分廠儀表數據表INSERT或UPDATE一條記錄時它的工藝單元字段必須是工藝單元表的所有記錄中工藝單元字段中已經存在的值,否則不能進行這一操作。兩個表建立關系后,可以級聯更新相關字段,級聯刪除相關字段,即被參照表對記錄的主鍵字段進行修改時,參照表記錄的相應外鍵字段自動做相應的修改;被參照表刪除記錄時,參照表自動刪除本表與之相關的記錄。表之間建立對應關系,并選擇表間的強制關系,就不用再單獨編寫表間的觸發器,減少了代碼編寫的復雜性,有效地保證了數據的一致性和完整性。
圖3-1 表間關系
3.2數據的導入
在以往的工作中,儀表分廠已經積累了大量的儀表數據信息,它們以文件的形式存儲在電腦中,主要有兩種格式:一種是ACCESS文件*.mdb,一種是EXCEL文件*.xls。為了集中管理數據,降低維護成本,需要將原有的數據文件導入由SQLSERVER管理的數據庫中,并對數據進行有效的整理,建立表之間的關系,保證數據的一致性和完整性,以便WEB頁面對數據信息進行訪問。下面是數據的導入方法:
在企業管理器的控制臺目錄下,找到shebei庫,點擊右鍵,在出現的菜單中選擇“所有任務”,在級聯菜單中選擇“導入數據”,將出現DTS導入/導出向導,按照向導的提示進行數據的入。首先需要選擇數據源,如果導入的是EXCEL文件,則數據源選擇“Microsoft Excel 97
4.應用軟件設計及實現
應用系統需要實現數據的錄入、查詢、修改、刪除、數據的統計及報表的打印,以及數據的移動等模塊,系統結構見圖4-1。下面挑選兩個模塊介紹實現方法。
圖4-1 儀表設備管理系統結構圖
4.1單表快速查詢模塊
對于數據量不是很大的基表(如:工藝單元表),進行查詢時不需要輸入查詢條件。用戶點擊快速查詢模塊下拉菜單中對應的表鏈接,便可顯示此表的所有記錄,見圖4-2。
圖4-2 單表查詢(工藝單元表)結果顯示畫面
在結果集界面中用戶可以利用上下移動鍵查看記錄,程序設計為在每條記錄的主鍵字段內容值上建立鏈接,點擊鏈接可以進入這條記錄的編輯畫面,在編輯畫面可以對本條記錄進行修改、刪除。
4.2報表及統計模塊
系統設計了多個報表統計內容,下面僅以儀表月檢修計劃報表為例介紹?,F場的每一塊儀表,都需要校驗,只是校驗的周期不同。檢驗周期有兩個月、三個月、一年、二年等不同時間,所以每個月都需要遍例儀表數據庫,查詢出需要重新檢定的儀表進行檢定,之后修改儀表數據庫的檢定日期字段。儀表數據庫的檢定周期字段是int數據類型,數據值為天數,天數以每月為30天,每年為365天計算而得出。儀表數據庫的檢定日期字段是smalldatetime,是日期型數據類型。我們的需要是查出“檢定日期”加上“檢定周期”的天數值后所得的日期值超過了當前系統日期值的記錄,即當前日期與檢定日期的天數之差大于檢定周期值的記錄。當前系統的日期值可以通過函數getdate()獲得,日期與日期的運算由函數datediff(dy,檢定日期,getdate())完成,參數dy代表返回值為天數,返回值為后兩個參數的天數之差。具體的SQL語句如下:
SELECT 儀表位號,工藝單元,檢定人員,檢定日期,檢定周期,datediff(dy,檢定日期,getdate()) AS 超出時間
FROM 計控分廠儀表數據
WHERE datediff(dy,檢定日期,getdate())>檢定周期
經過查詢,結果如圖4-3,給出了需要檢定的儀表位號及相關信息:
圖4-3需檢定儀表統計結果顯示
5.系統安全
本系統將在企業的內部網絡上使用,不接入Internet 所以它的安全問題主要是內部的安全,利用完善的用戶安全控制機制可以最大程度保證儀表數據的安全。系統設置多重安全控制,從網絡訪問、數據庫訪問和應用程序的訪問設置三重密碼機制,對個人權限進行詳細的劃分,保證系統的安全運行。不同的用戶分配不同的權限,根據自己所擁有的權限對網上數據資源進行訪問。同時,建立備份及恢復機制,在系統出現故障時,及時對系統和數據庫進行恢復。
6.結束語
目前,本系統已投入使用。本地人員可以直接查詢儀表數據,遠程用戶可以通過電話線登錄分廠網利用IE瀏覽器查看儀表相關數據。本系統的投運提高了工作效率,減少了出錯幾率。本系統是專為化工儀表數據管理設計開發的網絡版應用軟件,可以向其它石化企業推廣使用。