西門子S7-1200PLC模塊四川代理商

STEP 7語句表編寫的脈沖定時器程序
如果用語句表編程,在定時器啟動之前,建議用下面兩條指令中的一條將定時器的預(yù)置值裝入累加器:
L W#16#wxyz //w和xyz均為十進(jìn)制數(shù),時間基準(zhǔn)w=0~3,時間值xyz=1~999
L S5T#aH_bM_cS_dMS //a、b、c、d分別為小時、分、秒和毫秒值,自動選擇時間基準(zhǔn)
下面是用語句表編寫的脈沖定時器程序。其中只能在語句表中使用的FR指令允許定時器再啟動,即控制FR的I1.2由0變?yōu)?/span>1時,重新裝入定時時間,定時器又從預(yù)置值開始定時。再啟動只是在定時器的啟動條件滿足(圖3-60中的I0.0為1)時起作用。該指令可以用于所有的定時器,但是它不是啟動定時器定時的必要條件。實際編程時很少使用FR指令。從第3條指令開始的語句表程序?qū)?yīng)于圖3-58中的梯形圖。
圖3-60 脈沖定時器時序圖
A I 1.2
FR T 0 //允許定時器T0再啟動
A I 0.0
L S5T#10S //預(yù)置值10s送入累加器1,可以改為T#10S
SP T 0 //啟動T0
A 1 0.1
R T 0 //復(fù)位T0
L T 0 //將T0的十六進(jìn)制剩余時間值裝入累加器1
T MW 10 //將累加器1的內(nèi)容傳送到MW10
LC T 0 //將T0的BCD剩余時間值裝入累加器1
T MW 12 //將累加器1的內(nèi)容傳送到MW12
A T0 //檢查T0的信號狀態(tài)
= Q 4.0 //TO的定時器位為1時,Q4.0的線圈通電
在語句表中,用裝入指令(L)將不帶時間基準(zhǔn)的十六進(jìn)制整數(shù)格式的剩余時間值傳送到累加器1的低字,用LC指令將BCD碼格式的定時器剩余時間值和時間基準(zhǔn)裝入累加器1的低字。R指令用于將定時器復(fù)位。
脈沖定時器類似于數(shù)字電路中上升沿觸發(fā)的單穩(wěn)態(tài)電路。圖3-58中的指令框是S5脈沖定時器(Pulse S5 Timer),S為脈沖定時器的設(shè)置輸入端,TV為預(yù)置值輸入端,R為復(fù)位輸入端;Q為定時器位輸出端,BI端輸出不帶時間基準(zhǔn)的十六進(jìn)制格式剩余時間值,BCD端輸出BCD格式的剩余時間值二可以不給BI和BCD輸出端地址。S、R、Q為BOOL(位)變量,BI和BCD為WORD(字)變量,TV為S5TIME變量。各變量均可以使用I、Q、M、L和D存儲區(qū)。各種S5定時器的輸入、輸出參數(shù)的意義相同。
可以用仿真軟件PLCSIM模擬運行隨書光盤中的例程“定時器1”,來形象地理解定時器的工作過程。在STEP 7中打開該項目,啟動仿真軟件PLCSIM,將OB1中的程序下載到仿真PLC,將后者切換到RUN模式。在梯形圖編輯器中打開OB1,點擊工具欄上的
(監(jiān)控)按鈕,啟動程序狀態(tài)監(jiān)控功能。
圖3-58 S5脈沖定時器的程序狀態(tài)監(jiān)控

