工業控制已從單機控制走向集中監控、集散控制,如今已進入網絡時代,工業控制器連網也為網絡管理提供了方便。Modbus就是工業控制器的網絡協議中的一種,通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。基于上述原理,文中設計了一套伺服電機聯動控制系統,采用Modbus RTU通信協議進行數據通信,達到能夠同時對2臺電機聯動控制的目的。
1 系統構成以及原理
在工業控制過程中,電機是控制系統一個重要組成部分。一般通過微處理器控制電機繼而達到實現自動控制的目的。而上位機通過串行或者并行通信協議控制微處理器,來實現遠程控制。
文中提出了一種新的伺服電機聯動控制系統的設計方案,采用Modbus RTU協議,使上位機(PC)直接可以和伺服放大器進行通信,本設計上位機采用一般PC即可,最好帶RS485接口。伺服放大器選用富士公司RYH201F5-VV2,伺服電機選用富士公司GYS201D5-RC2。由于系統設計過程中節省了微處理器,所以不僅在數值處理運算和數據傳送上運行速度快,實時性強,而且簡化了系統復雜度,降低了成本。
由于有的PC不自帶RS485接口,因此上位機不能利用Modbus通信協議來控制伺服放大器。雖然市場沒有專門接口轉換電路,但是由于一般上位機(PC或者工控機等)都自帶USB接口,自己根據Modbus協議和實驗室現有器件,自行設計接口轉換電路。
2 Modbus RTU協議及實現
2.1 Modbus協議
Modbus是OSI模型第7層上的應用層報文傳輸協議,它在連接至不同類型總線或網絡的設備之間提供客戶機/服務器通信。標準的Modbus口是使用RS-232C兼容串行接口,它定義了連接口的針腳、電纜、信號位、傳輸波特率、奇偶校驗。控制器能直接或經由Modem組網。控制器通信使用主-從技術,即僅一設備(主設備)能初始化傳輸(查詢)。其它設備(從設備)根據主設備查詢提供的數據做出相應反應。典型的主設備:主機和可編程儀表。典型的從設備:可編程控制器。本系統中主設備指上位機,從設備主要指伺服放大器。
上位機可單獨和伺服放大器通信,也能以廣播方式和所有放大器通信。如果單獨通信,伺服放大器返回一消息作為回應,如果是以廣播方式查詢的,則不作任何回應。Modbus協議建立了上位機查詢的格式:設備(或廣播)地址、功能代碼、所有要發送的數據、一錯誤檢測域。伺服放大器回應消息也由Modbus協議構成,包括確認要行動的域、任何要返回的數據和一錯誤檢測域。如果在消息接收過程中發生一錯誤,或不能執行其命令,伺服放大器將建立一錯誤消息并把它作為回應發送出去。
通信過程主要分查詢和響應。查詢指從上位機通過功能代碼告之被選中的伺服放大器要執行的何種功能;響應指伺服放大器對查詢信息功能代碼的回應。通信是由來自上位機的查詢開始的。伺服放大器之間不能進行查詢。
控制器能設置為兩種傳輸模式(ASCII或RTU)之中的任意一種標準進行通信。文中選用RTU(遠程終端設備)模式,還包括設置其他串口通信參數(波特率,校驗方式等)。需要注意的是,在同一個Modbus網絡上所有的設備都必須有相同的傳輸模式和串口參數。RTU模式下,數據幀格式是:地址+功能代碼+信息+CRC-16校驗。CRC校驗的全稱是循環冗余校驗,其特點是:檢錯能力極強,花費CPU開銷小。
2.2 參數編輯
2.2.1 參數綁定
設計中伺服電機采用定位數據運行,默認最多15點定位數據,AD3~AD0分別對應1~15點定位數據。
在伺服放大器上通過參數綁定,一一對應到伺服放大器輸出端子,然后通過調整輸出端子的邏輯值(0或者1),進而改變AD3~AD0的數值,最后決定選取的定位數據編號。其中部分參數綁定信息。
例如:AD3~AD0分別對應1~15點定位數據,輸出端子分別選用PA3-9~PA3-12,設定值分別為60~63,
2.2.2 參數編輯
通過參數編輯,改變定位數據編號,最終改變運行狀態和運行結束停止位置。參數編輯信息見表2。
例如:定位數據編號選擇01,此時AD3~AD0分別為0001
2.2.3 定位數據編輯
通過定位數據編輯,可以設置一組定位數據,包括相對位置/絕對位置,定位結束停止位置,運行速度(轉速),加/減速時間和M代碼等。其中相對位置以上次運行結束坐標為參考系;絕對位置以原點為參考系。定位結束停止位置表示定位結束時候停止的位置,是數字量。運行速度表示運行過程中的轉速,單位是轉/分。加/減速時間表示從上次運行速度更新到設定速度變化所需要的時間,單位是0.1 ms。通過查詢M代碼可以查詢伺服系統運行的定位數據編號,設置值為00~FF。
例如:定位數據1:(絕對位置(ABS),停止位置100000,轉速120轉/分,加減速時間都是0.1 ms,不輸出M代碼)
2.3 運行狀態圖
按照來自Modbus通信的指令,進行定位運行。定位結束[INP]ON時,設定要運行的定位數據編號,若將自動起動[START]ON(起動)則執行相應定位數據編號的定位,具體運行狀態圖如圖5所示。由此可見,START信號是上升沿有效信號。
2.4 連續運行實現
系統可以設置1~15號定位數據持續運行,每次運行先要設定運行的定位數據編號,然后將自動起動[START]1 ON(起動)。但是,運行到最后一個定位數據編號結束之后,系統就會自動停止運動。
根據運行狀態圖,可以設置其他編號定位數據運行后不輸出M代碼。當最后一個定位數據運行完成后輸出一個M代碼。實時查詢M代碼,如果查詢到設定的M代碼,表明系統設定最后一個定位數據編號已經執行完成,然后立即通過軟件開啟START。由于[START]信號是上升沿有效信號,因此,每次將[START]ON之后,要置于OFF,方便下一次ON時有上升沿。
3 上位機軟件系統設計
上位機采用LabView 2010軟件編譯。當按下啟動按鈕,定位運行,此時定位指針指向設定初始定位數據編號,然后自動啟動信號[STA RT]置于ON,此時,系統開始運行;然后,將[SFART]置于OFF,方便下一次啟動。系統此時開始檢測是否有急停或者停止按鈕,如果有,就立即停止,如果沒有,就每隔300 ms查詢M代碼狀態。如果正好是設定的M代碼,就表明最后一個定位數據編號運行結束,將定位指針指向初始定位數據編號;如果不是設定的M代碼或者沒有M代碼輸出,就返回。
Labview軟件設計部分程序,設置波特率是9 600,偶校驗,停止位是1位。由于采用隊列操作,并且根據數據流小的特點,設置Modbus通信等待時間是150 ms,大大提高運算速度和程序效率。
4 結束語
文中介紹的基于Modbus RTU通信協議的伺服電機聯動控制系統,不僅通信可靠性高,運算速度快,實時性強,而且硬件結構簡單。最大的創新之處在于根據伺服放大器功能和原理,進行巧妙的軟件設計,實現了系統連續運行的目的。此外,在復雜控制系統中利用此設計思路,能更加體現出設計優勢,降低系統成本和復雜度,相信一定會被用到更多的工業現場。
(審核編輯: 智匯張瑜)
分享