開(kāi)源軟件在工業(yè)自動(dòng)化領(lǐng)域的應(yīng)用與發(fā)展_第1頁(yè)
開(kāi)源軟件在工業(yè)自動(dòng)化領(lǐng)域的應(yīng)用與發(fā)展_第2頁(yè)
開(kāi)源軟件在工業(yè)自動(dòng)化領(lǐng)域的應(yīng)用與發(fā)展_第3頁(yè)
開(kāi)源軟件在工業(yè)自動(dòng)化領(lǐng)域的應(yīng)用與發(fā)展_第4頁(yè)
開(kāi)源軟件在工業(yè)自動(dòng)化領(lǐng)域的應(yīng)用與發(fā)展_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

軟件開(kāi)源和開(kāi)源軟件

我們通常使用的數(shù)字設(shè)備里面的程序都是由基本代碼構(gòu)成的軟件。按照開(kāi)放與否這種基本代碼可以分為兩類(lèi):開(kāi)放源碼和封閉源碼。凡是可以被任何人共享和修改維護(hù)的稱之為開(kāi)放源碼;凡是只能為代碼開(kāi)發(fā)者獨(dú)享和修改維護(hù)的就是封閉源碼。圖1開(kāi)源軟件的特征:開(kāi)放,自由,共享開(kāi)源軟件(OpenSourceSoftware,OSS)意味著每個(gè)運(yùn)用它的人都可以根據(jù)自己的意愿修改、改進(jìn)或利用軟件,而不受任何限制。因此,可以在現(xiàn)有開(kāi)源軟件的基礎(chǔ)上針對(duì)自己的特定應(yīng)用對(duì)其定制化。開(kāi)源軟件是協(xié)同的產(chǎn)物,依賴所在社群的程序編制者和同行使用、更改、評(píng)審和彼此共享源代碼。開(kāi)發(fā)人員共享見(jiàn)解、想法和代碼,共同或單獨(dú)創(chuàng)建更多創(chuàng)新的軟件解決方案。這個(gè)可伸縮且靈活的軟件開(kāi)發(fā)方式確保任何擁有源代碼的人都可以修改、增強(qiáng)和重新分發(fā)它,以獲得更好的可重用性和可存取性。開(kāi)源軟件遵循對(duì)等生產(chǎn)和大規(guī)模協(xié)同的基本原則,為最終用戶創(chuàng)造更可持續(xù)的軟件。封閉源碼軟件(CloseSourceSoftware,CSS)是不向公眾發(fā)布的專有軟件。軟件是加密的,只有創(chuàng)造代碼的原創(chuàng)作者才有合法復(fù)制、修改、更新和編輯源代碼的權(quán)利。對(duì)最終用戶而言,封閉軟件對(duì)其應(yīng)用程序的操作施加了限制,防止用戶修改、共享、復(fù)制或重新發(fā)布源代碼。在開(kāi)源和閉源之外,還有一種被稱之為FOSS的自由開(kāi)源軟件,允許用戶從更原理的角度存取軟件。在自由開(kāi)源軟件體系中,自由軟件基金會(huì)(FSF)旨在保護(hù)用戶的自由,開(kāi)放源碼組織(OSI)旨在確??煽寇浖募夹g(shù)價(jià)值。由于開(kāi)源軟件的出現(xiàn),在過(guò)去20年里,計(jì)算環(huán)境發(fā)生了巨大的變化。這種巨大的變化發(fā)生在開(kāi)源軟件開(kāi)發(fā)者社群提供軟件和代碼的背景下,這些軟件和代碼是他們花費(fèi)了數(shù)百萬(wàn)工時(shí)來(lái)開(kāi)發(fā)和驗(yàn)證的。用戶可以從這些庫(kù)和基礎(chǔ)塊中組裝軟件,而不是從頭開(kāi)始編寫(xiě),以前覺(jué)得代價(jià)高昂的軟件開(kāi)發(fā)成本現(xiàn)在花費(fèi)少多了,以前需要長(zhǎng)期開(kāi)發(fā)的項(xiàng)目現(xiàn)在可以很快開(kāi)發(fā)出來(lái)。這種開(kāi)源軟件大致可以分為三類(lèi)。首先是操作系統(tǒng),Linux和安卓(Android)就屬于這一類(lèi)。目前100%的超級(jí)計(jì)算機(jī)和85%的智能手機(jī)中,大多數(shù)的邊緣計(jì)算設(shè)備都在運(yùn)行Linux,全球100萬(wàn)臺(tái)頂級(jí)服務(wù)器中的96.3%和90%的云基礎(chǔ)設(shè)施上,都在運(yùn)行Linux。這顯然意味著,隨著越來(lái)越多的工廠開(kāi)始用服務(wù)器和云連接,并增強(qiáng)其基礎(chǔ)設(shè)施,Linux將會(huì)在工業(yè)自動(dòng)化市場(chǎng)繼續(xù)發(fā)展。第二類(lèi)開(kāi)源軟件由應(yīng)用程序組成,比如數(shù)據(jù)庫(kù)和瀏覽器。在工業(yè)領(lǐng)域,這一類(lèi)的軟件往往不像其他類(lèi)別的軟件那樣受歡迎。但是一些開(kāi)源數(shù)據(jù)庫(kù),比如出自PostgreSQL全球開(kāi)發(fā)組織的PostgreSQL和來(lái)自O(shè)racle的MySQL還是廣受歡迎。開(kāi)源軟件中更受歡迎的一類(lèi)是可以嵌入到其他軟件項(xiàng)目中的代碼庫(kù)。現(xiàn)在軟件項(xiàng)目中90%的代碼都是有關(guān)多線程的處理,軟件開(kāi)發(fā)者給軟件帶來(lái)的價(jià)值只有10%。因此,具備必要才能的軟件開(kāi)發(fā)人員和用戶通常會(huì)結(jié)合開(kāi)源和商用代碼來(lái)構(gòu)建他們的大部分代碼。許多公司和個(gè)人更喜歡使用開(kāi)源軟件,而不是專有或商業(yè)軟件,因?yàn)樗亩喙δ苄?、安全性、進(jìn)化性、社群氛圍和支持、培訓(xùn)和穩(wěn)定性。使用開(kāi)源軟件的一些優(yōu)點(diǎn)是成本的節(jié)省、定制代碼的靈活性,以及可以自由地利用社群而不是依賴單個(gè)供應(yīng)商。開(kāi)源也有一些缺點(diǎn),包括:支持不足、測(cè)試不足、文檔不足、不適當(dāng)?shù)膹?fù)雜性和軟件漏洞。

