孫文慧,喬衛斌(天津水利電力機電研究所,天津 301900)
伺服電機又稱執行電動機,在自動控制系統中,用作執行元件,把所收到的電信號轉換成電動機軸上的角位移或角速度輸出。伺服電機作為一個典型閉環反饋系統,主要靠脈沖來定位,伺服電機接收到1個脈沖,就會旋轉1個脈沖對應的角度,實現位移,伺服電機本身具備編碼器,伺服電機每旋轉一個角度,都會發出對應數量的脈沖,和伺服電機接收的脈沖形成閉環,因此,就能夠很精確的控制電機的轉動,實現精確的定位。伺服電機的位置控制模式就是伺服控制器接收位置命令然后向伺服電機發送相應的脈沖量來控制伺服的定位運動。伺服驅動器接收位置命令的方式有兩種,一種是通過端子接線,直接接收外部控制器發出的脈沖量信號,另一種是通過通訊方式接收控制器發出的目標位置點再由驅動器向伺服電機發出脈沖控制伺服。此外,伺服電機的速度控制模式與扭矩控制模式的控制方式相似,是通過輸入模擬量或伺服控制器內部寄存器內的數值來控制伺服的輸出速度或扭矩,實現伺服的運動控制。
CAN(Controller Area Network)是德國Bosch公司在1983年開發的一種串行數據通信協議,通訊速率可達1Mb/s,具有高抗電磁干擾性,而且能夠檢測出產生的任何錯誤,保證數據通訊的可靠性。CANopen是以CAN為基礎的上層協議,是為了使設備實現運動控制的一種控制網絡功能。CANopen作為一種技術先進、可靠性高、實時性強,功能完善、成本合理、完全開放的現場總線,目前在眾多行業得到了廣泛應用。
現以某公司的IC卡自動封裝機的定位控制系統為例進行具體說明。IC卡自動封裝機的定位系統執行機構主要包括:
(1)1個傳送卡片的伺服電機,負責進行卡片的定位傳送;
(2)2個芯片搬運伺服電機,每個電機控制一個機械手分別從兩路IC卡芯片傳輸線上吸取芯片,然后放到卡片的指定位置進行封裝。
設備基于成本及性能考慮,芯片傳送定位執行機構選用步進電機進行控制,不在CANopen的通訊范圍之內,故此處不進行介紹。系統控制部分選擇用臺達系列產品進行設計,以PLC為控制單元,通過CANopen通訊方式與伺服電機進行運動控制系統構建:
? 設備控制部分選用臺達DVP28SV11T型PLC;
? CANopen主站選擇臺達主站模塊COPML-SL;
? 伺服選用3個支持CANopen通訊的臺達ASDA-A2伺服。
運動控制系統框圖如圖1所示。

圖1 控制系統框圖
CANopen主站模塊與PLC通過排線相連,3個伺服電機通過通訊線與CANopen主站模塊相連。
2.3.1 CANopen主站模塊設置
(1)要實現CANopen通訊,首先要對CANopen主站模塊進行設置。利用Delta CANopen Builder 軟件首先完成主站模塊與從站伺服的網絡架構設置(如圖2所示),然后將主站、從站地址與執行相應功能的伺服相對應:001為CANopen通訊主站地址,根據工作需要,從站002伺服設定為相對位置運動方式,從站003、004伺服設定為混合位置運動方式,即相對位置運動與絕對位置運動相互切換的位置運動方式。

圖2 CANopen通訊網絡圖
(2)確定從站控制方式后即可根據各從站伺服的工作方式設定CANopen通訊中從站通訊節點所要建立連接的通訊參數(如圖3所示)。以003伺服節點為例,在PDO映射中選擇加入基本通訊參數,包括:6060伺服工作模式控制字,6040伺服運行狀態控制字,6098原點設定方式,6081伺服速度控制字,607a伺服運行目標位置控制字,以及需要回讀的6041伺服工作狀態字等。其它伺服從站的PDO映射設置與此類似。

圖3 從站通訊節點配置
(3)各從站節點設置完成后,在主站對節點列表進行配置。將各個從站節點添加到節點列表中,同時得到設備輸入、輸出列表(如圖4所示),例如對于003號節點:D6282(16位)為控制字地址,d6283(16位)低八位為控制模式地址,高八位為原點回歸方式,d6284(32位)為伺服運行目標位置地址,d6286(32位)為伺服運行速度地址,d6032(16位)為回讀伺服運動狀態地址。這些地址即為后續PLC編程中PLC內部對應的地址。

圖4 通訊節點列表配置
2.3.2 伺服驅動器設置
依據伺服驅動器關于伺服工作于CANopen方式時的規定,首先設定參數表中P1-01為0B,即選擇驅動器工作于CANopen通訊模式;然后設定參數表中P3-00為01,即選擇伺服的工作模式為位置方式;最后設定參數P3-01為0403,即選擇伺服的通訊速率為1Mb/s。
依據對CANopen主站設置時得到的設備輸入輸出節點列表,進行PLC的程序編寫。程序初始化階段,需對伺服的一些必要控制參數進行設定,如003號節點初始化初期設定:工作模式設定D6282=H1、工作速度設定D6286=K10000、目標位置D6284=K10000、伺服工作狀態控制字D6282=H8,稍后將控制字D6282=H18,開始啟動伺服尋找工作原點,當伺服工作原點指示信號到達時將工作狀態控制字D6282=H108,停止伺服運動,此時設定D6283=H2306,伺服將以當前位置作為運動的原點,延時后將此設置還原D6283=H1,這樣就完成了003節點伺服工作原點的設置,伺服處于待工作狀態。其余兩個伺服以相似方式完成各自的工作原點的尋找。設備啟動后,再依據工作需要對伺服工作速度、目標位置、工作狀態進行控制如圖5所示。

圖5 伺服控制程序部分
PLC編程時有兩點需特別注意:
(1)當整個設備同時通電時,由于PLC的初始化時間遠遠快過伺服的初始化時間,所以整個設備上電后需要在經過一定時間的延時后,PLC才能運行設備簡單初始化程序,啟動伺服電機進行工作原點的定位工作,否則會出現伺服電機無響應的情況;
(2)伺服工作在CANopen通訊方式做相對位置方式控制時,如果一條運動指令在執行過程中由于一些特殊情況,導致出現停止信號,則伺服在沒有運行到目標位置時因接收到PLC通過程序發出的停止信號而停止運動,此時程序中如不進行必要的處理,則在下一次的伺服啟動信號到來時,伺服并不是以所停留的點作為此次相對運動的起點,而是會先完成上一次未執行完的部分運動然后才執行本次運動,這就在本次定位過程中帶來位置偏差,為了避免這種情況的出現,當出現由PLC程序發出停止信號終止伺服運動時,可在PLC的停止指令后面編寫一條指令來對伺服的工作模式進行修改,稍后再改回原來的模式,經過模式修改操作后,伺服在執行新的運行指令時就不會再執行上一次未執行完畢的部分運動了。
依據設計規劃完成各元件的接線工作。用專用通信線連接CANopen通信系統中的各個站點,注意在總線的終端必須加120歐姆終端電阻,否則通信無法連接。
打開Delta CANopen Builder 軟件進行連接,首先對通信口進行通信參數設置:在接口選項中選擇via PLC port,即通過PLC進行連接。然后選擇所用的COM口及與伺服相應的通訊速率,設置完成后點擊連接,軟件自動進行網絡節點掃描,檢測各節點是否正常通信。在通信掃描確定通信正常后,就可以將對主站及各從站模塊的設置下載到相應站點了。
通訊測試無誤后,依據設備工作的具體工藝要求對所編寫的PLC程序進行調試,同時根據PLC回讀的伺服電機工作狀態字監視電機運行情況,完成對伺服電機的運動控制。
本文通過具體案例,介紹了基于CANopen通信協議的多電機控制系統的構建。伺服采用CANopen總線方式做位置控制,相對于直接通過接線發送脈沖的控制方式,接線簡單,故障點少,控制設備也不必需要高速脈沖發生功能,同時,采用CANopen總線方式通信抗干擾能力強,實時性、穩定性能好,值得在工業自動化伺服控制中采用。
[1] 李 澄, 趙 輝. CANopen協議及其在電動機控制系統中的應用[J]. 微電機, 2009, 42 (4) : 24-26.
[2] 厲 虹, 楊黎明, 艾 紅. 伺服技術[M]. 北京: 國防工業出版社, 2008.