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

多測量裝置水質監測儀器集成控制系統開發

2017-07-18 11:42:21哈謙
海洋技術學報 2017年3期
關鍵詞:嵌入式指令測量

哈謙

(國家海洋技術中心,天津 300111)

多測量裝置水質監測儀器集成控制系統開發

哈謙

(國家海洋技術中心,天津 300111)

介紹了一種具有多個測量裝置的水質監測儀器集成控制系統的開發設計方案。該設計方案針對5套功能相似但相互獨立的水質測量裝置,以嵌入式系統為控制核心,靈活運用Modbus RTU通信協議及RS485總線,并自主開發通信協議,實現控制核心與觸摸屏、PC機以及5套測量裝置的通信連接;進而采用多任務的處理架構,對上述外圍設備操作任務進行分時處理,最終成功將5套測量裝置集成為一臺水質監測儀器,并支持PC機和觸摸屏雙終端進行顯示和控制。實際應用效果表明,該設計方案穩定、可靠。

集成控制系統;水質監測;Modbus

1 系統總體介紹

該水質監測儀器主要由3部分組成,測量裝置部分、嵌入式控制核心以及顯示控制終端,系統架構如圖1所示。

測量裝置部分共包括5套測量裝置,各測量裝置之間相互獨立,每套測量裝置具有各自的MCU、外圍擴展控制電路、光源、光電檢測等部件,可按照吸光光度法的基本原理,獨立完成海水樣品進樣、化學試劑添加、水質參數檢測等一系列工作,檢測全過程自動化,通過RS485接口與外界進行數據和指令的通信。5套測量裝置的區別在于采用了不同的化學工藝和檢測波長,從而實現對5種水質參數的檢測。

顯示控制終端由PC機和觸摸屏組成。PC機通過其運行的上位機軟件,實現控制指令發送、測量數據顯示、工作狀態監控、歷史數據保存與查詢等功能;觸摸屏是PC機之外的另一顯示控制終端,既可獨立于PC機之外單獨實現顯示控制功能,從而滿足野外或船載等無計算機參與條件下的人機交互,也可以與PC機同時存在,實現雙顯示控制終端的自由選擇。

嵌入式控制核心是該水質分析儀器的核心控制部分,是測量裝置和顯示控制終端之間的橋梁,嵌入式控制核心的存在,使得測量裝置和顯示控制終端能夠建立起通信連接。嵌入式控制核心接收PC機和觸摸屏的工作指令,進行必要的解析,再轉發至測量裝置;測量裝置對工作指令的應答、工作過程中的狀態信息、原始數據以及經過數據處理的最終測量結果發送至嵌入式控制核心,嵌入式控制核心將上述信息轉發至PC機和觸摸屏顯示,并將測量結果存儲于本地,供歷史數據查詢時使用。本文所述集成控制系統以Rabbit3000控制單板為嵌入式控制核心,應用Dynamic C進行控制程序開發[1-2]。

圖1 系統總體架構

2 建立通信連接

2.1 嵌入式控制核心與PC機之間的通信連接

PC機是主要的顯示控制終端,該水質監測儀器通過PC機上運行的上位機軟件完成指令的發送和測量數據、部件工作狀態以及工作進程等信息的顯示。嵌入式控制核心與PC機通過RS232端口連接,二者之間的通信協議根據實際應用需要自主制定開發,基本通信指令格式為“起始字符地址碼功能碼結束字符”,地址碼的功能是對5套測量裝置加以區分,5套測量裝置分別對應地址碼1~5。

2.2 嵌入式控制核心與觸摸屏之間的通信連接

本系統中用于交互的觸摸屏元件[3]主要是按鈕和數據顯示。按鈕用于發送工作指令,數據顯示元件用于顯示測量數據和狀態。嵌入式控制核心與觸摸屏之間通過RS232端口連接。觸摸屏收、發指令都按照Modbus RTU協議進行處理,為確保與觸摸屏建立穩定的通信連接,嵌入式控制核心需按照Modbus RTU協議開發對觸摸屏指令的處理程序。

