HMI 人機(jī)界面,已成為嵌入式產(chǎn)品中的重要的一環(huán),為客戶帶來最直觀的體驗(yàn)。一個(gè)高效且優(yōu)質(zhì)的 HMI 解決方案,能讓產(chǎn)品在激烈的競爭中取得巨大的優(yōu)勢(shì)。
HMI 是什么?
HMI(Human Machine Interface)人機(jī)界面,是用戶與設(shè)備內(nèi)部系統(tǒng)之間交互信息的窗口。將設(shè)備的狀態(tài)、數(shù)據(jù)等信息以人類能夠接受的圖形化界面呈現(xiàn)給用戶,同時(shí)能夠通過按鍵、觸摸等方式,接收用戶期望的控制命令,并做出響應(yīng)。
嵌入式 HMI 興起
所有需要與機(jī)器進(jìn)行交互的領(lǐng)域,都存在人機(jī)界面。隨著嵌入式技術(shù)的發(fā)展,各種嵌入式人機(jī)交互產(chǎn)品也不斷地涌現(xiàn)出來,成為了各個(gè)行業(yè)中不可或缺的一部分。智能家具、工業(yè)控制、汽車儀表、移動(dòng)終端等都離不開人機(jī)界面。
HMI 組態(tài)軟件
各種嵌入式人機(jī)界面產(chǎn)品的不斷推出,人們發(fā)現(xiàn)UI界面開發(fā)不僅難度高而且繁瑣,研發(fā)投入巨大。迫切需要一個(gè)可以降低UI開發(fā)難度,提高開發(fā)效率的解決方案。因此,組態(tài)軟件誕生了。各種UI引擎,配套設(shè)計(jì)工具,提供以拖拽、配置、繪畫等UI開發(fā)方式,取代以往的代碼編輯方式,實(shí)現(xiàn)所見即所得的效果,大大降低了UI的開發(fā)難度。
嵌入式腳本引擎
在組態(tài)軟件的推動(dòng)下,UI界面的軟件開發(fā)進(jìn)入了圖形化編程時(shí)代。但是UI界面只是 HMI 的一部分,HMI 顯示的數(shù)據(jù)以及輸入控制的響應(yīng),都離不開與設(shè)備進(jìn)行通信,和數(shù)據(jù)的解析、處理。
各種各樣的應(yīng)用場(chǎng)景,復(fù)雜的通信協(xié)議,無窮無盡的用戶業(yè)務(wù)需求,仍舊需要進(jìn)行大量的定制化開發(fā)。這部分工作依舊需要專業(yè)化的人員投入,進(jìn)行代碼實(shí)現(xiàn)。
面對(duì)不斷增加和變化的需求,HMI 開發(fā)也越來越吃力,人們急需一個(gè)可以兼顧UI顯示和業(yè)務(wù)擴(kuò)展的解決方案。
為此,各種腳本引擎被搬到了嵌入式系統(tǒng)中,通過腳本來滿足用戶的各種自定義業(yè)務(wù),這不失為一個(gè)好辦法。
但這并不完美,引入了腳本,確實(shí)帶來了便捷和可擴(kuò)展性,但各種腳本語言同樣存在開發(fā)難度,對(duì)編程水平有較高的要求,與 “簡單” 背道而馳了。
EsDA 將簡單進(jìn)行到底
難道真的不存在一種既簡單,又兼顧靈活擴(kuò)展的 HMI 解決方案么?EsDA(Embeded system Design Automation) 開發(fā)套件 ,嵌入式系統(tǒng)設(shè)計(jì)自動(dòng)化,由多種軟件組成的軟件過程管理和開發(fā)的工具,致力于解決嵌入式軟件開發(fā)過程中的各種問題。簡單易用,穩(wěn)定可靠,就是 EsDA 堅(jiān)持的核心。EsDA 包含了多種嵌入式軟件框架和開發(fā)設(shè)計(jì)器,通過幾款軟件的配合,可以為 HMI 開發(fā)提供一站式解決方案。
UI 設(shè)計(jì)與開發(fā)
EsDA 套件中集成了一個(gè)高性能、低消耗的UI引擎(AWTK),并配套有一個(gè)簡單易用的組態(tài)軟件(AWTK Designer)。
* AWTK 詳細(xì)介紹:
https://www.zlg.cn/index/pub/awtk.html
基于 AWTK 軟件可以快速開發(fā)出酷炫的 HMI 交互界面。
應(yīng)用業(yè)務(wù)開發(fā)EsDA 套件中配套一個(gè)圖形化編程工具(AWFlow Designer)和運(yùn)行引擎(AWFlow)。以拖拽節(jié)點(diǎn)、繪制數(shù)據(jù)流圖的方式,來完成嵌入式產(chǎn)品應(yīng)用業(yè)務(wù)開發(fā)。
*AWFlow?詳細(xì)介紹>>>基于 AWFlow 軟件可以快速搭建出 HMI 的應(yīng)用業(yè)務(wù)、數(shù)據(jù)處理。
AWFlow 提供了豐富的功能節(jié)點(diǎn)資源,其中包含大量的工業(yè)通信協(xié)議(CAN/CANFD、CANOPEN、Modbus、MQTT、Ethernet IP、OPC UA、EtherCAT、POWERLINK、DeviceNET…)。
自定義邊緣計(jì)算
在應(yīng)用業(yè)務(wù)中,常常需要根據(jù)應(yīng)用場(chǎng)景對(duì)一些數(shù)據(jù)進(jìn)行特殊處理,如數(shù)據(jù)運(yùn)算、壓縮、解析等。
EsDA 套件中,提供了一個(gè)積木式的圖形化編程工具(AWBlock),通過拖拽積木拼接業(yè)務(wù)邏輯,從而取代復(fù)雜繁瑣的腳本編輯。
UI 與業(yè)務(wù)有機(jī)結(jié)合
前端UI設(shè)計(jì)與后端系統(tǒng)業(yè)務(wù)的關(guān)聯(lián),是 HMI 軟件開發(fā)最為頭痛的的一個(gè)問題。軟件耦合程度越深,后期需求變化和迭代的難度就越大。
為此,EsDA 提供了一個(gè)分離界面和業(yè)務(wù)邏輯的設(shè)計(jì)模式(MVVM),通過抽象出視圖模型和數(shù)據(jù)模型,提供一套綁定的機(jī)制,實(shí)現(xiàn)界面和業(yè)務(wù)的分離。
通過 MVVM 框架,可以完美地將 AWTK 和 AWFlow 進(jìn)行結(jié)合,真正意義地做到了全程組態(tài)化、圖形化開發(fā)。實(shí)現(xiàn)了一站式 HMI 解決方案。
基本開發(fā)流程如下所示。