999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Modbus協(xié)議的聲學(xué)多普勒流速剖面儀軟件實現(xiàn)

2015-09-08 10:13:47劉征宇陳允鋒陳夢英
聲學(xué)技術(shù) 2015年3期
關(guān)鍵詞:功能設(shè)備

劉征宇,陳允鋒,陳夢英

?

基于Modbus協(xié)議的聲學(xué)多普勒流速剖面儀軟件實現(xiàn)

劉征宇1,陳允鋒1,陳夢英2

(1. 海軍駐上海地區(qū)水聲導(dǎo)航軍事代表室,上海201108;2. 中國科學(xué)院聲學(xué)研究所東海研究站,上海200032)

為了配合各地水情中心或預(yù)警預(yù)報系統(tǒng)的建設(shè),研制了一款多普勒測流剖面儀,它具有真實反映流場,并且一次可以測量一個剖面上的若干層水流速度等優(yōu)點。首先對這款多普勒測流剖面儀的系統(tǒng)功能進(jìn)行了描述,結(jié)合Modbus協(xié)議特點,給出了本系統(tǒng)的讀寫數(shù)據(jù)的Modbus通信實例;在TI的OMAPL137硬件和嵌入式Linux操作系統(tǒng)的基礎(chǔ)上,給出了實現(xiàn)Modbus RTU協(xié)議從站的設(shè)計方案;通過將從站采集到的水流速度傳輸至主站實時顯示驗證了該方案。實驗證明該方案有效地實現(xiàn)了多普勒流速剖面儀在水利系統(tǒng)的現(xiàn)場數(shù)據(jù)傳輸。

多普勒流速剖面儀;Modbus協(xié)議;RTU傳輸模式;嵌入式Linux

0 引言

聲學(xué)多普勒流速剖面儀(Acoustic Doppler Current Profilers, ADCP),是20世紀(jì)80年代初發(fā)展起來的一種新型測流設(shè)備。它根據(jù)多普勒原理,應(yīng)用矢量合成法,遙測流速的垂直剖面分布,對流場不產(chǎn)生任何擾動,不存在機(jī)械慣性和機(jī)械磨損,可以真實反映流場,并且一次可以測量一個剖面上若干層水流速度的三維分量和絕對方向。由于ADCP具有諸多優(yōu)點,所以它的出現(xiàn)立即引起了海洋界的高度重視。近年來ADCP測流技術(shù)發(fā)展很快,產(chǎn)品具有多種頻率,多種規(guī)格,多種測量方式[1]。本文介紹的一款A(yù)DCP測流及遙測系統(tǒng),可以配合水情中心或預(yù)警預(yù)報系統(tǒng)的建設(shè),使得流速、流量的實時監(jiān)測數(shù)據(jù)的超遠(yuǎn)程傳輸成為可能,便于有關(guān)部門更為及時、多層面地了解水文情勢并作出數(shù)據(jù)的及時處理和分析。

隨著現(xiàn)代工業(yè)的發(fā)展,如今的工業(yè)控制已從單機(jī)控制走向集散控制、集中控制、集中監(jiān)控和網(wǎng)絡(luò)集約管理的時代,而工業(yè)控制器聯(lián)網(wǎng)也為網(wǎng)絡(luò)管理提供了方便。Modbus協(xié)議是一種通用通信協(xié)議。通過該協(xié)議,控制器相互之間、控制器經(jīng)由網(wǎng)絡(luò)和其它設(shè)備之間可以實現(xiàn)數(shù)據(jù)通信。有了它,控制設(shè)備可以連成工業(yè)網(wǎng)絡(luò),進(jìn)行集中監(jiān)控,成為現(xiàn)代網(wǎng)絡(luò)式集中制造、管理的主流趨勢[2]。因此,研究基于Modbus協(xié)議的ADCP系統(tǒng)十分有必要。

