聯系我們contact

電(diàn)話(huà):027-59760188-801

地(dì)址:武漢市(shì)東(dōng)湖(hú)高(gāo)新開(kāβσβi)發區(qū)光(guāng)谷大(dà)道(d<≥γαào)120号現(xiàn)代森(sēn)林(línε•≤)小(xiǎo)鎮A座609室

強大(dà)到(dào)無法想象,Excel居然可♠∏(kě)以實現(xiàn)數(shù)據獲取∞♥$和(hé)硬件(jiàn)實時(shí)控制( ×zhì)

發布時(shí)間(jiān):2018-10-25 浏覽次數(shù):1152次

近(jìn)日(rì),小(xiǎo)編聽(tīng¥'↑)聞,Excel還(hái)可(kě)以用•β(yòng)來(lái)作(zuò)數(shù)據獲取和(héε↓±)硬件(jiàn)實時(shí)控制(zhì)……

What?

在驚歎之餘,更多(duō)的(de)是(shì)懷疑:Exc±λεel真能(néng)做(zuò)數(shù)據獲取和(hé)硬件(₹♥δjiàn)實時(shí)控制(zhì)?即使能(nén ≥g)行(xíng)又(yòu)有(yǒu)什(shén)麽實用(yò≤λ£₩ng)價值?

帶著(zhe)驚歎和(hé)懷疑,小(x Ωεiǎo)編查到(dào)了(le)大(dà)量的(de)資料。

事(shì)實證實了(le)小(xiǎo)編的(de)out,λ$Excel實現(xiàn)這(zhè)些(xiē)功能(néng)全無壓力>α♠。

這(zhè)裡(lǐ)為(wèi)大(dà)家(jiā)分(fēn)享其↑'中一(yī)篇8年(nián)前發表在ISA Transactions上(sh✘↔àng)的(de)文(wén)章(zhān•φ←​g),一(yī)起開(kāi)開(kāi)眼界。

小(xiǎo)編相(xiàng)信,絕大(β≈dà)多(duō)數(shù)讀(dú)者并♠♦不(bù)會(huì)有(yǒu)使用(yòng)Excel進行(xín  ×≈g)數(shù)據采集和(hé)硬件(jiàn)控制(zhφεì)的(de)需求。此文(wén)的(de)價值在于給我們的(de≥β$≤)一(yī)個(gè)啓示:如(rú)此複雜(zá)的(de)功能(néng∑λσ)都(dōu)能(néng)實現(xiàn),日(rì)常工(gō∑≤×σng)作(zuò)中還(hái)有(yǒu)什(shén) π&麽是(shì)不(bù)能(néng)通(tōng)過Excel實現(xiσ©àn)的(de)?

原文(wén)參見(jiàn)ISA Transactions 49 (2•∏ε010) 264_269,文(wén)章(zhāng★∞)标題《Data acquisition and real- ∏↑↑time control using spre™‍adsheets: Interfacing Excel with♦↔♦φ external hardware》。

文(wén)中介紹了(le)在馬德裡(lǐ)歐洲大(dà)學使用(‌✘ δyòng)的(de)兩款實驗室教學電(d₹ iàn)子(zǐ)表格,用(yòng)于進↓↔♥行(xíng)數(shù)據采集和(hé)硬↑§→件(jiàn)控制(zhì)的(de)演練,幫α'α助學生(shēng)直觀高(gāo)效地(dì)掌握教學內(nèi)容。 ±

表格功能(néng)通(tōng)過兩個(gè)插件(jià☆β®n)實現(xiàn):Excel Daq數(sh<×→±ù)據獲取插件(jiàn)和(hé)Excel PID實時( ♥™shí)控制(zhì)插件(jiàn)。

話(huà)不(bù)多(duō)說(shuō),直接上(shàα✔ £ng)工(gōng)作(zuò)原理(lǐ)。

首先,插件(jiàn)開(kāi)發者使‌§  用(yòng)Excel VBA語言編寫驅動程序,驅動程σ→✘序通(tōng)過通(tōng)訊協議(yì)在寄存器(qì)→≥的(de)信息讀(dú)取信息,從(cóng)而實現(x©<iàn)Excel和(hé)外(wài)'∏§γ部硬件(jiàn)的(de)數(shù)據傳輸。Excel工(gōng)作(z¶¶≤∑uò)表、VBA代碼、驅動程序和(hé)硬件(jià βn)之間(jiān)的(de)關系如(rú)下(xi∞σ  à)圖1所示:

圖1:Excel與硬件(jiàn)接口連接結構圖

Excel Daq與Advantech PCI數(shù)據采集闆共同完成數(₹♦¶shù)據采集的(de)工(gōng)作(z₽λ¶uò)。

一(yī)方面,使用(yòng)特定的(de)VBA代碼作(zuò)為(wèi)驅動程序的(¶₽de)前端來(lái)控制(zhì)數(shù)據​÷采集闆。另一(yī)方面,通(tōng)過VBA開(kāi)發定制(zhì)程序,将測量★★ 數(shù)據直接導入到(dào)Excel工(gōng)作​λσ✘(zuò)表中,執行(xíng)任務。如(rú):篩選獲得(de)的(de)數(shù)據、執行(x£♥δ"íng)控制(zhì)器(qì)代碼并将命令發送給執行(xíngε§)器(qì),以及自(zì)動繪制(zhì)圖表。

通(tōng)過VBA控件(jiàn)的(de)™ε™∑組合設計(jì),實現(xiàn)與用(yòng)戶的(de)交互。如(rú)¥₽★ε圖2所示,Excel Daq用(yòng​✘)戶界面有(yǒu)一(yī)個(gè)≤₹≥®簡單的(de)對(duì)話(huà)框,通(tōng)過啓用₹"‍(yòng)通(tōng)道(dào)、選擇增益和(hé)采σ 樣速率來(lái)配置數(shù)據采集闆。

圖2:Excel-Daq應用(yòng)程序用(yòng↕®©)戶界面

圖3為(wèi)Excel測試程序的(de)界面,該實用(yònπ✘≥♠g)程序允許對(duì)硬件(jiàn)功能(néng)進行(xín¥★g)驗證,并進行(xíng)簡單的(de)數(shù)據采←±集試驗。通(tōng)過用(yòng)戶界面,用(¥™ ∞yòng)戶可(kě)以選擇輸入通(tōng)道(dà‍×o)、電(diàn)壓範圍、并設置采樣周期。該工(gōng)具還(h →€ái)允許選擇輸入正弦、正方形和(hé)鋸齒波形,其中的(d¶λ‌e)最大(dà)值和(hé)最小(xiǎo∏↑∑→)值可(kě)以通(tōng)過滑塊進行(xíng)調整。

圖3:Excel設備測試工(gōng)具

當構建完模拟輸入和(hé)輸出功能(néng)後,下(xià)一(y>< ī)步則是(shì)在Excel 中建立循環執行(xíng)控制(zh↕§ì)。

在實時(shí)控制(zhì)中,輸入輸出和(hé)任務控制(zhì)是(¥∞₽shì)需要(yào)一(yī)定的(de)同步性和(&βhé)實時(shí)性,同步通(tōng)常φ≤$₹通(tōng)過使用(yòng)輪詢技(jì)術(sוβhù)、外(wài)部中斷和(hé)軟件(jiàn)定時(shα&£í)器(qì)來(lái)實現(xiàn)。由軟件(jiàn)定時(shí)α‌÷器(qì)驅動的(de)控制(zhì)任務遵循圖4所示的(de)£σ‍方案。

圖4:定時(shí)驅動器(qì)控制(zhì)任務

計(jì)時(shí)器(qì)根據編程的(de)采樣間(jiān)隔周期性地(dì)÷∞觸發一(yī)個(gè)回調函數(shù),用(yòng)于讀(dú)取輸入αΩ✔β、運行(xíng)控制(zhì)器(qì)代碼和(hé)命令輸出₹∑≤±。使用(yòng)同樣的(de)方式,完φ¥成與用(yòng)戶的(de)交互。Excel♣÷β-PID應用(yòng)程序用(yòng)戶界面>÷α如(rú)圖5所示:

圖5:Excel-PID應用(yòng)程序✔"♣用(yòng)戶界面

在完成所有(yǒu)數(shù)據采集和♣$≤>(hé)設備控制(zhì)程序開(kāi)發後,下(xià)一(y£'ī)步則将所有(yǒu)組件(jiàn)♠π整合在一(yī)起,使用(yòng)圖形→¥✔化(huà)界面來(lái)控制(zhì)程序即可φ↔(kě)。

原文(wén)包含代碼等更詳細的(de)內(nèi)容,感興趣的(¶↕≤de)讀(dú)者可(kě)以查閱。

強大(dà)到(dào)無法想象,Excel值得(de)學好(hǎo)、用(yòng)好(hǎ•&∏o)