【導(dǎo)讀】:将Modbus通(tōng)訊協議(yi)移植到(dào)金屬管(guan)浮子流(liú)量計
,使(shi)得檢測(cè)儀表更(gèng)具智能(néng)化和網(wang)絡化,同(tóng)時爲實(shí)現數字(zi)化組網(wang)提供了(le)可行接(jie)口。經過(guo)調試表(biǎo)明移植(zhi)後的Modbus通(tōng)訊協議(yi)可以☔實(shí)現基本(ben)功能,取(qu)得了預(yu)期的✉️效(xiào)果。
摘要(yao):随着通(tong)信技術(shu)、集成電(diàn)路技術(shù)的發展(zhan),傳統的(de)現🔞場檢(jiǎn)測儀器(qi)的智能(néng)化和數(shù)字化程(cheng)度在逐(zhú)漸提升(shēng)。現場總(zong)線作🧡爲(wei)開放化(huà)、數字化(hua)、多點通(tōng)訊的底(di)層控制(zhì)網✉️絡,成(chéng)爲了近(jìn)代工業(ye)控制系(xì)統的熱(rè)門研究(jiu)項目。将(jiang)Modbus通訊協(xie)議移植(zhí)到金屬(shǔ)管浮子(zi)流量計(jì),使得檢(jian)測儀表(biǎo)更具智(zhi)能化和(he)網絡化(hua),同時爲(wei)實現數(shu)字化組(zǔ)網提供(gòng)了可行(hang)接口。經(jing)過調試(shi)表明移(yí)植🈲後的(de)Modbus通訊協(xié)議可以(yǐ)實現基(jī)本功能(néng),取得了(le)預期的(de)效果㊙️。
浮(fu)子流量(liang)計
是一(yī)種經典(diǎn)的變面(mian)積式流(liú)量計,具(jù)有結構(gou)簡單、直(zhí)觀、壓損(sǔn)小、測量(liang)範圍大(dà)、運行可(ke)靠、可測(cè)中小流(liu)量及低(dī)雷諾數(shù)🚶♀️流量、維(wei)護方便(bian)、壽命長(zhǎng),對儀表(biǎo)前後直(zhi)管段長(zhang)度要求(qiu)不高等(děng)優🔴點。金(jin)屬🈲管浮(fú)子㊙️流量(liàng)計可以(yǐ)适應高(gāo)溫、高壓(ya)、強腐蝕(shi)、劇毒等(děng)多種苛(ke)刻環境(jing),較少💃的(de)可動部(bu)件、便于(yú)維護,解(jiě)決了生(sheng)産中的(de)許多難(nán)題。基于(yu)Modbus協議的(de)金屬管(guǎn)浮子流(liú)量🎯計,通(tong)過選擇(zé)低功耗(hào)的微處(chù)理器和(he)通訊芯(xin)片🌍,将具(ju)有開放(fàng)協議的(de)Modbus協議移(yi)📱植到傳(chuán)統的金(jīn)屬管浮(fú)子流量(liang)計中,使(shi)得儀表(biao)具有現(xiàn)場總線(xian)組網功(gong)能。
1.金屬(shǔ)管浮子(zǐ)流量計(jì)整體結(jie)構設計(jì)
圖1是金(jin)屬管浮(fú)子流量(liàng)計整體(ti)結構圖(tú)。流量測(cè)量過💋程(cheng)可概🧡括(kuo)爲🚩:磁阻(zu)傳感器(qi)将浮子(zi)位移信(xìn)号轉化(hua)爲🔅電信(xin)号送給(gei)信号處(chù)理電路(lu),經過信(xìn)号處理(lǐ)電路進(jin)行放大(da)濾波後(hòu)再經由(yóu)🥰AD采樣模(mo)♋塊采樣(yàng),非常後(hòu)送給微(wēi)處理器(qi)處理,微(wēi)處理器(qì)經過📱一(yi)系列處(chù)理後得(de)到當前(qian)流量信(xin)息,送給(gěi)液晶模(mó)塊顯示(shì)或者通(tōng)過Modbus模塊(kuai)将信号(hào)遠傳給(gěi)其他設(shè)備使用(yòng)。
2.Modbus模(mo)塊硬件(jian)電路設(shè)計
Modbus通信(xin)協議有(yǒu)兩種串(chuàn)行傳輸(shū)模式:ASCII模(mó)式和RTU(遠(yuǎn)程終端(duān)單元)模(mó)式,與這(zhe)兩種模(mo)式對應(ying)的幀格(gé)式是ASCII幀(zhēn)格式和(he)RTU幀格式(shi)。本文采(cǎi)用☔RTU幀格(ge)式,其數(shù)據幀格(gé)式爲如(rú)表1所示(shì)。
一次發(fa)送的數(shu)據幀必(bì)須是作(zuò)爲一個(ge)連續的(de)數據🐆流(liu)進行傳(chuan)輸。Modbus的RTU模(mo)式規定(ding)不同數(shu)據幀之(zhī)間的間(jian)隔☂️是3.5個(gè)字節通(tōng)信時間(jiān)❓以上(即(jí)起始位(wei)和結束(shù)符T1-T2-T3-T4)。
CRC校驗(yan)是爲了(le)防止傳(chuan)送過程(cheng)中傳輸(shū)錯誤,将(jiāng)自己計(jì)☎️算✏️的校(xiao)驗碼與(yu)接收的(de)校驗碼(mǎ)進行對(dui)比,相同(tóng)則确認(rèn)接收正(zheng)确繼續(xu)解析報(bao)文,否則(ze)接收到(dào)的是誤(wu)碼并停(tíng)止解析(xi)報文。
Modbus通(tong)訊模塊(kuài)硬件電(dian)路比較(jiao)簡單,采(cai)用MAXIM(美信(xìn))公司的(de)Max3072芯片将(jiāng)數字信(xìn)号轉換(huan)爲差壓(ya)信号傳(chuan)輸,圖2爲(wèi)Modbus通訊模(mó)塊硬🌐件(jiàn)設計圖(tú),通過USART與(yǔ)CPU進行數(shu)據交互(hu)。
Modbus模塊通(tong)過兩根(gen)串口線(xiàn)RX_485和TX_485與CPU相(xiang)連,經過(guo)MAX3072後轉化(huà)爲差壓(yā)信号在(zai)485總線上(shàng)傳輸,差(cha)壓信号(hào)幅值在(zài)200mV左右。
3.Modbus模(mo)塊軟件(jian)設計
Modbus通(tong)訊模塊(kuai)功能是(shi)實現流(liú)量儀表(biao)與主機(jī)或其他(tā)設備的(de)數據交(jiao)互,儀表(biǎo)Modbus模塊的(de)信号是(shì)通過RS485總(zong)線進行(háng)傳輸✂️,其(qí)狀态轉(zhuan)換圖如(rú)圖🏃3所示(shi)。程序初(chu)始化結(jie)束後,首(shǒu)先進😘入(rù)初始狀(zhuàng)态。由于(yu)Modbus協議規(gui)定兩次(cì)幀數據(ju)傳輸的(de)時間間(jian)隔不能(neng)小于30μs,因(yin)此在進(jin)入初🐉始(shǐ)狀态後(hòu)🐆會開啓(qi)定時器(qì),30μs以後進(jìn)入就緒(xù)狀态。有(you)數據傳(chuan)輸時🔞,進(jin)入接收(shou)狀态,幀(zhen)數據接(jie)收完成(chéng)後進入(ru)幀解析(xī)封裝狀(zhuàng)态,若🔞接(jie)收數據(ju)出錯則(ze)進入錯(cuo)誤狀态(tai),封裝後(hòu)再進入(ru)發送狀(zhuang)态,若🧡數(shù)據正确(que)則直接(jie)完♊成封(fēng)裝進入(rù)發送狀(zhuàng)态,數據(ju)發送📧完(wan)成後則(ze)再次進(jìn)入初始(shi)狀✨态。Modbus模(mo)塊軟件(jiàn)設計流(liú)程圖如(rú)圖4所示(shi)。
4.系統調(diào)試
Modbus通訊(xùn)模塊驗(yan)證實驗(yàn)的目的(de)是驗證(zhèng)流量儀(yi)表能否(fǒu)通過👅485總(zong)線實現(xiàn)流量信(xìn)息與控(kong)制台的(de)信息交(jiāo)互。本文(wén)應🏒用Modbus調(diao)試助⛱️手(shou)軟件模(mo)拟控制(zhi)台與Modbus模(mo)塊進行(háng)通信,驗(yàn)證🏃♀️儀表(biao)Modbus模塊能(neng)否實現(xian)正常通(tōng)訊。圖5是(shì)Modbus模塊與(yǔ)控制台(tai)通信的(de)電路連(lian)接圖。
爲(wei)驗證Modbus模(mo)塊通訊(xùn)的正确(què)性,本文(wén)通過Modbus調(diào)試助手(shǒu)往Modbus模🥵塊(kuai)😘下發🙇🏻數(shù)⁉️據,若能(neng)返回正(zhèng)确數據(jù),則證明(ming)通訊成(chéng)👅功。圖6爲(wèi)通過Modbus調(diào)試助手(shǒu)與🏃Modbus模塊(kuài)通訊圖(tú)。以03(0x03)命令(ling)爲例進(jìn)行調試(shì)的測🐆試(shì)結果圖(tu),03命令的(de)功能是(shi)讀取特(te)定寄存(cún)器的值(zhi)。串口調(diao)試助手(shǒu)下發的(de)數據爲(wei)“010300000001840A”,其中01爲(wèi)設備地(dì)址,03爲命(mìng)令碼,0000爲(wèi)起始地(dì)址,0001爲寄(jì)存器數(shù)量,840A爲CRC校(xiao)驗碼。Modbus回(huí)發數📞據(jù)爲“0103020810BE48”,其中(zhong)01爲設備(bei)地址,03爲(wèi)命令碼(ma),02爲字節(jie)數,0810爲寄(jì)存的值(zhí),BE48爲CRC校🌈驗(yàn)碼。測試(shì)結果表(biǎo)明,Modbus模塊(kuai)能正常(cháng)工作。
5結(jie)束語
選(xuǎn)擇低功(gong)耗的微(wei)處理器(qì)和通訊(xun)芯片,将(jiang)具有開(kāi)放協議(yi)的⛹🏻♀️Modbus協議(yi)移植到(dào)傳統的(de)金屬管(guǎn)浮子流(liu)量計中(zhōng),實現🈚了(le)硬件平(ping)台設計(ji)和⛹🏻♀️軟件(jiàn)平台設(shè)計,調試(shi)結果表(biao)明,移植(zhí)後的✌️Modbus協(xié)議能夠(gou)與控制(zhì)台實現(xiàn)實時通(tōng)信,使得(dé)儀表具(jù)有現場(chang)總線組(zǔ)網功能(neng)。
以上内(nèi)容源于(yu)網絡,如(ru)有侵權(quan)聯系即(jí)删除!