開源HMI軟件可以大大縮短開發(fā)時(shí)間,但需要企業(yè)內(nèi)部具有專業(yè)技術(shù)人員,可以在未來(lái)進(jìn)行修改或修復(fù)。
我們?cè)O(shè)計(jì)和建造的所有包裝設(shè)備上的人機(jī)界面(HMI)傳統(tǒng)上都是由軟件決定的。隨著客戶不斷要求提高所有組件的互操作性,我們正在研究開源HMI軟件。它的優(yōu)點(diǎn)和缺點(diǎn)是什么?還有可能需要哪些額外的硬件?
01
定義HMI:它還是硬件嗎?
在每個(gè)人的口袋里都有智能手機(jī)之前,工業(yè)人機(jī)界面(HMI)可能是人們與觸摸屏設(shè)備的唯一交互方式。這很瘋狂,對(duì)吧?在那個(gè)年代,HMI是一個(gè)嚴(yán)格意義上的硬件,通過(guò)你最喜歡的現(xiàn)場(chǎng)總線連接到PLC。
兩端的開發(fā)都是通過(guò)專有軟件進(jìn)行的,工程師們成為了如何正確映射數(shù)據(jù)寄存器的專家,而且非常固執(zhí)己見(jiàn)。如今,人機(jī)界面可以有多種形式。許多傳統(tǒng)的HMI已經(jīng)存在多年,但對(duì)現(xiàn)代界面、互操作性和可移植性的需求意味著專用的HMI模式正在受到威脅。
許多用戶更喜歡熟悉的手機(jī)或平板電腦界面,以及現(xiàn)代應(yīng)用程序設(shè)計(jì)的流暢美感。如果你是一名設(shè)施操作員,你需要HMI是直觀和高效的;如果你是一個(gè)原始設(shè)備制造商,HMI可能是你與客戶最頻繁接觸的點(diǎn),也是你的機(jī)器設(shè)備的代言人。
那么,為什么要開源呢?難道因?yàn)樗敲赓M(fèi)的嗎?顯然并不全是。
首先,讓我們來(lái)定義一下 “開源” 這個(gè)詞。簡(jiǎn)單地說(shuō),開源通常是指免費(fèi)提供原始源代碼的軟件,并可以重新分發(fā)和修改。開源的一個(gè)流行說(shuō)法是,它代表自由和準(zhǔn)入,并不意味著是沒(méi)有成本,因?yàn)槭褂瞄_源工具的責(zé)任轉(zhuǎn)移到了負(fù)責(zé)實(shí)施這些工具的開發(fā)者身上。這需要理解、經(jīng)驗(yàn)和時(shí)間。
許多為Web應(yīng)用程序、超級(jí)計(jì)算機(jī)甚至互聯(lián)網(wǎng)本身提供動(dòng)力的技術(shù)都是開源的。這包括大量的開發(fā)工作,如Linux和Node-RED。Node-RED這樣的平臺(tái)正在改變我們對(duì)用戶界面開發(fā)的看法。它為許多想要使用最新工具來(lái)構(gòu)建他們的機(jī)器可視化,但缺乏編寫HTML5或typescript的技能和經(jīng)驗(yàn)的用戶提供了訪問(wèn)權(quán)限。
Node-RED是一個(gè)低代碼量的環(huán)境,它使用Node.js,一個(gè)基于JavaScript編程語(yǔ)言的運(yùn)行環(huán)境。這個(gè)環(huán)境使用了HTML5、Vue.js、React.js。它是如此容易使用,以至于開發(fā)人員可以在幾分鐘內(nèi)完成從首次互動(dòng)到概念驗(yàn)證的過(guò)程。
開源的真正力量在于它可以像搭積木一樣工作。例如,可視化需要數(shù)據(jù),而這些數(shù)據(jù)需要被儲(chǔ)存在某個(gè)地方,這些數(shù)據(jù)也需要被運(yùn)輸。
有很多工具可以使用,例如Eclipse Mosquitto,一個(gè)實(shí)現(xiàn)了消息隊(duì)列遙測(cè)傳輸協(xié)議(MQTT)的開源消息代理;以及InfluxDB,一個(gè)時(shí)間序列數(shù)據(jù)庫(kù)。所有這些都在Linux上運(yùn)行,協(xié)同工作以構(gòu)建令人驚嘆的交互式工業(yè)界面。
再加上易于配置的儀表盤工具,如Grafana或Chronograf;它們都是可擴(kuò)展的,并且可以從大量使用它們的社區(qū)中獲得可用的貢獻(xiàn)。也許對(duì)HMI平臺(tái)最重要的演變是引入了Linux,它提供了一個(gè)重要的畫布來(lái)創(chuàng)建一個(gè)多樣化和高功能的界面。
那么,如何開始? “如果你已經(jīng)使用Linux和瀏覽器實(shí)現(xiàn)設(shè)備,那么你就可以馬上開始了,不需要其他硬件?!比f(wàn)可公司Linux 和 IIoT 高級(jí)應(yīng)用工程師Jesse Cox說(shuō),“安裝Node-RED,并開始用一個(gè)簡(jiǎn)單的基于瀏覽器的集成開發(fā)環(huán)境(IDE)構(gòu)建界面。導(dǎo)入儀表板節(jié)點(diǎn)以將組件添加到Web用戶界面(UI),你將驚訝于構(gòu)建交互式UI的速度之快。如果你的HMI有一個(gè)瀏覽器,那么你可以把它指向你的Node-RED實(shí)例,然后你可能永遠(yuǎn)不會(huì)再以同樣的方式看待閉源HMI解決方案了?!?/p>
02
節(jié)省預(yù)算和開發(fā)時(shí)間
在HMI中使用開源軟件有三個(gè)優(yōu)勢(shì)。
首先,也是最明顯的一點(diǎn)是,很多開源軟件(OSS)是免費(fèi)的,這為用戶帶來(lái)了直接的預(yù)算節(jié)省。
其次,在節(jié)省預(yù)算的同時(shí),減少了編程/開發(fā)時(shí)間。一旦開發(fā)出應(yīng)用程序,就可以很容易地將其轉(zhuǎn)換為共享相同軟件的不同硬件平臺(tái)。
最后是能夠從幾個(gè)潛在的硬件平臺(tái)中自由選擇,為更廣泛的產(chǎn)品范圍打開大門,用戶可能能夠找到真正完全符合他們需求的非常具體的硬件,如具有IP67的設(shè)備或食品和飲料批準(zhǔn)的設(shè)備(圖1)。
對(duì)于工業(yè)HMI應(yīng)用來(lái)說(shuō),需要考慮的最大缺點(diǎn)可能是技術(shù)支持。圖爾克公司產(chǎn)品經(jīng)理Roberto Solis認(rèn)為,對(duì)于授權(quán)軟件,與開發(fā)該產(chǎn)品的供應(yīng)商有一個(gè)直接的技術(shù)支持聯(lián)系是相當(dāng)普遍的。該供應(yīng)商可以幫助用戶加快解決問(wèn)題,并處理過(guò)程中出現(xiàn)的任何問(wèn)題,而使用開放源碼軟件可能更難找到一個(gè)具體的聯(lián)系人來(lái)提供支持。在購(gòu)買之前要考慮這一點(diǎn),是否明確指出了誰(shuí)來(lái)提供支持?
03
硬幣的另外一面
毫無(wú)疑問(wèn),開源軟件,更確切地說(shuō),自由和開源軟件(FOSS)運(yùn)動(dòng)給自動(dòng)化專業(yè)人員提供了很多新的選擇。但在選擇適合的開源軟件解決方案時(shí),其中的陷阱和缺點(diǎn)也需要注意。
并不是所有的開源軟件都是零成本的,而且有時(shí)零成本的解決方案最終可能是最昂貴的。許多公司提供混合型產(chǎn)品,其中既有免費(fèi)的社區(qū)版,也有收費(fèi)的功能更豐富的版本?;蛘咚麄儠?huì)提供有償?shù)闹С?。這些選擇中有許多是優(yōu)秀的解決方案,但其背后的公司有明顯的動(dòng)機(jī)鼓勵(lì)用戶遷移到付費(fèi)版本。如果付費(fèi)版本的成本太高,從長(zhǎng)遠(yuǎn)來(lái)看,遷移到免費(fèi)版本可能是浪費(fèi)精力。
對(duì)于那些確實(shí)是零成本的解決方案,而且有許多非常有用和強(qiáng)大的例子,值得花一些時(shí)間考慮誰(shuí)在支持這個(gè)項(xiàng)目以及為什么。此外,你需要評(píng)估一下,你愿意在多大程度上深入了解。
當(dāng)出現(xiàn)問(wèn)題時(shí),你將不得不依靠?jī)?nèi)部資源或圍繞項(xiàng)目的社區(qū)。許多這樣的項(xiàng)目都有一個(gè)活躍的社區(qū)隨時(shí)準(zhǔn)備提供幫助,但有些項(xiàng)目會(huì)隨著時(shí)間的推移而失敗,在這種情況下,您必須自己維護(hù)或忍受轉(zhuǎn)換為其他問(wèn)題的痛苦。
這些問(wèn)題當(dāng)然也存在于閉源項(xiàng)目中。在閉源解決方案中,沒(méi)有辦法自己修復(fù)一些東西;你完全依賴供應(yīng)商提供的更新。如果你訪問(wèn)許多開源項(xiàng)目的源代碼庫(kù),通常會(huì)發(fā)現(xiàn)一長(zhǎng)串需要修復(fù)的bug。對(duì)于一個(gè)閉源項(xiàng)目來(lái)說(shuō),毫無(wú)疑問(wèn),類似的清單也是存在的;您只是沒(méi)有機(jī)會(huì)接觸到它,也沒(méi)有可能自己跳進(jìn)去修復(fù)某些問(wèn)題。
硬件是另一種考量。Maple Systems公司工程師Mike Sheldon談道,閉源軟件往往將用戶鎖定在一個(gè)特定的硬件供應(yīng)商。而開源解決方案,您可以貨比三家,使您的產(chǎn)品來(lái)源多樣化,并有可能降低成本。然而,這也需要用戶承擔(dān)起驗(yàn)證兼容性的責(zé)任。企業(yè)需要什么樣的操作系統(tǒng)?是否有驅(qū)動(dòng)程序或軟件包需要安裝?處理器的速度和結(jié)構(gòu)是否足夠?使用一個(gè)需要特定硬件的閉源解決方案,可以省去一些決策環(huán)節(jié)。
04
開源需要內(nèi)部專業(yè)知識(shí)
對(duì)于所有類型的應(yīng)用,包括工業(yè)HMI軟件,與使用專有軟件相比,開源軟件可以提供很多優(yōu)勢(shì),例如,用戶可以自由地修改源代碼,使他們有完全的靈活性來(lái)根據(jù)環(huán)境定制應(yīng)用程序;通常情況下,任何許可和維護(hù)費(fèi)用都比市面上的軟件成本低。但用戶也需要在使用開源方法之前意識(shí)到其缺點(diǎn)。
開源的主要缺點(diǎn),包括:修改源代碼需要專業(yè)技能;用戶可能需要為文檔、媒介和支持付費(fèi)。用戶必須意識(shí)到開源軟件許可有不同的變體,其中一些比其他的更具限制性。需要進(jìn)行仔細(xì)的軟件許可證審查,以便清楚地了解人們可以用開源軟件做什么和不能做什么。
此外,維護(hù)成本也可能是一個(gè)問(wèn)題,因?yàn)橛脩粢揽块_源社區(qū)來(lái)支持該軟件。在生產(chǎn)環(huán)境中,業(yè)務(wù)中斷的風(fēng)險(xiǎn)很高,缺乏即時(shí)支持可能是一個(gè)大問(wèn)題。如果社區(qū)不支持新的操作系統(tǒng)、驅(qū)動(dòng)程序、功能、硬件平臺(tái)和安全漏洞的修復(fù),那么維護(hù)軟件的責(zé)任就落在了終端用戶身上。
另一個(gè)重要的問(wèn)題是,開源軟件有許多選擇,并且有許多不同的組合。終端用戶必須建立一個(gè)軟件標(biāo)準(zhǔn),以確保整個(gè)公司都在同一個(gè)版本上,這樣就很容易維護(hù)開源軟件。
同樣,版本控制也是開源軟件應(yīng)該考慮的另一個(gè)因素。新的開源軟件發(fā)布頻率很高,有時(shí)是每周發(fā)布一次。每個(gè)新版本都必須與現(xiàn)有的應(yīng)用程序和硬件進(jìn)行測(cè)試,以確保解決方案適當(dāng)?shù)剡\(yùn)行。另一項(xiàng)任務(wù)是驗(yàn)證新版本不包含任何病毒或惡意軟件。
與開源軟件相比,ADISRA公司首席技術(shù)官Bruno Crepaldi認(rèn)為,專有軟件有其優(yōu)勢(shì),即供應(yīng)商負(fù)責(zé)維護(hù)該軟件及其與其他軟件包(如數(shù)據(jù)庫(kù))的整合。供應(yīng)商還為客戶提供專業(yè)的主題資源,如培訓(xùn)、支持和咨詢。這對(duì)于終端用戶可能需要參與額外支持的HMI項(xiàng)目非常重要。
專有軟件的另一個(gè)優(yōu)勢(shì)是,供應(yīng)商因?yàn)榕c許多客戶交流,并了解最新的軟件趨勢(shì),因此會(huì)定期添加新的功能和需求,從而使得軟件能夠不斷發(fā)展。對(duì)于HMI軟件,這有助于確保最重要的功能始終可用(圖2)。
▲圖 2:HMI 軟件為部署和連接提供了開放的靈活性,但需要確保最終用戶得到技術(shù)和安全更新的支持。
此外,專有軟件供應(yīng)商還負(fù)責(zé)支持新的操作系統(tǒng)、驅(qū)動(dòng)程序、功能和硬件平臺(tái),并解決任何安全問(wèn)題。他們對(duì)客戶負(fù)責(zé),以確保有一條通向新平臺(tái)或添加HMI軟件功能的升級(jí)路徑。
05
平衡總擁有成本
設(shè)計(jì)的關(guān)鍵要素之一是了解終端用戶喜歡什么。在許多情況下,企業(yè)希望根據(jù)以前安裝的設(shè)備或熟悉的程度來(lái)選擇特定的HMI。在考慮開源開發(fā)平臺(tái)時(shí),這可能會(huì)限制可用的選擇,因?yàn)榇蠖鄶?shù)HMI是特制的,需要一個(gè)特定的、商業(yè)上可用的開發(fā)平臺(tái)。
當(dāng)有使用開源開發(fā)平臺(tái)的需求時(shí),有兩個(gè)關(guān)鍵優(yōu)勢(shì):靈活性和許可成本。由于可以獲得開發(fā)軟件的源代碼,因此可以對(duì)軟件進(jìn)行全面控制和配置。一個(gè)技術(shù)嫻熟的工程師將能夠根據(jù)更獨(dú)特的最終用戶體驗(yàn)創(chuàng)建軟件,或根據(jù)客戶要求定制解決方案。
開源軟件通常意味著沒(méi)有開發(fā)軟件的許可費(fèi)用。這可能是一個(gè)優(yōu)勢(shì),但將取決于實(shí)施情況。大多數(shù)開源解決方案將需要一個(gè)以進(jìn)程間通信(IPC)為中心的解決方案,這可能需要額外的設(shè)備,如不間斷電源、數(shù)據(jù)集中器、主機(jī)或屏幕,這將抵消節(jié)省的費(fèi)用。
對(duì)于開發(fā)者和終端用戶來(lái)說(shuō),在考慮開源平臺(tái)時(shí),BW Packaging Systems公司數(shù)字創(chuàng)新項(xiàng)目經(jīng)理Joe Ambrose認(rèn)為,總擁有成本(TCO)始終很重要。有必要考慮一個(gè)組織是否有合適的軟件和控制工程師來(lái)支持系統(tǒng)的開發(fā)和維護(hù),因?yàn)閺拈L(zhǎng)遠(yuǎn)來(lái)看,這可能是一筆很大的開支。對(duì)團(tuán)隊(duì)進(jìn)行培訓(xùn)并適當(dāng)配備人員可能會(huì)占用解決方案開發(fā)的大量資源。
除了成本之外,可能還有一些其他的技術(shù)考慮,包括容錯(cuò)性、安全性和附加軟件。例如,開源軟件可能不支持所需要的PLC通信協(xié)議,需要額外的軟件將其轉(zhuǎn)換為所支持的格式。
06
考慮開源項(xiàng)目的必要性
在考慮采用任何技術(shù)時(shí),重要的是要權(quán)衡取舍。對(duì)于開源項(xiàng)目來(lái)說(shuō)尤其如此。評(píng)估功能的好處和使用現(xiàn)有代碼庫(kù)的風(fēng)險(xiǎn)是很重要的,因?yàn)槟愕膶I(yè)知識(shí)可能有限。有一些穩(wěn)定的開源代碼庫(kù)(如MQTT)是很好的例子,它們具有廣泛的市場(chǎng)應(yīng)用。
在考慮開源時(shí),羅克韋爾自動(dòng)化公司可視化平臺(tái)負(fù)責(zé)人Steve Briant建議,應(yīng)當(dāng)詢問(wèn)可用的功能是否能滿足你的需求或是否需要擴(kuò)展。如果它需要擴(kuò)展,問(wèn)問(wèn)自己,開放源碼是否有很好的文檔,你是否有專業(yè)知識(shí)來(lái)擴(kuò)展它?
你還需要考慮許可模式。一些開源項(xiàng)目要求將任何修改貢獻(xiàn)給該開源項(xiàng)目。你還應(yīng)該考慮開源項(xiàng)目的采用情況或受歡迎程度。采用率有限的開源項(xiàng)目可能會(huì)很慢,無(wú)法做出任何改變或改進(jìn)。除非您準(zhǔn)備為項(xiàng)目提供資源以解決這些問(wèn)題,否則無(wú)論功能如何,開源可能不是最適合的方法。
07
開放系統(tǒng)的測(cè)試和認(rèn)證
開源 HMI 軟件使任何人都可以查看和更改驅(qū)動(dòng) HMI 功能的源代碼。理論上,它將允許機(jī)器設(shè)計(jì)者,甚至是客戶,有能力對(duì)HMI的功能和它可能具有的功能進(jìn)行修改。
傳統(tǒng)的HMI通常有一個(gè)封閉系統(tǒng)。在這個(gè)封閉的系統(tǒng)中,只有HMI的制造商可以修改底層的源代碼,改變特性和功能。與開放系統(tǒng)相比,客戶對(duì)操作選項(xiàng)的選擇更為有限。
雖然可以更改底層源代碼,使HMI功能聽起來(lái)很吸引人,但有充分的理由表明,今天使用的大多數(shù)HMI都是封閉系統(tǒng)。歐姆龍 HMI、IPC、控制器和軟件產(chǎn)品經(jīng)理Clark Kromenaker認(rèn)為,開源意味著任何受過(guò)任何水平訓(xùn)練的人都可以修改HMI的操作方式,這可能為引入低級(jí)編程錯(cuò)誤、函數(shù)錯(cuò)誤或惡意軟件提供了機(jī)會(huì)。
在開放系統(tǒng)中,大多數(shù)情況下,功能測(cè)試、安全、功能批準(zhǔn)和任何認(rèn)證將由開放系統(tǒng)設(shè)計(jì)者決定。在封閉系統(tǒng)中,這是由HMI制造商負(fù)責(zé)處理的。
通過(guò)購(gòu)買包括來(lái)自同一制造商的控制系統(tǒng)、HMI、I/O 和其他組件的系統(tǒng)解決方案,可以獲得最佳的互操作性和安全性。完整解決方案提供商將確保對(duì)所有可用功能的最佳訪問(wèn)??桃鈱⒉煌瑥S家的控制器、開放式或封閉式HMI或I/O混合在一起,將使集成和使用每個(gè)控制組件的最佳功能的能力變得復(fù)雜。
對(duì)于開源HMI系統(tǒng),可能需要Visual Basic、c++等開發(fā)工具或底層編程工具,甚至可能需要開發(fā)PC機(jī)。對(duì)于封閉式HMI系統(tǒng),通常使用更高級(jí)別的配置包來(lái)選擇系統(tǒng)需要的對(duì)象和功能。
關(guān)鍵概念:
■開源 HMI 軟件使任何人都可以查看和更改驅(qū)動(dòng) HMI功能的源代碼。
■并不是所有的開源軟件都是零成本的。
審核編輯:劉清
-
plc
+關(guān)注
關(guān)注
5013文章
13323瀏覽量
464015 -
人機(jī)界面
+關(guān)注
關(guān)注
5文章
528瀏覽量
44167 -
HMI
+關(guān)注
關(guān)注
9文章
589瀏覽量
48606 -
javascript
+關(guān)注
關(guān)注
0文章
519瀏覽量
53888
原文標(biāo)題:開源人機(jī)界面(HMI)軟件可行嗎?
文章出處:【微信號(hào):控制工程中文版,微信公眾號(hào):控制工程中文版】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論