- 電話: 010-64734946 64734947 64738638
- 傳真: 010-64738090
淺談西門子plc程序加密和程序塊加密及解密
西門子可編程序控制器在我國的應用也相當廣泛,在冶金、化工、印刷生產線等領域都有應用。西門子公司的PLC產品包括LOGO、S7-200、S7-1200、S7-300、S7-400、S7-1500等。 西門子S7系列PLC體積小、速度快、標準化,具有網絡通信能力,功能更強,可靠性高。S7系列PLC產品可分為微型PLC,小規模性能要求的PLC和中、高性能要求的PLC等
大家在使用STEP7打開一些程序時,常會遇到以下三種PLC的加密情況,現根據自己的經歷和大家一起分享探討。
第一種情況。是在硬件組態中,在CPU屬性中按照保護等級設置密碼,將CPU中程序鎖住,不影響CPU的正常運行。這種情況是往往是程序設計編程人員出于安全和知識產權的保護等目的而進行的設置。常見的加密方式有三種,如圖一所示。1、程序可讀出,數據可修改,運行可監視,只是程序不可更改。(出于安全考慮)2、數據可修改,運行可監視,程序即不能讀出也不能修改。(出于安全考慮,也為保護知識產權)3、程序、數據、運行均不可讀出、監視和更改。(安全性最高)方法:在硬件組態中打開CPU的protection(保護)選項,選擇所需加密方式,設置密碼后保存編譯重新下載硬 件組態就可以了。注意:如何設置密碼忘記或丟失,那么只有通過編程軟件在線連接PLC,清空PLC程序,(包括程序塊,系統塊和數據塊)然后將備份的程序重新下載。
第二種情況就是程序中程序塊的加密和解密。方法步驟如下。
1、在STEP7中打開要加密的程序塊,點擊菜單“文件/生成源文件(File/Generate source)”,
生成要加密保護的程序塊的原代碼文件。
2、關閉程序塊,在項目管理器中打開“源文件(source)”,打開生成的源文件。
3、在程序塊的聲明部分,TITLE行下面的一行中輸入“KNOW_HOW_PROTECT”。(如圖二所示)
4、執行菜單命令“文件/保存(File/Save)”然后“文件/編譯(File/Compile)”。
5、編譯成功后,可在“塊”中看到加鎖的程序塊。
6、解除密碼,打開相應的“源文件”,把“KNOW_HOW_PROTECT”刪除,然后編譯即可。
注意,保存好源文件,否則已加密的程序塊將無法打開。同時,你用SCL源程序編譯完成后,刪除SCL源程序就行了。別人沒SCL源程序,打開你程序中的塊時就只能顯示成STL程序了。
第三種情況就是我們在打開別人的程序時,遇到的那些加密程序塊,又沒有源程序的情況下,就只能靠一些解密工具或者其他方式了。這種解密方式在此不做討論,有興趣的朋友可以自我探討一下,單獨私聊。