當(dāng)前位置:首頁 > 工業(yè)控制 > 工業(yè)控制技術(shù)文庫
[導(dǎo)讀] 前言 隨著中國整體經(jīng)濟(jì)實(shí)力的加強(qiáng),制造和加工工業(yè)正逐步向中國轉(zhuǎn)移,這給中國國內(nèi)工業(yè)裝備市場帶來了大量的商機(jī),國內(nèi)各行業(yè)的制造商開發(fā)和制造出大量價(jià)廉物美的設(shè)備,取得了良好的經(jīng)濟(jì)和社會(huì)效應(yīng)。

前言

隨著中國整體經(jīng)濟(jì)實(shí)力的加強(qiáng),制造和加工工業(yè)正逐步向中國轉(zhuǎn)移,這給中國國內(nèi)工業(yè)裝備市場帶來了大量的商機(jī),國內(nèi)各行業(yè)的制造商開發(fā)和制造出大量價(jià)廉物美的設(shè)備,取得了良好的經(jīng)濟(jì)和社會(huì)效應(yīng)。但是,也有小部分的制造商,由于其自身能力和客觀因素的限制,無法及時(shí)開發(fā)出合適的產(chǎn)品,但利益的驅(qū)動(dòng)使他們把目光瞄準(zhǔn)了同行,抄襲和仿制同行開發(fā)成功的產(chǎn)品,更有甚者是整機(jī)拷貝或者克隆。由于現(xiàn)代工業(yè)設(shè)備大量采用PLC作為主控制系統(tǒng),PLC作為整個(gè)設(shè)備的核心部件,其軟件包涵了生產(chǎn)工藝,控制邏輯,設(shè)備數(shù)據(jù),加工參數(shù)及信息通訊等重要內(nèi)容,從而成為設(shè)備仿制者重點(diǎn)要獲取的目標(biāo)之一??v觀目前中國國內(nèi)市場上應(yīng)用的主流品牌PLC,雖然在設(shè)計(jì)上都采用了各種軟硬件加密的手段,但破解者運(yùn)用的破解手段也越來越先進(jìn),從最初的窮舉法,端口偵聽,軟件跟蹤,到現(xiàn)在可以通過直接復(fù)制提取內(nèi)存芯片的內(nèi)容來分析破解,更有甚者在互連網(wǎng)上公開討論和傳播破解方法和工具,因此所有產(chǎn)品無一例外地遭到了破解。這對中國眾多的中小型OEM制造商來說是非常不利的,“我們幾年的開發(fā)成果可能因此一夜之間付諸東流”當(dāng)?shù)弥猄7-200/300硬件加密也被破解后,一位OEM制造商無奈地說。由于仿制者的開發(fā)成本很低或幾乎為零,因此開發(fā)者還沒有來得及收回開發(fā)成本就陷入了低價(jià)競爭,這極大的影響了開發(fā)者開發(fā)新產(chǎn)品的積極性,對我國的裝備工業(yè)的長遠(yuǎn)發(fā)展是十分有害的。

難道就這樣束手無策,聽任仿制者為所欲為了嗎?答案是否定的,多年來一直關(guān)注和研究PLC控制程序保護(hù)方面的問題,筆者在實(shí)踐中取得了一些經(jīng)驗(yàn)和心得,在本文中愿意和同行們共同分享和討論,大家共同為保護(hù)自己的勞動(dòng)成果而努力。筆者多年來一直從事西門子SIAMTIC S7 PLC的應(yīng)用,因此本文也只是從純粹的技術(shù)層面出發(fā),重點(diǎn)探討SIMATIC S7 PLC控制程序的保護(hù)。

? 在系統(tǒng)設(shè)計(jì)的初期,我們應(yīng)該從系統(tǒng)的角度來考慮PLC控制程序的保護(hù):

1. T.I.A(全集成自動(dòng)化)的概念有助于保護(hù)我們的KNOW HOW

T.I.A實(shí)現(xiàn)了組態(tài)和編程,數(shù)據(jù)管理和通訊,自動(dòng)化與驅(qū)動(dòng)產(chǎn)品(包括PLC控制器、HMI人機(jī)界面、網(wǎng)絡(luò)、驅(qū)動(dòng)器等產(chǎn)品)的高度集成。實(shí)踐證明,采用T.I.A集成概念設(shè)計(jì)的控制系統(tǒng)很難被抄襲。同一個(gè)軟件平臺(tái),相同的硬件組成,一樣的總線通訊,完全可以設(shè)計(jì)出截然不同的控制系統(tǒng),這是一個(gè)讓開發(fā)者自由發(fā)揮的平臺(tái)。例如,一個(gè)CPU315-2DP和2個(gè)MM440變頻器進(jìn)行PROFIBUS-DP的通訊,除了PLC和變頻器有常規(guī)的數(shù)據(jù)交換,如果用戶使用了DRIVES ES的工程軟件,還能實(shí)現(xiàn)2個(gè)MM440之間的直接的快速數(shù)據(jù)交換,另外通過DRIVES ES還能實(shí)現(xiàn)PLC和MM440之間超過10個(gè)總共16個(gè)PZD過程數(shù)據(jù)的交換,實(shí)現(xiàn)PLC批量下載變頻器參數(shù)的功能。而這一切的實(shí)現(xiàn)從表面上看,硬件沒有發(fā)生任何的變化,仿制者很難從硬件上來判斷出系統(tǒng)是如何控制這兩臺(tái)驅(qū)動(dòng)器的速度的。不熟悉西門子產(chǎn)品的仿制者無法輕易更換硬件配置或修改軟件,而即使仿制者是個(gè)西門子產(chǎn)品的專家,要獨(dú)自分析清楚具體細(xì)節(jié)問題也不是件容易的事情。從某種程度上說,T.I.A大大提高了對仿制者的技術(shù)水平要求的門檻,達(dá)到西門子系統(tǒng)集成專家水平的技術(shù)人員一是不多,二很少有愿意做這些不齒的事情的。

此外,對于一些較大系統(tǒng)的OEM開發(fā)商,路由通訊功能,iMAP軟件包等都是很不錯(cuò)的T.I.A系統(tǒng)功能或工具,我們應(yīng)該盡量利用T.I.A給我們帶來的技術(shù)優(yōu)勢,占領(lǐng)技術(shù)制高點(diǎn),加大仿制或抄襲的技術(shù)難度。

2. 使用通訊功能

在實(shí)際的工作中,我們往往會(huì)遇到一些系統(tǒng)間需要數(shù)據(jù)交換的問題(如PLC-PLC之間,PLC與驅(qū)動(dòng)器之間,PLC與儀表之間),無論是西門子產(chǎn)品之間還是西門子產(chǎn)品與第三方產(chǎn)品之間,建議使用通訊的方案來代替模擬量或開關(guān)量之間的信號(hào)互連的方案。對于前者,仿制者只能看見一條硬件的通訊線,至于有多少數(shù)據(jù)是如何通過通訊交換的,仿制者必須要花精力研究具體的用戶程序才能搞清楚;而對于后者,開發(fā)者是省心省力了,仿制者也是一目了然,盡收眼底。

PLC與驅(qū)動(dòng)器的通訊,除了了控制字/狀態(tài)字、設(shè)定值/反饋值及過程變量的數(shù)據(jù)通訊,驅(qū)動(dòng)器工作的參數(shù)最好也能由PLC通過軟件下載,這樣即可以降低最終用戶維護(hù)系統(tǒng)的技術(shù)要求,同時(shí)可以防止仿制者通過驅(qū)動(dòng)器工作參數(shù)分析系統(tǒng)尤其在驅(qū)動(dòng)方面的工作原理和設(shè)計(jì)思路。西門子公司的工程軟件DRIVE ES BASIC/SIAMTIC,為廣大的西門子產(chǎn)品用戶實(shí)現(xiàn)此類功能提供了一個(gè)強(qiáng)大的工具;而使用SIMATIC PLC卻使用第三方驅(qū)動(dòng)器的用戶,也可以自行開發(fā)針對性的參數(shù)讀寫程序,一般支持PROFIBU-DP的驅(qū)動(dòng)器都可以實(shí)現(xiàn)。

