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

基于TRDP 的CCU 模擬軟件設計與應用

2024-11-29 00:00:00周超
電腦知識與技術 2024年27期

摘要:隨著列車控制系統的智能化、網絡化發展,列車實時以太網TRDP由于其傳輸速率可達到100Mb/s,已逐漸替代速率1~1.5Mb/s的WTB和MVB網絡,成為高速動車組的控制網絡。在列車實時以太網中,列車中央控制單元CCU作為最關鍵的核心部件,負責列車的通信、過程控制及顯示控制的管理。文章介紹了一種基于TRDP網絡的CCU模擬軟件的設計方法,用于與車載子系統通信,以滿足調試需求。該軟件基于C語言編寫,具有簡單易學、可移植性高、模塊化、結構化的優點。

關鍵詞:C語言;列車中央控制系統;TRDP協議;模擬軟件

中圖分類號:TP311 文獻標識碼:A

文章編號:1009-3044(2024)27-0062-04

0 引言

列車設備接入列車控制網絡前均需要對自身設備的功能進行調試,這就需要CCU實物以提供地面測試。對CCU的研究有基于IsaGRAF應用程序的模擬CCU串口通信的軟件設計[1],有基于MVB的城軌車輛CCU 設計[2]。對TRDP 的調試之前有相關研究抓取TRDP報文進行數據分析的軟件[3],但著重在于數據分析而沒有進行交互控制。本文提供一種基于C語言的模擬CCU軟件對子系統設備進行調試,用于在車輛總裝前對子系統設備提供地面驗證,節約調試成本。軟件可部署于個人電腦,通過以太網連接子系統,控制以太網發送TRDP報文與子系統通信,并模擬列車CCU列車設備的調度和調試,對調試列車設備有重要的意義。

本文首先對列車實時以太網協議TRDP進行介紹,然后詳細介紹了CCU模擬軟件設計開發過程,包括TRDP協議移植、通信參數的配置、組播的加入、過程數據通信、數據的實時顯示、用戶界面設計、子系統部件狀態監視、故障記錄等。最后,通過搭載地面半實物平臺與車載受電弓控制單元通信,驗證了CCU模擬軟件開發的正確性、實用性。

1 列車實時以太網協議TRDP 介紹

TRDP協議棧基于傳統以太網架構,數據鏈路層采用Ethernet以太網協議,傳輸層使用TCP/UDP協議進行傳輸,過程數據和消息數據都可使用UDP發送[4]。過程數據是實時周期性數據,用于列車關鍵控制和列車狀態信息的傳輸,是CCU模擬軟件需要的數據;消息數據是實時非周期性數據,不用于控制。圖1為TRDP協議棧架構圖。

IEC61375-2-3協議定義了TRDP過程數據通信單元PDU的組成,報文頭部長度為40個字節,如圖2 所示。

TRDP過程數據通信單元報文頭包括報文計數器SequenceCounter,根據協議SequenceCounter需要在發送過程保持累加,另外還包括協議版本ProtocolVer?sion、信息類型MsgType、通信標識符ComID、數據長度DatasetLength、報頭校驗和HeaderFCS等。

每個TRDP通信都使用一個通信標識符(comID) ,該comID在每個PDU報頭中傳輸。comID是數據結構的唯一標識符,由用戶自行定義,為大于999 的整數值。

緊跟報文頭的是后續數據,長度最長為1 432字節的用戶數據。

2 軟件設計與開發

2.1 開發環境

軟件開發環境選用Windows系統社區版VS 2022 進行編譯,采用MSVC編譯器,具有良好的兼容性、豐富的庫函數支持、高效的代碼優化和方便調試的優點。采用XAML窗口模式提供豐富的界面展示效果。

2.2 軟件結構

軟件分為前臺和后臺程序。前臺程序包括用戶界面模塊、數據實時顯示模塊、故障記錄模塊。后臺程序包括網絡通信模塊、數據處理模塊,如圖3所示。

軟件主要執行過程包括:TRDP協議的移植、UDP 連接建立、加入組播發送和接收進程處理、前臺數據顯示、故障數據記錄。

2.3 軟件設計架構圖

軟件整體架構圖如圖4所示。

1) 軟件開始執行后,對TRDP報文結構進行定義,通過UDP包形式采用符合TRDP報文結構的方式對TRDP報文進行封裝。

2) 列車以太網大多采用組播形式進行報文收發。檢測到連接按鈕被點擊后,通過HMI界面的IP地址和組播地址建立連接并加入組播。此步驟通過調用C 語言標準庫函數進行。

3) 建立收發線程。通過創建線程,建立UDP數據發送線程以及UDP數據接收線程:

public MainWindow() //主窗口創建

{

InitializeComponent(); //初始化

udpRecvThread = new Thread(UdpRecv); //UDP接收線程建立

udpRecvThread. IsBackground = true; //UDP 接收線程設為后臺

udpRecvThread.Start(); //UDP 接收線程開啟

udpSendThread = new Thread(UdpSend); //UDP 發送線程建立

udpSendThread.IsBackground = true; //UDP 發送線程設為后臺

udpSendThread.Start(); //UDP 發送線程開啟

}

