基于MODBUS協(xié)議的工業(yè)智能通信模塊設(shè)計(jì)方案
工業(yè)現(xiàn)場(chǎng)測(cè)量多采用獨(dú)立的儀表,具有各參數(shù)監(jiān)測(cè)的非實(shí)時(shí)控制以及人工采集數(shù)據(jù)重復(fù)勞動(dòng)量大等缺點(diǎn),且對(duì)采集系統(tǒng)的組網(wǎng)使用自定的協(xié)議,通用性和可移植性比較差。為此設(shè)計(jì)了基于MODBUS協(xié)議和RS-485總線的工業(yè)智能通訊模塊,它可以對(duì)不同儀表的輸出信號(hào)進(jìn)行統(tǒng)一方式的數(shù)據(jù)采集并按照統(tǒng)一的通訊協(xié)議對(duì)數(shù)據(jù)進(jìn)行遠(yuǎn)傳。具有功耗小、結(jié)構(gòu)簡(jiǎn)單、使用方便且抗干擾能力強(qiáng)等特點(diǎn)。
1 模塊總體設(shè)計(jì)和功能
自動(dòng)化系統(tǒng)基本上是采用4~20 mA(或0~10 V)模擬信號(hào)或者帶有標(biāo)準(zhǔn)的RS-232接口的儀表進(jìn)行檢測(cè)和控制的??傮w的設(shè)計(jì)原則是要求通訊模塊以其通用性、多功能和低功耗等特點(diǎn),可以作為儀表本身傳輸數(shù)據(jù)以及組網(wǎng)的一種功能,直接組裝到儀表內(nèi)部,由儀表供電。也可以單獨(dú)作為一種功能模塊,與控制系統(tǒng)的檢測(cè)儀表或模擬數(shù)據(jù)采集系統(tǒng)配合使用,由電池供電。并且通訊模塊是基于遠(yuǎn)程控制的數(shù)據(jù)采集,不僅要求能夠準(zhǔn)確地接收、識(shí)別發(fā)送至通訊模塊的命令字符串,還要求準(zhǔn)確無(wú)誤地返回設(shè)備的狀態(tài)信息,同時(shí)還要根據(jù)命令字符串的控制指示對(duì)采集數(shù)據(jù)等進(jìn)行正確的控制。
通訊模塊的總體設(shè)計(jì)大致分為硬件設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)部分。在硬件設(shè)計(jì)上盡可能地選用低功耗的器件,在軟件編程上實(shí)現(xiàn)元器件的低功耗編程控制。
2 通訊模塊硬件框圖與設(shè)計(jì)原理
通訊模塊的硬件設(shè)計(jì)要求既能有數(shù)字通道對(duì)RS-232電平信號(hào)進(jìn)行處理,又存在模擬通道對(duì)模擬信號(hào)進(jìn)行處理和遠(yuǎn)傳。其控制器核心采用的是Flash型超低功耗16位單片機(jī)MSP430F149o該單片機(jī)具有集成度高(片內(nèi)集成12位A/D、硬件乘法器、模擬比較口以及雙串行接口等模塊)、功能豐富、超低功耗(在LPM4時(shí)可達(dá)0.1μA)等技術(shù)特點(diǎn)的單片機(jī),它有多種功耗狀態(tài)可以編程控制,并可利用雙串口、低功耗等功能以及C語(yǔ)言編程來(lái)實(shí)現(xiàn)對(duì)整個(gè)通訊模塊功能的設(shè)置。模塊通訊模塊硬件原理框圖如圖1所示。
圖1 通訊模塊硬件原理框圖
2.1模擬信號(hào)通道
在模擬信號(hào)傳輸通道中,模數(shù)轉(zhuǎn)換的處理采用了AD7715,AD7715具有16位無(wú)誤碼輸出,0.0015%非線性度,前端增益可編程、內(nèi)設(shè)自校準(zhǔn)電路和低功耗等優(yōu)點(diǎn)。模擬電流和電壓信號(hào)可轉(zhuǎn)換為符合其輸人范圍內(nèi)的電壓信號(hào),輸人AD7715進(jìn)行A/D轉(zhuǎn)換。由單片機(jī)控制實(shí)現(xiàn)AD7715的初始化和數(shù)據(jù)采集等。
2.2 RS-232接口電路
MAX3221采用單電源供電,電源接人方式簡(jiǎn)單,內(nèi)部由1個(gè)線性驅(qū)動(dòng),1個(gè)接收器,帶±15kVESD保護(hù)的雙速電荷泵電路組成。可以實(shí)現(xiàn)RS-232電平到TTL電平的轉(zhuǎn)換。MAX3221的另一優(yōu)點(diǎn)是自動(dòng)掉電功能。當(dāng)無(wú)輸入信號(hào)時(shí),可通過(guò)單片機(jī)的控制驅(qū)動(dòng)器和接收器都將關(guān)閉,進(jìn)人很低功耗的待機(jī)狀態(tài)(1μA),達(dá)到節(jié)能目的。
2.3 RS-485接口電路
由于基于差分信號(hào)傳輸?shù)腞S-485總線本身具有抗干擾能力強(qiáng)等特點(diǎn),系統(tǒng)采用RS-485的通訊方式與主控機(jī)進(jìn)行遠(yuǎn)距離的通訊。要求無(wú)論是模擬信號(hào)還是RS-232信號(hào)通過(guò)單片機(jī)采集處理后,均可以用RS-485通訊方式進(jìn)行遠(yuǎn)傳。電路中采用了DC-DC隔離電源供電,并在單片機(jī)與RS-485通訊電路之間采用了高速光電耦合進(jìn)行隔離,從而進(jìn)一步提高了整個(gè)通訊模塊系統(tǒng)的抗干擾能力。MSP430F149串口2的TTL電平到RS-485接口電平的轉(zhuǎn)換采用的是芯片75176。通過(guò)RS-485總線的方式進(jìn)行多機(jī)通訊時(shí),如果某時(shí)刻某個(gè)75176的DE端電位為“1”,那么它的RS-485總線輸出將會(huì)處于發(fā)送狀態(tài),占用了通訊總線,這時(shí)其他的分機(jī)就無(wú)法與主機(jī)進(jìn)行通訊。如果某個(gè)分機(jī)出現(xiàn)異常情況下(如死機(jī)),就會(huì)一直占用總線,導(dǎo)致整個(gè)系統(tǒng)通訊崩潰。因此在電路設(shè)計(jì)時(shí),要保證系統(tǒng)上電復(fù)位時(shí)75176的DE端電位為“0”,采用如圖2的接法。由于MSP430在復(fù)位期間,I/0口電位為“1”,發(fā)光管不發(fā)光,光電三極管不導(dǎo)通,75176的DE端電位為“0”,釋放總線,從而有效地解決復(fù)位期間分機(jī)“咬”總線的問(wèn)題。增強(qiáng)了系統(tǒng)通訊的可靠性和穩(wěn)定性,同時(shí)有效地解決了工,作現(xiàn)場(chǎng)與控制室之間的分離,保證了工作人員人身安全。
圖2 RS-485接口原理圖
2.4 單片機(jī)控制的M.DBUS通訊原理
目前,工業(yè)上的MODBUS通訊協(xié)議已經(jīng)成為電子控制器上的一種通用語(yǔ)言協(xié)議。通過(guò)此協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)(例如以太網(wǎng))和其它設(shè)備之間可以通訊。它已經(jīng)成為一通用工業(yè)標(biāo)準(zhǔn)。用它來(lái)實(shí)現(xiàn)不同廠商生產(chǎn)的控制設(shè)備連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控。
基于此,可以根據(jù)實(shí)際工業(yè)網(wǎng)絡(luò)數(shù)據(jù)采集的一主多從的實(shí)際數(shù)據(jù)選擇模型,該模塊采用了此協(xié)議,因?yàn)閰f(xié)議定義了一個(gè)控制器能認(rèn)識(shí)使用的消息結(jié)構(gòu),而不管它們是經(jīng)過(guò)何種網(wǎng)絡(luò)進(jìn)行通訊的。因此不管上位機(jī)是什么樣類(lèi)型的測(cè)控設(shè)備,就按固定的MODBUS通訊協(xié)議要求的協(xié)議格式來(lái)回應(yīng)來(lái)自主設(shè)備的請(qǐng)求,并進(jìn)行偵測(cè)錯(cuò)誤記錄。按照協(xié)議中要求的消息域格局和內(nèi)容的公共格式回應(yīng)。
在MODBUS通訊網(wǎng)絡(luò)上,此協(xié)議要求通訊時(shí)必須知道每個(gè)通訊模塊的設(shè)備地址,每個(gè)通訊模塊識(shí)別按地址發(fā)來(lái)的消息,根據(jù)功能碼來(lái)決定要產(chǎn)生何種動(dòng)作。如果需要回應(yīng),控制器將生成相應(yīng)的反饋信息并用MODBUS協(xié)議發(fā)出。
通訊模塊在用MSP430F149單片機(jī)控制通訊時(shí)采用了MODBUS協(xié)議支持的兩種數(shù)據(jù)傳輸模式:ASCII模式及RTU模式。ASCII模式中字符串每個(gè)8位字節(jié)分2個(gè)ASCII碼發(fā)送。RTU模式字符格式中每8位字符分2個(gè)4位16進(jìn)制格式數(shù)據(jù)傳送。
ASCII模式的消息格式如下:
同種情況下,RTU模式傳輸速度要優(yōu)于ASCII模式。從兩種模式上可以看出,功能碼占用8位,可以應(yīng)用的功能有255個(gè),在系統(tǒng)用MODBUS組網(wǎng)的過(guò)程中,主要應(yīng)用了前4個(gè)功能碼:01-讀取線圈狀態(tài);02-讀取輸人狀態(tài);03-讀取保持寄存器;04-讀取輸入寄存器。
根據(jù)上述要求和通訊模塊通用性的實(shí)際情況,該模塊上添加了2個(gè)按鍵、1個(gè)8位撥碼開(kāi)關(guān)和多個(gè)指示燈進(jìn)行例如數(shù)據(jù)_傳輸模式、波特率、地址、數(shù)據(jù)位等參數(shù)的設(shè)置。內(nèi)部的軟件編_程按照:按“設(shè)置”鍵,相應(yīng)功能的指示燈亮,然后用撥碼開(kāi)關(guān)對(duì)其進(jìn)行設(shè)置,按“確認(rèn)”鍵讀入單片機(jī)。如此可依次對(duì)數(shù)據(jù)傳輸模式、串口屬性等進(jìn)行設(shè)置。
3 軟件實(shí)現(xiàn)
系統(tǒng)軟件以MODBUS通訊協(xié)議為核心基礎(chǔ),附以自定義的通訊協(xié)議,以標(biāo)準(zhǔn)的MODBUS通訊協(xié)議為對(duì)外接口,以自己定_義的通訊協(xié)議為對(duì)下位機(jī)的通訊接口,以此來(lái)實(shí)現(xiàn)通訊的連接轉(zhuǎn)換。軟件分4部分:
圖3 通訊模塊軟件系統(tǒng)功能框圖
(1)模數(shù)轉(zhuǎn)換部分,實(shí)現(xiàn)模擬信號(hào)的數(shù)據(jù)采集。
(2)下位機(jī)的串口軟件。由實(shí)際儀表的通訊協(xié)議定義的下位機(jī)通訊軟件,重點(diǎn)是要看實(shí)際儀表的通訊方式。
(3) MODBUS通訊軟件。重點(diǎn)是要分清每個(gè)通訊的數(shù)據(jù)幀的幀頭和幀尾,特別是在RTU模式下,必須分清幀頭在什么位置。做法是在串口中斷中打開(kāi)定時(shí)中斷,在通訊間隔超過(guò)通訊3.5個(gè)字符時(shí)認(rèn)為通訊一幀結(jié)束,再來(lái)串口中斷就是下一幀的開(kāi)始。
(4)數(shù)據(jù)處理軟件。MODBUS通訊協(xié)議建立在CRC校驗(yàn)基礎(chǔ)之上,因此通訊可靠性比較好,在軟件中采用查表的方式來(lái)進(jìn)行MODBUS校驗(yàn),極大地提高了程序運(yùn)行的效率。
4 結(jié)束語(yǔ)
該通訊模塊是針對(duì)工業(yè)上來(lái)自不同廠商生產(chǎn)的檢測(cè)儀表進(jìn)行組網(wǎng)數(shù)據(jù)采集的??梢詫?duì)現(xiàn)場(chǎng)工業(yè)儀表輸出的標(biāo)準(zhǔn)的模擬信號(hào)和RS-232數(shù)字信號(hào)進(jìn)行軟件處理,并以MODBUS通訊協(xié)議的形式上傳到上位機(jī)控制系統(tǒng),實(shí)現(xiàn)進(jìn)一步的存儲(chǔ)和控制等處理。在投人運(yùn)行中,模塊本身實(shí)現(xiàn)了實(shí)時(shí)性、可靠性、組網(wǎng)簡(jiǎn)單化等特點(diǎn)。隨著工控組態(tài)軟件的廣泛采用,提高了系統(tǒng)的成功率和可靠性。帶有標(biāo)準(zhǔn)協(xié)議的通用型數(shù)據(jù)采集模塊有廣泛應(yīng)用。
提交
新大陸自動(dòng)識(shí)別精彩亮相2024華南國(guó)際工業(yè)博覽會(huì)
派拓網(wǎng)絡(luò)被Forrester評(píng)為XDR領(lǐng)域領(lǐng)導(dǎo)者
智能工控,存儲(chǔ)強(qiáng)基 | ??低晭?lái)精彩主題演講
展會(huì)|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會(huì)
中國(guó)聯(lián)通首個(gè)量子通信產(chǎn)品“量子密信”亮相!