modbus協議范文

時間:2023-03-28 14:45:45

導語:如何才能寫好一篇modbus協議,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

modbus協議

篇1

關鍵詞:現場總線;modbus協議;Profibus-DP協議;協議轉換;電氣隔離

中圖分類號:TP393

文獻標識碼:A 文章編號:1672-7800(2015)005-0148-04

作者簡介:惠明坤(1989-),男,江蘇徐州人,江蘇大學計算機科學與通信工程學院碩士研究生,研究方向為嵌入式系統應用。

0 引言

隨著計算機、通信、自動化等技術的不斷發展,現場總線控制系統(FCS)正逐漸成為新型工業控制系統的發展方向。相對于集散控制系統(DCS)[1],現場總線控制系統由于標準開放、可靠性高、實時性好等優點,迅速成為各大廠商和組織的研究熱點,如今已成為推動工業控制系統朝著智能化、數字化、信息化方向發展的重要力量[2]。

現場總線控制系統在迅速發展的同時,也隨之產生了一些問題。由于現場總線種類眾多,至今仍未形成統一的標準,使得用戶很難使用不同廠商、不同品牌的設備進行系統集成,這給現場總線技術的推廣應用帶來了很大困難[3]。因此,對不同總線集成化技術進行研究極具現實意義。

作為我國第一個現場總線技術國家標準,加上西門子等公司的大力支持,Profibus總線已成為當今使用最廣泛的總線技術之一。Modbus總線由于其簡單可靠、實時性強等優點,得到了眾多廠商和用戶的青睞,但其網絡規模有限,網絡處理能力較差。本文設計并實現了兩種協議的轉換模塊,使得Modbus設備可以無縫接入Profibus-DP總線系統。模塊具有較強的實時性和可靠性,有很好的推廣使用價值。

1 總體設計

1.1 Modbus協議

Modbus協議是全球第一個用于工業現場的總線協議。Modbus串行鏈路協議采用主從通訊方式,并且提供功能碼規定的服務[4]。Modbus是一種應用層報文傳輸協議,其傳輸模式分為RTU和ASCII兩種。在相同的波特率下,RTU模式比ASCII模式具有更高的數據吞吐量。在RTU模式下,一個完整的報文幀最大不超過256個字節。兩幀報文之間至少要有3.5個字符的時間間隔,同一報文兩個字符之間的時間間隔應不大于1.5個字符時間[5],否則將認為報文幀出錯。

1.2 Profibus-DP協議

Profibus是一種用于工廠自動化車間級監控和現場設備層數據通信與控制的現場總線技術,它是我國第一個總線技術國家標準,包括Profibus-DP、Profibus-PA、Profibus-FMS 3個子集[6]。Profibus-DP傳輸速率為9.6Kbps~12Mbps,每個DP系統包含3類站點:一類主站(M1)、二類主站(M2)和從站。其中,多主站系統中,主站之間采用令牌幀傳遞信息,得到令牌的站點可在一個事先規定的時間內擁有總線控制權,同時規定好令牌在各主站中循環一周的最長時間;主站和從站之間采用主從方式的分時輪詢傳輸。理論上,每一段中最多可掛接126個站點。

1.3 系統總體結構

目前,對不同現場總線的集成化研究主要有以下幾種方案:①采用OPC技術[7]和以太網技術集成多種總線,這種方法主要應用于過程控制級的現場總線協議轉換;②采用從節點模塊化實現多種總線集成,該方法主要是將多種總站的從站功能集中在一個模塊上;③采用轉換模塊實現多種總線集成,這種方法主要是對不同總線協議轉換問題的研究,適用于現場設備級的現場總線協議轉換。本文采用第3種方法來實現Profibus-DP/Modbus協議轉換。

設計完成的系統結構如圖1所示,通過設計的協議轉換模塊,可以將Modbus設備無縫接入到Profibus-DP系統中,實現了協議之間的相互轉換,大大降低了系統升級費用。

2 硬件實現方案

由于Profibus-DP是主站式總線控制機制,因而Profibus-DP與Modbus之間的轉換是單向的,即為DP主站對Modbus從站的單向訪問,或者是Modbus對DP從站的單向訪問。對于前者,網關既是DP從站,同時也是Modbus主站;對于后者,網關既是Modbus從站,同時也是DP主站,本文設計的轉換模塊屬于前者。轉換模塊的硬件原理如圖2所示。

微處理器是整個模塊的核心部分。本設計選擇三星公司開發的微控制器S3C2440A,它采用了ARM920T架構核心,具備高性能、低功耗等優點,而且價格便宜,適用于嵌入式設備開發。

Profibus-DP從站的核心功能選擇基于ASIC芯片的設計方案,不僅能減輕MCU的工作壓力,同時也節省了系統開發時間,保證了模塊運行時的穩定性和可靠性。本設計選用VPC3+C芯片,它集成了完整的DP協議。S3C2440a通過GPIO與VPC3+C芯片連接,同時,不采用數據/地址線復用的方式,以此來提高模塊運行效率。S3C2440通過GPJ0-GPJ10與VPC3+C的11根地址線AB(0..10)連接,通過GPB0-GPB7與VPC3+C對應的數據線DB(0..7)連接,同時將VPC3+C的XWR、XRD、XCS、X/INT及XREADY引腳分別與MCU的GPF0-GPF4相連接。VPC3+C引腳連接如圖3所示。

為了提高模塊的抗干擾性,系統選擇了帶磁耦隔離的RS485收發芯片ADM2486,其速率高達20Mb/S,完全滿足Profibus-DP的通信要求。與傳統的光耦隔離相比,其簡化了模塊電路設計,同時大大降低了模塊功耗。AMD2486的引腳TxD、RxD及RTS分別與VPC3+C的TxD、RxD及RTS引腳相連接。

3 軟件實現方案

轉換模塊的作用是將Profibus-DP協議數據轉換成Modbus協議數據,實現使用不同協議的設備之間的通信,完成生產控制要求。在實際工作時,當轉換模塊初始化完成后,即進入數據轉換狀態。每次通信都由Profibus-DP主站發起,然后發送到轉換模塊中的VPC3+C芯片上,由于VPC3+C集成了完整的Profibus-DP協議,因此對DP數據的處理并不需要MCU的參與[8]。VPC3+C處理完數據后,通知MCU取走數據。MCU收到主站數據后,將其轉換成Modbus協議格式,然后發送給從站并等待從站響應。

從整個控制系統來看,主要包含3種通信過程:Profibus-DP主站與模塊從站側的通信、模塊內部的數據轉換,以及模塊Modbus主站側與現場從設備的通信。在主程序設計中,主要是對3種通信過程進行合理控制,以保證系統的可靠性和實時性。MCU及VPC3+C的初始化工作應當在數據交換之前完成。對VPC3+C的操作主要包括:允許中斷、寫入從站地址、設置模式寄存器、診斷緩沖區、參數緩沖區、配置緩沖區、地址緩沖區以及緩沖區的長度,最后設置輸入輸出緩沖區并取得其指針。主程序流程如圖4所示。

由該流程圖可以看出,MCU采用輪詢方式讀取VPC3+C中的數據。相對于中斷的方式,輪詢方式可以減少對Modbus側通信的影響,有助于提高模塊的轉換效率。

由硬件設計部分可知,VPC3+C協議芯片通過X/INT引腳與S3C2440A芯片的GPC3引腳相連。在遇到異常情況時,VPC3+C將通過此引腳通知MCU。MCU通過讀取中斷寄存器的內容確定中斷源的類型,然后調用相應的處理程序進行處理。VPC3+C的中斷服務流程如圖5所示。

轉換模塊中,Modbus和Profibus-DP之間的協議數據轉換通過映射關系建立。轉換模塊中,設置了兩塊數據緩沖區,一塊是Profibus-DP數據輸入緩沖區,另一塊是Profibus-DP輸出緩沖區。Modbus主站側將讀取的數據寫入到網絡輸入緩沖區,供Profibus-DP網絡讀取;Modbus寫命令從網絡輸出緩沖區取出數據并發送到相應的Modbus從設備。在從緩沖區取用數據時,為了保證所使用的數據是最新的,采用單個緩沖的設計方式,以此來保證數據轉換的實時性。同時,Modbus從設備取得數據后直接填充到協議芯片的輸入緩沖區,轉換模塊讀取Profibus協議數據后直接轉換成Modbus協議數據進行輸出,通過這種方式,數據轉換效率有所提升。

在轉換模塊中,Modbus協議通過軟件方式實現[9-10]。Modbus主站側一方面將DP主站發送的數據通過Modbus協議格式發送給從站;另一方面將Modbus現場從設備的響應信息報告給DP主站。對于從站的響應信息,采取中斷設計方式。由于工業現場對可靠性和實時性要求較高,而且數據量很大,采取中斷的方式可以大大減輕MCU的負擔[11]。數據輸入中斷服務流程如圖6所示。

4 實驗驗證

本文采用西門子公司的S7300 PLC作為Profibus-DP主站[12],利用PC端的Commix串口調試工具模擬Modbus從站設備進行實驗。通過驗證,轉換模塊能夠有效地完成數據轉換功能,達到了設計要求。

(1)在PLC創建數據區DB1、DB2。其中DB1為數據發送區,DB2為數據接收區。

(2)數據的發送和接收分別通過SFC15 “DPWR_DAT”和SFC14“DPRD_DAT”完成。

將DB1數據打包發送:

CALL "DPRD_DAT" //調用SFC14

LADDR :=W#16#0 //接收輸入起始地址

RET_VAL:=MW2 //錯誤代碼

RECORD :=P#DB2.DBX 0.0 WORD 8

將收數據存放到DB2:

CALL "DPWR_DAT" //調用SFC15

LADDR :=W#16#0 //發送輸出起始地址

RECORD :=P#DB1.DBX 0.0 WORD 8 RET_VAL:=MW4 //錯誤代碼

(3)調用SFC21將DB1和DB2中的數據初始化。

(4)保存組態信息后進行測試。

(5)通過轉換模塊發送數據01 03 00 00 00 08 44 0C,串口可以收到周期性發來的信息,如圖7所示。

