plc是怎么控制伺服電機的?
伺服電機現在使用量越來越多。國內臺達,匯川,英威騰,埃斯頓伺服略有不同,不過plc控制以及整體布局基本不變。多了解各家產品的性能,在應用的時候有一些好處。
PLC控制伺服電機應用實例,寫出組成整個系統的PLC模塊及外圍器件,并附相關程序。 PLC品牌不限。
以松下FP1系列PLC和A4系列伺服驅動為例,編制控制伺服電機定長正、反旋轉的PLC程序并設計外圍接線圖,此方案不采用松下的位置控制模塊FPG--PP11\12\21\22等,而是用晶體管輸出式的PLC,讓其特定輸出點給出位置指令脈沖串,直接發送到伺服輸入端,此時松下A4伺服工作在位置模式。在PLC程序中設定伺服電機旋轉速度,單位為(rpm),設伺服電機設定為1000個脈沖轉一圈。PLC輸出脈沖頻率=(速度設定值/6)*100(HZ)。假設該伺服系統的驅動直線定位精度為±0.1mm,伺服電機每轉一圈滾珠絲杠副移動10mm,伺服電機轉一圈需要的脈沖數為1000,故該系統的脈沖當量或者說驅動分辨率為0.01mm(一個絲);PLC輸出脈沖數=長度設定值*10。 以上的結論是在伺服電機參數設定完的基礎上得出的。也就是說,在計算PLC發出脈沖頻率與脈沖前,先根據機械條件,綜合考慮精度與速度要求設定好伺服電機的電子齒輪比!大致過程如下: 機械機構確定后,伺服電機轉動一圈的行走長度已經固定(如上面所說的10mm),設計要求的定位精度為0.1mm(10個絲)。為了保證此精度,一般情況下是讓一個脈沖的行走長度低于0.1mm,如設定一個脈沖的行走長度為如上所述的0.01mm,于是電機轉一圈所需要脈沖數即為1000個脈沖。此種設定當電機速度要求為1200轉/分時,PLC應該發出的脈沖頻率為20K。松下FP1---40T 的PLC的CPU本體可以發脈沖頻率為50KHz,完全可以滿足要求。 如果電機轉動一圈為100mm,設定一個脈沖行走仍然是0.01mm,電機轉一圈所需要脈沖數即為10000個脈沖,電機速度為1200轉時所需要脈沖頻率就是200K。PLC的CPU輸出點工作頻率就不夠了。需要位置控制專用模塊等方式。 有了以上頻率與脈沖數的算法就只需應用PLC的相應脈沖指令發出脈沖即可實現控制了。假設使用松下A4伺服,其工作在位置模式,伺服電機參數設置與接線方式如下:
一、按照伺服電機驅動器說明書上的“位置控制模式控制信號接線圖”接線:
pin3(PULS1),pin4(PULS2)為脈沖信號端子,PULS1連接直流電源正極(24V電源需串連2K左右的電阻),PULS2連接控制器(如PLC的輸出端子)。 pin5(SIGN1),pin6(SIGN2)為控制方向信號端子,SIGN1連接直流電源正極(24V電源需串連2K左右的電阻),SIGN2連接控制器(如PLC的輸出端子)。當此端子接收信號變化時,伺服電機的運轉方向改變。實際運轉方向由伺服電機驅動器的P41,P42這兩個參數控制,pin7(com+)與外接24V直流電源的正極相連。pin29(SRV-0N),伺服使能信號,此端子與外接24V直流電源的負極相連,則伺服電機進入使能狀態,通俗地講就是伺服電機已經準備好,接收脈沖即可以運轉。 上面所述的六根線連接完畢(電源、編碼器、電機線當然不能忘),伺服電機即可根據控制器發出的脈沖與方向信號運轉。其他的信號端子,如伺服報警、偏差計數清零、定位完成等可根據您的要求接入控制器構成更完善的控制系統。
二、設置伺服電機驅動器的參數。 1、Pr02----控制模式選擇,設定Pr02參數為0或是3或是4。3與4的區別在于當32(C-MODE)端子為短路時,控制模式相應變為速度模式或是轉矩模式,而設為0,則只為位置控制模式。如果您只要求位置控制的話,Pr02設定為0或是3或是4是一樣的。 2、Pr10,Pr11,Pr12----增益與積分調整,在運行中根據伺服電機的運行情況相應調整,達到伺服電機運行平穩。當然其他的參數也需要調整(Pr13,Pr14,Pr15,Pr16,Pr20也是很重要的參數),在您不太熟悉前只調整這三個參數也可以滿足基本的要求. 。 3、Pr40----指令脈沖輸入選擇,默認為光耦輸入(設為0)即可。也就是選擇3(PULS1),4(PULS2),5(SIGN1),6(SIGN2)這四個端子輸入脈沖與方向信號。 4、Pr41,Pr42----簡單地說就是控制伺服電機運轉方向。Pr41設為0時,Pr42設為3,則5(SIGN1),6(SIGN2)導通時為正方向(CCW),反之為反方向(CW)。Pr41設為1時,Pr42設為3,則5(SIGN1),6(SIGN2)斷開時為正方向(CCW),反之為反方向(CW),正、反方向是相對的,看您如何定義了,正確的說法應該為CCW,CW 。 5、Pr48、Pr4A、Pr4B----電子齒輪比設定。此為重要參數,其作用就是控制電機的運轉速度與控制器發送一個脈沖時電機的行走長度。
其公式為: 伺服電機每轉一圈所需的脈沖數=編碼器分辨率 × Pr4B/(Pr48 × 2^Pr4A) 伺服電機所配編碼器如果為:2500p/r 5線制增量式編碼器,則編碼器分辨率為10000p/r 如您連接伺服電機軸的絲桿間距為20mm,您要做到控制器發送一個脈沖伺服電機行走長度為一個絲(0.01mm)。計算得知:伺服電機轉一圈需要2000個脈沖(每轉一圈所需脈沖確定了,脈沖頻率與伺服電機的速度的關系也就確定了) 。 三個參數可以設定為:Pr4A=0,Pr48=10000,Pr4B=2000,約分一下則為:Pr4A=0,Pr48=100,Pr4B=20。 從上面的敘述可知:設定Pr48、Pr4A、Pr4B這三個參數是根據我們控制器所能發送的最大脈沖頻率與工藝所要求的精度。在控制器的最大發送脈沖頻率確定后,工藝精度要求越高,則伺服電機能達到的最大速度越低。松下FP1---40 T 型PLC的程序梯型圖如下:
S7—200 PLC在數字伺服電機控制中的應用
首先了解plc如何控制伺服電機1、電機的連線及控制
本應用實例選擇的是位置控制模式,脈沖輸入方式有集電極開路方式和差動驅動方式兩種,為了方便的實現同時對兩部電機的控制,采用差動驅動方式。與PLC的接線圖如圖所示。
PLC與伺服放大器接線圖 圖中L+為公共PLC端子,接24VDC正端,通過控制內部晶體管的開關使得輸出Q呈現不同的電平信號或發出脈沖信號。L+一PG—P lM—L+為脈沖輸入回路,PLC控制該回路中的發光二極管的亮滅,形成脈沖編碼輸入。L+一NG—NP一1M— L+為電機旋轉方向控制回路,當該回路的發光二極管點亮時,電機正轉,否則反轉。由于伺服放大器內部電阻只有100歐,為 了防止電流過大燒壞內部的發光二極管,需要外接電阻R,其阻值的計算如下:
根據公式(1),可以選擇R=3.9KO
2、電子齒輪比
數字交流伺服系統具有位置控制的功能,可通過上位控制器發出位置指令脈沖。而伺服系統的位置反饋脈沖當量由編碼器的分辨率及電機每轉對應的機械位移量等決定。當指令脈沖當量與位置反饋脈沖當量二者不一致時,就需要使用電子齒輪使二者匹配。使用了電子齒輪功能,就可以任意決定一個輸入脈沖所相當的電機位移量。具有電子齒輪功能的伺服系統結構如圖3所示。若機械傳動機構的螺距為w,指令脈沖當量為△L,編碼器每轉脈沖數為P,又考慮到一般電機軸與傳動絲杠為直接相連,則位置反饋脈沖當量△ =W/4P。
具有電子齒輪功能的伺服系統結構圖 由于脈沖當量與反饋脈沖當量不一定相等,就需要使用電子齒輪比來建立兩者的關系。具體計算公式為:AL=3M ×CMX / CDV。因此根據一個指令脈沖的位置當量和反饋脈沖的位置當量,就可以確定具體的電子齒輪比。三菱該系列伺服電機的電子齒輪比的設定范圍
對于輸入的脈沖,可以乘上其中任意倍率使機械運行。
下面是plc控制私服的具體應用
3、PI C控制原理及控制模型
本例采用了西門子s7.200系列CPU226作為主控制器。它是s7.200系列中的高檔PLC,本機自帶24個數字輸人口、l6個數字輸出口及兩個RS-422/485串行通訊口,最多可擴展7個應用模塊 j。實際項目中,通過擴展EM231模擬量輸入模塊來采集電壓信號,輸入的模擬信號可在0~10V±5V、0~20mA等多種信號輸入方式中選擇。最終,PLC根據輸入電壓信號的大小控制脈沖發送周期的長短,從而達到控制伺服電機速度的目的。 3.1 高速數字脈沖輸出 西門子s7.200系列AC/DC/DC(交流供電,直流I/O)類型PLC上集成了兩個高速脈沖輸出口,兩個高速脈沖輸出口分別通過Q0.0、Q0.1兩個輸出端子輸出,輸出時可選擇PWM(脈寬調制)和PIO(脈沖串)方式。PIO方式每次只能發出固定脈沖,脈沖開始發送后直到發送完畢才能開始新的脈沖串;PWM方式相對靈活,在脈沖發送期間可隨時改變脈沖周期及寬度,其中脈沖周期可以選擇微秒級或毫秒級。 3.2 PID功能特性
該系列PLC可以通過PID回路指令來進行PID運算,在一個程序中最多可以用8條PID指令,既最多可同時實現8個PID 控制算法。在實際程序設計中,可用STEP 7-Micro/Win 32中的PID向導程序來完成一個閉環控制過程的PID算法,從而提高程序設計效率。
3.3 控制模型
控制模型方框圖如下圖所示,其中Uset為極間電壓給定值(此時產氣狀態最佳),Uf為極間電壓采樣值,Vout為伺服電機運轉速度。通過對電弧電壓采樣值與弧間電壓給定值的比較并經過PLC的PID調節回路控制,可以得出用于控制伺服電機旋轉的脈沖發送周期T,從而使伺服電機的送棒速度不停的得到調整,這樣就達到了控制兩極間距的目的。保證了兩極間距的相對穩定,也就保證了極間電壓的穩定性。
PID調節控制原理框圖
根據極間距對極間電壓的影響,可以設定PLC的PID調節回路調整策略如下: Uset—uf<0,T 減??;
Uset—uf>0,T增大。
通過上述控制方法,能夠比較精確的實現對UF的控制。
4、程序設計
以下應用程序是經過簡化的,沒有涉及異常情況。其設計以本文前面所述方法及原理為依據,并給出了詳盡的程序注釋。
4.1 主程序 NErW0RK 1 ① IJD SM0.1 //SM0.1=1僅第一次掃描有效 ② MOVW +0,VW450 //PID中斷計數器初始化 ③ MOVB 100,SMB34 //設置定時中斷時間間隔為100ms ④ ATCH INT— PWM — PID ,10 //設定中斷,啟動PID執行 ⑤ ENI
//開中斷4.2 中斷程序 ① NETWORK 1 LD SM0.0 //SM0.0=1每個掃描周期都有效 I CW V VW450 //調用中斷程序次數加1 ② NETWORK 2 LDW > = VW450. + 10 //檢查是否應進行PID計算 M0VW +0,VW450 //如果如此,清計數器并繼續 N0T JMP 0 //否則,轉人中斷程序結尾 ③ NETWORK 3 //計算并裝載PID PV(過程變量) ID SM0.0 RPS
XORW VW464,VW464 //清除工作區域 M0VW ArW0.VW466 //讀取模擬數值 A V466.7 M0VW 16#FFFF.VW464 //檢查符號位,若為負則擴展符號 LRD DTR VD464.VD396 //將其轉化成實數并裝載人PV LPP /R 32000.0,VD396 //正?;?.0至1.0之間的數值 ④ NETWORK 4 ID SM0.0 MOVR VIM00,VIM00 //VIM00為設定值 ⑤ ⑥ NETWORK 6 ID SM0.0 PID VB396,0 //進行PID計算 ⑦ NETWORK 7 LD SM0.0 M0vR VD404.VD464 //裝載PID輸出至工作區 +R VD400,VD464 *R 1000.0. VIM64 //縮放數值
TRUNC VD464,VD464 //將數值轉化成整數 MOVW VW 466.VW 1000 //VW1000為PLC輸出脈沖周期 ⑧ NETWORK 8 //伺服電機右反轉控制(PWM) //SMW68/78 lIFO周期值 //SMW70/80 PWM脈沖寬度 //SMD72/82 lIFO脈沖計數值 LD SM0.0 MOVB 16# D3.SMB77 //輸出脈沖周期為500微秒 MOVW VW 1000,SMW 78 MOVW VW 1000.VW1 1 18 /I +2.VWl118 MOVW VW 1118.SMW 80 PIS 1 ⑨ NETWORK 9 LBL 0
本例給出了利用西門子PLC的高速脈沖輸出及PID控制功能,實現對數字式交流伺服電機進行控制的原理及相應編程方法。此控制方法已成功用于水燃氣生產控制系統中,效果良好
基于1756-M08SE模塊的多軸交流伺服控制系統(二軸)
由于開發程序較大,這里我們只給出伺服的點動,正反向,等的控制!先介紹如下:
總體概述:羅克韋爾伺服傳動習慣于用EQU(等于指令)比較數字量輸入模塊0號位輸入次數的奇偶次數來分別控制伺服環的閉合和斷開。其中MSO指令用于直接激活伺服驅動器并且使能與物理伺服軸相關的已組態伺服環。觸發MSO指令后,指定軸進入伺服控制狀態。當軸處于移動狀態時,執行該指令無效。如果這時觸發了該指令,MSO指令會產生一個“Axis in Motion”的故障。MSF指令用于直接立即關斷伺服驅動器輸出,并且禁止物理伺服軸的伺服環。這會使軸處于準備狀態。該指令可以禁止任意正在執行的其他運動規劃。且若需要直接用手來移動軸時,可以用該指令關斷伺服操作。
要成功執行以上兩條運動狀態指令,有個必要的前提,即目標軸必須組態為伺服軸,如果該條件不滿足,該指令會產生錯誤。 建立坐標也是主程序中一個非常重要的環節。無論是在工業現場或者是其它地方的運動控制系統中,基本上都須要建立一個坐標系。若不建立一個坐標系,雖然可以用增量式的控制方式來實現一些簡單的控制,但是這樣的方式不能實現對實際位置的反饋等操作,而且控制方式復雜。所以在成熟合理的控制系統中建立坐標系是必不可少的一個環節。坐標系的建立可以使控制變得很方便,且可實現對系統當前所在位置的實時反饋等功能。 本次設計所控制的軸為以羅克韋爾公司型號為Y-1002-2-H00AA的電動驅動的兩根絲桿。絲桿長330mm,每個螺距為5mm,其實物如圖1所示。(伺服軸)
系統的架構如下圖:
系統的實現: 在硬件上一個完整的伺服系統由控制器、通信網絡、驅動器、電動機、執行機構及檢測裝置組成。其中控制器相當于人的大腦,用來分析各種輸入信號(命令和反饋等);通信網絡相當于人的神經系統,如SERCOS接口、DeviceNet接口等;而驅動器則像是肌肉所起的作用一樣,用于將控制信號進行功率放大,以驅動電動機;電動機相當于手,而人手中的生產工具則是伺服系統的中執行機構(如滾珠絲桿等,將電動機的旋轉運動轉化為直線運動)。在以上兩章系統分析和設計中闡述了系統各個部分的功能和特點,而要實現本次設計的功能的硬件連接如圖4.1所示。
最常用指令介紹:本次設計中利用MAJ和MAS指令來實現手動程序的編寫。在程序中MAJ(Motion Axis Jog)指令用于點動伺服軸。點動軸的輪廓可設置為按照S形曲線平滑達到設定速度,也可按照梯形曲線達到設定速度,同時該指令可將任何當前軸的運動轉換為單純的點動運動。軸在點動運行過程中,可以使用MAS指令停止該軸,或觸發另一個MAJ指令。MAS(Motion Axis Stop)指令用于停止指定物理軸的任意運動,而無需禁止其伺服環(如果伺服環閉合)。對于任何被控制的軸運動均可使用該指令以設定的減速度進行停止,其可選用的停止方式有點動停止方式、齒輪停止等。
程序設計如下:
注:其中的一些中間寄存器為上位機HMI設置用的??梢圆豢紤]!
PLC控制臺達伺服電機圖片:
-、接線圖:(草圖,有待整理優化)
1、PLC接線圖
K1A、K1B---K3B等中間繼電器采用固態繼電器。
2、伺服控制器接線圖
伺服控制器為北京欣斯達特數字科技有限公司產品,該MicroStep TX-3H504D驅動器性能如下:
二、編程: