freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

畢業(yè)設(shè)計(jì)-光纖網(wǎng)絡(luò)光信號(hào)實(shí)時(shí)監(jiān)測(cè)系統(tǒng)項(xiàng)目報(bào)告(編輯修改稿)

2025-07-02 04:44 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 裝,具有過(guò)流保護(hù)、短路保護(hù)、過(guò)壓保護(hù)等功能,使其安全性、穩(wěn)定性和可靠性得到充分保障,正適用于鐵路列車(chē)的特殊工況。 軟件設(shè)計(jì) 軟件設(shè)計(jì)功能架構(gòu)圖如下所示: 數(shù) 據(jù) 傳 輸 層數(shù) 據(jù) 解 析 層波 形 繪 制故 障 信 息 分 析數(shù) 據(jù) 分 析地 理 信 息 分 析外 部 調(diào) 用 接 口光 信 號(hào) 統(tǒng) 計(jì)分 析軟 件 架 構(gòu) 設(shè) 計(jì)模塊調(diào)度機(jī)制接口安全機(jī)制 圖 237 軟件設(shè)計(jì)功能架 構(gòu)圖 第 3 章 項(xiàng)目 實(shí)現(xiàn) 9 在此處項(xiàng)目研發(fā)過(guò)程中本人主要負(fù)責(zé)實(shí)時(shí)監(jiān)測(cè)上位機(jī)模塊的開(kāi)發(fā)。因此,項(xiàng)目實(shí)現(xiàn)主要圍繞該模塊。 上位機(jī)模塊又可以劃分為兩個(gè)模塊 : 1) Web 模塊 (包括:瀏覽器界面和服務(wù)器端) 2) Java 客戶端 模塊 Web 瀏覽器端采用 javascript+css+ajax+jquery,使用定時(shí)向服務(wù)器 端 發(fā)送 ajax 請(qǐng)求,請(qǐng)求 Web 服務(wù)器 數(shù)據(jù) , 數(shù)據(jù)采用 json 格式傳輸 。 瀏覽器端拿到數(shù)據(jù)后 , 開(kāi)始 更新界面。 地圖使用百度地圖 API( javascript 版),從服務(wù)器端獲取的經(jīng)緯度信息( GPS 坐標(biāo) )轉(zhuǎn)成百度地 圖特有的經(jīng)緯度,并以標(biāo)注的形式顯示在地圖上 (舊事件為洋紫色標(biāo)注,最新事件為淡綠色標(biāo)注 ) 。 Java 客戶端 負(fù)責(zé) 與 下位機(jī) 和 OTDR 設(shè)備進(jìn)行通信,從下位機(jī)獲取列車(chē)經(jīng)緯度信息,從OTDR 設(shè)備獲取列車(chē)事件點(diǎn)信息(光信號(hào)故障點(diǎn)集合),完成分析數(shù)據(jù)之后, 發(fā)送定義好格式 的數(shù)據(jù) (以字節(jié)為單位) 給下位機(jī),同時(shí)發(fā)送 HTTP POST 請(qǐng)求 (字符串形式) 給Web 服務(wù)器。 數(shù)據(jù)庫(kù)連接模塊 Web 服務(wù)器端數(shù)據(jù)庫(kù)采用文本文件類(lèi)型的輕量級(jí)數(shù)據(jù)庫(kù) sqlite, 主要目的是: 提高軟件 性能、 減少 時(shí)間成本和 降低 后期維護(hù)等 。 使用 sqlite 數(shù)據(jù)庫(kù)主要分三 部分: 。 10 圖 311 Web端架構(gòu) 圖 312 數(shù)據(jù)庫(kù)連接 11 Web 瀏覽器端 模塊 圖 321 預(yù)定義 列車(chē)路線: 京滬 (北京 上海) 、京廣 (北京 廣州) 、鄭西 (鄭州 西安) 、膠濟(jì) (青島 濟(jì)南) 、杭寧 ( 杭 州 南京) 部分 關(guān)鍵代碼如下: 圖 322 京滬線 (封裝成 數(shù)組 ) 12 圖 323 百度地圖 API 圖 324 列車(chē)事件(故障點(diǎn)集合)顯 示 同一時(shí)間的故障點(diǎn)集合(事件)顯示在百度地圖的同一標(biāo)注中。 13 圖 325 路線定義 可自由選擇線路,默認(rèn)為 顯示 所有列車(chē)路線 。 清除事件按鈕可初始化 sqlite 數(shù)據(jù)庫(kù)表 (刪除舊事件 列 表 ,重新初始化故障點(diǎn)集合 ) 。 Java 客戶端 模塊 主界面如圖 33 所示 : 圖 33 程序主界面 14 程序啟動(dòng)重連 以 多線程 的形式 啟動(dòng) 主 程序,防止程序 主界面出現(xiàn)卡死的現(xiàn)象。在初始化主界面時(shí),同時(shí)啟動(dòng)連接下位機(jī) ( Socket 通信,端口號(hào): 1200 IP:下位機(jī)默認(rèn)) 的線程 。如果發(fā)現(xiàn)下位未啟動(dòng)則 一直嘗試重連,直至連接下位機(jī)成功,開(kāi)始測(cè)試按鈕才能開(kāi)始點(diǎn)擊。 點(diǎn)擊開(kāi)始測(cè)試按鈕后,開(kāi)始定時(shí)任務(wù),周期 60s。 部分 關(guān)鍵代碼: 圖 331 保存文件 Java 客戶端從 OTDR 設(shè)備中獲取事件(故障點(diǎn)集合)信息,完成數(shù)據(jù)的分析后,保存最原始的文件信息為 ,方便 EXCEL 打開(kāi)查看。 圖 332為 EXCEL 打開(kāi) 效果 : 15 圖 332 關(guān)鍵代碼: package 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 import 。 public class SaveFileUtil { private static final Log log = ()。 public static boolean saveFile(String str,Date date,double lng, double lat){ String[] arr = null。 try{ arr = (\n)。 }catch(NullPointerException e){ (otdr 設(shè)備工作不正常 )。 return false。 } File file = new File()。 if(!()){ 16 try { ( 文件不存在,開(kāi)始創(chuàng)建 )。 ()。 ( 文件創(chuàng)建成功 )。 } catch (IOException e) { // ()。 (創(chuàng)建文件 時(shí),發(fā)生錯(cuò)誤 )。 return false。 } } try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(file)))。 StringBuilder sb = new StringBuilder()。 String temp。 while( (temp = ()) != null){ (temp)。 (\r\n)。 } (事件號(hào) ,距離 (km),熔接耗損 (db),回波耗損 (db),累計(jì)耗損(db),db/km,事件類(lèi)型 ,區(qū)間折 射率 )。 for(int i = 20。 i 。 i++ ){ (\r\n)。 (arr[i])。 } (\r\n)。 (時(shí)間 ,經(jīng)度 ,緯度 )。 (\r\n)。 ((date)+,+lng+,+lat)。 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)))。 (())。 ()。 ()。 return true。 } catch (FileNotFoundException e) { // ()。 ( 不存在 )。 } catch (IOException e) { // ()。 (數(shù)據(jù)寫(xiě)入文件時(shí)發(fā)生錯(cuò)誤 )。 } return false。 17 } public static boolean deleteFile(){ File file = new File()。 if(()){ if(()){ (刪除文件 成功 )。 return true。 } } else{ (文件 不存在 ,刪除失敗 )。 } return false。 } } 讀取配置文件 配置文件包含 下位機(jī) IP、 PORT 和 Web 服務(wù)器配置等信息。 關(guān)鍵 代碼如 圖 333 所示: 圖 333(1) 讀取配置文件 Properties 文件: 圖 333(2) 配置文件 18 Java 與下位機(jī) Socket 通信 下位機(jī)軟件使用開(kāi)發(fā)語(yǔ)言 C++, 上位機(jī)( PC)使用高級(jí)語(yǔ)言 Java。 Java 和 C++的字節(jié)順 序在不同 機(jī)器上會(huì) 有所 不同 , 下位機(jī) 軟件( C++開(kāi)發(fā) ) 負(fù)責(zé) 字節(jié)順序 (大端、小端) 的轉(zhuǎn)化。 上位機(jī) 軟件 ( Java 開(kāi)發(fā) ) 與 下位機(jī)( C++開(kāi)發(fā) ) 采用最底層 的 數(shù)據(jù)類(lèi)型 字節(jié)進(jìn)行通信。 Java與 C++ TCP 通信接口的定義: TCP 通信接口: 獲取 GPS 信息包格式: 操作符號(hào): 4字節(jié), int 值為 1 報(bào)文長(zhǎng)度: 4字節(jié) 回復(fù) GPS 信息包格式: 操作符號(hào): 4字節(jié), int 值為 2 報(bào)文長(zhǎng)度: 4字節(jié) 經(jīng)度 :16 字節(jié) 緯度 :16 字節(jié) 發(fā)生事件變化時(shí),發(fā)送數(shù)據(jù)包格式: 操作符號(hào): 4字節(jié), int 值為 3 報(bào)文長(zhǎng)度: 4字節(jié), int 列車(chē)位置經(jīng)度 :16 字節(jié) 列車(chē)位置緯度 :16 字節(jié) 當(dāng)前時(shí)間:時(shí) 1字節(jié),分 1字節(jié),秒 1字節(jié),年 2 字節(jié),月 1字節(jié),日 1 字節(jié) , 預(yù)留 1 字節(jié) 整形 事件個(gè)數(shù): 4字節(jié), int 事件 1,距離 : 4 字節(jié), float 事件 1,衰減 : 4 字節(jié), float 。 。 。 事件 n,距離 : 4 字節(jié), float 事件 n,衰減 : 4 字節(jié), float 字節(jié)工具類(lèi): 本次 項(xiàng)目中 上位機(jī)軟件 ( Java 開(kāi)發(fā)) 使用到的數(shù)據(jù)類(lèi)型和特定字節(jié) 大小 的轉(zhuǎn)換。 package 。 import 。 19 import 。 /** * 字節(jié)工具類(lèi) * @author jingxuan */ public class ByteUtils { /** * int convert byte[] * @param n * @return */ public static byte[] int2Bytes(int n) { byte[] b = new byte[4]。 b[3] = (byte) (n amp。 0xff)。 b[2] = (byte) (n 8 amp。 0xff)。 b[1] = (byte) (n 16 amp。 0xff)。 b[0] = (byte) (n 24 amp。 0xff)。 return b。 } /** * byte[] convert int * @param b * @return */ public static int bytes2Int(byte b
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1