Modbus協議是工業領域內全球最流行的協議之一,應用該協議的系統中有一個主設備,可以有一個或多個從設備,主設備發起查詢,從設備進行應答。Modbus協議支持ASCII模式和RTU模式的數據傳輸。本文采用RTU模式,其信息幀結構如表1所示[4]。觸摸屏與嵌入式控制核心之間應用Modbus RTU協議進行通信,以觸摸屏為主設備,嵌入式控制核心為從設備,所有二者之間的發送工作指令、讀取數據、時間、狀態信息的操作都以查詢應答的形式進行[5-7]。地址碼是主設備區分多個從設備的標識,相對于觸摸屏而言,本系統中只有嵌入式控制核心一個從設備,地址默認設置為01H。主設備通過功能碼告知從設備執行何種操作,從設備通過功能碼向主設備確認已執行了該操作,或修改功能碼告知主設備出現錯誤。結合水質監測儀器的工作需求,實際使用的功能碼及擴展實現的功能如表2所示。功能碼01H取得一組工作指令狀態切換開關的當前狀態(ON/OFF),用于查詢工作狀態;功能碼03H用于讀取測量時間;功能碼04H用于讀取測量數據;功能碼05H,強置一個工作指令狀態切換開關的狀態,用于發送工作指令。

2.3 嵌入式控制核心與測量裝置之間的通信連接

嵌入式控制核心與5套測量裝置進行通信,傳輸指令、數據及工作狀態,為保證對5套測量裝置的有效控制,采用RS485總線連接嵌入式控制核心與5套測量裝置。根據實際需要,自主開發通信協議,基本格式為“起始字符地址碼功能碼結束字符”,地址碼的功能是對5套測量裝置加以區分,5套測量裝置分別對應地址碼1~5。以嵌入式控制核心為主設備,5套測量裝置為從設備,為了避免嵌入式控制核心與5套測量裝置之間的通信出現沖突,確保通信過程有序進行,建立查詢應答的通信機制,嵌入式控制核心查詢,5套測量裝置進行應答,即嵌入式控制核心與5套測量裝置之間的一切通信操作,都由嵌入式控制核心發起,測量裝置不能主動啟動通信操作,只能被動地進行應答。這確保了嵌入式控制核心對RS485總線的控制權。而且在任一時刻,只有查詢指令的地址碼與自身編號相一致的測量裝置,可以占用RS485總線進行應答。

表1 Modbus RTU信息幀格式

表2 Modbus功能碼及對應功能

3 集成系統開發

建立上述嵌入式控制核心與PC機、觸摸屏以及5套測量裝置的通信連接后,進行集成系統開發,即建立起一種運行機制,使得PC機和觸摸屏的指令能夠發送到測量裝置,測量裝置的數據、狀態等信息能夠及時反饋到PC機和觸摸屏進行顯示[8],指令、數據通信架構如圖2所示。嵌入式控制核心需要實現的具體功能可進一步進行劃分:功能1,接收PC機工作指令并進行存儲;功能2,接收觸摸屏指令并解析,對于工作指令進行存儲,留作向測量裝置轉發時使用,并向觸摸屏立即做出應答;對于索要數據、狀態信息等的指令,在本地存儲區內檢索存儲的數據、狀態等信息,按照Modbus RTU協議進行封裝,并對觸摸屏立即做出應答;功能3,將存儲的PC機工作指令轉發到測量裝置;功能4,將存儲的觸摸屏工作指令轉發到測量裝置;功能5,向5套測量裝置查詢工作狀態、測量時間、測量數據等信息,并進行解析和本地存儲。對于解析出的需要PC機顯示的數據、狀態等信息,按照自主制定的通信協議封裝,立即轉發到PC機;對于需要觸摸屏顯示的數據和狀態等信息,存儲于本地,留作功能2中的觸摸屏查詢時填充Modbus RTU信息幀進行應答。鑒于涉及觸摸屏的指令需要存儲轉發,需要按照按鈕、數據顯示等不同功能的觸摸屏組態元件在嵌入式控制核心內開辟對應的存儲區。

圖2 指令、數據通信架構

為實現上述功能,開發各端口的處理函數。嵌入式控制核心與顯示控制終端、測量裝置相連的端口類型、端口命名以及開發的處理函數如表3所示。PC機、觸摸屏和測量裝置共占用了兩個RS232端口和1個RS485端口,分別命名為COM_PC、COM_TS和COM_DEV,對應的端口處理函數分別命 名 為 PROC_COM_PC、PROC_COM_TS 和PROC_COM_DEV。其中PROC_COM_PC用于實現功 能 1,PROC_COM_TS用 于實 現 功 能 2,PROC_COM_DEV用于實現功能3、4、5。

