package message type InitTrainInfo struct { TrainIndex uint16 `json:"trainIndex"` LinkIndex uint16 `json:"linkIndex"` LinkOffset uint32 `json:"linkOffset"` //单位m/s Speed float32 `json:"speed"` Up bool `json:"up"` //TrainLength uint32 `json:"trainLength"` TrainOperationConfig *TrainOperationConfig `json:"config"` } // 移除列车请求参数 type RemoveTrainReq struct { TrainIndex uint16 `json:"trainIndex"` } // LineBaseInfo 线路基础信息,提供给动力学作为计算依据 type LineBaseInfo struct { LinkList []*Link `json:"linkList"` SlopeList []*Slope `json:"slopeList"` CurveList []*Curve `json:"curveList"` } type Link struct { ID int32 `json:"id"` //长度 mm Len int32 `json:"len"` ARelTurnoutId int32 `json:"ARelTurnoutId"` ARelTurnoutPoint string `json:"ARelTurnoutPoint"` BRelTurnoutId int32 `json:"BRelTurnoutId"` BRelTurnoutPoint string `json:"BRelTurnoutPoint"` } type Slope struct { ID int32 `json:"id"` StartLinkId int32 `json:"startLinkId"` StartLinkOffset int32 `json:"startLinkOffset"` EndLinkId int32 `json:"endLinkId"` EndLinkOffset int32 `json:"endLinkOffset"` //坡度的三角函数(猜是sin)值的*1000 DegreeTrig int32 `json:"degreeTrig"` } type Curve struct { ID int32 `json:"id"` StartLinkId int32 `json:"startLinkId"` StartLinkOffset int32 `json:"startLinkOffset"` EndLinkId int32 `json:"endLinkId"` EndLinkOffset int32 `json:"endLinkOffset"` Curvature int32 `json:"curvature"` } type TrainOperationConfig struct { TrainIndex int `json:"trainIndex"` //Mass int `json:"mass" form:"mass"` //列车的质量(100=1ton) Length int `json:"length"` // 列车的长度(cm) DavisParamA float32 `json:"davisParamA"` // 基本阻力参数A DavisParamB float32 `json:"davisParamB"` // 基本阻力参数B DavisParamC float32 `json:"davisParamC"` // 基本阻力参数C CurveResistanceParamR1 float32 `json:"curveResistanceParamR1"` // 曲线阻力参数R1 CurveResistanceParamR2 float32 `json:"curveResistanceParamR2"` // 曲线阻力参数R2 CurveResistanceParamR3 float32 `json:"curveResistanceParamR3"` // 曲线阻力参数R3 CurveResistanceParamR4 float32 `json:"curveResistanceParamR4"` // 曲线阻力参数R4 RevolvingMassParam float32 `json:"revolvingMassParam"` // 旋转质量参数 Jump bool `json:"jump"` // 是否跳跃 SlipA float32 `json:"slipA"` // 打滑加速度(m/s) 默认0 SlipR float32 `json:"slipR"` // 打滑冲击率(m/s) 默认0 SlipD int `json:"slipD"` // 打滑持续时间ms 默认0 IdlingA float32 `json:"idlingA"` // 空转加速度(m/s) 默认0 IdlingR float32 `json:"idlingR"` // 空转冲击率(m/s) 默认0 IdlingD int `json:"idlingD"` // 空转持续时间ms 默认0 Slide float32 `json:"slide"` // FLOAT,前溜/后溜(m/s)(正数前溜,负数后溜),默认值:0 StopSign int `json:"stopSign"` // 过标/欠标(mm)(正数过标,负数欠标) //WheelDiameter int `json:"轮径(mm)"` //RadarSpeed float32 `json:"雷达速度差值(m/s)"` //RadarDuration int `json:"雷达速度差值持续时间(ms)"` //RadarIsValid bool `json:"雷达是否失效"` }