(6)在發送區輸入響應數據幀,如圖8所示。

(7)DB2數據塊可以正確接收串口發送的信息,如圖9所示。

5 結語

隨著現代工業的不斷發展,對生產控制的要求越來越高,現場總線因其標準開放、可靠性高、實時性強等優點,已成為自動控制發展的新方向。而總線標準不統一給用戶系統集成帶來了很大困難,因此對不同總線設備的集成化研究尤為重要。本文設計的Modbus/Profibus-DP轉換模塊所需要的硬件簡單、穩定、可靠,且成本相對較低,同時在軟件方面對協議數據轉換的可靠性和實時性進行了優化,從而在硬件和軟件兩方面保證了通信的實時性和可靠性,具有一定的實用價值。

參考文獻:

[1] 侯維巖,費敏銳.Profibus協議分析和系統應用[M].北京:清華大學出版社,2006.

[2] 章民融,秦艷華,徐亞鋒.基于SPC3的Profibus-DP的研究與開發[J].計算機應用與軟件,2008,2(8):184-186.

[3] 張大海.Profibus-DP與CAN協議轉換研究及其網關開發[D].武漢:武漢大學,2005.

[4] 華F.從Modbus到透明就緒:施耐德電氣工業網絡的協議、設計、安裝和應用[M].北京:機械工業出版社,2009.

[5] 潘志剛,胡景泰,李強.基于Modbus的串口通信實現[J].工業控制計算機,2012,25(7):79-80.

[6] 王建國,孫豐祥,李紅梅,等.基于軟件協議的Profibus-DP從站實現[J].化工自動化及儀表,2010,37(1):66-69.

[7] 趙瑋,金亞萍,張勝.基于OPC技術的應用程序實現[J].機電產品開發與創新,2009(3):100-101.

[8] 夏琳琳,邱超,富兆龍,等.基于VPC3協議芯片的Profibus-DP接口適配卡的設計研究[J].化工自動化及儀表,2012(1):1323-1327.

[9] 許波.Modbus通信協議的研究與實現[D].合肥:安徽大學,2010.

[10] 翁建年,張浩,彭道剛,等.基于嵌入式ARM的MOBUS/TCP協議的研究與實現[J].計算機應用與軟件,2009,26(10):36-39.

篇2

關鍵詞:ARM;現場總線;ModBus協議;電平轉換;驅動程序

中圖分類號:TP368.1 文獻標識碼:A 文章編號:1009-3044(2013)19-4429-04

隨著控制、計算機、通信、網絡等技術的發展,信息交換溝通的領域正在迅速覆蓋從現場設備到控制、管理、驅動、開發的各個層次。而其中的現場總線技術是其主要的組成部分,直接關系到工業控制集成系統性能以及系統的穩定可靠。

現場總線是一種連接智能現場設備和自動化系統的全數字化、雙向傳輸、多分支結構的串行通信網絡。現場總線的關鍵標志是能夠支持雙向、多節點、總線式的全數字通信。

本設計的主要工作是采用基于ARM7內核的高性能處理器LPC2131作為主控芯片,并使用了專用的總線協議芯片AD2483,實現ModBus現場設備與異構系統之間的數據傳輸與協議轉換。該協議轉換模塊系統框圖如圖1所示。

1 協議轉換模塊介紹

1.1 模塊工作原理

協議轉換模塊的功能是完成現場ModBus設備數據的采集和數字化處理,并將轉換后的結果通過異構系統的內部總線傳送到上層控制系統。同時實現上層控制系統對現場設備的控制與配置。

該模塊采用RS-485電平轉換芯片,該芯片自帶電氣信號隔離,信號調理技術。該模塊提供通信檢測顯示功能,可提供獨立隔離的24VDC供電電源輸出,用于現場ModBus設備的工作電源。圖2為模塊系統總體結構框圖。

1.2 ModBus通訊規約

在各種不同的系統通信中,ModBus協議是一種在工業領域被廣泛應用的、真正開放的、標準的網絡通信協議,通過該協議,不同廠家的現場設備可以實現數據通信。

ModBus可編程控制器之間可以相互通訊,也可與不同網絡上的其他設備進行通訊。網絡信息存取可由控制器內置的端口,網絡適配器和網關等設備實現。該協議定義了控制器能識別和使用的信息結構。當在ModBus網絡上進行通訊時,協議能使每一臺控制器知道它本身的設備地址,并識別對它尋址的數據,決定應起作用的類型,取出包含在信息中的數據和資料等,控制器也可組織回答信息,并使用ModBus協議將此信息傳送出去。

在其他網絡上使用時,數據包和數據幀中也包含著ModBus協議。網絡控制器中有相應的應用程序庫和驅動程序,實現嵌入式ModBus協議信息與此網絡中用子節點設備間通訊的特殊信息幀的數據轉換。

ModBus采用主從方式,若一臺控制器作為主機設備發送一個信息,則可從一臺從機設備返回一個響應,類似,當一臺控制器接受信息時,它就組織一個從機設備的響應信息,并返回至原來發送信息的控制器。

2 硬件電路設計

2.1 電源電路

電源電路模塊主要對模塊的電源部分進行處理,將工控行業普遍采用的直流24VDC的輸入轉變為模塊CPU需要的5VDC和3.3VDC,同時進行EMC防護。該模塊在輸入電壓出增加了防雷擊浪涌電路和支持熱插拔電路,使用的主要器件是LT4356-1。電源電路圖如圖3:

LT4356-1浪涌抑制器可保護負載免遭高電壓瞬變的損壞。它能夠通過控制一個外部N溝道MOSFET的柵極以在過壓過程中調節輸出。輸出被限制在一個安全的數值上,從而允許負載繼續運行。LT4356-1還監視VCC和SNS引腳之間的電壓降,以防止遭受過流故障的影響。一個內部放大器用于把電流檢測電壓限制為50mV。

2.2 主控電路

微控制器電路為ARM控制器的可靠穩定工作提供硬件環境,包括ARM控制器的時鐘電路、復位電路等部分。復位電路采用上電復位方式,并且備有按鍵復位操作,方便用戶調試使用。

2.3 電平轉換電路

電路完成現場485信號與控制器LPC2131之間的電平轉換功能。圖4是RS-485轉換電路。

RS-485轉換電路采用485轉換芯片ADM2483。

ADM2483是ADI(Analog device,inc)公司推出的基于其專利iCoupler磁隔離技術的隔離型RS-485收發芯片。內部集成了三通道的數字隔離器、帶三態輸出的差分驅動器和一個帶三態輸入的RS485差分接收器。節點數可允許多達256個,最高傳輸速率可達500Kbps。 iCoupler磁隔離技術是ADI公司的一項專利隔離技術,是一種基于芯片尺寸的變壓器隔離技術,它采用了高速CMOS工藝和芯片級的變壓器技術。所以,在性能、功耗、體積等各方面都有傳統光電隔離器件(光耦)無法比擬的優勢。ADM2483采用具有短路電流限制的限擺率驅動器,較低擺率降低了不恰當的終端匹配和接頭產生的誤碼。集成的熱關斷電路可將驅動器輸出置為高阻狀態,防止過度的功率損耗。

3 軟件程序設計

系統上電后,協議轉換模塊需要系統初始化,初始化操作主要完成系統各個軟件模塊的準備工作已經相應接口的驅動程序。之后要進行寫入指令和寫入數據的步驟。

整個軟件結構由幾個主要的軟件的模塊組成,分別是main()函數,get_order()函數和exchange()函數。

3.1 main()函數設計說明

該函數為整個軟件架構的主函數,在進入主函數之前,由編譯器自動加載了硬件的堆棧和中斷向量配置文件。當配置完成后,程序自動跳入主函數開始執行。主函數的代碼為順序執行,模塊除數據通信功能的其他所有功能都在主函數中實現,圖5是主函數的程序流程圖。

3.2 get_order()函數設計說明

get_order()函數作用是將異構系統總線收到的數據轉換到ModBus發送緩沖區中準備發送給現場的ModBus設備。在轉換時要嚴格按照標準ModBus-RTU格式進行。圖6是該函數的程序流程圖。

3.3 exchange()函數設計說明

exchange()函數作用與get_order()函數剛好相反,exchange()函數將現場ModBus設備采集到的數據按照異構系統總線協議方式存入到主控制器中。

4 結論

本文通過基于ARM內核的高速微處理器LPC2131的ModBus協議轉換模塊進行介紹,在此基礎上完成了硬件設計與軟件搭建,通過編寫控制器軟件程序實現了現場ModBus設備與異構系統的數據通信和電平轉換。實踐結果表明,該設計硬件結構簡單,運行穩定可靠,軟件開發周期短,滿足現場設備數據通信以及協議接口驅動的需要。

參考文獻:

[1] 蒲靖榮,杜開勛,朱占青,等.基于網絡和ModBus協議的遠程監控系統[J].自動化儀表,2009,30(7):52-57.

[2] 馬忠梅,籍順心,張凱,等.單片機的C語言應用程序設計[M].北京:北京航空航天大學出版社,2007:290-291.

[3] 李海濤,儀維,吳筱堅,等.PIC單片機應用開發典型模塊[M].北京:人民郵電出版社,2007.

[4] 盧穎,鐘聯炯.以太網交換機運行機制及其仿真研究[J].西安工業學院學報,2004,24(1).

篇3

關鍵詞:Modbus協議;電流檢測;轉速檢測;棉花加工;測控系統

中圖分類號:TP277;TS113 文獻標識碼:A 文章編號:0439-8114(2016)11-2913-04

DOI:10.14088/ki.issn0439-8114.2016.11.052

棉花加工的生產過程是指由原料子棉開始到制成產品皮棉、短絨等的全部勞動過程[1],其工藝主要由子棉預處理、軋花、皮棉清理、集棉、打包、剝絨六個環節組成。在子棉預處理、軋花、皮棉清理和集棉環節,由于棉花喂給不均勻、子棉回潮率大等原因,存在加工設備堵棉、皮帶斷裂等故障。隨著中國近年棉花產量不斷提高,傳統的繼電器與單一的PLC的控制模式,檢測信息速度慢且信息量少[2],致使加工設備很難同步協調工作,繼而造成加工設備故障率高、故障處理時間長,嚴重影響了棉花加工的產量與質量。

