【摘要】隨著現(xiàn)代企業(yè)做大做強(qiáng)和異地建廠綜合生產(chǎn)數(shù)據(jù)監(jiān)控網(wǎng)絡(luò)化勢(shì)在必行,本文介紹了一種數(shù)據(jù)報(bào)表網(wǎng)絡(luò)化的實(shí)現(xiàn)方法。RSView 32是Rockwell Automation公司推出的監(jiān)控組態(tài)軟件,它可以用映射工廠和過(guò)程的方式來(lái)分配應(yīng)用項(xiàng)目的各個(gè)部分,在數(shù)據(jù)監(jiān)控,畫面顯示等方面具有強(qiáng)大的功能。本文結(jié)合RSView32軟件并利用ODBC和IIS擴(kuò)展RSView32軟件功能,通過(guò)ODBC接口將數(shù)據(jù)記錄到Access數(shù)據(jù)庫(kù)中,在IIS環(huán)境下利用ASP讀取Access數(shù)據(jù),通過(guò)客戶端的Web瀏覽軟件讀取數(shù)據(jù)報(bào)表,以實(shí)現(xiàn)數(shù)據(jù)報(bào)表的網(wǎng)絡(luò)化。
【關(guān)鍵詞】數(shù)據(jù)報(bào)表;網(wǎng)絡(luò)化;RSView32;ODBC;Access
1、引言
工業(yè)自動(dòng)化控制一般采用PLC(DCS)、計(jì)算機(jī)、上位機(jī)組態(tài)軟件來(lái)實(shí)現(xiàn)。在工程應(yīng)用中,大部分?jǐn)?shù)據(jù)監(jiān)控系統(tǒng)需要對(duì)設(shè)備采集的數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,并根據(jù)實(shí)際環(huán)境打印出數(shù)據(jù)報(bào)表。所謂數(shù)據(jù)報(bào)表就是根據(jù)實(shí)際需要,以一定的格局將統(tǒng)計(jì)分析后的數(shù)據(jù)記錄顯示和打印出來(lái),如實(shí)時(shí)數(shù)據(jù)報(bào)表、歷史數(shù)據(jù)報(bào)表(班報(bào)表、日?qǐng)?bào)表、月報(bào)表)、報(bào)警記錄報(bào)表等。數(shù)據(jù)報(bào)表在工控系統(tǒng)中是必不可少的一部分,是對(duì)生產(chǎn)過(guò)程中系統(tǒng)監(jiān)控對(duì)象狀態(tài)的綜合記錄和規(guī)律總結(jié)。隨著工業(yè)化和網(wǎng)絡(luò)的發(fā)展進(jìn)程,數(shù)據(jù)網(wǎng)絡(luò)化是遠(yuǎn)程生產(chǎn)監(jiān)控的有效途徑,數(shù)據(jù)報(bào)表網(wǎng)絡(luò)化是讓整個(gè)生產(chǎn)過(guò)程中關(guān)鍵環(huán)節(jié)的生產(chǎn)數(shù)據(jù)實(shí)時(shí)的存儲(chǔ)于服務(wù)器端,利用web方式,在局域網(wǎng)或Internet中進(jìn)行訪問(wèn),在客戶端可以實(shí)時(shí)監(jiān)控生產(chǎn),客戶端為連接網(wǎng)絡(luò)的計(jì)算機(jī)或手機(jī)等工具。
RSView 32是Rockwell Automation公司推出的監(jiān)控組態(tài)軟件,它可以用映射工廠和過(guò)程的方式來(lái)分配應(yīng)用項(xiàng)目的各個(gè)部分,在數(shù)據(jù)監(jiān)控,畫面顯示等方面具有強(qiáng)大的功能。本文結(jié)合RSView32軟件并利用ODBC和IIS擴(kuò)展RSView32軟件功能,通過(guò)ODBC接口將數(shù)據(jù)記錄到Access數(shù)據(jù)庫(kù)中,在IIS環(huán)境下利用ASP讀取Access數(shù)據(jù),通過(guò)客戶端的Web瀏覽軟件讀取數(shù)據(jù)報(bào)表。
2、實(shí)現(xiàn)原理
通過(guò)數(shù)據(jù)模型設(shè)置,RSView32從PLC采集實(shí)時(shí)數(shù)據(jù),通過(guò)ODBC接口存儲(chǔ)到Access數(shù)據(jù)庫(kù)中,在IIS環(huán)境下利用ASP訪問(wèn)Access數(shù)據(jù)庫(kù),ASP將Access數(shù)據(jù)庫(kù)中所需要的數(shù)據(jù)讀取出來(lái),經(jīng)過(guò)統(tǒng)計(jì)處理,形成網(wǎng)絡(luò)報(bào)表。客戶端利用Web瀏覽器或手機(jī)Wap瀏覽器等工具實(shí)時(shí)監(jiān)控網(wǎng)絡(luò)報(bào)表,從而做到讓管理者不受時(shí)間、地點(diǎn)制約就能方便的完成生產(chǎn)監(jiān)控的管理工作。數(shù)據(jù)報(bào)表網(wǎng)絡(luò)化方案框圖如圖所示。
3、網(wǎng)絡(luò)報(bào)表的實(shí)現(xiàn)方法
3.1創(chuàng)建ODBC數(shù)據(jù)源
ODBC(Open Database Connectivity,開放數(shù)據(jù)庫(kù)互連)是微軟公司開放服務(wù)結(jié)構(gòu)(WOSA,Windows Open Services Architecture)中有關(guān)數(shù)據(jù)庫(kù)的一個(gè)組成部分,它建立了一組規(guī)范,并提供了一組對(duì)數(shù)據(jù)庫(kù)訪問(wèn)的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。
由于Windows NT與WindowsXP系統(tǒng)在操作上基本相同,因此以Windows XP操作系統(tǒng)下為例,創(chuàng)建供ASP程序使用的ODBC DSN。以下是創(chuàng)建ODBC DSN的步驟:打開“控制面板”,選擇“管理工具”;當(dāng)雙擊“數(shù)據(jù)源(ODBC)”之后,即可進(jìn)入“ODBC 數(shù)據(jù)源管理器”對(duì)話框;單擊“添加”按鈕,選擇“Driver do Microsoft Access(*.mdb)”驅(qū)動(dòng)程序;輸入數(shù)據(jù)源名,如“CHXZ”,確定后完成ODBC數(shù)據(jù)源的建立。
3.2RSView32中創(chuàng)建歷史數(shù)據(jù)庫(kù)
在RSView的數(shù)據(jù)記錄選項(xiàng)中,把設(shè)置欄的“存儲(chǔ)格局”選為“ODBC”,然后添加ODBC數(shù)據(jù)源,數(shù)據(jù)源名稱要與ODBC數(shù)據(jù)源中所創(chuàng)建的名稱一致,分別選擇標(biāo)記表格“TagTable”、浮點(diǎn)表格“FloatTable”、字符串表格“StringTable”,也可只選中此中一項(xiàng),點(diǎn)擊“創(chuàng)建表格”。將數(shù)據(jù)庫(kù)命名為data.mdb,RSView工程的ODBC歷史數(shù)據(jù)庫(kù)就建立完成。文件管理設(shè)置,選擇清除ODBC數(shù)據(jù)庫(kù)里最舊的記錄,設(shè)置存儲(chǔ)數(shù)據(jù)的周期。記錄觸發(fā)設(shè)置,選擇周期型觸發(fā)方式,并設(shè)置記錄一組數(shù)據(jù)的間隔時(shí)間,本文中設(shè)為10秒。設(shè)置數(shù)據(jù)記錄,選擇需要生成歷史記錄的標(biāo)記。
將所創(chuàng)建的ODBC數(shù)據(jù)庫(kù)設(shè)置文件保存成RSVIEW.mdf文件,在RSView32項(xiàng)目下DLGLOG文件目錄下自動(dòng)創(chuàng)建名為RSVIEW的文件夾,并在系統(tǒng)啟動(dòng)項(xiàng)中選擇數(shù)據(jù)記錄的啟動(dòng)狀態(tài),設(shè)置后在運(yùn)行項(xiàng)目后自動(dòng)開始記錄。
3.3ACCESS數(shù)據(jù)庫(kù)的連接和讀取記錄連接和讀取記錄
在DLGLOG\RSVIEW文件夾下創(chuàng)建conn.asp數(shù)據(jù)庫(kù)連接文件,數(shù)據(jù)庫(kù)連接文件如下:
<% Set conn=server.CreateObject(\"adodb.connection\")‘定義了一個(gè)adodb數(shù)據(jù)庫(kù)連接組件
connstr=\"provider=microsoft.jet.oledb.4.0;data source=\"server.mappath(\"data.mdb\") ‘設(shè)置數(shù)據(jù)連接的路徑
conn.open connstr %>
創(chuàng)建主體數(shù)據(jù)報(bào)表文件,命名為index.asp,在文件中包含數(shù)據(jù)庫(kù)連接的文件conn.asp,方法為<!--#include file=\"conn.asp\"-->,讀取數(shù)據(jù)的方法,如連接讀取FloatTable表。
<% exec=\"select * from FloatTable \"
set rs=server.createobject(\"adodb.recordset\")
rs.open exec,conn,1,1 %>
并讀取FloatTable表中的字段DateAndTime、TagIndex、Val。
<%do while not rs.eof%>
<% rs.movenext Loop %>
在一個(gè)表格中,用3列分別顯示了以上建立的表里面的三個(gè)字段,用do循環(huán),not rs.eof的意思是條件為沒(méi)有讀到記錄集的最后,rs.movenext的意思是顯示完一條轉(zhuǎn)到下面一條記錄,<%=%>就等于<%response.write%>用于在html代碼里面插入asp代碼,主要用于顯示變量。
3.4安裝IIS環(huán)境并配置IIS服務(wù)器
IIS(Internet Information Server,互聯(lián)網(wǎng)信息服務(wù))是一種Web(網(wǎng)頁(yè))服務(wù)組件,其中包括Web服務(wù)器、FTP服務(wù)器、NNTP服務(wù)器和SMTP服務(wù)器,分別用于網(wǎng)頁(yè)瀏覽、文件傳輸、新聞服務(wù)和郵件發(fā)送等方面,它使得在網(wǎng)絡(luò)(包括互聯(lián)網(wǎng)和局域網(wǎng))上發(fā)布信息成了一件很容易的事。安裝了IIS意味著能發(fā)布網(wǎng)頁(yè),并且有ASP(Active Server Pages)、JAVA、VBscript產(chǎn)生頁(yè)面,有著一些擴(kuò)展功能。
安裝步驟:(1)插入windows xp安裝光盤,打開控制面板,然后打開其中的“添加/刪除程序”;(2)在添加或刪除程序窗口左邊點(diǎn)擊“添加/刪除Windows組建”;(3)系統(tǒng)會(huì)啟動(dòng)Windows組建向?qū)?,安裝Internet信息服務(wù)(IIS)(4)系統(tǒng)安裝成功,系統(tǒng)會(huì)自動(dòng)在系統(tǒng)盤新建網(wǎng)站目錄,默認(rèn)目錄為:C:\Inetpub\wwwroot;(5)打開控制面板-性能和維護(hù)-管理工具-Internet 信息服務(wù),Internet信息服務(wù)界面。(6)在默認(rèn)網(wǎng)站上點(diǎn)擊右鍵-選擇屬性,設(shè)置網(wǎng)站屬性。(7)點(diǎn)擊主目錄:在本地路輸入框后點(diǎn)擊瀏覽可以更改網(wǎng)站所在文件位置,默認(rèn)目錄為:C:\Inetpub\wwwroot,我們將路徑改為放置Access數(shù)據(jù)的路徑,如:D:\CHXZ\DLGLOG\RSVIEW,點(diǎn)擊文檔,可以設(shè)置網(wǎng)站默認(rèn)首頁(yè),推薦刪除iisstart.asp,添加index.asp和index.htm;(8)您可以通過(guò)以下方式訪問(wèn)數(shù)據(jù)報(bào)表:http://localhost/RSVIEW/ 或 http://127.0.0.1/ RSVIEW / 或 http://計(jì)算機(jī)名/ RSVIEW / 或 http://本機(jī)IP地址/ RSVIEW / 進(jìn)行訪問(wèn);其它人可以通過(guò)http://計(jì)算機(jī)名/ RSVIEW / 或 http://本機(jī)IP地址/ RSVIEW / 訪問(wèn),如果有域名,把域名解析到本地IP地址,即可通過(guò)http://域名/ RSVIEW。
4 結(jié)束語(yǔ)
通過(guò)本文介紹的方法,可以實(shí)現(xiàn)數(shù)據(jù)報(bào)表的網(wǎng)絡(luò)化,可以依照本文介紹的開發(fā)方式,使報(bào)表內(nèi)容更加豐富和完善。本文介紹的方法適用于Factory Talk View SE中,在實(shí)際項(xiàng)目中數(shù)據(jù)庫(kù)可以選擇Access、Microsoft SQL Server、Oracle等,Web語(yǔ)言可以選擇ASP、PHP、ASP.NET、JSP等。