前面學習了高速計數器的內容,緊接著我們就來學習一下高速脈沖輸出的內容,高速脈沖輸出一般是用在運動控制里面,用來控制步進或伺服,高速脈沖輸出也是比較重要的一部分,我們必須得掌握好它。
在S7-200中有兩個PTO/PWM高速脈沖發生器,可以產生高速脈沖串(PTO)或脈寬調制信號波形(PWM)。在S7-200中有脈沖輸出指令PLS,它用來控制在高速脈沖輸出(Q0.0和Q0.1)中提供的高速脈沖串輸出(PTO)和脈寬調制(PWM)功能。
PTO/PWM與數字量輸出過程映像區共用輸出點Q0.0和Q0.1,當在Q0.0或Q0.1上激活了PTO/PWM功能時,是會禁止普通輸出點功能的,這時Q0.0或Q0.1的輸出波形是不受過程映像區狀態、輸出點強制值或者立即輸出指令的影響的,我們使用狀態表或趨勢圖是監控不了的。
要做高速脈沖輸出,我們應該選用24VDC晶體管輸出的CPU,而不能選用繼電器輸出的CPU,這是我們要注意的。高速脈沖輸出一般是用在運動控制里面,用來控制步進或伺服。利用高速脈沖輸出實現運動控制,除了有PTO、PWM,還有EM253定位模塊,這三種方式都可以實現運動控制,不過要注意的是PTO和PWM可以使用脈沖輸出指令PLS和向導來實現,而且PTO方式的甚至還可以使用運動控制庫指令來實現,而使用EM253定位模塊的話就只能通過向導來實現,而不能使用PLS指令或運動控制庫指令。
我們先看一下脈沖串操作PTO,PTO是按照給定的脈沖個數和周期輸出一串方波(占空比50%)。在使用時,我們要設定其脈沖個數和周期,我們要注意的是設定是周期數應該是偶數,如果設定的周期數為奇數的話,是會引起占空比失真的。而脈寬調制PWM,它是產生一個占空比變化周期固定的脈沖輸出的,我們可以設定其周期和脈寬,我們要注意的是當設定的脈寬等于周期時,輸出是一直為ON的,當設定的脈寬等于0時,輸出是斷開的。

一般來說,使用脈沖串PTO會比較多,所以后面學習時也是重點學習脈沖串PTO的。除此之外,我們還要學習脈沖輸出指令PLS以及指令的應用,并且主要針對脈沖串PTO的學習,這是脈沖輸出學習的重點,我們必須要掌握好它。
前面有說到脈沖輸出指令PLS用于控制在高速脈沖輸出(Q0.0和Q0.1)中提供的脈沖串輸出PTO和脈寬調制PWM功能。在S7-200中有兩個PTO/PWM發生器,而每臺PTO/PWM發生器都有一個控制字節的,SMB67控制的是Q0.0的PTO/PWM發生器,而SMB77控制的是Q0.1的PTO/PWM發生器,這個我們要知道的。
脈沖輸出指令是會從系統存儲器SM(包括控制字節)中讀取數據,從而控制PTO/PWM發生器,這樣我們就可以通過修改控制字節,然后執行PLS指令,來更改PTO或PWM信號波形。以下就附上PTO/PWM控制寄存器的SM標志表和PTO/PWM控制字節參考表。


我們要注意的是,我們在使用PLS指令時一般是有步驟的。第一步,我們在使能PTO/PWM之前,要對Q0.0、Q0.1的過程映像區清零;第二步,定義控制字節,Q0.0對應SMB67,Q0.1對應SMB77。第三步,寫入PTO/PWM相關寄存器的數據,比如SMW68對應的是PTO/PWM周期值(2-65525ms),SMD72對應的是PTO脈沖計數值。第四步,就是連接中斷事件和中斷程序,并允許中斷這步是根據實際情況決定要還是不要的;第五步,執行PLS指令,激活某個脈沖輸出,更新控制字節。
當然我們也可以禁止PTO/PWM波形,我們將控制字節的使能位(SMB67.7/
SMB77.7)清零,然后執行PLS指令就可以了。我們也可以對周期值、脈寬值和脈沖數進行修改,我們把相應的系統存儲器位置1,然后再把修改數據寫入到相應的系統存儲器里,然后執行PLS指令就可以。
下面就舉個PLS指令應用的例子,來更好的掌握PLS指令的使用。
主程序:

高速脈沖輸出子程序:

高速計數器子程序:

以上的程序,在主程序的網絡一中,首先用SM0.1首次掃描驅動高速計數器子程序進行高速計數初始化,同時對Q0.0的過程映像區清零。在高速計數器子程序中,首先傳送16#F8到SMB47定義控制字節定義為更新當前值加計數,然后執行HEDF指令定義高速計數模式12和選擇高速計數器0,最后是激活高速計數器,執行HSC指令。
在主程序的網絡二中,用I0.2的上升沿才驅動高速脈沖輸出子程序,用I0.2的下降沿來驅動一個傳送指令,傳送0到SMB67,并同時驅動一個PLS指令。在高速脈沖輸出子程序中,首先傳送16#85到SMB67中定義控制字節,這里選擇的是PTO模式、單段、1us/周期、裝入周期和脈沖數的情況(控制字節的定義可以參考PTO/PWM控制字節表),并傳送100到SMW68中寫入周期值,傳送100到SMD72中寫入脈沖數,最后執行PLS指令。
那么程序會在I0.2接通的上升沿執行周期為100us,100個脈沖數的高速脈沖輸出,會在I0.2斷開的下降沿禁止PTO波形的輸出。