本研究設計的棉花加工測控系統,根據Modbus協議簡單、實施容易等特點,解決棉花加工過程中存在的設備故障率高、故障處理時間長的問題。通過測控系統的使用,降低了棉花加工過程的設備故障率,縮短了故障處理時間,提高了棉花加工產量與質量。

1 Modbus協議及其分析

Modbus協議是應用于電子控制器上的一種通用語言,通過此協議,控制器及相互之間經由網絡和其他設備之間可以通信[3-5]。Modbus協議包括ASCII、RTU、TCP等,并沒有規定物理層。協議的物理層可以是RS-232、RS-422、RS-485或TCP。與其他總線標準相比,Modbus協議具有協議簡單、實施容易、性價比高、可靠性好等優點,在工業自動化領域獲得了越來越廣泛的應用[6,7]。

Modbus協議采用主從方式定時收發數據。在實際使用中,如果某Slave站點斷開后(如故障或關機),Master端可以加以診斷;而當故障修復后,網絡又可自動接通。因此,Modbus協議的可靠性較高[8]。在Modbus協議中,有多種協議代碼,本研究主要使用以下4種功能代碼(表1)。

2 測控系統設計

2.1 測控系統硬件組成

測控系統主要由上位機、觸摸屏與控制器、傳感器等幾部分組成。上位機實現棉花加工數據的存儲、統計功能;觸摸屏與控制器實現數據分析判斷、控制、傳輸、顯示功能;傳感器實現數據檢測、傳輸功能;LED顯示屏實現車間加工設備運行狀態及故障報警功能。棉花加工測控系統組成框圖如圖1所示。2.2 Modbus傳感器設計

Modbus傳感器設計包括電流檢測裝置設計和轉速檢測裝置設計。電流檢測裝置和轉速檢測裝置主控芯片均采用宏晶科技生產的STC15F2K60S2單片機。

STC15F2K60S2系列單片機是STC生產的單時鐘的單片機,是高速、高可靠、低功耗、超強抗干擾的新一代8051單片機,指令代碼完全兼容傳統8051,且速度快8~12倍。內部集成高精度R/C時鐘(±0.3%),±1%溫飄(-40~+85 ℃),常溫下溫飄±0.6%(-20~+65 ℃),5 MHz~35 MHz寬范圍可設置,可徹底省掉外部昂貴的晶振和外部復位電路[9]。

2.2.1 電流檢測裝置設計 電流檢測裝置實時檢測加工設備的電流值,并把測得的電流值通過Modbus RTU協議發送給PLC控制器,電流檢測裝置可實現16路電流的檢測。

電流檢測裝置主要由STC15F2K60S2、16路模擬量轉換電路、A/D采樣、DC/DC降壓電路、光耦隔離電路、RS-485電路組成。裝置結構圖如圖2所示。由于電流檢測裝置安裝的配電房存在多種干擾源,為了確保檢測裝置數據傳輸的穩定性,在電流檢測裝置的通訊電路中增加光耦隔離電路,實現RS-485通訊電路的電氣隔離。

2.2.2 轉速檢測裝置設計 轉速檢測裝置實時檢測加工設備關鍵部位的轉速值,并把所測轉速值通過Modbus RTU協議發送給PLC控制器,以供控制器對加工設備工況進行判斷。

轉速檢測裝置主要由STC15F2K60S2、脈沖信號檢測電路、DC/DC降壓電路、數碼管顯示電路、光耦隔離電路、RS-485電路組成。裝置結構圖如圖3所示。轉速檢測裝置安裝在車間加工設備上,為了方便加工人員及時掌握所測加工設備的轉速值,設計轉速檢測裝置時增加數碼管顯示電路,實時顯示轉速值。同樣,為了確保通訊的穩定性,在轉速檢測裝置的通訊電路中,增加光耦電氣隔離電路,增強通訊的可靠性。

2.3 測控系統數據分析設計

棉花加工設備在工作過程中,常會出現堵棉、皮帶或鏈條斷裂、主軸失穩等故障,通過研究與分析可知,根據電流和轉速的變化率,可區分出加工設備不同的工作狀態,具體如下。

1)當加工設備正常工作時,其電流和轉速變化曲線如圖4所示。從圖4可以看出,轉速曲線和電流曲線幾乎為一條直線。因此,在加工設備正常工作時,電流變化率di/dt≈0,轉速變化率a≈0。

2)當加工設備出現堵棉現象時,其電流曲線和轉速曲線如圖5所示。從圖5可以看出,轉速曲線迅速下降為0,電流曲線迅速上升,達到一定值時保持不變,當加工人員關斷加工設備電源后,電流曲線逐漸降低為零。因此,在加工設備電機出現堵轉后的有限時間內,電流變化率di/dt0。

3)當加工設備出現皮帶或鏈條斷裂現象時,其電流曲線和轉速曲線如圖6所示。從圖6可以看出,轉速曲線迅速下降為0,電流曲線緩慢下降,下降到一定值時保持不變。因此,在加工設備電機出現皮帶或者鏈條斷裂現象后的有限時間內,電流變化率di/dt

4)當加工設備出現主軸失穩現象時,其轉速和電流曲線如圖7所示。從圖7可以看出,電流曲線和轉速曲線呈周期性變化。因此,在加工設備出現主軸失穩現象時,電流變化率|di/dt|>0,轉速變化率|a|>0。

通過以上分析可以看出,測控系統控制器通過計算檢測的加工設備電機的電流變化率和設備關鍵部位轉速變化率,根據電流變化率和轉速變化率的不同,判斷出加工設備的工作狀態,進行相應的控制和其他處理。

2.4 測控系統控制流程設計

測控系統通過傳感器實時采集子棉預處理、軋花、皮棉清理、集棉工藝環節加工設備的電流值與轉速值,通過Modbus RTU協議把數據傳輸給PLC控制器;PLC控制器對檢測的電流值與轉速值進行綜合分析判斷,把檢測數據和判斷結果通過Modbus RTU協議傳輸給觸摸屏,觸摸屏顯示數據,并通過Modbus TCP協議把數據傳輸給上位機;上位機軟件對數據進行存儲和統計,然后把統計結果提供給管理人員。

在子棉預處理環節,當加工設備出現故障時,PLC控制器控制自動喂花機的電機停止工作,停止喂花;在軋花、皮棉清理、集棉環節,當加工設備出現故障時,PLC控制器控制軋花機開合箱電機開箱,停止軋花;在加工設備出現故障時,PLC控制器控制LED屏顯示器控制器,實現車間LED顯示屏故障報警顯示。測控系統控制流程如圖8所示。

3 上位機軟件設計

上位機軟件為測控系統統計軟件。軟件采用VC6.0開發環境,使用SQL Server 2000數據庫。SQL Server 2000數據庫功能允許用戶透明地查詢和操作遠程數據庫實例的數據,并使應用程序看起來只有一個大型的集中式數據庫,用戶可以在任何一個場地執行全局應用,具有數據分布透明性和邏輯整體性等特點。

上位機負責統計、存儲車間內所有采集的數據;統計車間加工設備故障原因、故障時間、故障率。上位機軟件與車間觸摸屏通過Modbus TCP協議通訊,把所采集的數據存儲在SQL server 2000數據庫中,并對數據進行處理。

進入主界面后,可以選擇查看所檢測加工設備的電流曲線與轉速曲線,當加工設備出現故障時,可在故障報警界面查看故障原因、故障處理時間等相關故障信息。

4 小結

基于Modbus協議的棉花加工測控系統,在新疆生產建設兵團第六師新湖總場新旺社區棉花加工廠安裝使用,將棉花加工設備的參數檢測、分析判斷與自動控制相結合,降低棉花加工設備故障率10%,縮短故障處理時間30%,提高了生產效率;基于Modbus協議的棉花加工測控系統,實現了加工過程設備故障率、故障原因統計,為管理人員生產決策提供數據支撐。

隨著棉花加工測控系統的進一步完善,以及系統的推廣使用,將為棉花加工過程的信息化、智能化生產奠定了基礎。

參考文獻:

[1] 徐炳炎.棉花加工新工藝與設備[M].北京:機械出版社,2002.

[2] 張 順,張錦石.機采棉加工微電腦智能控制系統[J].中國棉花加工,2014(2):17-19.

[3] 何凌霄,林凡強.基于MODBUS協議網絡的多點火災測控系統[J].電子科技,2013(9):148-151.

[4] 鄧元生. 基于單片機的MODBUS總線協議實現技術研究[D].長沙:中南大學,2009.

[5] 陳 銘.基于MODBUS協議的設備和PLC實現通訊的研究[J].湖南科技學院學報,2009,30(4):60-62.

[6] 張世界,蔣 健,宋 彬.一種基于Modbus協議的多總線工業測控系統[J].今日電子,2012(1):55-57.

[7] 王小鵬,張九強.MODBUS在智能保護裝置上的應用[J].煤礦機械,2011(1):190-192.

篇4

關鍵詞:Modbus協議;交流電壓峰值;MSP430F449;MAX1270

中圖分類號:TB971,TP368.1文獻標識碼:B

文章編號:1004-373X(2009)10-146-03

Design of AC Voltage Peak Detection Instrument Based on Modbus-RTU

WANG Jichang

(Seismic Geophysical Company of Shengli Oil Field,Dongying,257100,China)

Abstract:The peak voltage detection of AC is an important index in industry power safety monitoring.AC voltage peak detection system based on hardware of MSP449,MAX1270 and RS 485,and protocol of Modbus-RTU are introduced.This system have been used in AC voltage peak detection successfully.This system has advantages of portable,low power and so on.Meanwhile,it is easy to interface with PC or controller in accordance with Modbus-RTU protocol to construct remote monitoring and control system conveniently.

Keywords:Modbus protocol;AC voltage peak;MSP430F449;MAX1270

收稿日期:2008-10-23

