PTO功能生成指定脈沖數(shù)目的方波(占空比為50%)脈沖列。周期的單位可選用μs或ms,周期的范圍為50~65 535μs或2~65 535 ms。如果設(shè)定的周期為奇數(shù),則不能保證占空比為50%。脈沖計(jì)數(shù)范圍為1~4 294 967 295。
如果周期小于兩個時間單位,則周期被默認(rèn)為兩個時間單位。如果指定的脈沖數(shù)為0,則脈沖數(shù)默認(rèn)為1。
狀態(tài)字節(jié)(SM66.7或SM76.7)中的PTO空閑位用來指示可編程脈沖列輸出結(jié)束??梢栽诿}沖列結(jié)束時啟動中斷程序。如果使用多段操作,將在包絡(luò)表(Profile Table)完成時調(diào)用中斷程序(請參看下面的多段流水線)。
PTO功能允許脈沖列排隊(duì)。當(dāng)jh的脈沖列輸出完成時,立即開始新脈沖列的輸出,這樣可以保證輸出脈沖列的連續(xù)性。
有兩種流水線(Pipelining)方式:單段流水線和多段流水線。
1)單段流水線
在單段流水線中,需要為下一脈沖列更新SM。啟動了初始PTO段后,必須按照第二段波形的要求立即修改SM,并再次執(zhí)行PLS指令。流水線中每次只能存儲一段脈沖列的參數(shù),{dy}段脈沖列發(fā)送完成后,接著輸出第二段脈沖列;重復(fù)上述過程,輸入新的脈沖列參數(shù)。除了下面的情況外,脈沖列之間可以平穩(wěn)地過渡:
(1)改變了時間基準(zhǔn)。
(2)利用PLS指令捕捉到新的脈沖列設(shè)置之前,jh脈沖列已經(jīng)完成。當(dāng)流水線已滿時,如果試圖裝入脈沖列參數(shù),狀態(tài)寄存器中的PTO溢出位(SM66.6或SM76.6)被置1。可編程控制器進(jìn)入RUN模式時,該位被初始化為0。如果檢測到溢出,則必須手工qc該位。
2)多段流水線
在多段流水線中,CPU從V存儲器的包絡(luò)表中自動讀取各脈沖列段的特性。該模式下僅使用特殊存儲器區(qū)的控制字節(jié)和狀態(tài)字節(jié)。選擇多段操作時必須在SMW168或SMW178中裝入包絡(luò)表的V存儲區(qū)的偏移地址。周期基準(zhǔn)可選用μs或ms,包絡(luò)表中的所有周期必須使用同一時間基準(zhǔn),在包絡(luò)表運(yùn)行過程中不能改變它。多段操作可用PLS指令啟動,各段輸入的長度為8字節(jié),由16位周期值、16位周期增量值和32位脈沖數(shù)值組成。