工業(yè)自動(dòng)化開(kāi)源的背景及進(jìn)展相對(duì)于IT行業(yè)的開(kāi)源運(yùn)動(dòng),工業(yè)自動(dòng)化領(lǐng)域的軟件開(kāi)源發(fā)展要晚得多。為了弄清開(kāi)放軟件運(yùn)動(dòng)是如何影響工業(yè)軟件技術(shù)的,我們先看一下當(dāng)前驅(qū)動(dòng)許多新的自動(dòng)化技術(shù)決策的大趨勢(shì),主要有:(1)終端用戶的需求日益增長(zhǎng),導(dǎo)致軟件的應(yīng)用和程序的復(fù)雜性也隨之增長(zhǎng);為滿足個(gè)性化和多樣性的技術(shù)需求以及提供穩(wěn)定可靠的工業(yè)技術(shù)的快速實(shí)現(xiàn)之間求得平衡,迫使和推動(dòng)工業(yè)自動(dòng)化邁向開(kāi)源的未來(lái)。(2)工業(yè)自動(dòng)化與工業(yè)互聯(lián)網(wǎng)日益融合或結(jié)合的趨勢(shì),體現(xiàn)了OT與IT在更廣泛的范圍內(nèi)融合的客觀需求;把多年來(lái)推動(dòng)IT技術(shù)迅猛發(fā)展的開(kāi)源模式引入OT領(lǐng)域,以期突破OT領(lǐng)域在軟件方面的長(zhǎng)期保守和封閉局面。(3)工業(yè)自動(dòng)化領(lǐng)域從七八年前吹起了開(kāi)放自動(dòng)化的清風(fēng),一方面瞄準(zhǔn)了DCS和PLC這些主力控制系統(tǒng)硬件和軟件捆綁所帶來(lái)的弊端,另一方面也是最終用戶在長(zhǎng)期封閉的開(kāi)發(fā)環(huán)境束縛之下,尋求一種革命性的出路;追求采用不同供應(yīng)商的軟硬組件構(gòu)成具有開(kāi)放、互操作、內(nèi)生信息安全以及快速部署和投運(yùn)為特征的新興控制系統(tǒng)的目標(biāo),也必須借鑒和充分利用開(kāi)源軟件的無(wú)限生命力和潛能,從而使廣大的最終用戶擺脫對(duì)特定供應(yīng)商的依賴,掌握自身發(fā)展的節(jié)奏。簡(jiǎn)而言之,“應(yīng)用驅(qū)動(dòng)技術(shù)”是開(kāi)源軟件開(kāi)發(fā)的核心,這種社群成員可以使用、修改和共享源代碼的模式,注定將成為一種難以抗拒的趨勢(shì)。自動(dòng)化行業(yè)面對(duì)這一趨勢(shì)必須首先澄清并迅速轉(zhuǎn)變的是“根本不理解任何開(kāi)源商業(yè)模式”這一主要問(wèn)題。有識(shí)之士認(rèn)為,在未來(lái)這個(gè)更多的企業(yè)管理軟件源自開(kāi)源軟件的時(shí)代,大中小型自動(dòng)化公司以及工業(yè)組織或工業(yè)聯(lián)盟應(yīng)該考慮如何跟上形勢(shì)運(yùn)用開(kāi)源軟件。這是公司和組織發(fā)展戰(zhàn)略的一個(gè)重要組成部分。德國(guó)的A&D咨詢公司曾對(duì)來(lái)自自動(dòng)化行業(yè)的363名參與者進(jìn)行有關(guān)開(kāi)源軟件在自動(dòng)化領(lǐng)域應(yīng)用的調(diào)查。大約2/3的人認(rèn)為高性能在未來(lái)的應(yīng)用中至關(guān)重要,控制器作為一個(gè)開(kāi)放的通信中心,需要與云連接,并支持任何編程/開(kāi)發(fā)工具。幾乎80%的人關(guān)注一個(gè)事關(guān)“無(wú)廠商鎖定”(“NoVendorLock-in”)的關(guān)鍵問(wèn)題,即在控制平臺(tái)中開(kāi)放接口,以減少在他們自有的集成開(kāi)發(fā)環(huán)境中的集成工作。當(dāng)涉及開(kāi)源軟件時(shí),參與調(diào)查的人士存在一定的分歧,因?yàn)樵S多人對(duì)于開(kāi)源軟件仍然有很多無(wú)知。雖然2/3的受訪者認(rèn)為通過(guò)社群平臺(tái)和開(kāi)放且免費(fèi)的源代碼進(jìn)行信息交換非常有幫助,但大約1/3的人仍然青睞擁有專有技術(shù)并經(jīng)過(guò)驗(yàn)證的PLC解決方案,頑強(qiáng)地認(rèn)為對(duì)于控制任務(wù),開(kāi)放社區(qū)解決方案往往不受信任。綜上所述可以認(rèn)為,工業(yè)控制器系統(tǒng)正在增加工業(yè)級(jí)開(kāi)源軟件的性能選項(xiàng),但仍然有許多意見(jiàn)并不看好開(kāi)源的可編程邏輯控制器(PLC)。那么我們就先從這里談起。五十多年前,為工業(yè)應(yīng)用量身定做的PLC一經(jīng)問(wèn)世,短短幾年就風(fēng)靡全球,迅速擴(kuò)散到各種類(lèi)別的離散制造業(yè)。還不斷擴(kuò)展包括I/O、通信、運(yùn)動(dòng)控制功能,改善運(yùn)算速度和可靠性,還循著標(biāo)準(zhǔn)化的道路制定了整個(gè)行業(yè)普遍接受的國(guó)際標(biāo)準(zhǔn)IEC61131,同時(shí)應(yīng)用領(lǐng)域還擴(kuò)大到運(yùn)動(dòng)控制和過(guò)程控制。PLC設(shè)備結(jié)構(gòu)緊湊,可以安裝在機(jī)械設(shè)備和移動(dòng)設(shè)備的現(xiàn)場(chǎng),在很大程度上推動(dòng)了自動(dòng)化的發(fā)展,甚至被譽(yù)為第三次工業(yè)革命的標(biāo)志之一。PLC通常使用專用的電纜、通信協(xié)議和編程語(yǔ)言來(lái)執(zhí)行任務(wù)。盡管它們是相對(duì)封閉的平臺(tái),但它們的任務(wù)非常具體,并且長(zhǎng)盛不衰地為大中小型工業(yè)應(yīng)用提供了多樣而有效的控制、數(shù)據(jù)采集和監(jiān)控等服務(wù)。可是,隨著IT技術(shù)的迅猛發(fā)展,即使是如此成熟的控制產(chǎn)品現(xiàn)今也面臨著開(kāi)源軟件和開(kāi)源硬件的影響和沖擊。開(kāi)源的PLC以許多不同的方式呈現(xiàn)了其獨(dú)特的優(yōu)勢(shì),例如:在開(kāi)源軟件代碼的基礎(chǔ)上可以進(jìn)行免費(fèi)代碼合成和代碼再共享;可進(jìn)行更高程度的合作和協(xié)同;在有序的許可管理的條件下可對(duì)源代碼進(jìn)行存??;終結(jié)排他性的供應(yīng)商軟件鎖定;等等。于是這些年來(lái)在美國(guó)、德國(guó)等都涌現(xiàn)了既繼承傳統(tǒng)PLC的特點(diǎn)又帶有開(kāi)源特色的產(chǎn)品,例如德國(guó)菲尼克斯(PhoenixContact)的可編程邏輯控制器的PLCnext和美國(guó)OPTO22的邊緣可編程工業(yè)控制器EPIC。還有基于樹(shù)莓派和Arduinos開(kāi)源硬件的工業(yè)級(jí)開(kāi)源PLC(見(jiàn)圖2)及其集成開(kāi)發(fā)環(huán)境。Arduino是一種源自歐洲的便捷靈活、方便上手的開(kāi)源電子原型平臺(tái),包括各種型號(hào)的硬件Arduino板和軟件ArduinoIDE。圖2基于Arduinos擴(kuò)展的開(kāi)源PLC作為開(kāi)放流程自動(dòng)化的倡導(dǎo)者和踐行者,埃克森美孚一直在研究如何從PLCnext中獲益。受到樹(shù)莓派和其他開(kāi)放架構(gòu)社群的啟發(fā),菲尼克斯開(kāi)發(fā)了這款PLC作為開(kāi)源設(shè)備。??松梨趶?019年起將它引入位于新澤西州克林頓的試驗(yàn)工廠,用于提供基本的計(jì)算和可配置的I/O。除了是一個(gè)傳統(tǒng)的PLC,PLCnext也是一個(gè)支持Linux的設(shè)備,這表明它允許使用傳統(tǒng)的IEC61131-3語(yǔ)言以及編程語(yǔ)言,如C++、C語(yǔ)言和Python。這個(gè)開(kāi)源PLC可以在Eclipse4DIAC、VisualStudio、Matlab等幾乎任何IDE(集成開(kāi)發(fā)環(huán)境)編譯器上運(yùn)行。埃克森美孚追求的開(kāi)放自動(dòng)化概念是不依賴一家供應(yīng)商,而是將多家軟硬件的供應(yīng)商按照O-PAS的系列標(biāo)準(zhǔn)構(gòu)成可互操作、組態(tài)可移植、應(yīng)用程序可移植和可互換的控制系統(tǒng)(見(jiàn)圖3)。該試驗(yàn)廠一直在使用PLCnext驗(yàn)證這一概念,但凡由??松梨诠こ碳夹g(shù)人員開(kāi)發(fā)的基于Linux的軟件都可以在任何開(kāi)放的、支持Linux的控制器上運(yùn)行。圖3埃克森美孚開(kāi)放流程自動(dòng)化測(cè)試實(shí)驗(yàn)室由多供應(yīng)商的硬軟組件構(gòu)成的控制系統(tǒng)秉承互聯(lián)網(wǎng)開(kāi)放和可互操作的整體理念,工業(yè)物聯(lián)網(wǎng)和工業(yè)互聯(lián)網(wǎng)顯然也需要建立在開(kāi)放和可互操作的基礎(chǔ)上。最終用戶需要意識(shí)到開(kāi)放軟件運(yùn)動(dòng)對(duì)工業(yè)軟件技術(shù)的影響,重要的是要認(rèn)識(shí)到互聯(lián)網(wǎng)的基本構(gòu)建模塊的開(kāi)放性。譬如現(xiàn)在作為互聯(lián)網(wǎng)的通信協(xié)議TCP/IP和網(wǎng)站開(kāi)發(fā)用超文本標(biāo)記語(yǔ)言HTML,前者曾是美國(guó)國(guó)防部高級(jí)研究計(jì)劃局DARPA為在核戰(zhàn)爭(zhēng)中生存而建立的開(kāi)放協(xié)議,后者則是由歐洲核子研究中心創(chuàng)建的互聯(lián)網(wǎng)開(kāi)放語(yǔ)言。一旦它們變成開(kāi)源軟件,就大大推動(dòng)了互聯(lián)網(wǎng)的普及。同理,工業(yè)中互聯(lián)網(wǎng)的使用越來(lái)越多也得益于開(kāi)源軟件。近些年來(lái)工業(yè)物聯(lián)網(wǎng)IIoT的流行促進(jìn)了HTML的最新版本HTML5和TCP/IP的開(kāi)源版本的運(yùn)用,還促進(jìn)了使用MQTT開(kāi)放消息傳遞協(xié)議。據(jù)MQTT的共同發(fā)明人ArlenNipper的說(shuō)法,在所有工業(yè)物聯(lián)網(wǎng)項(xiàng)目中MQTT的使用已經(jīng)占有64%的份額。MQTT協(xié)議的開(kāi)源版本在Eclipse上叫做mosquitto。