結(jié)合現(xiàn)代水聲設(shè)備小型化的要求,該設(shè)備的處理器采用TI公司的新款雙核OMAPL137芯片[3]。設(shè)備是遵循Modbus協(xié)議的從機(jī),與遠(yuǎn)程終端控制系統(tǒng)(Remote Terminal Unit, RTU)進(jìn)行串口通信。物理層采用了RS485串口通信標(biāo)準(zhǔn)。本文將首先介紹ADCP要實現(xiàn)的整體功能,再介紹如何通過Modbus協(xié)議與RTU主機(jī)進(jìn)行通信,最后給出了從機(jī)設(shè)計實現(xiàn)流程圖。

1 ADCP系統(tǒng)功能

本文研制的這款A(yù)DCP最大的特點是可以獨立工作,無人看守,并通過Modbus協(xié)議的方式進(jìn)行遠(yuǎn)距離控制和傳輸數(shù)據(jù)。ADCP的系統(tǒng)結(jié)構(gòu)如圖1所示。它的核心處理器是一款具有ARM和DSP雙核的OMAPL137芯片。其中DSP核負(fù)責(zé)AD采集、信號處理,將流速計算結(jié)果傳給ARM核。而ARM核中安裝了嵌入式Linux操作系統(tǒng),是整個設(shè)備的核心,它負(fù)責(zé)控制DSP運算,接收計算結(jié)果,數(shù)據(jù)保存以及與遠(yuǎn)程監(jiān)控主機(jī)進(jìn)行Modbus通信等。

RTU主機(jī)通過Modbus協(xié)議控制ADCP,實現(xiàn)工作狀態(tài)切換、參數(shù)設(shè)置以及數(shù)據(jù)傳輸。該系統(tǒng)的工作狀態(tài)包括自動測量、單次測量、自檢、預(yù)布設(shè)和待機(jī)等。測量參數(shù)設(shè)置包括盲區(qū)大小、測量單元大小和個數(shù)以及測流范圍等;測量數(shù)據(jù)需要保存、傳輸與管理;另外,還可以設(shè)置系統(tǒng)時間。數(shù)據(jù)傳輸是指遠(yuǎn)程監(jiān)控主機(jī)通過發(fā)送讀取命令選擇讀取的層數(shù)和流速結(jié)果的形式,ADCP將流速數(shù)據(jù)結(jié)果上傳。具體功能框圖如圖2所示。

2 ADCP中Modbus通信協(xié)議設(shè)計

本節(jié)首先介紹Modbus通信協(xié)議的特點,結(jié)合協(xié)議的特殊性和ADCP的具體功能,設(shè)計了本設(shè)備的Modbus通信協(xié)議,并給出了讀取流速結(jié)果和同步系統(tǒng)時間的兩個通信實例。

2.1 Modbus通信協(xié)議特點

Modbus協(xié)議有ASCII和RTU兩種。RTU方式在同樣的波特率下可比ASCII方式傳送更多的數(shù)據(jù),本文采用Modbus RTU傳輸方式[4]。

RTU模式下消息發(fā)送至少要以3.5個字符時間的停頓間隔開始。傳輸?shù)牡谝粋€域是設(shè)備地址。可以使用的傳輸字符是十六進(jìn)制的0...9, A...F。網(wǎng)絡(luò)設(shè)備不斷偵測網(wǎng)絡(luò)總線,包括停頓間隔時間內(nèi)。當(dāng)?shù)谝粋€域(地址域)接收到消息時,每個設(shè)備都進(jìn)行解碼以判斷消息是否是發(fā)往自己的。在最后一個傳輸字符之后,一個至少3.5個字符時間的停頓標(biāo)定了消息的結(jié)束。一個新的消息可在此停頓后開始。

2.2 ADCP的通信協(xié)議設(shè)計

表1給出了Modbus RTU幀格式。其中起始位和結(jié)束符代表與前后幀的間隔不小于3.5個字符;CRC(Cyclic Redundancy Check, 循環(huán)冗余校驗)是校驗碼。

表1 RTU幀格式

