摘要:本文介紹了西門子S7-200系列PLC在步進電機轉動中的一種控制方法,并通過實例詳細說明了這種方法的具體操作步驟。
關鍵字:PLC 步進電機 位置控制向導 脈沖 運動包絡
Abstract: This paper introduces a controlling method for STEP-MOTOR, and in this method Siemens S7-200 PLC is applied. Particularly, the paper illustrates the operating procedure of this method by a concrete example.
Keywords: PLC; STEP-MOTOR; Position-controlling Wizard; Pulse; Motion Profile
0 前言
PLC是一種以微處理器為基礎,綜合了現代計算機技術、自動化技術和通信技術發展起來的一種通用的工業自動化裝置。由于它具有體積小、功能強、程序設計簡單,以及維護方便等優點,特別是PLC適應惡劣的工業環境的能力和高可靠性,使其應用越來越廣泛。但是由于我國的PLC技術教育落后,許多高校畢業生,甚至一些現場工程技術人員對PLC的知識也相當缺乏[1]。
步進電機是工業自動化過程當中經常用到的一種控制傳動機構,它是通過接受輸入脈沖,然后每個脈沖轉動一定的步距(角度)來完成對執行機構的控制傳動的。使用PLC可以通過特殊功能存儲器(SM)或者增加EM253位控模塊來控制步進電機,但是使用SM需要熟悉每一位的意義,而且編程煩瑣。如果為PLC增加功能擴展模塊,無疑會增加產品成本。鑒于這些原因并結合本人的實踐經驗,本文利用STEP 7-Micro/WIN 位置控制向導來實現應用PLC控制步進電機的運動功能。
1 操作步驟[2]
使用STEP 7——Micro/WIN位置控制向導,為線性脈沖串輸出(PTO)操作組態一個內置輸出。啟動位置控制向導,可以點擊瀏覽條中的向導圖標,然后雙擊PTO/PWM圖標,或者選擇菜單命令工具→位置控制向導。
(1)在位置控制向導對話框中選擇“配置S7-200 PLC內置PTO/PWM操作”。
(2)選擇Q0.0或Q0.1,組態作為PTO的輸出。
(3)從下拉對話框中選擇“線性脈沖串輸出(PTO)”。
(4)若想監視PTO產生的脈沖數目,點擊復選框選擇使用高速計數器。
(5)在對應的編輯框中輸入最高電機速度(MAX_SPEED)和電機的啟動/停止速度(SS_SPEED)的數值。
(6)在對應的編輯框中輸入加速和減速時間。
(7)在移動包絡定義界面,點擊新包絡按鈕允許定義包絡,并選擇所需的操作模式。
a)對于相對位置包絡:
輸入目標速度和脈沖數。然后,可以點擊“繪制包絡”按鈕,查看移動的圖形描述。
若需要多個步,點擊“新步”按鈕并按要求輸入步信息。
b)對于單速連續轉動:
在編輯框中輸入目標速度的數值。
若想終止單速連續轉動,點擊子程序編程復選框,并輸入停止事件后的移動脈沖數。
(8)根據移動的需要,可以定義多個包絡和多個步。
(9)選擇完成結束向導。
2 應用實例
本例通過PLC控制步進電機在車輪自動超聲探傷中的應用,進一步說明利用STEP 7-Micro/WIN 位置控制向導來實現利用PLC控制步進電機的具體操作過程。
車輪自動超聲探傷系統是利用車輪在探傷架上的轉動,通過超聲波來實現對車輪內部缺陷的檢測,其中車輪的轉動是由步進電機通過減速箱來實現驅動的。整個系統機械部分的運動由下位機(PLC)來控制,如圖1。
[align=center]

