西門子S7-200PLC在數字伺服電機控制中的應用
邁梓工控 / 2021-08-27
西門子S7-200PLC在數字伺服電機控制中的應用
1、電機的連線及控制
本應用實例選擇的是位置控制模式,脈沖輸入方式有集電極開路方式和差動驅動方式兩種,為了方便的實現同時對兩部電機的控制,采用差動驅動方式。與PLC的接線圖如圖所示。
PLC與伺服放大器接線圖
圖中L+為公共PLC端子,接24VDC正端,通過控制內部晶體管的開關使得輸出Q呈現不同的電平信號或發出脈沖信號。L+一PG—PlM—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、PIC控制原理及控制模型
本例采用了西門子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上集成了兩個高速脈沖輸出口,兩個高速脈沖輸出口分別
通過Qo.0、Qo.1兩個輸出端子輸出,輸出時可選擇PWM(脈寬調制)和PIO(脈沖串)方式。PIO方式每次只能發出固定脈沖,脈沖開始發送后直到發送完畢才能開始新的脈沖串;PWM方式相對靈活,在脈沖發送期間可隨時改變脈沖周期及寬度,其中脈沖周期可以選擇微秒級或毫秒級。
3.2PID功能特性該系列PLC可以通過PID回路指令來進行PID運算,在一個程序中最多可以用8條PID指令,既最多可同時實現8個PID
控制算法。在實際程序設計中,可用STEP7-Micro/Win32中的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主程序
NErW0RK1
①IJDSM0.1
//SM0.1=1僅第一次掃描有效
②MOVW+0,VW450
//PID中斷計數器初始化
③MOVB100,SMB34
//設置定時中斷時間間隔為lOOms
④ATCHINT—PWM—PID,10
//設定中斷,啟動PID執行
⑤ENI//開中斷
4.2中斷程序
①NETWORK1
LDSM0.0
//SM0.0=1每個掃描周期都有效
ICWVVW450
//調用中斷程序次數加1
②NETWORK2
LDW>=VW450.+10
//檢查是否應進行PID計算
M0VW+0,VW450
//如果如此,清計數器并繼續
N0T
JMP0
//否則,轉人中斷程序結尾
③NETWORK3
//計算并裝載PIDPV(過程變量)
IDSM0.0
RPSXORWVW464,VW464
//清除工作區域
M0VWArW0.VW466
//讀取模擬數值
AV466.7
M0VW16#FFFF.VW464
//檢查符號位,若為負則擴展符號
LRD
DTRVD464.VD396
//將其轉化成實數并裝載人PV
LPP
/R32000.0,VD396
//正常化至0.0至1.0之間的數值
④NETWORK4
IDSM0.0
MOVRVIM00,VIM00
//VIM00為設定值
⑤
⑥NETWORK6
IDSM0.0
PIDVB396,0
//進行PID計算
⑦NETWORK7
LDSM0.0
M0vRVD404.VD464
//裝載PID輸出至工作區
+RVD400,VD464
*R1000.0.VIM64
//縮放數值TRUNCVD464,VD464
//將數值轉化成整數
MOVWVW466.VW1000
//VW1000為PLC輸出脈沖周期
⑧NETWORK8
//伺服電機右反轉控制(PWM)
//SMW68/78lIFO周期值
//SMW70/80PWM脈沖寬度
//SMD72/82lIFO脈沖計數值
LDSM0.0
MOVB16#D3.SMB77
//輸出脈沖周期為500微秒
MOVWVW1000,SMW78
MOVWVW1000.VW1118
/I+2.VWl118
MOVWVW1118.SMW80
PIS1
⑨NETWORK9
LBL0本例給出了利用西門子PLC的高速脈沖輸出及PID控制功能,實現對數字式交流伺服電機進行控制的原理及相應編程方法。此控制方法已成功用于水燃氣生產控制系統中,效果良好。