0 前 言

交流電壓峰值是指交流電壓的最大值(正峰值)或最小值(負峰值),是工業生產過程中一個非常重要的參數。為保證用電設備的安全,對供電電壓的峰值[1]進行檢測具有重要意義。測量峰值的方法主要有示波器法、間接計算法、專用峰值表法。利用示波器雖然可直觀地顯示電壓的波形和峰值,但在成本和便攜性上示波器均不能作為現場監視設備;間接計算法只適用于標準正弦波,實用性不大;專用峰值表大都存在體積較大,攜帶不便,且與電腦或控制設備相連不便的缺點。針對以上缺點,采用MSP430[2]系列單片機、MAX1270模/數轉換器,并利用Modbus-RTU協議,成功地開發出了低成本、便攜、智能的峰值表設備。

1 測量原理

由于供電電網的波動及電網的電壓波形是一種非標準正弦波,其峰值不能通過平均值或有效值間接計算。該系統采用對非標準正弦波在一個周期內多次采樣,并通過冒泡法比較采樣值,得到電壓的最大值或最小值作為其正峰值和負峰值。顯然只要采樣密度適當,完全可以得到真實的電壓峰值。我國交流電的頻率為50 Hz,設計中采樣頻率設置為10 kHz,即每個交流波形周期中采樣200次,足以正確地反映出電壓的變化情況,從而確定電壓的峰值。

2 硬件設計

設計中,以MSP430F449[3]單片機、MAX1270模/數轉換器為主要器件。前端A/D輸入采用電阻分壓方式將交流電進行降壓;采用RS 485芯片作為通信接口芯片,硬件框圖如圖1所示。

圖1 硬件框圖

2.1 A/D輸入調理保護電路設計

以220 V交流電為例,其理論峰值電壓為311 V,但考慮到電網波動、正弦波失真等,電壓峰值很可能超過311 V,這時可根據工作經驗和實測情況,選定一個電壓值作為電壓可能達到的最大值,假定為500 V。如果MAX1270的輸入范圍設置為±5 V,則分壓電阻的分壓比應設置為100∶1。分壓后的電壓經過運放緩沖后作為A/D芯片的輸入,為保護后級A/D轉換芯片,設置兩個穩壓二極管組成限幅電路。輸入調理電路如圖2所示。

圖2 A/D輸入信號調理保護電路

2.2 A/D轉換電路

A/D轉換電路采用MAX1270[4]芯片,MAX1270是8通道、多量程雙極性輸入、串行輸

出、逐次逼近型12位A/D轉換器,最高采樣率為110 kS/s。在單+5 V電源供電下,可通過編程實現±5 V,±10 V,5 V,10 V量程。其中,雙極性輸入十分適合作為交流電壓測量。

MAX1270轉換電路如圖2所示,由MSP430F449的I/O口線控制MAX1270的串行接口。由于MAX1270在5 V電壓供電下,輸出4.5 V以上高電平,而MSP430F449的I/O口電平為3.3 V,因此必須附加一個接口芯片,以實現5~3.3 V的電平轉換,這里采用MAX3001雙向電平轉換芯片。A/D轉換電路如圖3所示。

2.3 RS 485接口電路

該設計采用RS 485總線[5],可通過電纜或光纖將信號有效地遠傳上千米,配合Modbus-RTU協議,可方便地與符合Modbus-RTU協議的控制設備連接。設計中采用MAX3485芯片作為RS 485接口芯片,電路如圖4所示。

圖3 A/D轉換及電平轉換電路

圖4 RS 485接口電路

3 軟件設計

設計中,主要的軟件模塊包括A/D轉換,Modbus-RTU協議和串口編程。對于串口編程不再贅述,主要對MAX1270[6]和Modbus-RTU[7]協議進行說明。

3.1 MAX1270編程

MAX1270的控制字格式如表1所示,最高START為起始位,保持為“1”;SEL2~SEL0為輸入通道選擇位;RNG,BIP分別為量程和極性選擇位;PD1和PD0為掉電和時鐘模式選擇位。各位的具體意義請參考MAX1270數據手冊。該設計中,MAX1270設置為:量程10 V,雙極性輸入(即實現±5 V測量)、外部時鐘25 CLK/s正常操作模式,使用通道CH0作為輸入通道,控制字的格式為10000101。

表1 MAX1270控制字

BIT7(MSB)BIT6BIT5BIT4BIT3BIT2BIT1BIT0(LSB)

STARTSEL2SEL1SEL0RNGBIPPD1PD0

/*函數:max1270_ACQ()功能:讀取A/D轉換數據*/

unsigned int max1270_ACQ()

{

unsigned char cmd;

cmd=0x85;//雙極性正負5 V輸入范圍,通道0,常規操作、外部時鐘模式

unsigned char t=8;

do//寫入控制字

{

max1270_CLK_CLR;

_NOP();

if((cmd & 0x80)==0x80)

max1270_DI_SET;

else

max1270_DI_CLR;

cmd

_NOP();

max1270_CLK_SET;

_NOP();_NOP();

}

while (--t!= 0);

max1270_DI_CLR;

//等待轉換完成

for(int i=5;i>0;i--)

{

max1270_CLK_CLR;//時鐘下降沿

_NOP();_NOP();

max1270_CLK_SET;//時鐘上升沿

_NOP();_NOP();

}

//讀出轉換結果

unsigned int dat=0;

t=12;

do

{

max1270_CLK_CLR;

_NOP();

dat

if(max1270_DO)//DO的輸出為1

dat++;

max1270_CLK_SET;

_NOP();

}

while (--t!=0);

_NOP();_NOP();

max1270_DI_CLR;

max1270_CLK_CLR;

_NOP();_NOP();

return dat;

}

3.2 Modbus-RTU協議

Modbus協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其他設備之間可以通信。Modbus-RTU是Modbus[8]協議的一種傳輸模式,在該模式下,消息中的每個8 b包含2個4 b的16進制字符。Modbus協議的核心程序是CRC校驗[9]程序的編寫。該系統中采用CRC-16校驗法,具體程序實現如下:

//CRC生成和校驗:用于CRC生成和校驗,其中frame為數組指針,n為數據個數//

unsigned int CRC(unsigned char *frame,int n)

