一種plc軟硬件結合加密保護方法
【技術領域】
[0001]本發(fā)明涉及一種PLC軟硬件結合加密保護方法。
【背景技術】
[0002]在PLC市場銷售中,常會出現(xiàn)代理商(即程序開發(fā)方)辛苦為客戶開發(fā)了工程程序,客戶得到工程程序后,從其它渠道獲得低價PLC裸機,將代理商為其開發(fā)的工程下載到裸機使用,而不再從代理商處購買,這樣就使代理商的利益損失。傳統(tǒng)的加密方法是通過設置PLC程序密碼,防止客戶下載或上傳程序,這樣客戶就無法看到程序內容,而且一旦客戶獲知密碼,就可以將程序應用在其它PLC設備上,不在通過代理商處購買,從而代理商利益受到損失。
[0003]為了保護代理商(即程序開發(fā)方)的利益,因此迫切需要一種軟硬件結合的PLC加密保護方法,使開發(fā)的PLC程序具有較高的加密性,提升PLC的安全性能,既能使客戶獲得工程程序,又使客戶必須依賴代理商的供貨,從而保護程序開發(fā)方的勞動成果。
【發(fā)明內容】
[0004]本發(fā)明的目的在于克服上述現(xiàn)有技術的問題,提供一種PLC軟硬件結合加密保護方法,其可提高軟件與硬件之間的加密性,從而提升PLC的安全性能。
[0005]本發(fā)明的目的是通過以下技術方案來實現(xiàn):
[0006]一種PLC軟硬件結合加密保護方法,包括初始值可隱藏編輯的加密寄存器及具有函數(shù)功能塊加密導出功能的PLC編程軟件,上電修改所述加密寄存器的至少一個值為特定值,定義為加密標志位;運行所述PLC編程軟件,添加函數(shù)功能塊進行程序語言編輯,實現(xiàn)校驗判斷所述加密標志位的值是否正確,如正確,則置位所述PLC編程軟件中的梯形圖主程序的關鍵標志位;選擇以隱藏信息的方式加密導出所述函數(shù)功能塊,生成加密程序包;重新導入打開所述加密程序包,在所述梯形圖主程序中調用所述加密程序包,校驗判斷所述關鍵標志位是否置位,若是,則執(zhí)行啟動主程序;若否則不執(zhí)行。
[0007]進一步地,所述加密寄存器的其中一個值為特定值。
[0008]本發(fā)明所述的PLC軟硬件結合加密保護方法,將硬件部分加密寄存器內的至少一個值設置為特定值,并將軟件程序編寫為對應的加密程序包,在加密程序包中設置啟動標志位,使用時判斷硬件部分加密寄存器中的相應位置值是否與特定值對應,若是則置位啟動標志位,從而順利執(zhí)行啟動主程序。這種PLC軟硬件結合加密保護方法,其提高了軟件與硬件之間的加密性,從而提升了 PLC的安全性能。
【附圖說明】
[0009]圖1為本發(fā)明所述一種PLC軟硬件結合加密保護方法一具體實施例中的流程演示圖一;
[0010]圖2為本發(fā)明所述一種PLC軟硬件結合加密保護方法一具體實施例中的流程演示圖二;
[0011 ]圖3為本發(fā)明所述一種PLC軟硬件結合加密保護方法一具體實施例中的流程演示圖三;
[0012]圖4為本發(fā)明所述一種PLC軟硬件結合加密保護方法一具體實施例中的流程演示圖四;
[0013]圖5為本發(fā)明所述一種PLC軟硬件結合加密保護方法一具體實施例中的流程演示圖五;。
【具體實施方式】
[0014]下面根據(jù)附圖和實施例對本發(fā)明作進一步詳細說明。
[0015]如圖1所示,本發(fā)明所述的一種PLC軟硬件結合加密保護方法,包括初始值可隱藏編輯的加密寄存器及具有函數(shù)功能塊加密導出功能的PLC編程軟件,上電修改加密寄存器的至少一個值為特定值,定義為加密標志位;運行PLC編程軟件,添加函數(shù)功能塊進行程序語言編輯,實現(xiàn)校驗判斷加密標志位的值是否正確,如正確,則置位PLC編程軟件中的梯形圖主程序的關鍵標志位;選擇以隱藏信息的方式加密導出函數(shù)功能塊,生成加密程序包;重新導入打開加密程序包,在梯形圖主程序中調用加密程序包,校驗判斷關鍵標志位是否置位,若是,則執(zhí)行啟動主程序;若否則不執(zhí)行。更具體地,加密寄存器的其中一個值為特定值。
[0016]為了便于理解該PLC軟硬件結合加密保護方法,以上電修改加密寄存器的一個值為例做進一步的描述:
[0017]如圖1所示,采用FD加密寄存器,定義加密寄存器的段為FD0-FD31,其每個段的值可以修改但不可見,其值修改后顯示一直為0,加密時,首先上電修改某個加密寄存器(以FDO作演示)的值為123 ;如圖2所示,在PLC編程軟件的編輯界面中添加一個C函數(shù)功能塊FUNCl,在C函數(shù)功能塊FUNCl中判斷加密標志位FDO的值是否設為設定值123,若是,則置位梯形圖主程序的關鍵標志位M100,然后編譯保存C函數(shù)功能塊FUNCl ;如圖3所示,選擇以不可編輯的方式加密導出,在導出方式的選項框內選擇“不可編輯”,在本實施例中,將隱藏信息再導出的功能定義為“不可編輯”,進而保存為加密程序包FUNC1.FCB,并在PLC的編輯界面刪除C函數(shù)功能塊FUNCl。如圖4所示,導入剛剛保存的加密程序包FUNC1.FCB,由于保存時選擇了“不可編輯”,因此,此時新加載的C函數(shù)功能塊內容不可視;如圖5所示,在梯形圖主程序中調用該加密C函數(shù)功能塊FUNC1,使用時校驗判斷加密標志位FDO與設定值是否一致,校驗通過關鍵標志位MlOO才被置位,并啟動整個主程序的正常運行。若加密標志位FDO與關鍵標志位的值校驗不通過,則整個主程序將無法啟動運行。
[0018]由于采用軟硬件結合的加密保護方法,用戶可以上傳或下載軟件程序,但是由于啟動標志位與加密寄存器值不知道,因此程序移植到其他的PLC中也無法使用。
[0019]以上所述僅為說明本發(fā)明的實施方式,并不用于限制本發(fā)明,對于本領域的技術人員來說,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【主權項】
1.一種PLC軟硬件結合加密保護方法,其特征在于,包括初始值可隱藏編輯的加密寄存器及具有函數(shù)功能塊加密導出功能的PLC編程軟件,上電修改所述加密寄存器的至少一個值為特定值,定義為加密標志位;運行所述PLC編程軟件,添加函數(shù)功能塊進行程序語言編輯,實現(xiàn)校驗判斷所述加密標志位的值是否正確,如正確,則置位所述PLC編程軟件中的梯形圖主程序的關鍵標志位;選擇以隱藏信息的方式加密導出所述函數(shù)功能塊,生成加密程序包;重新導入打開所述加密程序包,在所述梯形圖主程序中調用所述加密程序包,檢驗判斷所述關鍵標志位是否置位,若是,則執(zhí)行啟動主程序;若否則不執(zhí)行。
2.如權利要求1所述的PLC軟硬件結合加密保護方法,其特征在于,所述加密寄存器的其中一個值為特定值。
【專利摘要】本發(fā)明涉及一種PLC軟硬件結合加密保護方法,包括初始值可隱藏編輯的加密寄存器及具有函數(shù)功能塊加密導出功能的PLC編程軟件,上電修改加密寄存器的至少一個值為特定值,定義為加密標志位;運行PLC編程軟件,添加函數(shù)功能塊進行程序語言編輯,實現(xiàn)校驗判斷加密標志位的值是否正確,如正確,則置位PLC編程軟件中的梯形圖主程序的關鍵標志位;選擇以隱藏信息的方式加密導出函數(shù)功能塊,生成加密程序包;重新導入打開加密程序包,在梯形圖主程序中調用加密程序包,校驗判斷關鍵標志位是否置位,若是,則啟動執(zhí)行主程序。這種PLC軟硬件結合加密保護方法,其提高了軟件與硬件之間的加密性,從而提升了PLC的安全性能。
【IPC分類】G06F21-12, G06F21-51, G06F21-72
【公開號】CN104573423
【申請?zhí)枴緾N201510043562
【發(fā)明人】李新, 鄒駿宇, 李晨亮, 毛振峰
【申請人】無錫信捷電氣股份有限公司
【公開日】2015年4月29日
【申請日】2015年1月26日