4) 顯示到看板。建立委托,將接收進程里面的數據報文進行解析,根據協議位展示在看板中:

private void ShowTrainData() //展示傳輸數據函數

{

this. Dispatcher. Invoke(new Action(() => //建立委托

{

ShowTrainRecvData(); //展示接收數據函數

}));

}

3 模塊功能設計

3.1 TRDP 協議移植

根據TRDP協議定義,定義結構體,將報文頭和數據按順序排列:

struct TRDP_PD_MSG

{

public UInt32 sequenceCounter; //消息序號計數器

public UInt16 protocolVersion; // 協議版本

public UInt16 msgType; // 消息類型

public UInt32 comId; // 通信標識符

public UInt32 etbTopoCnt; // ETB 拓撲計數器

public UInt32 opTrnTopoCnt; //Optrn拓撲計數器

public UInt32 datasetLength; // 數據長度

public UInt32 reserved; // 預留

public UInt32 replyComId; // 已請求的通信標識符

public UInt32 replyIpAddress; // 應答IP地址

public UInt32 frameCheckSum; // 報頭校驗和

[MarshalAs(UnmanagedType.ByValArray, SizeConst =1300)]

public Byte[] data;

}

而子系統與車輛間交互的數據均存放在data字節數組中。

3.2 組播的介紹以及加入和退出組播

列車以太網不是一對一的單點傳輸,CCU的公共信號(例如車速、時間等內容)需要同時發送給車輛所有子部件,所以大多動車組均采用組播形式進行發送。組播允許某個IP站點將一個報文一次發送給網絡上指定的一組節點,只有該組內的節點可以接收到組播報文,其他節點則不能收到[5]。子系統的發送組播和接收組播地址由列車制造廠商規定。因此,子系統須加入發送組播和接收組播組來與CCU進行通信。

軟件通過引用標準庫中的兩個庫函數進行加入組播和退出組播操作。

using System.Net;

using System.Net.Sockets; 加入組播庫函數

public void JoinMulticastGroup(IPAddress multi?castAddr) 退出組播庫函數

public void DropMulticastGroup(IPAddress multi?castAddr)

3.3 連接建立

在軟件建立連接過程中,通過綁定IP地址、端口號、目標組播地址,初始化ComID,初始化TRDP報文頭,加入組播等操作建立模擬CCU軟件和子系統設備的連接。本文示例發送的ComID設置為21304,IP地址為看板中輸入的IP地址。

.private void connectBtn_Click(object sender, Rout?edEventArgs e) //按鍵響應函數

{……

IPAddress localIpAddr = IPAddress. Parse(localIP.Text); //目的IP地址綁定

localPoint = new IPEndPoint(localIpAddr, int.Parse(localPort.Text)); //端口綁定

udpClient = new UdpClient(localPoint); //本地端口設置

IPAddress recvMultIpAddr = IPAddress.Parse(recv?MultIP.Text);//接收組播地址

jSs6SGAcbZckayEC5TIELQ==recvMultiPoint = new IPEndPoint(IPAddress.Any, 0);// 接收組播端口

udpRecvClient.JoinMulticastGroup(recvMultIpAddr);//加入接收組播

sendPdMsg. protocolVersion= PP_HTONS(0x0100);//TRDP報文頭的協議版本

sendPdMsg. msgType=PP_HTONS(0x5064); //TRDP 報文頭的消息類型

sendPdMsg.comId=PP_HTONL(21304); //TRDP 報文頭的COMID

sendPdMsg.datasetLength=PP_HTONL(1300); //TRDP 報文頭的數據長度

……

}

3.4 根據通信協議進行通信

連接建立完成后,通過子系統與車輛的協議內容,在看板中展示各類收發數據,包括數值信號、開關量信號、故障信號等內容。通過int、Byte、Word型變量展示數值信號,通過bool型變量展示開關量信號和故障信號,如圖5所示。

3.5 HMI 看板展示

軟件的看板規劃如下:分為左側控制區和右側展示區,展示區分為車輛發送與車輛接收。發送和接收的內容均能根據具體協議自主定義。本示例為列車受電弓控制器與列車CCU通信模擬,如圖6所示。

3.6 故障記錄功能

軟件具有與列車司機室顯示屏相同的故障記錄功能,通過定義兩個故障清單,展示當前故障(cur?rentlist) 和歷史故障(historylist) 。通過接收報文的故障位從0跳變為1展示在當前記錄中,從1變為0則將當前記錄轉移到歷史記錄中。故障產生與消除時均加入時間戳,以準確記錄故障持續時間。

以接觸網超范圍故障為例,如果是從0變為1,則判斷當前故障清單currentlist中是否已有此故障,如有則無須操作,如沒有則增加到當前故障清單。如果是從1變為0,則將當前故障清單中故障移除,添加到歷史故障清單。如圖7所示。

