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
主站蜘蛛池模板: 亚洲中文字幕av无码区| 亚洲成A人V欧美综合天堂| 久久久久国色AV免费观看性色| 国产日韩欧美黄色片免费观看| 欧美一级黄色影院| 国产午夜精品鲁丝片| 欧美天堂在线| 九九九国产| 99久久亚洲精品影院| 国产精品性| 天天做天天爱夜夜爽毛片毛片| 妇女自拍偷自拍亚洲精品| 中文字幕 91| 欧美精品综合视频一区二区| 美女裸体18禁网站| 国产真实乱子伦精品视手机观看| 亚洲色图欧美在线| 一本大道在线一本久道| 免费无码又爽又黄又刺激网站 | 国产精品无码AV片在线观看播放| 欧美精品v欧洲精品| 欧美日韩激情在线| 国产福利微拍精品一区二区| 无码电影在线观看| 99草精品视频| 91在线高清视频| 亚洲国产av无码综合原创国产| 国产香蕉一区二区在线网站| 欧美在线视频a| 久久精品无码一区二区国产区| 国产免费福利网站| 欧美激情视频二区三区| 国产自在自线午夜精品视频| 午夜免费小视频| 奇米影视狠狠精品7777| 国产极品美女在线| 99视频国产精品| 麻豆AV网站免费进入| 精品成人一区二区三区电影 | 免费在线看黄网址| 91尤物国产尤物福利在线| 亚洲欧美国产五月天综合| 亚洲精品无码久久毛片波多野吉| 免费一级毛片在线观看| 国产麻豆精品在线观看| www.亚洲国产| 欧美一级大片在线观看| 欲色天天综合网| 91色国产在线| 91麻豆国产视频| 日韩无码一二三区| 成人毛片免费观看| 成人午夜视频免费看欧美| 亚洲国产精品成人久久综合影院| 亚洲日本中文字幕天堂网| 亚洲成人福利网站| 999精品视频在线| 精品少妇人妻av无码久久| 国产精品播放| 亚洲日本中文字幕乱码中文| 日本www色视频| 激情无码字幕综合| 黄色福利在线| 美女毛片在线| 国产成人AV男人的天堂| 国产精品人莉莉成在线播放| 熟妇人妻无乱码中文字幕真矢织江| 日本亚洲欧美在线| 中美日韩在线网免费毛片视频| 久久中文无码精品| 亚洲天堂网2014| 色综合久久88| 一级毛片高清| 手机成人午夜在线视频| 日本一区二区三区精品国产| 国产成本人片免费a∨短片| 日韩精品亚洲一区中文字幕| 中国特黄美女一级视频| 99精品视频在线观看免费播放| 自拍偷拍欧美日韩| AⅤ色综合久久天堂AV色综合| 国产精鲁鲁网在线视频|