{

int i,j;

unsigned int flag,crc;

crc=0xffff;

for(i=0;i

{

crc^=*frame++;

for(j=0;j

{

flag=crc&0x0001;

crc>>=1;

crc&=0x7fff;//crc高位補零

if(flag)

{

crc^=0xa001;//crc xor A001

}

}

}

flag=crc%256;//取模求余得到crc低字節

i=(crc-flag)/256;

crc=flag*256+i;//高低字節交換

return(crc);

}

3.3 其他重要子程序

程序中采用定時器中斷觸發每次采樣,保證采集周期的精度,同時每次采集時都以過零點作為采集數據的開始。這兩點都有利于提高系統精度。

//定時器設置

CCR0=399;//400×0.25 μs=0.1 ms,即采樣周期

設定為10 kHz(10 k/50=200)

TACTL=TASSEL_2+MC_1+TACLR;//MCLK=4 M,Up Mode,CCTL0=CCIE;//CCR0中斷使能

//正過零點判斷

if(AD_Result

Start_Flag=1;//Start_Flag為開始存儲數據的標志

else

Start_Flag=0;

4 測試結果

通過施加標準正弦波、非標準正弦波、三角波測試,可使該表的峰值測量精度高于1級,完全滿足工業現場設備供電檢測的需求。該表與工控組態軟件MCGS[10]配合,工作良好。此外,該表除了測量峰值以外,還擴展了電壓平均值、有效值的計算,設計成一個具有多功能的智能儀表。

5 結 語

該設計以MSP430F449單片機、MAX1270為核心,編寫了Modbus-RTU協議,同時利用RS 485接口可方便地進行數據遠傳或與符合Modbus-RTU協議的設備相連,該表的體積小,功耗低,可使用干電池或蓄電池供電,非常適合作為編攜式設備,隨身攜帶,也可作為功能模塊直接安裝在工業現場設備對電網供電電壓峰值、有效值等參數進行監測。

參考文獻

[1]李玉峰.自動切換量程的峰值電壓檢測系統[J].電測與儀表,1999,36(12):14-16.

[2]陶維青.基于430單片機的新型配電變壓器遠方終端的開發[J].繼電器,2005,33(19):66-69.

[3]魏小龍.MSP430系列單片機接口技術及設計實例[M].北京:北京航空航天大學出版社,2002.

[4]王立新.串行A/D轉換器MAX1270及其應用[J].微計算機信息,2006(12):305-307.

[5]陳樹廣,武君勝.RS 485總線在智能抄表系統中的應用研究[J].微計算機信息,2008(13):148-150.

[6]Maxim Corporation.MAX1270 Datasheet\.2007

[7]王興貴,張明智,杜瑩.Modbus RTU通信協議在智能儀表與工控機通信中的應用[J].低壓電器,2008(2):8-11.

[8]Modbus協議[EB/OL].,2007.

篇5

關鍵詞:風電場;遠程監控;SCADA;Modbus/TCP;PLC

中圖分類號:TP277 文獻標識碼:A 文章編號:1674-7712 (2014) 02-0000-01

對風力發電機組進行遠程監視控制十分必要,而風電廠遠程監控系統的軟件則是重中之重,它直接決定了整個系統的穩定性和效率。

Modbus/TCP協議目前應用廣泛,絕大多數廠商的PLC都支持Modbus/TCP協議,其具有良好的通用性,因此基于Modbus/TCP協議開發客戶端程序已成為風電遠程監控系統一種行之有效的方法。

一、Modbus/TCP協議

Modbus/TCP協議以一種非常簡單的方式將Modbus幀嵌入到TCP幀中,使其成為工業以太網應用層協議,Modbus協議層在TCP之上,其主要完成的任務為:在服務器端,負責解譯來自客戶端的Modbus幀,執行相應的請求[1]。

Modbus TCP協議的幀格式如表1所示。應用協議報頭分為4個部分,數據標識符用來標識Modbus幀的次序,每多發送一個Modbus幀,該值加1;協議標識符用來確認是不是Modbus協議,如果是Modbus協議用1表示,其他協議用0表示;接下來2個字節用來表示后續字節數,即從單元標識符開始一直到數據域結束的字節數,單元標識符用來標識Modbus串行線上的某個設備單元,由于風機都是網絡結構,所以這一字節并沒有實際意義,填0x0或0xFF即可。功能碼的含義如表2所示。數據域則添加要發送的數據,如果是向PLC發送讀請求的話,數據域為要讀取的寄存器起始地址和要讀取的寄存器個數,如果是向PLC發送寫請求,則數據域為要寫入的寄存器起始地址和要寫入的寄存器個數、需要寫入的字節數以及需要寫入的數據。

一、運用C#編程實現通訊

C#是微軟公司設計的一種編程語言,是從C和C++派生來的一種簡單、現代、面向對象和類型安全的編程語言,并且能夠與.NET框架完美結合[2]。

為了簡化網絡編程復雜度,.NET對套接字又進行了封裝,封裝后的類就是.Sockets命名空間下的TcpListener類和TcpClient類。但是要注意,TcpListener和TcpClient只支持標準協議編程。如果希望編寫非標準協議的程序,只能使用套接字來實現[3]。

核心代碼

值得一提的是,由于PLC與計算機的數據存儲方式可能不同,因此需要進行大小端判斷及轉換,轉換可以采用Reverse()方法。軟件界面的設計如圖2所示,通過該界面可以實現對風機進行啟停控制,功率調節,數據采集,繪制圖表,查看故障等功能,可滿足風電場遠程監控系統的絕大部分需求。

三、結束語

實踐表明,該軟件通過Modbus TCP協議與風力發電機組實現了數據交互,可通過上位機對機組進行啟動、停機、復位、限定功率等控制,查看機組各傳感器反饋數據,查看故障代碼,運行穩定,操作簡單,具有實際價值。

參考文獻:

[1]郝曉弘,祖守圓,徐維濤.基于VC的Modbus/TCP協議模型通信測試軟件的實現[J].微計算機信息,2006.

篇6

關鍵詞:Modbus TCP/IP;制冷機組;套接字

中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2008)30-0553-02

Based on The Mobus TCP/IP Protocol Realization

WANG Ke-peng

(Tongji University, Shanghai 201804, China)

Abstract: Based on the combination of the Modbus protocol and TCP/IP protocol, remote network communication was realized. Due to adopting technology of socket and multithread, it makes information of Modbus protocol to be transmited in Internet via TCP/IP protocol, more expanded application of Modbus protocol, and realized remote network communication in Modbus network that is made up of the controller and related chiller devices.

Key words: modbus TCP/IP; chiller; socket

1 引言

Modbus是一種通訊協議,是基于客戶機端和服務器端方式連設備,實現設備間的數據交換。基于Modbus應用協議族的工業以太網解決方案已經逐漸應用于各種現場測控領域。而工業以太網的領先者Modbus TCP/IP也正逐漸成為一種自動化控制的通信協議標準,在我們的風洞監控系統中的子系統制冷機組的監控功能就是利用Modbus TCP/IP 協議來實現了對遠程制冷機組的數據提取和數據傳輸從而達到監控目的。

2 Modbus TCP/IP協議簡介

Modbus/TCP報文服務采用客戶端/服務器的模式交換實時信息,該模式基于以下四種類型的報文:Modbus請求、Modbus確認、Modbus指示和Modbus響應。(如圖1)

請求(Request):客戶端為開始事物處理而發出的信息。

指示(Indication):服務器端接收到的請求信息。

響應(Response):由服務器端發出的響應信息。

確認(Confirmation):客戶端接收到響應信息。

3 Modbus TCP/IP協議結構

常用的Modbus報文格式由附加地址、功能代碼、數據域組成,與通常的Modbus不同,在Modbus/TCP報文不再需要CRC-16或LRC校驗域。因為TCP/IP協議和以太網的鏈路層校驗機制保證了數據包傳遞的正確性。報文的具體格式(如圖2)。

另外,報文中增加的專用的MAPH頭(Modbus Application Protocol Header),用以識別Modbus應用數據單元ADU(Application Data Unit),該頭的具體組成及含義如表1所示。

Modbus TCP功能代碼概要:功能代碼劃分:按應用深淺,可分為3個類別。

類別0,對于客戶機/服務器最小的可用子集:讀多個保持寄存器(fc.3);寫多個保持寄存器(fc.16)。

類別1,可實現基本互易操作的常用代碼:讀線圈(fc.1);讀開關量輸入(fc.2);讀輸入寄存

(fc.4);寫線圈(fc.5);寫單一寄存器(fc.6)。

類別2,用于人機界面、監控系統的例行操作和數據傳送功能:強制多個線圈(fc.15);讀通用寄存器(fc.20);寫通用寄存器(fc.21);屏蔽寫寄存器(fc.22);讀寫寄存器(fc.23)

4 結合Modbus TCP/IP在風洞監測系統的應用

涉及到Modbus TCP/IP通信的模塊流程:其中該模塊用到的Modbus的功能代碼為寫線圈(fc.5)、讀多個保持寄存器(fc.3)。

該模塊對象在風動系統中為chiller,其中封裝了寫線圈(fc.5)和讀多個保持寄存器(fc.3),在模塊對象chiller的接口分別為

ForeceSingleCoils(int _transaction, int _protocolIdentifier, int _length, byte _unitId, byte _function, int _dataAddress, int _inputData)

ReadHoldingRegister(int _transaction, int _protocolIdentifier, int _length, byte _unitId, byte _function, int _dataAddress, int _numUnit)

在服務端有兩臺制冷機組 compressor F1,compressor F2

1) 開關控制步驟:其中A1為對compressor F1的開關控制,A2為對compressor F2的開關控制

首先向server發送連接請求進行基于tcp的以太網的連接,如果連接成功,則做A1到F1的連接,起動過程如下:

由B判斷是否與Server連接成功,如果未連接成功,則轉向繼續想Server請求連接,如果連接成功,則轉向C調用chiller.ForceSingleCoils()再到D調用Assemble()返回封裝好的buffer,最后到E調用m_Socket.SendData().,其中compressor1_ID是compressor F1的unitId。

發命令:chiller.ForceSingleCoils(1, 0, 6, compressor1_ID, 5, 61, 1))->

SubSystemSocket.m_Socket.SendData(Assemble(1, 0, 6, compressor1_ID, 5, 61, 1))(其中Assemble()是根據Modbus tcp規定對數據進行封裝的過程,并返回一個數據塊buffer供套接字作參數發送到server再根據其中的unitId找到對應的compressor,并將其設置為開啟狀態,如果開啟成功,則返回原命令,如果開啟不成功,則把5+80作為functioncode的值返回。

2) 監測compressor各參數數值步驟:

當發送一個讀取數據的命令時由B判斷是否與compressor F1連接成功,如果未連接成功,則轉向繼續向compressor F1請求連接,如果連接成功,則轉向C調用chiller.ReadHoldingRegitsters再到D調用Assemble()返回封裝好的buffer,最后到E調用m_Socket.SendData().,其中compressor1_ID是compressor F1的unitId)

發命令:chiller.ReadHoldingRegisters(1, 0, 6, compressor1_ID, 3, 62, 5))->

SubSystemSocket.m_Socket.SendData(Assemble(1, 0, 6, compressor1_ID, 3, 62, 5))其中Assemble()是根據Modbus tcp規定對數據進行封裝的過程,并返回一個數據塊buffer供套接字作參數發送到server再根據其中的unitId找到對應的compressor,并讀取從_dataAddress開始的連續_numUnit個值,如果讀取成功,則返回值,如果讀取不成功,則把3+80作為functioncode的值返回。

篇7

引 言

每一個油田都擁有眾多的油氣井, 并且分布在山川曠野里,油氣井的管理方式多為由人工每日值守,定時檢查設備運行情況,記錄相關數據。這種方式增加了用工人數,加大了護井工勞動強度,最重要的是影響對設備的監控。當抽油機、電泵出現微小故障時,往往很難被人工及時發現,從而得不到有效地防護與控制[9]。

為了能有效地發現油井、地層、油藏的變化,可用油井遠程測控系統,通過在抽油機上安裝位移傳感器和載荷傳感器,檢測抽油機的工況,實時在線監測抽油機工作參數,及時發現故障并報警,及時維護。本文提出了一種基于rtu的油井遠程測控系統的數據采集與傳輸層設計方案,并將該方案用于實際的井場應用中。

1 油井遠程測控系統總體架構

油井遠程測控系統的總體架構如圖1所示,整個測控系統的組網架構分為現場局域網、企業信息網兩大部分。網絡拓撲采用分層星型拓撲,是為了在中央測控室的中央測控服務器與現場局域網的各個測控服務器的測控對象之間建立更有效的連接方式。每個測控分站設測控服務器,實時發送或讀取的井場設備數據先經測控服務器處理后再并行傳輸到中央測控服務器,這樣既讓等級高的設備預警信號得到現場級的及時響應,又減輕了中央測控服務器處理數據的壓力。web服務器與中央測控服務器通過數據庫服務器連接,這種連接方式使web服務器面向的對象是數據庫服務器,有利于web服務器在處理管理用戶的指令時與中央監控服務器保持一定的時差,避免了相互動作間的沖突[2]。而所有這些數據來自于測控服務器通過井場數據采集與傳輸層得到的。it目前最常見的數據采集與傳輸層的工作方式有圖1所示的兩種情況。其中井場1針對安裝多個傳感器的油氣井,在每個油氣井處安裝一個rtu從站,能夠對該油氣井的傳感器進行統一管理,并在每個井場設置一個rtu主站,采用主叫/從響應的方式,采集各從站的傳感器數據,然后將各從站數據上傳到上位機(測控服務器);井場2針對安裝幾個傳感器的油氣井,在每個井場放置一個rtu,直接將傳感器的數據采集后發送到上位機;為了能夠兼容這兩種工作方式,本文設計了一個基于rtu的數據采集與傳輸層系統軟件。

