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