有時(shí)候我們的控制系統(tǒng)會(huì)由多個(gè)子控制系統(tǒng)構(gòu)成,由此形成多CPU加人機(jī)界面的網(wǎng)絡(luò),西門子S7-200產(chǎn)品常見的是PPI網(wǎng)絡(luò),S7-300/400產(chǎn)品常見的是MPI網(wǎng)絡(luò),通常是人機(jī)界面與CPU之間的數(shù)據(jù)交換,而我們也可在CPU的用戶程序中添加一些無須組態(tài)的S7基本通訊功能(S7-200可用NETR/NETW指令,S7-300/400可以用X_PUT/X_GET指令),定時(shí)或不定時(shí)地在CPU之間進(jìn)行少量數(shù)據(jù)交換,通過這些數(shù)據(jù)實(shí)現(xiàn)子系統(tǒng)控制邏輯的互。對于這樣的系統(tǒng),仿制者要分析某一子系統(tǒng)的程序也不是件十分容易事情。

3. 使用面板類型的人機(jī)界面

盡量在自動(dòng)化系統(tǒng)中使用面板類型的人機(jī)界面來代替單一的按鈕指示燈,雖然按鈕指示燈的功能是無法保密的,但目前為止,面板型人機(jī)界面能夠?qū)崿F(xiàn)程序上載并實(shí)現(xiàn)反編譯的產(chǎn)品還不多見,開發(fā)者可以在面板的畫面上加上明顯的廠家標(biāo)識(shí)和聯(lián)系方式等信息,仿制者還不至于傻到連這個(gè)也原樣照抄吧。這樣迫使仿制者必須重新編寫操作面板的程序甚至于PLC的程序,而開發(fā)者則可利用面板和PLC數(shù)據(jù)接口的一些特殊功能區(qū)(如西門子面板的區(qū)域指針,或VB腳本)來控制PLC的程序執(zhí)行。這樣的PLC程序在沒有HMI源程序的情況下只能靠猜測和在線監(jiān)視來獲取PLC內(nèi)部變量的變化邏輯,費(fèi)時(shí)費(fèi)力,極大的增加了仿制抄襲的難度。

4. 采用高級語言編寫部分重要的工藝程序

這一點(diǎn)主要針對采用S7-300/400或WINAC產(chǎn)品的控制設(shè)備,除了使用STEP 7提供的LAD,STL,F(xiàn)BD標(biāo)準(zhǔn)編程語言來開發(fā)控制程序,我們還可以使用SCL,S7-GRAPH等高級語言來開發(fā)一些重要的工藝程序,WINAC還可以使用ODK軟件包開發(fā)出專有的程序塊。一般的仿制者是不容易搞到這些開發(fā)工具的,即使有也不一定會(huì)使用,更不用說來讀懂這些程序了。

? 在項(xiàng)目具體實(shí)施的過程中,我們應(yīng)該從軟件開發(fā)技巧的角度來考慮PLC控制程序的保護(hù):

1. 編程方式的采用

a) 采用模塊化的程序結(jié)構(gòu),采用符號(hào)名,參數(shù)化來編寫子程序塊

b) S7-300/400盡量采用背景數(shù)據(jù)塊和多重背景的數(shù)據(jù)傳遞方式

c) 多采用間接尋址的編程方式

d) 復(fù)雜系統(tǒng)的控制程序尤其是一些帶有順序控制或配方控制的程序,可以考慮采用數(shù)據(jù)編程的方式,即通過數(shù)據(jù)的變化來改變系統(tǒng)的控制邏輯或控制順序。

