SIEMENSPLC伺服控制
摘要:伴隨著工業(yè)自動化的發(fā)展,對其 中的位置控制精確度也逐步的提高,如何能方便,準確的實現(xiàn)位置控制,是一個 重大的問題,本文講述了如何采用 PLC 可編程控制器來實現(xiàn)精確控制。
分別列 舉了三項方法,以及他們之間的相互比較。
引言 隨著自動化水平的不斷提高,越來越多的工業(yè)控制場合需要精確的位置控 制。
因此,如何更方便、更準確地實現(xiàn)位置控制是工業(yè)控制領(lǐng)域內(nèi)的一個重要問 題。
位置控制的精確性主要取決于伺服驅(qū)動器和運動控制器的精度。
的運動 控制模塊可以對伺服系統(tǒng)進行非常復雜的運動控制。
但在有些需要位置控制的場 合,其對位置精度的要求比較高,但運動的復雜程度不是很高,這就沒有必要選 擇那些昂貴的運動控制系統(tǒng)。
S7-200 系列 PLC 是一種體積小、編程簡單、控制方便的可編程控制器,它 了多種位置控制方式可供用戶選擇,因此,如何利用該系列 PLC 實現(xiàn)對伺 服電機運動位置較為精準的控制是本文的研究重點。
1、基本控制系統(tǒng) 伺服系統(tǒng)分為液壓伺服系統(tǒng)、電氣-液壓伺服系統(tǒng)以及電氣伺服系統(tǒng)。
本文 主要討論了電氣伺服系統(tǒng)中的交流伺服系統(tǒng),其基本組成為交流伺服電機、編碼 器和伺服驅(qū)動器。
交流伺服系統(tǒng)的工作原理是伺服驅(qū)動器發(fā)送運動命令,驅(qū)動伺 服電機運動, 并接收來自編碼器的反饋信號,然后重新計算伺服電機運動目標位 置,從而達到精確控制伺服電機運動。
本伺服系統(tǒng)中選用 Exlar 公司生產(chǎn)的 GSX50-0601 型伺服直線電動缸。
該電 動缸由普通伺服電機和一個行星滾珠絲杠組成, 用來實現(xiàn)將旋轉(zhuǎn)運動轉(zhuǎn)變?yōu)橹本€ 運動。
此外, 選用 Xenus 公司生產(chǎn)的 XenusTM 型伺服驅(qū)動器。
它可以利用 RS. 232 串口通信方式和外部脈沖方式實現(xiàn)位置控制。
一般來說, 一個伺服系統(tǒng)運轉(zhuǎn)需要配置一個上位機,所以本系統(tǒng)采用西門子 S7-200PLC 作為上位機控制器。
通過高速脈沖輸出、EM253 位置控制模塊、自 由口通信三種方式控制伺服電機運動。
2、高速脈沖輸出模式 西門子 CPU224XP 配置兩個內(nèi)置脈沖發(fā)生器,它有脈沖串輸出(PTO)和脈沖 寬度調(diào)制輸出兩種脈沖發(fā)生模式可供選擇。
這兩個脈沖發(fā)生器的脈沖輸出頻 率為 100kHz。
在脈沖串輸出方式中,PLC 可生成一個 50%占空比脈沖串,用于 步進電機或伺服電機的速度和位置的控制。
2.1 硬件構(gòu)成
圖 1 為高速脈沖輸出方式的位置控制原理圖。
控制過程中,將伺服驅(qū)動器工 作定義在脈沖+方向模式下,Q0.0 發(fā)送脈沖信號,控制電機的轉(zhuǎn)速和目標位置; Qo,發(fā)送方向信號,控制電機的運動方向。
伺服電動缸上帶有左限位開關(guān) LIM 一、右限位開關(guān) LIM+ 以及參考點位置開關(guān) REF 。
三個限位信號分別連接到 CPU224XP 的 I0.0~I0.2 三個端子上, 可通過軟件編程, 實現(xiàn)限位和找尋參考點。
圖 1 位置控制原理圖 2.2 程序設(shè)計 高速脈沖串輸出(PTO)可以通過 Step7Micro/WIN 的位置控制向?qū)нM行組態(tài), 也可通過軟件編程實現(xiàn)控制。
PTO 輸出方式?jīng)]有專門的位置控制指令,只有一 條脈沖串輸出指令,而且在脈沖發(fā)送過程中不能停止,也不能修改參數(shù)。
為解決 以上問題,可以設(shè)置脈沖計數(shù)值等于 10(或更小),并能使脈沖發(fā)送指令 PLS 處 于激活狀態(tài)。
這樣,就可以在任一脈沖串發(fā)送完之后修改脈沖周期。
圖 2 為高速脈沖輸出方式位置控制流程圖。
控制思路為:通過 PTO 模式輸 出,可以控制脈沖的周期和個數(shù);通過啟用高速計數(shù)器 HSC,對輸出脈沖進行 實時計數(shù)和定位控制,以控制伺服電機的運動過程。
圖 2 位置控制流程圖 3、EM253 位置控制模塊 EM253 位置控制模塊是西門子 S7-200 的特殊功能位置控制模塊,它能夠產(chǎn) 生脈沖串用于步進電機與伺服電機的速度和位置的開環(huán)控制。
3.1 硬件構(gòu)成 如圖 3 所示為 EM253 位置控制原理圖, 定義伺服驅(qū)動器工作在脈沖+方向模 式下。
P0 口發(fā)送脈沖,P1 口發(fā)送方向,DIS 端硬件使能放大器,并同時清除放 大器錯誤。
LIM-、LIM+、REF 分別為電機左限位、右限位以及參考點。
圖 3EM253 位置控制原理圖 3.2 程序設(shè)計 EM253 位置控制模塊可以通過 Step7-Micro/WIN 進行向?qū)渲茫?配置完成后 系統(tǒng)將自動生成子程序,編程簡單、可輕松實現(xiàn)手動、自動、軌跡運行模式。
由 于 EM253 屬于開環(huán)控制,不能很好地反饋電機實際運動情況。
因此,利用伺服 驅(qū)動器本身的差分輸出信號,通過伺服驅(qū)動器軟件設(shè)置,反饋給 PLC,實現(xiàn)閉環(huán) 位置控制。
但由于直線伺服電動缸與 PLE 可允許發(fā)送接收信號存在一定差別, 因此,需要對輸入到 PLC 的信號進行電平的轉(zhuǎn)化以及降低伺服驅(qū)動器發(fā)送的反 饋脈沖頻率。
PLC 對輸入脈沖進行累加, 從而得到電機的實際運轉(zhuǎn)位置與運轉(zhuǎn)速 度,其脈沖計數(shù)程序如下。
①計數(shù)器初始化程序 LDSMO.1//*掃描時 MOVB16#FC,SMB47//SMB47=16#F4,SMB47 為高速計數(shù)器 1 的控制字節(jié) HDEF1,9//將 HSC1 配置為正交模式 MOVD0,SMD48//設(shè)置 HSCI 的新初始值為 0 MOVD20000,SMD52//設(shè)置 HSCI 的新預設(shè)值為 20000 HSCI//激活高速計數(shù)器 I ②脈沖計數(shù)程序 LDSMO.0 MOVDHC1,VD600//將高速計數(shù)器 1 所記數(shù)值存儲在 VD600 中
DTRVD600,VD610//VD601〕中的整數(shù)轉(zhuǎn)化為實數(shù),存人 VD610 /RSOOO,VD610//VD610 除以 5000 存入 VD610,5001〕為電機旋轉(zhuǎn)一周編碼 器發(fā)送脈沖數(shù) *R2.54,VD610//VD610 乘以 2.54 存人 VD610,2.54 為電機旋轉(zhuǎn)一周移動的距 離 4、RS-232 串口通信方式 4.1 硬件構(gòu)成 西門子 CPU22
伺服系統(tǒng)和 PLC 分別作為系統(tǒng)的主從站。
PLC 控制器通過該 通信功能可實現(xiàn)對伺服驅(qū)動器進行運行控制、參數(shù)讀取、伺服驅(qū)動器當前運動狀 態(tài)的讀取等操作。
當 S7-200 系列 PLC 工作在自由口通信模式下時,一般通過 CPU 模塊的集 成接口進行通信。
CPU 集成接口采用了 PPI 硬件規(guī)范,其接口為 RS-485 串口, 因此,當 S7-200 系列 PLC 的 CPU 與帶有 RS-232 標準接口的計算機或伺服驅(qū)動 器連接時,需要配套選用 S7-200PLC 的 PC/PPI 轉(zhuǎn)換電纜或一個 RS-232/RS-485 轉(zhuǎn)換器。
4.2PLC 與伺服系統(tǒng)通信 4.2.1 報文構(gòu)成 S-200PLC 在無協(xié)議通信方式工作時,不需要任何通信協(xié)議,通信參數(shù)需要 根據(jù)與其進行通信的伺服驅(qū)動器的通信格式進行設(shè)定。
本伺服系統(tǒng)選用的 Xe-nus 伺服驅(qū)動器可通過 RS-232 與 PLC 利用 ASCII 碼進行通信,其 ASCII 碼消息命 令格式如下: <命令代碼><命令具體參數(shù)> 其中:<命令代碼>為一個單字母代碼;<命令具體參數(shù)>表示電機所要執(zhí)行 的任務;為一個回車返回字符,表示命令結(jié)束。
如:sr0x2A21表示設(shè) 置伺服控制器工作在可編程控制模式。
4.2.2 程序設(shè)計 程序設(shè)計時, 將伺服驅(qū)動器工作定義在可編程位置模式。
該模式支持實時更 改伺服電機的運動速度、位置,通過 RS-232 接收來自 PLC 的 ASCII 碼命令,執(zhí) 行運動。
部分程序如下:
①初始化程序 LDSMO.1//*掃描 MOVB9,SMB30//設(shè)置自由端口 0 通信方式 SMB30=9、8 位數(shù)據(jù)位、9600、 PPI MOVB188,SMB87//設(shè)置自由端口。
接收信息控制 5MB87=188 MOVB13, SMB89//設(shè)置自由端口 0 結(jié)束字符 SMB89=13, 即結(jié)束字符= MOVW0,SMW90//設(shè)置自由端口 0 空閑超時 SMB90=0,信息接收始終處于 有效 MOVW200,SMW92//設(shè)置自由端口 0 信息超時 SMB92=200ms MOVB255,SMB94//設(shè)置自由端口 0 接收字符數(shù) SMB94=255 ATCHINT_0,9//發(fā)送完成觸發(fā)中斷 0 ENI//允許中斷 ②發(fā)送信息程序 LDNVD3501.1//VD3501.1 為接收延遲,自由端口 0 沒有處于接收延遲時 ASM4.5//自由端口 0 處于空閑狀態(tài),SM4.5=1 AB=VB18,7//命令字節(jié) VB18=7,即要求設(shè)置運動目標位置 SCPY"sr0xca',VB3100//"sr0xca',復制到 VB3100,"sr0xca'為設(shè)置運動目標位 置命令 SCATB3600,VB3100//VB360()內(nèi)的目標位置值連接到設(shè)置目標位置命令 后 SCATVB3190,VB3100//VB3190 內(nèi)的結(jié)束字節(jié)連接到 VB3100 后; XMTVB3100,0//通過自由端口 0 發(fā)送命令至伺服驅(qū)動器 ③發(fā)送完成中斷程序(接收信息) LDSM0.0//SM0.0 總是為 1 SSM87.7,1//置 SM87.7=1,SM87.7 為允許接收信息位