2 數據采集與傳輸層硬件基礎——rtu

有些油氣田由于地理原因,不易鋪設電纜,本系統引入物聯網技術,加入無線通信zigbee模塊,并利用其自組織原理,實現在井場無線自組織尋址和數據傳輸,可以簡單、方便地實現井場實時數據采集,利用這些有效數據指導油田油氣生產,提高產量,其構成一個物聯網回路,改變了油田生產方式[5]。

油井遠程測控系統rtu采用samsung公司的s3c2440a,具有400 mhz的工作頻率,主要控制數據流的輸入輸出;采用具有2 mb存儲能力的nor flash (en29lv160ab)存儲程序;用有128 mb存儲能力的nand flash(k9f2g08u0b)存儲數據;利用ad轉換器ads7952采集8通道12位模擬數據;系統環境溫度由溫度傳感器tmp100獲得;考慮到zigbee模塊的接口以及有線方式下的長距離傳輸等因素,rtu的串行鏈路口為rs 232及rs 485;為與測控服務器pc機相連,rtu采用dm9000實現以太網連接;rtu的初始配置信息采用e2prom存儲;rtu內還包含隔離電路、控制單元等幾個部分。rtu的硬件框圖如圖2所示。

3 數據采集與傳輸層系統軟件

3.1 數據采集與傳輸層通信協議

modbus通信協議已經非常廣泛地應用于自動控制和通信領域中,通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以實現通信。modbus網絡屬于一種主從網絡,允許一個主站和一個或多個從站通信。它采用命令/應答方式,每種命令報文都對應著一種應答報文。網絡中的每個從站都必須分配一個唯一的地址。主站發出的命令中含有要求訪問的從站地址,只有具有該地址的從站才會對該命令響應。

3.1.1 modbus/rtu通信協議

rtu主/從站串口通信時,通常使用的是modbus/rtu傳輸模式。在modbus報文rtu幀中,如果兩個字符之間的空閑間隔大于1.5個字符時間,那就認為報文幀不完整,此時接收站應該丟棄這個報文。時長至少為3.5個字符時間的空閑間隔將報文幀區分。rtu消息幀的典型格式如表1所列。

表1 modbus/rtu消息幀典型格式

地址設備功能碼數據crc校驗

8 bits8 bits8n bits16 bits

轉貼于

3.1.2 modbus/tcp通信協議

modbus/tcp是一種應用層的協議,上層為 modbus協議,下層為 tcp協議,它規定了網絡互聯節點間的請求/應答的通信方式。幀格式必須嚴格遵守協議所規定的adu(application data unit)格式,才能在以太網上實現數據的傳輸。圖3所示即為 modbus/tcp的數據幀格式[3]。

mbap報文頭 (modbus application protocol header)是tcp/ip使用的專用報文頭,用來識別modbus的應用數據單元。mbap共有 7個字節,其具體組成及含義如表 2所列。

國際互聯網編號分配管理機構iana(internet assigned numbers authority)專門為其賦予了一個tcp端口號502端口,利用tcp發送所有的modbus/tcp adu[1]。

3.1.3 modbus/tcp與modbus rtu數據幀的區別

modbus/tcp雖然包括了從站地址、功能碼和傳輸的數據,但是沒有校驗控制碼,這是因為modbus/tcp校驗功能已經在下面的四層如 tcp/ip協議和鏈路層的校驗機制得到了保證。

3.2 數據采集與傳輸層系統軟件設計

油井遠程測控系統的數據采集與傳輸層主要完成的功能:傳感器數據的采集、傳輸和對繼電器的控制。圖1中提到了兩種常見的工作方式。在井場1中存在rtu主站和從站:主站主要負責對各從站進行輪詢、數據打包和向上位機發送數據,從站主要負責數據的采集、繼電器的控制和輪詢命令的響應,主從站之間的通信使用的是modbus/rtu。在井場2中只存在一個rtu,主要完成數據的采集、繼電器的控制和向上位機發送數據,通信使用的是modbus/tcp。在數據采集與傳輸層的工作過程中,考慮到系統的兼容性,對rtu軟件設計提出了可配置的要求,不需要重新下載程序,只需要使用系統配置軟件就可選擇不同的工作方式和通信方式,這就保證了系統的可操作性和兼容性,系統的適應性大大加強。

在軟件開發過程中,考慮到串行通信速度較慢的特點,采用多線程技術,故引入實時操作系統μc/os_ii,將modbus/rtu通信、modbus/tcp通信等放在單獨的線程中進行,而數據采集和控制等則采用另外的線程實現。

3.2.1 μc/os_ii的移植

μc/os_ii是可移植、可剪裁的搶占式實時多任務操作系統內核,適用于工業控制中的實時監控。本系統成功地將實時操作系統μc/os_ii移植到s3c2440a微處理器上,并實現了modbus通信協議。

μc/os_ii可以管理64個任務,具有信號量、互斥信號量、消息隊列、任務管理、時間管理和內存塊管理等系統功能。μc/os_ii的移植主要包括三部分代碼:μc/os_ii核心代碼、μc/os_ii配置代碼、μc/os_ii移植代碼。其中μc/os_ii移植代碼包括1個匯編文件、1個c程序文件和1個頭文件。這部分代碼與微處理器相關,是移植的關鍵[6]。

3.2.2 modbus通信的實現

rtu與上位機使用modbus/tcp進行以太網通信時,需不斷接收上位機發送的查詢命令,處于服務器(從站)狀態。rtu在使用modbus/rtu進行串口通信時,需單獨完成主從站功能。在實際應用中,不存在modbus/tcp和modbus/rtu的從站并存在同一rtu的情況,因而在程序編寫過程中,modbus/tcp和modbus/rtu的從站使用同一個modbus從站庫,但對其幀頭的處理略有不同。以下分別講述modbus/tcp服務器(從站)在tcp/ip協議棧上的實現以及modbus/rtu主站在串口通信上的實現。

(1) modbus/tcp通信協議實現

由于操作系統μc/os_ii本身沒有tcp/ip協議棧,故先移植嵌入tcp/ip協議棧,再編寫modbus/tcp服務器(從站)程序。在μc/os_ii下嵌入了tcp/ip協議棧后就監聽tcp502端口的連接請求,只有在與客戶機建立了連接之后才能進行數據處理。服務器端在收到客戶機的請求之后,會確認和客戶機的連接,同時接收并分析客戶機的請求報文。如果 mbap報文頭正確,則讀完所有的報文,只有協議類型值為0x00時才對請求幀進行下一步操作,否則直接丟棄報文。接著分析 pdu中的功能代碼,不同的功能對參數要求也不同,最后根據數據域中的參數規定,執行相應的操作。若有錯誤出現,直接丟棄報文,仍繼續處理 pdu的數據顯得不必要,影響實時性。根據對客戶端請求報文的分析處理,有兩種響應結果,一種是正常的響應報文,另一種是異常響應報文,即返回的是錯誤信息。其modbus/tcp的從站通信流程如圖4所示。

圖4 modbus/tcp服務器(從站)設計流程圖

(2) modbus/rtu通信協議實現

modbus主站需要處理發送請求幀、等待應答、處理應答、處理差錯和等待轉換延時等事件。其主站設計流程如圖5所示。

modbus/rtu報文幀是否完整和幀與幀之間的區分可以通過空閑間隔來實現,但這需要使用定時器完成1.5個字符和3.5個字符的定時,并在定時到后,進入接收處理函數,然后實現adu數據到pdu數據的處理。

3.2.3 系統軟件的實現

系統上電后,首先進行初始化操作,主要包括設置串口、定時器等內容,并讀取eeprom中的配置信轉貼于

息,對rtu進行配置,包括主從工作模式選擇、ip地址設置、輪詢的通信方式選擇、傳感器的開關狀態、繼電器輸出狀態等。若處于主站狀態,還可以獲取從站配置信息并配置從站,配置成功后,主站開始對各從站進行掃描,并對從站報文進行處理;每掃描完一個從站,主站就對輪詢到的數據進行存儲;在掃描從站的同時,如果主站傳感器和外部繼電器處于開狀態,會同時采集模擬通道和數字通道的數據并控制外部繼電器,采集到的數據存于相應寄存器中,等待上位機請求命令,按照modbus協議將相應數據打包,并上傳到上位機。若處于從站,采集模擬通道和數字通道的數據并控制外部繼電器,采集到的數據存于相應寄存器中,并等待rtu主站輪詢命令,當輪詢到該從站時,按modbus協議打包數據并發送到rtu主站。不管該rtu是主站還是從站,其tcp/ip的服務器程序一直等待系統配置軟件的配置信息,當收到配置信息后,將數據存入eeprom并復位系統程序,整個系統設計流程圖如圖6所示。

從圖6中可以同時看到modbus/rtu和modbus/tcp的從站處理函數,在實際應用中,rtu處于modbus/rtu主站時,其modbus/rtu從站的處理任務不運行,modbus/tcp從站的處理任務運行,該狀態下rtu可用于圖1中井場1的rtu主站和井場2的rtu兩種情況;處于modbus/rtu從站時,該狀態下rtu可用于圖1中井場1的從站情況,以太網服務器任務只等待配置信息。

4 測試

本系統的測試采用了第三方的modbus測試工具modbus poll v4.3.3、modbus slave v4.3.1和實驗室自主開發的配置軟件。

4.1 輪詢測試

利用系統配置軟件的界面如圖7所示,設置一個rtu主站和兩個rtu從站,在一臺pc機上運行modbus poll程序,模擬modbus/tcp客戶機,通過以太網與rtu主站相連,rtu主從站之間通過無線zigbee模塊(或rs 485模塊)相連。串行通信的波特率設置為38 400 b/s,無校驗位,停止位為1位。

pc端的modbus/tcp客戶機可向rtu主站發送命令,并讀取存于rtu主站輸入寄存器的從站數據。當從站的數字輸入端接高電平(24 v)時,從modbus poll的對應地址可讀取到1,圖8所示是modbus/tcp客戶機接收到的輪詢數據,其中地址500~507為從站1中8通道數字輸入端對應的狀態值;地址508~515為從站2中8通道數字輸入端對應的狀態值。經多次測量,均正確無誤。

