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

基于Python的科考數據的實時采集與存儲

2024-03-16 04:46:20鐘金波李湘湘
中國修船 2024年1期
關鍵詞:實驗室設備

鐘金波,李湘湘

(中國科學院深海科學與工程研究所,海南 三亞 572000)

海洋科學調查工作近幾年有了突飛猛進的發展,由于海洋環境的復雜性和多變性,對于后續樣品的分析,必須附帶有GPS、風速風向、溫鹽深(CTD)等數據作為支撐。對于科學家來說,人為記錄數據存在以下問題,一是不具備連續性;二是海洋科考工作強度較大,沒有精力去實現人為記錄;三是采集這些數據的傳感器分布在全船各處,對于在甲板或者在實驗室采集數據的科學家來說不方便手動記錄。基于此,迫切需要能在實驗室或者甲板工作區有實現實時采集相關數據的接口,而且能實現數據的實時保存。現在大多數的科考船都配置了信息采集系統,在物理架構上,可以實現數據的采集。從實船實驗室的采集和使用設備來看,具有設備多樣性、接口的需求多樣性、數據格式的多樣性、文獻[1]和文獻[2]強調了數據的采集和存儲實現的可行性,側重整個數據包的采集和存儲,沒有有效手段對數據包進行針對性的處理,以滿足不同設備對數據格式的不同需求。基于這種需求,“探索一號”船作為國內科考船改造的成功典范,自然將該項工作提到了日程,在已有的硬件架構上,通過軟件的開發,基于Python編程語言的可擴充性、免費、開源、可移植性、可擴展性、可嵌入性等優點,可以有針對性地滿足不同設備對不同數據的特殊性需求。

1 系統設計

1.1 系統總體硬件框架

本系統硬件主要包括4個部分。

1)數據源設備層。主要包括分布在駕駛臺的導航設備和科學調查設備。這些設備能夠提供各種數據源,其中導航數據來自GPS、羅經、計程儀、測深儀、風速風向儀等,科學調查設備數據包括CTD、多波束等,通過雙絞線以RS422 或者RS232的串口通訊的數據格式接入采集設備。

2)數據的采集單元。該設備布置在駕駛臺,由信號轉換單元和串口服務器2部分組成。信號轉換單元主要是將雙絞線的串口數據轉換成網線輸出的串口數據,串口服務器選用的是MOXA 的NPort 563016,其功能是將以雙絞線接入該串口服務器的COM1、COM2……多個串口的數據,通過該串口服務器轉換成對應的網絡端口4001、4002……,該串口服務器可以同時將所需的16 種數據傳送給串口服務器,而且還可以選用32 口的串口服務器,對于后續的數據擴展提供了比較方便的路徑。

3)數據的轉發單元。該設備布置在數據處理中心,由2 部分組成,包括串口服務器、客戶端。串口服務器選用的是MOXA Nport6650-32 服務器,其作用是端口的控制,該服務器選用的是32 端口的服務器,通過參考NPort_6600_Series_QIG_v6 資料,可以配置不同端口的數據傳輸形式,既可以選擇RealCom 的數據傳輸模式,也可以選擇TCP Server 的傳輸模式,基于該功能,可以在各實驗室獲取所需要的數據格式。客戶端的作用就是通過安裝的TJ-IDAS 軟件配置上述服務器的32 個不同端口的數據源,實現數據的采集、轉發。

4)數據接收單元。從串口服務器分別布置2條網線到各實驗室和其他處所,通過分布在各實驗室各區域的網絡接口,科學家可以隨時采集和存儲所需要的數據。

系統硬件框架圖如圖1所示。

圖1 系統硬件框架圖

1.2 系統軟件實現

1)通過串口實現數據轉發。由于科學考察需求的不同,經常會有專業設備軟件(ADCP、人工地震作業、Global map 等)需要臨時接入GPS、羅經、CTD 等的數據,所以該系統經過2 次重要的升級,第一次是在控制終端實現數據的采集和存儲,在控制終端通過TJ-IDAS程序配置不同的端口。

串口轉發程序配置界面圖如圖2 所示,圖2中,串口號即實驗室實際的物理端口號,串口類型選擇發送,在串口數據源端口中,選擇所需要分發的數據源,例如GPS、CTD 等,然后在串口參數中配置波特率、數據位、停止位和校驗位等相應的參數,在對應的實驗室接口就可以獲取實時的串口數據。該軟件方案提供了2種工作模式:采集模式和采集并存儲模式。在采集模式下可以實現數據的采集和停止,而且可以實時查看所有源端口的數據格式和報文。在作業工況下提供采集并存儲模式,可以實現所有數據邊采集邊存儲,也可以實現對某一所需通道數據的采集和存儲,可以更高效地利用數據和存儲空間。