開(kāi)源軟件在工業(yè)自動(dòng)化應(yīng)用中的優(yōu)勢(shì)顯而易見(jiàn)的是,制造業(yè)自動(dòng)化領(lǐng)域許多參與者的崛起,以及工廠越來(lái)越多地采用工業(yè)物聯(lián)網(wǎng)和自動(dòng)化解決方案,為開(kāi)源軟件的應(yīng)用提供了合適的環(huán)境。無(wú)論制造商的操作技術(shù)和管理要求如何,開(kāi)源軟件都是一種增值解決方案,因?yàn)樗哂卸ㄖ苹⒏哌m應(yīng)彈性、可擴(kuò)展性、可訪問(wèn)性、成本效益和質(zhì)量等優(yōu)勢(shì)。01定制化軟件開(kāi)發(fā)人員通過(guò)使用開(kāi)源代碼為本身特定應(yīng)用軟件的創(chuàng)建提供核心代碼,在此基礎(chǔ)上再建立特定的特性,并允許用戶訪問(wèn)它并根據(jù)需要進(jìn)行更改。與將用戶鎖定的封閉系統(tǒng)不同,開(kāi)源允許他們調(diào)整和修改代碼以滿足特定的需求或應(yīng)用。這中附加編碼方式可對(duì)定制化不加限制,從而使社群(即用戶的集合)能夠在軟件集成階段添加有益的特性,例如用于用戶測(cè)試的特性或?yàn)闄C(jī)器找到最佳解決方案的特性。定制在數(shù)據(jù)和流程可視化方面也很有價(jià)值,用戶可以開(kāi)發(fā)最能描述其操作的儀表板和視覺(jué)效果。如果采用合適的傳感器為特定機(jī)器提供實(shí)時(shí)狀態(tài)監(jiān)測(cè)數(shù)據(jù),就可以定制采集和處理特定參數(shù)數(shù)據(jù)或計(jì)算特定值的軟件代碼。02適應(yīng)彈性