表3 端口命名及其對應的處理函數

3.1 PROC_COM_PC函數的處理流程

函數PROC_COM_PC的處理流程如圖3所示,首先接收COM_PC端口收到的指令,對指令進行解析,判斷地址碼,由地址碼決定該指令需要轉發到哪套測量裝置。定義全局變量 dev_flag作為COM_PC端口指令向測量裝置轉發的標識。如地址碼為1,則dev_flag置為1。在COM_DEV端口向測量裝置轉發指令時,通過該標識來決定轉發到相應的測量裝置。以此類推,地址碼為2、3、4、5的情況采取相同的方法進行處理。

圖3 PROC_COM_PC處理流程

另外,如果通過PC機發出的指令進行了正常的操作,而觸摸屏沒有相應的顯示,則最終分析儀器的兩個終端沒有做到顯示同步。因此在PROC_COM_PC中,dev_flag標識賦值的同時,要對觸摸屏存儲區進行相應的操作,從而在觸摸屏通過COM_TS端口進行查詢時,對應的元件會有相應的顯示。比如通過PC機發出了“測量裝置1工作”指令,因為PROC_COM_PC處理時,對嵌入式控制核心上“測量裝置1工作”按鈕元件所對應的存儲區進行了操作,雖然沒有人為去點擊觸摸屏“測量裝置1工作”按鈕元件,但通過觸摸屏查詢與嵌入式控制核心之間的查詢應答,按鈕元件會顯示已切換到“工作”對應的狀態,從而做到由PC機發出指令,觸摸屏會跟隨PC機顯示也進行了同樣的操作,實現兩終端的同步。

3.2 PROC_COM_TS函數的處理流程

函數PROC_COM_TS的處理流程如圖4所示,首先接收COM_TS端口收到的指令,對指令進行解析,檢測功能碼,并采取相應的操作。其中功能碼01H、03H、04H對應讀取存儲區的操作,分別讀取存儲區中保存的相應元件的狀態、測量時間以及測量數據;功能碼05H對應寫入存儲區的操作,比如點擊觸摸屏上的“測量裝置1工作”按鈕元件,對應的功能碼05H的查詢指令就發送到COM_TS端口,PROC_COM_TS進行處理,對“測量裝置1工作”按鈕元件對應的存儲區標識置位,即完成寫入操作,在以后PROC_COM_DEV中檢測到該標識被置位,則向測量裝置1發送“工作”指令。無論是讀取存儲區或者寫入存儲區,操作完成后都要按照ModbusRTU協議對指令進行封裝,通過COM_TS端口發送至觸摸屏,從而完整地執行一次查詢應答的操作,本次PROC_COM_TS處理流程結束。

圖4 PROC_COM_TS處理流程

3.3 PROC_COM_DEV函數的處理流程

函數PROC_COM_DEV的處理流程如圖5所示。如上所述,PROC_COM_DEV用于實現集成控制系統的功能3、4、5。PROC_COM_DEV由dev_flag區分為十個分支:dev_flag為1時,將儲存的PC機、觸摸屏工作指令轉發至測量裝置1;dev_flag為2~5時與dev_flag為1時類似,分別將指令轉發至測量裝置2~5;dev_flag為6時,按照RS485總線主從通信機制的約定,嵌入式控制核心作為主設備,主動向測量裝置1發出查詢讀取指令,測量裝置1收到指令后,立即進行應答,PROC_COM_DEV對收到的應答信息進行解析,將測量時間、測量數據、狀態信息進行保存,并通過COM_PC直接轉發至PC機,從而在PC機上實現了數據、監控信息的顯示等功能;同時保存的信息,將會用于觸摸屏查詢時封裝應答指令使用,從而間接實現了對觸摸屏顯示數據、狀態信息的支持;dev_flag為7~10時采用類似方法,分別實現對測量裝置2~5發送查詢讀取指令,并對讀取回的應答信息執行相應的解析、存儲、轉發操作。

在各個分支執行完相應的操作后,都會對dev_flag進行操作:在dev_flag為1~9的分支中,dev_flag執行加1操作;在dev_flag為10的分支中,對dev_flag置1。對dev_flag的操作完成后,單個分支執行完畢,PROC_COM_DEV的單次操作也完成。PROC_COM_DEV內部dev_flag在1~10之間循環,從而決定了10個分支都能夠得到執行。

