摘要:渦輪(lún)流量計
是(shì)采用超低(dī)功耗單片(piàn)微機渦輪(lun)流量傳感(gan)器與顯示(shi)計算一👉體(tǐ)化的新型(xíng)智能儀表(biǎo)。文章針對(dui)流量計控(kong)制的實際(jì)要求,基于(yú)MODBUS協議的計(ji)量數據的(de)通信系統(tǒng)。渦輪流量(liang)計(下位機(jī))MSP430單片機實(shi)現數據的(de)采集及🈲存(cún)儲。上位⭐機(jī)程序是通(tong)過VisualStudio2012利用C#語(yǔ)言編寫的(de)基于MODBUS協議(yì)的Windows應用程(chéng)🔱序。把,上位(wèi)機❓程序移(yí)植到嵌入(rù)式系統中(zhōng),上下位機(ji)通過無線(xiàn)射頻技術(shù)實現通信(xìn),完成了對(duì)流量計的(de)遠程控制(zhi)以及計量(liàng)數據的遠(yuǎn)程采集與(yǔ)顯示。
渦輪(lún)流量計屬(shu)于速度式(shì)流量計,也(ye)被稱爲葉(yè)輪式流🏃🏻♂️量(liang)計。渦輪💯流(liu)量計是利(li)用置于流(liú)體中的葉(yè)輪的旋轉(zhuǎn)💔角速度與(yǔ)流體⛱️流速(su)成比例的(de)關系,通過(guo)測量葉輪(lún)的轉速來(lai)反映通過(guo)管道的流(liu)體體積流(liu)量的大小(xiao),是目前流(liú)量儀表中(zhōng)比較成熟(shú)的準确度(du)儀表。 随着(zhe)工業的發(fa)展以及計(jì)算機網絡(luo)的🔆日趨完(wan)善,利用計(ji)算機作爲(wèi)上位機與(yu)渦輪🐅流量(liàng)計進行通(tōng)信已經是(shi)企事業單(dan)位計量數(shù)據管理的(de)大趨勢。渦(wo)輪流🐉量🐆計(ji)的通信系(xi)統是🙇🏻渦輪(lún)流量計的(de)重🔞要🚩組成(cheng)部分。雖然(ran)渦輪🏒流量(liàng)計已經提(ti)供了瞬時(shi)流量、累積(ji)流量、溫度(du)、壓力等信(xin)息的采集(ji),但是目前(qian)這些數據(ju)的讀取需(xū)要靠人工(gōng)進行現場(chǎng)抄表。原始(shi)的人工抄(chāo)表方🏃式既(ji)🚶耗費大量(liang)的人力物(wù)力,又㊙️無法(fǎ)避免手工(gōng)抄寫💃和計(ji)算帶來的(de)誤差,且對(dui)數據的📞分(fèn)析處🧑🏾🤝🧑🏼理也(ye)嚴重滞後(hòu),不利于及(jí)🌈時發現問(wen)題、解決問(wèn)題。因此,這(zhè)種數⭐據讀(dú)取方式具(jù)有易出錯(cuo)、工作🐇量大(dà)、正确率低(dī)等缺點。而(ér)且渦輪流(liú)量計大多(duo)安裝在一(yi)些危險的(de)且無人看(kan)守的工作(zuo)現場的密(mì)封管中,人(rén)工抄表難(nán)度大✂️。
爲了(le)解決這些(xie)問題,本課(kè)題在Windows平台(tai)下利用VisualStudio2012編(bian)寫監控程(cheng)序💋并移植(zhí)到嵌入式(shì)系統下,通(tong)過射頻技(jì)術與下位(wei)機進行無(wu)🐪線通信,通(tong)過監控程(chéng)序的無線(xian)控制能夠(gou)實現渦輪(lun)流量計的(de)開關、各種(zhong)流🏃🏻量計參(can)數的設定(ding)以及将采(cǎi)集到的數(shù)據傳輸到(dao)嵌入式主(zhu)闆進行顯(xian)示。
1系統總(zong)體方案
基(ji)于MODBUS協議的(de)渦輪流量(liang)計通信系(xi)統主要由(you)上位機🎯和(he)渦輪流🌈量(liang)🔞計(下位機(ji))通信部分(fèn)組成。本設(she)計主要完(wan)成上位機(ji)部分。基于(yú)MODBUS協議編寫(xie)上位機程(cheng)序并移植(zhí)到嵌入式(shi)系統中,主(zhu)要完成的(de)任務有:上(shàng)位機通🏃過(guo)無線射頻(pín)技術完成(chéng)了對渦輪(lún)流量計(下(xià)位機)的參(can)數配置并(bìng)控制下位(wèi)機🙇♀️完成對(duì)現場流量(liàng)、溫度、壓㊙️力(lì)等數據的(de)自動采集(ji)與顯示。
2MODBUS協(xie)議
2.1MODBUS協議簡(jian)介
MODBUS規約是(shi)MODICOM公司開發(fā)的一個爲(wèi)很多廠商(shāng)支持的開(kai)放✂️規約,MODBUS協(xié)議是應用(yong)于電子控(kong)制器上的(de)一種通用(yong)語言。通過(guò)此協議,控(kong)制器相互(hù)之間、控制(zhì)器經由網(wang)絡🔴(例如以(yǐ)太網)和其(qí)它設備之(zhi)間可以通(tōng)信。MODBUS協議已(yǐ)經成爲一(yī)個通用:工(gōng)業标準,有(you)了它不同(tóng)廠商生産(chǎn)的控制設(she)備可以連(lian)成工業網(wang)絡進行集(jí)中監控。此(ci)協議定義(yi)了一個控(kòng)制器能認(ren)識☂️使用的(de)消息結☁️構(gòu),而不管它(tā)們是經過(guò)🐇何種網絡(luo)進:行通信(xìn)的。它描述(shù)了控制器(qì)請求訪問(wèn)其🐇它設備(bei)的過.程,如(ru)何回應來(lai)自其它設(she)備的請求(qiú),以及怎樣(yang)偵測錯誤(wu)并記錄。它(ta)制定了消(xiao)息域格局(ju)🧡和内容的(de)公共格式(shi)。
MODBUS協議包括(kuo)RTU和ASCII等,并沒(mei)有規定物(wù)理層。此協(xie)議的數據(jù)通信采用(yong)了🔅主/從方(fang)式,即主設(she)備端發出(chū)信息請求(qiu),從設備端(duān)接收到正(zhèng)确的信息(xi)後就會返(fǎn)回數據到(dao)主設備端(duān)完成響應(ying);同時主設(she)備端也.可(ke)以發消息(xi)⛱️直接修改(gǎi)從設備端(duān)的數據,實(shí)現了雙向(xiang)的讀寫。
2.2MODBUS協(xié)議格式
MODBUS協(xie)議主要分(fen)爲兩種傳(chuan)輸模式:RTU模(mo)式和ASCII模式(shi)。根據需求(qiu)可以自行(hang)選擇使用(yong)何種模式(shi),包括串口(kǒu)通信的參(can)數(端口号(hào)、波特率、校(xiào)驗方式等(deng))。在配置控(kòng)制器的時(shi)候,同一個(ge)MODBUS網絡上的(de)✉️所有設❤️備(bèi)都必須選(xuǎn)擇相同👣的(de)協議格式(shì)和串口參(cān)數。當控㊙️制(zhì)器設在MODBUS網(wǎng)絡上并以(yi)ASCII模式通信(xìn)時,字符發(fā)送時間間(jian)隔可🏃♂️達1s而(ér)不産生錯(cuò)誤,而且由(yóu)于ASCII格式擁(yong)有開始🌐和(hé)結束标志(zhi),因此ASCII協議(yi)的程序對(dui)數據包的(de)處理能更(gèng)加🌐方便直(zhi)觀,更加容(róng)易調試。這(zhè)是流量計(ji)的通信系(xi)統選擇ASCII協(xié)議作爲🆚通(tong)信格式的(de)原因。
2.3ASCII模式(shi)
當控制器(qì)設爲在MODBUS網(wang)絡上以ASCII(美(měi)國标準信(xin)息交換代(dài)碼)模式通(tōng)信🧑🏾🤝🧑🏼,消息中(zhong)每8Bit的字節(jie)都作爲兩(liang)個ASCII字符發(fa)🌈送。這種方(fang)式的主要(yao)優點🔞是字(zì)符發送的(de)時間間隔(gé)㊙️可達到1s而(ér)不産生錯(cuò)誤。ASCII模式的(de)消息幀的(de)構成如表(biao)😄1。
消息幀的(de)地址域包(bāo)含兩個字(zì)符(ASCII)或8Bit(RTU)。可能(neng)的從設備(bèi)地址0...247(十😄進(jìn)制)。單個設(shè)備的地址(zhi)範圍是1...247。主(zhu)設備通過(guò)将要😍聯絡(luo)的從設備(bèi)🙇♀️的地址放(fang)入消息中(zhong)的地址域(yù)來選通🥰從(cong)設備🔴。當從(cóng)設備發送(song)回應消息(xī)時,它把自(zi)己的地址(zhi)放入回應(ying)的地址域(yu)中,以便主(zhǔ)✉️設備知道(dào)🌈是哪一個(ge)設備作出(chu)回應🌏。地址(zhǐ)0用作廣播(bō)地址,以使(shǐ)💋所有的從(cong)設備都能(néng)認識。當MODBUS協(xie)議用于水(shuǐ)準高的網(wǎng)絡,廣播可(kě)⭐能不允許(xu)或以其它(tā)方式代替(ti)。
3通信系統(tong)硬件設計(jì)
3.1通信系統(tǒng)硬件設計(jì)方案
通信(xin)系統的硬(yìng)件設計方(fāng)案如圖1所(suǒ)示。
上位機(jī)選用嵌入(rù)式開發闆(pǎn)EM9280,它是一款(kuan)面向工業(ye)自動㊙️化領(ling)域的🥰嵌入(ru)式主闆産(chan)品,其内核(he)CPU爲工業級(ji)品質的i.MX283,系(xi)統已預裝(zhuāng)正版WindowCE6.0實時(shi)多任務操(cao)作系統。此(cǐ)外㊙️,EM9280體積小(xiao),易攜帶🚶♀️,可(kě)以方便地(dì)帶到工業(ye)控制現場(chang),方🈚便工作(zuo)人員的操(cao)作。
EM9280的标準(zhǔn)配置中有(you)RS-485通信接口(kou),而标.準的(de)MODBUS物理層就(jiu)采用了RS-485串(chuàn)行通信标(biao)準,通過485總(zǒng)線可以将(jiāng)通信數據(ju)發送給無(wú)線射頻🔞模(mo)塊,并通過(guò)射頻信号(hao)将數據發(fā)送給下位(wei)機端射頻(pín)模塊,最後(hou)再♻️通過485總(zǒng)線傳送給(gei)渦輪流量(liang)計,完成數(shù)據的傳輸(shū)。
無線射頻(pín)模塊采用(yòng)PTR2000,無線收發(fā)一體數傳(chuan)MODEM模塊PTR2000芯片(pian)性能優異(yì),在業界居(ju)領先水平(ping),它的顯著(zhe)特點是所(suǒ)需的外圍(wéi)元件少,因(yīn)而設計非(fei)常方便。該(gai)模塊在内(nei)部集成了(le)高頻⛹🏻♀️發射(she)、高頻接收(shōu)、PLL合成、FSK調制(zhi)/解調、參量(liang)放大、功率(lǜ)放大、頻道(dào):切換等功(gong)能,因此是(shi)目前集成(cheng)度較高的(de)無線數傳(chuán)産品。該器(qì)件采用了(le)抗幹擾能(neng)🏒力較強的(de)FSK調制/解調(diào)方式,其工(gong)作頻率穩(wěn)定可靠。它(ta)是目前低(di)功率無線(xiàn)傳輸的理(li)想選擇。
3.2渦(wō)輪流量計(jì)系統設計(ji)
系統主要(yao)由數據采(cǎi)集模塊、電(dian)源模塊、鍵(jian)盤顯示模(mó)塊♉、頻率⛷️輸(shū)☎️出模塊、通(tōng)訊模塊等(deng)組成。如圖(tu)2所示,系統(tǒng)采集數據(ju)并經過A/D轉(zhuǎn)換成數字(zì)量進行存(cun)儲、顯示和(he)傳輸。
考慮(lü)到實際應(yīng)用,在硬件(jian)選擇方面(mian)盡可能保(bǎo)證性能💞的(de)情況”下多(duō)選擇低功(gōng)耗芯片。微(wēi)控單元選(xuǎn)用MSP430F149單片機(ji)❗,它具🌈有良(liang)🧡好的通.用(yòng)性和可擴(kuò)展性.并且(qiě)屬于超低(dī)功耗微處(chù)理器。
4通信(xìn)系統軟件(jian)設計
4.1軟件(jian)編程思路(lu)
上位機軟(ruǎn)件在計算(suàn)機上進行(hang)編寫,計算(suan)機的标準(zhǔn)配🐉置中通(tōng)常隻有RS-232通(tōng)信接口,可(kě)以通過很(hěn)多标準控(kong)件完成RS-232的(de)數據通信(xìn)。本次設計(ji)選用C#語言(yan)中的serialport控件(jian)⁉️在VS2012編程環(huan)境下完成(cheng)基于MODBUS-ASCII協議(yì)㊙️的上位機(jī)通信軟件(jiàn)的設計。
serialport控(kòng)件按照接(jiē)收數據方(fāng)式分爲事(shi)件驅動方(fāng)式和同步(bu)接收方👈式(shì)。由于該上(shang)位機軟件(jian)需要處理(li)的接收.上(shang)來的數據(ju)非常多,考(kǎo)慮到事件(jian)驅動方式(shi)需要大🍉量(liàng)的代碼去(qù)分析接收(shōu).上來的數(shù)據屬于.上(shang)位機監測(ce)的哪部❄️分(fèn)數據,因此(ci),本設計🆚采(cǎi)用同步接(jie)收方式🏃去(qù)處理接收(shou)💯的數據。數(shù)據處理流(liú)程圖如圖(tú)3。
4.2軟件仿真(zhēn)
(1)仿真環境(jing)搭建
仿真(zhen)在一台電(dian)腦上面完(wán)成,需要兩(liǎng)條USB轉串口(kou)線,并把1号(hao)串🍉口上的(de)2針接2号串(chuàn)口上的3針(zhen),1号串口上(shang)的3針🔞接2号(hao)串口,上的(de)❌2針,然後兩(liǎng)個串口的(de)5針(接地端(duan))互相連接(jiē)即可。
(2)仿真(zhen)軟件
爲了(le)确保編程(cheng)的MODBUS-ASCII協議标(biāo)準(稍作改(gai)動便可供(gòng)其他标🌍準(zhǔn)渦輪流量(liang)計使用)正(zhèng)确可行,選(xuǎn)用MODBUSSlave軟件進(jìn)行仿真。MODBUSSlave是(shi)MODBUS子設備模(mo)拟工具,幫(bāng)助MODBUS通訊設(shè)備開發人(rén)員進行MODBUS通(tong)訊協議的(de)💃🏻模拟和🌏測(cè)試,用于模(mo)拟、測試、調(diao)試MODBUS通訊設(she)備。可以在(zai)32個窗口中(zhong)模拟多達(dá)32個MODBUS子設備(bèi)!與MODBUSPoll的用戶(hù)界面相🌍同(tóng),支持功能(néng)碼:01,02,03,04,05,06,15,16,22和23,監視(shì)串口數據(ju)。
(3).上位機功(gong)能
根據MODBUS--ASCII協(xié)議,本.上位(wei)機完成的(de)功能有:
“01”---讀(du)取連續的(de)布爾參數(shù)值(0/1);
“03”---讀取保(bao)存的儀表(biǎo)各項參數(shu)值(Hex;)
“04”---讀取儀(yí)表瞬時測(ce)量輸出值(zhi)(Hex);
“0F"---寫多個連(lián)續的布爾(er)參數值(0/1);
“10”--寫(xie)多個連續(xu)的寄存器(qi)參數值(Hex)。
通(tong)過利用MODBUSSlave軟(ruǎn)件進行仿(páng)真測試上(shàng)位機軟件(jiàn)。由于定時(shí)讀取下位(wei)保持機寄(ji)存器的數(shù)據是.MODBUS協議(yì)中代表🐅性(xìng)的⭐功能,因(yin)此在這裏(li)隻演示03功(gong)能仿真,仿(pang)真結果如(rú)下。
功能碼(ma)03爲定時讀(du)取下位機(ji)中已經存(cun)儲數據的(de)功能,每隔(gé)一定的時(shí)間将會從(cóng)下位機讀(dú)取一次數(shù)據,如果沒(méi)有♻️讀到将(jiāng)會☂️連續嘗(chang)試5次,如果(guo)5次讀取都(dou)沒有結果(guǒ)則認定㊙️連(lian)接斷開,用(yòng)戶可以再(zài)次點擊開(kai)始按鈕再(zài)次🔞讀取下(xià)位機數據(jù)。
圖4爲Wince系統(tong)的觸摸屏(ping)和電腦上(shàng)MODBUS.Slave軟件仿真(zhēn)合照。圖5是(shì)在Wince系統.上(shàng)運行上位(wèi)機軟件。單(dan)個寄存器(qì)隻能存儲(chu)2個字節的(de)數據🔴,因此(ci)對于🌈大的(de)數據來說(shuō)需要多個(ge)寄存器♉來(lái)存儲。對于(yu)由單個寄(jì)存器存儲(chǔ)的數據,如(rú)30002寄存器存(cún)儲的爲瞬(shùn)時流量的(de)值,由于精(jīng)☔度問題,當(dang)🐆.上位機接(jie)收到瞬時(shí)流量的數(shù)據時将會(hui)除以10則會(hui)得到43.2。而對(dui)于大的數(shù)據,如30004和30005存(cun)㊙️儲的是總(zong)累積流量(liàng)的數據,如(ru)🈲圖4,轉換的(de)順序是:當(dang),上位💜機讀(dú)取30004和30005的數(shu)據時,數據(ju)存儲爲002B0020(2B和(he)⚽20分别爲43和(he)32的16進制⭐表(biǎo)示),然後再(zài)🌈将002B0020轉換成(cheng)🍓10進制,最後(hòu)除以10取得(de)🔱精度,最終(zhong)得到281808。其他(ta)數據的計(jì)算方式可(ke)參照以.上(shang)兩種。
5結束(shu)語
本系統(tǒng)主要由上(shàng)位機、渦輪(lún)流量計、無(wú)線收發模(mó)塊.等幾♉個(gè)部分組成(cheng)。下位機采(cai)用C語言在(zài)MSP430F149上編程,上(shang)位機采用(yòng)C#語📱言在VS2012環(huan)境下編✏️程(cheng),上位機與(yu)下位機之(zhī)間采用RS-485進(jìn)行通信,設(she)計并編寫(xie)基于MODBUS-ASCII協議(yi)💯的通信應(yīng)用軟件。通(tong)過仿真實(shi)驗表明上(shang)位機完全(quán)按照MODBUSASCII協議(yì)編🈲寫并能(neng)夠通信成(chéng)功,下位機(jī)采集到的(de)數據可以(yǐ)通過自身(shēn)的顯示模(mó)塊以及上(shàng)位🔅機窗口(kou)同時顯示(shì),并且可以(yi)保存到下(xia)位機外擴(kuò)ROM中。本系👨❤️👨統(tǒng)具有良好(hao)的可擴展(zhǎn)性,通過簡(jian)單改寫最(zuì)多可以拓(tuo)展到32個子(zi)設備的流(liú)量等數據(ju)的監測,對(dui)降低生産(chan)運營成本(běn)有重大意(yì)義。
本文來(lái)源于網絡(luo),如有侵權(quán)聯系即删(shān)除!