由于可快速對(duì)源代碼進(jìn)行修改,開(kāi)源軟件對(duì)變化的適應(yīng)性表現(xiàn)得很有彈性。快速添加或刪除功能以及適應(yīng)網(wǎng)絡(luò)環(huán)境或特定應(yīng)用的能力,可能使新開(kāi)發(fā)的程序不穩(wěn)定,但通過(guò)接觸不同的環(huán)境和應(yīng)用,開(kāi)源代碼也可以變得更強(qiáng),得以應(yīng)對(duì)網(wǎng)絡(luò)安全威脅。由于有如此多的編碼人員或程序員進(jìn)行測(cè)試和增強(qiáng),實(shí)現(xiàn)開(kāi)源代碼的風(fēng)險(xiǎn)(例如在網(wǎng)絡(luò)安全方面)并不一定比封閉代碼來(lái)得高。在采用開(kāi)源軟件開(kāi)發(fā)自己的定制軟件時(shí),實(shí)現(xiàn)者可以借鑒適用于其他閉源軟件的相同規(guī)則,不過(guò)實(shí)現(xiàn)者必須了解代碼的源代碼,并避免使用不知名的源代碼,因?yàn)檫@些源代碼可能會(huì)帶著不良的意圖修改代碼??偟膩?lái)說(shuō),開(kāi)源代碼具有彈性、適應(yīng)性和敏捷性,能夠適應(yīng)給定的新環(huán)境。03可伸縮性