圖5 PROC_COM_DEV處理流程

3.4 程序總體運行調度

程序總體處理流程如圖6所示,程序運行在一個大的循環中,輪流對3個端口COM_PC、COM_TS和COM_DEV進行處理,但PROC_COM_PC和PROC_COM_TS是否運行取決于其判斷條件,即嵌入式控制核心是否接收到PC機或觸摸屏的指令。如果端口接收到指令,則進入PROC_COM_PC或PROC_COM_TS進行處理,否則直接跳過,其端口對應的處理函數不予執行;而端口COM_DEV沒有判斷條件進行限制,循環運行到端口COM_DEV時立即進入PROC_COM_DEV進行相應的處理。

圖6 程序總體處理流程

在程序的運行過程中,dev_flag也是決定程序運行方向的重要標識。在函數PROC_COM_PC和PROC_COM_DEV中,均有對dev_flag的操作。上述總體處理流程的建立,間接決定了PROC_COM_PC中對dev_flag的操作將會覆蓋PROC_COM_DEV中對dev_flag的操作,具體體現如下:一是在COM_PC沒有接收到指令的情況下,即PC沒有發出操作指令,PROC_COM_PC不執行,PROC_COM_DEV照常執行,dev_flag從1到10循環往復;二是在PC機發出操作指令后,PROC_COM_PC執行,dev_flag將會按照PC機發出的指令進行賦值操作,賦值范圍1~ 5,本次賦值覆蓋掉了上次循環中,PROC_COM_DEV對dev_flag執行的1~10之間的累加操作。表面上看由于dev_flag的值被覆蓋,干擾了程序的正常執行,實際上程序的運行并未受到影響。這是因為實際使用中,PC機(或觸摸屏)發出的指令是后續一切操作的開始,程序的首要任務是將PC機(或觸摸屏)的指令轉發到測量裝置,無論上次PROC_COM_DEV運行中dev_flag賦值為多少,都會為了確保指令下發這一首要任務的實現而將dev_flag賦新值,本次循環的PROC_COM_DEV將按照新的dev_flag執行,首先把PC機(或觸摸屏)指令轉發到對應的測量裝置,后續循環的PROC_COM_DEV中再執行讀取等其他操作。這符合實際工作中指令、數據產生的先后順序和傳輸流程,因此程序的運行從邏輯上來說是正確的。

4 實際使用情況

2014年,采用上述集成控制系統的5臺水質監測儀器分別應用于國家海洋局北海分局和東海分局下屬單位,至今已使用3 a有余。在使用過程中,集成控制系統工作穩定,PC機和觸摸屏有效控制了5套測量裝置的工作,同時各種測量數據、狀態信息都及時回傳到PC機和觸摸屏得到顯示。

5 結語

本文針對5套相互獨立的水質測量裝置,靈活運用Modbus RTU通信協議、RS485總線,以及自主制定的通信協議,首先建立了嵌入式控制核心和PC機、觸摸屏以及5套測量裝置之間的通信連接,之后開發了各通信端口的處理函數,并采用多任務的處理架構,成功實現了5套水質測量裝置的集成控制。實際應用情況表明,該設計方案穩定、可靠,可以針對具有類似通信架構的多測量裝置水質監測儀器的集成控制系統開發時使用。

[1]Rabbit Semiconductor.Rabbit 3000 Microprocessor Designer’s Handbook[M].2006.

[2]Rabbit Semiconductor.Dynamic CUser’s Manual[M].2007.

[3]KincoHMIware使用手冊[M].上海步科自動化股份有限公司,2011.

[4]Modicon Inc.Modicon Modbus Protocol Reference Guide[M].1996.

[5]李明偉,郭廣峰,黃鴿.PIC單片機與觸摸屏串行通信的MODBUS協議實現[J].電子技術應用,2005(9):40-42.

[6]路平,薛樹琦.Modbus協議下單片機與eView觸摸屏的通信方法[J].單片機與嵌入式系統應用,2007(1):46-48.

[7]尤慧芳.用MODBUS實現觸摸屏與單片機的通信[J].工業控制計算機,2008,21(12):63-66.

[8]哈謙,王寧,李慧青,等.Modbus協議在水質監測儀器中的應用[J].海洋技術,2011,30(4):42-45.