用戶應(yīng)該盡量采用以上幾種高級層次的編程方式,這樣編出來的程序中嵌入系統(tǒng)的保護(hù)加密程序,才不容易被發(fā)現(xiàn)和破解

2. 主動(dòng)保護(hù)方法

a) 利用系統(tǒng)的時(shí)鐘

b) 利用程序卡或者CPU的ID號(hào)和序列號(hào)

c) 利用EEPROM的反寫入功能,及一些需要設(shè)置的內(nèi)存保持功能

d) 利用系統(tǒng)提供的累時(shí)器功能

e) 在用戶程序的數(shù)據(jù)塊中設(shè)置密碼

f) 軟件上設(shè)置邏輯陷阱

g) 可以反向利用自己在編程時(shí)犯的錯(cuò)誤

3. 被動(dòng)保護(hù)方法

a) 在內(nèi)存容量利用許可的條件下,不要?jiǎng)h除被認(rèn)為是無用的程序

b) 在數(shù)據(jù)塊里留下開發(fā)者的標(biāo)識(shí),以便于將來遭到侵權(quán)時(shí)可以取證

4. 應(yīng)用反破解技術(shù)的注意事項(xiàng)

a) 在用戶程序中嵌入保護(hù)程序要顯得自然一些,不能很突兀的加出一段程序來,代碼要盡量精簡,變量符號(hào)名應(yīng)與被嵌入程序段的變量保持一致

b) 往往一種保護(hù)加密手段是不夠的,應(yīng)該多種方法并用,并且這些保護(hù)程序一旦激活后對系統(tǒng)造成的后果也應(yīng)該盡量不同,造成所謂的“地雷效應(yīng)”,從而增加程序被破解的難度,時(shí)間與成本,短時(shí)間內(nèi)讓抄襲者束手無策,

c) 保護(hù)好程序的原代碼,如果需要交付程序的,在不影響用戶對設(shè)備維護(hù)的前提下,應(yīng)對交付的程序做適當(dāng)?shù)募夹g(shù)處理,如刪除部分符號(hào)名,采用上載的程序或數(shù)據(jù)塊

d) 做好嚴(yán)格的測試,以避免保護(hù)程序的不完善引起的誤動(dòng)作而帶來的不必要的麻煩,同時(shí)也能降低售后服務(wù)的的費(fèi)用

? 運(yùn)用保護(hù)手段的原則

我們雖然掌握了一些加密保護(hù)的手段,有一點(diǎn)必須明白,密碼和鎖的道理是一樣的,天下沒有打不開的鎖,也沒有解不開的密碼,我們從技術(shù)上采取的措施來防止侵權(quán)的作用還是十分有限的,因此大家不能把所有的希望都寄托在所謂的加密技術(shù)或破解與反破解技術(shù)上;除此之外我們還可以通過專利的申請等其他諸如法律手段來保護(hù)我們的知識(shí)產(chǎn)權(quán);但最重要的是我們不能安于現(xiàn)狀,而是要勇于創(chuàng)新,不斷地利用新技術(shù)開發(fā)新產(chǎn)品,占領(lǐng)技術(shù)新高地,爭做行業(yè)的領(lǐng)頭人,才能使我們的企業(yè)立于不敗之地。

加密保護(hù)技術(shù)本身也是一把雙刃劍,用好了客戶滿意,自己的權(quán)益又悄悄的得到了保護(hù),用不好不僅不起作用,給售后服務(wù)帶來許多麻煩,還會(huì)得罪客戶;好人掌握這種技術(shù)是用來保護(hù)自己不被侵權(quán),而用心不良的人會(huì)利用它去要挾客戶。因此本文也僅限于討論了關(guān)于PLC程序加密保護(hù)的一些原則性指導(dǎo)性的內(nèi)容,而沒有公布具體的程序代碼指令,請讀者們諒解。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