表1中設(shè)備地址是通訊傳送的第一個字節(jié)。這個字節(jié)表示由用戶設(shè)定地址碼的從機(jī)將接收由主機(jī)發(fā)送來的消息。每個從機(jī)都有唯一的地址碼,并且響應(yīng)均以各自的地址碼開始。即主機(jī)發(fā)送的地址碼表明將發(fā)送到的從機(jī)地址,而從機(jī)發(fā)送的地址碼表明回送的從機(jī)地址。

功能碼是通訊傳送的第二個字節(jié)。本設(shè)備使用了其中的兩個功能碼:讀取碼03H和寫命令碼10H。作為主機(jī)請求發(fā)送,通過功能碼告訴從機(jī)執(zhí)行什么動作。作為從機(jī)響應(yīng),從機(jī)發(fā)送的功能碼與從主機(jī)發(fā)送來的功能碼一樣,并表明從機(jī)已響應(yīng)主機(jī)進(jìn)行操作。

數(shù)據(jù)域是可變長的字段,具體格式和功能碼密切相關(guān)。表2給出了ADCP的部分RTU幀格式中數(shù)據(jù)域的定義。其中各寄存器首址是參數(shù)命令的起始地址,寄存器個數(shù)表示該參數(shù)所占字節(jié)數(shù),即字節(jié)數(shù)等于寄存器個數(shù)乘以2。

表2 ADCP關(guān)于RTU幀格式的數(shù)據(jù)域定義

2.3 讀取ADCP流速結(jié)果實例

多個寄存器數(shù)據(jù)讀取使用03H(讀取保持寄存器)功能碼。數(shù)據(jù)讀取時可以單獨讀取某一參數(shù),也可以讀多個連續(xù)地址的參數(shù)。可以通過0x03命令讀取設(shè)備參數(shù)、測量數(shù)據(jù)等值。具體格式定義如下:

主機(jī)發(fā)送幀:[儀表地址] [功能碼03] [寄存器起始地址高字節(jié)] [寄存器起始地址低字節(jié)] [讀取的寄存器數(shù)高字節(jié)] [讀取的寄存器數(shù)低字節(jié)] [CRC高字節(jié)] [CRC低字節(jié)]。

從機(jī)接收數(shù)據(jù)幀后進(jìn)行分析判斷,如數(shù)據(jù)有效則向主機(jī)發(fā)送相應(yīng)幀,如無效則返回錯誤回應(yīng)幀。

從機(jī)響應(yīng)幀:[儀表地址] [功能碼03] [返回的字節(jié)個數(shù)][數(shù)據(jù)1][數(shù)據(jù)2]...[數(shù)據(jù)n][CRC高字節(jié)] [CRC低字節(jié)]。其中,返回的字節(jié)個數(shù)是讀取的寄存器數(shù)的2倍。

錯誤回應(yīng)幀:[設(shè)備地址] [功能碼+0x80] [錯誤碼] [CRC高字節(jié)] [CRC低字節(jié)]。錯誤碼:0x01表示無效功能,0x02表示無效寄存器地址,0x03表示無效的數(shù)據(jù)。

下面給出讀取第一層流速數(shù)據(jù)的實例。RTU主機(jī)發(fā)送幀格式如表3所示,數(shù)據(jù)域中包括寄存器首址和寄存器個數(shù),分別代表要讀取的第一層流速存儲地址和寄存器個數(shù)。ADCP響應(yīng)幀格式如表4所示,數(shù)據(jù)域中數(shù)據(jù)字節(jié)數(shù)表示返回數(shù)據(jù)大小,數(shù)據(jù)1表示第一層X方向流速,數(shù)據(jù)2表示第一層Y方向流速。

表3 主機(jī)發(fā)送幀格式(功能碼03H)

表4 ADCP響應(yīng)幀格式(功能碼03H)

2.4 同步ADCP系統(tǒng)時間實例

使用10H命令,每次允許寫一個或多個寄存器的值,設(shè)置多個寄存器時,設(shè)置的寄存器地址必須是連續(xù)的。可以通過10H命令設(shè)置設(shè)備參數(shù),同步時間等。具體格式定義如下:

