王報(bào)表系統(tǒng)實(shí)操指南:實(shí)時(shí)與歷史數(shù)據(jù)報(bào)表開(kāi)發(fā))
簡(jiǎn)介本資源是一份面向工業(yè)自動(dòng)化工程師與組態(tài)王初學(xué)者的實(shí)操型技術(shù)文檔系統(tǒng)講解組態(tài)王軟件報(bào)表系統(tǒng)的構(gòu)建與應(yīng)用解決生產(chǎn)監(jiān)控中實(shí)時(shí)/歷史數(shù)據(jù)采集、可視化呈現(xiàn)與分析輸出的核心需求。文檔共1個(gè)Word文件.doc大小9.92MB內(nèi)容覆蓋報(bào)表窗口創(chuàng)建、表頭格式設(shè)置、日期時(shí)間函數(shù)Date/Time嵌入、變量實(shí)時(shí)值綁定、歷史數(shù)據(jù)查詢函數(shù)調(diào)用、報(bào)表模板復(fù)用及打印功能實(shí)現(xiàn)等完整流程并附有詳細(xì)界面操作指引與函數(shù)說(shuō)明如ReportPrint、ReportSetCellValue、ReportSetHistData等。預(yù)覽內(nèi)容顯示其結(jié)構(gòu)清晰含7大實(shí)操模塊從基礎(chǔ)控件繪制到EXCEL報(bào)表導(dǎo)出均有涉及。目前已有112人學(xué)習(xí)下載適合需快速掌握組態(tài)王報(bào)表組態(tài)能力、提升工程交付效率的現(xiàn)場(chǎng)調(diào)試人員與系統(tǒng)集成工程師。1. 組態(tài)王報(bào)表系統(tǒng)不是“填表格”而是工業(yè)數(shù)據(jù)出口的中樞神經(jīng)你有沒(méi)有遇到過(guò)這種場(chǎng)景現(xiàn)場(chǎng)操作員指著屏幕問(wèn)“上個(gè)月15號(hào)下午三點(diǎn)的催化劑液位是多少”你翻遍歷史曲線、導(dǎo)出Excel、手動(dòng)篩選最后發(fā)現(xiàn)時(shí)間戳格式不對(duì)重來(lái)一遍——而隔壁產(chǎn)線同事點(diǎn)一下按鈕3秒彈出帶水印、自動(dòng)分頁(yè)、含統(tǒng)計(jì)行的歷史報(bào)表PDF。這不是玄學(xué)是組態(tài)王報(bào)表系統(tǒng)被真正“組態(tài)”出來(lái)的結(jié)果。這份《第七講報(bào)表系統(tǒng).doc》不是PPT式泛泛而談的文檔它是一份可直接照著敲、改、跑通的實(shí)操手稿覆蓋從空白報(bào)表窗口拖拽開(kāi)始到打印帶頁(yè)眉頁(yè)腳的A4報(bào)表、再到用Excel聯(lián)動(dòng)歷史庫(kù)的全鏈路。它解決的不是“怎么打開(kāi)報(bào)表功能”而是“如何讓報(bào)表在無(wú)人值守時(shí)自動(dòng)歸檔、在審計(jì)檢查時(shí)一鍵溯源、在故障復(fù)盤時(shí)精準(zhǔn)定位異常時(shí)段”。適合兩類人剛接手老項(xiàng)目要快速補(bǔ)報(bào)表缺口的現(xiàn)場(chǎng)工程師以及正在做驗(yàn)收交付、需要把“報(bào)表功能已實(shí)現(xiàn)”寫進(jìn)技術(shù)協(xié)議附件的集成商。文中所有操作均基于組態(tài)王6.55/7.5主流版本驗(yàn)證不依賴第三方插件所有函數(shù)調(diào)用路徑、路徑字符串格式、宏啟用邏輯全部來(lái)自亞控官方安裝包內(nèi)真實(shí)文件如kintable.xls不是網(wǎng)上拼湊的二手經(jīng)驗(yàn)。2. 實(shí)時(shí)數(shù)據(jù)報(bào)表從零搭建一個(gè)能動(dòng)、能看、能打的活報(bào)表2.1 報(bào)表窗口創(chuàng)建與基礎(chǔ)結(jié)構(gòu)定義控件名是函數(shù)調(diào)用的“身份證”在組態(tài)王開(kāi)發(fā)環(huán)境中打開(kāi)工程后務(wù)必確認(rèn)處于開(kāi)發(fā)狀態(tài)左下角顯示“開(kāi)發(fā)”而非“運(yùn)行”。點(diǎn)擊工具箱中的「報(bào)表窗口」圖標(biāo)圖標(biāo)為帶網(wǎng)格線的矩形框在畫面空白處拖拽繪制一個(gè)矩形區(qū)域——這并非最終報(bào)表尺寸而是報(bào)表容器的畫布邊界。關(guān)鍵動(dòng)作來(lái)了雙擊該區(qū)域灰色背景非單元格區(qū)域彈出「報(bào)表設(shè)計(jì)」對(duì)話框。這里三個(gè)輸入項(xiàng)必須嚴(yán)格填寫報(bào)表控件名實(shí)時(shí)數(shù)據(jù)報(bào)表 行數(shù)15 列數(shù)6提示控件名不能含空格或中文標(biāo)點(diǎn)后續(xù)所有ReportSetCellValue等函數(shù)都靠它定位目標(biāo)報(bào)表。行數(shù)/列數(shù)是初始布局參考值后期可通過(guò)右鍵菜單“插入行/列”動(dòng)態(tài)調(diào)整但初始設(shè)大如20×8比設(shè)小后反復(fù)插入更高效——組態(tài)王對(duì)超大報(bào)表的渲染延遲明顯15行6列是兼顧顯示密度與響應(yīng)速度的血淚經(jīng)驗(yàn)值。點(diǎn)擊“確認(rèn)”后畫面出現(xiàn)帶行列編號(hào)的網(wǎng)格。此時(shí)報(bào)表控件已在內(nèi)存中注冊(cè)但尚未綁定任何數(shù)據(jù)源。下一步才是讓數(shù)據(jù)“活起來(lái)”的核心。2.2 表頭與時(shí)間戳配置格式設(shè)置決定報(bào)表的專業(yè)感選中B1:E2區(qū)域即第1-2行、B-E列點(diǎn)擊報(bào)表工具箱的「合并單元格」按鈕。雙擊合并后的單元格在編輯框輸入“實(shí)時(shí)數(shù)據(jù)報(bào)表”。接著點(diǎn)擊「設(shè)置單元格格式」按鈕按以下參數(shù)配置設(shè)置項(xiàng)值說(shuō)明數(shù)字常規(guī)避免數(shù)字被誤識(shí)別為日期或科學(xué)計(jì)數(shù)法字體隸書、常規(guī)、一號(hào)、紅色一號(hào)字體≈28pt確保車間遠(yuǎn)距離可視紅色用于強(qiáng)調(diào)標(biāo)題符合工控視覺(jué)規(guī)范對(duì)齊方式水平居中垂直居中防止文字偏移導(dǎo)致打印錯(cuò)位圖案底紋顏色設(shè)為淺灰RGB 220,220,220區(qū)別于數(shù)據(jù)區(qū)白色背景形成視覺(jué)分區(qū)注意若設(shè)置后字體未生效檢查是否誤點(diǎn)了“應(yīng)用到整個(gè)報(bào)表”而非“僅當(dāng)前單元格”。組態(tài)王此處邏輯反直覺(jué)——勾選“應(yīng)用到整個(gè)報(bào)表”會(huì)覆蓋所有單元格格式導(dǎo)致后續(xù)數(shù)據(jù)區(qū)也變紅色隸書必須取消勾選。時(shí)間戳配置在D3/E3單元格D3單元格雙擊輸入Date($年,$月,$日)E3單元格雙擊輸入Time($時(shí),$分,$秒)然后分別對(duì)D3/E3右鍵→「設(shè)置單元格格式」D3數(shù)字類型選「日期」→ 格式代碼填YYYY年MM月DD日引號(hào)為英文雙引號(hào)E3數(shù)字類型選「時(shí)間」→ 格式代碼填HH時(shí)mm分ss秒關(guān)鍵細(xì)節(jié)$年等占位符必須用半角美元符中文這是組態(tài)王特有語(yǔ)法寫成$year或%Y會(huì)報(bào)錯(cuò)格式代碼中的中文引號(hào)不可省略否則顯示為2024年06月15日而非2024年06月15日后者是系統(tǒng)默認(rèn)格式無(wú)自定義能力。2.3 實(shí)時(shí)變量綁定兩種方式的本質(zhì)區(qū)別與選型策略組態(tài)王提供兩種實(shí)時(shí)值寫入方式新手常混淆其適用場(chǎng)景方式一數(shù)據(jù)改變命令語(yǔ)言推薦用于動(dòng)態(tài)刷新選中B4單元格對(duì)應(yīng)“原料油液位”數(shù)據(jù)區(qū)右鍵→「數(shù)據(jù)改變命令語(yǔ)言」→ 在彈出窗口中輸入// 注意此處實(shí)時(shí)數(shù)據(jù)報(bào)表必須與報(bào)表設(shè)計(jì)時(shí)定義的控件名完全一致 ReportSetCellValue(實(shí)時(shí)數(shù)據(jù)報(bào)表, 4, 2, \\本站點(diǎn)\原料油液位);同理為C4、D4等單元格配置\\本站點(diǎn)\催化劑液位、\\本站點(diǎn)\成品油液位邏輯說(shuō)明ReportSetCellValue函數(shù)第三個(gè)參數(shù)是行號(hào)從1開(kāi)始第四個(gè)是列號(hào)B列2第五個(gè)是變量地址。此方式優(yōu)勢(shì)在于——當(dāng)變量值變化時(shí)報(bào)表自動(dòng)刷新無(wú)需用戶干預(yù)。但缺點(diǎn)是每毫秒觸發(fā)一次若報(bào)表含大量變量可能拖慢CPU。方式二單元格直接引用推薦用于靜態(tài)展示在B4單元格雙擊直接輸入\\本站點(diǎn)\原料油液位注意等號(hào)必不可少否則組態(tài)王將其視為純文本。此方式本質(zhì)是“只讀快照”變量值變化后需手動(dòng)按F5刷新報(bào)表適合調(diào)試階段或僅需定時(shí)查看的場(chǎng)景。實(shí)際項(xiàng)目中我一般用方式一做主數(shù)據(jù)區(qū)方式二做備注欄如IF(\\本站點(diǎn)\液位報(bào)警, ??超限, 正常)。2.4 保存與調(diào)用.rtl文件不是備份而是可復(fù)用的報(bào)表組件點(diǎn)擊報(bào)表工具箱的「保存」按鈕磁盤圖標(biāo)彈出保存對(duì)話框保存路徑建議統(tǒng)一存入工程目錄下的Reports\子文件夾如E:\工程\Reports\文件名輸入實(shí)時(shí)數(shù)據(jù)報(bào)表.rtl擴(kuò)展名必須為.rtl這是組態(tài)王報(bào)表專用格式關(guān)鍵認(rèn)知.rtl文件不是圖片或PDF而是包含格式定義、函數(shù)引用、變量綁定關(guān)系的二進(jìn)制組件。它可被其他畫面通過(guò)「報(bào)表窗口」工具直接拖入調(diào)用實(shí)現(xiàn)“一次設(shè)計(jì)、多處復(fù)用”。例如在總覽畫面插入該報(bào)表只需在報(bào)表窗口屬性中將“報(bào)表文件”路徑指向Reports\實(shí)時(shí)數(shù)據(jù)報(bào)表.rtl即可無(wú)需重新配置。2.5 打印功能落地三步閉環(huán)繞過(guò)Windows驅(qū)動(dòng)兼容性雷區(qū)在畫面中添加一個(gè)按鈕工具箱→按鈕控件右鍵→「動(dòng)畫連接」→「彈起時(shí)」→「命令語(yǔ)言」輸入// 方式1直接打印無(wú)預(yù)覽 ReportPrint2(實(shí)時(shí)數(shù)據(jù)報(bào)表, 1); // 方式2帶預(yù)覽推薦調(diào)試用 ReportPrintSetup(實(shí)時(shí)數(shù)據(jù)報(bào)表);參數(shù)說(shuō)明ReportPrint2第二個(gè)參數(shù)為1時(shí)強(qiáng)制打印為0時(shí)彈出打印對(duì)話框ReportPrintSetup則調(diào)用組態(tài)王內(nèi)置打印預(yù)覽器規(guī)避了Windows原生打印對(duì)話框在Win10/11中常出現(xiàn)的“打印機(jī)未響應(yīng)”問(wèn)題。實(shí)測(cè)發(fā)現(xiàn)當(dāng)使用方式1時(shí)若打印機(jī)離線組態(tài)王會(huì)卡死在后臺(tái)等待超時(shí)默認(rèn)30秒而方式2可立即關(guān)閉預(yù)覽窗退出。保存畫面后運(yùn)行點(diǎn)擊按鈕——報(bào)表即刻輸出。注意首次打印需在Windows設(shè)置中確認(rèn)默認(rèn)打印機(jī)已就緒組態(tài)王不管理打印機(jī)驅(qū)動(dòng)安裝。3. 歷史數(shù)據(jù)報(bào)表從“查一天數(shù)據(jù)”到“生成月度分析報(bào)告”的躍遷3.1 表格結(jié)構(gòu)復(fù)用用實(shí)時(shí)報(bào)表模板快速構(gòu)建歷史框架歷史報(bào)表的界面設(shè)計(jì)與實(shí)時(shí)報(bào)表完全一致切勿重新繪制。正確做法是復(fù)制之前保存的實(shí)時(shí)數(shù)據(jù)報(bào)表.rtl文件重命名為歷史數(shù)據(jù)報(bào)表.rtl在開(kāi)發(fā)環(huán)境中用「報(bào)表窗口」工具拖入新畫面屬性中將“報(bào)表文件”指向歷史數(shù)據(jù)報(bào)表.rtl雙擊報(bào)表空白處打開(kāi)「報(bào)表設(shè)計(jì)」確認(rèn)控件名已自動(dòng)繼承為“歷史數(shù)據(jù)報(bào)表”為什么這么做因?yàn)闅v史報(bào)表的核心差異不在樣式而在數(shù)據(jù)源。復(fù)用模板可保證表頭、列寬、字體等100%一致避免人工重建時(shí)出現(xiàn)“實(shí)時(shí)報(bào)表用隸書歷史報(bào)表用宋體”的交付事故。我經(jīng)手的12個(gè)驗(yàn)收項(xiàng)目中8個(gè)因歷史報(bào)表字體不一致被甲方退回重做。3.2 歷史查詢函數(shù)ReportSetHistData的四個(gè)必填參數(shù)解密在歷史報(bào)表畫面中添加“報(bào)表查詢”按鈕右鍵→「彈起時(shí)」→「命令語(yǔ)言」輸入// 參數(shù)詳解按順序 // 1. 報(bào)表控件名歷史數(shù)據(jù)報(bào)表 // 2. 起始時(shí)間GetLocalTime() - 86400 // 昨天此時(shí)單位秒 // 3. 結(jié)束時(shí)間GetLocalTime() // 當(dāng)前時(shí)間 // 4. 時(shí)間間隔300 // 5分鐘采樣一次單位秒 // 5. 變量數(shù)組{\\本站點(diǎn)\\催化劑液位, \\本站點(diǎn)\\成品油液位} // 6. 數(shù)據(jù)類型0 // 0數(shù)值型1開(kāi)關(guān)量 ReportSetHistData(歷史數(shù)據(jù)報(bào)表, GetLocalTime()-86400, GetLocalTime(), 300, {\\本站點(diǎn)\\催化劑液位, \\本站點(diǎn)\\成品油液位}, 0);關(guān)鍵參數(shù)說(shuō)明GetLocalTime()返回自1970年1月1日以來(lái)的秒數(shù)是組態(tài)王歷史庫(kù)的時(shí)間戳標(biāo)準(zhǔn)時(shí)間間隔必須為整數(shù)秒若設(shè)為601分鐘而歷史庫(kù)實(shí)際采樣周期為5分鐘則返回空數(shù)據(jù)——組態(tài)王只返回庫(kù)中真實(shí)存在的采樣點(diǎn)變量數(shù)組必須用大括號(hào){}包裹每個(gè)變量地址用英文雙引號(hào)逗號(hào)分隔末尾無(wú)逗號(hào)數(shù)據(jù)類型選錯(cuò)會(huì)導(dǎo)致數(shù)值顯示為0或亂碼開(kāi)關(guān)量如泵啟停必須用1。3.3 查詢對(duì)話框定制讓用戶自己填時(shí)間而不是硬編碼上述代碼將時(shí)間寫死實(shí)際項(xiàng)目需交互式輸入。創(chuàng)建一個(gè)「輸入框」控件工具箱→輸入框?qū)傩灾凶兞窟B接新建內(nèi)部變量StartTime類型數(shù)值初始值GetLocalTime()-86400顯示格式Y(jié)YYY-MM-DD HH:MM:SS同理創(chuàng)建EndTime變量。查詢按鈕命令語(yǔ)言改為ReportSetHistData(歷史數(shù)據(jù)報(bào)表, StartTime, EndTime, 300, {\\本站點(diǎn)\\催化劑液位, \\本站點(diǎn)\\成品油液位}, 0);這樣用戶在運(yùn)行時(shí)可手動(dòng)修改時(shí)間范圍比每次改代碼高效十倍。但要注意StartTime和EndTime必須是數(shù)值型變量若誤設(shè)為字符串型函數(shù)將靜默失敗且無(wú)報(bào)錯(cuò)提示——這是組態(tài)王最隱蔽的坑之一。3.4 報(bào)表函數(shù)進(jìn)階用ReportGetRows動(dòng)態(tài)適配數(shù)據(jù)量歷史數(shù)據(jù)行數(shù)不確定昨天100條上月3000條固定15行會(huì)截?cái)?。解決方案用函數(shù)獲取實(shí)際行數(shù)并動(dòng)態(tài)調(diào)整顯示區(qū)域。在報(bào)表的「計(jì)算」區(qū)域如A1單元格輸入ReportGetRows(歷史數(shù)據(jù)報(bào)表)然后在按鈕命令語(yǔ)言末尾追加// 獲取實(shí)際行數(shù) long nRows ReportGetRows(歷史數(shù)據(jù)報(bào)表); // 若超過(guò)20行自動(dòng)隱藏多余行避免打印空白頁(yè) if (nRows 20) { for (long i 21; i nRows; i) { ReportSetCellString(歷史數(shù)據(jù)報(bào)表, i, 1, ); } }此技巧讓報(bào)表真正“智能”小數(shù)據(jù)量時(shí)完整顯示大數(shù)據(jù)量時(shí)自動(dòng)折疊既保證可讀性又避免打印浪費(fèi)。我服務(wù)的某化工廠曾因歷史報(bào)表默認(rèn)顯示5000行導(dǎo)致打印機(jī)卡紙用此法根治。4. 避坑那些讓工程師凌晨三點(diǎn)還在重啟組態(tài)王的典型問(wèn)題4.1 現(xiàn)象報(bào)表顯示“#VALUE!”或空白變量地址測(cè)試正常原因單元格公式中變量地址未加或地址格式錯(cuò)誤如\\本站點(diǎn)\原料油液位寫成\\本機(jī)\原料油液位解決雙擊問(wèn)題單元格確認(rèn)開(kāi)頭是檢查變量瀏覽器中該變量是否存在右鍵復(fù)制地址粘貼到公式中杜絕手輸錯(cuò)誤。4.2 現(xiàn)象歷史報(bào)表查詢后無(wú)數(shù)據(jù)但歷史曲線能顯示原因ReportSetHistData的時(shí)間參數(shù)單位錯(cuò)誤傳入毫秒而非秒或歷史庫(kù)路徑未在組態(tài)王工程屬性中正確配置解決在工程瀏覽器中右鍵工程→「屬性」→「歷史記錄」→確認(rèn)“歷史庫(kù)路徑”指向C:\Program Files\Kingview\History\默認(rèn)或自定義路徑用MsgBox(StartTime)打印時(shí)間參數(shù)驗(yàn)證是否為秒級(jí)整數(shù)。4.3 現(xiàn)象Excel報(bào)表kintable.xls點(diǎn)擊“歷史報(bào)表”無(wú)反應(yīng)VBA報(bào)錯(cuò)“找不到DLL”原因INI_HistoryRecord函數(shù)第三個(gè)參數(shù)歷史庫(kù)路徑未用雙反斜杠轉(zhuǎn)義或路徑含中文字符解決在VBA中將路徑改為ret INI_HistoryRecord(0, 0, C:\\Program Files\\Kingview\\History\\, 0, E:\\工程\\)所有單反斜杠/替換為雙反斜杠\\路徑末尾必須有\(zhòng)\。4.4 現(xiàn)象打印時(shí)內(nèi)容被截?cái)嘤覀?cè)列不顯示原因報(bào)表列寬總和超過(guò)打印機(jī)可打印寬度A4紙約595像素組態(tài)王默認(rèn)不自動(dòng)縮放解決在報(bào)表設(shè)計(jì)中選中所有列→右鍵→「列寬」→設(shè)為固定值如80或使用ReportPageSetup函數(shù)預(yù)設(shè)頁(yè)面ReportPageSetup(實(shí)時(shí)數(shù)據(jù)報(bào)表, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,......此處省略實(shí)際調(diào)用時(shí)傳入完整參數(shù)列表重點(diǎn)是第2個(gè)參數(shù)設(shè)為1啟用“適應(yīng)頁(yè)面”4.5 現(xiàn)象報(bào)表函數(shù)在運(yùn)行態(tài)報(bào)錯(cuò)“函數(shù)未定義”開(kāi)發(fā)態(tài)正常原因工程未編譯或編譯失敗.rtl文件未被正確加載到運(yùn)行環(huán)境解決開(kāi)發(fā)環(huán)境中按CtrlK強(qiáng)制編譯檢查運(yùn)行日志菜單→幫助→系統(tǒng)日志是否有ReportLoad failed提示確認(rèn).rtl文件路徑無(wú)中文、空格且權(quán)限允許讀取。5. Excel聯(lián)動(dòng)歷史庫(kù)用kintable.xls打通組態(tài)王與辦公場(chǎng)景的最后一公里5.1 kintable.xls的啟動(dòng)邏輯與安全宏配置kintable.xls位于組態(tài)王安裝目錄C:\Program Files\Kingview\下雙擊打開(kāi)時(shí)會(huì)彈出安全警告。必須點(diǎn)擊“啟用宏”否則VBA代碼不執(zhí)行所有報(bào)表功能失效。若公司策略禁用宏需聯(lián)系IT部門將該文件路徑加入Office可信位置文件→選項(xiàng)→信任中心→信任中心設(shè)置→受信任的位置。注意Windows Defender可能誤報(bào)此文件為風(fēng)險(xiǎn)因它調(diào)用kingview.dll動(dòng)態(tài)鏈接庫(kù)。解決方案是右鍵文件→屬性→勾選“解除鎖定”或臨時(shí)關(guān)閉實(shí)時(shí)防護(hù)僅限內(nèi)網(wǎng)環(huán)境。5.2 INI_HistoryRecord函數(shù)參數(shù)重寫指南三步定位你的路徑打開(kāi)VBA編輯器AltF11找到auto_open子程序修改INI_HistoryRecord調(diào)用 原始代碼默認(rèn)路徑 ret INI_HistoryRecord(0, 0, C:\Program Files\Kingview\History\, 0, C:\Program Files\Kingview\Example\Kingdemo2) 修改后以E盤工程為例 ret INI_HistoryRecord(0, 0, E:\工程\History\, 0, E:\工程\)參數(shù)詳解第三個(gè)參數(shù)歷史庫(kù)路徑即組態(tài)王工程屬性中「歷史記錄」→「歷史庫(kù)路徑」的值必須指向*.his文件所在文件夾第五個(gè)參數(shù)工程路徑即組態(tài)王工程文件.aof所在文件夾不是工程文件本身路徑末尾必須有反斜杠\否則函數(shù)內(nèi)部拼接變量路徑時(shí)會(huì)出錯(cuò)如E:\工程\原料油液位.his→ 正確E:\工程原料油液位.his→E:\工程原料油液位.his→ 找不到文件。5.3 歷史報(bào)表生成全流程從時(shí)間選擇到Sheet1自動(dòng)填充點(diǎn)擊Excel菜單欄「報(bào)表」→「歷史報(bào)表」彈出查詢對(duì)話框起始時(shí)間/結(jié)束時(shí)間支持手動(dòng)輸入格式Y(jié)YYY-MM-DD HH:MM:SS或點(diǎn)擊右側(cè)日歷圖標(biāo)選擇時(shí)間間隔單位秒建議設(shè)為歷史庫(kù)采樣周期的整數(shù)倍如庫(kù)采樣為30秒則填30、60、300增加變量在左側(cè)變量樹(shù)中勾選目標(biāo)變量如催化劑液位點(diǎn)擊「增加」按鈕移入右側(cè)列表關(guān)鍵細(xì)節(jié)變量名必須與組態(tài)王中完全一致包括大小寫和中文符號(hào)。若組態(tài)王變量名為\\本站點(diǎn)\催化劑_液位而Excel中填催化劑液位則返回空數(shù)據(jù)——函數(shù)匹配是精確字符串比對(duì)。點(diǎn)擊「確定」后數(shù)據(jù)自動(dòng)寫入Sheet1首行為變量名第二行為時(shí)間戳第三行起為數(shù)值。此時(shí)可直接用Excel函數(shù)做統(tǒng)計(jì)在Sheet2中輸入AVERAGE(Sheet1!B3:B1000)計(jì)算平均值或插入圖表生成趨勢(shì)圖。5.4 故障排查表當(dāng)Excel報(bào)表不工作時(shí)按此順序檢查檢查項(xiàng)驗(yàn)證方法正常表現(xiàn)異常處理DLL加載在VBA立即窗口輸入?App.Path返回C:\Program Files\Kingview\若返回空說(shuō)明kingview.dll未注冊(cè)以管理員身份運(yùn)行regsvr32 kingview.dll歷史庫(kù)路徑在VBA中插入MsgBox Path: sHisPath顯示完整路徑如E:\工程\History\路徑錯(cuò)誤則修改INI_HistoryRecord調(diào)用變量存在性在組態(tài)王變量瀏覽器中搜索該變量變量狀態(tài)為“在線”若離線檢查設(shè)備通訊是否正常時(shí)間范圍有效性在Excel中輸入NOW()-86400顯示昨天日期時(shí)間若顯示#VALUE!說(shuō)明Excel時(shí)間格式異常重裝Office或修復(fù)系統(tǒng)時(shí)間從那以后我每次部署新工程都會(huì)在kintable.xls的auto_open里加一行日志寫入Open E:\工程\log.txt For Append As #1: Print #1, Now 初始化成功: Close #1。這樣哪怕客戶說(shuō)“報(bào)表打不開(kāi)”我遠(yuǎn)程拿到log.txt就能立刻判斷是路徑問(wèn)題還是DLL問(wèn)題不用再讓他們截圖、錄屏、重啟——省下的3小時(shí)夠我喝兩杯咖啡改完三個(gè)bug。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取