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