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