圖3-59 S5脈沖定時器時序圖
點擊PLCSIM窗口中I0.0對應(yīng)的小方框,方框內(nèi)出現(xiàn)“√”,I0.0變?yōu)?/span>1狀態(tài)。I0.0的常開觸點閉合,梯形圖中的觸點、方框和Q4.0的線圈均變?yōu)榫G色(見圖3-58),表示T0正在輸出脈沖。T0被啟動后,從預(yù)置值開始,每經(jīng)過一個時間基準(zhǔn),它的剩余時間值減1。直到減為0,定時時間到,Q4.0的線圈斷電。在定時期間,BI端輸出十六進(jìn)制的剩余時間值,BCD端輸出S5T#格式的剩余時間值。圖3-59中的時序圖用下降的斜坡表示定時期間剩余時間值遞減,圖中的t是定時器的預(yù)置值。
可以通過定時器的時序圖和仿真實驗來理解定時器的功能。由圖3-59可知,脈沖定時器從輸入信號I0.0的上升沿開始,輸出一個脈沖信號。如果輸入脈沖的寬度大于等于時間預(yù)置值(見圖3-59中I0.0的脈沖A),通過Q4.0輸出的脈沖寬度等于時間預(yù)置值。如果輸入脈沖的寬度小于時間預(yù)置值(見I0.0的脈沖B),輸出脈沖的寬度等于輸入脈沖的寬度。
從波形圖可以看出,復(fù)位信號總是優(yōu)先的,與其他輸入信號的狀態(tài)無關(guān)。復(fù)位信號I0.1使定時器的剩余時間值變?yōu)?/span>0,輸出位變?yōu)?/span>0狀態(tài)。在復(fù)位信號有效期間,即使有輸入信號出現(xiàn)(見I0.0的脈沖D),也不能輸出脈沖。
在做仿真實驗時,可以根據(jù)時序圖,改變T0的輸入信號I0.0的脈沖寬度和復(fù)位信號I0.1出現(xiàn)的時機(jī),觀察剩余時間值和Q4.0的變化情況是否符合定時器的時序圖。
選中指令列表或程序中的某條指令,按計算機(jī)的<F1>鍵,將會出現(xiàn)該指令的在線幫助。在線幫助給出了指令的輸入/輸出參數(shù)的數(shù)據(jù)類型、允許使用的存儲區(qū)和參數(shù)的意義。此外還給出了對指令的描述、定時器的時序圖、指令的執(zhí)行對狀態(tài)字的影響,以及指令應(yīng)用的實例。
讀者在學(xué)習(xí)指令時,重點應(yīng)放在了解指令的功能上,可以通過在線幫助來了解指令應(yīng)用中的細(xì)節(jié)問題,但是沒有必要死記這些細(xì)節(jié)。有的指令很少使用,不熟悉也沒有關(guān)系,在讀程序時遇到它們,可以通過指令的在線幫助來了解它們。
用戶使用的定時器字由3位BCD碼時間值(0~999)和時間基準(zhǔn)組成(見圖3-57),時間值以的時間基準(zhǔn)為單位。在CPU內(nèi)部,時間值以二進(jìn)制格式存放:
(1)定時器預(yù)置值的表示方法
可以按下列的形式將時間預(yù)置值裝入累加器的低位字:
圖3-57 定時器字
1)十六進(jìn)制數(shù)W#16#wxyz,其中的w是時間基準(zhǔn),xyz是BCD碼格式的時間值,“#”號必須是英語字符。
2) S5T#aH_bM_cS_dMS(可以不輸入下劃線),其中H表示小時,M為分鐘,S為秒,MS為毫秒,a、b、c、d是用戶設(shè)置的值。例如S5T#1H_12M_18S為1h12min18s,可以按上述格式輸入時間,也可以以秒為單位輸入時間。輸入S5T#200S后按回車鍵,顯示的時間值將變?yōu)?/span>S5T#3M20S。時間基準(zhǔn)是CPU自動選擇的,選擇的原則是在滿足定時范圍要求的條件下選擇小的時間基準(zhǔn)??奢斎氲拇髸r間值為9990s,或2H_46M_30S。
在梯形圖中必須使用“S5T#”格式的時間值,在語句表中,還可以使用IEC格式的時間值,即在時間值的前面加T#,例如T#20S。
(2)時間基準(zhǔn)
定時器字的第12位和第13位用來作時間基準(zhǔn),時間基準(zhǔn)代碼為二進(jìn)制數(shù)00、01、10和11時,對應(yīng)的時間基準(zhǔn)分別為10 ms、100 ms、1s和10 s。實際的定時時間等于時間值乘以時間基準(zhǔn)值。例如定時器字為W#16#3999時,時間基準(zhǔn)為10 s,定時時間為999×10 s=9 990 s。時間基準(zhǔn)反映了定時器的分辨率,時間基準(zhǔn)越小,分辨率越高,可定時的時間越短;時間基準(zhǔn)越大,分辨率越低,可定時的時間越長。定時器指令見表3-9。
表3-9 定時器指令

西門子S7-1200PLC模塊四川代理商