西門子PLS 指令編程步驟
使用 PLS 指令編程, 以實現(xiàn) PTO 輸出, 可按照以下步驟編程:
第一步:設(shè)置 PTO 控制字節(jié),以確定使用單段操作或多段操作,是否更新頻率或脈沖數(shù);
第二步:如果是單段操作,裝載或更新頻率值,脈沖數(shù);如果是多段操作,裝載包絡(luò)表起始地址以及包絡(luò)表每段起始頻率值,結(jié)束頻率值,脈沖數(shù);
第三步:設(shè)置 PLS 指令通道, 以確定是 Q0.0、Q0.1 或 Q0.3 PTO 輸出;
第四步:沿觸發(fā) PLS 指令。
PLS 指令讀取存儲于指定 SM 存儲單元的數(shù)據(jù),并相應(yīng)地編程 PTO 生成器。
SMB67 控制 PTO0 ,SMB77 控制 PTO1 ,SMB567 控制 PTO2 。PTO 控制寄存器的 SM 單元表介紹了用于控制 PTO 操作的寄存器。可快速參考該表來確定在 PTO/PWM 控制寄存器中放置什么值才能調(diào)用想要的操作。
可通過修改 SM 區(qū)域(包括控制字節(jié))中的單元,然后執(zhí)行 PLS 指令,來改變 PTO 的特性。
任何時候都可通過向 PTO 控制字節(jié)(SM67.7、SM77.7 或 SM567.7)使能位寫入 0,然后執(zhí)行 PLS 指令,來實現(xiàn)禁止 PTO輸出 。輸出點將立即恢復(fù)為過程映像寄存器控制。
PTO 控制字節(jié)
PTO 產(chǎn)生單段脈沖串或者多段脈沖串,需先組態(tài) PTO 控制字節(jié)(SMB67、SMB77 和 SMB567)。
PTO/PWM 控制寄存器的 SM 單元如下表 1 所示:
| Q0.0 | Q0.1 | Q0.3 |
控制位 |
| SM67.0 | SM77.0 | SM567.0 |
PTO/PWM 更新頻率/周期時間:
|
| SM67.1 | SM77.1 | SM567.1 |
PWM 更新脈沖寬度時間:
|
| SM67.2 | SM77.2 | SM567.2 |
PTO 更新脈沖計數(shù)值:
|
| SM67.3 | SM77.3 | SM567.3 |
PWM 時基:
|
| SM67.4 | SM77.4 | SM567.4 |
保留 |
| SM67.5 | SM77.5 | SM567.5 |
PTO 單/多段操作:
|
| SM67.6 | SM77.6 | SM567.6 |
PTO/PWM 模式選擇:
|
| SM67.7 | SM77.7 | SM567.7 |
PWM 使能:
|
表 1 .PTO/PWM 控制寄存器的 SM 單元
PTO 控制字節(jié)(SMB67、SMB77 和 SMB567), 如下表 2 所示:
|
控制寄存器 (十六進(jìn)制值) |
啟用 | 選擇模式 | PTO 段操作 | 時基 | 脈沖計數(shù) |
頻率 |
|
16#C0 |
是 | PTO | 單段 | 頻率 HZ | ||
| 16#C1 | 是 | PTO | 單段 | 頻率 HZ | 更新頻率 | |
| 16#C4 | 是 | PTO | 單段 | 頻率 HZ | 更新 | |
| 16#C5 | 是 | PTO | 單段 | 頻率 HZ | 更新 | 更新頻率 |
| 16#E0 | 是 | PTO | 多段 | 頻率 HZ |
表 2. 十六進(jìn)制值組態(tài) PTO 控制字節(jié)
除組態(tài) PTO 控制字節(jié),應(yīng)該在執(zhí)行 PLS 指令前裝載或更新脈沖頻率,脈沖數(shù)。
如果使用多段脈沖串,在執(zhí)行PLS 指令前還需要裝入包絡(luò)表的起始偏移量和包絡(luò)表的值。 如下表 3 所示:
| Q0.0 | Q0.1 | Q0.3 | 其它控制寄存器 |
| SMW68 | SMW78 | SMW568 | PTO 頻率:1 到 65,535 Hz (PTO) |
| SMD72 | SMD82 | SMD572 | PTO 脈沖計數(shù)值:1 到 2,147,483,647 |
| SMW168 | SMW178 | SMW578 |
包絡(luò)表的起始單元(相對 V0 的字節(jié)偏移) 僅限多段 PTO 操作 |
表 3. 其它控制寄存器
PTO 狀態(tài)字節(jié)
可通過監(jiān)視 PTO 狀態(tài)字節(jié)(SMB66、SMB76 和 SMB566) , 診斷 PTO 輸出狀態(tài)。 如下表 4 所示:
| Q0.0 | Q0.1 | Q0.3 | 狀態(tài)位 |
|
SM66.4 |
SM76.4 |
SM566.4 |
PTO 增量計算錯誤(因添加錯誤導(dǎo)致)
|
|
SM66.5 |
SM76.5 |
SM566.5 |
PTO 包絡(luò)被禁用(因用戶指令導(dǎo)致):
|
| SM66.6 |
SM76.6 |
SM566.6 |
PTO/PWM 管道溢出/下溢:
|
|
SM66.7 |
SM76.7 |
SM566.7 |
PTO 空閑:
|
表 4. PTO 狀態(tài)位
單段管道化頻率的上限為 65,535 Hz。
在單段管道化中,用戶可通過 SM 更新下一脈沖串的頻率或脈沖數(shù)。更新后,再次執(zhí)行 PLS 指令。
PTO 功能在單段管道中保留第二個脈沖串的屬性,直到其完成了第一個脈沖串。在第一個脈沖串完成時,開始輸出第二個波形,然后可在管道中存儲一個新脈沖串設(shè)置。之后重復(fù)此過程。
PTO 在單段管道中一次只能存儲一個條目。若在管道仍填滿時裝載新設(shè)置,PTO 溢出位置位且指令被忽略。
PTO 脈沖的單段管道化例程
S7-200 SMART CPU Q0.0 以 100 HZ 頻率值輸出 1000 個脈沖。
注意:以上例程僅為示例程序,請勿直接用于測試!
測試前,用戶務(wù)必使用晶體管輸出的 S7-200 SMART CPU,并根據(jù)實際使用需求修改程序中的頻率值和脈沖數(shù)!
此程序的作者和擁有者對于該程序的功能性和兼容性不負(fù)任何責(zé)任。使用該程序的風(fēng)險完全由用戶自行承擔(dān)。由于它是免費的,所以不提供任何擔(dān)保,錯誤糾正和熱線支持,用戶不必為此聯(lián)系西門子技術(shù)支持與服務(wù)部門。
PTO 單段脈沖串排隊
PTO 脈沖的單段只能有一個脈沖串排隊,PTO 對溢出的脈沖串不響應(yīng),PTO 溢出位置 1。 如果希望檢測后續(xù)溢出,溢出位置位后只能手動復(fù)位或 CPU STP 到 RUN。
PTO 生成器自動將頻率從起始頻率線性提高或降低到結(jié)束頻率,多段管道化頻率的上限為 100,000 Hz。
對于多段脈沖串操作,必須裝載包絡(luò)表的起始偏移量(SMW168、SMW178 或 SMW578)和包絡(luò)表值。
S7-200 SMART 從 V 存儲器的包絡(luò)表中自動讀取每個脈沖串段的特性,執(zhí)行 PLS 指令將啟動多段操作。
在脈沖數(shù)量達(dá)到指定的脈沖計數(shù)時,立即裝載下一個 PTO 段,該操作將一直重復(fù)到包絡(luò)結(jié)束。
每個脈沖包絡(luò)最多可由 255 段組成,每段對應(yīng)一個加速、運行或減速操作。
在 SMB166、SMB176 或 SMB576 中可監(jiān)視 PTO 包絡(luò)當(dāng)前有效段的編號。
多段 PTO 每段條目長 12 字節(jié),由 32 位起始頻率、32 位結(jié)束頻率和 32 位脈沖計數(shù)值組成。
多段 PTO 操作的包絡(luò)表格式如下:
PTO 多段管道化例程
使用帶有脈沖包絡(luò)的 PTO 通過簡單的加速、運行和減速順序來控制步進(jìn)電機(jī)。
通過定義脈沖包絡(luò)可創(chuàng)建更復(fù)雜的順序。
右圖說明了生成輸出波形所需的采樣包絡(luò)表值:
● 段 1:加速步進(jìn)電機(jī)
● 段 2:以恒定轉(zhuǎn)速運行電機(jī)
● 段 3:使電機(jī)減速
在本例中,要達(dá)到期望的電機(jī)轉(zhuǎn)數(shù),PTO 生成器需要以下值:
● 2 kHz 的啟動和結(jié)束脈沖頻率
● 10 kHz 的最大脈沖頻率
● 4000 個脈沖
輸出包絡(luò)的加速部分,約在 200 脈沖后,輸出波形達(dá)到最大脈沖頻率
約在400 脈沖后,輸出波形應(yīng)完成包絡(luò)的減速部分。
注意:以上例程僅為示例程序,請勿直接用于測試!
測試前,用戶務(wù)必使用晶體管輸出的 S7-200 SMART CPU,并根據(jù)實際使用需求修改程序中的頻率值和脈沖數(shù)!
此程序的作者和擁有者對于該程序的功能性和兼容性不負(fù)任何責(zé)任。使用該程序的風(fēng)險完全由用戶自行承擔(dān)。由于它是免費的,所以不提供任何擔(dān)保,錯誤糾正和熱線支持,用戶不必為此聯(lián)系西門子技術(shù)支持與服務(wù)部門。
計算給定 PTO 包絡(luò)段的加速度(或減速度)和持續(xù)時間
Ts 段持續(xù)時間對于 PTO 包絡(luò)表計算的重要用途
計算包絡(luò)段的加速度(或減速度)和持續(xù)時間有助于確定正確的包絡(luò)表值。
注意:如果 Ts 段持續(xù)時間少于 500 微秒,將導(dǎo)致 CPU 沒有足夠的時間來計算 PTO 段值。 PTO 管道下溢位(SM66.6、SM76.6 和 SM566.6)將置為 1,PTO 操作終止。
可按如下公式計算 Ts 段持續(xù)時間
ΔF = FFinal - FInitial
Ts = PC / (Fmin + ( | ΔF | / 2 ) )
As = ΔF / Ts
| Ts |
段持續(xù)時間 (s) |
|
As |
段頻率加速度 (Hz/s) |
| PC |
段內(nèi)脈沖數(shù)量 |
| Fmin | 段最小頻率 (Hz) |
|
ΔF |
段增量(總變化)頻率 (Hz) |
狀態(tài)位(SM66.7、SM76.7 或 SM566.7)是 PTO 空閑位,可用來指示編程的脈沖串是否已結(jié)束。PTO 中斷在脈沖串結(jié)束后執(zhí)行。
單段操作:在每個 PTO 脈沖串結(jié)束時可以產(chǎn)生PTO脈沖完成中斷。中斷例程可在脈沖串結(jié)束后進(jìn)行調(diào)用。例如,如果第二個 PTO 已裝載到管道中,PTO 功能在第一個 PTO 結(jié)束時調(diào)用中斷例程,然后在已裝載到管道中第二個 PTO 結(jié)束時再次調(diào)用。
多段操作:在 PTO 包絡(luò)表完成時產(chǎn)生PTO脈沖完成中斷。
|
PTO 中斷事件號 |
說明 |
|
19 |
PLS0 PTO 脈沖計數(shù)完成中斷 |
| 20 |
PLS1 PTO 脈沖計數(shù)完成中斷 |
| 34 |
PLS2 PTO 脈沖計數(shù)完成中斷 |
以 PLS0 PTO 中斷為例, 可在主程序中使用 CPU 第一個掃描周期有效位 SM0.1 調(diào)用 ATCH, 如下圖 1 所示:
圖 1. PLS0 PTO 脈沖計數(shù)完成中斷
PTO 中斷事件應(yīng)用實例
S7-200 SMART CPU 發(fā)送無限脈沖。
以頻率值 100 HZ 為例,一直發(fā)送脈沖為例, 程序說明如下:
PTO 控制字節(jié) SMB67=16#C0
PTO 頻率值 SMW68=100
PTO 脈沖數(shù) SMD72=2147483647(最大值)
啟用 PTO 脈沖計數(shù)完成中斷
在脈沖計數(shù)完成中斷 INT_0 ,再次執(zhí)行 PLS 指令。
圖 2. S7-200 SMART 發(fā)送無限脈沖程序
注意:以上例程僅為示例程序,請勿直接用于測試!
測試前,用戶務(wù)必使用晶體管輸出的 S7-200 SMART CPU,并根據(jù)實際使用需求修改程序中的頻率值!
此程序的作者和擁有者對于該程序的功能性和兼容性不負(fù)任何責(zé)任。使用該程序的風(fēng)險完全由用戶自行承擔(dān)。由于它是免費的,所以不提供任何擔(dān)保,錯誤糾正和熱線支持,用戶不必為此聯(lián)系西門子技術(shù)支持與服務(wù)部門。
如何判斷 S7-200 SMART CPU 是否輸出高速脈沖?
可采用如下兩種方法:
1. 觀察 S7-200 SMART 硬件輸出點 Q0.0、Q0.1 、Q0.3 指示燈狀態(tài):指示燈亮或閃爍時, 表示正在輸出高速脈沖;
2. 在狀態(tài)圖表中, 在線監(jiān)視狀態(tài)位SM66.7、SM76.7 或 SM566.4:該位為 FALSE 時, 表示PTO 進(jìn)行中; 為 TURE時, 表示 PTO 空閑。
為何連續(xù)觸發(fā)多次 PLS 指令, S7-200 SMART CPU 只輸出前幾次的高速脈沖串?
PTO 單段脈沖串排隊
PTO 脈沖的單段只能有一個脈沖串排隊,PTO 對溢出的脈沖串不響應(yīng),PTO 溢出位置 1。 如果希望檢測后續(xù)溢出,溢出位置位后只能手動復(fù)位或 CPU STP 到 RUN。
測試 PTO 單段脈沖串排隊, 程序說明如下:
將 S7-200 SMART 硬件 Q0.0 接入I0.0。
配置高速計數(shù)器向?qū)В瑔⒂?HSC0_INIT
PTO 控制字節(jié) SMB67=16#C0
PTO 頻率值 SMW68=100
PTO 脈沖數(shù) SMD72=1000 第一個脈沖串發(fā)送期間,按如下操作連續(xù)三次使能 V0.0,上升沿觸發(fā) PLS 指令并累計次數(shù):
第一、二次使能 V0.0 ,上升沿觸發(fā) PLS 指令,PLS 指令累計次數(shù) VW20< =1,Q0.0 以 100 HZ 頻率值輸出 1000 個脈沖;
第三、四次使能 V0.0 ,更新脈沖數(shù)并上升沿觸發(fā) PLS 指令 ,PLS 指令累計次數(shù) VW20 >1
PTO 控制字節(jié) SMB67=16#C4
PTO 脈沖數(shù) SMD72=500
如下圖 3 所示:
圖 3. PTO 單段脈沖串排隊
待 S7-200 SMART CPU 脈沖發(fā)送完成, 監(jiān)視狀態(tài)圖標(biāo),HC0=2000,PLS 累計計數(shù) VW20=4 次, PTO 0溢出位 SM66.6=1。如下圖 4 所示:
說明 PTO 脈沖的單段只能有一個脈沖串排隊,對第三、四個溢出的脈沖串不響應(yīng),PTO 溢出位置 1。
圖 4. PTO 單段脈沖串排隊狀態(tài)圖表
電話:13916183699
郵箱:13916183699@139.com
網(wǎng)址:http://www.nabaiqian.cn
地址:中國上海市青浦區(qū)北青公路7171號111-112室