相信大家在使用step7打開(kāi)一些程序時(shí),常會(huì)遇到以下三種plc的加密情況,現(xiàn)根據(jù)自己的經(jīng)歷和大家一起分享探討。
第一種情況。是在硬件組態(tài)中,在cpu屬性中按照保護(hù)等級(jí)設(shè)置密碼,將cpu中程序鎖住,不影響cpu的正常運(yùn)行。這種情況是往往是程序設(shè)計(jì)編程人員出于安全和知識(shí)產(chǎn)權(quán)的保護(hù)等目的而進(jìn)行的設(shè)置。常見(jiàn)的加密方式有三種,如圖一所示。1、程序可讀出,數(shù)據(jù)可修改,運(yùn)行可監(jiān)視,只是程序不可更改。(出于安全考慮)2、數(shù)據(jù)可修改,運(yùn)行可監(jiān)視,程序即不能讀出也不能修改。(出于安全考慮,也為保護(hù)知識(shí)產(chǎn)權(quán))3、程序、數(shù)據(jù)、運(yùn)行均不可讀出、監(jiān)視和更改。(安全性最高)方法:在硬件組態(tài)中打開(kāi)cpu的protection(保護(hù))選項(xiàng),選擇所需加密方式,設(shè)置密碼后保存編譯重新下載硬 件組態(tài)就可以了。注意:如何設(shè)置密碼忘記或丟失,那么只有通過(guò)編程軟件在線(xiàn)連接plc,清空plc程序,(包括程序塊,系統(tǒng)塊和數(shù)據(jù)塊)然后將備份的程序重新下載。
圖一
圖二
第二種情況就是程序中程序塊的加密和解密。方法步驟如下。
1、在step7中打開(kāi)要加密的程序塊,點(diǎn)擊菜單“文件/生成源文件(file/generate source)”,
生成要加密保護(hù)的程序塊的原代碼文件。
2、關(guān)閉程序塊,在項(xiàng)目管理器中打開(kāi)“源文件(source)”,打開(kāi)生成的源文件。
3、在程序塊的聲明部分,title行下面的一行中輸入“know_how_protect”。(如圖二所示)
4、執(zhí)行菜單命令“文件/保存(file/save)”然后“文件/編譯(file/compile)”。
5、編譯成功后,可在“塊”中看到加鎖的程序塊。
6、解除密碼,打開(kāi)相應(yīng)的“源文件”,把“know_how_protect”刪除,然后編譯即可。
注意,保存好源文件,否則已加密的程序塊將無(wú)法打開(kāi)。同時(shí),你用scl源程序編譯完成后,刪除scl源程序就行了。別人沒(méi)scl源程序,打開(kāi)你程序中的塊時(shí)就只能顯示成stl程序了。
第三種情況就是我們?cè)诖蜷_(kāi)別人的程序時(shí),遇到的那些加密程序塊,又沒(méi)有源程序的情況下,就只能靠一些解密工具或者其他方式了。這種解密方式在此不做討論。