Design of an Integrated Control System for Water Quality Monitoring Instruments with Multi-Measuring Devices

HA Qian
National Ocean Technology Center,Tianjin 300111,China

This paper introduces the design of an integrated control system for water quality monitoring instruments with multi-measuring devices.In this design,the embedded system is used as the control core.The communication link among the control core,one touch screen,one PC and five devices is established through the application of Modbus RTU protocol,RS485 bus and self-developed communication protocol.Then the multitasking architecture is introduced to process the peripheral tasks mentioned above.Finally,five devices are integrated into one instrument,with PC and touch screen serving as two terminal devices to display and control. The practical application shows that the design is both stable and reliable.

integrated control system;water quality monitoring;Modbus

TP311;X834

A

1003-2029(2017)03-0062-06

10.3969/j.issn.1003-2029.2017.03.012

2017-04-10

海洋公益性行業科研專項資助項目(201405007)

哈謙(1984-),男,工程師,主要從事海洋集成監測系統方面的研究。E-mail:hqnotc@163.com

猜你喜歡
嵌入式指令測量
聽我指令:大催眠術
把握四個“三” 測量變簡單
滑動摩擦力的測量和計算
ARINC661顯控指令快速驗證方法
測控技術(2018年5期)2018-12-09 09:04:26
LED照明產品歐盟ErP指令要求解讀
電子測試(2018年18期)2018-11-14 02:30:34
滑動摩擦力的測量與計算
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
測量
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 久久精品人人做人人爽电影蜜月 | 国产在线麻豆波多野结衣| 欧美有码在线观看| 国产成人凹凸视频在线| 成人在线亚洲| 欧美区一区二区三| 中国美女**毛片录像在线| 中文字幕色在线| 国产激情无码一区二区APP| 黄色三级网站免费| 国产一区二区在线视频观看| 国模沟沟一区二区三区| 成人韩免费网站| 婷婷综合色| 免费av一区二区三区在线| 久久久91人妻无码精品蜜桃HD| 日韩久久精品无码aV| 国产SUV精品一区二区6| 亚洲系列中文字幕一区二区| av一区二区三区高清久久| 国产凹凸视频在线观看| 国产精品无码久久久久久| 国产午夜精品鲁丝片| 全午夜免费一级毛片| 久久公开视频| 超薄丝袜足j国产在线视频| 久久综合结合久久狠狠狠97色| 伊人91在线| 三级毛片在线播放| 国产一区二区人大臿蕉香蕉| 爆操波多野结衣| 沈阳少妇高潮在线| 91视频99| 波多野结衣一区二区三区四区视频| 国产综合色在线视频播放线视| 国产裸舞福利在线视频合集| 久久狠狠色噜噜狠狠狠狠97视色 | 少妇被粗大的猛烈进出免费视频| 日韩a级毛片| 日本一区二区不卡视频| 91精品国产自产在线观看| 精品偷拍一区二区| 国产日韩欧美在线视频免费观看| 午夜老司机永久免费看片| 精品夜恋影院亚洲欧洲| 真人免费一级毛片一区二区| 亚洲综合婷婷激情| 久久久久国产一级毛片高清板| h视频在线观看网站| 亚洲 日韩 激情 无码 中出| 国产女人综合久久精品视| 日本影院一区| 亚洲成aⅴ人在线观看| 中文字幕久久波多野结衣| 亚洲嫩模喷白浆| 国模在线视频一区二区三区| 一级爱做片免费观看久久 | 又大又硬又爽免费视频| 波多野结衣中文字幕一区| 东京热一区二区三区无码视频| 最新国产精品第1页| 欧美激情,国产精品| 国产精品护士| 国产杨幂丝袜av在线播放| 欧洲亚洲欧美国产日本高清| 毛片在线看网站| 中文字幕无码制服中字| 色悠久久久久久久综合网伊人| 露脸一二三区国语对白| 国产精品天干天干在线观看| 久久精品丝袜高跟鞋| 久久国产精品嫖妓| 色综合久久88| 青青青视频蜜桃一区二区| 国产无人区一区二区三区| 国产福利免费视频| 国产色伊人| 中文成人在线| 亚洲国产精品日韩av专区| 在线无码av一区二区三区| 精品久久久久久中文字幕女| 日本日韩欧美|