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