主機(jī)發(fā)送幀:[儀表地址] [功能碼10] [寄存器起始地址高字節(jié)] [寄存器起始地址低字節(jié)] [需寫的寄存器數(shù)高字節(jié)] [需寫的寄存器數(shù)低字節(jié)] [要寫的數(shù)據(jù)總的字節(jié)數(shù)] [數(shù)據(jù)1][數(shù)據(jù)2]...[數(shù)據(jù)n] [CRC高字節(jié)] [CRC低字節(jié)]。

從機(jī)接收數(shù)據(jù)幀后進(jìn)行分析判斷,如數(shù)據(jù)有效向主機(jī)發(fā)送相應(yīng)幀,如無效則返回錯誤回應(yīng)幀。

從機(jī)響應(yīng)幀:[儀表地址] [功能碼10] [寄存器起始地址高字節(jié)] [寄存器起始地址低字節(jié)] [寄存器數(shù)高字節(jié)] [寄存器數(shù)低字節(jié)] [CRC高字節(jié)] [CRC低字節(jié)]。

錯誤回應(yīng)幀:[儀表地址] [功能碼+0x80] [錯誤碼] [CRC高字節(jié)] [CRC低字節(jié)]。錯誤碼:0x01表示無效功能,0x02表示無效寄存器地址,0x03表示無效的數(shù)據(jù)。

下面給出RTU主機(jī)對ADCP設(shè)備進(jìn)行時間同步的實例。主機(jī)發(fā)送幀如表5所示,數(shù)據(jù)域給出了需要寫入的時間,13年10月16日13時17分19秒,當(dāng)ADCP收到該幀,將立即修改系統(tǒng)時間,并回復(fù)響應(yīng)幀如表6所示。

表5 主機(jī)發(fā)送幀格式(功能碼10H)

表6 從機(jī)響應(yīng)幀格式(功能碼10H)

3 ADCP中Modbus通信軟件的實現(xiàn)

ADCP作為整個水情預(yù)報系統(tǒng)的一個觀測節(jié)點,是Modbus RTU從機(jī),主要實現(xiàn)消息幀的接收和存儲,并根據(jù)接收到的消息幀執(zhí)行相應(yīng)的行為,將響應(yīng)幀反饋給主設(shè)備[5]。下面對本設(shè)備接收幀的超時檢測和接收幀處理流程分別進(jìn)行闡述。

3.1 Modbus幀的超時檢測

ADCP通過超時檢測的方法來判斷每個幀的開始和結(jié)束。當(dāng)串口接收到第一個字元時,精確的Linux系統(tǒng)計時器開始計時,若在3.5個字符時間內(nèi)還沒有新的字元到達(dá),則認(rèn)為接收到一個Modbus協(xié)議RTU模式的消息幀,于是調(diào)用接收幀處理程序工作。其中3.5個字符所需時間與串口波特率有關(guān)。當(dāng)波特率為9600時,對應(yīng)時間為3.5*11/9600=4 ms。超時檢測軟件流程圖如圖3所示。

3.2 Modbus RTU從機(jī)接收幀處理流程

當(dāng)ADCP通過超時檢測程序檢測出一幀信號后,進(jìn)入接收幀處理流程,流程圖如圖4所示。Modbus RTU從機(jī)對收到的數(shù)據(jù)進(jìn)行分析,如果地址位是本機(jī)地址的話,證明此次接收的數(shù)據(jù)是發(fā)送給本機(jī)的符合Modbus協(xié)議RTU模式的數(shù)據(jù),則對接收的數(shù)據(jù)進(jìn)行CRC校驗。如果數(shù)據(jù)能夠通過CRC校驗,則證明此次接收的數(shù)據(jù)是一個完整的消息幀,可以對功能碼、寄存器地址、數(shù)據(jù)進(jìn)行判斷,完成數(shù)據(jù)讀取、數(shù)據(jù)分析及數(shù)據(jù)處理的過程,并反饋響應(yīng)幀給主機(jī)。其中執(zhí)行功能操作主要是完成以下幾點:解析消息幀,讀取功能代碼,跳轉(zhuǎn)執(zhí)行相應(yīng)操作,并構(gòu)造響應(yīng)幀,將響應(yīng)幀反饋至RTU主機(jī)。如果是錯誤信息,則根據(jù)錯誤碼構(gòu)造錯誤回應(yīng)幀,并將含有錯誤碼的消息幀發(fā)送給RTU主機(jī)。