4 軟件效果驗證

4.1 測試環境搭建

選用車載受電弓控制器作為被測設備,以太網連接測試電腦和被測設備。測試電腦運行CCU模擬軟件,發送控制報文,接收被測設備報文。

4.2 測試工具

采用Wireshark軟件對TRDP數據進行抓包,以檢測軟件執行情況。打開電腦Wireshark軟件,對TRDP 報文進行過濾接收,可監測到模擬CCU和子系統設備雙方報文正確發送,ComID設置正確,如圖8所示。

4.3 測試結果分析

現場對設備進行調試,記錄調試軟件交互報文和展示界面正確。通過分析報文進一步驗證了軟件通信功能的正確性,CCU軟件發送升降弓指令后,受電弓正確進行動作。這表明軟件具備模擬CCU的TRDP 報文收發功能,滿足設計預期。

5 結束語

本文針對目前列車子部件接入列車實時以太網調試的問題,通過TRDP報文收發、組播的加入、協議位的展示、人機交互界面的設計等方面,模擬了CCU 與子系統設備的通信,為子系統地面測試提供了條件,并對軟件功能進行了測試,滿足子系統調試要求。目前通過此軟件測試的受電弓控制器已安裝在CR400AF以及CR400BF動車組,大大節約了車輛聯合調試的時間,也減少了上車后的設備故障。此軟件能夠推及其他子系統部件,為列車調試節約時間及成本。

參考文獻:

[1] 黃瑜,朱紅崗.TCMS系統中CCU通信設計開發及驗證[J].電子制作,2019,27(13):42-44.

[2] 任寶兵.城軌車輛中央控制單元設計[D].大連:大連理工大學,2014.

[3] 郭文韜,李常賢,劉洋,等.基于TRDP的動車組單車網絡調試軟件設計[J].工業控制計算機,2021,34(2):21-23.

[4] 宮湛彭.列車網絡TRDP消息數據通信監控軟件設計與實現[D].大連:大連交通大學,2022.

[5] 唐嵐,張學智.IP組播通信機制及相關問題的研究[J].西安工業學院學報,2000,20(3):209-214.

【通聯編輯:謝媛媛】

主站蜘蛛池模板: 国产微拍一区二区三区四区| 美女国内精品自产拍在线播放| 自慰网址在线观看| 亚洲欧美在线精品一区二区| 亚洲 日韩 激情 无码 中出| 在线国产91| 夜色爽爽影院18禁妓女影院| 亚洲无码日韩一区| 精品亚洲欧美中文字幕在线看 | 中文字幕在线播放不卡| 国产麻豆91网在线看| 伦伦影院精品一区| 亚洲国产精品不卡在线| 亚洲一区色| 538精品在线观看| 久草视频精品| 91精品福利自产拍在线观看| 亚洲综合经典在线一区二区| 尤物成AV人片在线观看| 91无码视频在线观看| 国国产a国产片免费麻豆| 国产亚洲高清在线精品99| 久夜色精品国产噜噜| 国产h视频免费观看| 九九香蕉视频| 毛片网站在线看| 国产成人高清精品免费软件| 广东一级毛片| 国产熟睡乱子伦视频网站| 欧美一区精品| 国产精品亚洲一区二区三区在线观看| 国产免费观看av大片的网站| 9啪在线视频| 视频二区欧美| 免费国产高清精品一区在线| 午夜影院a级片| 中文字幕无码电影| 天堂va亚洲va欧美va国产 | 热思思久久免费视频| 99国产精品国产高清一区二区| 国产精品自在线天天看片| 4虎影视国产在线观看精品| 国产成年女人特黄特色毛片免| Aⅴ无码专区在线观看| 91国内视频在线观看| 午夜国产大片免费观看| 国产菊爆视频在线观看| 亚洲aⅴ天堂| 久爱午夜精品免费视频| 国产经典三级在线| 亚洲一级毛片免费观看| 粉嫩国产白浆在线观看| 国产00高中生在线播放| 国产一级在线播放| 亚洲欧洲一区二区三区| 在线不卡免费视频| 91无码视频在线观看| 真实国产精品vr专区| 久久这里只有精品2| 高清无码手机在线观看| 亚洲乱码视频| 精品91自产拍在线| 国产91小视频在线观看| 日韩性网站| 久久精品娱乐亚洲领先| 国产欧美日韩在线在线不卡视频| 亚洲综合网在线观看| 九九精品在线观看| 久久综合色88| 99精品国产电影| 2020国产精品视频| 国产精品冒白浆免费视频| 国产成人av一区二区三区| 日韩在线永久免费播放| 国产区免费精品视频| 欧美成人午夜在线全部免费| 久热99这里只有精品视频6| 久久精品人人做人人爽电影蜜月| 日韩在线欧美在线| 国产成人福利在线视老湿机| 9丨情侣偷在线精品国产| 男女男精品视频|