宋華振 貝加萊工業(yè)自動(dòng)化(上海)有限公司
控制器的軟件開發(fā)一直是一個(gè)被忽略的重點(diǎn),而事實(shí)上,軟件的重要性對(duì)于OEM設(shè)備開發(fā)而言更為重要。因?yàn)椋瑢?duì)于通用的PLC或其它控制器而言,其具有可適應(yīng)于各個(gè)行業(yè)的特性,畢竟專業(yè)開發(fā)的控制器存在批量小且穩(wěn)定性和可靠性較弱的問(wèn)題,而廣泛被使用的PLC則可以實(shí)現(xiàn)針對(duì)不同應(yīng)用的硬件組合。但是,什么是區(qū)分不同行業(yè)應(yīng)用的核心呢?顯然,是軟件。每個(gè)行業(yè)都有其獨(dú)特的工藝、操作習(xí)慣等方面的需求,這些需求必然是依靠軟件的作用而進(jìn)行劃分的。
OEM的機(jī)器設(shè)計(jì)涉及太多的行業(yè),印刷、紡織、塑料、包裝、工程機(jī)械、風(fēng)電等,每個(gè)行業(yè)都有其獨(dú)特的工藝需求,而這些變化對(duì)于自動(dòng)化系統(tǒng)而言核心差別在于軟件。
機(jī)器本身是一個(gè)復(fù)雜系統(tǒng),隨著技術(shù)的發(fā)展,設(shè)備互聯(lián)、運(yùn)動(dòng)控制與機(jī)器人、視覺(jué)等越來(lái)越多地集成到系統(tǒng)中,從而提升系統(tǒng)的功能設(shè)計(jì)和加工效率等,這些使得機(jī)器控制變得更加復(fù)雜。在同一臺(tái)機(jī)器上不僅包含了傳統(tǒng)的邏輯也包括了回路調(diào)節(jié)、液壓、安全技術(shù)、運(yùn)動(dòng)控制、CNC和機(jī)器人、視覺(jué)系統(tǒng)、冗余系統(tǒng)等,因此,現(xiàn)代機(jī)器控制有更為復(fù)雜的設(shè)計(jì)需求。
對(duì)于OEM機(jī)械企業(yè)而言,如何開發(fā)可靠而強(qiáng)大的電氣控制系統(tǒng)是其面臨的巨大挑戰(zhàn)。
(1)如何能夠快速的構(gòu)建系統(tǒng),降低開發(fā)難度?
對(duì)于機(jī)器設(shè)備的開發(fā)而言,其最大的難點(diǎn)在于變化,如何能夠提升開發(fā)效率,使得新的機(jī)型和應(yīng)用被快速實(shí)現(xiàn)?現(xiàn)在,機(jī)器的功能和性能需求隨著客戶的需求有了越來(lái)越多的變化。
(2)在人員變動(dòng)時(shí),如何確保知識(shí)產(chǎn)權(quán)的延續(xù)和把握自主的知識(shí)?
確保代碼的安全是對(duì)于擁有核心軟件算法公司最為關(guān)注的問(wèn)題,如何實(shí)現(xiàn)多人不同的開發(fā)和代碼的安全等級(jí)分配尤為關(guān)鍵,這個(gè)可能會(huì)涉及到企業(yè)內(nèi)部的技術(shù)機(jī)密和重要的知識(shí)產(chǎn)權(quán)。
(3)如何提高代碼的穩(wěn)定與可靠?
事實(shí)上,軟件與硬件一樣,同樣存在著穩(wěn)定性與可靠性問(wèn)題。在很多時(shí)候,來(lái)自軟件的不穩(wěn)定問(wèn)題可能比硬件更多,這是由于架構(gòu)設(shè)計(jì)的不嚴(yán)謹(jǐn),以及開發(fā)人員的經(jīng)驗(yàn)在全局考慮時(shí)的疏忽所導(dǎo)致,這會(huì)造成代碼的不安全。而經(jīng)過(guò)標(biāo)準(zhǔn)化設(shè)計(jì)和反復(fù)測(cè)試過(guò)的軟件,多年的應(yīng)用證明它的代碼是可靠而穩(wěn)定的。
(4)反復(fù)修改帶來(lái)的效率低下
在很多OEM的機(jī)器開發(fā)中,由于架構(gòu)設(shè)計(jì)的不合理,使用了不嚴(yán)謹(jǐn)?shù)慕Y(jié)構(gòu),以及功能接口設(shè)計(jì)考慮欠缺,造成需要反復(fù)地根據(jù)新的應(yīng)用去調(diào)整,同時(shí)又因?yàn)槿狈ψ哉ǖ乃惴ㄔO(shè)計(jì)而使得很多參數(shù)的調(diào)整必須人工進(jìn)行。
(5)仿真與建模
對(duì)于那些復(fù)雜的算法和需要大量測(cè)試的應(yīng)用而言,如果能夠基于建模的話,那么就會(huì)帶給開發(fā)者諸多便利和節(jié)省大量成本。
(6)反復(fù)地學(xué)習(xí)不同軟件,復(fù)雜的接口設(shè)計(jì)
對(duì)于那些采用不同系統(tǒng)的應(yīng)用而言,開發(fā)者必須為不同的硬件和軟件架構(gòu)學(xué)習(xí)不同的開發(fā)軟件,而且這中間會(huì)損耗一些功能和性能,因?yàn)檫@未必是最匹配的系統(tǒng)。
關(guān)于軟件對(duì)于OEM的意義可以概括為以下幾點(diǎn):
(1) 軟件封裝客戶Know-how
傳統(tǒng)意義上,客戶的專利技術(shù)都是通過(guò)機(jī)械設(shè)計(jì)來(lái)實(shí)現(xiàn),但是這種方法比較容易被抄襲。隨著電子電氣及信息技術(shù)的發(fā)展,軟件成為了一種更好的封裝Know-how的容器,工藝參數(shù)、算法、特殊的功能設(shè)計(jì)均可以被封裝為功能塊或以固件形式固化在嵌入式的控制器上,這使得無(wú)法實(shí)現(xiàn)拷貝,因?yàn)檐浖菬o(wú)形存在的。
(2)軟件使得同一硬件平臺(tái)最大化發(fā)揮其功能
我們可以看到,不同的機(jī)器可能使用了同一套相同配置的控制器,但是,其可以實(shí)現(xiàn)不同的應(yīng)用,或者只是局部的小的變化。軟件的功能設(shè)計(jì)可以讓同一硬件平臺(tái)發(fā)揮最大的可能性,在不增加額外硬件投資的情況下,OEM廠商可以賦予機(jī)器更多的功能設(shè)計(jì)和更為個(gè)性化的設(shè)計(jì)。例如:簡(jiǎn)單的操作畫面設(shè)計(jì)、按照客戶要求定制的顏色、圖標(biāo),或者視覺(jué)化的機(jī)器三維嵌入,這些讓操作者可以更為直觀地看到機(jī)器的運(yùn)行。
(3)軟件塑造差異化競(jìng)爭(zhēng)力
差異化正是在軟件的功能與個(gè)性化設(shè)計(jì)上實(shí)現(xiàn)的,而硬件卻可能完全相同,或者僅僅增加一個(gè)模塊,例如:增加一個(gè)稱重模塊,就可以實(shí)現(xiàn)擠出機(jī)的計(jì)量控制,增加一個(gè)色標(biāo)傳感器輸入模塊,就可以實(shí)現(xiàn)套色的控制,而這些對(duì)客戶極具競(jìng)爭(zhēng)力的解決方案在硬件上卻只是通過(guò)額外的很少的投資(千元甚至數(shù)百元的投資),以獲得巨大的市場(chǎng)收益,因?yàn)?,軟件賦予了機(jī)器更高的價(jià)值。
如果要為客戶提供解決方案,那么,集成的開發(fā)平臺(tái)是必須的,因?yàn)榻鉀Q方案是一個(gè)涵蓋了產(chǎn)品的配置、項(xiàng)目管理、仿真與測(cè)試、編程、測(cè)試、系統(tǒng)維護(hù)的需求,因此,與傳統(tǒng)的開發(fā)工具概念不同,它是一個(gè)從全局面向整體方案的概念,以自動(dòng)化企業(yè)所提供的完整硬件支撐平臺(tái)為基礎(chǔ),并以提供其內(nèi)在的流程與系統(tǒng)架構(gòu)內(nèi)的無(wú)縫連接為目的,從而在整體上實(shí)現(xiàn)方案的集成。
4.2.1 項(xiàng)目配置與管理
集成開發(fā)平臺(tái)提供更為直觀的系統(tǒng)硬件配置和連接,以及自動(dòng)的檢查,從而讓使用者在輕松而簡(jiǎn)單的情況下來(lái)實(shí)現(xiàn)系統(tǒng)的平臺(tái)組建,這更多是管理項(xiàng)目的功能而并非是開發(fā)。但是,這可以有效地提升客戶多種機(jī)器的應(yīng)用管理,并應(yīng)該具備以下的功能。
配置管理;
版本管理——可以按照標(biāo)準(zhǔn)的項(xiàng)目管理來(lái)實(shí)現(xiàn)版本管理;
協(xié)同工作;
代碼的安全設(shè)置。
另外,也可以接受來(lái)自其它應(yīng)用的集成與導(dǎo)入。
例如:Automation Studio就支持對(duì)EPLAN圖紙的導(dǎo)入,可以實(shí)現(xiàn)對(duì)電氣連接圖的導(dǎo)入和生成;
4.2.2 仿真與測(cè)試
對(duì)于機(jī)器開發(fā)而言,基于建模(Modeling Based)是非常流行于德國(guó)、奧地利等歐美高端機(jī)器系統(tǒng)應(yīng)用中的,針對(duì)物理和每個(gè)組件均可實(shí)現(xiàn)建模,并且支持HIL(Hardware In the Loop)的硬件在環(huán)測(cè)試,以及自動(dòng)代碼生成功能,使得開發(fā)過(guò)程變得更為簡(jiǎn)化和快速,能夠有效地降低開發(fā)周期和成本。
自2008年開始,貝加萊首個(gè)推出MATLAB/Simulink的集成,包括Rockwell AB和Bachmann等也都在其開發(fā)系統(tǒng)中實(shí)現(xiàn)了MATLAB的集成。MATLAB/Simulink是廣為使用的仿真軟件,它是一個(gè)基于建模的設(shè)計(jì),通過(guò)建模,可以快速地設(shè)計(jì)控制器的調(diào)節(jié)功能,并對(duì)模型進(jìn)行優(yōu)化,通過(guò)自動(dòng)代碼生成功能,可以自動(dòng)生成高效的應(yīng)用代碼,并直接運(yùn)行于PLC之上,這帶來(lái)了以下好處:
(1)節(jié)省開發(fā)周期
如果能夠快速地給系統(tǒng)建模,則開發(fā)過(guò)程可以在MATLAB/Simulink的可視化環(huán)境中被建模,并且每個(gè)物理對(duì)象都可以被視為建模對(duì)象,從而提升系統(tǒng)的性能。
(2)降低測(cè)試成本
由于MATLAB/Simulink的反復(fù)測(cè)試可以對(duì)控制器實(shí)現(xiàn)最優(yōu)化設(shè)計(jì),使得測(cè)試過(guò)程被快速完成從而降低成本,對(duì)于原來(lái)需要大量測(cè)試和原材料浪費(fèi)的系統(tǒng),可以通過(guò)較少的測(cè)試即可完成可靠的系統(tǒng)設(shè)計(jì)。
(3)效率更高的開發(fā)
4.2.3 編程
編程作為核心常被傳統(tǒng)的開發(fā)工具所強(qiáng)調(diào),對(duì)于OEM機(jī)械設(shè)計(jì)而言,編程則必須利用發(fā)揮各種語(yǔ)言的最大特點(diǎn)去實(shí)現(xiàn),傳統(tǒng)的IEC61131-3已經(jīng)是默認(rèn)的編程工具。
(1)高級(jí)語(yǔ)言的算法設(shè)計(jì)能力
對(duì)于那些復(fù)雜的算法設(shè)計(jì)而言,高級(jí)語(yǔ)言更為合適,例如C Basic對(duì)于行業(yè)的算法設(shè)計(jì)而言是比較有效的。而對(duì)于Java可用于網(wǎng)絡(luò)的編程,C++和C#由于可以實(shí)現(xiàn)對(duì)類和對(duì)象的很好操作及軟件功能塊的封裝方面的能力,因此,更為勝任機(jī)器行業(yè)的模塊化軟件設(shè)計(jì)需求。
(2)面向?qū)ο蟮木幊虅偃文K化軟件設(shè)計(jì)
面向?qū)ο?OOP)編程是目前廣泛應(yīng)用于IT業(yè)界的開發(fā)技術(shù),它能夠直觀且模塊化地開發(fā)應(yīng)用,這給開發(fā)帶來(lái)了非常大的便利,尤其是針對(duì)系列化機(jī)器的應(yīng)用開發(fā)。
(3)PLCopen軟件功能塊
針對(duì)應(yīng)用,PLCopen提供了大量針對(duì)機(jī)器行業(yè)所需的色標(biāo)、張力、CNC等操作的功能塊,集成開發(fā)平臺(tái)也必須面對(duì)未來(lái)這一變化,提供更為面向行業(yè)而非僅僅面對(duì)開發(fā)本身的功能設(shè)計(jì),這包括了PLCopen的Motion、Logic、Hydraulic、XML等應(yīng)用,另外,一些集成開發(fā)平臺(tái)如B&R Automation Studio,Rockwell AB的Logix也支持OMAC PackML的包裝機(jī)械行業(yè)功能塊開發(fā)。
新一代的PLCopen則將CNC和機(jī)器人集成到整個(gè)控制中,構(gòu)成GMC的應(yīng)用架構(gòu),而這一點(diǎn)上,在B&R的Automation Studio中將CNC和機(jī)器人的庫(kù),包括機(jī)器人的正逆變換均進(jìn)行了集成,解釋器、軸控制,并且可以與點(diǎn)到點(diǎn)的定位控制集成于一個(gè)系統(tǒng)中,使得機(jī)器的設(shè)計(jì)更為全局而非面對(duì)單個(gè)組件。
4.2.4 系統(tǒng)測(cè)試與診斷
對(duì)于OEM的應(yīng)用而言,系統(tǒng)開發(fā)過(guò)程中除了包含機(jī)器的軟件與硬件調(diào)試的方便外,還要能夠提供一些功能有助于機(jī)器本身對(duì)機(jī)械系統(tǒng)的分析,從而為機(jī)器的改善也提供技術(shù)支持。
(1)編程測(cè)試
通過(guò)諸如變量觀測(cè)器、交叉引用、示波器功能可以對(duì)機(jī)器的電氣系統(tǒng)進(jìn)行測(cè)試分析,從而改善工藝。
(2)軸的測(cè)試
可以對(duì)每個(gè)伺服軸在無(wú)需編程情況下測(cè)試其動(dòng)作,或者通過(guò)軸的電流、電壓、位置等數(shù)據(jù)反饋來(lái)發(fā)現(xiàn)機(jī)械系統(tǒng)所存在的問(wèn)題,同時(shí)有利于機(jī)械的改進(jìn)分析。
(3)系統(tǒng)診斷管理器
可以對(duì)控制系統(tǒng)本身的硬件到I/O級(jí)的端口進(jìn)行診斷,便于進(jìn)行I/O的分析和顯示故障,并且通過(guò)網(wǎng)絡(luò)對(duì)IP路由進(jìn)行分析,通過(guò)日志對(duì)運(yùn)行過(guò)程中的問(wèn)題進(jìn)行記錄等,這些都是為了讓系統(tǒng)更為便捷地調(diào)試與運(yùn)行。
4.2.5 生產(chǎn)與維護(hù)
當(dāng)OEM客戶的設(shè)備運(yùn)行到了終端客戶現(xiàn)場(chǎng)后,將會(huì)面臨著諸多服務(wù)問(wèn)題,比如,程序的下載、硬件故障、系統(tǒng)運(yùn)行故障,而集成開發(fā)平臺(tái)也提供諸如這些服務(wù)的能力,通常而言,基于RTOS和PLC或帶實(shí)時(shí)擴(kuò)展的PC技術(shù)可以輕松勝任這些功能,這包含了兩個(gè)方面的問(wèn)題。
(1)為管理系統(tǒng)生產(chǎn)數(shù)據(jù)
開發(fā)平臺(tái)應(yīng)該能夠支持OPC Server的功能和訪問(wèn)接口,為ERP提供數(shù)據(jù)的支撐。另外,也可以為開放架構(gòu)下的ActiveX控件提供數(shù)據(jù)的訪問(wèn)接口。
(2)基于遠(yuǎn)程訪問(wèn)的技術(shù)
這些包括VNC Server、Web Server、FTP Server、郵件服務(wù)等。
對(duì)于OEM而言,大量的售后服務(wù)其實(shí)可以通過(guò)遠(yuǎn)程的測(cè)試解決,無(wú)需到達(dá)現(xiàn)場(chǎng),這降低了服務(wù)量。通過(guò)FTP Server為遠(yuǎn)程的機(jī)器下載優(yōu)化和升級(jí)的程序代碼,通過(guò)郵件或GSM網(wǎng)絡(luò)返回重要的報(bào)警數(shù)據(jù),這些不僅針對(duì)OEM廠商,對(duì)于最終用戶也同樣重要。大的管理中心可以通過(guò)IE瀏覽器訪問(wèn)遠(yuǎn)程的PLC或DCS分布式控制站,通過(guò)手機(jī)獲取報(bào)警信息以及用郵件獲取后續(xù)的分析數(shù)據(jù),程序的優(yōu)化升級(jí)均可通過(guò)遠(yuǎn)程的方式來(lái)實(shí)現(xiàn)。
集成開發(fā)平臺(tái)具有重要的現(xiàn)實(shí)意義,尤其是對(duì)于OEM,羅列如下。
集成開發(fā)平臺(tái)是面向全局的機(jī)器設(shè)計(jì)而非局部,如果考慮到全局,則會(huì)將邏輯、運(yùn)動(dòng)、網(wǎng)絡(luò)、安全、機(jī)器人和CNC視為一個(gè)整體,其內(nèi)在的邏輯與模型則更為全局考慮。與傳統(tǒng)分立的產(chǎn)品概念不同,它是一種真正意義上的解決方案平臺(tái)支撐,因?yàn)?,所謂解決方案,就必須是完整、全面而非局部的考慮。
對(duì)于OEM而言,通過(guò)集成開發(fā)平臺(tái),能夠重復(fù)使用原有的軟件開發(fā)投資,可以縮短開發(fā)周期,并且,集成開發(fā)平臺(tái)的功能和開放性使得企業(yè)最大限度地使用開放的軟件資源,模塊化和標(biāo)準(zhǔn)化的軟件使得OEM可以實(shí)現(xiàn)技術(shù)的持續(xù)創(chuàng)新。
(1)培訓(xùn)成本降低。顯然,一個(gè)平臺(tái),同一風(fēng)格,可以使工程師不在多個(gè)平臺(tái)間切換,一個(gè)軟件可實(shí)現(xiàn)面向所有對(duì)象的功能。
(2)通過(guò)代碼重用降低成本。對(duì)于OEM而言,濾波、通信、工藝算法,甚至顯示畫面等均可封裝,可以被不同的機(jī)器重復(fù)使用,顯然,無(wú)需額外反復(fù)的開發(fā)。
(3)標(biāo)準(zhǔn)化的軟件降低了成本。不僅是代碼的穩(wěn)定性,同時(shí)還降低開發(fā)時(shí)間,這為OEM降低了大量的成本。
由上述可知,集成開發(fā)平臺(tái)對(duì)于OEM有非常重要的意義,發(fā)展集成開發(fā)平臺(tái)是未來(lái)的必然趨勢(shì)。