編程方式的采用
a) 采用模塊化的程序結構,采用符號名,參數化來編寫子程序塊
b) S7-300/400盡量采用背景數據塊和多重背景的數據傳遞方式
c) 多采用間接尋址的編程方式
d) 復雜系統的控制程序尤其是一些帶有順序控制或配方控制的程序,可以考慮采用數據編程的方式,即通過數據的變化來改變系統的控制邏輯或控制順序。
用戶應該盡量采用以上幾種高級層次的編程方式,這樣編出來的程序中嵌入系統的保護加密程序,才不容易被發現和破解
6ES7 288-1ST20-0AA0
6ES7 288-1SR30-0AA0
6ES7 288-1ST30-0AA0
6ES7 288-1SR40-0AA0
6ES7 288-1ST40-0AA0
6ES7 288-1SR60-0AA0
6ES7 288-1ST60-0AA0
6ES7 288-1CR20-0AA1
6ES7 288-1CR30-0AA1
6ES7 288-1CR40-0AA1
6ES7 288-1CR60-0AA1
6ES7 288-2DE08-0AA0
6ES7 288-2DE16-0AA0
6ES7 288-2DR08-0AA0
6ES7 288-2DT08-0AA0
6ES7 288-2QT16-0AA0
6ES7 288-2QR16-0AA0
6ES7 288-2DR16-0AA0
6ES7 288-2DR32-0AA0
6ES7 288-2DT16-0AA0
6ES7 288-2DT32-0AA0
6ES7 288-3AE04-0AA0
6ES7 288-3AE08-0AA0
6ES7 288-3AQ02-0AA0
6ES7 288-3AQ04-0AA0
6ES7 288-3AM03-0AA0
6ES7 288-3AM06-0AA0
6ES7 288-3AR02-0AA0
6ES7 288-3AR04-0AA0
6ES7 288-3AT04-0AA0
6ES7 288-7DP01-0AA0
6ES7 288-5CM01-0AA0
6ES7 288-5DT04-0AA0
6ES7 288-5AE01-0AA0
6ES7 288-5AQ01-0AA0
6ES7 288-5BA01-0AA0
6ES7 288-6EC01-0AA0
6ES7 288-0CD10-0AA0
6ES7 288-0ED10-0AA0
6GK7 277-1AA00-0AA0
6GK5 005-0BA00-1AB2
6ES7 901-3DB30-0XA0
6AV6 648-0CC11-3AX0
6AV6 648-0CE11-3AX0
6AV6 640-0AA00-0AX0
2. 主動保護方法
a) 利用系統的時鐘
b) 利用程序卡或者CPU的ID號和序列號
c) 利用EEPROM的反寫入功能,及一些需要設置的內存保持功能
d) 利用系統提供的累時器功能
e) 在用戶程序的數據塊中設置密碼
f) 軟件上設置邏輯陷阱
g) 可以反向利用自己在編程時犯的錯誤
3. 被動保護方法
a) 在內存容量利用許可的條件下,不要刪除被認為是無用的程序
b) 在數據塊里留下*的標識,以便于將來遭到侵權時可以
4. 應用反破解技術的注意事項
a) 在用戶程序中嵌入保護程序要顯得自然一些,不能很突兀的加出一段程序來,代碼要盡量精簡,變量符號名應與被嵌入程序段的變量保持一致
b) 往往一種保護加密手段是不夠的,應該多種方法并用,并且這些保護程序一旦激活后對系統造成的后果也應該盡量不同,造成所謂的“地雷效應”,從而增加程序被破解的難度,時間與成本,短時間內讓抄襲者束手無策,
c) 保護好程序的原代碼,如果需要交付程序的,在不影響用戶對設備維護的前提下,應對交付的程序做適當的技術處理,如刪除部分符號名,采用上載的程序或數據塊
d) 做好嚴格的測試,以避免保護程序的不完善引起的誤動作而帶來的不必要的麻煩,同時也能降低售后服務的的費用。