4.2 控制測試

pc端模擬的modbus/tcp客戶機向rtu的保持寄存器寫入數據,rtu會將對應寄存器的數據輸出到對應的數字輸出端口,例如地址100對應數字輸出端口0,當對地址100置1時,對應指示燈亮,輸出高電平。

4.3 數據采集測試

轉貼于

rtu模擬輸入端0接一定頻率的正弦波,數字輸入端接高電平信號,利用modbus poll查詢rtu模擬輸入端與數字輸入端的數據。

圖9所示為modbus/tcp客戶機所接收到的采集數據。

rtu采集到數字輸入端的脈沖值以及開關狀態,地址0~7對應相應通道的脈沖值,地址8~15對應相應通道的開關狀態值;地址19為rtu板上的溫度傳感器的值,當前rtu的溫度是24 ℃;地址20~49為模擬通道0采集到的正弦波信號,之后為其他通道采集到的ad值,每個通道的采樣點數和頻率可調。

篇8

關鍵詞:PCC, Modbus RTU協議,變頻器,通訊故障

0引言:

隨著工業的發展,以PLC或PCC為主的自動化儀表系統應用越來越廣泛,這些系統中應用到了各種通信協議,在系統設計中,可能會出現各種通信故障,通訊故障的來源可能是硬件或者軟件,排除時要一一隔離檢測。本文介紹的是一種基于軟件測試硬件的方法。

淄博一家企業的復合管材生產線采用了先進的自動化儀表系統,主要由觸摸屏,PCC和變頻器組成。其中變頻器的通信協議為MODBUS RTU協議。在系統初步設計中,變頻器與PCC的通訊出現故障,變頻器不能執行來自PCC的指令。通過應用MBRTU軟件,發現了故障根源所在,解決了通訊問題。

1MODBUS RTU協議與MBRTU:

1.1 Modbus 協議

Modbus 協議是應用于電子控制器上的一種通用語言。通過此協議,控制器相互之間、控制器經由網絡(例如以太網)和其它設備之間可以通信。它已經成為一通用工業標準。有了它,不同廠商生產的控制設備可以連成工業網絡,進行集中監控。

此協議定義了一個控制器能認識使用的消息結構,而不管它們是經過何種網絡進行通信的。它描述了控制器請求訪問其它設備的過程,如果回應來自其它設備的請求,以及怎樣偵測錯誤并記錄。它制定了消息域格局和內容的公共格式。

當在Modbus 網絡上通信時,此協議決定了每個控制器須要知道它們的設備地址,識別按地址發來的消息,決定要產生何種行動。如果需要回應,控制器將生成反饋信息并用 Modbus 協議發出。在其它網絡上,包含了 Modbus 協議的消息轉換為在此網絡上使用的幀或包結構。這種轉換也擴展了根據具體的網絡解決節地址、路由路徑及錯誤檢測的方法。

MODBUS 協議又可以分為MODBUS RTU協議和MODBUS ASCII協議。在MODBUS RTU協議中,最常用的是4個功能碼,依次是:01讀線圈,03讀寄存器,05寫線圈和06寫寄存器。

1.2MBRTU

MBRTU是由ICPDAS公司編寫的、為測試MODBUS RTU協議中的從站的一個小型軟件。

圖1.1 MBRTU 界面

軟件面板分為幾部分:串口狀態(COM status),協議說明(Protocol Description),查詢模式(Polling mode),計時模式(Timer mode),數據統計(Statistics),命令窗口(Command)以及消息幀窗口(Commands Responses)。

串口狀態用于打開通信串口,在此可以選擇合適的串口,波特率,校驗方式(N:無校驗,E:偶校驗,O:奇校驗),數據位(8:數據位8位,7:數據位7位)和停止位(1:停止位1位,2:停止位2位)。查詢模式打開后,軟件以零等待時間向從機發送消息幀,而計時模式打開后,軟件以固定時間間隔向從機發送消息幀,數據統計用以統計查詢和回應的字節數以及時間等。通訊口打開后在命令窗口輸入查詢指令,點擊“Send Command”按鈕,軟件即可向從機發送指令,打開查詢模式,或者計時模式軟件將不間斷的向從機發送指令,反之點擊一次飛“Send Command”僅向從機發送一次指令。點擊“Clear Lists”可以將消息窗口的數據顯示清除,點擊“Exit Program”可以退出軟件。

2調試過程

2.1 故障現象

將PCC與變頻器聯接后,在PCC上寫入頻率25.0Hz,輸入啟動命令后,電機沒有運轉,PLC數據顯示發送消息幀和接收數據幀時出錯。

2.2調試過程

(1)將變頻器的通信參數設置為波特率9600,校驗方式為偶校驗,停止位為1位,網絡地址為1,同時將變頻器的頻率指令源和運行指令源都設為Modbus網絡輸入。

MBRTU的通信參數設定為與變頻器相同,即9600,E,8,1,通信口選擇COM1。用RS485-232轉換器和RS485通信線將變頻器和電腦聯接起來。

(2)在MBRTU的Command指令中輸入“01 06 00 23 01 F4”,點擊“Send Command”發送該指令。按照協議說明,01表示變頻器的網絡地址,06為寫單個寄存器的功能碼,00 23表示變頻器的頻率寄存器,地址為0x0023, 01 F4轉化成十進制為500,即輸入頻率為50Hz。變頻器返回數據位“01 86 22 C2 79”,其中22 表示變頻器不支持此功能。

在Command指令中輸入“01 05 00 01 FF 00”,即給變頻器寫入運行命令,此時變頻的RUN指示燈亮,但電機仍不運轉。變頻器的RUN燈亮,基本上排除了變頻器和通訊線存在故障的可能。

在不斷的試驗中發現,寫入功能碼01、03和05時,變頻器都能按照期望值給與回復,但寫入06功能碼時,總是返回數據變頻器不支持此功能。用03指令查詢變頻器的輸出頻率(地址為0x000A),結果顯示為0。

初步總結為變頻器的頻率輸入出現錯誤。

2.2故障排除

再次查看變頻器的說明書發現,該變頻器在網絡通信中,頻率來源有兩個:一個是功能代碼,其寄存器地址為0x0023,另一個是網絡頻率輸入,其寄存器地址為0x0001。由于先前在設定變頻器參數時,將其頻率源指令設為Modbus網絡輸入,應該在寫入頻率時,將寄存器地址寫為0x0001。

(1)在Command指令中依次輸入以下三條指令:“01 05 00 01 FF 00”(運行),“01 05 00 02 FF 00”(正轉)和“01 06 00 01 01 F4”輸入頻率50Hz),電機順時針運轉,測得轉速為1440rpm,和預期值相同。改變輸入的轉向和頻率時,電機轉向和轉速都隨之變化。

(2)將變頻器的頻率指令源設為功能代碼,在Command指令中依次輸入以下三條指令:“01 05 00 01 FF 00”(運行),“01 05 00 02 FF 00”(正轉)和“01 06 00 23 01 F4”(輸入頻率50Hz)。電機順時針運轉,轉速為1440rpm,和預期值相同。改變輸入的轉向和頻率時,電機轉向和轉速都隨之變化。

3.結語:

(1)不同的頻率源指令下,變頻器寫頻率的寄存器地址不同,頻率源為功能代碼時,既可以在變頻器的操作器上通過調功能代碼來改變變頻器的輸出頻率,又可以通過在網絡中改變功能碼的寄存器中的數值來調節頻率。但是在頻率源為Modbus網絡輸入時,只能通過調節對應的寄存器的數值來調節頻率。

(2)運用MBRTU可以迅速快捷的找出或排除MODBUS網絡中從機的通信故障。選擇正確的工具軟件可以有效縮短故障檢測和排除時間。

參考文獻

[1]姚福強,高正中,姚福安.基于PLC和變頻器串行通訊的變頻恒壓供水系統[J]. 控制系統,2004,(8):9-10.

[2]孫永民.變頻器結合PLC在供熱系統中的應用[J]. 工程技術,2010,16:70-70.

篇9

系統硬件主要包括主控器、8路溫度傳感器采集電路、無線數據傳輸及遠程計算機,數據通信采用Modbus通信協議。1.1主控器主控器選擇了一款顯控觸摸屏Samkoon-7b,26萬色的4線高精度電阻觸摸屏,兩個通信口COM(RS232、RS422、RS485),色彩豐富,顯示內容較多,控件齊全;特別是除了顯示還可以實現控制,通過串口可與外部部件進行數據的傳輸[3]。本設計使用Modbus協議,使其中一個COM口實現無線數據傳輸到遠程計算機,另外一個COM口實現和數據采集模塊進行數據傳輸。同時,觸摸屏實時顯示當前溫度,顯示界面如圖2所示。觸摸數據采集系統按鈕還可以顯示當前8個溫度傳感器所在的層位及溫度值,具有更加直觀的特點。1.2數據采集電路數據采集電路(見圖3)主要完成溫度數據的采集,以Modbus協議方式將數據傳輸到觸摸屏。其中,控制部件選擇的是性價比高的STC89C51RC,它采用8051核的ISP在系統可編程芯片,最高工作時鐘頻率可以達到80MHz,片內含可反復擦寫的Flash只讀程序存儲器,不需要外擴存儲器,芯片運行速度快、可靠性高[4]。寒地水稻灌溉曬水池中的水溫范圍在4~35℃之內,所以溫度傳感器選擇了美國DALLAS公司生產的數字溫度傳感器DS18B20。它的供電電壓范圍寬在3.0~5.5V,測溫范圍可達到-55~+125℃。DS18B20還具有體積小、功耗低、精度高、可靠性好的特點,單總線易于擴展多路測量,占用I/O口少,便于和單片機連接等優點[5],適合多點測溫系統。在設計中使用了浸水封裝式傳感器,用于防水,滿足系統設計需要。數據采集電路設計了8路溫度采集,加入了一個4位的開關電路,用來設定本采集模塊的地址,串行口可以設計為RS485通信方式或者RS232通信方式。由于只對8點溫度采集,只需要一款采集板,所以選擇了RS232通信方式。若采集點很多,可以將電路改為RS485通信方式。這樣在整個系統中最多可以掛接16塊采集板,采集128點的溫度,也適用于其他需要多路溫度采集的應用場合。1.3無線數據傳輸數據采集電路采集的數據需要傳輸到遠程計算機中,便于存儲、分析、監控。GPRS模式走流量需要花費一定的費用,而曬水池離控制中心距離不到2km,所以選擇了無線數傳模塊YL-500IW。它是一款高穩定性、低功耗、高性價比的采用GFSK調制方式的無線透明數據收發模塊,傳輸距離3000m以上,線高度2m、開闊地無干擾情況下可達4000m,滿足系統需要。無線數傳模塊的RS232接口直接連接到觸摸屏的另外一個COM口中,實現和遠程計算機的數據傳輸。

