上海日成電子有限公司 RCCN - 為顧客創(chuàng)造價(jià)值 - ISO9001/IATF16949/ISO/TS22163
選擇語言 Language

線槽_PVC線槽_電纜接頭_尼龍?jiān)鷰冷壓端子_尼龍軟管_金屬軟管_導(dǎo)軌_汽車線束 - 上海日成電子有限公司RCCN

如何保護(hù)西門子PLC控制程序?

在系統(tǒng)設(shè)計(jì)的初期,開發(fā)者應(yīng)該從系統(tǒng)的角度來考慮PLC控制程序的保護(hù):
    一、 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í)踐證實(shí),采用T.I.A集成概念設(shè)計(jì)的控制系統(tǒng)很難被抄襲。統(tǒng)一個(gè)軟件平臺(tái),相同的硬件組成,一樣的總線通信,完全可以設(shè)計(jì)出截然不同的控制系統(tǒng),這是一個(gè)閃開發(fā)者自由施展的平臺(tái)。
    舉個(gè)例子,2個(gè)MM440變頻器和一個(gè)CPU315-2DP進(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)器的速度的。不認(rèn)識(shí)西門子產(chǎn)品的仿制者無法等閑更換硬件配置或修改軟件,而即使仿制者是個(gè)西門子產(chǎn)品的專家,要獨(dú)自分析清晰詳細(xì)細(xì)節(jié)題目也不是件輕易的事情。
    從某種程度上說,T.I.A大大進(jìn)步了對(duì)仿制者的技術(shù)水平要求的門檻,達(dá)到西門子系統(tǒng)集成專家水平的技術(shù)職員一是未幾,二很少有愿意做這些不齒的事情的。此外,對(duì)于一些較大系統(tǒng)的OEM開發(fā)商,路由通信功能,iMAP軟件包等都是很不錯(cuò)的T.I.A系統(tǒng)功能或工具,我們應(yīng)該盡量利用T.I.A給我們帶來的技術(shù)上風(fēng),占領(lǐng)技術(shù)制高點(diǎn),加大仿制或抄襲的技術(shù)難度。
    二、 采用高級(jí)語言編寫部門重要的工藝程序
    這一點(diǎn)主要針對(duì)采用S7-300400或WINAC產(chǎn)品的控制設(shè)備,除了使用STEP 7提供的LAD,STL,F(xiàn)BD尺度編程語言來開發(fā)控制程序,還可以使用SCL,S7-GRAPH等高級(jí)語言來開發(fā)一些重要的工藝程序,WINAC還可以使用ODK軟件包開發(fā)出專有的程序塊。一般的仿制者是不輕易搞到這些開發(fā)工具的,即使有也不一定會(huì)使用,更不用說來讀懂這些程序了。在項(xiàng)目詳細(xì)實(shí)施的過程中,我們應(yīng)該從軟件開發(fā)技巧的角度來考慮PLC控制程序的保護(hù):
    1. 編程方式的采用
    a) 采用模塊化的程序結(jié)構(gòu),采用符號(hào)名,參數(shù)化來編寫子程序塊
    b) S7-300400盡量采用背景數(shù)據(jù)塊和多重背景的數(shù)據(jù)傳遞方式
    c) 多采用間接尋址的編程方式
    d) 復(fù)雜系統(tǒng)的控制程序尤其是一些帶有順序控制或配方控制的程序,可以考慮采用數(shù)據(jù)編程的方式,即通過數(shù)據(jù)的變化來改變系統(tǒng)的控制邏輯或控制順序。
    用戶應(yīng)該盡量采用以上幾種高級(jí)層次的編程方式,這樣編出來的程序中嵌入系統(tǒng)的保護(hù)加密程序,才不輕易被發(fā)現(xiàn)和<此處內(nèi)容被屏蔽>
    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除被以為是無用的程序 
    b) 在數(shù)據(jù)塊里留下開發(fā)者的標(biāo)識(shí),以便于將來遭到侵權(quán)時(shí)可以取證
    4. 應(yīng)用反<此處內(nèi)容被屏蔽>技術(shù)的留意事項(xiàng)
    a) 在用戶程序中嵌入保護(hù)程序要顯得天然一些,不能很突兀的加出一段程序來,代碼要盡量精簡(jiǎn),變量符號(hào)名應(yīng)與被嵌入程序段的變量保持一致  
    b) 往往一種保護(hù)加密手段是不夠的,應(yīng)該多種方法并用,并且這些保護(hù)程序一旦激活后對(duì)系統(tǒng)造成的后果也應(yīng)該盡量不同,造成所謂的“地雷效應(yīng)”,從而增加程序被<此處內(nèi)容被屏蔽>的難度,時(shí)間與本錢,短時(shí)間內(nèi)讓抄襲者束手無策,  
    c) 保護(hù)好程序的原代碼,假如需要交付程序的,在不影響用戶對(duì)設(shè)備維護(hù)的條件下,應(yīng)對(duì)交付的程序做適當(dāng)?shù)募夹g(shù)處理,如刪除部門符號(hào)名,采用上載的程序或數(shù)據(jù)塊  
    d) 做好嚴(yán)格的測(cè)試,以避免保護(hù)程序的不完善引起的誤動(dòng)作而帶來的不必要的麻煩,同時(shí)也能降低售后服務(wù)的的用度
    三、使用通信功能
    在實(shí)際的工作中,往往會(huì)碰到一些系統(tǒng)間需要數(shù)據(jù)交換的題目(如PLC-PLC之間,PLC與驅(qū)動(dòng)器之間,PLC與儀表之間),不管是西門子產(chǎn)品之間仍是西門子產(chǎn)品與第三方產(chǎn)品之間,建議使用通信的方案來代替模擬量或開關(guān)量之間的信號(hào)互連的方案。對(duì)于前者,仿制者只能看見一條硬件的通信線,至于有多少數(shù)據(jù)是如何通過通信交換的,仿制者必需要花精力研究詳細(xì)的用戶程序才能搞清晰;而對(duì)于后者,開發(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ì)思路。
    有時(shí)候控制系統(tǒng)會(huì)由多個(gè)子控制系統(tǒng)構(gòu)成,由此形成多CPU加人機(jī)界面的網(wǎng)絡(luò),西門子S7-200產(chǎn)品常見的是PPI網(wǎng)絡(luò),S7-300400產(chǎn)品常見的是MPI網(wǎng)絡(luò),通常是人機(jī)界面與CPU之間的數(shù)據(jù)交換,而我們也可在CPU的用戶程序中添加一些無須組態(tài)的S7基本通信功能(S7-200可用NETRNETW指令,S7-300400可以用X_PUTX_GET指令),定時(shí)或不定時(shí)地在CPU之間進(jìn)行少量數(shù)據(jù)交換,通過這些數(shù)據(jù)實(shí)現(xiàn)子系統(tǒng)控制邏輯的互鎖。對(duì)于這樣的系統(tǒng),仿制者要分析某一子系統(tǒng)的程序也不是件十分輕易事情。
    四、采用面板類型的人機(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源程序的情況下只能靠預(yù)測(cè)和在線監(jiān)督來獲取PLC內(nèi)部變量的變化邏輯,費(fèi)時(shí)費(fèi)力,極大的增加了仿制抄襲的難度。

相關(guān)文章

上一篇: PLC的CPU STOP到RUN 時(shí)的輸出模式設(shè)置
下一篇: 為什么程序?qū)懭隤LC重新上電無程序
技術(shù)
支持
聯(lián)系
我們
在線
留言
下載
資料
打印
本頁
官方
微信
微信二維碼 官方微信
收藏
本頁
返回
頂部
黃金喊單