0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

五種西門子PLC程序加密方法

qianyanjishuhui ? 來源:愛上PLC ? 2023-08-23 11:09 ? 次閱讀

大家都知道,很多品牌PLC的程序都可以通過軟件解密,那么一旦解密后程序就非常透明的顯示在了別人的眼中,而將設(shè)備賣給別人又將PLC程序整個鎖死的話又不切實(shí)際,甲方會無法維護(hù);而保密和維權(quán)更是中國市場經(jīng)久不衰的話題,其實(shí)德國的工程師從來不會給自己的程序整體加密,而是使用其他方式,既不影響發(fā)生故障時的診斷,又可以保護(hù)自己的核心機(jī)密。今天給大家介紹一下這些方式,供大家參考。

一、使用西門子安全PLC或者博途的KNOWHOW功能

西門子安全PLC作為西門子主打安全功能的一款產(chǎn)品,它的性能毋庸置疑,而且安全PLC的程序塊加密后無法破解;可以很好的保護(hù)核心。而博途PLC作為西門子的最新產(chǎn)品,其版權(quán)保護(hù)也是它的主要功能之一,KNOWHOW功能是軟硬件雙重加密,不加密的塊可以正常監(jiān)控,沒有密碼的話甚至無法下載到其他PLC;因此使用博途的KNOWHOW功能既可以將程序交給甲方方便維護(hù),又可以保護(hù)自己的核心程序不被竊取。

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

西門子除了最基礎(chǔ)的LAD梯形圖編程,F(xiàn)BD功能塊編程和STL語句表編程還有很多其他的方式,比如說PCS7的CFC,SFC; 除此之外還有SCL,S7-GRAPH等等。對于這些語言,一般的工控人員很難全部精通,因此仿制難度大大提升,因此非常關(guān)鍵的工藝程序可以由這些語言編寫,也可以很好的保護(hù)自己的核心。

1.編程方式的采用

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

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

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

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

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

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

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

b)利用程序卡或者CPU的ID號和序列號

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

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

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

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

g)可以反向利用自己在編程時犯的錯誤

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

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

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

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

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

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

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

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

三、 使用通訊功能

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

對于一些變頻器或者伺服電機(jī)等的程序設(shè)計(jì),一般有多種方式,可以線路直接控制還可以通訊控制,那么使用通訊的方式的話會使得程序增加了仿制的難度,比如說PLC對于伺服驅(qū)動器的控制有多種,簡單一些的可以是脈沖直接控制或者模擬量控制,這種方式就容易仿制,如果換成通訊控制,則會使得程序復(fù)雜很多,加上仿制者如果對報文不熟悉,很難去仿制。

有時候控制系統(tǒng)會由多個子控制系統(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指令),定時或不定時地在CPU之間進(jìn)行少量數(shù)據(jù)交換,通過這些數(shù)據(jù)實(shí)現(xiàn)子系統(tǒng)控制邏輯的互鎖。對于這樣的系統(tǒng),仿制者要分析某一子系統(tǒng)的程序也不是件十分容易事情。

四、采用面板類型的人機(jī)界面

盡量在自動化系統(tǒng)中使用面板類型的人機(jī)界面來代替單一的按鈕指示燈,很多人機(jī)界面沒有源程序的話只有備份和恢復(fù)功能,完全可以實(shí)現(xiàn)維護(hù)功能還保密了HMI這一層的程序,而對于一個PLC系統(tǒng)而言,即使擁有了源程序但是缺失了HMI部分的標(biāo)記也是很難仿制的。

而且開發(fā)者可以在面板的畫面上加上明顯的廠家標(biāo)識和聯(lián)系方式等信息,仿制者就不能原樣照抄。

如果就使得如果仿制者想要復(fù)制程序的話,就必須重新編寫操作面板的程序甚至于PLC的程序,而開發(fā)者則可利用面板和PLC數(shù)據(jù)接口的一些特殊功能區(qū)(如西門子面板的區(qū)域指針,或VB腳本)來控制PLC的程序執(zhí)行。這樣的PLC程序在沒有HMI源程序的情況下只能靠猜測和在線監(jiān)視來獲取PLC內(nèi)部變量的變化邏輯,費(fèi)時費(fèi)力,極大的增加了仿制抄襲的難度。

五、采用非標(biāo)準(zhǔn)的人機(jī)界面

德國工程師都愿意使用這種方式。在中國,大多數(shù)工程師都愿意使用WINCC,INTOUCH或者組態(tài)王等等,但其實(shí)除了這些軟件,還有一種更加高大上的編寫方式,那就是利用VB自己寫程序,而對于軟件與PLC的接口,大家可以選擇LIBNODAVE或者其他庫等,這種方式寫出來的人機(jī)界面有著很多好處,首先沒有版權(quán)問題,因?yàn)閂B軟件是免費(fèi)的,而且對于WINDOW系統(tǒng)的升級來說只需要簡單的添加幾個文件即可實(shí)現(xiàn),不像WINCC那樣,如果window升級了,需要大量修改文件。

