超聲波明渠流量計的軟件不僅要管理硬件中的多個模塊,而且要實現(xiàn)邏輯判斷,任務(wù)切換等功能,簡單的順序編程在設(shè)計上很難滿足要求,因此引入了嵌入式實時操作系統(tǒng)、分層的軟件設(shè)計和面向?qū)ο蟮木幊谭椒ā?/div>
(1)嵌入式實時操作系統(tǒng)
首先,操作系統(tǒng)支持多任務(wù)處理,根據(jù)各個任務(wù)的優(yōu)先級別進行自動分配系統(tǒng)資源,以保證系統(tǒng)在多任務(wù)處理中的協(xié)調(diào)性。其次,操作系統(tǒng)都是能夠滿足實時性的要求。在正常任務(wù)執(zhí)行期間,操作系統(tǒng)對任務(wù)進行優(yōu)先級別的排序,優(yōu)先執(zhí)行重要任務(wù)。此外,操作系統(tǒng)都是可以采用統(tǒng)一的編程接口,方便系統(tǒng)有效擴展,并可以使用開源組件進行快速開發(fā)。
(2)軟件框架分層
超聲波明渠流量計軟件分為四層:硬件驅(qū)動層、硬件管理層、系統(tǒng)管理層、應(yīng)用服務(wù)層。硬件驅(qū)動層與硬件直接相關(guān),直接驅(qū)動硬件模塊的打開關(guān)閉讀寫操作。硬件管理層為硬件驅(qū)動層提供統(tǒng)一的管理框架,并為上層應(yīng)用提供統(tǒng)一的調(diào)用接口,在底層硬件發(fā)生變化時無需調(diào)整上層的程序。系統(tǒng)管理層即為操作系統(tǒng),操作系統(tǒng)根據(jù)設(shè)置好的系統(tǒng)參數(shù),自動為各個任務(wù)分配資源,使實時性和多任務(wù)性可以得到保障。應(yīng)用服務(wù)層實現(xiàn)各個任務(wù)要求,如通信,顯示等。
(3)硬件設(shè)備數(shù)據(jù)結(jié)構(gòu)抽象
硬件設(shè)備的常見功能包括打開、關(guān)閉、編寫指令或數(shù)據(jù)、讀取數(shù)據(jù)或指令、修改設(shè)備信息等,因此,硬件設(shè)備可以抽象為該數(shù)據(jù)類型的通用結(jié)構(gòu)數(shù)據(jù)類型(struct),有 init、open、close、read、write 和 control 等一些操作。將所有硬件設(shè)備都被抽象為一個設(shè)備對象,定義相關(guān)的數(shù)據(jù)屬性和操作。使所有硬件設(shè)備都能使用統(tǒng)一的接口管理,提高編程效率,提高設(shè)備的可擴展性。(4)傳感器數(shù)據(jù)結(jié)構(gòu)的抽象
超聲波明渠流量計需要支持多種傳感器,有必要設(shè)計一種傳感器裝置的數(shù)據(jù)結(jié)構(gòu),它能表達傳感器的所有屬性和操作,并能在需要增加傳感器數(shù)量時快速建立相應(yīng)的數(shù)據(jù)結(jié)構(gòu)實體。
傳感器的相應(yīng)屬性是名稱、類型、參數(shù)(基礎(chǔ)、校正、閾值)、單位、數(shù)據(jù)等。在定義傳感器屬性后,系統(tǒng)根據(jù)屬性自動分配傳感器操作。例如,當(dāng)類型為模擬類型時,分配給它的數(shù)據(jù)采集方法是模式轉(zhuǎn)換,較終數(shù)據(jù)將是在參數(shù)中定義的工程量。轉(zhuǎn)換為模擬的校準(zhǔn)值。如果類型為 RS485 數(shù)字量,則分配給它的數(shù)據(jù)采集模式是基于 Modbus RTU 協(xié)議通信方法的 RS485 接口。傳感器中的寄存器地址等信息在參數(shù)中定義。
(5)數(shù)據(jù)傳輸規(guī)約的抽象
JSON 和 XML 對于數(shù)據(jù)的相關(guān)格式有明確的定義,傳輸?shù)膬?nèi)容可以根據(jù)遙測的需要進行定制,因此實現(xiàn)起來并不困難。SZY026 和 SL651 的功能和通信方式發(fā)生了很大的變化,但這些協(xié)議的數(shù)據(jù)幀結(jié)構(gòu)定義明確,如數(shù)據(jù)幀中的功能碼、幀頭、校驗碼等。位置和占用的字節(jié)是固定的。此外,這些協(xié)議的數(shù)據(jù)幀結(jié)構(gòu)相對相似,屬于不同協(xié)議的數(shù)據(jù)幀基本上包含功能碼、幀頭和校驗碼等信息組件。根據(jù)這一特點,協(xié)議可以被抽象成具有數(shù)據(jù)屬性的結(jié)構(gòu),如幀頭、函數(shù)代碼、編碼內(nèi)容、編碼元素和校驗碼。在協(xié)議打包或解碼中調(diào)用結(jié)構(gòu)處理消息。
四、總結(jié)
物聯(lián)網(wǎng)技術(shù)在農(nóng)田灌溉中的推廣應(yīng)用,將推動農(nóng)田管理水平的提升,提高灌溉水、肥等資源的利用率。本文介紹了在寧波市農(nóng)田灌溉水有效利用系數(shù)智能測算分析系統(tǒng)中超聲波明渠流量計的設(shè)計思路,從應(yīng)用場景出發(fā)分析功能需求,在硬件上采用模塊化設(shè)計的方法,在軟件上采用分層設(shè)計和面向?qū)ο缶幊痰乃悸罚瑥挠布浖O(shè)計中針對應(yīng)用的需求而設(shè)計。