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