西門子PLC控制程序保護說明
由于現(xiàn)代工業(yè)設(shè)備大量采用PLC作為主控制系統(tǒng),PLC作為整個設(shè)備的核心部件,其軟件包涵了生產(chǎn)工藝,,控制邏輯,設(shè)備數(shù)據(jù),,加工參數(shù)及信息通訊等重要內(nèi)容,,從而成為設(shè)備仿制者重點要獲取的目標之一。
隨著中國整體經(jīng)濟實力的加強,,制造和加工工業(yè)正逐步向中國轉(zhuǎn)移,,這給中國國內(nèi)工業(yè)裝備市場帶來了大量的商機,,國內(nèi)各行業(yè)的制造商開發(fā)和制造出大量價廉物美的設(shè)備,,取得了良好的經(jīng)濟和社會效應(yīng),。但是,,也有小部分的制造商,,由于其自身能力和客觀因素的限制,,無法及時開發(fā)出合適的產(chǎn)品,,但利益的驅(qū)動使他們把目光瞄準了同行,,抄襲和仿制同行開發(fā)成功的產(chǎn)品,,更有甚者是整機拷貝或者克隆。由于現(xiàn)代工業(yè)設(shè)備大量采用PLC作為主控制系統(tǒng),,PLC作為整個設(shè)備的核心部件,,其軟件包涵了生產(chǎn)工藝,控制邏輯,,設(shè)備數(shù)據(jù),,加工參數(shù)及信息通訊等重要內(nèi)容,從而成為設(shè)備仿制者重點要獲取的目標之一,。
縱觀目前中國國內(nèi)市場上應(yīng)用的主流品牌PLC,,雖然在設(shè)計上都采用了各種軟硬件加密的手段,但破解者運用的破解手段也越來越*,,從z初的窮舉法,,端口偵聽,軟件跟蹤,,到現(xiàn)在可以通過直接復(fù)制提取內(nèi)存芯片的內(nèi)容來分析破解,,更有甚者在互連網(wǎng)上公開討論和傳播破解方法和工具,因此所有產(chǎn)品無一例外地遭到了破解,。這對中國眾多的中小型OEM制造商來說是非常不利的,,“我們幾年的開發(fā)成果可能因此一夜之間付諸東流”當?shù)弥猄7-200/300硬件加密也被破解后,一位OEM制造商無奈地說,。由于仿制者的開發(fā)成本很低或幾乎為零,,因此還沒有來得及收回開發(fā)成本就陷入了低價競爭,這的影響了開發(fā)新產(chǎn)品的積極性,,對我國的裝備工業(yè)的長遠發(fā)展是十分有害的,。
難道就這樣束手無策,聽任仿制者為所欲為了嗎,?答案是否定的,,多年來一直關(guān)注和研究PLC控制程序保護方面的問題,筆者在實踐中取得了一些經(jīng)驗和心得,,在本文中愿意和同行們共同分享和討論,,大家共同為保護自己的勞動成果而努力。筆者多年來一直從事西門子SIAMTICS7PLC的應(yīng)用,,因此本文也只是從純粹的技術(shù)層面出發(fā),,重點探討SIMATICS7PLC控制程序的保護。
在系統(tǒng)設(shè)計的初期,,我們應(yīng)該從系統(tǒng)的角度來考慮PLC控制程序的保護:
1.T.I.A(全集成自動化)的概念有助于保護我們的KNOWHOW
T.I.A實現(xiàn)了組態(tài)和編程,,數(shù)據(jù)管理和通訊,自動化與驅(qū)動產(chǎn)品(包括PLC控制器,、HMI人機界面,、網(wǎng)絡(luò)、驅(qū)動器等產(chǎn)品)的高度集成,。實踐證明,,采用T.I.A集成概念設(shè)計的控制系統(tǒng)很難被抄襲。同一個軟件平臺,,相同的硬件組成,,一樣的總線通訊,*可以設(shè)計出截然不同的控制系統(tǒng),,這是一個讓自由發(fā)揮的平臺,。例如,一個CPU315-2DP和2個MM440變頻器進行PROFIBUS-DP的通訊,,除了PLC和變頻器有常規(guī)的數(shù)據(jù)交換,,如果用戶使用了DRIVESES的工程軟件,還能實現(xiàn)2個MM440之間的直接的快速數(shù)據(jù)交換,,另外通過DRIVESES還能實現(xiàn)PLC和MM440之間超過10個總共16個PZD過程數(shù)據(jù)的交換,,實現(xiàn)PLC批量下載變頻器參數(shù)的功能,。而這一切的實現(xiàn)從表面上看,硬件沒有發(fā)生任何的變化,,仿制者很難從硬件上來判斷出系統(tǒng)是如何控制這兩臺驅(qū)動器的速度的,。不熟悉西門子產(chǎn)品的仿制者無法輕易更換硬件配置或修改軟件,而即使仿制者是個西門子產(chǎn)品的專家,,要獨自分析清楚具體細節(jié)問題也不是件容易的事情,。從某種程度上說,T.I.A大大提高了對仿制者的技術(shù)水平要求的門檻,,達到西門子系統(tǒng)集成專家水平的技術(shù)人員一是不多,,二很少有愿意做這些不齒的事情的。
此外,,對于一些較大系統(tǒng)的OEM開發(fā)商,,路由通訊功能,iMAP軟件包等都是很不錯的T.I.A系統(tǒng)功能或工具,,我們應(yīng)該盡量利用T.I.A給我們帶來的技術(shù)優(yōu)勢,,占領(lǐng)技術(shù)制高點,加大仿制或抄襲的技術(shù)難度,。
2.使用通訊功能
在實際的工作中,,我們往往會遇到一些系統(tǒng)間需要數(shù)據(jù)交換的問題(如PLC-PLC之間,,PLC與驅(qū)動器之間,,PLC與儀表之間),無論是西門子產(chǎn)品之間還是西門子產(chǎn)品與第三方產(chǎn)品之間,,建議使用通訊的方案來代替模擬量或開關(guān)量之間的信號互連的方案,。對于前者,仿制者只能看見一條硬件的通訊線,,至于有多少數(shù)據(jù)是如何通過通訊交換的,,仿制者必須要花精力研究具體的用戶程序才能搞清楚;而對于后者,,是省心省力了,,仿制者也是一目了然,盡收眼底,。
PLC與驅(qū)動器的通訊,,除了了控制字/狀態(tài)字、設(shè)定值/反饋值及過程變量的數(shù)據(jù)通訊,,驅(qū)動器工作的參數(shù)也能由PLC通過軟件下載,,這樣即可以降低z終用戶維護系統(tǒng)的技術(shù)要求,同時可以防止仿制者通過驅(qū)動器工作參數(shù)分析系統(tǒng)尤其在驅(qū)動方面的工作原理和設(shè)計思路,。西門子公司的工程軟件DRIVEESBASIC/SIAMTIC,,為廣大的西門子產(chǎn)品用戶實現(xiàn)此類功能提供了一個強大的工具;而使用SIMATICPLC卻使用第三方驅(qū)動器的用戶,也可以自行開發(fā)針對性的參數(shù)讀寫程序,,一般支持PROFIBU-DP的驅(qū)動器都可以實現(xiàn),。
有時候我們的控制系統(tǒng)會由多個子控制系統(tǒng)構(gòu)成,由此形成多CPU加人機界面的網(wǎng)絡(luò),,西門子S7-200產(chǎn)品常見的是PPI網(wǎng)絡(luò),,S7-300/400產(chǎn)品常見的是MPI網(wǎng)絡(luò),通常是人機界面與CPU之間的數(shù)據(jù)交換,,而我們也可在CPU的用戶程序中添加一些無須組態(tài)的S7基本通訊功能(S7-200可用NETR/NETW指令,,S7-300/400可以用X_PUT/X_GET指令),定時或不定時地在CPU之間進行少量數(shù)據(jù)交換,,通過這些數(shù)據(jù)實現(xiàn)子系統(tǒng)控制邏輯的互鎖,。對于這樣的系統(tǒng),仿制者要分析某一子系統(tǒng)的程序也不是件十分容易事情,。
3.使用面板類型的人機界面
盡量在自動化系統(tǒng)中使用面板類型的人機界面來代替單一的按鈕指示燈,,雖然按鈕指示燈的功能是無法保密的,但目前為止,,面板型人機界面能夠?qū)崿F(xiàn)程序上載并實現(xiàn)反編譯的產(chǎn)品還不多見,,可以在面板的畫面上加上明顯的廠家標識和等信息,仿制者還不至于傻到連這個也原樣照抄吧,。這樣迫使仿制者必須重新編寫操作面板的程序甚至于PLC的程序,,而則可利用面板和PLC數(shù)據(jù)接口的一些特殊功能區(qū)(如西門子面板的區(qū)域指針,或VB腳本)來控制PLC的程序執(zhí)行,。這樣的PLC程序在沒有HMI源程序的情況下只能靠猜測和在線監(jiān)視來獲取PLC內(nèi)部變量的變化邏輯,,費時費力,的增加了仿制抄襲的難度,。