開(kāi)放源碼的附加組件和定制功能也允許代碼具有高度的可伸縮性。這種可伸縮的實(shí)現(xiàn)在兩個(gè)維度上進(jìn)行,即采用時(shí)間軸和基于應(yīng)用的實(shí)現(xiàn)。為了保證用戶愿意接受,并滿足操作和應(yīng)用的要求,這兩者都不可或缺。關(guān)于采用時(shí)間軸,可伸縮性允許修改軟件和代碼以滿足用戶的期望。開(kāi)源代碼能夠?qū)崿F(xiàn)用戶測(cè)試和反饋的特性。最終的解決方案將包括多次迭代,以滿足用戶的需求和實(shí)現(xiàn)運(yùn)行預(yù)期。另一方面,基于不同的應(yīng)用,代碼程序也可以根據(jù)控制目的或要求加以變化和伸縮。例如控制不同的機(jī)器,或同一類(lèi)型的機(jī)器但運(yùn)用環(huán)境或場(chǎng)景不盡相同,或者為特定用途添加/刪除某些功能特性等等。如果有三臺(tái)相同的機(jī)器(A、B和C),它們處于不同的環(huán)境中:A在零下2度的環(huán)境下工作,B在室溫下,C處于不停的洗沖中。那么狀態(tài)監(jiān)控軟件要為每個(gè)場(chǎng)景定義可接受的參數(shù),避免錯(cuò)誤觸發(fā)的誤報(bào)警。為此可以調(diào)整基本代碼,以滿足不同應(yīng)用的特定功能。04可訪問(wèn)性

