杜彥飛,王培華,閆國鵬
在ABB AC800F最新版本V9.2版本中直接集成了Execl報(bào)表功能,該功能以Execl為報(bào)表設(shè)計(jì)器,采集和存儲(chǔ)過程數(shù)據(jù)。下面簡單介紹在V9.2版本中如何實(shí)現(xiàn)報(bào)表功能。
在CBF項(xiàng)目樹中右鍵點(diǎn)擊操作員站,可在彈出菜單中選擇Execl Report,操作與插入趨勢、日志相同。
雙擊已插入的Execl報(bào)表打開配置模板,見圖1。
圖1 報(bào)表配置模板
報(bào)表的啟動(dòng)、停止,可選擇自動(dòng)、手動(dòng)。起始時(shí)間為報(bào)表記錄跳到開始創(chuàng)建的時(shí)間。
設(shè)置周期、周期時(shí)間兩個(gè)參數(shù),周期時(shí)間為多長時(shí)間采集一次數(shù)據(jù),周期為采集幾個(gè)數(shù)據(jù)完成一個(gè)文件。
重新啟動(dòng)于:該選項(xiàng)設(shè)置相隔幾小時(shí)后創(chuàng)建下一個(gè)文件。該時(shí)間必須大于周期×周期時(shí)間的乘積。
設(shè)置好以上內(nèi)容之后,點(diǎn)擊定義模板配置Execl報(bào)表的布局和內(nèi)容格式。在每個(gè)單元格中只允許采集一個(gè)過程變量,使用GETVALUE(LT1,nextpostion)函數(shù)來獲取過程數(shù)據(jù);參數(shù)LT1為要獲取的過程數(shù)據(jù)的變量名,參數(shù)nextpostion:先一個(gè)變量的位置有上下左右四個(gè)方向:NEXT_LEFT,NEXT_RIGHT,NEXT_DOWN,NEXT_UP。
在完成對報(bào)表定義后下裝相應(yīng)的操作員站即可。完成后的報(bào)表一般保存在安裝目錄下的Report目錄下。
AC800F V9.1以前的版本沒有報(bào)表功能,但可以通過外掛報(bào)表軟件來實(shí)現(xiàn)報(bào)表功能。為彌補(bǔ)沒有報(bào)表功能的缺陷,ABB提供一款免費(fèi)的外掛報(bào)表軟件OPC Reports V1.0來實(shí)現(xiàn)報(bào)表功能。另外還有一款URPT通用的工業(yè)控制報(bào)表軟件可實(shí)現(xiàn)報(bào)表功能,URPT分為單機(jī)版和高級網(wǎng)絡(luò)版,其中單機(jī)版為免費(fèi)版本,高級網(wǎng)絡(luò)版為收費(fèi)版本,在本文中使用的是單機(jī)版。
以上兩個(gè)軟件都是利用OPC功能來實(shí)現(xiàn)讀取過程數(shù)據(jù),與ABB AC800F系統(tǒng)通訊需要OPC功能。首先安裝AC800F控制系統(tǒng)的OPC趨勢服務(wù)器組件,該組件用來實(shí)現(xiàn)OPC功能與趨勢服務(wù)。
在CBF組態(tài)軟件中添加OPC網(wǎng)關(guān)站:在工程師站軟件CBF的組態(tài)畫面項(xiàng)目樹下插入網(wǎng)關(guān)站(D-GS),在插入畫面下類型下拉框中選擇OPC網(wǎng)關(guān)。
在硬件組態(tài)畫面下添加OPC網(wǎng)關(guān),然后右鍵指定資源,用剛建立的OPC網(wǎng)關(guān)。對網(wǎng)關(guān)站整站下載下裝。
安裝OPC Reports V1.0軟件,在注冊以前該軟件只能用三次。OPC Reports V1.0軟件基于OPC功能,在Execl環(huán)境中實(shí)現(xiàn)。
OPC變量的添加:軟件分為運(yùn)行模式與編輯模式,進(jìn)入編輯模式添加要讀取的過程變量,每一個(gè)過程變量有四個(gè)屬性,即索引、標(biāo)簽、當(dāng)前值和描述。在標(biāo)簽列添加要采集的過程變量,該變量名必須與CBF中的變量名一致,當(dāng)前值欄顯示過程變量的實(shí)時(shí)值,在描述欄對過程變量添加注釋(圖2)。
圖2 ABB OPC Reports運(yùn)行界面
OPC通訊設(shè)置:點(diǎn)擊菜單設(shè)置->連接設(shè)置,調(diào)出OPC通訊設(shè)置欄(圖3)。
圖3 ABB OPC Reports設(shè)置界面
主要設(shè)置點(diǎn):節(jié)點(diǎn)名稱即OPC服務(wù)器所在的計(jì)算機(jī)名或IP地址;資源ID為CBF中的OPC服務(wù)器的資源ID。建議OPC服務(wù)器和OPC報(bào)表安裝在同一臺(tái)計(jì)算機(jī)上,否則要設(shè)置OPC的DCOM通訊,比較繁瑣。關(guān)于DCOM的詳細(xì)設(shè)置請查閱相關(guān)資料。
報(bào)表類型的設(shè)置:報(bào)表軟件支持時(shí)報(bào)、班報(bào)/日報(bào)。時(shí)報(bào)以分鐘為單位采集,每一小時(shí)生成一個(gè)報(bào)表;班報(bào)/日報(bào)每小時(shí)采樣,每天生成一個(gè)報(bào)表文件。
URPT通用報(bào)表軟件為綠色軟件,無需安裝即可運(yùn)行,報(bào)表可以和任何具有OPC接口的廠商進(jìn)行連接。軟件采用VC++編程,效率高運(yùn)行快,數(shù)據(jù)庫采用微軟的Access數(shù)據(jù)庫。需要注意的是每一張報(bào)表中最多可以添加30個(gè)變量。
URPT通用報(bào)表軟件分為兩部分:報(bào)表設(shè)計(jì)器、報(bào)表運(yùn)行系統(tǒng)。
2.3.1 創(chuàng)建報(bào)表模板
在報(bào)表設(shè)計(jì)器中添加想要獲取的過程變量,報(bào)表設(shè)計(jì)器的應(yīng)用比較簡單不再一一介紹,主要介紹一下數(shù)據(jù)表格控件的應(yīng)用(圖4)。
圖4 數(shù)據(jù)表格控件
表格有很多屬性可以根據(jù)實(shí)際需要設(shè)置。單擊增加調(diào)出增加列的彈出窗口,見圖5。
圖5 增加過程變量
名稱:必須是你想要顯示的數(shù)據(jù)名稱,也就是OPC里面的tag變量名,而且這個(gè)名稱必須和你想要顯示的變量名完全一致。
別名:名稱是為了連接OPC變量顯示數(shù)據(jù)用,而別名是為了讓用戶知道這個(gè)OPC變量具體為何物。
寬度:即這一列的寬度,如果數(shù)據(jù)很大可以將寬度設(shè)置大一點(diǎn),這個(gè)寬度可以隨意設(shè)置,但要大于零。
類型:表示要顯示的數(shù)據(jù)是文本還是數(shù)字?jǐn)?shù)據(jù),0=文本,1=數(shù)字。
位數(shù):表示想要顯示的數(shù)據(jù)位數(shù),目前最多只能顯示兩位小數(shù)(在后續(xù)的版本更新中會(huì)根據(jù)需要進(jìn)行改進(jìn))。
需要注意的是這一版的報(bào)表,一個(gè)數(shù)據(jù)表格的前3列必須是如下名稱:第一列:“RPTDate”,第二列:“RPTTime”,第三列:“RPTClassNm”,這三個(gè)名稱不需要OPC變量進(jìn)行關(guān)聯(lián)。
在報(bào)表類型中可以選擇班報(bào)表、定時(shí)報(bào)表、觸發(fā)報(bào)表等類型。為便于以后觀察立即生成報(bào)表可以選擇定時(shí)報(bào)表類型,時(shí)間設(shè)置成1s。
2.3.2 報(bào)表運(yùn)行系統(tǒng)的設(shè)置
報(bào)表運(yùn)行系統(tǒng),主要是把報(bào)表的樣式和DCS現(xiàn)場采集到的數(shù)據(jù)進(jìn)行關(guān)聯(lián),然后根據(jù)用戶設(shè)定的參數(shù)進(jìn)行報(bào)表數(shù)據(jù)讀取,同時(shí)實(shí)現(xiàn)報(bào)表的數(shù)據(jù)的存儲(chǔ)、查詢、打印以及導(dǎo)入到Excel等功能。
報(bào)表系統(tǒng)的建立主要分為三步:
(1)創(chuàng)建OPC服務(wù)器的連接
工具欄上的“OPC連接”按鈕,這時(shí)可以在下面的空白處進(jìn)行OPC的連接配置。
右鍵單擊空白處,或點(diǎn)擊“編輯”下拉菜單中的新建連接,可以彈出如下菜單(圖6)。
圖6 OPC服務(wù)器連接界面
點(diǎn)擊確定后,在報(bào)表運(yùn)行系統(tǒng)自動(dòng)尋找并列出的不同廠商的OPCServer服務(wù)器列表中,選中已經(jīng)創(chuàng)建好的OPCServer,點(diǎn)擊“OK”按鈕,添加OPC服務(wù)器。
(2)OPCServer與報(bào)表設(shè)計(jì)器的連接
在OPC服務(wù)器上單擊右鍵,選擇“新建組”級聯(lián)菜單,彈出如下菜單(圖7)。
圖7 添加分類組的界面
參數(shù)窗口,在此窗口中,只需填入組名字即可,為便于以后查詢,組名必須和報(bào)表設(shè)計(jì)器中設(shè)計(jì)的報(bào)表模板名稱完全一樣。
(3)報(bào)表設(shè)計(jì)器變量與DCS變量的連接
在新建的組上單擊右鍵,選擇“新建變量”級聯(lián)菜單,彈出變量選擇窗口(圖8)。
在變量窗口中雙擊想要選入報(bào)表的變量,變量會(huì)自動(dòng)進(jìn)入“Item ID:”中,輸入“C03”,單擊右邊的對號(hào)按鈕,數(shù)據(jù)類型會(huì)刷新成和DCS中一樣的類型,然后點(diǎn)擊“OK”按鈕,DCS變量便加入進(jìn)來。在實(shí)際應(yīng)用中過程變量會(huì)很多,在變量瀏覽器中查找不太方便,可以在報(bào)表設(shè)計(jì)器中找到已添加好的變量拷貝到Item ID中。
圖8 添加過程變量的界面
重復(fù)過程C完成多個(gè)變量。
在報(bào)表系統(tǒng)配置完成后,點(diǎn)擊保存,生成配置文件。退出報(bào)表系統(tǒng)然后重新運(yùn)行,可以看到采集到的過程數(shù)據(jù)。然后根據(jù)需要在報(bào)表設(shè)計(jì)器中設(shè)置需要的報(bào)表類型。
報(bào)表系統(tǒng)運(yùn)行時(shí),必須注意:報(bào)表模板,報(bào)表系統(tǒng)配置文件,報(bào)表系統(tǒng)數(shù)據(jù)庫,報(bào)表模板上圖標(biāo)文件,必須和報(bào)表運(yùn)行系統(tǒng)文件位于同一路徑。
生成報(bào)表后,可以利用軟件的打印功能打印報(bào)表,也可以導(dǎo)出為Execl文件。
如果以上幾個(gè)軟件還不能滿足使用要求的話,還有另一種思路:在Execl中運(yùn)用VBA技術(shù)自己開發(fā)報(bào)表。
通過Execl的菜單命令:Tools->Macro->Visual Basic Edtor打開VBA編輯器,在VBA編輯器中通過Tools->Reference菜單命令,打開Reference對話框,選中 Freelace 2000 OPC Automation2.0和 OPCDisp,點(diǎn)擊OK添加這兩個(gè)引用。
編輯Excel表格,創(chuàng)建宏,編寫如下宏代碼:
采用以上方法生成Execl報(bào)表簡單可靠,易用性、使用性很強(qiáng)?!?/p>