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

淺談基于以太網的地鐵門系統軟件通信模塊設計

2019-10-21 05:33:56姚茂軍
市場周刊·市場版 2019年38期

摘 要:隨著工業以太網應用的日趨成熟和不斷推廣,地鐵門系統的通信網絡也逐漸從RS485、HDLC、MVB及CANopen等轉換為以太網,以太網通信以其帶寬大、速度快,將成為未來地鐵通信網絡的發展趨勢。本文探討了圍繞以太網通信的地鐵門系統軟件通信模塊設計。

關鍵詞:地鐵門系統;以太網通信;維護

一、 地鐵門系統通信網絡簡介

目前,地鐵門系統比較常見的MVB+CAN的主從通信方式逐步轉變為以太網+CAN的主從通信方式和純以太網通信方式。之前的軟件無操作系統,現在要運行在linux系統上。門系統軟件維護由之前主要用串口逐步轉變為串口+以太網口或純以太網口。以太網通信是大勢所趨,有必要對通信模塊的設計進行探討。目前的以太網協議以TRDP協議為主,分為過程數據PD(Process Data)和消息數據MD(Message Data),與CANopen協議以及MVB協議中的過程數據和消息數據類似。過程數據主要傳輸實時性要求較高的數據,周期性傳輸,數據長度固定;消息數據長度不固定,根據需要傳輸。門系統與車輛的TRDP協議中,使用過程數據,在自身維護時,使用消息數據。

二、 以太網通信模塊設計

(一)以太網通信模塊總體設計

通信模塊軟件采用多線程設計:(1)線程1為主線程負責TRDP報文收發;(2)線程2負責定時更新TRDP報文以及對接收到的報文進行解析響應;(3)線程3負責響應維護接口。難點主要有兩個方面:(1)以往采用MVB或CANopen通信時無操作系統,現在要移植TRDP協議棧并在linux系統上運行;(2)以往門系統軟件維護通過串口完成,現在要通過以太網口完成,要進行多線程的任務設計。

TRDP協議棧要進行正常通信,必須先完成一系列配置工作,包括配置TRDP協議分配內存空間,PD發送數據的周期、端口號以及目標IP地址等。要完成這一系列的配置,有兩種方法,第一,通過修改源代碼實現,第二,通過XML配置文件實現。后者對于項目移植較為方便,便于提高開發效率及開發質量,所以選擇XML配置文件實現TRDP協議棧的配置。

(二)面向車輛網絡的通信設計

將與車輛網絡之間的TRDP通信協議,存儲為XML配置文件,其信息包括通信com-id、通信數據集id、通信端口周期、通信默認超時時間、目標地址或組播地址以及數據集等。

軟件通過讀取存儲器中的XML配置文件,解析出通信參數,并根據預設在軟件中的外部編碼地址與IP地址的映射關系,計算出本設備的IP地址。軟件啟動后,會調用配置模塊,對TRDP協議棧進行配置,配置完成后即可進行PD和MD通信。配置過程如下圖1(a)所示。

(1)tlc_init()函數,對TRDP協議棧進行初始化,包含對線程、套接字、內存等子模塊的初始化工作。

(2)initMarshalling()函數,對TRDP輔助組件Marshall初始化工作。讀取XML文件的應用數據部分,并完成字節對齊工作。

(3)tlc_openSession()函數,為網絡接口創建TRDP會話,創建成功后會返回會話句柄。

(4)tlp_subscribe()函數,訂閱PD報文,為接收PD報文做準備,通過訂閱指定的ComId和IP地址。

(5)tlp_publish()函數,發布PD報文,為發布PD報文做準備,完成配置后,協議棧往指定的IP地址發布攜帶特定ComId的PD報文。

(6)tlm_addListener()函數,訂閱MD報文,用于監聽TRDP協議棧接收MD報文。

(7)vos_semaCreate()函數,創建信號量,用于線程間交換信息。

(8)vos_mutexCreate()函數,創建互斥量,保護共享資源的數據完整性。

(9)配置模塊完成所有配置工作后,配置完成標志finishTauInit置位。

進入主循環流程后,通過調用tlc_getInterval()函數獲取過程數據端口之間的最大延時,將返回值以timeval結構體類型變量tv返回,并與通信協議允許的最大延時做比較,避免數據異常產生的數據超范。調用select()函數并在tv時間內阻塞線程,直到阻塞時間到或監控到相應的文件描述符滿足條件。調用tlc_process()函數,該函數會通過調用trdp_pdSendQueued()函數和trdp_pdHandleTimeOuts()函數對過程數據的發送和接收超時的隊列進行響應處理。待發送的TRDP數據通過其他線程調用tlp_put()函數更新到相應的發送隊列中,并在tlc_process()函數中發送出去。如下圖1(b)所示。

