<object id="ir2le"></object>
  • 加入收藏 在線留言 聯系我們
    關注微信
    手機掃一掃 立刻聯系商家
    全國服務熱線15267534595
    公司新聞
    為S7-300和ET200 CPU程序加密,你會幾種方法
    發布時間: 2024-03-19 11:49 更新時間: 2024-12-26 09:10

    第一種:在硬件配置中激活CPU的在線訪問功能

    【一】STEP7在線功能的密碼保護是為了阻止對CPU的訪問,使用密碼保護可以:(1)保護CPU中的用戶程序和數據防止未經授權的更改(寫保護)(2)保護用戶程序中的專有知識(讀保護)(3)阻止可能損害進程的在線功能【二】想要激活CPU的密碼保護需要進行以下操作:(1)在硬件組態中雙擊CPU打開CPU的屬性。(2)選擇"保護"選項卡并在這里設置所需的保護等級。(3)為保護等級3(讀/寫保護)設定一個密碼

    圖片

    (4)點擊OK按鈕關閉對話框同時編譯并保存硬件組態。(5)將硬件組態下載至CPU。說明:根據所設定的保護等級,每個在線功能在執行前都會進行檢查以確保所選擇的保護等級下該功能是否允許執行,因此,從保護等級2開始,在執行特定功能前必須輸入訪問密碼。根據設定保護等級,可以執行診斷功能并讀取變量聲明表。例如,保護等級3允許讀取診斷緩沖區,可以通過"PLC > Access Authorization > Setup"直接調出輸入密碼的對話框,除非SIMATIC Manager會話終止或則使用 "PLC > Access Authorization > Cancel"取消密碼輸入,否則不會出現進一步的密碼查詢。



    第二種:通過SFC109激活CPU在線訪問功能

    【一】通過在程序中調用系統功能塊SFC 109 "PROTECT"來更改CPU的保護等級  ,通過SFC109 的MODE參數選擇"PROTECT",可以選擇3種級別的保護等級:(1)以MODE=0調用SFC 109:設置保護等級為 1,如果禁用密碼授權,可以通過以MODE=0 調用 SFC 109 將其啟用。(2)以MODE=1調用SFC 109:設置保護等級為 2,這意味著具有有效密碼的用戶可以刪除通過調用 SFC 109 設置的寫保護,如果啟用密碼授權,可以通過以MODE=1 調用 SFC 109 將其禁用。(3)以MODE=12 調用 SFC 109:設置保護等級為 3,無需密碼授權。 這意味著如果設置了讀寫保護, 即使擁有有效的密碼也不能將其禁用。 如果以MODE=12 調用 SFC 109是在建立授權連接后,則調用SFC 109 調用對該連接無效。【二】注意:(1)以MODE=12 調用 SFC 109 “PROTECT” 僅適用于固件版本 V3.2.7 的 S7-300 CPU 和固件版本V3.3.7ET 200 CPU。 使用參數 MODE=12,無需密碼授權便可設置保護級等級為 3。 下圖顯示了以參數“W#16#C”(對應于 MODE=12)調用SFC 109 “PROTECT”,用以在沒有密碼授權的情況下設置保護等級 3(讀/寫保護)。圖片


    (2)請同時請注意以下情況
  • 即使知道有效密碼,也無法取消通過 SFC 109 設置的讀/寫保護。
  • 只有在使用 MODE=0 或 MODE=1 再次調用 SFC 109 后,才能通過輸入有效密碼來激活讀/寫保護。



  • 第三種:加密塊保護(STEP7 V5.5以上)

    在 STEP7 V5.5 版本中,可以提供塊保護的加密功能,在離線和在線情況下,加密功能和功能塊程序代碼。【一】下面描述了如何使用 “S7 Block Privacy” 程序進行對塊的保護加密的步驟。(1)使用 STEP7 V5.5 的塊的保護加密功能,必須先安裝“S7 Block Privacy”程序。(2)安裝完成后,在SIMATIC Manager“Tools>Block protection...”,選擇“ Block Protection”功能。(3)在 SIMATIC Manager 中選中塊文件夾,主菜單中選擇“Tools>Block protection”功能。或者選中塊文件夾后,右鍵彈出菜單中選擇“ Block protection”功能。(4)在“S7 Block Privacy”對話窗口,打開層次樹,顯示使用“ S7 Block Privacy ”程序進行保護的塊的列表。“ S7 Block Privacy ”僅可以加密 FBs 和 FCs。(5)右鍵點擊塊,在彈出菜單中選擇加密功能 “ Encrypt block ..”。(6)在“ Block Encyrption ”對話窗口,必須輸入至少12個字符密碼,在下一行重新輸入密碼,點擊 ok 確認。圖片注意:上圖中檢查 “ Also encrypt decompilation information ”選項是啟用的,如果沒有啟用此選項,在加密之后,將不能再次取消加密此功能塊。程序代碼將yongjiu加密。(7)點擊 “ OK ”確認信息,當打開塊的加密功能,將不能再次查詢與編輯程序代碼。注意:加密完成后,只有通過輸入密碼后,允許再次對塊進行代碼編輯,建議保存好密碼。(8)如果想一次加密多個塊, 選中左側復選框,將所有塊一次全部加密,點擊塊文件夾左側復選框,選擇所有的文件,然后重復完成 4~7步驟。【二】在 SIMATIC Manager 上,被加密的塊將被標記成紅色和一個鑰匙圖示,下面將描述取消加密塊的步驟。(1)在SIMATIC Manager上,選中塊文件夾,在主菜單中選擇“ Tool>Block protection ”功能。或者右鍵點擊塊文件夾,在彈出菜單中點擊“ User protection ...”功能。(2)在“ S7 Block Privacy ”對話窗口,打開層次樹,選中想取消加密的塊。(3)右鍵點擊塊,選擇 “取消加密”。(4)當出現“ Block Encryption ”對話窗口,輸入密碼后點擊 OK 確認。(5)關閉“ S7 Block Privacy ”程序,被選中的塊已經取消加密并且可以編輯程序。




    第四種:在源程序中輸入KNOW_HOW_PROTECT

    STEP 7 為程序提供 KNOW_HOW_PROTECT 保護功能。為要保護的塊生成一個源。在此源塊中,在聲明部分中輸入了關鍵字“KNOW_HOW_PROTECT”。該塊在編譯源代碼后受到保護。如果打開使用此保護功能的塊時,僅塊接口參數 (IN, OUT 和 IN/OUT 參數) 和塊注釋可見,而無法顯示程序代碼、臨時/靜態變量和網段注釋。(保護源程序對象為:FC、FB和DB)

    【一】程序塊設置 KNOW_HOW_PROTECT 保護功能步驟(1)打開要編輯的塊,在 LAD/STL/FBD 編輯器中選擇 "File > Generate source..." ,生成源文件。(2)在打開的對話框中輸入項目名稱,如 "P_FB"。(3)彈出 "Generate source 圖片(4)在 S7 program 的 “Sources” 文件夾中打開Zui近生成的源文件。(5)如下圖所示在需要加密的源程序的聲明部分的 "TITLE"語句下面插入"KNOW_HOW_PROTECT" 命令。圖片(6)通過菜單 "File > Save" 和 "File > Compile" 保存編譯 STL 源文件,完成塊的保護。注意:如果經“KNOW_HOW_PROTECT”命令的程序或者項目中的STL 源文件不再可用,則不能再去除對塊的保護。只有通過 STL 源文件才能去除塊的保護。【二】程序塊取消 KNOW_HOW_PROTECT 保護功能步驟(1)打開源文件。(2)刪除 "KNOW_HOW_PROTECT" 語句行或用雙斜杠將其標記為注釋。(3)使用菜單命令 "File > Save" 和 "File > Compile" 保存編譯該 STL 源文件。(4)至此去除對該塊的保護。



    聯系方式

    • 電  話:18126392341
    • 聯系人:梁濤
    • 手  機:15267534595
    • 微  信:15267534595