wuzhitang
級別: 探索解密
|
用PLSY指令控制步進電機 作者:ALLEN.WU 電話:15962598389 E:wuzhitang@sina.com 經常看到有的工控朋友問起用PLC控制步進馬達的問題,在這里我舉個最簡單的例子,只能提供思路,更深入的研究就靠大家自己了。 如圖所示:1、2為步進電機驅動器的電源 3為控制電源正極 4為脈沖輸入 5為方向控制 步進電機的步距角為1.8度,驅動器有細分的功能,考慮到精度和速度的問題,我們選用了半步運行的方式。絲桿的螺距為5mm,即步進電機旋轉一周,它所拖動的工件移動5個mm,PLC則輸出400個脈沖,即每毫米需要輸出80個脈沖。5號腳高電平則電機正轉,反之亦反。 設計的要求是這樣的:在人機界面上輸入工件要到的位置(以mm為單位),輸入完成后工件自動運行到指定位置停下。如果設定的位置大于實際的位置,則工件正向運轉到位,反之亦反。 D200:人機界面輸入的工件要求位置 D202:工件的實際位置 D204:實際位置與設定位置之差值 程序如下: LDD> D200 D202 DSUBP D200 D202 D204 ;將差值送到D204 SET Y2 ;如果設定值大于實際值則正轉 LDD<= D200 D202 DSUBP D202 D200 D204 ;將差值送到D204 RST Y2 ;如果設定值小于實際值則反轉 LDD<> D200 D202 ;設定值與實際值不等 PLS M0 ANI M0 DPLSY K1000 K206 Y0 ;以1000赫茲的頻率輸出脈沖所需的脈沖數 LD M0 DMUL D204 K80 D206 ;所需輸出的脈沖數 LD M8029 DADDP D202 D204 D202 ;脈沖輸出完成后實際位置與設定位置一樣 END 這是最簡單的控制了,希望對大家有一定的啟發,沒有上機調試,應該是沒什么問題了。看在同行的份上,大家不要扔臭雞蛋哦。 由PLC直接產生脈沖來控制步進電機可以有效地簡化系統的硬件電路,進一步提高可靠性。由于PLC是以循環掃描方式工作,其掃描周期一般在幾毫秒至幾十毫秒之間,因此受到PLC工作方式的限制以及掃描周期的影響,步進電機不能在高頻下工作。例如,若控制步進電機的脈沖頻率為4000HZ,則脈沖周期為0.25毫秒,這樣脈沖周期的數量級就比掃描周期小很多,如采用此頻率來控制步進電機。則PLC在還未完成輸出刷新任務時就已經發出許多個控制脈沖,但步進電機仍一動不動,出現了嚴重的失步現象。若控制步進電機的脈沖頻率為100HZ,則脈沖周期為10毫秒,與PLC的掃描周期約處于同一數量級,步進電機運行時亦可能會產生較大的誤差。因此用PLC驅動步進電機時,為防止步進電機運行時出現失步與誤差,步進電機應在低頻下運行,脈沖信號頻率選為十至幾十赫茲左右,這可以利用程序設計加以實現。 這段程序其實有個缺點:當工作臺移動的時候,屏幕上的工作實際位置值(D202)并沒有隨著工作臺的移動而改變,它只是在工作臺移動完成后才變為實際位置值。好比現在工作臺的實際位置為200,要求位置是300,當工作臺移動的時候,實際值(200)并沒有隨著工作臺的移動而201,202……的增加,而是工作臺移動到300的位置后直接變為300,因此這段程序不能實時的反映工作臺的移動情況。 為了克服這種情況,我將程序做了部分的修改,更新如下: D200:人機界面輸入的工件要求位置 D202:工件的實際位置 D204:工件的實際位置(做轉換用) D206:實際位置變化值 程序如下: LDD> D200 D202 OUT M10 DSUBP D200 D202 D204 ;將差值送到D204 SET Y2 ;如果設定值大于實際值則正轉 LDD<= D200 D202 OUT M11 DSUBP D202 D200 D204 ;將差值送到D204 RST Y2 ;如果設定值小于實際值則反轉 LD M10 OR M11 ;設定值與實際值不等 PLS M0 ANI M0 DPLSY K1000 K0 Y0 ;以1000赫茲的頻率不間斷輸出脈沖 DDIV D8140 K80 D206 ;脈沖數折算成毫米 LD M0 MOV D202 D204 ;實際位置值送到D204 LD M10 ADD D204 D206 D202 ;增加的毫米數實時傳到D202(工作臺實際位置) LD M11 SUB D204 D206 D202 ;減少的毫米數實時傳到D202(工作臺實際位置) LD M8029 DMOV K0 D8140 ;脈沖輸出完成后給脈沖計數器清零 END |
---|---|
|
e_newboy
級別: 略有小成
|
我是做伺服控制的,覺得不太合理, 實際位置讀取應該使用特殊數據寄存器 D8140 Y0 D8142 Y1都是32位數據, 另外,我們需要到那個位置,輸入相應數據就能到那位置,沒有你說的那么復雜(電子齒輪比設好) |
|
---|---|---|
|