文档介绍:-
. z.
. 它们提供的信息。
具体仿真环境构造如以下图所示:
程序编写
程序分析
本实验需要编写的仿真程序,即为实验二中控制程序大致流程中应答器信息读取局部,解析应答器报文,并提取出有用的信息计算该应答器组中存储的闭塞分区长度和线路限速,输出给仿真环境,由仿真环境进展数据的进一步转换,变为ATPprotection()程序的输入,完成线路数据的使用,正确完成超速防护的功能。
程序框图
程序代码
〔注:本局部只列出关键局部,完整代码请查看附录〕
实现变量由bit到字节转换,将线路允许速度填充到sLineAllowSpeed数组中
offset = 50
VarBitNum = 8
TotoalBitBeforeVar = offset
-
. z.
. . . .
. 资料. .. .
NID_PACKET1 = (VarBitNum, TotoalBitBeforeVar, Telegram)
//读取NID_PACKET1中的信息
VarBitNum = 13
TotoalBitBeforeVar = offset + 10
L_PACKET1 = (VarBitNum, TotoalBitBeforeVar, Telegram)
//读取L_PACKET1中的信息
If NID_PACKET1 = 27 Then
//判断是否读取线路信息包ETCS-27中的数据
sLineAllowSpeed(0, 0) = 0
VarBitNum = 15
TotoalBitBeforeVar = offset + 25
D_STATIC = (VarBitNum, TotoalBitBeforeVar, Telegram)
//读取应答器中速度信息起始点距离
VarBitNum = 7
TotoalBitBeforeVar = offset + 40
V_STATIC = (VarBitNum, TotoalBitBeforeVar, Telegram)
//读取应答器中最大允许列车速度
VarBitNum = 5
TotoalBitBeforeVar = offset + 53
N_ITER = (VarBitNum, TotoalBitBeforeVar, Telegram)
//速度变化点数量
If N_ITER = 1 Then
//变化点数量为1时
VarBitNum = 15
TotoalBitBeforeVar = offset + 58
D_STATIC = (VarBitNum, TotoalBitBeforeVar, Telegram)
VarBitNum = 7
TotoalBitBeforeVar = offset + 73
V_STATIC = (VarBitNum, TotoalBitBeforeVar, Telegram)
sLineAllowSpeed(1, 0) = D_STATIC
sLineAllowSpeed(0, 1) = V_STATIC * 5
End If
实现变量由bit到字节转换,将轨道电路合并为闭塞分区填充到sBlocks数组
If NID_PACKET = 44 Then
//判断是否读取线路信息包CTCS-1中的数据
Q_SCALE =