時間:2018-04-19 10:45:40來源:網絡轉載
今天小編給大家帶來干貨了,大家在學習西門子200PLC編程指令的時候肯定會遇到很多問題,比如明明指令寫對了卻不能正常使用,經常也搞的大家滿頭霧水吧。好了廢話不多說現在開始為大家講解吧!
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。
標簽:
上一篇:變頻器最常用的13個參數
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。
產品新聞
更多>2025-06-16
2025-06-09
2025-06-06
2025-05-19
2025-04-30
2025-04-11