• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    列控車載設備診斷維護終端的設計與實現

    2015-01-01 02:33:52張友兵崔俊鋒
    鐵道通信信號 2015年10期
    關鍵詞:接收數據車載指令

    張友兵 劉 嶺 崔俊鋒

    1 診斷維護終端簡介

    列車運行過程中,車載設備應用軟件實時檢測故障情況,并將檢測到的故障存儲起來以備下載分析。故障記錄包括UTC時間、系統時間戳、報告故障的文件名、報告故障的行號、故障碼和字符串形式的故障描述等信息。

    但CTCS-2級和CTCS-3級列控車載設備可能存在軟硬件故障,為此開發(fā)一種診斷維護終端。

    診斷維護終端用于修改列控車載主機存儲的配置參數,查看配置參數的描述信息,檢查車載主機存儲的配置參數取值,審查或清除車載主機存儲的應用故障記錄。診斷維護終端是一個工作在PC機上的獨立軟件,通過USB-CAN轉換設備與車載主機進行通信。根據故障記錄的文件名和行號可以快速定位故障發(fā)生的位置,利用故障碼和字符串形式的描述信息可以直觀分析故障原因。

    診斷維護終端采用通用軟件,以應對不同車型、用戶、需求等變化信息帶來的影響,而且便于軟件升級維護,提高了軟件通用性和可維護性,也提高了軟件與車型的適配性。

    2 系統原理

    圖1為診斷維護終端的系統原理圖。診斷維護終端通過USB-CAN轉換設備與車載主機通信連接。用戶操作診斷維護終端,診斷維護終端響應用戶操作,并將用戶操作轉換成符合通信協議的數據發(fā)送給車載主機,車載主機接收數據并從數據中識別出用戶命令。

    對于正確的用戶命令,車載主機根據具體命令內容執(zhí)行對應的響應,并將響應結果轉換成符合通信協議的數據發(fā)送給診斷維護終端;診斷維護終端接收數據并提取出車載主機的響應結果,將響應結果及時顯示在診斷維護終端的界面上供用戶查看。

    對于錯誤的用戶命令,車載主機識別錯誤類型,回復具有針對性的提示信息,并將提示信息轉換成符合通信協議的數據發(fā)送給診斷維護終端;診斷維護終端接收數據,提取出車載主機的提示信息,顯示在診斷維護終端的界面上,及時提示用戶輸入命令有誤,指導用戶執(zhí)行正確的操作。

    圖1 列控車載主機診斷維護終端

    3 軟件設計

    3.1 軟件結構

    診斷維護終端軟件分為:通信層、邏輯處理層和顯示層三層。

    3.1.1 通信層

    通信層包含接收和發(fā)送數據模塊。接收數據模塊通過USB-CAN轉換設備從車載主機接收數據,傳給邏輯處理層的接收數據管理模塊。發(fā)送數據模塊從邏輯處理層的發(fā)送數據管理模塊獲取數據,通過USB-CAN轉換設備發(fā)送車載數據。

    3.1.2 邏輯處理層

    邏輯處理層包含如下模塊。

    1.響應用戶操作模塊。接收用戶指令,并傳遞給發(fā)送數據管理模塊。

    2.接收數據管理模塊。從通信層的接收數據模塊得到車載主機數據,提供給處理數據模塊進行解析和邏輯處理。

    3.處理數據模塊。從接收數據管理模塊提供的車載主機數據中提取報文幀或空閑幀,對其進行數據類型檢查、數據長度檢查、時間戳檢查、CRC校驗等,如果檢查不通過,則置工作狀態(tài)為初始狀態(tài);從通過檢查的報文幀中提取有效數據,根據GBK編碼將有效數據轉換成可以顯示的字符串,提供給界面顯示數據管理模塊;使用通過檢查的空閑幀來判斷與車載主機的通信是否超時,如果超時則置工作狀態(tài)為初始化狀態(tài)。

    4.保持通信連接模塊。與車載主機建立通信連接;當連接斷開時,主動與車載主機重新建立通信連接;連接正常時,當沒有指令需要發(fā)送給車載主機時,定時組建保持連接幀并傳遞給發(fā)送數據管理模塊,以保持與車載主機的通信連接。

    5.發(fā)送數據管理模塊。從保持通信連接模塊得到需要發(fā)給車載主機的數據,從響應用戶操作模塊得到需要發(fā)給車載主機的用戶指令,調用通信層的發(fā)送數據模塊將數據發(fā)給車載主機,同時向界面顯示數據管理模塊提供需要界面顯示的用戶指令。

    6.界面顯示數據管理模塊。從處理數據模塊獲取車載主機數據,從發(fā)送數據管理模塊獲取用戶指令,以時間先后順序依次顯示在診斷維護終端的界面上,便于用戶查看和指導用戶操作。

    3.1.3 顯示層

    顯示層包含界面顯示收發(fā)信息模塊和更新界面控件屬性模塊。界面顯示收發(fā)信息模塊,從邏輯處理層的界面顯示數據管理模塊獲取需要界面顯示的數據,并將數據依次顯示在界面上,供用戶查看交互過程或指導用戶執(zhí)行具體的操作。更新界面控件屬性模塊,負責響應用戶操作,并根據用戶操作設置診斷維護界面控件的使能屬性,保證用戶可以執(zhí)行什么操作和不可以執(zhí)行什么操作。

    3.2 消息定義

    診斷維護終端與車載主機通信中使用了4種消息:請求幀、保持通信幀、報文幀和空閑幀。診斷維護終端使用請求幀與車載主機建立通信連接,并發(fā)送用戶指令;在通信連接建立后,在沒有用戶指令需要發(fā)送時,保持連接幀與車載主機正常的通信連接。車載主機使用空閑幀與診斷維護終端建立通信連接,當沒有數據需要發(fā)送時,使用空閑幀與診斷維護終端保持通信連接;通信連接建立并接收到用戶指令后,有數據需要發(fā)送時使用報文幀將數據發(fā)送給診斷維護終端。

    3.3 工作狀態(tài)機

    診斷維護終端邏輯處理層的保持通信連接模塊采用狀態(tài)機的設計思想,包括初始狀態(tài)、等待啟動命令狀態(tài)、建立通信狀態(tài)和保持通信狀態(tài)。

    1.初始狀態(tài):診斷維護終端剛啟動時,處于初始狀態(tài),初始化所有全局變量,清空發(fā)送和接收數據緩沖區(qū),并轉入等待啟動命令狀態(tài)。

    2.等待啟動命令狀態(tài):診斷維護終端等待車載主機的啟動命令,如果沒有收到啟動命令,保持該狀態(tài)不變;如果收到啟動命令,則轉入建立通信狀態(tài);如果收到的數據存在數據類型錯誤、數據長度錯誤、時間戳錯誤、CRC校驗錯誤等情況時,轉入初始狀態(tài)。

    3.建立通信狀態(tài):診斷維護終端向車載主機發(fā)送建立通信連接的請求幀,并等待車載主機回復通信連接成功的應答,如果收到則轉入保持通信狀態(tài),否則保持當前狀態(tài)不變;如果收到的數據存在數據類型錯誤、數據長度錯誤、時間戳錯誤、CRC校驗錯誤等情況時,轉入初始狀態(tài)。

    4.保持通信狀態(tài):診斷維護終端從車載主機接收數據、解析數據,并在界面顯示車載主機的提示信息;響應用戶的操作并將用戶操作發(fā)送給車載主機;如果收到的數據存在數據類型錯誤、數據長度錯誤、時間戳錯誤、CRC校驗錯誤等情況時,轉入初始狀態(tài);如果在規(guī)定時間內沒有收到車載主機的任何有效數據,認為通信異常,也轉入初始狀態(tài)。保持通信連接模塊狀態(tài)機如圖2所示。

    圖2 保持通信連接模塊狀態(tài)機

    3.4 下載配置參數文件流程

    下載配置參數文件的過程:人工加載配置參數文件;診斷維護終端自動將配置參數文件分割為若干個請求幀;提取一條請求幀,將請求幀分割為若干個CAN幀,依次發(fā)送給車載主機;判斷是否存在尚未發(fā)送給車載主機的請求幀,如果存在則按上一步方法將請求幀發(fā)送出去,否則結束流程。下載配置參數文件過程如圖3所示。

    圖3 下載配置參數文件過程

    3.5 透傳用戶命令流程

    當用戶需要查看配置參數描述信息、修改制定的配置參數、下載應用故障記錄或清空車載設備存儲的應用故障記錄時,只需要在診斷維護終端界面輸入指定的指令并發(fā)送給車載主機,車載主機收到指令后向診斷維護終端回復對應的信息。

    透傳用戶命令的一般流程:用戶在診斷維護終端界面輸入指令;診斷維護終端自動將輸入的指令組建成請求幀,并分割為若干個CAN幀,依次發(fā)送給車載主機。透傳用戶指令過程如圖4所示。

    透傳用戶指令過程

    3.6 界面顯示車載主機回復信息流程

    用戶在診斷維護終端界面輸入指令,并發(fā)送給車載主機;車載主機收到后判斷用戶指令有效性,如果是無效的用戶指令,車載主機提示用戶輸入指令為無效;如果是有效的用戶指令,車載主機根據指令回復對應信息。診斷維護終端接收到車載主機的回復信息并顯示。該信息的流程為:診斷維護終端接收到車載主機發(fā)送的報文幀,對報文幀進行幀序號檢查、長度檢查、時間戳檢查和CRC校驗。如果通過以上檢查,將從報文幀中提取有效數據,根據GBK編碼將有效數據轉換成字符串,并在界面上顯示字符串。界面顯示車載主機回復信息過程如圖5所示。

    顯示車載主機回復信息過程

    GBK編碼是在GB2312-80標準基礎上的內碼擴展規(guī)范,使用了雙字節(jié)編碼方案,其編碼范圍從8140至FEFE(剔除xx7F),共23940個碼位,收錄了21003個漢字,完全兼容GB2312-80標準,支持 國 際 標 準 ISO/IEC10646-1 和 國 家 標 準GB13000-1中的全部中日韓漢字,并包含了BIG5編碼中的所有漢字。

    4 關鍵技術

    4.1 快速準確的數據傳輸

    在數據通信中,經常存在丟失、重復、亂序、亂碼等情況,診斷維護終端通過判斷時間戳是否向上增長、比較CRC校驗值是否一致、判斷應答幀序號是否向上連續(xù)、判斷數據長度是否是期望的長度等措施,解決數據通信中可能存在的問題。

    4.2 可拓展的用戶指令集

    用戶在診斷維護終端界面輸入指令,點擊發(fā)送按鈕,把用戶指令透傳給車載主機,由車載主機判斷用戶指令的有效性并做出響應。因此,當需要增加新的用戶指令時,診斷維護終端并不需要做大的修改,只需要車載主機增加對其響應。

    4.3 友好的人機交互方式

    用戶在診斷維護終端界面上輸入指令,點擊發(fā)送按鈕將指令發(fā)送給車載主機,發(fā)送出去的用戶指令顯示在交互窗口中。車載主機收到用戶指令并對指令進行有效性判斷,對于無效的用戶指令,車載主機回復指令無效,診斷維護終端在交互窗口中顯示指令無效的提示信息。對于有效的用戶指令,車載主機將根據指令內容回復指定的信息,且在診斷維護終端交互窗口中顯示。通過這種一問一答的方式,診斷維護終端指導用戶向車載主機發(fā)送正確的指令,對車載主機進行操作。

    4.4 及時的界面信息顯示

    診斷維護終端一方面需要將交互的信息及時顯示在界面上,另一方面需要接收、處理和發(fā)送數據。如果將所有任務都放在UI線程中,有時會使界面卡死。因此,采用多線程的方法搭建軟件結構,設計UI和工作2個線程。UI線程負責更新界面顯示。工作線程負責接收數據、處理數據和發(fā)送數據。針對工作線程有信息需要界面顯示,由于這是工作線程和UI線程的跨線程操作,使用代理方法將工作線程的信息顯示在界面上?;驹瓌t就是工作線程負責所有的運算,UI線程負責純粹的界面更新。

    5 結束語

    本文介紹了一種用于列控車載設備的診斷維護終端,可以用于列控車載設備下載參數,還可以用于下載列控車載設備存儲的應用故障記錄,是列控車載設備日常運營維護、故障分析的重要工具。

    [1] 中國鐵路總公司.CTCS-2/3級列控車載設備人機界面(DMI)顯示暫行規(guī)范[S].中國鐵路總公司,2014.

    [2] 北京全路通信信號研究設計院有限公司.CTCS3-300T列控車載設備DMI司機操作手冊[S].北京全路通信信號研究設計院有限公司,2013.

    猜你喜歡
    接收數據車載指令
    聽我指令:大催眠術
    沖激噪聲背景下基于幅度預處理的測向新方法*
    電訊技術(2021年10期)2021-11-02 01:25:36
    高速磁浮車載運行控制系統綜述
    低復雜度多輸入多輸出雷達目標角度估計方法
    ARINC661顯控指令快速驗證方法
    測控技術(2018年5期)2018-12-09 09:04:26
    LED照明產品歐盟ErP指令要求解讀
    電子測試(2018年18期)2018-11-14 02:30:34
    智能互聯勢不可擋 車載存儲需求爆發(fā)
    單片機模擬串口數據接收程序的實現及優(yōu)化
    基于ZVS-PWM的車載隔離DC-DC的研究
    電源技術(2015年2期)2015-08-22 11:28:14
    新型輕便式車載電子系統的結構設計
    機械與電子(2014年1期)2014-02-28 02:07:36
    且末县| 临泽县| 博白县| 密云县| 调兵山市| 通州市| 涟水县| 永靖县| 左云县| 综艺| 五家渠市| 永靖县| 广元市| 台南县| 和林格尔县| 淳化县| 鞍山市| 明溪县| 化州市| 张家口市| 永春县| 米林县| 广州市| 拉孜县| 长垣县| 隆回县| 大足县| 金昌市| 岳普湖县| 麻阳| 嘉义县| 濮阳市| 敦煌市| 汉阴县| 曲松县| 会泽县| 赤城县| 鸡泽县| 闽清县| 灵石县| 富裕县|