基于μC/OS-III的JKM-LDE電磁流量計人機界面設計
點(diǎn)擊次數:1771 發(fā)布時(shí)間:2021-01-01 13:31:53
摘要:首先著(zhù)手于智能流量?jì)x表的發(fā)展,介紹其發(fā)展的特點(diǎn),隨著(zhù)智能流量?jì)x表功能的多樣化,單純的前、后臺程序開(kāi)發(fā)機制已經(jīng)不能滿(mǎn)足越來(lái)越復雜化、多樣化的嵌入式應用需求,傳統的人機界面也已不適宜用戶(hù)更加方便快捷的使用,因此應該選擇合適的實(shí)時(shí)操作系統, 針對不同操作系統的特性最后提出了基于 μC/OS-III 的智能流量?jì)x表的人機界面設計的方法,并且就 μC/OS-III 在JKM-LDE電磁流量計人機界面的應用中進(jìn)行舉例說(shuō)明。
在工業(yè)生產(chǎn)中,經(jīng)常需要對生產(chǎn)過(guò)程中各種流動(dòng)介質(zhì)(如液體、氣體和蒸汽、固體粉末)的流量進(jìn)行檢測,以便有效地控制生產(chǎn)過(guò)程和了解更多有關(guān)生產(chǎn)的參數。 隨著(zhù)智能流量?jì)x表的不斷普及, 不斷優(yōu)化人機界面的設計也成為各個(gè)智能儀表生產(chǎn)廠(chǎng)家關(guān)注的發(fā)展方向。 為了提高智能流量?jì)x表測量、處理數據的實(shí)時(shí)性和人機交互的可靠性, 本文提出了基于實(shí)施嵌入式操作系統 μC/OS-III 的設計方法,優(yōu)化了人機界面的交互。
1 智能流量?jì)x表概述
JKM-LDE電磁流量計是一類(lèi)新型的、 內部裝有微處理器或單片機的微機化電子儀器,它是由傳統的電子儀器發(fā)展而來(lái)的,但在結構和內涵上已經(jīng)發(fā)生了本質(zhì)的變化。 回顧電子儀器的發(fā)展歷程,從儀器的工作原理來(lái)看, 是從模擬式電子儀器階段發(fā)展到數字式電子儀器階段,再發(fā)展到智能型儀器階段。 智能流量?jì)x表具有以下特點(diǎn):
1 )自動(dòng)化程度高。 智能流量?jì)x表采用了微控制器為控制核心,具備良好的可編程能力,可以輕松完成數據自動(dòng)采集、過(guò)程自動(dòng)控制、故障自動(dòng)診斷、數據自動(dòng)處理等功能。 這不僅提高了工作效率,節省了勞動(dòng)力,而且使自動(dòng)化程度得到了提高。
2 )接口豐富。 JKM-LDE電磁流量計往往都具備強大的系統功能接口,且接口種類(lèi)多、數量多、功能強。 如模擬量輸入和輸出、開(kāi)關(guān)量輸入和輸出、人機接口和通訊接口等。
3 )具備通訊能力。JKM-LDE電磁流量計幾乎都具備通訊接口,如 RS-232C 接口、 RS485 接口、 USB 接口和以太網(wǎng)接口等, 使得儀表本身能與外界有良好的信息交互。
4 )多功能化、小型化和高可靠性。隨著(zhù)科技的飛速發(fā)展使得微控制器芯片、外圍電路芯片等器件集成度逐漸提高。 芯片功能越來(lái)越強,少數的幾個(gè)芯片就可以實(shí)現強大的功能。
5 )人機界面信息的交互更加實(shí)時(shí),通過(guò)各種信息的反饋及時(shí)提醒用戶(hù)在測量過(guò)程中出現的異常情況以保證參量參數的可靠性。
2 基于 μC/OS-III 在人機界面的應用
2.1 嵌入式實(shí)時(shí)操作系統
嵌入式系統,就是為了實(shí)現特定的功能,將硬件和軟件連結起來(lái)的計算機系統。 然而,隨著(zhù)科技的不斷發(fā)展,單純的前、后臺程序開(kāi)發(fā)機制已經(jīng)不再能滿(mǎn)足越來(lái)越復雜化和多樣化的嵌入式應用需求,因而現在常常采用嵌入式實(shí)時(shí)操作系統( RTOS , RealTime Operating System )進(jìn)行實(shí)時(shí)多任務(wù)程序的開(kāi)發(fā)。 μC/OS-III 是基于 μC-OS 發(fā)展起來(lái)的, 它是美國嵌入式系統專(zhuān)家 Jean J Labrosse 用 C 語(yǔ)言編寫(xiě)的一個(gè)搶占式的多任務(wù)實(shí)時(shí)內核,其最大的特點(diǎn)是結構小巧。 μC/OS-III 是一個(gè)可擴展的,可固化的,搶占式的實(shí)時(shí)內核,它管理的任務(wù)個(gè)數不受限制。 它是第三代內核,提供了現代實(shí)時(shí)內核所期望的所有功能包括資源管理、同步、內部任務(wù)交流等。 μC/OS-III 也提供了很多特性是在其他實(shí)時(shí)內核中所沒(méi)有的。 比如能在運行時(shí)測量運行性能,直接得發(fā)送信號或消息給任務(wù),任務(wù)能同時(shí)等待多個(gè)信號量和消息隊列。 如圖 1 所示實(shí)時(shí)應用程序的設計通常包含多個(gè)任務(wù),每個(gè)任務(wù)都是整體應用的一部分,都被賦予了一定的優(yōu)先級, 當讓也可以多個(gè)任務(wù)共一個(gè)優(yōu)先級, 且有獨自的一套CPU 寄存器和??臻g。
μC/OS-III 中的每一個(gè)任務(wù)都是無(wú)限循環(huán)的 。 每個(gè)任務(wù)會(huì )有五種狀態(tài),并且處于五種狀態(tài)之一。 這五種狀態(tài)分別是:睡眠態(tài)、就緒態(tài)、運行態(tài)、等待態(tài)以及中斷服務(wù)態(tài)。 睡眠態(tài)是指任務(wù)只是以代碼的形式存在于程序空間, 并未交給操作系統進(jìn)行管理; 就緒態(tài)是指系統為任務(wù)配備了任務(wù)控制塊且在任務(wù)就緒表中進(jìn)行了就緒登記,使任務(wù)具備了運行的充分條件;運行態(tài)是指處于就緒態(tài)的任務(wù)如果經(jīng)調度器判斷獲得了 CPU 的使用權時(shí)的狀態(tài);等待態(tài)則是正在運行的任務(wù),需要等待一段時(shí)間或需要等待一個(gè)事件發(fā)生再運行; 中斷服務(wù)狀態(tài)是指一個(gè)正在運行的任務(wù)一旦響應中斷申請就會(huì )中止運行而去執行中斷服務(wù)程序。這五種狀態(tài)在系統管理下的轉換關(guān)系由圖 2 所示。
2.2 人機界面應用實(shí)例
人機界面( Human Machine Interaction ,簡(jiǎn)稱(chēng) HMI ),又稱(chēng)用戶(hù)界面或使用者界面,是人與計算機之間傳遞、交換信息的媒介和對話(huà)接口,是計算機系統的重要組成部分。 在智能流量?jì)x表的應用中,界面不僅顯示測量的流量數據和各種報警信息,還能通過(guò)界面參數的設定改變測量有關(guān)的參數。 它主要包括鍵盤(pán)和LCD 顯示。
下面以電磁流量計為例說(shuō)明基于 μC/OS-III 的人機界面設計。 先將 μC/OS-III 移植到 Cortex-M3 處理器上,這里選用的是 STM32F103VET6 。電磁流量計的應用程序若按照上節的任務(wù)種類(lèi)劃分有: 數據采集任務(wù)、數據處理任務(wù), 4~20mA輸出任務(wù), Hart 通訊任務(wù)以及用戶(hù)交互任務(wù)。 先對不同的任務(wù)進(jìn)行優(yōu)先級的劃分,如表 1 所示。
在多任務(wù)操作系統中,任務(wù)之間常常需要通過(guò)傳遞一個(gè)數據的方式來(lái)進(jìn)行通訊。 為了適應不同數據的需要,可以在內存中創(chuàng )建一個(gè)存儲空間作為該數據的緩沖區。如果把這個(gè)緩沖區叫做消息緩沖區,那么在任務(wù)間傳遞數據的一個(gè)最簡(jiǎn)單的方法就是傳遞消息緩沖區的指針。 因此,這種用來(lái)傳遞消息緩沖區指針的數據結構就稱(chēng)為消息郵箱。相對于 μC/OS-II , μC/OS-III 有內在性能測試,它允許用戶(hù)測得系統的最長(cháng)關(guān)中斷時(shí)間,也就是提供了一些工具可以測量每個(gè)任務(wù)關(guān)中斷的時(shí)間;用戶(hù)在測得每個(gè)任務(wù)的最長(cháng)禁止調度時(shí)間基礎上,可以測得系統禁止任務(wù)調度的最長(cháng)時(shí)間,也是說(shuō)做了個(gè)測量;每次發(fā)出的信息都帶有時(shí)間戳,用戶(hù)也容易得到任務(wù)級的響應時(shí)間。 這樣便于優(yōu)化各個(gè)任務(wù)之間的通信,在保證測量數據準確的前提下提高響應的時(shí)間。
3 結束語(yǔ)
本文基于現代智能流量?jì)x表的特點(diǎn)提出了基于 μC/OS-III的智能流量?jì)x表人機界面設計, 將 μC/OS-III 移植到 Cortex-M3 處理器之后能有效地優(yōu)化程序,實(shí)現人機界面更加實(shí)時(shí)便捷的交互, 不僅能保證測量的可靠性還能實(shí)時(shí)對測量數據進(jìn)行傳輸避免了多任務(wù)之間的沖突。
在工業(yè)生產(chǎn)中,經(jīng)常需要對生產(chǎn)過(guò)程中各種流動(dòng)介質(zhì)(如液體、氣體和蒸汽、固體粉末)的流量進(jìn)行檢測,以便有效地控制生產(chǎn)過(guò)程和了解更多有關(guān)生產(chǎn)的參數。 隨著(zhù)智能流量?jì)x表的不斷普及, 不斷優(yōu)化人機界面的設計也成為各個(gè)智能儀表生產(chǎn)廠(chǎng)家關(guān)注的發(fā)展方向。 為了提高智能流量?jì)x表測量、處理數據的實(shí)時(shí)性和人機交互的可靠性, 本文提出了基于實(shí)施嵌入式操作系統 μC/OS-III 的設計方法,優(yōu)化了人機界面的交互。
1 智能流量?jì)x表概述
JKM-LDE電磁流量計是一類(lèi)新型的、 內部裝有微處理器或單片機的微機化電子儀器,它是由傳統的電子儀器發(fā)展而來(lái)的,但在結構和內涵上已經(jīng)發(fā)生了本質(zhì)的變化。 回顧電子儀器的發(fā)展歷程,從儀器的工作原理來(lái)看, 是從模擬式電子儀器階段發(fā)展到數字式電子儀器階段,再發(fā)展到智能型儀器階段。 智能流量?jì)x表具有以下特點(diǎn):
1 )自動(dòng)化程度高。 智能流量?jì)x表采用了微控制器為控制核心,具備良好的可編程能力,可以輕松完成數據自動(dòng)采集、過(guò)程自動(dòng)控制、故障自動(dòng)診斷、數據自動(dòng)處理等功能。 這不僅提高了工作效率,節省了勞動(dòng)力,而且使自動(dòng)化程度得到了提高。
2 )接口豐富。 JKM-LDE電磁流量計往往都具備強大的系統功能接口,且接口種類(lèi)多、數量多、功能強。 如模擬量輸入和輸出、開(kāi)關(guān)量輸入和輸出、人機接口和通訊接口等。
3 )具備通訊能力。JKM-LDE電磁流量計幾乎都具備通訊接口,如 RS-232C 接口、 RS485 接口、 USB 接口和以太網(wǎng)接口等, 使得儀表本身能與外界有良好的信息交互。
4 )多功能化、小型化和高可靠性。隨著(zhù)科技的飛速發(fā)展使得微控制器芯片、外圍電路芯片等器件集成度逐漸提高。 芯片功能越來(lái)越強,少數的幾個(gè)芯片就可以實(shí)現強大的功能。
5 )人機界面信息的交互更加實(shí)時(shí),通過(guò)各種信息的反饋及時(shí)提醒用戶(hù)在測量過(guò)程中出現的異常情況以保證參量參數的可靠性。
2 基于 μC/OS-III 在人機界面的應用
2.1 嵌入式實(shí)時(shí)操作系統
嵌入式系統,就是為了實(shí)現特定的功能,將硬件和軟件連結起來(lái)的計算機系統。 然而,隨著(zhù)科技的不斷發(fā)展,單純的前、后臺程序開(kāi)發(fā)機制已經(jīng)不再能滿(mǎn)足越來(lái)越復雜化和多樣化的嵌入式應用需求,因而現在常常采用嵌入式實(shí)時(shí)操作系統( RTOS , RealTime Operating System )進(jìn)行實(shí)時(shí)多任務(wù)程序的開(kāi)發(fā)。 μC/OS-III 是基于 μC-OS 發(fā)展起來(lái)的, 它是美國嵌入式系統專(zhuān)家 Jean J Labrosse 用 C 語(yǔ)言編寫(xiě)的一個(gè)搶占式的多任務(wù)實(shí)時(shí)內核,其最大的特點(diǎn)是結構小巧。 μC/OS-III 是一個(gè)可擴展的,可固化的,搶占式的實(shí)時(shí)內核,它管理的任務(wù)個(gè)數不受限制。 它是第三代內核,提供了現代實(shí)時(shí)內核所期望的所有功能包括資源管理、同步、內部任務(wù)交流等。 μC/OS-III 也提供了很多特性是在其他實(shí)時(shí)內核中所沒(méi)有的。 比如能在運行時(shí)測量運行性能,直接得發(fā)送信號或消息給任務(wù),任務(wù)能同時(shí)等待多個(gè)信號量和消息隊列。 如圖 1 所示實(shí)時(shí)應用程序的設計通常包含多個(gè)任務(wù),每個(gè)任務(wù)都是整體應用的一部分,都被賦予了一定的優(yōu)先級, 當讓也可以多個(gè)任務(wù)共一個(gè)優(yōu)先級, 且有獨自的一套CPU 寄存器和??臻g。
μC/OS-III 中的每一個(gè)任務(wù)都是無(wú)限循環(huán)的 。 每個(gè)任務(wù)會(huì )有五種狀態(tài),并且處于五種狀態(tài)之一。 這五種狀態(tài)分別是:睡眠態(tài)、就緒態(tài)、運行態(tài)、等待態(tài)以及中斷服務(wù)態(tài)。 睡眠態(tài)是指任務(wù)只是以代碼的形式存在于程序空間, 并未交給操作系統進(jìn)行管理; 就緒態(tài)是指系統為任務(wù)配備了任務(wù)控制塊且在任務(wù)就緒表中進(jìn)行了就緒登記,使任務(wù)具備了運行的充分條件;運行態(tài)是指處于就緒態(tài)的任務(wù)如果經(jīng)調度器判斷獲得了 CPU 的使用權時(shí)的狀態(tài);等待態(tài)則是正在運行的任務(wù),需要等待一段時(shí)間或需要等待一個(gè)事件發(fā)生再運行; 中斷服務(wù)狀態(tài)是指一個(gè)正在運行的任務(wù)一旦響應中斷申請就會(huì )中止運行而去執行中斷服務(wù)程序。這五種狀態(tài)在系統管理下的轉換關(guān)系由圖 2 所示。
2.2 人機界面應用實(shí)例
人機界面( Human Machine Interaction ,簡(jiǎn)稱(chēng) HMI ),又稱(chēng)用戶(hù)界面或使用者界面,是人與計算機之間傳遞、交換信息的媒介和對話(huà)接口,是計算機系統的重要組成部分。 在智能流量?jì)x表的應用中,界面不僅顯示測量的流量數據和各種報警信息,還能通過(guò)界面參數的設定改變測量有關(guān)的參數。 它主要包括鍵盤(pán)和LCD 顯示。
下面以電磁流量計為例說(shuō)明基于 μC/OS-III 的人機界面設計。 先將 μC/OS-III 移植到 Cortex-M3 處理器上,這里選用的是 STM32F103VET6 。電磁流量計的應用程序若按照上節的任務(wù)種類(lèi)劃分有: 數據采集任務(wù)、數據處理任務(wù), 4~20mA輸出任務(wù), Hart 通訊任務(wù)以及用戶(hù)交互任務(wù)。 先對不同的任務(wù)進(jìn)行優(yōu)先級的劃分,如表 1 所示。
在多任務(wù)操作系統中,任務(wù)之間常常需要通過(guò)傳遞一個(gè)數據的方式來(lái)進(jìn)行通訊。 為了適應不同數據的需要,可以在內存中創(chuàng )建一個(gè)存儲空間作為該數據的緩沖區。如果把這個(gè)緩沖區叫做消息緩沖區,那么在任務(wù)間傳遞數據的一個(gè)最簡(jiǎn)單的方法就是傳遞消息緩沖區的指針。 因此,這種用來(lái)傳遞消息緩沖區指針的數據結構就稱(chēng)為消息郵箱。相對于 μC/OS-II , μC/OS-III 有內在性能測試,它允許用戶(hù)測得系統的最長(cháng)關(guān)中斷時(shí)間,也就是提供了一些工具可以測量每個(gè)任務(wù)關(guān)中斷的時(shí)間;用戶(hù)在測得每個(gè)任務(wù)的最長(cháng)禁止調度時(shí)間基礎上,可以測得系統禁止任務(wù)調度的最長(cháng)時(shí)間,也是說(shuō)做了個(gè)測量;每次發(fā)出的信息都帶有時(shí)間戳,用戶(hù)也容易得到任務(wù)級的響應時(shí)間。 這樣便于優(yōu)化各個(gè)任務(wù)之間的通信,在保證測量數據準確的前提下提高響應的時(shí)間。
3 結束語(yǔ)
本文基于現代智能流量?jì)x表的特點(diǎn)提出了基于 μC/OS-III的智能流量?jì)x表人機界面設計, 將 μC/OS-III 移植到 Cortex-M3 處理器之后能有效地優(yōu)化程序,實(shí)現人機界面更加實(shí)時(shí)便捷的交互, 不僅能保證測量的可靠性還能實(shí)時(shí)對測量數據進(jìn)行傳輸避免了多任務(wù)之間的沖突。