一般人都無法修改,更別提仿制了;沒有很好的計(jì)算機(jī)編程功底的話就不敢輕易修改,而僅僅有計(jì)算機(jī)功底又沒有PLC或者工藝基礎(chǔ)的話也是無法更改的。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • plc
    plc
    +關(guān)注

    關(guān)注

    5006

    文章

    13109

    瀏覽量

    461464
  • 西門子
    +關(guān)注

    關(guān)注

    93

    文章

    2996

    瀏覽量

    115491
  • 變頻器
    +關(guān)注

    關(guān)注

    251

    文章

    6467

    瀏覽量

    143975
  • 程序
    +關(guān)注

    關(guān)注

    116

    文章

    3761

    瀏覽量

    80754
  • 梯形圖
    +關(guān)注

    關(guān)注

    8

    文章

    193

    瀏覽量

    21571

原文標(biāo)題:五種西門子PLC程序加密方法,最后一種很難破!

文章出處:【微信號:愛上PLC,微信公眾號:愛上PLC】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    西門子PLC案例

    西門子PLC案例,感興趣的小伙伴們可以看看。
    發(fā)表于 07-29 18:42 ?176次下載

    西門子300 MPI PLC遠(yuǎn)程控制

    ?通過華杰智控PLC遠(yuǎn)程模塊HJ8500(帶usb接口)實(shí)現(xiàn)西門子300 PLC遠(yuǎn)程控制,這個西門子PLC是MPI協(xié)議的。很多朋友通過設(shè)備將
    的頭像 發(fā)表于 08-24 18:31 ?3786次閱讀

    西門子plc數(shù)據(jù)類型_西門子plc通訊方式

    西門子PLC的品質(zhì)非常好,其網(wǎng)絡(luò)穩(wěn)定性、開放性深受工控人員的喜愛,而且編程軟件分類多,使用方便。在國內(nèi)工控界具有顯著地位。雖然大家對西門子PLC都有一定的了解,但要你說出
    發(fā)表于 07-25 10:57 ?1.4w次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>plc</b>數(shù)據(jù)類型_<b class='flag-5'>西門子</b><b class='flag-5'>plc</b>通訊方式

    西門子plc程序下載步驟

    今天我們主要學(xué)習(xí)西門子PLC程序下載步驟,下面以S7-200SMART為例進(jìn)行說明.
    發(fā)表于 07-25 11:25 ?2.9w次閱讀

    西門子PLC用戶程序的教程詳細(xì)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是西門子PLC用戶程序的教程詳細(xì)說明。
    發(fā)表于 03-23 11:36 ?29次下載
    <b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>用戶<b class='flag-5'>程序</b>的教程詳細(xì)說明

    讀取西門子PLC系統(tǒng)時間的程序資料概述

    本文檔的主要內(nèi)容詳細(xì)介紹的是讀取西門子PLC系統(tǒng)時間的程序資料概述。
    發(fā)表于 07-20 16:35 ?22次下載
    讀取<b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>系統(tǒng)時間的<b class='flag-5'>程序</b>資料概述

    西門子300PLC加密與解密方法匯總

    西門子300PLC加密與解密方法匯總說明。
    發(fā)表于 04-23 09:26 ?32次下載

    西門子PLC密碼三保護(hù)級別和程序加密方法

    西門子PLC密碼三保護(hù)級別和程序加密方法說明。
    發(fā)表于 04-30 09:45 ?19次下載

    西門子PLC指令和程序設(shè)計(jì)

    西門子PLC指令和程序設(shè)計(jì)方法免費(fèi)下載。
    發(fā)表于 05-07 09:42 ?120次下載

    讀寫西門子PLC

    讀寫西門子PLC資料。
    發(fā)表于 05-10 09:33 ?33次下載

    西門子PLC編程軟件功能及安裝

    、編程、測試、啟動和維護(hù)、文件建檔、運(yùn)行和診斷功能等功能,性能穩(wěn)定高效。 西門子PLC編程軟件介紹 西門子plc編程軟件,德國西門子推出的一
    發(fā)表于 04-17 14:31 ?8次下載
    <b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>編程軟件功能及安裝

    大型西門子PLC程序結(jié)構(gòu)示例

    大型的西門子PLC程序結(jié)構(gòu)示例。
    的頭像 發(fā)表于 07-06 10:34 ?1275次閱讀

    西門子PLC常用的幾種加密方式

    【導(dǎo)讀】分享西門子PLC常用的幾種加密方式,看看你喜歡哪一
    的頭像 發(fā)表于 07-13 09:32 ?1387次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>PLC</b>常用的幾種<b class='flag-5'>加密</b>方式

    西門子plc單按鈕啟停的十種方法(博途1200/1500PLC

    西門子博途1200/1500PLC單按鈕啟??刂?0設(shè)計(jì)方法
    發(fā)表于 08-31 09:15 ?6117次閱讀
    <b class='flag-5'>西門子</b><b class='flag-5'>plc</b>單按鈕啟停的十<b class='flag-5'>種方法</b>(博途1200/1500<b class='flag-5'>PLC</b>)

    西門子S7-200 Smart PLC加密設(shè)置全面指南

    本文將詳細(xì)介紹西門子S7-200 Smart PLC加密設(shè)置方法,幫助用戶更好地保護(hù)PLC程序
    發(fā)表于 03-27 10:14 ?9593次閱讀
    <b class='flag-5'>西門子</b>S7-200 Smart <b class='flag-5'>PLC</b><b class='flag-5'>加密</b>設(shè)置全面指南