2系統軟件設計

為了實現觸摸屏與單片機、觸摸屏與遠程計算機的通訊,需解決通訊協議的問題。本設計中使用開放的Modbus通訊協議,在觸摸屏與單片機通信中,以觸摸屏作主站,單片機作從站;在觸摸屏與遠程計算機通信中,設置觸摸屏為從站,計算機為主站。Samkoon觸摸屏本身支持Modbus通訊協議,如果單片機和計算機也支持Modbus協議,它們之間就可以進行通信了。觸摸屏與單片機之間采用的RS232接口直接連接[6],觸摸屏與計算機之間通過無線透明傳輸的模塊的RS-232C接口直接連接,傳輸速率設置為9600kb/s,8位數據位,無校驗位。2.1基于Modbus協議的數據傳輸Modbus協議具有極強的開放性,系統選用的顯控觸摸屏自帶Modbus協議庫[7]。設計者無需了解協議底層規則,直接設置觸摸屏相應串口的外部寄存器,可自動以MODBUS協議形式讀寫外部控制器的數據,軟件開發設計非常簡便,和觸摸屏相連的計算機及單片機自編Modbus協議,就可以實現三方數據通信了。支持Modbus協議常用的功能碼如表1所示。通過這些功能碼,可讀寫的地址有LB(位地址)、LW(字地址)、RWI(字地址)。系統主要使用了Modbus協議中的ReadHoldingRegisters報文(功能碼03)來傳送信息[8]。系統的設計中采用了兩套采集裝置:一套用于曬水池水溫監測:另一套用于稻田水溫監測。所以,兩個觸摸屏作為從機時,設置地址分別為01,02。在數據傳輸的過程中,作為主機的計算機向從機觸摸屏發送指令。主機觸摸屏向從機單片機發送的指令格式如表2所示,從機應答格式如表3所示。其數據都是以十六進制的形式發送和接收。從機接收到的指令經過CRC校驗,如果正確,則執行相應傳送命令。主機接收到數據后,同樣需要經過CRC校驗,如果正確開始接收傳感器數據。兩個字節一個數據,分別對應各區溫度值,一共8個區16個字節數據;但在顯示時需要將數據除以10,避免有浮點數傳輸而增加工作量,因為在單片機采集端已經將數據乘以10,使數據作為整數傳輸。2.2系統軟件流程系統軟件主要分為兩部分:一是采集電路與觸摸屏間的數據通信,流程圖如圖4所示。觸摸屏作為主機,單片機為從機,觸摸屏發出指令,從機接收到以后送相應的數據,觸摸屏接收后顯示。二是觸摸屏與遠程計算機間數據通信,流程圖如圖5所示。計算機作為主機,觸摸屏設置為從機,計算機發送傳輸數據指令,觸摸屏接收后,將從單片機所傳輸來的數據再傳輸給計算機,完成整個數據的采集、顯示、傳輸。所有通信及定時均以中斷的方式實現,相應的處理程序在主程序中執行。Modbus通信應答程序負責完成一次Modbus通信過程,包括解析主站報文、打包從站響應報文及控制通信接口收發操作。

3試驗與應用

本系統在黑龍江省勝利農場進行實際應用,設置了兩個采集點:一個采集曬水池中8個位置的溫度數據,實現對水溫的監測;另外一個采集水稻田中不同層位水溫,采集了大量數據用于分析水溫對水稻生長的影響。系統在運行中數據采集誤差小于±0.5℃,沒有發現錯誤數據,證明該系統傳輸數據可靠、準確。

4結語

篇10

關鍵詞,軸流風機,PLC,變頻器

中圖分類號:TN77文獻標識碼: A

1 引言

津濱輕軌西段工程中,在每個車站兩端的排熱風道內各設置1臺單向運轉耐高溫軸流排熱風機,它們各自承擔半個車站的軌頂排風和站臺下排風。其主要用于正常運營時排除車站屏蔽門外停車線區間的余熱,以減少列車發熱量對車站區間的影響。

根據地鐵運營中對單向軸流排熱風機使用的實際要求,風機控制系統應根據相關傳感器的監測數據來調節風機的頻率,進而通過頻率的變化來改變風機的風量,達到排風的目的。本文在控制系統的設計上采用了PLC加變頻器技術的方法,實現了風機控制在地鐵的實際應用需要并同時滿足節能減排的要求。

2系統的控制原理

風機控制系統主要采用了施耐德公司生產的Modicon系列M218型PLC和ATV61系列變頻器等電氣元件產品,其控制電路原理如圖1所示。

圖 1 軸流風機控制電路原理圖

根據地鐵對設備兩級管理和三級控制的要求,風機控制除了現場的就地控制,還需要滿足地鐵環境與設備監控系統(BAS)對風機的遠程監視與控制功能[1]。控制系統經由風機電氣控制柜面板上的按鈕或車控室內的上位機軟件對變頻器的參數值和啟停命令進行設置,PLC在接收到這些控制命令和參數后,根據邏輯判斷,然后對變頻器進行相應控制,這樣就通過頻率的變化達到了控制風機風量的目的。

為了在地鐵發生火災的緊急情況下,能夠快速啟動風機配合排煙,系統還設計了旁路運行控制方式,即在緊急情況下跨過用變頻器來控制風機而采用直接工頻啟動的方式達到滿負荷排煙的功能。

3 PLC與變頻器的Modbus通信

通過變頻器的操作面板,端子接線或模擬量信號進行控制都無法滿足遠程監控的目的,同時采用這幾中方式還存在著配置參數只能采用本地設置,接線點多,模擬量傳輸不穩定等問題。通過Modbus通信的方式實現PLC與變頻器的控制則能有效的克服以上變頻器控制方法的不足。

3.1 Modbus 協議

Modbus 協議是一個完全開放的分級結構 (主從式) 異步串行通訊協議,可使主站對一個或多個智能型從站進行訪問,主站和從站之間允許多點連接。過此協議,控制器之間、控制器經由網絡(例如以太網)和其它設備之間可以進行通信。

Modbus協議在串行鏈路常用的串行傳輸模式有兩種方式,ASCII和RTU方式,系統中采用了RTU方式,這種傳輸模式的報文以純二進制的方式傳送,即每8位字節表示兩個十六進制數。以較高的數據密度實現了更快的吞吐率[3]。

Modbus串行鏈路協議作為主從協議,在同一時間,只能有一個主站連接在總線上。主站用兩種模式向從站發送Modbus請求:單播模式和廣播模式。單播模式下主站尋址單個從站,Modbus事務處理包含主站請求和從站應答兩個報文。廣播模式下主站向所有從站發送請求從站無應答。不同的功能碼對應不同的請求模式[3]。

3.2PLC與變頻器的連接

M218 PLC的自帶編程接口可直接與其他支持Modbus協議的設備進行通信,也可以擴展端口,通過擴展通信模塊或通信適配器實現擴展第二路通信端口。

變頻器的Modbus通信采用的是Modbus RTU方式,通過RS485標準總線,采用RJ45連接端口進行連接。PLC與變頻器的連線如圖2所示。

圖 2 M218 PLC 與 ATV61 變頻器的連接

3.3PLC程序設計

PLC的通信程序采用梯形圖編寫。梯形圖是PLC使用得較多的圖形編程語言,其與電氣控制系統的電路圖很相似,具有直觀易懂的優點,可將整個控制程序分為多個子程序段調用,邏輯清晰,方便調試[4]。PLC關于通信部分的程序如圖3所示。

圖 3 Modbus通信的子程序段

應用Modbus通信方式進行風機控制的優勢主要體現在以下幾個方面:

(1)通過Modbus可以實現遠程控制和監視。變頻器配置參數、故障報警、運行時間等信息可以通過設置在車控室的BAS工作站的上位機軟件來顯示,并且便于數據的記錄,統一管理和系統的后續開發。車站的站務或維護人員能夠通過上位機在線對變頻器的參數進行修改,這樣就減少了硬節點,省去了模擬量模塊,節約了成本,系統的穩定性和精度還得到了提高。

(2)通過Modbus通信實現了BAS系統對全線風機的模式控制和統一調度。在正常運行工況下,OCC工作站和車站工作站根據權限的劃分,能夠顯示并且控制軸流風機及其相應風閥的工作狀態,風機按正常工況模式運行;在車站公共區火災工況下,風機及其相應的風閥能夠接受OCC或車站的控制;而在區間事故工況下,全線的風機可以由OCC的中央控制室統一調度并處理事故。

4結束語

本文提出的地鐵軸流風機控制系統設計合理、自動化程度高、可靠性好,充分發揮了PLC和變頻器的高可靠性、抗干擾性和調試方便的特點,能夠有效地保證風機在運營中和緊急情況下的運行要求。同時采用基于Modbus的通信技術,實現了對風機運行和狀態的遠程監視和控制。

參考文獻

[1]曲立東.城市軌道交通環境與設備監控系統設計與應用[M].北京:電子工業出版社,2008.

[2]GB50157-2003地鐵設計規范[S].

[3]荊文利.Modbus協議中有關RTU傳輸模式的應用[J].紡織機械,2008(5): 34-36.

[4]楊躍宗.淺談PLC梯形圖的設計方法[J].機床電器,2009(2):39-41.

作者簡介: