摘要:針對(duì)水庫底部涵管洩(xie)水的流量計
量問(wen)題,讨論了一種電(diàn)磁流量計及其數(shù)據遠傳的Modbus協✏️議和(he)方法,詳細解析了(le)流量計存儲器數(shù)據格式、浮點🧑🏾🤝🧑🏼數據(ju)轉換以及CRC校驗等(děng)問題。系統設計的(de)抗幹♌擾浪湧🛀吸收(shōu)電路改善了戶外(wài)💜現場儀表數據傳(chuán)輸的可靠性。經運(yun)行實踐證明,給出(chū)的系統結構和方(fang)法能夠适應電磁(ci)流量計
數據的遠(yuan)程傳輸。
在水庫工(gōng)程管理中,特别是(shi)那些擔負供水任(ren)務的水庫🔞,統🐆計每(mei)天經底部涵管所(suo)洩放的水量是一(yī)件十分㊙️重要的工(gong)作,它不僅是供水(shuǐ)方與用水方結算(suàn)的依據🐅,而且也☔能(néng)夠對水庫的防洪(hong)調度提供重要參(can)考。
欲實現水庫涵(hán)管流量的測量與(yǔ)采集,首先需要根(gēn)👣據👌現場🔞環境和條(tiáo)件選擇合适的現(xian)場測量儀表,其次(cì)是🐉要實現現場到(dào)中心♉監控室數據(ju)的穩定傳輸。底部(bu)涵管現場離水庫(kù)監控室往往有好(hǎo)幾百米的距離,因(yin)此💛如何克服💛信号(hao)長距離傳輸過🌈程(cheng)中的衰減及受到(dao)的幹擾,特别是在(zai)極端天氣情況下(xià)的雷😘電幹擾,就構(gòu)成🍓水庫涵管流量(liàng)測量系統設計的(de)主要内容。
1電磁流(liu)量計
本系統選用(yong)了插入式、
分體型(xing)電磁流量計
,型号(hao)爲XKD99ZC"。由于水庫放水(shui)涵管的直徑很大(dà),可達500~1000mm,選用插人型(xing)式可以避免開挖(wa)溝槽安裝法蘭、配(pèi)接下遊導流直管(guǎn)😄等工💛作,而分體式(shi)傳感器安裝于工(gōng)藝管道上,其二次(cì)變送單元可以安(an)裝在環境較好的(de)室内,這種安裝形(xíng)式使得二次變💋送(sòng)單元遠離現場惡(è)劣環境條件‼️,使電(diàn)子部件檢查、儀表(biǎo)設定、調整都比較(jiào)方便,無須采取專(zhuan)門措施來防雨、防(fang)潮,溫度敏感性也(ye)大爲降低。
該電磁(ci)流量計采用的通(tōng)信協議是Modbus協議,它(tā)是一種串㊙️行通信(xìn)🧑🏽🤝🧑🏻協議,使用雙絞線(xiàn)作爲傳輸的物理(li)介質。流量計内部(bu)有多個參數可以(yi)進行設置,如波特(tè)率、設備地址、流量(liàng)單位等📞。水庫涵🏒管(guan)的瞬時流量和累(lei)積流量值通過雙(shuāng)絞線-→防雷裝置+RS485/RS232協(xié)議轉換-+.上位計算(suan)機完成數❗據傳送(song),在上位計算機應(yīng)👣用軟件的管理下(xia),完成水庫涵管流(liu)量數據的顯示與(yu)統計。
2系統結構方(fāng)案
在水庫工程管(guan)理中,現場參數除(chú)了底部涵管流量(liàng)⛷️之外,還有👌水庫壩(ba)體的滲漏流量、水(shui)庫水位等參數需(xū)要監測,因此這些(xie)儀表設備可以通(tong)過RS485工業現場總線(xiàn)構成一個分布式(shi)網絡。
在這個總線(xian)網絡中,上位計算(suan)機PC作爲中心主站(zhàn),而👉其他👉儀表設備(bèi)皆處于從屬地位(wèi),主站爲每台從設(she)備分配-一個唯一(yi)地址。爲了獲取從(cóng)站各儀器設備✨的(de)數據,主站采取輪(lun)流🌐向各個👨❤️👨設備發(fā)送地址命令的方(fāng)法來讀取數據✂️。每(mei)個從站✨不斷監測(cè)總線上傳📱來的地(di)址,隻有當收到的(de)消息中的地址與(yu)自己設📐備地址--緻(zhi)時,才☎️會執行主站(zhan)發出的命令,将自(zì)🌈己的🏒狀态與數據(jù)發給🌈上位主機,主(zhu)機則負責接收從(cong)設備🌍發出的數據(ju),按Modb-us協議規程執行(háng)數據解碼、校驗、存(cun)儲等操作。系統的(de)拓撲結構如圖1所(suo)示。
3Modbus協議及主機信(xin)息結構
Modbus協議是一(yī)種主從式點對點(diǎn)的通信協議,允許(xu)一台♍主機和多台(tái)從機之間進行數(shù)據通信,由于Mod-bus協議(yì)易于實🏃🏻現,因此它(ta)已經成爲被廣泛(fàn)應用的工業标準(zhǔn)[2]。
Modbus協議支持ASCII和RTU兩種(zhǒng)模式的串行鏈路(lu)協議,由于RTU模式比(bǐ)ASCII模式有🚩更高的數(shù)據傳輸效率,因此(ci)大多數總線式網(wǎng)絡結構中💞均采用(yòng)RTU鏈路協議[3]。
一個RTU消(xiao)息幀由地址域、功(gōng)能域、數據域、CRC校驗(yan)域外加✌️起🤟始位和(hé)結束字符共同構(gou)成,其典型格式如(ru)表1所示。
①起始位和(he)結束字符:用來分(fèn)隔兩幀消息,RTU規定(dìng)起始位和結束字(zì)符持續時間不得(dé)小于3.5個字符時間(jian),一幀消息必須以(yi)連續的字符流進(jin)行發送,并且同一(yī)幀内的2個字符❌間(jian)隔時間應小于1.5個(gè)字符時間,編程時(shí)需注意RTU模式的這(zhe)⭐些定時要求。
②設備(bèi)地址:總線網絡中(zhong)某個從站設備的(de)地址,作爲🤟主⭐機⚽的(de)尋址😍标志。
③功能代(dài)碼:當消息從主機(ji)發往從站設備時(shí),告訴從設備需✌️要(yào)執✌️行哪些行爲,如(rú),“03”,讀取當前從站設(shè)備寄存器組内🌐-個(ge)或多個二進制數(shu)據;“06",主機把設置的(de)二進制數據寫人(ren)儀表設🙇♀️備的單-寄(jì)存器内。
④數據域:它(ta)包含主-從設備通(tōng)信中所涉及的各(gè)種參數,如起始寄(ji)存器、要讀寫的寄(jì)存器數量、據長度(du)、數據信息等。
⑤CRC校驗(yàn):RTU幀中包含了一個(gè)基于CRC算法的錯誤(wù)檢測城,即無論主(zhǔ)機或從站設備發(fā)送RTU幀時,都要計算(suàn)從設備地址開始(shǐ)到數據區之間所(suo)有字節的16位CRC校驗(yan)碼,并以低字😍節在(zai)前、高字節在後的(de)形式附加到RTU消息(xī)的CRC域,一并發給接(jiē)收方。當接收方收(shōu)完一幀消息後立(li)即按同樣方法計(jì)算該幀💃🏻消息的CRC校(xiao)驗碼,并與發送方(fāng)傳來的CRC校驗碼進(jìn)行比較,若🐉不同就(jiu)說明在消息傳輸(shū)過程中發生了錯(cuo)誤,應該棄掉剛才(cái)收到的消🔅息😘,并向(xiàng)發送方回傳🧑🏾🤝🧑🏼一幀(zhen)帶有錯誤标識的(de)消息作爲響應。
4電(dian)磁流量計的存儲(chu)器數據結構
XKD99ZC電磁(ci)流量計是-種智能(néng)化的流量儀表,内(nei)嵌32位高速♋MCU處理器(qi),可以測量瞬時流(liú)量、累計流量等參(can)數,數據🛀🏻通信傳輸(shu)🌈接口爲半雙工方(fāng)式,支持2400、4800.9600bit/s等波特率(lǜ),接口電氣标準遵(zūn)從EIA/TIA-485國際标準。用戶(hù)無須對流量計進(jìn)行底層編程,隻需(xu)設置好相關參數(shu)即可。流量計内部(bu)寄存器存儲👉的數(shù)據類型與地址如(ru)表💔2所示。
5系統軟件(jian)設計
5.1通信過程
通(tong)信開始後,主機向(xiàng)總線上發送一幀(zhen)消息,電磁流🔞量♌計(ji)偵測總線狀态并(bing)接收主機送來的(de)消息。如果消息中(zhong)的地址與本站設(shè)👄備(即電磁流量計(ji))地址相🈲符,而且計(ji)算所得的16位CRC校驗(yan)碼也正确,就将收(shōu)到的♍消息存儲😍在(zài)緩沖區内,接着執(zhi)行主機的命令,并(bing)根據處理結果返(fan)回一幀正确的消(xiāo)息作爲對主機的(de)響應,其通信流程(cheng)如圖2所示。
在本系(xi)統中,主要使用Modbus協(xie)議中的“03”功能碼,它(ta)的含義是連續讀(du)取🐉設備數據寄存(cún)器中的内容(每個(gè)寄存器占2B)。
通過設(she)置給電磁流量計(ji)分配的地址是0FH,爲(wei)了讀取流量計的(de)瞬時流量,主機應(ying)該發出一-幀(0F0300000002C525)消息(xī)(十六♈進制),此幀消(xiao)息中含有如下信(xin)息:
①0F:從站設備地址(zhi)(流量計地址);
②03:功能(neng)碼(讀寄存器内容(róng));
③0000:待讀寄存器首地(di)址(瞬時流量);
④0002:讀2個(gè)連續的數據寄存(cun)器(因爲數據類型(xíng)是浮點);
⑤C525:CRC校驗碼(低(di)字節在前高字節(jie)在後)。如果流量計(jì)正确收到.上面信(xin)息,就立即返回與(yǔ)涵管當前瞬時流(liu)量對應的消息作(zuò)🐉爲對主機的響應(ying):
0F030441B142A720F2
在這幀消息中,0F03的(de)意義同前,04指4個字(zì)節的瞬時流量🈲,數(shu)據内容👄是41B142A7,流量計(ji)發出的CRC校驗碼是(shì)20F2。
同理,爲了讀取流(liú)量計的累積流量(liàng),主機應發:
0F0300130004B4E2
如果流(liú)量計接收正确,就(jiù)返回下列數據串(chuan):
0F0308ADDD003B4D6F3F61757F
其中當前累積流(liu)量數據爲8個字節(jiē),ADDD003B4D6F3F61,CRC校驗碼是757F。
5.2數據解(jiě)析
由于XKD99ZC電磁流量(liang)計中的數據是以(yǐ)字的形式存儲在(zai)寄存器組🧑🏽🤝🧑🏻中的,而(er)且數據的低位字(zì)在前,高位字在後(hou),所以在♋解析流量(liang)數據之前,必須先(xian)要交換它們的順(shun)序♻️才能得到正确(que)結果。對于瞬時流(liú)量的4個字節(41B1)(42A7),交換(huàn)順序後成爲(42A7)(41B1),它是(shì)一個✊符合IEEE754規範的(de)32位浮點數值,将其(qí)還原成十進制㊙️數(shù)值,結果得到涵管(guǎn)當前瞬時流量值(zhí)83.6263m³/h。
對于累積流量,它(tā)的數據格式爲:整(zheng)數部分是長整型(xing),而小數部🚩分是32位(wei)浮點型,所以應分(fen)段交換順序🌈。整數(shù)部分☔交換🛀順序後(hòu)是(003B)(ADDD),它對應十進制(zhi)3911133,而小數部分交換(huan)順序後是(3F61)(4D6F),按IEEE754浮點(dian)數規範,經過轉換(huan),其對應的十進制(zhì)小數爲0.8801,所以涵管(guǎn)當前累積流量是(shi)3911133.88m³。
5.3關于CRC檢驗算法
在(zài)Modbus标準通信中,對于(yú)即将被傳輸消息(xi)中的字符串🔅必須(xū)👄進行CRC校驗,目的是(shi)發現數據傳輸過(guò)程中可能出現的(de)錯🈲誤。常用的校驗(yàn)多項式有CCITT和CRC-16,本系(xì)統采用CRC-16,其多項式(shi)爲G(x)=xl6+xI5+x2+1,實際應用時取(qu)其🆚反序。
具體來說(shuō),對于涵管瞬時流(liú)量,是從地址字節(jiē)一直校驗到數據(ju)的最後-一個字節(jie)。以流量計返回的(de)瞬時流量數據串(chuan)爲例🌐,共須校驗0F030441B142A7七(qī)個字節,所以得到(dào)的16位CRC校驗碼爲F220。下(xia)面給🌈出用VB6.0語言實(shi)現的CRC校驗程序,代(dài)碼如下:
6系統防雷(léi)
對于戶外運行的(de)系統或設備,-一個(ge)很重要的問題就(jiu)是防雷。特别是南(nan)方水庫所在地域(yù),由于雨水充沛,空(kōng)☂️氣濕度很大,較之(zhi)幹燥地區更容易(yi)産生雷電災害,輕(qīng)🈲則導緻數據傳輸(shū)出錯,嚴重時會導(dao)緻儀器設備損毀(huì)💜。因此對水庫涵管(guǎn)流量測量系統中(zhōng)的防🌈雷設計必須(xu)高度重視。本🔞系統(tong)中的防雷電路包(bāo)含市電交流進線(xian)保護電路和低壓(yā)數據傳輸線🌏路保(bao)護電路。交流電源(yuán)🌈進線過壓保護器(qì)采用的型号爲DEHNguard275,數(shù)據傳輸線路保護(hu)電路如圖3所示。
這(zhè)個保護電路共分(fèn)三級。第--級是氣體(ti)放電管,當雷✨電浪(làng)湧高壓大于放電(dian)管的擊穿電壓時(shi),将使線路與地短(duan)路,爲浪湧能量提(tí)供洩放通路;第二(èr)級是由☀️浪湧瞬變(bian)抑制二極管📞TV1、TV2組成(cheng),它🈲們能迅速對線(xiàn)路上的浪湧過電(dian)壓進行箝位,第三(sān)級由電阻R1、R2、TV3、TV4、TV5構成,目(mù)的也是用來消除(chu)線路上的高電壓(ya),并使線路端口電(diàn)💁壓維持在安全水(shuǐ)平。
7結束語
Modbus串行通(tong)信協議與RS485工業現(xiàn)場總線網絡配合(hé)使用實現了水庫(ku)涵管流量測量數(shu)據的遠傳,同時也(ye)爲今後擴展系統(tong),将其他✍️儀器💋設備(bèi)挂接在總線上提(ti)供了便利💚。Modbus通信隻(zhī)需要一根屏蔽雙(shuang)絞線作爲傳輸介(jiè)質,這使得🌈穿管敷(fū)線施工既經濟又(you)方便;另外防雷裝(zhuāng)置的引人,大大提(tí)高了系統在雷電(dian)天氣情況下💯的運(yùn)行可靠性。運行實(shí)踐表明🐕,涵管流量(liang)數據傳輸穩定,能(néng)夠滿足水庫工程(chéng)管理需要。
以上内(nei)容源于網絡,如有(you)侵權聯系即删除(chú)!
|