新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 多任務TDCS車站分機通信協議的設計

        多任務TDCS車站分機通信協議的設計

        作者: 時間:2011-07-06 來源:網絡 收藏

        摘要:為了處理從鐵路局調度中心、車務終端和計算機聯鎖設備接收的各種信息,在此基于Windows操作系統了實時多程序。在多程序中,使用消息機制和消息緩沖區實現多線程之間的,使用信號量和互斥量實現多線程之間的同步;針對以太網和串口任務,建立了相應的數據結構,并了一個數據包分析算法來解析自定義。實踐證明,該具有響應速度快、適應性強的特點。
        關鍵詞:;;多任務;通信

        列車調度指揮系統()是實現鐵路各級運輸調度對列車進行透明指揮、實時調整、集中控制的現代化信息系統,它由鐵道部、鐵路局中心局域網及基層網組成。TDCS車站是車站基層網的設備,起到信息的采集、上傳及下發的作用,在整個系統中占有非常重要的地位。

        1 功能分析
        在車站分機系統中,車站分機軟件主要實現兩個方面的功能:
        (1)接收鐵路局調度中心和車務終端的調度命令,經過命令解析處理后,經無線調度命令設備發送至列車執行;
        (2)接收計算機聯鎖設備、無線車次號設備、無線調度命令設備發送的狀態信息,經過解析和重新封裝后,將狀態信息發送到鐵路局調度中心和車務終端。
        由以上分析可知,系統主要有以下3個功能模塊:接收狀態模塊、接收命令模塊和數據處理模塊。其中,接收狀態模塊由RS 422串口通信方式實現;接收命令模塊由以太網通信方式實現;數據處理模塊主要負責數據的處理和發送。

        2 多任務模型的創建
        基于Windows操作系統,針對上述3個模塊,本文分別建立了3個任務:串口通信任務、以太網通信任務、數據處理任務。其中數據處理任務作為主線程,包含數據的接收與上傳,其處理過程如下:
        (1)接收線程收到數據,放入緩沖區,并用PostMessage()向主線程發送消息,通知主線程有數據存入緩沖區;
        (2)主線程使用ReadFile()函數讀取緩沖區數據;
        (3)主線程判斷收到的數據是否有變化:若有變化,調用WriteFile()函數或SendData()函數發送消息,并將定時器清除;否則,繼續等待。數據處理任務的具體流程如圖1所示。

        本文引用地址:http://www.104case.com/article/156093.htm

        a.JPG


        在該系統中,使用AfxBeginThread()函數創建以太網通信任務、串口通信任務和數據處理任務之后,用消息機制實現了多任務之間的通信,而用信號量、互斥等方式實現了線程之間全局變量和函數的同步。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 嵩明县| 申扎县| 星座| 锦屏县| 龙州县| 扬州市| 永宁县| 固镇县| 敦煌市| 垣曲县| 永仁县| 水富县| 石柱| 宝清县| 六枝特区| 巴里| 临沂市| 双峰县| 岳阳市| 洛阳市| 合山市| 宁阳县| 通化县| 屏边| 大竹县| 丰都县| 建宁县| 罗城| 安顺市| 介休市| 大邑县| 清河县| 贡嘎县| 太和县| 察隅县| 平定县| 铁岭县| 蒙阴县| 监利县| 咸丰县| 独山县|