聯(lián)系我們contact
電話:027-59760188-801
地址:武漢市東湖高新開發(fā)區(qū)光谷大道120號(hào)現(xiàn)代森林小鎮(zhèn)A座609室
發(fā)布時(shí)間:2018-10-25 瀏覽次數(shù):1454次
近日,小編聽聞,Excel還可以用來作數(shù)據(jù)獲取和硬件實(shí)時(shí)控制……
What?
在驚嘆之余,更多的是懷疑:Excel真能做數(shù)據(jù)獲取和硬件實(shí)時(shí)控制?即使能行又有什么實(shí)用價(jià)值?
帶著驚嘆和懷疑,小編查到了大量的資料。
事實(shí)證實(shí)了小編的out,Excel實(shí)現(xiàn)這些功能全無壓力。
這里為大家分享其中一篇8年前發(fā)表在ISA Transactions上的文章,一起開開眼界。
小編相信,絕大多數(shù)讀者并不會(huì)有使用Excel進(jìn)行數(shù)據(jù)采集和硬件控制的需求。此文的價(jià)值在于給我們的一個(gè)啟示:如此復(fù)雜的功能都能實(shí)現(xiàn),日常工作中還有什么是不能通過Excel實(shí)現(xiàn)的?
原文參見ISA Transactions 49 (2010) 264_269,文章標(biāo)題《Data acquisition and real-time control using spreadsheets: Interfacing Excel with external hardware》。
文中介紹了在馬德里歐洲大學(xué)使用的兩款實(shí)驗(yàn)室教學(xué)電子表格,用于進(jìn)行數(shù)據(jù)采集和硬件控制的演練,幫助學(xué)生直觀高效地掌握教學(xué)內(nèi)容。
表格功能通過兩個(gè)插件實(shí)現(xiàn):Excel Daq數(shù)據(jù)獲取插件和Excel PID實(shí)時(shí)控制插件。
話不多說,直接上工作原理。
首先,插件開發(fā)者使用Excel VBA語言編寫驅(qū)動(dòng)程序,驅(qū)動(dòng)程序通過通訊協(xié)議在寄存器的信息讀取信息,從而實(shí)現(xiàn)Excel和外部硬件的數(shù)據(jù)傳輸。Excel工作表、VBA代碼、驅(qū)動(dòng)程序和硬件之間的關(guān)系如下圖1所示:
圖1:Excel與硬件接口連接結(jié)構(gòu)圖
Excel Daq與Advantech PCI數(shù)據(jù)采集板共同完成數(shù)據(jù)采集的工作。
一方面,使用特定的VBA代碼作為驅(qū)動(dòng)程序的前端來控制數(shù)據(jù)采集板。另一方面,通過VBA開發(fā)定制程序,將測(cè)量數(shù)據(jù)直接導(dǎo)入到Excel工作表中,執(zhí)行任務(wù)。如:篩選獲得的數(shù)據(jù)、執(zhí)行控制器代碼并將命令發(fā)送給執(zhí)行器,以及自動(dòng)繪制圖表。
通過VBA控件的組合設(shè)計(jì),實(shí)現(xiàn)與用戶的交互。如圖2所示,Excel Daq用戶界面有一個(gè)簡(jiǎn)單的對(duì)話框,通過啟用通道、選擇增益和采樣速率來配置數(shù)據(jù)采集板。
圖2:Excel-Daq應(yīng)用程序用戶界面
圖3為Excel測(cè)試程序的界面,該實(shí)用程序允許對(duì)硬件功能進(jìn)行驗(yàn)證,并進(jìn)行簡(jiǎn)單的數(shù)據(jù)采集試驗(yàn)。通過用戶界面,用戶可以選擇輸入通道、電壓范圍、并設(shè)置采樣周期。該工具還允許選擇輸入正弦、正方形和鋸齒波形,其中的最大值和最小值可以通過滑塊進(jìn)行調(diào)整。
圖3:Excel設(shè)備測(cè)試工具
當(dāng)構(gòu)建完模擬輸入和輸出功能后,下一步則是在Excel 中建立循環(huán)執(zhí)行控制。
在實(shí)時(shí)控制中,輸入輸出和任務(wù)控制是需要一定的同步性和實(shí)時(shí)性,同步通常通過使用輪詢技術(shù)、外部中斷和軟件定時(shí)器來實(shí)現(xiàn)。由軟件定時(shí)器驅(qū)動(dòng)的控制任務(wù)遵循圖4所示的方案。
圖4:定時(shí)驅(qū)動(dòng)器控制任務(wù)
計(jì)時(shí)器根據(jù)編程的采樣間隔周期性地觸發(fā)一個(gè)回調(diào)函數(shù),用于讀取輸入、運(yùn)行控制器代碼和命令輸出。使用同樣的方式,完成與用戶的交互。Excel-PID應(yīng)用程序用戶界面如圖5所示:
圖5:Excel-PID應(yīng)用程序用戶界面
在完成所有數(shù)據(jù)采集和設(shè)備控制程序開發(fā)后,下一步則將所有組件整合在一起,使用圖形化界面來控制程序即可。
原文包含代碼等更詳細(xì)的內(nèi)容,感興趣的讀者可以查閱。
強(qiáng)大到無法想象,Excel值得學(xué)好、用好!