產地類別 | 進口 | 應用領域 | 環保,化工,生物產業,電子/電池,電氣 |
---|
產品簡介
詳細介紹
西門子專業技術團隊PLC代理商|模塊授權代理商|提供技術支持:
西門子PLC占據了全球PLC市場的半壁江山,如今,又在系統集成架構和網絡組態上發力,一輪新的搶占和瓜分市場的戰役已經拉開序幕,并且愈演愈烈。作為工控行業PLC,對其進行多角度全面了解非常有必要。我們一起來探討西門子PLC常見的20個問題。
1. 使用定時器加自復位做一個不斷重復的計時,調用其他功能或子程序時,為何看起來工作不規律?
請注意《S7-200西門子PLC系統手冊》中,關于三種定時器刷新規律的描述。
按這種方法使用定時器時,定時器的置位、復位可能與程序掃描周期不配合,存在造成上述問題的機制。定時比較短的定時任務應使用“定時中斷"功能,這樣更為可靠。
2. 編了一個利用定時器的程序,在編譯時已經通過,為何下載到CPU中時提示出錯?
這種情況往往是調用的定時器號與定時器類型不配合造成的。參見幫助的表格,如T7只能用作TONR,而不能用于TON或TOF。
3. 定時中斷(SMB34/SMB35)最長定時為255ms,如何實現更長時間的定時?
可以采用T32/T96中斷,最長時間可到32.767s。在定時中斷服務程序中對進入中斷的次數進行計數,也能實現更長時間的中斷延時。
4. 定時中斷個數不夠怎么辦?
每個定時中斷服務程序不一定只能處理一項定時任務,可以把幾個任務放在一個定時中斷服務程序中。
對于定時間隔不同的任務,可以計算出它們的定時長度的最大公約數,以此作為定時中斷的時間設置。在中斷服務程序內部對中斷事件進行計數,據此編程別處理不同的任務。
5. 使用子程序時,為何動作只能執行一次,或者某些狀態不能結束?
如果發生動作不能重復執行,或者狀態不能結束(像鎖死了一樣),而這些功能都與子程序有關時,請檢查是否有條件調用子程序。調用子程序的條件在上述動作執行后,或者進入某個狀態后不再有效,無法再次“激活",而脫離上述狀態或復位的指令正好在子程序內,必然造成上述的現象。
6、帶形式參數的子程序,定義為OUT類型的變量為何會在多次調用子程序時互相干擾?
那是因為定義為OUT類型的形式參數又在子程序內部參與了運算。凡是此類參數都應當定義為IN_OUT類型。
7. 與中斷服務程序有關的計算任務,為何會偶爾得出不正確的結果?
出現這種現象的原因多是在主(子)程序和中斷程序之間傳遞數據的機制不當。
中斷程序可能在任何時刻執行,如果此時主程序(或子程序)正在對中斷程序使用的數據進行操作,其中間結果可能帶入中斷程序,造成計算結果的變化;同樣地,在中斷程序中產生數據也對主(子)程序中的計算有類似影響。
8. 中斷服務程序看起來沒有執行?
可以在中斷程序中加一個測試程序段,如使用SM0.0(常為“1")將一個輸出點置位(使用Set指令),觀察是否進入中斷服務程序。中斷程序不執行,多數原因是初始化(連接中斷事件和中斷程序)的問題,或者沒有“開中斷"。應該使用SM0.1(或沿觸發)執行一次初始化,然后開中斷。
9. TP170、TP170micro與S7-200相連接如何做“時鐘同步"?
TP170默認的時鐘格式與S7-200西門子PLC時鐘指令所讀取的時間日期格式有所區別,讀出的時鐘需要改變格式才能與TP170等做時鐘同步。在TP170的組態軟件ProTool的在線幫助中有相關的介紹。
10. 高速計數器怎樣占用輸入點?
高速計數器根據被定義的工作模式,按需要占用CPU上的數字量輸入點。每一個計數器都按其工作模式占用固定的輸入點。在某個模式下沒有用到的輸入點,仍然可以用作普通輸入點;被計數器占用的輸入點(如外部復位),在用戶程序中仍然訪問到。
11. 為什么高速計數器不能正常工作?
在程序中要使用初次掃描存儲器位SM0.1來調用HDEF指令,而且只能調用一次。如果用SM0.0調用或者第二次執行HDEF指令會引起運行錯誤,而且不能改變第一次執行HDEF指令時對計數器的設定。
12. 對高速計數器如何尋址?為什么從SMDx中讀不出當前的計數值?
可以直接用HC0;HC1;HC2;HC3;HC4;HC5對不同的高速計數器進行尋址讀取當前值,也可以在狀態表中輸入上述地址直接監視高速計數器的當前值。SMDx不存儲當前值。高速計數器的計數值是一個32位的有符號整數。
13. 高速計數器如何復位到0?
選用帶外部復位模式的高速計數器,當外部復位輸入點信號有效時,高速計數器復位為0也可使用內部程序復位,即將高速計數器設定為可更新初始值,并將初始值設為0,執行HSC指令后,高數計數器即復位為0.
14. 高速計數器的值在復位后是復位到初始值還是“0"值?
外部復位會將當前值復位到0值而不是初始值;內部復位則將當前值復位到初始值。如果你設定了可更新初始值,但在中斷中未給初始值特殊寄存器賦新值,則在執行HSC指令后,它將按初始化時設定的初始值賦值。
15. 為何給高速計數器賦初始值和預置值時后不起作用,或效果出乎意料?
高速計數器可以在初始化或者運行中更改設置,如初始值、預置值。其操作步驟應當是:
1)設置控制字節的更新選項。需要更新哪個設置數據,就把控制字節中相應的控制位置位(設置為“1");不需要改變的設置,相應的控制位就不能設置。
2)然后將所需的值送入初始值和預置值控制寄存器。
3)執行HSC指令。
16. 使用PTO/PWM發生器的功能應使用什么類型的CPU?
應使用24VDC晶體管輸出的CPU,繼電器輸出的絕對不行。
17. PTO或PWM輸出的幅值是多少?
PTO或PWM輸出的幅值為24V(高電平有效,共負端連接),若想實現輸出其他電壓的幅值,需自己加轉換器來實現。
18. 在PTO脈沖串執行過程中,你能否通過PLS指令改變其周期值?
不行,必須終止PTO輸出后才能改變周期值。
19. 如何強制停止PTO或PWM輸出?
可以通過編程將控制字節中的使能位SM66.7或SM76.7清零,然后執行PLS指令,便可立即停止PTO或PWM輸出。
20. 為何輸出信號的指示燈已亮,卻沒有良好的電壓波形輸出,或者有時丟脈沖?
PTO或PWM輸出負載最小不能低于額定負載的10%;即在輸出為高電平的狀態下,負載電流不低于140mA。
西門子plc總代理
公司在電氣技術應用研究、設計、技術咨詢服務、設備不停產改造等方面積累了豐富的經驗,對大型交(直)流傳動系統、變頻節能系統、大型自動化系統等擁有多年成熟的設計、供貨和調試經驗,能為用戶提供系統*、性價比高的工業自動化解決方案。公司憑借技術實力及經營、設計、制造實體的優勢,成為西門子華東區核心合作伙伴。經過多年發展,公司和西門子公司的合作日趨深入和廣泛。公司業務遍及全國各個省市。同時,公司在東南亞、南美洲、非洲等國家也承接了很多項目,均取得了圓滿的成功,得到國內外顧客的廣泛好評。公司本著“以人為本、科技先導、顧客滿意、持續改進"的工作方針,致力于工業自動化控制領域的產品開發、工程配套和系統集成,擁有豐富的自動化產品的應用和實踐經驗以及雄厚的技術力量,尤其以PLC復雜控制系統、傳動技術應用、伺服控制系統、數控備品備件、人機界面及網絡/軟件應用為公司的技術特長。
五種西門子PLC程序加密方法,最后一種很難破!
大家都知道,很多品牌PLC的程序都可以通過軟件解密,那么一旦解密后程序就非常透明的顯示在了別人的眼中,而將設備賣給別人又將PLC程序整個鎖死的話又不切實際,甲方會無法維護;而保密和維權更是中國市場經久不衰的話題,其實德國的工程師從來不會給自己的程序整體加密,而是使用其他方式,既不影響發生故障時的診斷,又可以保護自己的核心機密。西門子伺服驅動總代理給大家介紹一下這些方式,供大家參考。
01使用西門子安全PLC或者博途的KNOWHOW功能
西門子安全PLC作為西門子主打安全功能的一款產品,它的性能毋庸置疑,而且安全PLC的程序塊加密后無法破解;可以很好的保護核心。而博途PLC作為西門子的最新產品,其版權保護也是它的主要功能之一,KNOWHOW功能是軟硬件雙重加密,不加密的塊可以正常監控,沒有密碼的話甚至無法下載到其他PLC;因此使用博途的KNOWHOW功能既可以將程序交給甲方方便維護,又可以保護自己的核心程序不被竊取。
02采用高級語言編寫部分重要的工藝程序
西門子除了最基礎的LAD梯形圖編程,FBD功能塊編程和STL語句表編程還有很多其他的方式,比如說PCS7的CFC,SFC; 除此之外還有SCL,S7-GRAPH等等。對于這些語言,一般的工控人員很難全部精通,因此仿制難度大大提升,因此非常關鍵的工藝程序可以由這些語言編寫,也可以很好的保護自己的核心。
1.編程方式的采用
a)采用模塊化的程序結構,采用符號名,參數化來編寫子程序塊
b)盡量采用背景數據塊和多重背景的數據傳遞方式
c)多采用間接尋址的編程方式
d)復雜系統的控制程序尤其是一些帶有順序控制或配方控制的程序,可以考慮采用數據編程的方式,即通過數據的變化來改變系統的控制邏輯或控制順序。
西門子專業技術團隊PLC代理商用戶應該盡量采用以上幾種高級層次的編程方式,這樣編出來的程序中嵌入系統的保護加密程序,才不容易被發現而仿制。
2.主動保護方法
a)利用系統的時鐘
b)利用程序卡或者CPU的ID號和序列號
c)利用EEPROM的反寫入功能,及一些需要設置的內存保持功能 d)利用系統提供的累時器功能
e)在用戶程序的數據塊中設置密碼
f)軟件上設置邏輯陷阱
g)可以反向利用自己在編程時犯的錯誤
3.被動保護方法
a)在內存容量利用許可的條件下,不要刪除被認為是無用的程序
b)在數據塊里留下開發者的標識,以便于將來遭到侵權時可以取證
4.應用反竊取技術的注意事項
a)在用戶程序中嵌入保護程序要顯得自然一些,不能很突兀的加出一段程序來,代碼要盡量精簡,變量符號名應與被嵌入程序段的變量保持一致
b)往往一種保護加密手段是不夠的,應該多種方法并用,并且這些保護程序一旦激活后對系統造成的后果也應該盡量不同,造成所謂的“地雷效應",從而增加程序被竊取的難度,時間與成本,短時間內讓抄襲者束手無策,
c)保護好程序的原代碼,如果需要交付程序的,在不影響用戶對設備維護的前提下,應對交付的程序做適當的技術處理,如刪除部分符號名,采用上載的程序或數據塊
d)做好嚴格的測試,以避免保護程序的不完善引起的誤動作而帶來的不必要的麻煩,同時也能降低售后服務的的費用。
03使用通訊功能
在實際應用中,往往會遇到一些系統間需要數據交換的問題(多個PLC之間,PLC與第三方儀表之間),無論是西門子產品之間還是西門子產品與第三方產品之間,建議使用通訊的方案來代替模擬量或開關量之間的信號互連的方案。對于前者,仿制者只能看見一條硬件的通訊線,至于有多少數據是如何通過通訊交換的,仿制者必須要花精力研究具體的用戶程序才能搞清楚;而對于后者,開發者是省心省力了,仿制者也是一目了然,盡收眼底。
對于一些變頻器或者伺服電機等的程序設計,一般有多種方式,可以線路直接控制還可以通訊控制,那么使用通訊的方式的話會使得程序增加了仿制的難度,比如說PLC對于伺服驅動器的控制有多種,簡單一些的可以是脈沖直接控制或者模擬量控制,這種方式就容易仿制,如果換成通訊控制,則會使得程序復雜很多,加上仿制者如果對報文不熟悉,很難去仿制。
04采用面板類型的人機界面
盡量在自動化系統中使用面板類型的人機界面來代替單一的按鈕指示燈,很多人機界面沒有源程序的話只有備份和恢復功能,*可以實現維護功能還保密了HMI這一層的程序,而對于一個PLC系統而言,即使擁有了源程序但是缺失了HMI部分的標記也是很難仿制的。
而且開發者可以在面板的畫面上加上明顯的廠家標識等信息,仿制者就不能原樣照抄。
如果就使得如果仿制者想要復制程序的話,就必須重新編寫操作面板的程序甚至于PLC的程序,而開發者則可利用面板和PLC數據接口的一些特殊功能區(如西門子面板的區域指針,或VB腳本)來控制PLC的程序執行。這樣的PLC程序在沒有HMI源程序的情況下只能靠猜測和在線監視來獲取PLC內部變量的變化邏輯,費時費力,極大的增加了仿制抄襲的難度。
05采用非標準的人機界面
德國工程師都愿意使用這種方式。在中國,大多數工程師都愿意使用WINCC,INTOUCH或者組態王等等,但其實除了這些軟件,還有一種更加高大上的編寫方式,那就是利用VB自己寫程序,而對于軟件與PLC的接口,大家可以選擇LIBNODAVE或者其他庫等,這種方式寫出來的人機界面有著很多好處,首先沒有版權問題,因為VB軟件是免費的,而且對于WINDOW系統的升級來說只需要簡單的添加幾個文件即可實現,不像WINCC那樣,如果window升級了,需要大量修改文件。
一般人都無法修改,更別提仿制了;沒有很好的計算機編程功底的話就不敢輕易修改,而僅僅有計算機功底又沒有PLC或者工藝基礎的話也是無法更改的。