在需要對負載進行高精度控制時,如對步進電機的控制,需要對步進電機提供一系列的脈沖,高速脈沖輸出指令就是為滿足這種需求而開發(fā)的。
1.1 高速脈沖輸出---輸出端子的確定
S7-200只有輸出繼電器Q0.0和Q0.1具有高速脈沖輸出功能,不用高速脈沖時,作普通的數(shù)字量輸出點用。
1.2 高速脈沖輸出的形式
高速脈沖輸出有兩種的形式:
高速脈沖序列(或稱高速脈沖串)輸出PTO
脈沖寬度調(diào)制輸出PWM
可通過特殊繼電器來定義輸出的形式
1.3 高速脈沖輸出相關(guān)寄存器
每個高速脈沖發(fā)生器對應(yīng)一定數(shù)量特殊標(biāo)志寄存器,這些寄存器包括控制字節(jié)寄存器、狀態(tài)字節(jié)寄存器和參數(shù)數(shù)值寄存器,用以控制高速脈沖的輸出形式、反映輸出狀態(tài)和參數(shù)值。
1.4 編程中的脈沖輸出指令
PLS指令
功能:EN有效,檢測各相關(guān)寄存器的狀態(tài),激活由控制字節(jié)定義的高速脈沖輸出操作。Q取0或1對應(yīng)Q0.0和Q0.1如圖 1.4?1
2 PWM簡介及編程運用PWM(Pulse Width Modulation脈沖調(diào)制)寬度可調(diào)脈沖輸出 PWM功能提供帶變量占空比的固定周期輸出?梢晕⒚牖蚝撩霝闀r間基準(zhǔn)指定周期和脈寬。

2.1 S7-200的PWMS7-200有兩臺PWM發(fā)生器,建立高速脈沖串或脈寬調(diào)節(jié)信號信號波形。一臺發(fā)生器指定給數(shù)字輸出點Q0.0,另一臺發(fā)生器指定給數(shù)字輸出點Q0.1。一個指定的特殊內(nèi)存(SM)位置為每臺發(fā)生器存儲以下數(shù)據(jù):一個控制字節(jié)(8位值)、一個脈沖計數(shù)值(一個不帶符號的32位值)和一個周期和脈寬值(一個不帶符號的16位值)。 PWM功能在Q0.0或Q0.1位置現(xiàn)用時,PWM發(fā)生器控制輸出,并禁止輸出點的正常使用。輸出信號波形不受過程映像寄存器狀態(tài)、點強迫數(shù)值、執(zhí)行立即輸出指令的影響。如圖 2.1?1
圖 2.1?1
2.2 PWM周期和脈沖寬度脈沖寬度為16為無符號數(shù),脈沖寬度增量單位為us或ms。范圍0~65535,占空比為0~100%。當(dāng)脈沖寬度大于或等于周期時輸出將連續(xù)接通。為0時,輸出一直被關(guān)斷。如表 1 表 1 周期和脈沖寬度脈寬時間/周期 | 反應(yīng) | 脈寬時間 >= 周期值 | 占空比為100%:輸出連續(xù)運行。 | 脈寬時間 = 0 | 占空比為0%:輸出關(guān)閉。 | 周期 < 2個時間單位 | 周期的默認值為兩個時間單位。 |
2.3 PWM更新方式根據(jù)在改變脈沖寬度時是否需要改變時間基準(zhǔn),可分為同步更新和異步更新。如表 2
表 2 同步、異步更新 同步更新 | 脈寬的改變和PWM脈沖的新周期同步發(fā)生。適用于不需要改變時間基準(zhǔn)的情況,常用中斷實現(xiàn)。 | 異步更新 | 需要改變時間基準(zhǔn)時使用。異步更新可能會導(dǎo)致PWM功能暫時失效,造成被控裝置的振動。 |
注意: 由于此原因,建議使用同步PWM更新。選擇可用于所有預(yù)計周期數(shù)值的。 2.4 PWM控制寄存器器Q0.0 | Q0.1 | 控制位 | SM67.0
| SM77.0
| PWM更新周期值 0 = 無更新;1 = 更新周期 | SM67.1
| SM77.1
| PWM更新脈寬時間值 0 = 無更新;1 = 更新周期 | SM67.2
| SM77.2
| PTO更新脈沖計值 | SM67.3
| SM77.3
| PWM選擇基時 0 = 1us; 1 =1ms | SM67.4
| SM77.4
| PWM更新方法: 0 = 異步更新; 1 = 同步更新 | SM67.5
| SM77.5
| PTO操作 | SM67.6
| SM77.6
| PTO/PWM模式選擇 0 = 選擇PTO; 1 = 選擇PWM | SM67.7
| SM77.7
| PWM啟用 0 = 禁用PWM; 1 = 啟用PWM |
Q0.0
| Q0.1 | 其他PWM寄存器 | SMW68
| SMW78
| PWM周期值(范圍:2至 65535) | SMW70
| SMW80
| PWM脈寬值(范圍:0至65535) |
2.5 PWM軟件編程步驟1.確定高速PWM的輸出端(Q0.0或Q0.1) 2. 初始化設(shè)置 設(shè)置控制字節(jié)---將控制字寫入SMB67或SMB77 寫入周期值SMW68(78)、 寫入脈沖寬度值SMW70(80) 3.執(zhí)行PLS指令 注: 1.在啟用PWM操作之前,將用于Q0.0和Q0.1的過程映像寄存器設(shè)為0。 2.所有的控制位、周期、脈寬和脈沖計數(shù)值的默認值均為0。 3.PTO/PWM輸出必須至少有10%的額定負載,才能完成從關(guān)閉至打開以及從打開至關(guān)閉的順利轉(zhuǎn)換。 4.PWM初始化建議使用"首次掃描"位(SM0.1)初始化脈沖輸出。執(zhí)行程序只執(zhí)行一次,可以節(jié)省PLC的掃描程序執(zhí)行的時間 5.通常,您用一個子程序為脈沖輸出初始化PWM。您從主程序調(diào)用初始化子程序。使用首次掃描內(nèi)存位(SM0.1)將脈沖輸出初始化為0,并調(diào)用子程序,執(zhí)行初始化操作。當(dāng)您使用子程序調(diào)用時,隨后的掃描不再調(diào)用該子程序,這樣會降低掃描時間執(zhí)行,并提供結(jié)構(gòu)更嚴謹?shù)某绦颉?/div>
|