一般來(lái)說(shuō),在線上可以找到性價(jià)比高的開(kāi)源代碼。還有一些額外的資源,比如免費(fèi)的編碼教程,也不需要任何許可。此外,當(dāng)程序員更新開(kāi)源代碼時(shí),他們必須讓新版本共享,以便再次可用,并確保代碼是可訪問(wèn)的和最新的。05成本效益和質(zhì)量

使用社群開(kāi)源代碼大大降低了獨(dú)自構(gòu)建應(yīng)用程序的開(kāi)發(fā)、集成和測(cè)試諸階段的成本。同時(shí)還減少了實(shí)施的時(shí)間,有利滿足項(xiàng)目的進(jìn)度或產(chǎn)品上市的時(shí)間。本質(zhì)上說(shuō),開(kāi)源軟件應(yīng)該是受信任的源代碼,是由眾多編碼人員和用戶創(chuàng)建的高質(zhì)量、可靠的代碼。06開(kāi)源的安全和權(quán)限管理系統(tǒng)

與其他操作系統(tǒng)相比,開(kāi)源Linux的一個(gè)優(yōu)點(diǎn)是權(quán)限管理和安全性。為了授予定制的存取權(quán)限,Linux提供了一種非常細(xì)粒度的、可獨(dú)立調(diào)整的權(quán)限管理,嚴(yán)格的權(quán)限分配以及對(duì)用戶和組的管理。例如,允許保護(hù)配置文件和控制設(shè)置,防止未經(jīng)授權(quán)的訪問(wèn)或無(wú)意的更改。這樣,機(jī)器操作員就不能通過(guò)所分配的適當(dāng)權(quán)限來(lái)對(duì)工藝參數(shù)進(jìn)行任何更改。嚴(yán)格的權(quán)限管理可以保護(hù)操作系統(tǒng)免受網(wǎng)絡(luò)攻擊,在日益網(wǎng)絡(luò)化的控制系統(tǒng)中,安全問(wèn)題尤為重要。許多商用的基于工業(yè)PC的控制器使用Windows作為操作系統(tǒng),其效果是必須定期安裝安全刷新。特別是在生產(chǎn)環(huán)境中,安全刷新意味著中斷,并可能導(dǎo)致不希望的副作用。然而,在基于Linux的內(nèi)核中,有一些經(jīng)過(guò)特殊加固的“設(shè)計(jì)安全”內(nèi)核。操作系統(tǒng)通過(guò)簡(jiǎn)化獲得額外的安全性:只保留所設(shè)定任務(wù)執(zhí)行必要的代碼??赡軐?dǎo)致額外攻擊載體的不必要軟件一開(kāi)始就沒(méi)有安裝在系統(tǒng)上。還有一個(gè)優(yōu)勢(shì)是在開(kāi)源庫(kù)和自由程序中出現(xiàn)了新的安全漏洞,由于開(kāi)放性,相應(yīng)的補(bǔ)丁可以很快地從社群中導(dǎo)入。與此相反依賴于制造商的安全補(bǔ)丁,這可能需要很長(zhǎng)時(shí)間。