圖2 串口轉發程序配置界面圖

該次升級的軟件版本問題在于數據種類的增加,串口采集服務器可以隨時增加不同的數據類型,由于從服務器去各個實驗室采用串口傳輸,一個串口端口只能同時傳輸一種數據,想要在某一區域同時接收多種數據,就需要同時布置多條串口傳輸網線,在實現上存在很大的困難,是軟件需要再次升級的主要原因。

2)Python 程序的實現。串口通信在一條物理鏈路上只能同時傳輸一種數據形式。由于對多種類型多路數據的需求增加,迫切需要能在一條物理鏈路上同時傳輸多種數據形式,而通過網絡通信就可以實現該功能。基于該目標需要第二次軟件升級,通過使用Python語言開發了小程序來實現同時獲取多種數據形式。MOXA Nport6650-32服務器可以配置其輸出端口的通訊形式,在物理鏈路上實現網絡數據的通信,只需要在MOXA Nport6650-32服務器的配置界面上將實驗室的某一端口對應的輸出端口配置成TCP Server 模式,就可以在實驗室訪問該串口服務器。

(1)導入庫。用import語句,導入所需要使用的第三方庫文件,包括網口數據的采集socket庫[3-4]、文件讀寫與保存的CSV 庫、datetime 和time庫。socket 是計算機之間進行通信的一種約定或一種方式。通過socket約定,一臺計算機可以接收其他計算機的數據,也可以向其他計算機發送數據。datetime 庫是Python常用的一個庫,主要用于時間解析和計算。csv 在Python 語言中主要用于文件的讀取與存儲。

①import socket

②import datetime

③import csv

④import time

(2)文件的獲取。通過mysock.connect()命令,可以指定需要訪問的網絡IP 和端口號,用mysock.recv()命令可以獲取端口的數據內容,并將該端口獲取的內容賦值到a,由于端口獲取的數據內容雜亂,可以利用′ ′將所有的數據按換行符來切割成不同的行賦值給a。

⑤mysock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

⑥mysock.connect((′192.168.1.254′,4001))

⑦out_message=[]

⑧out_gga=[]

⑨while True:

⑩a=mysock.recv(512)

?if len(a)<1:

?break

?a=a.decode("utf-8")

?a=a.split() #把a的數據按′ ′切割

(3)數據的選擇與截取。為了獲取所需要的數據內容,可以通過判斷語句“if ′GGA/HDT′in text_split”,并將指定的數據增加到out_gga,然后每讀取一條內容,就在后面增加讀取該內容的時間。

?for text_split in a:

?if "GGA" in text_split: # 切割出來一條,判斷一條

?out_gga.append(text_split)

?now_time= datetime.datetime.now().strftime(′%Y-%m-%d%H:%M:%S′)

?out_gga.append(now_time)

(4)數據的保存。用withopen()命令,來建立csv 文件,再通過csv.writer ()命令將獲取的內容保存在新建立的csv文件里。

?with open(′gps_out.csv′,′a′,newline=′′)as f:

?writer=csv.writer(f)

?writer.writerow(out_gga)

?f.close()

?print(out_gga)

?out_gga=[]

?out_message=[]

?time.sleep(2)

通過該Python 程序,能夠獲取指定的數據內容,對于不同的網絡端口,只需要更改⑥中的IP地址和網絡端口號,就可以獲取其他數據內容,比如4002 對應的羅經數據,4003 對應的計程儀數據等。同樣,如果需要截取端口內的部分內容,也可以通過?的判斷語句來截取。

3)程序的封裝。 通過PyCharm 軟件自帶的PyInstaller 庫的功能[5],將該程序封裝成exe 執行程序,可以安裝到不同的電腦上,很方便地實現不同實驗室不同數據的實時采集和存儲功能。

2 試驗測試與結果分析

