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