報表功能是自控系統經常用的一個功能,我們能用表格的方式,查詢到歷史數據,也能通過報表分析、統計並根據報表調整工藝配方等等。
Intouch並不像其他組態軟件一樣,對報表支持力度上不太友好,需要自己制作報表,在查詢大量文檔及自己實踐后,整理了一下簡易報表制作流程。
該報表是基於Intouch的歷史趨勢記錄制作的,在Intouch及Excel中通過腳本和宏實現,簡單的展示畫面如下所示,模板可重復使用。
一、Intouch歷史趨勢記錄
首先需要勾選Intouch標記名的記錄數據,並做相關配置。
Intouch歷史趨勢是以.idx和.lgh格式文件存儲的。
二、修改Windows系統時間格式
Intouch提供的腳本庫似乎只能通過MM/dd/yyyy格式來查詢,修改Windows系統時間格式
三、在Intouch中生成一系列帶HDW的標記名
如果是需要首次自動生成HDW標記名,打開向導選擇,選擇趨勢中的歷史數據向導,並添加至畫面上
歷史數據向導圖形界面如下所示
雙擊歷史數據面板向導,在歷史趨勢一欄中添加一個已經創建的趨勢或者點擊建議,然后確定,HDW的標記名即創建成功。
打開標記名字典,查看是否存在這些標記名。
歷史數據向導就是把歷史數據導成.csv格式文件。
四、制作報表查詢畫面
制作一個簡單的報表畫面來測試一下
首先需要創建四個內存整型的標記名Year_Q、Mon_Q、Day_Q、Hour_Q,分別表示用戶查詢時輸入的具體時間,
接着,還需要創建四個內存消息的標記名Years、Mons、Days、Data,
創建一個存放報表的文件夾,並在其中創建一個.csv格式的文件,該文件用來存儲Intouch查詢到的數據。
在Intouch中,查詢日報表的按鈕添加腳本
測試一下查詢功能,運行並查詢。可以自己根據HDWWriteFile標記名來添加查詢中,查詢完成等提示字段
在查詢完成后,找到ReportDay.csv文件,其中如果存在數據,則查詢完成
五、在Excel中展示數據
首先提供一份報表模板,可存放在ReportDay文件夾下。該版本報表為橫向數據顯示
打開office的宏。文件-選項-信任中心-信任中心設置
(可在自定義功能區中勾上開發工具的顯示)
選擇宏設置,啟用所有宏,並且信任對VBA工程對象模型的訪問勾上
選擇開發工具Visual Basic
插入模塊
添加宏
選擇ThisWorkbook,添加文件啟動是自動運行宏腳本
保存excel,並且以.xlsm的格式保存,其他格式保存文件可能會出問題
xlsm是xlsx啟用了宏的版本,可打開后自動運行宏
重新打開報表文件,可以看到報表文件中已經存在數據
報表完成
六、Intouch直接打開Excel文件
添加一個打開日報表的按鈕
添加腳本
運行一下看結果,如果正常打開,則完成。
七、報表優化
Intouch我沒有找到可嵌入的控件,使用網頁嵌入也打開失敗,並沒有進行過多的測試,可討論;
在打開報表關閉的時候,總會出現提示框是否保存,是由於宏運行的結果,想取消掉這個提示框,需要加一段代碼,設置為默認保存;
這個報表只做簡單的查看,並沒有制作每天自動生成,步驟比較繁瑣,存在一定困難。但只需要Intouch歷史文件在,即可查詢。
個人認為如果要每天自動生成文件,可以把數據存儲在SQLServer中這樣來制作,比較方便。
八、優缺點
優點:
制作方便快速,可重復套用模板,查詢快
缺點:
存儲的數據量大時,查詢會很慢,正常情況下都是可以通用的
不能固定生成一份excel的文件存儲,需要自己打開存儲。但只要數據存在,任何時候都能查詢到