多任务TDCS车站分机通信协议的设计
列车调度指挥系统(TDCS)是实现铁路各级运输调度对列车进行透明指挥、实时调整、集中控制的现代化信息系统,它由铁道部、铁路局中心局域网及车站基层网组成。TDCS车站分机是车站基层网的设备,起到信息的采集、上传及下发的作用,在整个系统中占有非常重要的地位。
1 功能分析
在车站分机系统中,车站分机软件主要实现两个方面的功能:
(1)接收铁路局调度中心和车务终端的调度命令,经过命令解析处理后,经无线调度命令设备发送至列车执行;
(2)接收计算机联锁设备、无线车次号设备、无线调度命令设备发送的状态信息,经过解析和重新封装后,将状态信息发送到铁路局调度中心和车务终端。
由以上分析可知,系统主要有以下3个功能模块:接收状态模块、接收命令模块和数据处理模块。其中,接收状态模块由RS 422串口通信方式实现;接收命令模块由以太网通信方式实现;数据处理模块主要负责数据的处理和发送。
2 多任务模型的创建
基于Windows操作系统,针对上述3个模块,本文分别建立了3个任务:串口通信任务、以太网通信任务、数据处理任务。其中数据处理任务作为主线程,包含数据的接收与上传,其处理过程如下:
(1)接收线程收到数据,放入缓冲区,并用PostMessage()向主线程发送消息,通知主线程有数据存入缓冲区;
(2)主线程使用ReadFile()函数读取缓冲区数据;
(3)主线程判断收到的数据是否有变化:若有变化,调用WriteFile()函数或SendData()函数发送消息,并将定时器清除;否则,继续等待。数据处理任务的具体流程如图1所示。
在该系统中,使用AfxBeginThread()函数创建以太网通信任务、串口通信任务和数据处理任务之后,用消息机制实现了多任务之间的通信,而用信号量、互斥等方式实现了线程之间全局变量和函数的同步。
3 通信协议设计和解析
协议是数据发送与接收方都必须遵守的一种规则,这种规则一部分是发送方及接收方所认识的信息组成格式即信息结构,另一部分是由信息结构的协议类型及协议操作符所组成的会话方式即传输控制。
在该系统中,从串口和以太网接收到的各种的数据的类型和长度是不一致的,数据处理任务要对其分门别类进行处理就必须明确数据的类型、实际长度以及数据本身。因此必须定义一种数据传输的协议以保证通信的可靠性和数据读取的可用性。本文针对以太网通信和串口通信,分别建立了对应的数据协议。
3.1 以太网通信协议
相关文章
- 2023-06-23车号识别系统在茂名乙烯电子轨道衡中的应用
- 2024-03-01基于CAN现场总线的分布式柴油发动机测试系统
- 2023-08-15基于AM402的电流量输出电容式角度传感器
- 2021-12-173G室内分布系统解决方案
- 2023-04-15微机电系统中薄膜结构在静电力和Casimir力作用下的稳定性
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。