西門子S7—200PLC在數字伺服電機控制中的應用
首先了解plc如何控制伺服電機
1、 電機的連線及控制
2、電子齒輪比
數字交流伺服系統具有位置控制的功能,可通過上位控制器發出位置指令脈沖。而伺服系統的位置反饋脈沖當量由編碼器的分辨率及電機每轉對應的機械位移量等決定。當指令脈沖當量與位置反饋脈沖當量二者不一致時,就需要使用電子齒輪使二者匹配。使用了電子齒輪功能,就可以任意決定一個輸入脈沖所相當的電機位移量。具有電子齒輪功能的伺服系統結構如圖3所示。若機械傳動機構的螺距為w,指令脈沖當量為△L,編碼器每轉脈沖數為P,又考慮到一般電機軸與傳動絲杠為直接相連, 則位置反饋脈沖當量△ =W/4P。
本例采用了西門子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.2 PID功能特性
以下應用程序是經過簡化的,沒有涉及異常情況。其設計以本文前面所述方法及原理為依據,并給出了詳盡的程序注釋 。
4.1 主程序
NErW0RK 1
① IJD SM0.1
//SM0.1=1僅第一次掃描有效
② MOVW +0,VW450
//PID中斷計數器初始化
③ MOVB 100,SMB34
//設置定時中斷時間間隔為lOOms
④ ATCH INT— PWM — PID ,10
//設定中斷,啟動PID執行
⑤ ENI
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
。因此根據一個指令脈沖的位置當量和反饋脈沖的位置當量,就可以確定具體的電子齒輪比。三菱該系列伺服電機的電子齒輪比的設定范圍
由于脈沖當量與反饋脈沖當量不一定相等,就需要使用電子齒輪比來建立兩者的關系。具體計算公式為: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上集成了兩個高速脈沖輸出口,兩個高速脈沖輸出口分別
通過Qo.0、Qo.1兩個輸出端子輸出,輸出時可選擇PWM(脈寬調制)和PIO(脈沖串)方式。PIO方式每次只能發出固定脈沖, 脈沖開始發送后直到發送完畢才能開始新的脈沖串;PWM方式相對靈活,在脈沖發送期間可隨時改變脈沖周期及寬度,其中脈沖周期可以選擇微秒級或毫秒級。
3.2 PID功能特性
該系列PLC可以通過PID回路指令來進行PID運算,在一個程序中最多可以用8條PID指令,既最多可同時實現8個PID
控制算法。在實際程序設計中,可用STEP 7-Micro/Win 32中的PID向導程序來完成一個閉環控制過程的PID算法,從而提高
程序設計效率。
控制算法。在實際程序設計中,可用STEP 7-Micro/Win 32中的PID向導程序來完成一個閉環控制過程的PID算法,從而提高
程序設計效率。
3.3 控制模型
控制模型方框圖如下圖所示,其中Uset為極間電壓給定值(此時產氣狀態最佳),Uf為極間電壓采樣值,Vout為伺服電機
運轉速度。通過對電弧電壓采樣值與弧間電壓給定值的比較并經過PLC的PID調節回路控制,可以得出用于控制伺服電機旋
轉的脈沖發送周期T,從而使伺服電機的送棒速度不停的得到調整,這樣就達到了控制兩極間距的目的。保證了兩極間距的
相對穩定,也就保證了極間電壓的穩定性。
運轉速度。通過對電弧電壓采樣值與弧間電壓給定值的比較并經過PLC的PID調節回路控制,可以得出用于控制伺服電機旋
轉的脈沖發送周期T,從而使伺服電機的送棒速度不停的得到調整,這樣就達到了控制兩極間距的目的。保證了兩極間距的
相對穩定,也就保證了極間電壓的穩定性。

PID調節控制原理框圖
根據極間距對極間電壓的影響,可以設定PLC的PID調節回路調整策略如下:
Uset—uf<0,T 減小;
Uset—uf>0,T增大。
通過上述控制方法,能夠比較精確的實現對UF的控制。
根據極間距對極間電壓的影響,可以設定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
//設置定時中斷時間間隔為lOOms
④ 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
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.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
//縮放數值
//清除工作區域
M0VW ArW0.VW466
//讀取模擬數值
A V466.7
M0VW 16#FFFF.VW464
//檢查符號位,若為負則擴展符號
LRD
DTR VD464.VD396
//將其轉化成實數并裝載人PV
LPP
/R 32000.0,VD396
//正常化至0.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
//將數值轉化成整數
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控制功能,實現對數字式交流伺服電機進行控制的原理及相應編程方法。此控制方法已成功用于水燃氣生產控制系統中,效果良好。
本文標簽:西門子S7—200PLC在數字伺服電機控制中的應用
* 由于無法獲得聯系方式等原因,本網使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《西門子S7—200PLC在數字伺服電機控制中的應用》相關權利人與機電之家網取得聯系。
關于“西門子S7—200PLC在數字伺服電機控制中的應用”的更多資訊