運(yùn)用開(kāi)源軟件必須注意的問(wèn)題集成商和最終用戶從相關(guān)的開(kāi)源網(wǎng)站借用免費(fèi)代碼用于他們的項(xiàng)目,為了確保它運(yùn)行良好,使用安全,首先需要對(duì)它進(jìn)行審慎的審查。審查應(yīng)該從對(duì)許可證的評(píng)估開(kāi)始,要確定這是否是一個(gè)在商業(yè)上友好的開(kāi)源軟件許可證,能否合法使用。還要確定是否允許修改代碼。開(kāi)源不一定意味著必須修改它,但一定能看到和運(yùn)用代碼。除了檢查許可證,還要考慮安全性。最好從使用活躍用戶社群支持和維護(hù)的開(kāi)源應(yīng)用程序和庫(kù)開(kāi)始。用戶越多越好,因?yàn)楦嗟难劬ふ衣┒床⑻岢鲂迯?fù)方案,不僅會(huì)持續(xù)改進(jìn)軟件,而且有助于讓社群領(lǐng)先于惡意行為者。每個(gè)社群都有自己的特點(diǎn),如果想要加入的社群中有熟悉的人更好,可以了解更多的情況。還要搞清誰(shuí)是代碼的發(fā)布者。一般來(lái)講愿意把自己的名字與所做的工作公開(kāi)的人不太可能做任何惡意的事情。任何好的審查過(guò)程還必須包括性能測(cè)試。從開(kāi)源社群獲得一些代碼時(shí),接下去的工作就是確保這些代碼可以為我所用,并且始終應(yīng)該對(duì)所部署或修改的任何內(nèi)容進(jìn)行嚴(yán)格的測(cè)試。審查開(kāi)源軟件的另一個(gè)重要方面是考慮其在產(chǎn)品生命周期內(nèi)的成本和收益。與自行開(kāi)發(fā)的軟件相比,在整個(gè)產(chǎn)品生命周期內(nèi)操作和維護(hù)開(kāi)源軟件的能力變得更重要,也更具有挑戰(zhàn)性。出于這個(gè)原因,應(yīng)該開(kāi)發(fā)自己的內(nèi)部標(biāo)準(zhǔn)和指導(dǎo)方針,以審查任何考慮納入其產(chǎn)品的開(kāi)源代碼。在軟件評(píng)估階段,從多個(gè)角度檢查軟件,比如它在該領(lǐng)域的記錄、產(chǎn)品質(zhì)量、與類(lèi)似軟件的比較、提供長(zhǎng)期維護(hù)的能力以及許可證的結(jié)構(gòu)等。在使用開(kāi)放源碼時(shí),仍然必須遵守許可條件,并在必要時(shí)澄清許可條件。所以每個(gè)開(kāi)源軟件的使用者必須讓自己的程序基于開(kāi)放源代碼。還要考慮封閉的源代碼是否可以供自己使用,這些程序是否可以商業(yè)發(fā)行等問(wèn)題。原則上,在公司內(nèi)部使用各種開(kāi)源許可證,如GPL(GNUGeneralPublicLicense)或BSD(BerkeleySoftwareDistribution)時(shí),它們之間的差別很小。但是,如果開(kāi)源軟件被進(jìn)一步開(kāi)發(fā)并發(fā)布,就應(yīng)該注意許可條件。這里開(kāi)源程序區(qū)分了“有版權(quán)Copyleft”和“無(wú)版權(quán)Non-Copyleft”的許可類(lèi)型。如果制造商使用基于copyleft許可的開(kāi)放源代碼,就像眾所周知的GPL一樣,那么修改后的代碼也必須按照原始許可再次發(fā)布給社群。這是為了防止用戶或制造商分發(fā)修改了使用條款的修改后的源代碼。因此,在其解決方案中使用帶有copyleft許可證的開(kāi)源軟件的自動(dòng)化解決方案提供商必須仔細(xì)檢查除了許可文本之外,是否必須提供編輯過(guò)的源代碼。例如,某些copyleft許可要求開(kāi)放源碼軟件的每個(gè)編輯版本都不受限制地發(fā)布。但是也有中度的copyleft變體,只在特定條件下才要求發(fā)布源代碼。它與包括BSD許可的軟件的非copyleft許可證類(lèi)型不同,不要求發(fā)布修訂后的代碼。因此,用戶可以根據(jù)自己的需求進(jìn)一步使用BSD許可開(kāi)發(fā)軟件,并獲得專有許可。作為一種選擇這樣就可以開(kāi)發(fā)商業(yè)產(chǎn)品,源代碼不需要公開(kāi)??傊?,開(kāi)源軟件使用的合規(guī)性是一個(gè)必須嚴(yán)肅遵守的文問(wèn)題。

國(guó)內(nèi)自動(dòng)化公司運(yùn)用開(kāi)源軟件的體會(huì)

盡管開(kāi)源軟件的還存在諸如文檔弱、沒(méi)有專門(mén)技術(shù)支持等弊端,目前國(guó)內(nèi)有些小型的自動(dòng)化公司還是非常贊同采用開(kāi)源軟件來(lái)構(gòu)建工業(yè)控制器,為此需要做不少工作。當(dāng)然不得不承認(rèn)工業(yè)控制系統(tǒng)要求還是比較特殊,盲目提高核心處理器性能并不能帶來(lái)絕對(duì)的控制性能的提高,由于像PLC這樣的工業(yè)控制系統(tǒng)基本都是采取循環(huán)掃描方式工作,并且對(duì)于實(shí)時(shí)性的要求相對(duì)較高,因此選用開(kāi)源軟件時(shí)需要進(jìn)行詳細(xì)的評(píng)估與測(cè)試,特別對(duì)于基礎(chǔ)的實(shí)時(shí)操作系統(tǒng)更是如此。對(duì)比下來(lái),不開(kāi)放源代碼的商業(yè)實(shí)時(shí)操作系統(tǒng)(如:VxWorks,QNX等等)具有完善的文檔與團(tuán)隊(duì)對(duì)工業(yè)控制系統(tǒng)采用的實(shí)時(shí)操作系統(tǒng)進(jìn)行技術(shù)保證,但其費(fèi)用需要采用者進(jìn)行詳細(xì)評(píng)估才能做出。對(duì)于基礎(chǔ)實(shí)時(shí)操作系統(tǒng),一些小型自動(dòng)化公司更傾向于商用開(kāi)源的解決方案,例如研發(fā)PLC時(shí)可以考慮采用:uCOSIII、KEILRTX5、embOS、ThreadX等等,這些RTOS應(yīng)用非常成熟,并且均已經(jīng)開(kāi)放源代碼,提供商業(yè)技術(shù)支持,而且后續(xù)無(wú)版權(quán)費(fèi)或在部分指定芯片上無(wú)版權(quán)費(fèi)。Linux操作系統(tǒng)應(yīng)用在工業(yè)控制器產(chǎn)品上,則需要加入實(shí)時(shí)補(bǔ)丁,目前主流的實(shí)時(shí)補(bǔ)丁有Preempt-RT、Xenomai。其中Xenomai實(shí)時(shí)補(bǔ)丁綜合評(píng)測(cè)下來(lái)實(shí)時(shí)性較高,在對(duì)實(shí)時(shí)性要求較高的運(yùn)控控制系統(tǒng)中得到大量的應(yīng)用與驗(yàn)證,并且采用微內(nèi)核模式的架構(gòu),實(shí)時(shí)應(yīng)用執(zhí)行效率更高。Preempt-RT與Xenomai補(bǔ)丁均為開(kāi)源社群項(xiàng)目,其實(shí)時(shí)性在具體平臺(tái)上的表現(xiàn)不盡相同,因此需要進(jìn)行大量的測(cè)試與驗(yàn)證,用戶需要評(píng)估公司團(tuán)隊(duì)是否具備測(cè)試與優(yōu)化的能力。由上所述可知,在工業(yè)控制器中采用開(kāi)源軟件來(lái)進(jìn)行基礎(chǔ)系統(tǒng)構(gòu)建,同樣也是一把雙刃劍。上海翌控科技公司在此方面積累了不少寶貴經(jīng)驗(yàn),他們認(rèn)為最佳模式是基礎(chǔ)實(shí)時(shí)操作系統(tǒng)采用商業(yè)開(kāi)源軟件,或者聘請(qǐng)專業(yè)工程師或者與第三方專業(yè)公司合作解決基礎(chǔ)實(shí)時(shí)操作系統(tǒng)問(wèn)題。對(duì)于像IEC61131-3PLC運(yùn)行時(shí)系統(tǒng)此類(lèi)非常專業(yè)的基礎(chǔ)系統(tǒng),雖然開(kāi)源社群也有類(lèi)似的開(kāi)源軟件平臺(tái),但是其成熟度遠(yuǎn)遠(yuǎn)落后市面專業(yè)公司的產(chǎn)品,如果公司項(xiàng)目無(wú)法投入巨量的資金來(lái)基于此開(kāi)源社群產(chǎn)品進(jìn)行優(yōu)化,則非常難以滿足市場(chǎng)客戶的要求。因此,以開(kāi)發(fā)工業(yè)控制器為己任的OEM公司與專業(yè)控制軟件公司合作則是最佳解決方案。翌控科技公司在構(gòu)建NXTOS工業(yè)控制器系統(tǒng)平臺(tái)時(shí)也基于以上的分析與判斷,采用商業(yè)專用軟件(LogicLabIEC6

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論