多任务TDCS车站分机通信协议的设计

[10-10 20:38:44]   来源:http://www.88dzw.com  其它电路   阅读:8941

文章摘要: 摘要:为了处理TDCS车站分机从铁路局调度中心、车务终端和计算机联锁设备接收的各种信息,在此基于Windows操作系统设计了实时多任务程序。在多任务程序中,使用消息机制和消息缓冲区实现多线程之间的通信,使用信号量和互斥量实现多线程之间的同步;针对以太网通信任务和串口通信任务,建立了相应的数据结构,并设计了一个数据包分析算法来解析自定义协议。实践证明,该设计具有响应速度快、适应性强的特点。 关键词:TDCS;车站分机;多任务;通信协议 列车调度指挥系统(TDCS)是实现铁路各级运输调度对列车进行透明指挥、实时调整、集中控制的现代化信息系统,它由铁道部、铁路局中心局域网及车站

多任务TDCS车站分机通信协议的设计,标签:电路设计,http://www.88dzw.com

      摘要:为了处理TDCS车站分机从铁路局调度中心、车务终端和计算机联锁设备接收的各种信息,在此基于Windows操作系统设计了实时多任务程序。在多任务程序中,使用消息机制和消息缓冲区实现多线程之间的通信,使用信号量和互斥量实现多线程之间的同步;针对以太网通信任务和串口通信任务,建立了相应的数据结构,并设计了一个数据包分析算法来解析自定义协议。实践证明,该设计具有响应速度快、适应性强的特点。
关键词:TDCS;车站分机;多任务;通信协议

    列车调度指挥系统(TDCS)是实现铁路各级运输调度对列车进行透明指挥、实时调整、集中控制的现代化信息系统,它由铁道部、铁路局中心局域网及车站基层网组成。TDCS车站分机是车站基层网的设备,起到信息的采集、上传及下发的作用,在整个系统中占有非常重要的地位。

    1 功能分析
    在车站分机系统中,车站分机软件主要实现两个方面的功能:
    (1)接收铁路局调度中心和车务终端的调度命令,经过命令解析处理后,经无线调度命令设备发送至列车执行;
    (2)接收计算机联锁设备、无线车次号设备、无线调度命令设备发送的状态信息,经过解析和重新封装后,将状态信息发送到铁路局调度中心和车务终端。
    由以上分析可知,系统主要有以下3个功能模块:接收状态模块、接收命令模块和数据处理模块。其中,接收状态模块由RS 422串口通信方式实现;接收命令模块由以太网通信方式实现;数据处理模块主要负责数据的处理和发送。

2 多任务模型的创建
    基于Windows操作系统,针对上述3个模块,本文分别建立了3个任务:串口通信任务、以太网通信任务、数据处理任务。其中数据处理任务作为主线程,包含数据的接收与上传,其处理过程如下:
    (1)接收线程收到数据,放入缓冲区,并用PostMessage()向主线程发送消息,通知主线程有数据存入缓冲区;
    (2)主线程使用ReadFile()函数读取缓冲区数据;
    (3)主线程判断收到的数据是否有变化:若有变化,调用WriteFile()函数或SendData()函数发送消息,并将定时器清除;否则,继续等待。数据处理任务的具体流程如图1所示。

a.JPG


    在该系统中,使用AfxBeginThread()函数创建以太网通信任务、串口通信任务和数据处理任务之后,用消息机制实现了多任务之间的通信,而用信号量、互斥等方式实现了线程之间全局变量和函数的同步。

www.88dzw.com
3 通信协议设计和解析
    协议是数据发送与接收方都必须遵守的一种规则,这种规则一部分是发送方及接收方所认识的信息组成格式即信息结构,另一部分是由信息结构的协议类型及协议操作符所组成的会话方式即传输控制。
    在该系统中,从串口和以太网接收到的各种的数据的类型和长度是不一致的,数据处理任务要对其分门别类进行处理就必须明确数据的类型、实际长度以及数据本身。因此必须定义一种数据传输的协议以保证通信的可靠性和数据读取的可用性。本文针对以太网通信和串口通信,分别建立了对应的数据协议。
3.1 以太网通信协议
    以太网通信涉及的信息包括计算机联锁设备状态信息、无线车次号信息、调度命令信息。本文定义了一种以太网信息通用的数据协议封装类如下:
    b.JPG
    在该数据结构中,报文类型用来识别该报文是联锁设备信息、无线车次号信息或者调度命令信息;序列号用来判断接收报文的连续性;CRC错误检测缀用来判断接收报文的正确性,可以根据需要选择不同的生成多项式;接收数据数组将根据联锁设备信息、无线车次号信息和调度命令信息的相应内容填充。

[1] [2]  下一页


Tag:其它电路电路设计家电维修 - 单元电路介绍 - 其它电路

《多任务TDCS车站分机通信协议的设计》相关文章