PTO功能按照給定的脈沖個數和周期輸出一串方波脈沖,占空比為50%。PTO可以產生單段脈沖或通過使用脈沖包絡產生多段脈沖。必須為其設定脈沖個數和周期(以微秒或毫秒為單位):脈沖個數:1-4294967295,為32位無符號數;周期:10~65535us或2-65535ms,為16位無符號數。
在設置脈沖個數時,若將脈沖個數設為0,系統會默認為個數為1:在設置脈沖周期時,符號數如果周期小于兩個時間單位,系統會默認周期為兩個時間單位,例如時間單位為ms,周期設為1.3ms,系統會默認周期為2ms,另外,如果將周期值設為奇數值(如75ms),產生的脈沖波形會失真。
PTO脈沖課分為單段脈沖串和多段脈沖串,多段脈沖串由多個單段脈沖串組成。
1、單段脈沖串的產生
要讓Q0.0或Q0.1端子輸出單段脈沖串,須先對相關的控制字節和參數進行設置,再執行高速脈沖輸出PLS指令。
下面是一段用來產生單段脈沖串的程序。在PLC首次掃描時,SM0.1觸點閉合一個掃描周期,復位指令將Q0.0輸出映像寄存器(即Q0.0線圈)置0,以便將Q0.0端子用于高速脈沖輸出:當I0.1軸點合時,上開沿P觸點接通一個掃描周期,MOV_B、MOV_W和MOV_ DW依次執行,對高速脈沖發生器的控制字節和參數進行設置,然后執行高速脈沖輸出PLS指令,讓高速脈沖發生器按設置產生單段PTO脈沖串并從Q0.0端子輸出。在PTO脈沖串輸出期間,如果I0.2觸點閉合,MOV_B、 MOV_ DW依次執行,將控制字節設為禁止脈沖輸出、脈沖個數設為0,然后執行PLS指令,高速脈沖發生器馬上按新的設置工作,即停止從Q0.0端子輸出脈沖。單段PTO脈沖串輸出完成后,狀態位SM66.7會置1,表示PTO脈沖輸出結束。
2、單段脈沖串的產生
多段脈沖串有兩種類型:單段管道脈沖串和多段管道脈沖串
(1)單段管道脈沖串
由于控制單元參數只能對單段脈沖串產生作用,因此在輸出單段管道脈沖串時,要求執行PLS指令產生首段脈沖串后,立即接第二段脈沖串要求刷新控制參數單元,并再次執行PLS串中的每個脈沖參數要相同指令,這樣首段脈沖串輸出完成后,會接著按新的控制參數輸出第二段脈沖串。單段管道脈沖串的每個脈沖串可采用不同參數,這樣易出現脈沖串之間連接不平穩,在輸出多個參數不同的脈沖串時,編程也很復雜。
(2)多段管道脈沖串
多段管道脈沖串也由多個單段脈沖串組成,每個單段脈沖串的參數可以不同,單段脈沖串中的每個脈沖參數也可以不同。
① 參數設置包絡表
由于多段管道脈沖串的各個脈沖串允許有較復雜的變化,無法用產生單段管道脈沖串的方法來輸出多段管道脈沖串,S7-200PLC采用在變量存儲區建立一個包絡表的方法,由該表來設置多段管道脈沖串中的各個脈沖串的參數。多段管道脈沖串的參數設置包絡表見表1,從包絡表中可以看出,每段脈沖串的參數占用8字節,其中2字節為16位初始周期值,2字節為16位周期增量值,4字節為32位脈沖數值,可以通過編程的方式使脈沖的周期自動增減,在周期增量處輸入一個正值會增加周期,輸入一個負值會減少周期,輸入0將不改變周期。
在多段管道模式下,系統仍使用特殊存儲器區的相應控制字節和狀態位,每個脈沖串的參數則從包絡表的變量存儲器區讀出,在多段管道編程時,必須將包絡表的變量存儲器起始地址(即包絡表中的n值)存入SMW168或SMW178中,在包絡表中的所有周期值必須使用同一個時間單位,而且在運行時不能改變包絡表中的內容,執行PLS指令來啟動多段管道操作。
② 多段管道脈沖串的應用舉例
多段管道脈沖串常用于步進電動機的控制。圖2是一個步進電動機的控制包絡線,包絡線分3段:第1段(AB段)為加速運行,電動機的起始頻率為2kHz(周期為500s),終止頻率為10kHz(周期為100us),要求運行脈沖數目為200個:第2段(BC段)為恒速運行,電動機的起始和終止頻率均為10kHz(周期為100s),要求運行脈沖數目為3600個;第3段(CD段)為減速運行,電動機的起始頻率為10kHz(周期為100us),終止頻率為2kHz(500us),要求運行脈沖數目為200個。
根據PLC程序步進電動機的控制包絡線列出的包絡表
根據包絡表可編寫出步進電動機的控制程序,該程序由主程序、SBR_0子程序和NT_0中斷程序組成。
▲主程序
▲SBR_0子程序
▲INT_0中斷程序
在主程序中,PLC首次掃描時SM0。觸點閉合一個掃描周期,先將Q0.0端子輸出映像寄存器置0,以便將該端子用于高速脈沖輸出,然后執行子程序調用指令轉入SBR0子程序。在SBR0子程序中,網絡1用于設置多段管道脈沖串的參數包絡表(段數、第1段參數、第2段參數和第3段參數),網絡2先設置脈沖輸出的控制字節,并將包絡表起始單元地址號送入SMW168單元,然后用中斷連接指令將NT0中斷程序與中斷事件19(PTO0脈沖串輸出完成產生中斷)連接起來,再用EN指令允許所有的中斷,最后執行PLS指令,讓高速脈沖發生器按設定的控制方式和參數(由包絡表設置)工作,即從Q0.0端子輸出多段管道脈沖串,去驅動步進電動機按加速、恒速和減速順序運行。當Q00端子的多管道PTO脈沖輸出完成后,馬上會向系統發出中斷請求,系統則執行DNT0中斷程序,Q10線圈得電。
轉載請注明來源