990 lines
28 KiB
Protocol Buffer
990 lines
28 KiB
Protocol Buffer
syntax = "proto3";
|
||
import "stationLayoutGraphics.proto";
|
||
import "common_data.proto";
|
||
import "request.proto";
|
||
|
||
package state;
|
||
option java_package = "club.joylink.bjrtss.ats.verify.protos";
|
||
option java_outer_classname = "DeviceStateProto";
|
||
option go_package = "joylink.club/bj-rtsts-server/dto/state_proto";
|
||
//option go_package = "dto/state_proto;";
|
||
|
||
|
||
//状态定义面向物理层即只定义物理状态,不定义逻辑层状态
|
||
|
||
//区段类型
|
||
enum SectionType{
|
||
Any = 0;
|
||
//计轴区段
|
||
Axle = 1;
|
||
//逻辑区段
|
||
Logic = 2;
|
||
//物理区段
|
||
Physic = 3;
|
||
}
|
||
|
||
//相邻端点定义的link的状态
|
||
message LinkState{
|
||
//link索引
|
||
uint32 id = 1;
|
||
//link上的列车id列表
|
||
repeated string trainId = 2;
|
||
}
|
||
|
||
//物理区段状态
|
||
message SectionState{
|
||
//区段索引
|
||
uint32 id = 1;
|
||
//区段占用
|
||
//true-占用;false-出清
|
||
bool occupied = 3;
|
||
//计轴故障
|
||
bool axleFault = 4;
|
||
// 计轴复位
|
||
bool axleDrst = 5;
|
||
// 计轴预复位
|
||
bool axlePdrst = 6;
|
||
}
|
||
|
||
//计轴区段状态
|
||
message AxleCountingSectionState {
|
||
uint32 id = 1;
|
||
bool occupied = 2;
|
||
}
|
||
|
||
//道岔状态
|
||
message SwitchState{
|
||
//道岔索引
|
||
uint32 id = 1;
|
||
//道岔处于定位(表示)
|
||
bool normal = 2;
|
||
//道岔处于反位(表示)
|
||
bool reverse = 3;
|
||
//道岔处于定位(实际)
|
||
bool dw = 4;
|
||
//道岔处于反位(实际)
|
||
bool fw = 5;
|
||
// 道岔设置参数
|
||
request.PointsParam param = 6;
|
||
// 定操驱动
|
||
bool qdc = 7;
|
||
// 反操驱动
|
||
bool qfc = 8;
|
||
// 允许操驱动
|
||
bool qyc = 9;
|
||
// 定操采集
|
||
bool dc = 10;
|
||
// 反操采集
|
||
bool fc = 11;
|
||
// 允许操作采集
|
||
bool yc = 12;
|
||
// 是否占用
|
||
bool occupied = 13;
|
||
}
|
||
//信号机状态
|
||
message SignalState{
|
||
//信号机索引
|
||
uint32 id = 1;
|
||
//信号机的灯列表
|
||
Signal.Aspect aspect = 2;
|
||
// 信号机设置参数
|
||
request.SignalParam param = 3;
|
||
// 信号机继电器状态
|
||
map<string, bool> relayStateMap = 4;
|
||
}
|
||
//信号机显示定义
|
||
message Signal {
|
||
//信号机显示枚举
|
||
enum Aspect {
|
||
//灭灯
|
||
OFF = 0;
|
||
//红
|
||
H = 1;
|
||
//绿灯亮
|
||
L = 2;
|
||
//黄
|
||
U = 3;
|
||
//红黄
|
||
HU = 4;
|
||
//白
|
||
B = 5;
|
||
//蓝
|
||
A = 6;
|
||
}
|
||
}
|
||
|
||
//站台状态
|
||
message PlatformState{
|
||
//站台索引
|
||
uint32 id = 1;
|
||
// EMP继电器状态
|
||
bool empj = 2;
|
||
// SPKS继电器状态
|
||
repeated ReplyState spksState = 3;
|
||
// 门控箱继电器状态
|
||
MkxJState mkxJState = 4;
|
||
}
|
||
//车站状态
|
||
message StationState{
|
||
//车站索引
|
||
uint32 id = 1;
|
||
}
|
||
|
||
//列车连接状态
|
||
message TrainConnState{
|
||
bool conn = 1;//连接状态
|
||
TrainConnType connType = 2;
|
||
uint32 TrainControlMapId = 3; //关联的列车控制mapId
|
||
string typeName = 4;//连接名称
|
||
// map<string, SensorSpeedPulseCount> speedPulseCountMap = 5;//连接状态
|
||
enum TrainConnType{
|
||
NONE = 0;//未知连接
|
||
VOBC = 1; //半实物
|
||
PC_SIM = 2; //PC仿真
|
||
/*PC_SIM_A = 3; //PC仿真
|
||
PC_SIM_B = 4; //PC仿真*/
|
||
}
|
||
}
|
||
//列车状态
|
||
message TrainState{
|
||
//列车索引
|
||
string id = 1;
|
||
//列车初始link运行方向
|
||
bool up = 2;
|
||
// 列车初始速度
|
||
float speed = 3;
|
||
//列车长度,1=1mm
|
||
int64 trainLength = 4;
|
||
//列车是否显示(此状态仅在列车被删除时为false,若需更改用途需增加列车被删除状态)
|
||
bool show = 5;
|
||
// 列车车头所在设备ID
|
||
uint32 headDeviceId = 6;
|
||
// 列车车头所在设备偏移量
|
||
int64 headOffset = 7;
|
||
// 设备端口
|
||
string devicePort = 8;
|
||
// 位移方向指向(区段:A-B,道岔:-> 岔心)
|
||
bool driftTo = 9;
|
||
// 列车运营上下行(公里标 上行:小 -> 大,下行:大 -> 小)
|
||
bool trainRunUp = 10;
|
||
// 列车车头方向 0=未激活,1= 小 -> 大,2=大 -> 小
|
||
uint32 trainActiveDirection = 11;
|
||
// 动力学信息
|
||
TrainDynamicState dynamicState = 12;
|
||
// 半实物信息
|
||
TrainVobcState vobcState = 13;
|
||
// 所在公里标
|
||
int64 trainKilometer = 14;
|
||
// 控制响应延时
|
||
int64 controlDelayTime = 15;
|
||
// 列车轮径
|
||
int32 wheelDiameter = 16;
|
||
//列车动力学配置
|
||
common.TrainDynamicConfig trainDynamicConfig = 17;
|
||
//列车A端
|
||
common.TrainEndsState trainEndsA = 18;
|
||
//列车B端
|
||
common.TrainEndsState trainEndsB = 19;
|
||
// 列车尾端所在设备ID
|
||
uint32 tailDeviceId = 20;
|
||
// 列车尾端所在设备偏移量
|
||
int64 tailOffset = 21;
|
||
// 列车尾端所在设备端口
|
||
string tailDevicePort = 22;
|
||
// BTM状态 --即将过时 2024-08-12
|
||
// BTMState btmState = 23;
|
||
TrainControlState tcc = 24;
|
||
TrainConnState connState = 25; //列车连接第三方状态
|
||
SensorSpeedPulseCount pluseCount = 26;
|
||
// VobcBtmState vobcBtm = 27;//vobc btm 状态
|
||
string oldLink = 28;
|
||
int64 oldLinkOffset = 29;
|
||
string oldTailLink = 30;
|
||
int64 oldTailLinkOffset = 31;
|
||
TrainBtmCache btmBaliseCacheA = 32; //列车应答器缓存
|
||
TrainBtmCache btmBaliseCacheB = 33; //列车应答器缓存
|
||
|
||
int32 TrainLoad = 34; //列车载荷(吨)
|
||
float TrainMaxSpeed = 35; //列车最大时速
|
||
float TrainMaxAcc = 36; //列车最大加速度
|
||
float TrainMaxBrake = 37; //列车最大减速度
|
||
float TrainEmergencyBrake = 38;//列车紧急制动减速度
|
||
string projectCode = 39;
|
||
// map<bool,TrainVobcState> trainPortVS = 40;
|
||
}
|
||
|
||
//列车应答器缓存
|
||
message TrainBtmCache{
|
||
uint32 dsn = 1;
|
||
uint32 baliseCount = 2; //应答器计数(每过一个应答器加一,在同一个应答器内不变)(0~255)
|
||
uint32 messageCounter = 3; //报文计数器 (每解出一个报文加一)(0~255)
|
||
string resendBaliseId = 4;
|
||
repeated BTMState baliseList = 5;
|
||
}
|
||
|
||
|
||
//速度传感器脉冲数
|
||
message SensorSpeedPulseCount{
|
||
uint32 pulseCount1 = 1;
|
||
uint32 pulseCount2 = 2;
|
||
repeated float pulseCount3 = 3;
|
||
repeated float pulseCount4 = 4;
|
||
|
||
}
|
||
|
||
// 动力学列车状态
|
||
message TrainDynamicState {
|
||
// 生命信号 每个周期+1
|
||
int32 heartbeat = 1;
|
||
//车头所在link的索引
|
||
string headLinkId = 2;
|
||
//车头所在link内的偏移量,单位为mm
|
||
int64 headLinkOffset = 3;
|
||
//车尾所在link的索引
|
||
string tailLinkId = 4;
|
||
//车尾所在link内的偏移量,单位为mm
|
||
int64 tailLinkOffset = 5;
|
||
//列车所占用的link的索引的列表
|
||
//顺序为从车头到车尾
|
||
repeated string occupiedLinkIndex = 6;
|
||
//列车所在位置坡度值,1=1‰
|
||
int32 slope = 7;
|
||
//列车所在位置坡度走势,1=上坡true,0=下坡false
|
||
bool upslope = 8;
|
||
//列车当前运行方向,1 =上行true 0 =下行false
|
||
bool runningUp = 9;
|
||
//实际运行阻力(总)(N)totalResistance,1=1N
|
||
float runningResistanceSum = 10;
|
||
//阻力1(空气阻力)(N)airResistance,1=1N
|
||
float airResistance = 11;
|
||
//阻力2(坡道阻力)(N)slopeResistance,1=1N
|
||
float rampResistance = 12;
|
||
//阻力3(曲线阻力)(N)curveResistance,1=1N
|
||
float curveResistance = 13;
|
||
//列车运行速度(m/s)speed,1=1m/s 此处放置的是转换后的数据km/h
|
||
int32 speed = 14;
|
||
//头车速传1速度值(m/s)headSpeed1,1=1m/s 此处放置的是转换后的数据km/h
|
||
int32 headSensorSpeed1 = 15;
|
||
//头车速度2速度值(m/s)headSpeed2,1=1m/s 此处放置的是转换后的数据km/h
|
||
int32 headSensorSpeed2 = 16;
|
||
//尾车速传1速度值(m/s)tailSpeed1,1=1m/s 此处放置的是转换后的数据km/h
|
||
int32 tailSensorSpeed1 = 17;
|
||
//尾车速度2速度值(m/s)tailSpeed2,1=1m/s 此处放置的是转换后的数据km/h
|
||
int32 tailSensorSpeed2 = 18;
|
||
//头车雷达速度值(m/s)headRadarSpeed,1=1m/s 此处放置的是转换后的数据km/h
|
||
int32 headRadarSpeed = 19;
|
||
//尾车雷达速度值(m/s)tailRadarSpeed,1=1m/s 此处放置的是转换后的数据km/h
|
||
int32 tailRadarSpeed = 20;
|
||
// 通讯中断
|
||
bool udpInterruption = 21;
|
||
// 加速
|
||
float acceleration = 22;
|
||
//列车位移
|
||
// int32 Displacement = 23;
|
||
float Displacement = 23;
|
||
|
||
}
|
||
|
||
// vobc发过来的列车信息 包括 (驾驶台和车载)
|
||
message TrainVobcState {
|
||
// 生命信号 每个周期+1
|
||
int32 lifeSignal = 1;
|
||
// TC1激活状态 1=激活
|
||
bool tc1Active = 2;
|
||
// TC2激活状态 1=激活
|
||
bool tc2Active = 3;
|
||
// 列车方向向前 1=方向向前
|
||
bool directionForward = 4;
|
||
// 列车方向向后 1=方向向后
|
||
bool directionBackward = 5;
|
||
// 列车牵引状态 1=牵引
|
||
bool tractionStatus = 6;
|
||
// 列车制动状态 1=制动
|
||
bool brakingStatus = 7;
|
||
// 列车紧急制动状态 1=紧急制动
|
||
bool emergencyBrakingStatus = 8;
|
||
// 列车折返状态(AR) 1=折返
|
||
bool turnbackStatus = 9;
|
||
// 跳跃状态 1=跳跃
|
||
bool jumpStatus = 10;
|
||
// ATO模式 1=ATO模式
|
||
bool ato = 11;
|
||
// FAM模式 1=FAM模式
|
||
bool fam = 12;
|
||
// CAM模式 1=CAM模式
|
||
bool cam = 13;
|
||
// 牵引安全回路 1=牵引安全切除
|
||
bool tractionSafetyCircuit = 14;
|
||
// 停放制动状态 1=停放施加
|
||
bool parkingBrakeStatus = 15;
|
||
// 保持制动状态 1=保持制动施加
|
||
bool maintainBrakeStatus = 16;
|
||
// 列车牵引力 100=1KN
|
||
int64 tractionForce = 17;
|
||
// 列车制动力 100=1KN
|
||
int64 brakeForce = 18;
|
||
//【列车载荷 100=1ton
|
||
int64 trainLoad = 19;
|
||
// 列车开左门指令 1=开门
|
||
bool leftDoorOpenCommand = 20;
|
||
// 列车开右门指令 1=开门
|
||
bool rightDoorOpenCommand = 21;
|
||
// 列车关左门指令 1=关门
|
||
bool leftDoorCloseCommand = 22;
|
||
// 列车关右门指令 1=关门
|
||
bool rightDoorCloseCommand = 23;
|
||
// 整列车门关好 1=门关好
|
||
bool allDoorClose = 24;
|
||
// 通讯中断
|
||
bool udpInterruption = 25;
|
||
// 更新时间
|
||
int64 updateTime = 26;
|
||
//强制门允许
|
||
bool forceDoorAllow = 27;
|
||
// 模式降级按钮
|
||
bool modeLevelDownBtn = 28;
|
||
// 确认按钮
|
||
bool confirmBtn = 29;
|
||
// 模式升级按钮
|
||
bool modeLevelUpBtn = 30;
|
||
// ATO发车按钮
|
||
bool atoSendTrainBtn = 31;
|
||
// 列车完整性
|
||
// bool trainIntegrity = 32;
|
||
// 车载ATP/ATO旁路状态
|
||
bool atpOrAtoBypassState = 33;
|
||
// 车辆牵引已切除状态
|
||
bool trainTractionCuted = 34;
|
||
// 障碍物检测按钮
|
||
bool obstacleCheckBtn = 35;
|
||
// 驾驶室激活反馈
|
||
// bool driverActiveReportBtn = 36;
|
||
// 制动重故障按钮
|
||
bool brakeHeavyFault = 37;
|
||
// 左门状态
|
||
bool leftDoorState = 38;
|
||
// 右门状态
|
||
bool rightDoorState = 39;
|
||
// 唤醒按钮
|
||
bool wakeUpBtn = 40;
|
||
// 检修按钮
|
||
bool overhaulBtn = 41;
|
||
// 欠压按钮
|
||
bool undervoltageBtn = 42;
|
||
// 休眠按钮
|
||
bool sleepBtn = 43;
|
||
// 紧急手柄拉下
|
||
bool emergentHandleDown = 44;
|
||
// 车门锁闭状态
|
||
bool doorLockState =45;
|
||
// 逃生门状态
|
||
bool lifeDoorState=46;
|
||
// 车辆低压上电状态
|
||
bool trainLowPowerResetState=47;
|
||
// ATP上电按钮
|
||
bool atpPowerOnBtn=48;
|
||
// AA自动开关门
|
||
bool doorModeAA=49;
|
||
//AM自开人关
|
||
bool doorModeAM=50;
|
||
// MM人开人关
|
||
bool doorModeMM=51;
|
||
// 外部紧急制动反馈
|
||
// bool outerEmergentBrakeReport = 52;
|
||
// 车门外指示灯
|
||
bool trainDoorOutLed = 53;
|
||
|
||
//本端ATP控车
|
||
bool localAtpControl = 54;
|
||
//ATO制动命令输出
|
||
bool atoBrakeCommand = 55;
|
||
// ATO牵引命令输出
|
||
bool atoTractionCommandOut = 56;
|
||
//ATO惰行命令输出
|
||
bool atoLazyCommandOut = 57;
|
||
//// AR灯命令
|
||
// bool arLightCommand = 58;
|
||
//ATO保持制动
|
||
bool atoAlwaysBrake=59;
|
||
//ATO开左门
|
||
bool atoOpenLeftDoor=60;
|
||
//ATO开右门
|
||
bool atoOpenRightDoor=61;
|
||
//ATO关左门
|
||
bool atoCloseLeftDoor=62;
|
||
// 零速信号
|
||
bool noSpeedSigle = 63;
|
||
// 列车启动指示灯
|
||
bool trainStartedLed = 64;
|
||
// 常用制动
|
||
bool mostUseBrake = 65;
|
||
// 过分相输出
|
||
bool splittingOut = 66;
|
||
// 模式继电器
|
||
bool modeRelay = 67;
|
||
// 牵引有效
|
||
bool tractionEffective=68;
|
||
// 制动有效
|
||
bool brakeEffective=69;
|
||
// 制动隔离
|
||
bool brakeQuarantine=70;
|
||
// 停放制动缓解
|
||
bool stopNotAllBrake=71;
|
||
// ATO牵引指令1
|
||
bool atoTractionCommand1 = 72;
|
||
// ATO牵引指令2
|
||
bool atoTractionCommand2=73;
|
||
// ATO牵引指令3
|
||
bool atoTractionCommand3=74;
|
||
uint32 mockInfo = 75; //车载接口输出的模拟量信息
|
||
// atp 切除开关
|
||
bool atpCutSwitch = 76;
|
||
//紧急制动指示灯
|
||
bool lightEmergencyBrakingStatus = 77;
|
||
//切牵引指示灯
|
||
bool lightTractionSafetyCircuit = 78;
|
||
//车头方向指示灯1
|
||
bool lightDir1 = 79;
|
||
//车头方向指示灯2
|
||
bool lightDir2 = 80;
|
||
//驾驶室激活
|
||
bool lightDriverActive = 81;
|
||
//列车连接半实物是否初始化
|
||
bool trainConnInitComplate = 82;
|
||
//ato关右门
|
||
bool atoCloseRightDoor = 83;
|
||
bool lightAtoSend = 84;
|
||
//Ato运行级位
|
||
AtoStepLevel atoStepLevel = 85;
|
||
VobcBtmInfo vobcBtmInfo = 86;
|
||
int64 lineInitTimeStamp12 = 87; //12号线列出初始化时间戳
|
||
bool line12ConnErr = 88;//12号线连接错误,因为12号线atp故障(此时atp需要重启)时,还是会发送数据通过此次属性标记atp状态情况(多次观察atp故障时,atp输出数字量返回的数据最后一个直接是0)
|
||
// bool trainConnInitComplateTc1 = 87;
|
||
// bool trainConnInitComplateTc2 = 88;
|
||
|
||
message VobcBtmInfo{
|
||
uint32 btmId = 1;
|
||
uint32 vobcId = 2;
|
||
uint32 vobcLifeId = 3;
|
||
}
|
||
enum AtoStepLevel{
|
||
ATO_STEP_LEVEL_NONE=0;
|
||
ATO_STEP_LEVEL_1 = 1;
|
||
ATO_STEP_LEVEL_2 = 2;
|
||
ATO_STEP_LEVEL_3 = 3;
|
||
ATO_STEP_LEVEL_4 = 4;
|
||
ATO_STEP_LEVEL_5 = 5;
|
||
ATO_STEP_LEVEL_6 = 6;
|
||
ATO_STEP_LEVEL_7 = 7;
|
||
}
|
||
}
|
||
|
||
// 发给前端的列车状态
|
||
message TrainMapState{
|
||
//列车索引
|
||
string id = 1;
|
||
//列车初始link运行方向
|
||
bool up = 2;
|
||
// 列车初始速度
|
||
float initialSpeed = 3;
|
||
//列车长度,1=1mm
|
||
int64 trainLength = 4;
|
||
//列车是否显示
|
||
bool show = 5;
|
||
// 列车车头所在设备ID
|
||
uint32 headDeviceId = 6;
|
||
// 列车车头所在设备偏移量
|
||
int64 headOffset = 7;
|
||
// 设备端口
|
||
string devicePort = 8;
|
||
// 运行方向指向(区段:A-B,道岔:-> 岔心)
|
||
// bool pointTo = 9;
|
||
bool driftTo = 9;
|
||
// 运行上下行(公里标 上行:小 -> 大,下行:大 -> 小)
|
||
// bool runDirection = 10;
|
||
bool trainRunUp = 10;
|
||
// 列车车头方向
|
||
// bool headDirection = 11;
|
||
// 列车车头方向 0= 均为激活;1=向小,2=向大
|
||
uint32 trainActiveDirection = 11;
|
||
// 所在公里标
|
||
int64 trainKilometer = 12;
|
||
// 控制响应延时
|
||
int64 controlDelayTime = 13;
|
||
// 列车轮径
|
||
int32 wheelDiameter = 14;
|
||
// 动力学信息
|
||
// 生命信号 每个周期+1
|
||
int32 dynamicHeartbeat = 15;
|
||
//车头所在link的索引
|
||
string headLinkId = 16;
|
||
//车头所在link内的偏移量,单位为mm
|
||
int64 headLinkOffset = 17;
|
||
//车尾所在link的索引
|
||
string tailLinkId = 18;
|
||
//车尾所在link内的偏移量,单位为mm
|
||
int64 tailLinkOffset = 19;
|
||
//列车所占用的link的索引的列表
|
||
//顺序为从车头到车尾
|
||
repeated string occupiedLinkIndex = 20;
|
||
//列车所在位置坡度值,1=1‰
|
||
int32 slope = 21;
|
||
//列车所在位置坡度走势,1=上坡true,0=下坡false
|
||
bool upslope = 22;
|
||
//列车当前运行方向,1 =上行true 0 =下行false
|
||
bool runningUp = 23;
|
||
//实际运行阻力(总)(N)totalResistance,1=1KN
|
||
float runningResistanceSum = 24;
|
||
//阻力1(空气阻力)(N)airResistance,1=1KN
|
||
float airResistance = 25;
|
||
//阻力2(坡道阻力)(N)slopeResistance,1=1KN
|
||
float rampResistance = 26;
|
||
//阻力3(曲线阻力)(N)curveResistance,1=1KN
|
||
float curveResistance = 27;
|
||
//列车运行速度(m/s)speed,1=1km/h
|
||
int32 speed = 28;
|
||
//头车速传1速度值(m/s)headSpeed1,1=1km/h
|
||
int32 headSensorSpeed1 = 29;
|
||
//头车速度2速度值(m/s)headSpeed2,1=1km/h
|
||
int32 headSensorSpeed2 = 30;
|
||
//尾车速传1速度值(m/s)tailSpeed1,1=1km/h
|
||
int32 tailSensorSpeed1 = 31;
|
||
//尾车速度2速度值(m/s)tailSpeed2,1=1km/h
|
||
int32 tailSensorSpeed2 = 32;
|
||
//头车雷达速度值(m/s)headRadarSpeed,1=1km/h
|
||
int32 headRadarSpeed = 33;
|
||
//尾车雷达速度值(m/s)tailRadarSpeed,1=1km/h
|
||
int32 tailRadarSpeed = 34;
|
||
// 通讯中断
|
||
bool dynamicInterruption = 35;
|
||
// 加速
|
||
float acceleration = 36;
|
||
// 半实物信息
|
||
// 生命信号 每个周期+1
|
||
int32 vobcLifeSignal = 37;
|
||
// TC1激活状态 1=激活
|
||
bool tc1Active = 38;
|
||
// TC2激活状态 1=激活
|
||
bool tc2Active = 39;
|
||
// 列车方向向前 1=方向向前
|
||
bool directionForward = 40;
|
||
// 列车方向向后 1=方向向后
|
||
bool directionBackward = 41;
|
||
// 列车牵引状态 1=牵引
|
||
bool tractionStatus = 42;
|
||
// 列车制动状态 1=制动
|
||
bool brakingStatus = 43;
|
||
// 列车紧急制动状态 1=紧急制动
|
||
bool emergencyBrakingStatus = 44;
|
||
// 列车折返状态(AR) 1=折返
|
||
bool turnbackStatus = 45;
|
||
// 跳跃状态 1=跳跃
|
||
bool jumpStatus = 46;
|
||
// ATO模式 1=ATO模式
|
||
bool ato = 47;
|
||
// FAM模式 1=FAM模式
|
||
bool fam = 48;
|
||
// CAM模式 1=CAM模式
|
||
bool cam = 49;
|
||
// 牵引安全回路 1=牵引安全切除
|
||
bool tractionSafetyCircuit = 50;
|
||
// 停放制动状态 1=停放施加
|
||
bool parkingBrakeStatus = 51;
|
||
// 保持制动状态 1=保持制动施加
|
||
bool maintainBrakeStatus = 52;
|
||
// 列车牵引力 100=1KN
|
||
int64 tractionForce = 53;
|
||
// 列车制动力 100=1KN
|
||
int64 brakeForce = 54;
|
||
//【列车载荷 100=1ton
|
||
int64 trainLoad = 55;
|
||
// 列车开左门指令 1=开门
|
||
bool leftDoorOpenCommand = 56;
|
||
// 列车开右门指令 1=开门
|
||
bool rightDoorOpenCommand = 57;
|
||
// 列车关左门指令 1=关门
|
||
bool leftDoorCloseCommand = 58;
|
||
// 列车关右门指令 1=关门
|
||
bool rightDoorCloseCommand = 59;
|
||
// 整列车门关好 1=门关好
|
||
bool allDoorClose = 60;
|
||
// 通讯中断
|
||
bool vobcInterruption = 61;
|
||
//列车动力学配置
|
||
TrainDynamicConfigMqtt trainDynamicConfig = 62;
|
||
//列车A端
|
||
TrainEndsStateMqtt trainEndsA = 63;
|
||
//列车B端
|
||
TrainEndsStateMqtt trainEndsB = 64;
|
||
//列车位移
|
||
// int32 Displacement = 65;
|
||
float Displacement = 65;
|
||
// 列车车尾所在设备ID
|
||
uint32 tailDeviceId = 66;
|
||
// 列车车尾所在设备偏移量
|
||
int64 tailOffset = 67;
|
||
// 列车车尾所在设备端口
|
||
string tailDevicePort = 68;
|
||
// BTM状态
|
||
// BTMState btmState = 69;
|
||
TrainConnState connState = 69; //列车连接第三方状态
|
||
}
|
||
|
||
message BTMState {
|
||
string telegram = 1;//应答器用户报文(16进制字符串)
|
||
bool aboveBalise = 2; //BTM天线即将经过应答器
|
||
string baliseTelegramForPcSimResend = 3; //列车pc仿真暂存应答器回复数据
|
||
string telegram128 = 4 ;//应答器报文128(16进制字符串)
|
||
string baliseId = 5;
|
||
bool isSend = 6;//记录是否发送过
|
||
bool unpack =7; //解包是否成功
|
||
int32 baliseType = 8; //应答器类型 与model的类型一致
|
||
bool hasData =9; //是否有应答器报文
|
||
uint32 resendCount = 10;//重发次数
|
||
uint32 packageDataSN = 11;//11号线需要验证报文序列号
|
||
}
|
||
|
||
//动力学相关参数返回数据,因golang float类型数据序列化后丢失精度故使用string
|
||
//此类型需要与 common_data 中的 TrainDynamicConfig类型属性保持一致
|
||
message TrainDynamicConfigMqtt{
|
||
|
||
//基本阻力参数A 原本数据:float
|
||
string davisParamA = 1;
|
||
// 基本阻力参数B 原本数据:float
|
||
string davisParamB = 2;
|
||
// 基本阻力参数C 原本数据:float
|
||
string davisParamC = 3;
|
||
//曲线阻力参数R1 原本数据:float
|
||
string curveResistanceParamR1 = 4;
|
||
// 曲线阻力参数R2 原本数据:float
|
||
string curveResistanceParamR2 = 5;
|
||
// 曲线阻力参数R3 原本数据:float
|
||
string curveResistanceParamR3 = 6;
|
||
// 曲线阻力参数R4 原本数据:float
|
||
string curveResistanceParamR4 = 7;
|
||
//旋转质量参数 原本数据:float
|
||
string revolvingMassParam = 8;
|
||
//是否跳跃
|
||
bool jump = 9;
|
||
//打滑加速度(m/s) 默认0 原本属性 float
|
||
string slipA = 10;
|
||
// 打滑冲击率(m/s) 默认0
|
||
string slipR = 11;
|
||
// 打滑持续时间ms 默认0
|
||
int32 slipD = 12;
|
||
// 空转加速度(m/s2),默认值:0 原本属性 float
|
||
string idlingA = 14;
|
||
// 空转冲击率(m/s3),默认值:0
|
||
string idlingR = 15;
|
||
// 空转持续时间(ms),默认值:0
|
||
int32 idlingD = 16;
|
||
//过标/欠标(mm)(正数过标,负数欠标)
|
||
int32 stopSign = 17;
|
||
// 前溜/后溜(m/s)(正数前溜,负数后溜),默认值:0 原本属性 float
|
||
string slide = 18 ;
|
||
//列车载荷
|
||
// int32 trainLoad = 19;
|
||
}
|
||
//列车一端的状态
|
||
message TrainEndsStateMqtt{
|
||
//速度传感器
|
||
bool speedSensorEnableA = 1;
|
||
bool speedSensorEnableB = 2;
|
||
//雷达是否有效
|
||
bool radarEnable = 3;
|
||
//雷达测速差值(千米/小时) 原本数据:float
|
||
string radarCheckSpeedDiff = 4;
|
||
//雷达检测时间(秒)
|
||
int32 radarCheckTime = 5;
|
||
bool accEnable = 6;
|
||
//加速度测速差值(米/秒)
|
||
string accCheckSpeedDiff = 7;
|
||
//加速度持续时间
|
||
int32 accCheckTime = 8;
|
||
// 速传速度输出(千米/小时)
|
||
int32 accOutSpeed = 9;
|
||
// 雷达速度输出(千米/小时)
|
||
int32 radarOutSpeed = 10;
|
||
|
||
}
|
||
// 继电器状态
|
||
message ReplyState {
|
||
// 继电器索引
|
||
uint32 id = 1;
|
||
// 继电器吸合状态
|
||
bool xh = 2;
|
||
// 继电器编号
|
||
string code = 3;
|
||
// 是否强制
|
||
bool force = 4;
|
||
}
|
||
|
||
// 按钮状态
|
||
message ButtonState {
|
||
uint32 id = 1;
|
||
bool down = 2;
|
||
bool active = 3; // 带灯的按钮
|
||
// bool bypass = 4; //摁钮,钥匙 是否旁路
|
||
}
|
||
|
||
// 警铃状态
|
||
message AlarmState {
|
||
uint32 id = 1;
|
||
bool active = 2;
|
||
}
|
||
|
||
// 灯状态
|
||
message LightState {
|
||
uint32 id = 1;
|
||
bool active = 2;
|
||
}
|
||
|
||
// 屏蔽门状态
|
||
message PsdState {
|
||
uint32 id = 1; //屏蔽门的id
|
||
repeated AsdState asdStates = 2; //滑动门状态
|
||
bool mgj = 3; //屏蔽门整体的关闭(继电器)状态
|
||
request.PsdParam param = 4; //屏蔽门设置的参数
|
||
bool zaw = 5; //有障碍物
|
||
}
|
||
|
||
//滑动门状态
|
||
message AsdState {
|
||
int32 code = 1; //滑动门的编号
|
||
bool kmdw = 2; //开门到位(实际位置)
|
||
bool gmdw = 3; //关门到位(实际位置)
|
||
bool mgj = 4; //门关继电器
|
||
bool zaw = 5; //有障碍物
|
||
bool force = 6; //强制开/关门
|
||
}
|
||
|
||
|
||
// 钥匙状态
|
||
message KeyState {
|
||
uint32 id = 1;
|
||
int32 gear = 2;
|
||
// bool bypass = 3; //摁钮,钥匙 是否旁路
|
||
}
|
||
|
||
// 战场图门控箱继电器状态
|
||
message MkxJState {
|
||
string code = 1;
|
||
repeated ReplyState replyState = 2;
|
||
}
|
||
|
||
// 应答器状态
|
||
message BaliseState {
|
||
uint32 id = 1;
|
||
graphicData.KilometerSystem km = 2; //当前公里标
|
||
string fixedTelegram = 3; //固定报文
|
||
string fixedUserTelegram = 4; //固定用户报文
|
||
string variableTelegram = 5; //可变报文
|
||
string variableUserTelegram = 6; //可变用户报文
|
||
bool work = 7; //是否正常工作
|
||
}
|
||
|
||
// 车站联锁驱采状态
|
||
message StationQc {
|
||
repeated State qdStates = 1; //驱动状态
|
||
repeated State cjStates = 2; //采集状态
|
||
|
||
message State {
|
||
int32 row = 1; //行
|
||
int32 col = 2; //列
|
||
bool on = 3; //接通
|
||
}
|
||
}
|
||
|
||
// 车库门
|
||
message CkmState {
|
||
uint32 id = 1; //车库门的id
|
||
bool mgj = 2; //车库门关闭继电器
|
||
request.CkmParam param = 3; //车库门设置的参数
|
||
bool local = 4; //本地/远程(门模式继电器)
|
||
bool mplj = 5; //门旁路继电器
|
||
}
|
||
|
||
// 洗车机
|
||
message XcjState {
|
||
uint32 id = 1; //车库门的id
|
||
request.XcjParam param = 2; //洗车机设置的参数
|
||
bool xqj = 3; //洗车请求
|
||
repeated bool twjList = 4; //停稳
|
||
bool tgqj = 5; //通过请求
|
||
bool xcjxj = 6; //洗车就绪
|
||
bool xcyxj = 7; //洗车允许
|
||
repeated bool cfjList = 8; //移动允许
|
||
bool jtj = 9; //紧急停车
|
||
bool tgyxj = 10; //通过允许
|
||
}
|
||
|
||
////////////////////////////////////////////////////////////////////////////
|
||
|
||
//仿真运行时状态变化量,当前时刻与上一时刻比较得到
|
||
message VariationStatus{
|
||
//新增或变化的列车的状态
|
||
repeated TrainMapState updatedTrain = 1;
|
||
//移除的列车的索引
|
||
repeated string removedTrainId = 2;
|
||
//状态发生变化的道岔
|
||
repeated SwitchState updatedSwitch = 3;
|
||
//状态发生变化的区段
|
||
repeated SectionState updatedSection = 4;
|
||
//状态发送变化的继电器
|
||
repeated ReplyState updatedReply = 5;
|
||
}
|
||
|
||
//仿真运行时的所有设备的状态
|
||
message AllDevicesStatus{
|
||
// 所有列车状态
|
||
repeated TrainMapState trainState = 1;
|
||
// 所有道岔状态
|
||
repeated SwitchState switchState = 2;
|
||
// 物理区段状态
|
||
repeated SectionState sectionState = 3;
|
||
// 所有继电器状态
|
||
repeated ReplyState replyState = 4;
|
||
// 所有信号机状态
|
||
repeated SignalState signalState = 5;
|
||
// 按钮状态
|
||
repeated ButtonState buttonState = 6;
|
||
// 警铃状态
|
||
repeated AlarmState AlarmState = 7;
|
||
// 灯状态
|
||
repeated LightState LightState = 8;
|
||
// 屏蔽门状态
|
||
repeated PsdState psdState = 9;
|
||
// 钥匙状态
|
||
repeated KeyState KeyState = 10;
|
||
// 站场图站台状态
|
||
repeated PlatformState platformState = 11;
|
||
// 应答器状态
|
||
repeated BaliseState baliseState = 12;
|
||
// 车站联锁驱采状态
|
||
StationQc stationQc = 13;
|
||
// 车库门状态
|
||
repeated CkmState ckmStates = 14;
|
||
// 防淹门状态
|
||
repeated CkmState fymStates = 15;
|
||
// 洗车机状态
|
||
repeated XcjState xcjStates = 16;
|
||
// 计轴区段状态
|
||
repeated AxleCountingSectionState axleCountingSection = 17;
|
||
}
|
||
|
||
//服务器端向前端推送的设备状态信息
|
||
message PushedDevicesStatus{
|
||
//true-全量设备状态信息,此时allStatus有效;
|
||
//false - 增量设备状态消息,此时varStatus有效
|
||
bool all = 1;
|
||
//增量设备状态消息
|
||
VariationStatus varStatus = 2;
|
||
//全量设备状态信息
|
||
AllDevicesStatus allStatus = 3;
|
||
}
|
||
|
||
// 仿真信息状态
|
||
message SimulationStatus {
|
||
|
||
enum SimulationState {
|
||
Init = 0;
|
||
Running = 1;
|
||
Pause = 2;
|
||
Error = 3;
|
||
Destroy = 4;
|
||
}
|
||
|
||
string simulationId = 1;
|
||
SimulationState state = 2;
|
||
// string description = 3;
|
||
}
|
||
|
||
// 仿真在用的第三方接口状态列表
|
||
message SimulationThirdPartyApiService {
|
||
enum Type {
|
||
// 未定义
|
||
Undefined = 0;
|
||
// 与动力学接口服务
|
||
Dynamics = 1;
|
||
// 与半实物列车接口服务
|
||
SemiPhysicalTrain = 2;
|
||
//列车pc仿真
|
||
Train_pc_sim = 3;
|
||
}
|
||
// 服务状态
|
||
enum State {
|
||
// 服务正常
|
||
Normal = 0;
|
||
// 服务异常
|
||
Error = 1;
|
||
}
|
||
|
||
// 服务列表
|
||
repeated SimulationThirdPartyApiServiceState states = 1;
|
||
}
|
||
|
||
// 仿真第三方接口状态
|
||
message SimulationThirdPartyApiServiceState {
|
||
// 接口服务类型
|
||
SimulationThirdPartyApiService.Type type = 1;
|
||
// 服务状态
|
||
SimulationThirdPartyApiService.State state = 2;
|
||
// 服务描述
|
||
string serviceName = 3;
|
||
}
|
||
|
||
//列车控制状态
|
||
message TrainControlState{
|
||
|
||
map<string,ControlButton> buttons = 1;
|
||
repeated DriverKeySwitch driverKey = 2; //驾驶端激活
|
||
map<string,SwitchKeyChange> switchKeyMap = 3;
|
||
|
||
// DirectionKeySwitch dirKey = 3; //接车运行方向
|
||
PushHandler pushHandler = 4; //牵引制动手柄
|
||
map<string, ControlLight> lightMaps = 5;
|
||
int64 lineInitTimeStamp12PortA = 6; //12号线列出初始化时间戳
|
||
int64 lineInitTimeStamp12PortB = 7; //12号线列出初始化时间戳
|
||
bool line12ConnErrPortA = 8;//12号线连接错误,因为12号线atp故障(此时atp需要重启)时,还是会发送数据通过此次属性标记atp状态情况(多次观察atp故障时,atp输出数字量返回的数据最后一个直接是0)
|
||
bool line12ConnErrPortB = 9;//12号线连接错误,因为12号线atp故障(此时atp需要重启)时,还是会发送数据通过此次属性标记atp状态情况(多次观察atp故障时,atp输出数字量返回的数据最后一个直接是0)
|
||
bool TrainConnInitComplatePortA = 10;
|
||
bool TrainConnInitComplatePortB = 11;
|
||
bool activeTrainA = 12;
|
||
bool activeTrainB = 13;
|
||
|
||
message ControlButton{
|
||
uint32 id = 1;
|
||
bool passed = 3;
|
||
}
|
||
|
||
message DriverKeySwitch{
|
||
uint32 id = 1;
|
||
bool val = 2; //0=关,1=开
|
||
// request.DriverType dt = 3;
|
||
|
||
}
|
||
message SwitchKeyChange{
|
||
uint32 id = 1;
|
||
uint32 val = 2; //0=后(mm),1=前(AA),2=中位(AM)
|
||
}
|
||
//牵引制动手柄
|
||
message PushHandler{
|
||
uint32 id = 1;
|
||
int32 val = 2; // 牵引或制动 大于0是牵引,小于0是制动 整体按照整型传输(*100),使用时除以100
|
||
}
|
||
message ControlLight{
|
||
uint32 id = 1;
|
||
bool val = 2;
|
||
}
|
||
}
|
||
//返回前端列车控制状态
|
||
message TrainControlStateMsg{
|
||
repeated TrainControlState.ControlButton buttons = 1;
|
||
repeated TrainControlState.DriverKeySwitch driverKey = 2; //驾驶端激活
|
||
repeated TrainControlState.SwitchKeyChange switchKeys = 3; //接车运行方向
|
||
TrainControlState.PushHandler pushHandler = 4; //牵引制动手柄
|
||
repeated TrainControlState.ControlLight lights = 5;
|
||
}
|
||
|
||
|