(三)面向門系統維護軟件的通信設計

門系統維護軟件發起的請求包括門狀態顯示、參數配置、故障下載、故障清除及軟件下載等。這部分功能用私有接口協議。由于門系統維護軟件發起的請求是非周期性的請求,請求類型也不確定,這主要取決于使用者何時操作了維護軟件以及操作了維護軟件上哪一個按鈕,因此維護軟件接口采用TRDP的消息數據協議。

當以太網應用軟件接收到維護軟件的消息數據后,激活MD回調函數,回調函數會判斷消息類型,并根據消息類型進行相應的處理,同時調用VOS模塊中的信號量函數vos_semaGive(),激活被掛起的維護接口響應線程。當維護接口響應線程接收到回調函數的信號量重新恢復運行;調用vos_mutexLock()函數對共享資源上互斥鎖,處理結束后解除對共享資源的互斥鎖,釋放共享資源。軟件流程圖如圖1(b)所示。

三、 實驗驗證

在實驗室將安裝有車輛網絡模擬軟件的筆記本電腦與門系統控制器用以太網線連接起來,將門系統控制器接上外部地址編碼線后,接通110V直流電源,同時啟動車輛網絡模擬軟件。通過安裝在筆記本電腦上的wireshark軟件,抓取以太網數據包如下圖所示。IP地址為10.0.1.18的網絡設備發送的TRDP PD數據的組播地址為239.255.0.1,IP地址為 10.0.1.60 的門系統發送的TRDP PD數據的組播地址為 239.255.1.60。二者之間可以建立有效的TRDP通信。

四、 結語

本文實現了基于以太網通信的軟件通信模塊設計并用實驗進行了驗證。隨著以太網應用的普及推廣,門系統的一些軟件維護工作會逐步地全部轉移到以太網接口上實現,并借助5G網絡或車地網絡,更輕松地開展維護工作。

作者簡介:

姚茂軍,南京康尼電子科技有限公司。

主站蜘蛛池模板: 久久香蕉国产线看观看亚洲片| 欧美一区二区啪啪| 久久婷婷五月综合97色| 欧美v在线| 免费Aⅴ片在线观看蜜芽Tⅴ| 91精品国产综合久久不国产大片| 欧美一级片在线| 欧美日韩国产一级| 国产手机在线观看| www.亚洲一区二区三区| 欧美日韩第三页| 丝袜亚洲综合| 激情在线网| 欧美成人免费| 日韩无码真实干出血视频| 在线欧美a| 综合五月天网| 国产迷奸在线看| 四虎国产永久在线观看| a级免费视频| 欧洲亚洲欧美国产日本高清| 久久亚洲国产一区二区| 91美女视频在线| 国产丝袜精品| 免费国产在线精品一区| 在线看免费无码av天堂的| 欧美精品成人| 国产欧美日韩专区发布| 91免费精品国偷自产在线在线| 伊人久久婷婷| 99无码中文字幕视频| 91麻豆精品视频| 国产91高清视频| 国产乱人乱偷精品视频a人人澡| 成人午夜视频在线| 麻豆国产精品视频| 久久亚洲天堂| 五月婷婷欧美| 在线国产91| 韩国v欧美v亚洲v日本v| 欧美三级自拍| 爱色欧美亚洲综合图区| 亚洲精品中文字幕午夜| 欧洲欧美人成免费全部视频| 国产手机在线小视频免费观看| 国产女人18毛片水真多1| 亚洲va视频| 中文字幕在线免费看| 四虎国产在线观看| 国产成人高精品免费视频| 日韩午夜福利在线观看| 亚洲AV电影不卡在线观看| 国产成人区在线观看视频| A级毛片高清免费视频就| a毛片在线免费观看| 国产福利小视频在线播放观看| 啪啪免费视频一区二区| 亚洲免费播放| 毛片网站在线看| 毛片最新网址| 一区二区无码在线视频| 国产高清在线观看| 亚洲无限乱码| 亚洲高清在线播放| 国产免费精彩视频| 综合人妻久久一区二区精品| 欧美精品1区| 2021国产v亚洲v天堂无码| 国产成人乱码一区二区三区在线| 亚洲成a人片| 无码AV高清毛片中国一级毛片| 国产微拍精品| 香蕉99国内自产自拍视频| 日韩亚洲综合在线| 亚洲V日韩V无码一区二区| 呦女精品网站| 成人夜夜嗨| 久久国产免费观看| 国产精品七七在线播放| 一区二区欧美日韩高清免费| 久久综合激情网| 国产成人综合日韩精品无码首页|