為了驗證該系統的穩定性,“探索一號”科考船的TS21 航次中,在地球物理實驗室實時采集和存儲GPS 數據,得到比較理想的結果。在該測試中,選用GPS數據作為測試目標,由于GPS發過來的數據包有很多不同類型的數據格式,包括GGA、GLL、RMC 等[6],其大部分數據都具有重復性。所以在該測試中,只讀取以S GGA 開頭的語句作為存儲GPS的坐標,為實現該目的可以利用在Python編程語句中?的判斷語句“if ′GGA′in text_split”等來實現。也就是說,從socket讀取的數據a不是全部采集保存,只有以GGA 開頭的語句才保存在輸出的文檔里。數據樣本保存結果如圖3所示,通過對比圖3,處理后的語句實際已包含經緯度、時間、航速等重要的數據,已刪減無用或者重復的數據。只讀取該語句的數據,不僅滿足科學家對于GPS數據利用的需求,也可以大大節省存儲空間。

圖3 數據樣本保存結果

在“探索一號”科考船上,已經寫好了目前所使用的7種數據的語言包,并封裝成不同的小軟件。在實際使用中,只需要插上網線,將本地電腦設置成192.168.1.**網段的IP,直接打開對應的小軟件,就可以獲取所需要的數據,并保存在本地電腦里。

3 結束語

綜合多航次的實際使用情況,該設計的軟硬件的使用在實踐上已經獲得了科學家的認可,為他們保存了大量的科學考察數據。隨著中國科考事業的發展和科考工作的完善,數據的采集和存儲將得到更大程度地利用和重視,這種基于Python或者其他語言的數據實時采集與存儲系統的便利性和可復制性將得到更廣泛的運用。

猜你喜歡
實驗室設備
諧響應分析在設備減振中的應用
電競實驗室
電子競技(2020年4期)2020-07-13 09:18:06
電競實驗室
電子競技(2020年2期)2020-04-14 04:40:38
電競實驗室
電子競技(2019年22期)2019-03-07 05:17:26
電競實驗室
電子競技(2019年21期)2019-02-24 06:55:52
電競實驗室
電子競技(2019年20期)2019-02-24 06:55:35
基于VB6.0+Access2010開發的設備管理信息系統
電競實驗室
電子競技(2019年19期)2019-01-16 05:36:09
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 国产欧美日韩va另类在线播放| 亚洲综合片| 露脸国产精品自产在线播| 午夜精品久久久久久久无码软件 | 国产99视频精品免费观看9e| 日本精品视频一区二区 | 自拍偷拍一区| 国产啪在线| 97人妻精品专区久久久久| 日本道综合一本久久久88| 91精品福利自产拍在线观看| 色综合久久88色综合天天提莫| 又爽又黄又无遮挡网站| 无码视频国产精品一区二区| 无码av免费不卡在线观看| 亚洲国产综合精品中文第一| 亚洲一区二区三区香蕉| 国产超碰一区二区三区| 成人噜噜噜视频在线观看| 永久毛片在线播| 免费国产无遮挡又黄又爽| av在线手机播放| 国产又色又爽又黄| 国产香蕉在线视频| 亚洲综合九九| 亚洲性网站| 久久99国产视频| 欧美有码在线| 亚洲高清资源| 国产人碰人摸人爱免费视频| 国产成人精品在线1区| 伊人91在线| 在线看国产精品| 91成人在线免费视频| 久久成人国产精品免费软件 | 一本一道波多野结衣av黑人在线| 亚洲AⅤ无码国产精品| 性激烈欧美三级在线播放| 午夜一级做a爰片久久毛片| 这里只有精品在线播放| 韩国自拍偷自拍亚洲精品| 亚洲国产91人成在线| 国产一级视频久久| 成人福利在线看| 麻豆精品在线| 精品一区二区三区水蜜桃| 日韩AV无码免费一二三区| 国产chinese男男gay视频网| 中文字幕亚洲精品2页| 91免费在线看| 97久久精品人人| 69av在线| 亚洲人成成无码网WWW| 久久精品只有这里有| 日韩无码真实干出血视频| 国产成人资源| 欧美日韩国产精品va| 国产又色又刺激高潮免费看| 精品乱码久久久久久久| 中文字幕在线观看日本| 欧美国产日韩在线播放| a级毛片一区二区免费视频| 亚洲香蕉伊综合在人在线| 九色91在线视频| 高清欧美性猛交XXXX黑人猛交| 欧美精品高清| 性视频久久| 人妻免费无码不卡视频| 成人毛片在线播放| 国产精品美女网站| 综合色婷婷| 亚洲欧洲国产成人综合不卡| 国产 日韩 欧美 第二页| 国产精品成人不卡在线观看| 久青草免费在线视频| 不卡无码h在线观看| 亚洲欧洲日韩综合| 久久香蕉国产线| 中文字幕免费播放| 青青青伊人色综合久久| 免费国产一级 片内射老| 青草视频网站在线观看|