本系統(tǒng)在RTU傳輸模式下與主站進(jìn)行了數(shù)據(jù)通信,測試結(jié)果正確無誤,能夠成功地完成Modbus通信中對數(shù)據(jù)的采集、處理和控制操作等要求。

4 結(jié)論

本文設(shè)計的這款多普勒流速剖面儀,采用Modbus協(xié)議的RS485總線進(jìn)行通信傳輸,上位機(jī)控制中心實現(xiàn)遠(yuǎn)程實時監(jiān)控。測試結(jié)果表明,本系統(tǒng)工作穩(wěn)定、可靠性強(qiáng)、操作方便。另外,該ADCP還可以多臺設(shè)備組網(wǎng),這樣使得遠(yuǎn)程監(jiān)控各地區(qū)的水文情勢成為可能。本文設(shè)計軟件不僅僅針對水文監(jiān)控,只需要對系統(tǒng)進(jìn)行較少的改動就能很好地適用于對大型設(shè)備進(jìn)行通信的要求,具有很強(qiáng)的技術(shù)適應(yīng)性。

[1] 朱昊. 嵌入式數(shù)字ADCP信號處理系統(tǒng)的研究[D]. 天津: 天津大學(xué)工學(xué)碩士論文, 2003: 2-6.

ZHU Hao. Study on embedded signal processing system of digital ADCP[D]. Tianjin: The Degree of Master of Tian Jin University, 2003: 2-6.

[2] 王軍霞, 趙金龍, 程秀竹. MODBUS RTU通訊協(xié)議在S7-200 PLC中的應(yīng)用[J]. 系統(tǒng)集成與工程應(yīng)用, 2013, 144(4): 53-55.

WANG Junxia, ZHAO Jinlong, CHENG Xiuzhu. Application of Modbus RTU communication protocol in S7-200 PLC[J]. System Integration and Engineering Application, 2013, 144(4): 53-55.

[3] Texas Instruments. OMAP-L137 Low power applications processor data sheet[Z]. SPRS563C, 2009.12.

[4] 翁建年, 史春華, 張浩. 基于ARM7微處理器的Modbus通信協(xié)議的實現(xiàn)[J]. 機(jī)電一體化, 2009, 13(6): 69-83.

WENG Jiannian, SHI Chunhua, ZHANG Hao. Based on ARM7 realization of Modbus communication protocol[J]. Mechanical and Electrical Integration, 2009, 13(6): 69-83.

[5] 張桂, 金國強(qiáng), 李輝. 基于ARM平臺Modbus RTU協(xié)議的研究與實現(xiàn)[J]. 電力科學(xué)與工程, 2011, 27(1): 23-27.

ZHANG Gui, JIN Guoqiang, LI Hui. Research and implementation of Modbus RTU protocol based on ARM[J]. Electric Power Science and Engineering Power Science and Engineering, 2011, 27(1): 23-27.

Implementation of acoustic Doppler profilers based on Modbus protocol

LIU Zheng-yu1, CHEN Yun-feng1, CHEN Meng-ying2

(1. Military Representatives Office of Underwater Sound & Navigation System in Shanghai Area, Shanghai 201108, China;2. Shanghai Acoustic Laboratory, Institute of Acoustics, Chinese Academy of Sciences, Shanghai, 200032, China)

In order to fit the construction of hydrologic information center or the early warning and forecasting system, an acoustic Doppler current profiler is developed, it can truly reflect the flow field, and get a current profilers through once measurement. In this paper firstly the system function of Doppler current profiler is described; and then secondly, combining the characteristic of Modbus protocol, an example of sending and receiving data is presented. Based on the OMAPL137 hardware and the embedded Linux operating system, a scheme of implementing of Modbus RTU protocol is realized. The scheme is verified by communication experiments. The experimental results show that this method can effectively carry out data transmission for acoustic Doppler current Profiler in data transmission of hydraulic system.