圖1 機械系統運動原理 圖2 上位機與下位機的通信[/align]
為了保證探傷的準確性,一般需要兩組探頭同時檢測分別對車輪的踏面以及內側面。當這兩組探頭分別接觸到車輪的踏面和內側面后,PLC會收到這兩組探頭的行程開關發出的探頭到位信號,此時由下位機向上位機(工控機)上傳“準備好”信號。在上位機收到“準備好”信號后,可以向下位機發送“探傷開始”的信號了,下位機收到該信號后,立即向步進電機發送脈沖,車輪開始轉動,探傷工作開始了,如圖2所示,其中上位機與下位機是采用自由口方式進行通信的。
在這個過程中,利用位置控制向導對步進電機的配置非常重要,合理的配置能夠增加探傷系統的靈敏度,不合理的配置會增加探傷工作的困難,甚至有可能燒壞電機。
在該應用中,配置向導的前四個操作步驟中一般采用默認設置即可。在操作步驟(5)中,MAX_SPEED的設置應該在電機力矩的最大范圍內,驅動負載所需的力矩由摩擦力、慣性以及加速/減速時間決定,在這里設為400。對SS_SPEED的設置不能太大,太大就會造成電機失步,但是如果太小就會在電機啟動時產生顫抖或者振動,在此設為100。具體應用要根據不同的電機使用說明書來設置。最低電機速度(MIN_SPEED)系統默認等于SS_SPEED。MAX_SPEED、SS_SPEED和MIN_SPEED的關系如圖3所示。
[align=center]

圖3 最大、最小和開始/停止速度[/align]
在步驟(6)中可以設置加速時間(ACCEL_TIME)和減速時間(DECEL_TIME),如圖4所示。在該系統中,探傷主要是在電機勻速轉動時工作的,所以加速與減速時間越小越有利于探傷工作,但是時間太小會影響步進電機的使用壽命,在此加速時間設為1000,減速時間設為500。
[align=center]

圖4 加速時間和減速時間[/align]
在步驟(7)中,由于步進電機本身存在加速與減速時間,所以我們選擇建立相對位置包絡。并且探傷系統不需要中間變速度,所以只需要輸入希望的步0信息。在該系統中,我們希望的目標速度為150(介于MAX_SPEED和MIN_SPEED之間)。假設α為步進電機一步轉過的角度,θ為步進電機總共需要轉的角度,ψ為步進電機需要的總脈沖數,φ為車輪總共轉過的角度,n為減速箱的傳動比,于是計算包絡總位移(即步進電機需要的總脈沖數)的公式為
ψ=θ/α=nφ/α (1)
由于步進電機存在開始時加速和結束時減速兩個無法克服的過程,所以在這兩個過程中可能存在漏探或誤探,于是在探傷過程中規定,車輪至少應轉1.25圈,即450°。在該系統中,n=60,α=0.72°(即每轉細分數為500步),因此由公式(1)可以推出ψ=37500。繪制的包絡如圖5所示。
[align=center][IMG=相對位置模式下的包絡]/uploadpic/tech/2008/1/2008011513155051594H.jpg[/IMG]
圖5 相對位置模式下的包絡[/align]
然后選擇一個大小合適且未使用的V存儲區來保存配置和包絡信息,最后向導會根據剛才的配置生成PTO0_CTRL、PTO0_MAN和PTO0_RUN三個項目組件,用戶可以在自己編寫的程序中調用這些組件。其中:PTO0_CTRL指令是用于在手動模式下初始化步進電機;PTO0_MAN指令是用于手動模式控制線性PTO,在手動模式中,可以使用不同的速度操作PTO,如圖6;PTO0_RUN指令用于命令線性PTO操作執行在向導配置中指定的運動包絡,如圖7。
[align=center][IMG=PTO0_MAN指令應用]/uploadpic/tech/2008/1/2008011513161329199V.jpg[/IMG]
圖6 PTO0_MAN指令應用
[IMG=PTO0_RUN指令應用]/uploadpic/tech/2008/1/2008011513162495644M.jpg[/IMG]
圖7 PTO0_RUN指令應用[/align]
至此,利用位置控制向導對步進電機的配置已經完成。
3 結論
通過上面的例子可以看出,本文介紹的利用STEP 7-Micro/WIN 位置控制向導來實現PLC對步進電機的控制,操作簡單,而且不用增加功能擴展模塊,降低了產品成本,是非常值得在PLC應用中嘗試的。
參考文獻
[1]劉洪濤 黃海.PLC應用開發從基礎到實踐[M].北京:電子工業出版社,2007.
[2]西門子(中國)有限公司.SIMATIC S7-200可編程控制器系統手冊[Z].2005.