任務(wù)
某設(shè)備上有1套步進(jìn)驅(qū)動系統(tǒng),步進(jìn)驅(qū)動器的型號為SH-XXXXXMa,采用某的步進(jìn)電動機(jī),其型號為1XXXX1,是兩相四線直流24V步進(jìn)電動機(jī),按下啟動按鈕SB1后,要求電機(jī)能夠按下圖的頻率和脈沖數(shù)運行,運行完畢后指示燈閃爍。
1、所需主要軟硬件配置
a.1套STEP 7-MicroWIN SMART V2.3;
b.1臺步進(jìn)電動機(jī)的型號為1XXXX1;
c.1臺步進(jìn)驅(qū)動器的型號為SH-XXXXXMa;
d.1臺CPU ST20。
2、硬件接線
某牌的步進(jìn)電機(jī)型號是1XXXX1,這種型號的步進(jìn)電動機(jī)的出線接線圖如下圖所示。
PLC與步進(jìn)電動機(jī)、步進(jìn)驅(qū)動器的接線。步進(jìn)驅(qū)動器有共陰和共陽兩種接法,這與控制信號有關(guān)系,通常西門子PLC輸出信號是+24V信號(即PNP接法),所以應(yīng)該采用共陰接法,所謂共陰接法就是步進(jìn)驅(qū)動器的DIDIR-和CP-與電源的負(fù)極短接。
注意:由于PLC的輸出信號電壓與步進(jìn)電機(jī)驅(qū)動器的接受信號電壓不一致,故不能直聯(lián)接,可以采取串2K左右的電阻來進(jìn)行分壓,具體還是看圖吧。(為什么是2K左右:一般驅(qū)動器輸入為光電耦合器,即負(fù)載是一個LED負(fù)載,而LED正常工作電流一般為5~8mA左右,那么在24V電壓下,5~8mA = 24 / 電阻 ,電阻 = 24 /0.008 = 3K,考慮到步進(jìn)驅(qū)動器輸入不僅僅是直接的LED,還需要有一個限流電阻器,所以取值2K左右的電阻器限流是允許的。)
3、方案分析
既然都控制步進(jìn)電機(jī),那么PLS脈沖輸出指令肯定跑不了,此外,任務(wù)里是需要輸出多個脈沖串,那么編程時候就應(yīng)當(dāng)允許脈沖串進(jìn)行排隊,形成管線,當(dāng)前輸出的脈沖串完成之后,立即輸出新脈沖串,這保證了脈沖串順序輸出的連續(xù)性,說白了,就是用多段管線方式。
多段管線:在多段管線模式,CPU自動從V存儲器區(qū)的包絡(luò)表中讀出每個脈沖串的特性。在該模式下,僅使用特殊存儲器區(qū)的控制字節(jié)和狀態(tài)字節(jié)。選擇多段操作,必須裝入包絡(luò)表在V存儲器中的起始地址偏移量(SMW168或SMW178)。時間基準(zhǔn)可以選擇微秒或者毫秒,但是,在包絡(luò)表中的所有周期值必須使用同一個時間基準(zhǔn),而且在包絡(luò)正在運行時不能改變。執(zhí)行PLS指令來啟動多段操作。
4、方案實施步驟
1)確定脈沖發(fā)生器及工作模式,選擇Q0.0輸出,選擇3段管式PTO的輸出形式,向控制字節(jié)寫入控制模式。
2)確認(rèn)包絡(luò)表首地址,向包絡(luò)表里寫入每段的脈沖數(shù),初始頻率和終止頻率。
3)若想脈沖發(fā)完后,指示燈閃爍,可用脈沖串完成事件產(chǎn)生中斷的方式來實現(xiàn),設(shè)置中斷事件并全局開中斷。(中斷事件號19)
4)執(zhí)行PLS指令,編程PTO指令,高速脈沖串由Q0.0輸出。
5、指令溫習(xí)
一、高速脈沖輸出指令介紹
在PLC的指定輸出點(Q0.0~Q0.1,Q0.3)上實現(xiàn)脈沖輸出(PTO)和脈寬調(diào)制(PWM)功能。CPU ST20具備配有兩個PTO/PWM發(fā)生器,它們可以產(chǎn)生一個高速脈沖串或者一個脈沖調(diào)制波形。當(dāng)Q0.0和 Q0.1作為高速輸出點時,其普通輸出點被禁用,而當(dāng)不作為PTO/PWM發(fā)生器時,Q0.0和 Q0.1可作為普通輸出點使用。一般情況下,PTO/PWM輸出負(fù)載至少為10%的額定負(fù)載。脈沖輸出指令(PLS)配合特殊存儲器用于配置高速輸出功能,PLS指令格式見下表。
脈沖串操作(PTO)按照給定的脈沖個數(shù)和周期輸出一串方波(占空比50%,如下圖所示)。PTO可以產(chǎn)生單段脈沖串或者多段脈沖串(使用脈沖包絡(luò))。可以s或ms為單位指定脈沖寬度和周期。
二、PLS指令相關(guān)的特殊寄存器的含義
PLS指令會從特殊存儲器SM中讀取數(shù)據(jù),并按照存儲數(shù)值控制PTO/PWM發(fā)生器。這些寄存器的含義見下表:
表1、PTO控制寄存器的SM標(biāo)志(Q0.0)
表2、其他PTO/PWM寄存器的SM標(biāo)志
三、溫馨提示:
① 如果要裝入新的脈沖數(shù)(SMD72或SMD82)、脈沖寬度(SMW70)或者周期(SMW68),應(yīng)該在執(zhí)行PLS指令前裝入這些數(shù)值到控制寄存器。
②PTO狀態(tài)字中的空閑位(SM66.7或者SM76.7)標(biāo)志著脈沖輸出完成。另外,在脈沖串輸出完成時,可以執(zhí)行一段中斷服務(wù)程序。如果使用多段操作時,可以在整個包絡(luò)表完成后執(zhí)行中斷服務(wù)程序。
6、程序
根據(jù)任務(wù),結(jié)合上文第4第5點內(nèi)容進(jìn)行編程,親測有效:
主程序:
中斷程序:
實驗結(jié)果:看不清可以長按動圖,保存到手機(jī),然后打開圖庫看(記得設(shè)置手機(jī)畫面旋轉(zhuǎn))即可全屏看。
記得隨手 點 雞腿 ,謝謝!