Acoustic Doppler Current profilers; Modbus protocol; RTU transmission mode; Embedded Linux

TB556

A

1000-3630(2015)-03-0260-05

10.3969/j.issn1000-3630.2015.03.014

2015-03-01;

2015-06-03

劉征宇(1981-), 男, 安徽銅陵人, 工程師, 研究方向為數(shù)字信號處理。

陳夢英, E-mail: chen03051302@126.com

猜你喜歡
功能設(shè)備
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
諧響應(yīng)分析在設(shè)備減振中的應(yīng)用
基于VB6.0+Access2010開發(fā)的設(shè)備管理信息系統(tǒng)
基于MPU6050簡單控制設(shè)備
電子制作(2018年11期)2018-08-04 03:26:08
關(guān)于非首都功能疏解的幾點思考
懷孕了,凝血功能怎么變?
媽媽寶寶(2017年2期)2017-02-21 01:21:24
“簡直”和“幾乎”的表達(dá)功能
500kV輸變電設(shè)備運行維護(hù)探討
如何在設(shè)備采購中節(jié)省成本
原來他們都是可穿戴設(shè)備
消費者報道(2014年7期)2014-07-31 11:23:57
主站蜘蛛池模板: 国产不卡在线看| 亚洲色欲色欲www在线观看| 人妻91无码色偷偷色噜噜噜| 欧美午夜视频在线| 久久77777| 久久精品一品道久久精品| 国产一级做美女做受视频| 亚洲人成网7777777国产| 国产va免费精品观看| 国产啪在线| 最新国产高清在线| 97精品久久久大香线焦| 国产香蕉国产精品偷在线观看| 人妻少妇乱子伦精品无码专区毛片| 22sihu国产精品视频影视资讯| 久久黄色影院| 青草精品视频| 久久无码av三级| 亚洲成AV人手机在线观看网站| 亚洲日产2021三区在线| 呦女亚洲一区精品| 成人综合在线观看| 欧美亚洲网| 国产亚洲精品资源在线26u| 在线观看国产黄色| 国产高清色视频免费看的网址| 日韩欧美国产三级| 亚洲综合色在线| 欧美丝袜高跟鞋一区二区| 在线永久免费观看的毛片| 国产日韩欧美视频| 国产精品永久免费嫩草研究院| 一级毛片高清| 囯产av无码片毛片一级| 无码AV高清毛片中国一级毛片| 久久久久无码精品国产免费| 99久久精彩视频| 国产在线观看99| 欧美福利在线播放| 欧美第一页在线| 亚洲人成网站18禁动漫无码| 亚洲V日韩V无码一区二区| 2021精品国产自在现线看| 亚洲国产成人无码AV在线影院L| 亚洲成人在线免费观看| 中国一级毛片免费观看| 国产一区二区在线视频观看| 五月天香蕉视频国产亚| 99久久精品国产麻豆婷婷| 成人永久免费A∨一级在线播放| 亚洲愉拍一区二区精品| 91 九色视频丝袜| 亚洲成人播放| 国产新AV天堂| 亚洲欧美一级一级a| 国产一区二区三区精品久久呦| igao国产精品| 国产在线自在拍91精品黑人| 欧美日本在线观看| 2020亚洲精品无码| 91福利国产成人精品导航| 欧美丝袜高跟鞋一区二区| 中文纯内无码H| 国产一区二区福利| 国产高清又黄又嫩的免费视频网站| 国产在线精品99一区不卡| 9久久伊人精品综合| 麻豆精品在线视频| 亚洲综合专区| 国产成人亚洲无码淙合青草| 黄片在线永久| 国产噜噜噜视频在线观看 | 国产高潮流白浆视频| 综合五月天网| 亚洲日韩精品无码专区| 亚洲AV色香蕉一区二区| 欧美性久久久久| 2021亚洲精品不卡a| 日韩高清在线观看不卡一区二区| 毛片一区二区在线看| 亚洲欧美人成电影在线观看| 久久性视频|