<menu id="kjmf9"><var id="kjmf9"><center id="kjmf9"></center></var></menu><label id="kjmf9"><rp id="kjmf9"><big id="kjmf9"></big></rp></label>
<menuitem id="kjmf9"></menuitem>
  • <dfn id="kjmf9"><i id="kjmf9"><small id="kjmf9"></small></i></dfn>
      • <menu id="kjmf9"></menu>
      • <span id="kjmf9"></span>
        加入收藏 在線留言 聯系我們
        關注微信
        手機掃一掃 立刻聯系商家
        全國服務熱線17838383235
        公司新聞
        五種西門子PLC程序加密方法,Zui后一種很難破!
        發布時間: 2024-06-11 10:14 更新時間: 2024-10-30 14:14

        眾所周知,許多品牌的PLC程序可以通過軟件破解。一旦程序被破解,就會對外部人員非常透明。然而,如果將設備賣給別人而又將整個PLC程序鎖死,這樣做就不切實際了,因為乙方將無法維護設備。保密和維權是中國市場上長盛不衰的話題。實際上,德國工程師從未對其程序進行完全加密,而是采用其他方法,既不影響故障診斷,又可以保護核心機密。我將向大家介紹這些方法,讓大家參考。

        一、選擇西門子的安全PLC或博途平臺的KNOWHOW功能。

        西門子安全PLC是西門子旗下的一款主打安全功能的產品,其性能非??煽?,并且安全PLC的程序塊一經加密就難以破解,從而有效地保護核心內容。另一方面,博途PLC是西門子的新產品,其版權保護也是其重要功能之一,KNOWHOW功能結合了軟硬件雙重加密的特點,未加密的模塊可被正常監控,如果沒有密碼則無法加載到其他PLC上。因此,使用博途的KNOWHOW功能不僅可以方便地分享程序給他人進行維護,還能保障核心程序不受侵擾。

        二、采用語言編寫關鍵工藝程序

        有許多方法,除了基礎的梯形圖編程、功能塊編程和語句表編程外,還有更多選擇,如PCS7的CFC、SFC,以及SCL、S7-GRAPH等。由于這些語言的復雜性,一般工控人員難以完全掌握,這增加了仿制的難度。因此,關鍵的工藝程序可以使用這些語言編寫,以保護核心技術。

        1.編程方式的選擇包括:

        (1)采用模塊化的結構,使用符號名和參數化來編寫子程序塊。

        (2)使用背景數據塊和多重背景的數據傳遞方式。

        (3)多采用間接尋址的編程方式。

        (4)對于復雜系統的控制程序,特別是帶有順序控制或配方控制的程序,可以考慮采用數2.據編程的方式,即通過數據的變化來改變系統的控制邏輯或控制順序。

        3.為了保護程序,用戶應采取以下主動和被動的保護方法:

        主動保護方法:

        (1)利用系統的時鐘。

        (2)使用程序卡或CPU的ID號和序列號。

        (3)利用EEPROM的反寫入功能和需要設置的內存保持功能。

        (4)使用系統提供的累時器功能。

        (5)在用戶程序的數據塊中設置密碼。

        (6)在軟件中設置邏輯陷阱。

        (7)利用自己在編程時犯的錯誤。

        被動保護方法:

        (1)在內存容量允許的情況下,不刪除被認為是無用的程序。

        (2)在數據塊中留下開發者的標識,以備將來遭到侵權時取證。

        4.在應用反竊取技術時,需要注意以下事項:

        (1)在用戶程序中嵌入保護程序時要顯得自然,避免突兀加入程序段,代碼要簡潔,變量符號名與被嵌入程序段的變量保持一致。

        (2)單一保護加密手段可能不夠,應采用多種方法,并且這些保護程序激活后對系統造成的后果應該盡量不同,以增加抄襲者的困難。

        (3)保護好程序的原代碼,如果需要交付程序,在不影響用戶設備維護的前提下,應對程序做適當的技術處理,如刪除部分符號名,采用上載的程序或數據塊。

        進行嚴格測試,以避免保護程序不完善引起的誤動作,也能降低售后服務的費用。

        三、使用通訊功能

        在實際的工程應用中,經常會遇到系統之間需要進行數據交換的情況,比如多個PLC之間或者PLC與第三方儀器之間的通訊。針對這種情況,不論是西門子產品之間的通訊還是西門子產品與第三方產品之間的通訊,建議采用通訊的方式,而不是傳統的模擬量或開關量之間的互連方式。對于前者,仿制者只能看到一條硬件的通訊線,而要想了解具體的數據交換過程,就必須仔細研究用戶程序,這對仿制者來說是一項相當具有挑戰性的任務;而對于后者,情況則變得簡單得多,開發者省去了不少心力,仿制者也能輕易了解數據的傳輸過程。

        在一些涉及到變頻器或者伺服電機等設備的程序設計中,通常存在多種控制方式,可以直接通過線路控制,也可以通過通訊控制。采用通訊控制方式會使程序變得更加復雜,從而增加仿制的難度。舉例來說,對于PLC對伺服驅動器的控制,簡單的方法可能是通過脈沖直接控制或者模擬量控制,這種方式相對容易被仿制。但如果采用通訊控制方式,程序將變得更加復雜,仿制者如果不熟悉通訊報文的格式,將很難進行仿制。

        有時候,控制系統由多個子系統組成,形成了多CPU加人機界面的網絡。例如,西門子S7-200產品常見的是PPI網絡,S7-300/400產品常見的是MPI網絡,通常用于人機界面與CPU之間的數據交換。我們可以在CPU的用戶程序中添加一些無需組態的S7基本通訊功能,定時或不定時地在CPU之間進行少量數據交換,通過這些數據來實現子系統控制邏輯的互鎖。對于這樣的系統,仿制者要想分析某一子系統的程序也不是一件十分容易的事情。

        四、采用面板類型的人機界面

        在自動化系統中,盡量使用面板類型的人機界面來代替單一的按鈕和指示燈。許多人機界面如果沒有源程序,只有備份和恢復功能,這樣就可以實現維護功能并且保密了HMI層的程序。對于一個PLC系統而言,即使擁有源程序,但如果缺少了HMI部分的標記,也是很難進行仿制的。

        在系統開發中,數據交換是一個常見的需求,比如PLC之間或者PLC與外部設備之間的通訊。為了防止仿制,通訊方式是,而不是傳統的模擬或數字信號連接。通過通訊,仿制者只能看到通訊線路,而要理解數據交換,需要深入研究用戶程序,這對仿制者來說是相當困難的任務。

        在控制系統中,采用通訊控制方式會增加仿制的難度。例如,PLC對伺服驅動器的控制可以通過簡單的方式實現,但采用通訊控制會使程序更復雜,仿制者如果不了解通訊報文格式,將很難仿制成功。此外,對于多CPU和人機界面網絡的系統,可以利用CPU的基本通訊功能實現子系統控制邏輯的互鎖,這也增加了仿制的難度。

        另外,使用面板式人機界面可以防止仿制。開發者可以在界面上添加廠家標識和聯系方式等信息,使仿制者無法直接復制。如果仿制者想要復制程序,就必須重新編寫界面和PLC程序,而開發者則可以利用面板和PLC數據接口的特殊功能來控制程序執行。沒有源程序的情況下,仿制者只能靠猜測和在線監視來獲取內部變量的變化邏輯,這增加了仿制的難度。

        五、采用非標準的人機界

        另外,采用非標準的人機界面也是一種防止仿制的方法。通過利用VB編寫程序,并選擇適當的庫與PLC進行接口,可以獲得很多好處,比如沒有版權問題和系統升級的簡便性。這種方式對于普通人來說很難修改,更不用說仿制了。對于沒有計算機編程功底的人來說,修改是困難的,而即使懂得計算機,缺乏PLC或工藝基礎也無法進行修改。


        聯系方式

        • 電  話:17838383235
        • 經理:徐嘉泉
        • 手  機:17838383235
        • 微  信:17838383235