【導讀(du)】:将Modbus通(tong)訊協(xie)議移(yi)植到(dao)金屬(shu)管浮(fu)子流(liu)量計(ji)
,使得(de)檢測(ce)儀表(biao)更具(ju)智能(neng)化和(he)網絡(luo)化,同(tong)時爲(wei)實現(xian)🔞數字(zi)🌈化組(zu)網提(ti)供了(le)可行(hang)接口(kou)。經過(guo)調試(shi)表明(ming)移植(zhi)後的(de)🐅Modbus通訊(xun)協議(yi)可以(yi)實現(xian)基本(ben)功能(neng),取得(de)了預(yu)期的(de)效果(guo)。
摘要(yao):随着(zhe)通信(xin)技術(shu)、集成(cheng)電路(lu)技術(shu)的發(fa)展,傳(chuan)統的(de)現場(chang)檢測(ce)🆚儀器(qi)的智(zhi)能化(hua)和數(shu)字化(hua)程度(du)在逐(zhu)漸提(ti)升。現(xian)場總(zong)線作(zuo)❗爲開(kai)放化(hua)🈲、數字(zi)化、多(duo)點通(tong)訊的(de)底層(ceng)控制(zhi)網絡(luo),成爲(wei)📞了近(jin)代工(gong)業控(kong)制系(xi)統的(de)熱門(men)研究(jiu)項目(mu)。将Modbus通(tong)🔱訊協(xie)議移(yi)植到(dao)金屬(shu)管浮(fu)子流(liu)量計(ji),使得(de)檢測(ce)儀表(biao)更具(ju)智能(neng)化和(he)網絡(luo)化,同(tong)時爲(wei)實現(xian)數字(zi)🆚化組(zu)網提(ti)供了(le)可行(hang)接口(kou)。經過(guo)調試(shi)表明(ming)移植(zhi)☀️後的(de)Modbus通訊(xun)協議(yi)🌈可以(yi)實🐇現(xian)基本(ben)功能(neng),取得(de)🐅了預(yu)期的(de)效果(guo)。
浮子(zi)流量(liang)計
是(shi)一種(zhong)經典(dian)的變(bian)面積(ji)式流(liu)量計(ji),具有(you)結構(gou)簡單(dan)、直觀(guan)、壓損(sun)小、測(ce)量範(fan)圍大(da)、運行(hang)可靠(kao)、可測(ce)中小(xiao)流量(liang)及低(di)雷諾(nuo)數流(liu)量、維(wei)護方(fang)便、壽(shou)命長(zhang),對儀(yi)表前(qian)後直(zhi)管🐕段(duan)長度(du)要求(qiu)不高(gao)等優(you)點。金(jin)屬管(guan)浮子(zi)流量(liang)計可(ke)以适(shi)應高(gao)溫、高(gao)壓、強(qiang)腐🔞蝕(shi)、劇毒(du)等多(duo)種苛(ke)刻環(huan)境,較(jiao)少的(de)可動(dong)部件(jian)⛱️、便于(yu)維護(hu),解決(jue)了生(sheng)産中(zhong)的許(xu)多難(nan)題。基(ji)于Modbus協(xie)議的(de)金屬(shu)管浮(fu)子流(liu)量計(ji),通過(guo)選擇(ze)低功(gong)耗的(de)微處(chu)理器(qi)和通(tong)訊芯(xin)片,将(jiang)具有(you)開放(fang)協議(yi)的Modbus協(xie)議移(yi)😘植到(dao)傳統(tong)的金(jin)屬管(guan)浮子(zi)流量(liang)計中(zhong),使得(de)儀表(biao)具有(you)現場(chang)總線(xian)組網(wang)功能(neng)。
1.金屬(shu)管浮(fu)子流(liu)量計(ji)整體(ti)結構(gou)設計(ji)
圖1是(shi)金屬(shu)管浮(fu)子流(liu)量計(ji)整體(ti)結構(gou)圖。流(liu)量測(ce)量過(guo)程可(ke)概括(kuo)❤️爲:磁(ci)阻傳(chuan)感器(qi)将浮(fu)子位(wei)移信(xin)号轉(zhuan)化爲(wei)💃🏻電信(xin)号送(song)🚶給信(xin)号處(chu)理電(dian)路,經(jing)過信(xin)号處(chu)理電(dian)路進(jin)🌈行放(fang)大濾(lü)波後(hou)再經(jing)由AD采(cai)樣模(mo)塊采(cai)樣,非(fei)常後(hou)送給(gei)微處(chu)理器(qi)處理(li),微處(chu)🔱理器(qi)經過(guo)一系(xi)列處(chu)理後(hou)得到(dao)當前(qian)流量(liang)信息(xi),送給(gei)液晶(jing)模塊(kuai)顯示(shi)或🔞者(zhe)通過(guo)Modbus模塊(kuai)将信(xin)号遠(yuan)傳給(gei)其他(ta)設備(bei)使用(yong)。
2.Modbus模塊(kuai)硬件(jian)電路(lu)設計(ji)
Modbus通信(xin)協議(yi)有兩(liang)種串(chuan)行傳(chuan)輸模(mo)式:ASCII模(mo)式和(he)RTU(遠程(cheng)終端(duan)單元(yuan))模式(shi)🐅,與這(zhe)兩種(zhong)模式(shi)對應(ying)的幀(zhen)格式(shi)是ASCII幀(zhen)格式(shi)和RTU幀(zhen)格式(shi)。本文(wen)采用(yong)💰RTU幀格(ge)式,其(qi)數據(ju)幀格(ge)式爲(wei)如表(biao)1所示(shi)。
一次(ci)發送(song)的數(shu)據幀(zhen)必須(xu)是作(zuo)爲一(yi)個連(lian)續的(de)數據(ju)流進(jin)行傳(chuan)輸。Modbus的(de)RTU模式(shi)規定(ding)不同(tong)數據(ju)幀之(zhi)間的(de)間隔(ge)是3.5個(ge)字節(jie)通信(xin)時間(jian)以上(shang)(即起(qi)始位(wei)和結(jie)束符(fu)T1-T2-T3-T4)。
CRC校驗(yan)是爲(wei)了防(fang)止傳(chuan)送過(guo)程中(zhong)傳輸(shu)錯誤(wu),将自(zi)己計(ji)✨算的(de)校驗(yan)碼與(yu)接收(shou)的校(xiao)驗碼(ma)進行(hang)對比(bi),相同(tong)則确(que)✔️認接(jie)收正(zheng)确繼(ji)續解(jie)析報(bao)文,否(fou)則接(jie)收到(dao)的是(shi)誤碼(ma)并停(ting)止解(jie)析報(bao)文。
Modbus通(tong)訊模(mo)塊硬(ying)件電(dian)路比(bi)較簡(jian)單,采(cai)用MAXIM(美(mei)信)公(gong)司的(de)Max3072芯片(pian)将數(shu)字信(xin)号轉(zhuan)換爲(wei)差壓(ya)信号(hao)傳輸(shu),圖2爲(wei)Modbus通訊(xun)模塊(kuai)硬件(jian)設計(ji)圖,通(tong)過USART與(yu)CPU進行(hang)數據(ju)交互(hu)。
Modbus模塊(kuai)通過(guo)兩根(gen)串口(kou)線RX_485和(he)TX_485與CPU相(xiang)連,經(jing)過MAX3072後(hou)轉化(hua)爲差(cha)壓信(xin)💚号在(zai)485總線(xian)上傳(chuan)輸,差(cha)壓信(xin)号幅(fu)值在(zai)200mV左右(you)。
3.Modbus模塊(kuai)軟件(jian)設計(ji)
Modbus通訊(xun)模塊(kuai)功能(neng)是實(shi)現流(liu)量儀(yi)表與(yu)主機(ji)或其(qi)他設(she)備的(de)數據(ju)交互(hu),儀表(biao)Modbus模塊(kuai)的信(xin)号是(shi)通過(guo)RS485總線(xian)進行(hang)傳輸(shu),其狀(zhuang)态轉(zhuan)🌏換圖(tu)如圖(tu)3所示(shi)。程序(xu)初始(shi)化結(jie)束後(hou),首先(xian)進入(ru)初始(shi)狀态(tai)。由于(yu)Modbus協議(yi)規定(ding)兩次(ci)幀數(shu)據傳(chuan)輸的(de)時間(jian)間隔(ge)不能(neng)小于(yu)30μs,因此(ci)在進(jin)入初(chu)🔅始狀(zhuang)态後(hou)會開(kai)啓定(ding)時器(qi),30μs以後(hou)進入(ru)就緒(xu)狀态(tai)。有👄數(shu)據傳(chuan)輸時(shi)✉️,進入(ru)接收(shou)狀态(tai),幀數(shu)據接(jie)收完(wan)成後(hou)進入(ru)幀解(jie)析封(feng)🏃🏻裝狀(zhuang)态,若(ruo)接收(shou)數🚶♀️據(ju)出錯(cuo)則進(jin)入錯(cuo)誤狀(zhuang)态,封(feng)裝後(hou)🐇再進(jin)入發(fa)送狀(zhuang)态,若(ruo)數據(ju)正确(que)則直(zhi)接完(wan)✏️成封(feng)裝進(jin)入發(fa)送狀(zhuang)态,數(shu)據發(fa)送完(wan)成後(hou)則再(zai)次進(jin)入初(chu)始狀(zhuang)态。Modbus模(mo)塊軟(ruan)件設(she)計流(liu)程圖(tu)如圖(tu)4所示(shi)。
4.系統(tong)調試(shi)
Modbus通訊(xun)模塊(kuai)驗證(zheng)實驗(yan)的目(mu)的是(shi)驗證(zheng)流量(liang)儀表(biao)能否(fou)通🧑🏾🤝🧑🏼過(guo)485總線(xian)✊實現(xian)流量(liang)信息(xi)與控(kong)制台(tai)的信(xin)息交(jiao)互。本(ben)☀️文應(ying)用Modbus調(diao)試助(zhu)🙇🏻手軟(ruan)件模(mo)🐪拟控(kong)制台(tai)與Modbus模(mo)塊進(jin)行通(tong)信,驗(yan)證儀(yi)表Modbus模(mo)塊能(neng)否實(shi)現正(zheng)常通(tong)訊。圖(tu)5是Modbus模(mo)塊與(yu)控制(zhi)台通(tong)🈲信的(de)電路(lu)🙇♀️連接(jie)圖。
爲(wei)驗證(zheng)Modbus模塊(kuai)通訊(xun)的正(zheng)确性(xing),本文(wen)通過(guo)Modbus調試(shi)助手(shou)往Modbus模(mo)塊下(xia)發數(shu)據,若(ruo)能返(fan)回正(zheng)确數(shu)據,則(ze)證明(ming)通訊(xun)成功(gong)。圖6爲(wei)通過(guo)Modbus調試(shi)助♌手(shou)與Modbus模(mo)塊通(tong)訊圖(tu)。以03(0x03)命(ming)令爲(wei)例進(jin)行調(diao)試的(de)測試(shi)結果(guo)圖,03命(ming)令的(de)功能(neng)是讀(du)取特(te)定寄(ji)存器(qi)的值(zhi)。串口(kou)調試(shi)助手(shou)下發(fa)的數(shu)據爲(wei)“010300000001840A”,其中(zhong)01爲設(she)備地(di)址,03爲(wei)命令(ling)碼,0000爲(wei)起💁始(shi)地址(zhi),0001爲寄(ji)存器(qi)數量(liang),840A爲CRC校(xiao)驗碼(ma)。Modbus回發(fa)數♉據(ju)爲“0103020810BE48”,其(qi)中01爲(wei)設備(bei)地址(zhi),03爲命(ming)令碼(ma),02爲字(zi)節數(shu),0810爲🧑🏾🤝🧑🏼寄(ji)存的(de)值,BE48爲(wei)CRC校驗(yan)碼。測(ce)試結(jie)果表(biao)明,Modbus模(mo)塊能(neng)✨正常(chang)工作(zuo)。
5結束(shu)語
選(xuan)擇低(di)功耗(hao)的微(wei)處理(li)器和(he)通訊(xun)芯片(pian),将具(ju)有開(kai)放協(xie)議的(de)Modbus協議(yi)移植(zhi)到傳(chuan)統的(de)金屬(shu)管浮(fu)子流(liu)量計(ji)中🐉,實(shi)現🚩了(le)硬件(jian)平台(tai)設計(ji)和軟(ruan)件平(ping)台設(she)計,調(diao)試結(jie)果表(biao)明,移(yi)植後(hou)的Modbus協(xie)議能(neng)夠與(yu)控⭐制(zhi)台實(shi)現實(shi)時通(tong)信🤩,使(shi)得儀(yi)表具(ju)有現(xian)場🈲總(zong)線組(zu)網功(gong)能。
以(yi)上内(nei)容源(yuan)于網(wang)絡,如(ru)有侵(qin)權聯(lian)系即(ji)删除(chu)!