高速脈沖輸出基本編程思路,其用到是單段PTO脈沖輸出;下面給大家介紹一下稍微難一點的多段PTO脈沖輸出,多段PTO相對單段PTO要靈活一些,今天就來具體體會多段PTO脈沖輸出吧。
西門子S7-200PLC ,PTO的種類
在PTO方式下,要輸出多段脈沖串時,允許脈沖串排隊。PTO輸出多段脈沖的方式有兩種:
1.單段PTO:定義一個脈沖串,輸出一個脈沖串 (特性參數(shù)通過特殊寄存器分別定義) 。
2.多段PTO:集中定義多個脈沖串,按順序輸出多個脈沖串(特性參數(shù)通過包絡(luò)表集中定義) 。
多段PTO操作
多段PTO:集中定義多個脈沖串,并把各段脈沖串的特性參數(shù)按照規(guī)定的格式寫入變量存儲區(qū)用戶指定的緩沖區(qū)中稱為包絡(luò)表,如下圖所示:
1.包絡(luò)表由包絡(luò)段數(shù)和各段構(gòu)成。
2.第一個字節(jié)為需要輸出的脈沖串總段數(shù),范圍:1~255 。
3.定義一段脈沖串的特性參數(shù)需要8個字節(jié)
兩個字節(jié)存放脈沖串的起始周期值
兩個字節(jié)定義脈沖串的周期增量
四個字節(jié)存放該段脈沖串的脈沖數(shù)
4.包絡(luò)表中的周期單位可以為 ms 或 μs,但表中所有周期單位必須一致。
5.周期增量的計算公式:
例如:第1段中的初始周期為500μs ,脈沖數(shù)為400個;而第2段的初始周期為 100μs,為保證平滑過渡,第1段的結(jié)束周期設(shè)為與第2段初始周期相同,則脈沖的周期增量為:N=100-500/400=-1μs
6.多段PTO操作時,需把包絡(luò)表的起始地址裝入標(biāo)志寄存器 SMW168(或SMW178)中。
PTO指令執(zhí)行時,當(dāng)前輸出段的段號由系統(tǒng)填入 SMB166 或 SMB176 中。
7.多段PTO的優(yōu)點:編程簡單,且在同一段脈沖串中其周期可以均勻改變。
多段 PTO 編程步驟
(1)使用初始化脈沖觸點SM0.1調(diào)用PTO脈沖輸出初始化操作子程序。這個結(jié)構(gòu)可以使系統(tǒng)在后續(xù)的掃描過程中不再調(diào)用這個子程序,從而減少了掃描時間,且程序更為結(jié)構(gòu)化。
(3)將包絡(luò)表的起始地址寫入 SMW168;
(4)填寫包絡(luò)表中各段脈沖串的特性參數(shù);
(5)建立中斷連接:用ATCH指令建立脈沖輸出完成中斷事件與中斷程序的聯(lián)系,用ENI全局開放中斷;當(dāng)PLS指令輸出完指定數(shù)量的脈沖串時,產(chǎn)生中斷。
(6)有啟動信號時,執(zhí)行高速脈沖輸出指令PLS,按順序輸出多段脈沖串。有停止信號時,停止高速脈沖串輸出。
(7)停止 PTO 輸出的方法,PLS指令一經(jīng)激發(fā),就能完成指定脈沖串的輸出,故要停止PTO輸出,必須先在控制字節(jié)中禁止PTO輸出,且執(zhí)行PLS指令。
接下來我做一個相關(guān)案例,案例如圖所示:
案例要求:使用多段管線PTO方式控制交流伺服電動機進行精確定位的控制系統(tǒng)。控制中遵循圖中所畫運行軌跡,并可以實現(xiàn)任意時刻停止交流伺服電動機。I0.0為正轉(zhuǎn)按鈕,I0.1為反轉(zhuǎn)按鈕,I0.2為停止按鈕,控制程序如圖所示。
實踐出真知,沒有實踐,理論就是紙上談兵;學(xué)習(xí)中需要多加驗證。如果大家覺得小智的文章寫得不錯,很適合大家的口味,可以分享更多的朋友。