《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于MODBUS協(xié)議的工業(yè)智能通信模塊的設計
基于MODBUS協(xié)議的工業(yè)智能通信模塊的設計
www.szbase.com
汪獻忠,劉巍,呂運朋
摘要: 工業(yè)現(xiàn)場測量多采用獨立的儀表,,具有各參數(shù)監(jiān)測的非實時控制以及人工采集數(shù)據(jù)重復勞動量大等缺點,且對采集系統(tǒng)的組網(wǎng)使用自定的協(xié)議,,通用性和可移植性比較差。為此設計了基于MODBUS協(xié)議和RS-485總線的工業(yè)智能通訊模塊,,它可以對不同儀表的輸出信號進行統(tǒng)一方式的數(shù)據(jù)采集并按照統(tǒng)一的通訊協(xié)議對數(shù)據(jù)進行遠傳。具有功耗小,、結構簡單,、使用方便且抗干擾能力強等特點。
Abstract:
Key words :

 

  工業(yè)現(xiàn)場測量多采用獨立的儀表,,具有各參數(shù)監(jiān)測的非實時控制以及人工采集數(shù)據(jù)重復勞動量大等缺點,,且對采集系統(tǒng)的組網(wǎng)使用自定的協(xié)議,通用性和可移植性比較差,。為此設計了基于MODBUS協(xié)議和RS-485總線的工業(yè)智能通訊模塊,,它可以對不同儀表的輸出信號進行統(tǒng)一方式的數(shù)據(jù)采集并按照統(tǒng)一的通訊協(xié)議對數(shù)據(jù)進行遠傳。具有功耗小,、結構簡單,、使用方便且抗干擾能力強等特點。

    1 模塊總體設計和功能

    自動化系統(tǒng)基本上是采用4~20 mA(或0~10 V)模擬信號或者帶有標準的RS-232接口的儀表進行檢測和控制的,??傮w的設計原則是要求通訊模塊以其通用性、多功能和低功耗等特點,,可以作為儀表本身傳輸數(shù)據(jù)以及組網(wǎng)的一種功能,,直接組裝到儀表內(nèi)部,由儀表供電,。也可以單獨作為一種功能模塊,,與控制系統(tǒng)的檢測儀表或模擬數(shù)據(jù)采集系統(tǒng)配合使用,由電池供電,。并且通訊模塊是基于遠程控制的數(shù)據(jù)采集,,不僅要求能夠準確地接收、識別發(fā)送至通訊模塊的命令字符串,,還要求準確無誤地返回設備的狀態(tài)信息,,同時還要根據(jù)命令字符串的控制指示對采集數(shù)據(jù)等進行正確的控制。

    通訊模塊的總體設計大致分為硬件設計和軟件設計兩個部分,。在硬件設計上盡可能地選用低功耗的器件,,在軟件編程上實現(xiàn)元器件的低功耗編程控制。

    2 通訊模塊硬件框圖與設計原理

    通訊模塊的硬件設計要求既能有數(shù)字通道對RS-232電平信號進行處理,,又存在模擬通道對模擬信號進行處理和遠傳,。其控制器核心采用的是Flash型超低功耗16位單片機MSP430F149o該單片機具有集成度高(片內(nèi)集成12A/D、硬件乘法器,、模擬比較口以及雙串行接口等模塊),、功能豐富、超低功耗(在LPM4時可達0.1μA)等技術特點的單片機,它有多種功耗狀態(tài)可以編程控制,,并可利用雙串口,、低功耗等功能以及C語言編程來實現(xiàn)對整個通訊模塊功能的設置。模塊通訊模塊硬件原理框圖如圖1所示,。

   

    2.1 模擬信號通道

    在模擬信號傳輸通道中,,模數(shù)轉換的處理采用了AD7715,AD7715具有16位無誤碼輸出,0.0015%非線性度,,前端增益可編程,、內(nèi)設自校準電路和低功耗等優(yōu)點。模擬電流和電壓信號可轉換為符合其輸人范圍內(nèi)的電壓信號,,輸人AD7715進行A/D轉換,。由單片機控制實現(xiàn)AD7715的初始化和數(shù)據(jù)采集等。

    2.2 RS-232接口電路

    MAX3221采用單電源供電,,電源接人方式簡單,,內(nèi)部由1個線性驅動,1個接收器,,帶±15kVESD保護的雙速電荷泵電路組成,。可以實現(xiàn)RS-232電平到TTL電平的轉換,。MAX3221的另一優(yōu)點是自動掉電功能。當無輸入信號時,,可通過單片機的控制驅動器和接收器都將關閉,,進人很低功耗的待機狀態(tài)(1μA),達到節(jié)能目的,。

    2.3 RS-485接口電路

    由于基于差分信號傳輸?shù)?span>RS-485總線本身具有抗干擾能力強等特點,,系統(tǒng)采用RS-485的通訊方式與主控機進行遠距離的通訊。要求無論是模擬信號還是RS-232信號通過單片機采集處理后,,均可以用RS-485通訊方式進行遠傳,。電路中采用了DC-DC隔離電源供電,并在單片機與RS-485通訊電路之間采用了高速光電耦合進行隔離,,從而進一步提高了整個通訊模塊系統(tǒng)的抗干擾能力,。MSP430F149串口2TTL電平到RS-485接口電平的轉換采用的是芯片75176。通過RS-485總線的方式進行多機通訊時,,如果某時刻某個75176DE端電位為“1”,,那么它的RS-485總線輸出將會處于發(fā)送狀態(tài),占用了通訊總線,,這時其他的分機就無法與主機進行通訊,。如果某個分機出現(xiàn)異常情況下(如死機),就會一直占用總線,導致整個系統(tǒng)通訊崩潰,。因此在電路設計時,,要保證系統(tǒng)上電復位時75176DE端電位為“0”,采用如圖2的接法,。由于MSP430在復位期間,,I/0口電位為“1”,發(fā)光管不發(fā)光,,光電三極管不導通,,75176DE端電位為“0”,釋放總線,,從而有效地解決復位期間分機“咬”總線的問題,。增強了系統(tǒng)通訊的可靠性和穩(wěn)定性,同時有效地解決了工,,作現(xiàn)場與控制室之間的分離,,保證了工作人員人身安全。

   

    2.4 單片機控制的M.DBUS通訊原理

    目前,,工業(yè)上的MODBUS通訊協(xié)議已經(jīng)成為電子控制器上的一種通用語言協(xié)議,。通過此協(xié)議,控制器相互之間,、控制器經(jīng)由網(wǎng)絡(例如以太網(wǎng))和其它設備之間可以通訊,。它已經(jīng)成為一通用工業(yè)標準。用它來實現(xiàn)不同廠商生產(chǎn)的控制設備連成工業(yè)網(wǎng)絡,,進行集中監(jiān)控,。

    基于此,可以根據(jù)實際工業(yè)網(wǎng)絡數(shù)據(jù)采集的一主多從的實際數(shù)據(jù)選擇模型,,該模塊采用了此協(xié)議,,因為協(xié)議定義了一個控制器能認識使用的消息結構,而不管它們是經(jīng)過何種網(wǎng)絡進行通訊的,。因此不管上位機是什么樣類型的測控設備,,就按固定的MODBUS通訊協(xié)議要求的協(xié)議格式來回應來自主設備的請求,并進行偵測錯誤記錄,。按照協(xié)議中要求的消息域格局和內(nèi)容的公共格式回應,。

    MODBUS通訊網(wǎng)絡上,此協(xié)議要求通訊時必須知道每個通訊模塊的設備地址,,每個通訊模塊識別按地址發(fā)來的消息,,根據(jù)功能碼來決定要產(chǎn)生何種動作。如果需要回應,,控制器將生成相應的反饋信息并用MODBUS協(xié)議發(fā)出,。

    通訊模塊在用MSP430F149單片機控制通訊時采用了MODBUS協(xié)議支持的兩種數(shù)據(jù)傳輸模式:ASCII模式及RTU模式,。ASCII模式中字符串每個8位字節(jié)分2ASCII碼發(fā)送。RTU模式字符格式中每8位字符分2416進制格式數(shù)據(jù)傳送,。

    ASCII模式的消息格式如下:

   

    同種情況下,,RTU模式傳輸速度要優(yōu)于ASCII模式。從兩種模式上可以看出,,功能碼占用8位,,可以應用的功能有255個,在系統(tǒng)用MODBUS組網(wǎng)的過程中,,主要應用了前4個功能碼:01-讀取線圈狀態(tài);02-讀取輸人狀態(tài),;03-讀取保持寄存器;04-讀取輸入寄存器,。

    根據(jù)上述要求和通訊模塊通用性的實際情況,,該模塊上添加了2個按鍵、18位撥碼開關和多個指示燈進行例如數(shù)據(jù)_傳輸模式,、波特率,、地址、數(shù)據(jù)位等參數(shù)的設置,。內(nèi)部的軟件編_程按照:按“設置”鍵,,相應功能的指示燈亮,然后用撥碼開關對其進行設置,,按“確認”鍵讀入單片機,。如此可依次對數(shù)據(jù)傳輸模式、串口屬性等進行設置,。

    3 軟件實現(xiàn)

    系統(tǒng)軟件以MODBUS通訊協(xié)議為核心基礎,,附以自定義的通訊協(xié)議,以標準的MODBUS通訊協(xié)議為對外接口,,以自己定_義的通訊協(xié)議為對下位機的通訊接口,,以此來實現(xiàn)通訊的連接轉換,。軟件分4部分:

   

    (1)模數(shù)轉換部分,,實現(xiàn)模擬信號的數(shù)據(jù)采集。

    (2)下位機的串口軟件,。由實際儀表的通訊協(xié)議定義的下位機通訊軟件,,重點是要看實際儀表的通訊方式。

    (3) MODBUS通訊軟件,。重點是要分清每個通訊的數(shù)據(jù)幀的幀頭和幀尾,,特別是在RTU模式下,必須分清幀頭在什么位置,。做法是在串口中斷中打開定時中斷,,在通訊間隔超過通訊3.5個字符時認為通訊一幀結束,,再來串口中斷就是下一幀的開始。

    (4)數(shù)據(jù)處理軟件,。MODBUS通訊協(xié)議建立在CRC校驗基礎之上,,因此通訊可靠性比較好,在軟件中采用查表的方式來進行MODBUS校驗,,極大地提高了程序運行的效率,。

    4 結束語

    該通訊模塊是針對工業(yè)上來自不同廠商生產(chǎn)的檢測儀表進行組網(wǎng)數(shù)據(jù)采集的??梢詫ΜF(xiàn)場工業(yè)儀表輸出的標準的模擬信號和RS-232數(shù)字信號進行軟件處理,,并以MODBUS通訊協(xié)議的形式上傳到上位機控制系統(tǒng),實現(xiàn)進一步的存儲和控制等處理,。在投人運行中,,模塊本身實現(xiàn)了實時性、可靠性,、組網(wǎng)簡單化等特點,。隨著工控組態(tài)軟件的廣泛采用,提高了系統(tǒng)的成功率和可靠性,。帶有標準協(xié)議的通用型數(shù)據(jù)采集模塊有廣泛應用,。

 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載,。