摘要:本文對MODBUS總線在變頻調速控制系統中的應用進行了探討。介紹了MODBUS通信協議的基本規范,簡述了電機控制系統中的變頻調速技術。以安川VS606-V7變頻器和單片機89S52為基礎,開發了基于MODBUS通信的變頻調速系統,并說明了該系統的硬件組成和相關軟件開發。
關鍵詞:MODBUS 變頻調速 控制系統
引言
現代工業自動控制系統朝智能化、網絡化和開放式結構的方向發展。利用現場總線技術,將符合同一標準的各種智能設備統一起來,徹底實現整個監測系統的分散控制,將提高系統集成度和數據傳輸效率、延長有效控制距離,并有利于提高系統抗干擾性能和擴展系統功能。在設備的底層控制中,變頻調速已成為現代電機控制技術的重要發展方向。如果把總線通信與變頻控制技術統一起來,將推動交流電機群控技術以及設備遠程監控技術的發展。MODBUS作為一種通用的現場總線,已經得到很廣泛的應用,很多廠商的工控器、PLC、變頻器、智能I/O與A/D模塊具備MODBUS通訊接口。本文在闡述MODBUS通信協議的基礎上,構建了基于MODBUS的變頻調速控制系統,并探討了該系統在月餅自動包陷生產線上的應用。
1 MODBUS總線控系統的技術特征
MODBUS通訊協議是一種工業現場總線通訊協議,它定義的是一種設備控制器可以識別和使用的信息幀結構,獨立于物理層介質,可以承載于多種網絡類型中。MODBUS協議把通信參與者規定為“主站”(Master)和“從站”(Slave),數據和信息的通信遵從主/從模式,當它應用于標準MODBUS網絡時,信息被直接傳送。MODBUS總線網絡中的各個智能設備通過異步串行總線連接起來,只允許一個控制器作為主站,其余智能設備作為從站。采用命令/應答的通信方式,主站發出請求,從站應答請求并送回數據或狀態信息,從站不能夠自己發送信息。MODBUS協議定義的各種信息幀格式,描述了主站控制器訪問從站設備的過程,規定從站怎樣做出應答響應,以及檢查和報告傳輸錯誤等。網絡中的每個從設備都必須分配給一個唯一的地址,只有符合地址要求的從設備才會響應主設備發出的命令。
由于MODBUS總線系統開發成本低,簡單易用,并且現在已有很多工控器、PLC、變頻器、顯示屏等都具有MODBUS通信接口,所以它已經成為一種公認的通信標準。通過MODBUS總線,可以很方便地將不同廠商生產的控制設備連成工業網絡,進行集中監控。
MODBUS最初為PLC通信而設計,它通過24種總線命令實現PLC與外界的信息交換。這些總線命令對應的通信功能主要包括AI/AO、DI/DO的數據傳送。但不是很多MODBUS設備的控制只使用其中的幾條命令,對其余命令不做反應。
1.1 MODBUS通信格式
MODBUS協議定義了兩種傳輸模式,即RTU(Remote Terminal Unit)和ASCII。在RTU模式中,1字節的信息作為一個8位字符被發送,而在ASCII模式中則作為兩個ASCII字符被發送,如發送字符“20”時,采用RTU模式時為“00100000”,然而采用ASCII模式則成為“00110010”+“00110000”(ASCII字符的“2”和“0”)。可見,發送同樣的數據時,RTU模式的效率大約為ASCII模式的兩倍。一般來說,數據量少而且主要是文本時采用ASCII;通信數據量大而且是二進制數值時,多采用RTU模式。
主站一次可向一個或所有從站發送通信請求(或指令),主設備通過消息幀的地址域來選通從設備。主站發送的消息幀的內容和順序為:從站地址、功能碼、數據域(數據起始地址、數據量、數據內容)、CRC校驗碼;從站應答的信息內容和順序與主站信息幀基本相同。MODBUS除了定義通信功能碼之外,同時還定義了出錯碼,標志出錯信息。主站接收到錯誤碼后,根據錯誤的原因采取相應的措施。從站應答的數據內容依據功能碼進行響應,例如功能代碼03要求讀取從站設備中保持寄存器的內容。
1.2 CRC校驗的實現
MODBUS通信的RTU模式中,規定信息幀的最后兩個字節用于傳遞CRC(Cyclic Redundancy Check,循環冗余校驗)碼。發送方將信息幀中地址域、功能碼、數據域的所有字節按規定的方式進行位移并進行XOR(異或)計算,即可得到2字節的CRC碼,并把包含CRC校驗碼的信息幀作為一連續的流進行傳輸。接收方在收到該信息幀時按同樣的方式進行計算,并將結果同收到的CRC碼的雙字節比較,如果一致就認為通信正確,否則認為通信有誤,從站將發送CRC錯誤應答。
RTU模式一般采用CRC-16冗余校驗方法,CRC-16的校驗碼為16位(2字節),其中低字節在前,高字節在后。實現CRC校驗有兩種方法:根據CRC校驗的定義公式進行計算,或者在程序中建立CRC校驗值表。在程序中使用前者更容易實現,這里需要使用CRC生成多項式X16+X15+X2+1。該多項式對應的碼組系數為18005H(16進制),去除最高位,對應的16位余數為8005H,即為CRC-16常數。CRC-16校驗過程如下:將CRC寄存器的每一位預置為1;把該寄存器值與8bit的信息幀數據進行異或,結果存于該寄存器;對CRC寄存器從高到低進行移位,在最高位(MSB)的位置補零,而最低位(LSB,移位后已經被移出CRC寄存器)如果為1,則把寄存器與CRC-16常數進行異或,否則如果LSB為零,則無需進行異或。重復上述的由高至低的移位8次,第一個8bit數據處理完畢,用此時寄存器的值與下一個8bit數據異或并進行如前一樣的8次移位。所有的字符處理完成后CRC寄存器內的值即為最終的CRC值。CRC添加到消息中時,先加入低字節,然后高字節。
1.3 鏈路特征
MODBUS標準的物理層可以采用RS-232串行通信方式,但在長距離通信中常采用RS-422或RS-485代替。在多點通信情況下只采用RS-485方式,所以RTU模式下的MODBUS系統采用屏蔽雙絞線,通信距離可達1000m。一條總線上最多可配置31個從站設備。傳輸線上的信息交換是半雙工的,即同時只能有一臺設備允許發送信息,主站在發送下一條指令之前等待從站回應,從而避免了線路的沖突。
RTU模式的傳輸格式是1個數據位,2個停止位,沒有奇偶校驗位。通信數據安全由控制參數CRC-16碼保證。RTU接收設備依靠接收字符間經過的時間判斷一幀的開始,如果經過3個半的字符時間后仍然沒有新的字符或者沒有完成幀,接收設備就會放棄該幀,并設下一個字符為新一幀的開始。
1.4 MODBUS總線通信的數據流程
在采用MODBUS總線構建的SCADA系統中,主站和從站中的控制設備上都要實現MODBUS通信協議。主站控制器的通信協議實現過程可以表示為圖1。

2 變頻控制的基本原理
根據電機學原理,交流電動機轉速公式為:
n= (1-s) n0 =60f(1-s) /p
式中:n為電動機轉速;n0為同步轉速;f為電源頻率;p為電動機磁極對數;s為轉差率。
由上式可知,當p和轉差率s不變時,電動機轉子轉速n與定子電源頻率f成正比,連續改變異步電機供電電源的頻率,則可連續平滑地調節電動機的轉速。這即是變頻器的工作原理。
通用型變頻器基本上采用V/F控制方式,即變頻器輸出電壓的頻率F 和輸出電壓幅值U同時得到控制,并保證V/F的值恒定。工作時,變頻器主電路實現交流-直流-交流的變換過程,內部微控制器根據現場設定信號調節PWM輸出頻率,它控制了MOSFET管的導通時間,改變主電路的輸出頻率,實現調節電機的輸出轉速的目的。
變頻器自帶有完善的保護功能,如過流、過壓、欠壓、過熱、過載等功能。當電機發生堵轉等故障時,變頻器應可靠跳閘,以保護電機。變頻器每次故障都有故障記憶,可將最新的故障記憶下來,以便運行人員進行故障分析。現在很多變頻器都帶有PID功能,接受速度傳感器信號,在變頻器內部完成閉環控制功能。
變頻器輸出的電源頻率可通過操作面板的手動旋鈕調節,也可在頻率設置輸入端上接入控制信號(電壓、電流、頻率或者數字量)實現遠程控制模式。變頻器的遠程控制方法包括:(1)0~10V電壓輸入;(2)4~20mA 電流輸入;(3)脈沖頻率控制;(4)總線通信控制,現在多數變頻器支持Modbus、Profibus等總線控制。變頻器還可實現手動/自動工作模式的自由切換,在自動模式下,上述模擬量或數字量的輸入需要控制器來實現;切換到手動方式時,通過調節外部電位器對本身基準電壓進行分壓,即可獲得0~10V的控制電壓。
3 基于MODBUS的變頻調速系統實現
3.1 系統構成
選用自帶MODBUS總線接口的變頻器,整合PLC、單片機或者PC機作為主站的控制器,可以組建生產線自動控制系統,發揮MODBUS總線控制和變頻調速的優良性能,實現設備的集中式控制。系統的組成原理見圖2,在總線的兩個終端需配置120歐姆電阻。安川(YAKAZAWA)VS606 V7交流變頻器,除了電壓、電流、脈沖輸入和旋鈕控制外,還支持點到點的MODBUS 協議通信,其硬件接口采用RS422/485串行方式;軟件接口協議采用MODBUS RTU模式,消息幀中的每個8Bit字節包含兩個4Bit的十六進制數字字符。
圖2中的微控制器AT89S52擴展了2個通訊口,一個是RS232串口預留備用,另外通過芯片MAX485擴展RS485接口。AT89S52作為主站微控制器,它通過RS485總線方式,將多臺V7變頻器和具備MODBUS RTU接口的智能型從站組成一個數字通信控制網絡。AT89S52可以向從站變頻器發送參數設置、啟停、數據查詢等指令,而變頻器則根據指令要求控制電機系統運行,并返回信息。該系統不僅可以實現對交流電機的遠程控制,而且還可以通過89S52與人機界面連接,完成整個生產線的啟動、升速、降速停車等操作和監控(模擬圖顯示、參數設置和只要歷史記錄數據瀏覽)。該系統的優點在于:(1)89S52直接利用MODBUS協議對交流變頻器讀寫,無需使用其它附件進行組態,簡化了硬件,并可實時獲取各變頻器的工作狀態,包括運行狀態、運行參數、故障報警等。(2)主站控制器與從站變頻器之間的連接只有兩根通信線,極大較少了線路連接的復雜性,提高了系統可靠性;(3)延長了系統的控制距離;(4)采集電機各運行參數并顯示在LCD上,不需要各種現場智能儀表,極大地較少了線路連接的復雜性;(5)能與高精度網絡方便地進行交換信息,從而實現工廠高度自動化。通過主站控制器的設置按鈕,可以對系統操作參數進行設計,對于一些重要的參數直接存儲在32K字節的EEPROM芯片AT24C32中。通過設置變頻器參數,可實現系統運行在手動或程序自動控制模式下,并可自由切換。

3.2 系統軟件設計
單片機程序使用C51語言編寫,采用自上而下的模塊化設計方法,整個程序包括系統初始化、串口發送、串口中斷接收、485通訊、LCD顯示、鍵盤接收、報警等功能子模塊。應用程序中,MODBUS協議通信由通訊子模塊實現,包含CRC-16計算與驗證、信息幀的編制和分解。
每一條指令可以對指定地址的變頻器進行操作;信息幀中包括數據的字節數、起始地址等。V7變頻器只使用3個功能碼:03H、08H、10H,分別實現數據讀出、回路反饋測試和數據寫入的功能,其描述如表1所示。為了實現MODBUS總線控制,需要預先設置變頻器的操作參數:n003=2(設備啟停通過總線方式控制),n004=6(輸出頻率由總線通信方式控制),n151~n157中完成通信參數的設置。本系統中,將變頻器設置為無超時檢測、頻率指令單位為O.01HZ、通信波特率為9600bps、無奇偶校驗、8位數據位、1位停止位、RS控制,而變頻器地址可以設為0~32。設置好變頻器參數之后,控制器可以通過RS485總線發送通信指令,通信流程可以由圖3表示,單片機的主站指令與變頻器/智能設備的響應信號之間具有一定的時間間隔,在程序中需要通過循環延時語句實現。
4 結語
我們將本文開發的MODBUS總線控制變頻調速系統應用于月餅自動包陷生產線中。在該生產線上,以單片機為核心的控制器通過MODBUS總線控制4臺V7變頻器,這4臺變頻器通過變速機構和電機分別控制一個月餅的外陷量、內陷量、皮量和刀盤的收口頻率。實踐表明,MODBUS總線通信、變頻調速和液晶顯示技術的應用,減少了控制系統的布線數量,提高了系統集成度和可靠性,月餅成分可在大范圍內隨意調整,其良好的用戶界面大大改善了設備的操作性能,提升了產品的市場競爭力。因此,直接利用MODBUS協議對其組網監控,是機械設備控制系統獲得低成本、高性能的好途徑。
參考文獻:
1. 閻文生, 楊煒, 陳世權等.變頻調速器在給粉機轉速控制系統改造中的應用.電力學報,2000(2).
2. 章紹東.通用變頻器的原理與設計.電子質量,2003(12).
3. 盧文俊,冷杉,楊建軍.基于MODBUS協議的控制器遠程監控系統. 電力自動化設備,2003,23(6).
4. 徐濤,閆科,趙景林. 基于MODBUS協議的串行接口實現與DCS通訊.工業控制計算機,2002,15(3).
5. 潘洪躍. 基于MODBUS 協議通信的設計與實現.計量技術,2002,(4).
6. 王有慶,田涌濤,李從心. Modbus RTU 模式下工控機與變頻器的通訊.機床與液壓,2002,(6).
7. 梁偉.采用C51 編寫智能設備的Modbus 協議通訊軟件. 化工自動化及儀表,2004,31 (1).