rts-sim-testing-service/dto/simulation.go

292 lines
13 KiB
Go
Raw Permalink Normal View History

2023-07-28 14:36:16 +08:00
package dto
2023-10-19 15:08:43 +08:00
import (
"joylink.club/bj-rtsts-server/dto/data_proto"
2023-10-19 15:08:43 +08:00
"joylink.club/bj-rtsts-server/dto/request_proto"
"joylink.club/bj-rtsts-server/dto/state_proto"
2023-10-19 15:08:43 +08:00
)
2023-10-13 14:41:55 +08:00
// 创建仿真请求
2023-07-28 14:36:16 +08:00
type SimulationCreateReqDto struct {
//地图id
MapId int32 `json:"mapId" form:"mapId"`
// 项目id
ProjectId int32 `json:"projectId" form:"projectId"`
// 运行环境ID
ProjectRunConfigId int32 `json:"runConfigId" form:"runConfigId"`
2023-07-28 14:36:16 +08:00
}
// 创建仿真响应
2023-07-28 14:36:16 +08:00
type SimulationCreateRspDto struct {
//地图id
MapId int32 `json:"mapId" form:"mapId"`
// 项目ID
ProjectId int32 `json:"projectId" form:"projectId"`
2023-07-28 14:36:16 +08:00
//仿真id
SimulationId string `json:"simulationId" form:"simulationId"`
2023-09-19 11:02:50 +08:00
// 地图列表
MapIds []int32 `json:"mapIds" form:"mapIds"`
2023-10-26 18:09:09 +08:00
// 运行环境ID
ProjectRunConfigId int32 `json:"runConfigId" form:"runConfigId"`
2023-07-28 14:36:16 +08:00
}
//////////////////////////////////////////////////////////////////////////////
// 为仿真添加测试车请求
type AddTrainReqDto struct {
//仿真id
SimulationId string `json:"simulationId" form:"simulationId"`
//列车方向,true-上行false-下行
2023-08-14 16:27:03 +08:00
RunDirection bool `json:"up" form:"up"`
2023-07-28 14:36:16 +08:00
//车头所在link的索引
HeadLinkId string `json:"headLinkId" form:"headLinkId"`
//车头所在link内的偏移量单位为mm
HeadLinkOffset int64 `json:"headLinkOffset" form:"headLinkOffset"`
2023-08-10 14:18:55 +08:00
//物理区段、道岔ID
2023-12-14 13:04:48 +08:00
Id uint32 `json:"id" form:"id"`
2023-08-10 14:18:55 +08:00
//道岔端口
DevicePort string `json:"devicePort" form:"devicePort"`
//车头所在link内的偏移量单位为mm
HeadOffset int64 `json:"headOffset" form:"headOffset"`
//列车长度
TrainLength int64 `json:"trainLength" from:"trainLength"`
// 场景ID
MapId int32 `json:"mapId" from:"mapId"`
// 列车轮径
WheelDiameter int32 `json:"wheelDiameter" from:"wheelDiameter"`
2023-07-28 14:36:16 +08:00
}
2024-01-17 15:53:14 +08:00
type AddTrainReqDtoNew struct {
//仿真id
SimulationId string `json:"simulationId" form:"simulationId"`
//列车方向,true-上行false-下行
RunDirection bool `json:"up" form:"up"`
//车头所在link的索引
HeadLinkId string `json:"headLinkId" form:"headLinkId"`
//车头所在link内的偏移量单位为mm
HeadLinkOffset int64 `json:"headLinkOffset" form:"headLinkOffset"`
//物理区段、道岔ID
Id uint32 `json:"id" form:"id"`
//道岔端口
DevicePort string `json:"devicePort" form:"devicePort"`
//车头所在link内的偏移量单位为mm
HeadOffset int64 `json:"headOffset" form:"headOffset"`
//列车长度
TrainLength int64 `json:"trainLength" from:"trainLength"`
TrainLoad int32 `json:"trainLoad" from:"trainLoad"`
TrainMaxSpeed float32 `json:"trainMaxSpeed" from:"trainMaxSpeed"`
TrainMaxAcc float32 `json:"trainMaxAcc" from:"trainMaxAcc"`
TrainMaxBrake float32 `json:"trainMaxBrake" from:"trainMaxBrake"`
TrainEmergencyBrake float32 `json:"trainEmergencyBrake" from:"trainEmergencyBrake"`
TrainCoachNum uint32 `json:"trainCoachNum" from:"trainCoachNum"`
2024-01-17 15:53:14 +08:00
// 场景ID
MapId int32 `json:"mapId" from:"mapId"`
WheelDiameter int32 `json:"wheelDiameter" from:"wheelDiameter"`
// 列车数据配置
ConfigTrain ConfigTrainData `json:"configTrain" from:"mapId"`
TrainEndsA ConfigTrainEnds `json:"trainEndsA"` // 车辆A端
TrainEndsB ConfigTrainEnds `json:"trainEndsB"` // 车辆B端
TrainId int `json:"trainId" from:"trainId"` // 列车id
TrainSpeed float32 `json:"trainSpeed" from:"trainSpeed"` // 列车时速
TrainControlMapId uint32 `json:"trainControlMapId" from:"trainControlMapId"` // 列车mapId
2024-01-17 15:53:14 +08:00
}
2023-07-28 14:36:16 +08:00
2024-01-16 17:53:54 +08:00
// 为反正列车修改对应的测试配置
type ConfigTrainReqDto struct {
SimulationId string `json:"simulationId" form:"simulationId"`
// 列车Id
2024-01-18 10:48:04 +08:00
TrainId int `json:"trainId" form:"trainId"`
2024-01-17 15:53:14 +08:00
Length int64 `json:"length"` // 列车的长度cm
ConfigData ConfigTrainData
2024-01-18 10:48:04 +08:00
TrainEndsA ConfigTrainEnds `json:"trainEndsA"` // 车辆A端
TrainEndsB ConfigTrainEnds `json:"trainEndsB"` // 车辆B端
2024-01-17 17:02:17 +08:00
WheelDiameter int32 `json:"wheelDiameter"` // 轮径mm
2024-01-16 17:53:54 +08:00
}
2024-01-17 13:09:45 +08:00
type ConfigTrainEnds struct {
2024-01-18 17:33:51 +08:00
SpeedSensorEnableA bool `json:"speedSensorEnableA"` // 2端速度传感器是否有效
SpeedSensorEnableB bool `json:"speedSensorEnableB"` // 2端速度传感器是否有效
RadarEnable bool `json:"radarEnable"` // 雷达是否有效
2024-04-28 11:01:12 +08:00
RadarCheckSpeedDiff float32 `json:"radarCheckSpeedDiff"` // 雷达测速数值(千米/小时)
2024-01-18 17:33:51 +08:00
RadarCheckTime int32 `json:"radarCheckTime"` // 雷达检测时间(秒)
2024-01-26 17:57:35 +08:00
AccEnable bool `json:"accEnable"` // 加速计是否有效
AccCheckSpeedDiff float32 `json:"accCheckSpeedDiff"` // 加速计速度差
AccCheckTime int32 `json:"accCheckTime"` // 加速计储蓄时间
2024-04-28 11:01:12 +08:00
AccOutSpeed int32 `json:"accOutSpeed"` // 速传速度输出(千米/小时)
RadarOutSpeed int32 `json:"radarOutSpeed"` // 雷达速度输出(千米/小时)
2024-04-19 16:55:51 +08:00
2024-01-16 17:53:54 +08:00
}
type ConfigTrainData struct {
2024-01-17 15:53:14 +08:00
//Mass int32 `json:"mass" form:"mass"` // 列车的质量100=1ton
2024-01-18 17:17:48 +08:00
DavisParamA float32 `json:"davisParamA"` // 基本阻力参数A
DavisParamB float32 `json:"davisParamB"` // 基本阻力参数B
DavisParamC float32 `json:"davisParamC"` // 基本阻力参数C
2024-01-16 17:53:54 +08:00
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"` // 是否跳跃
2024-01-29 14:22:12 +08:00
SlipA float32 `json:"slipA"` // 打滑加速度(m/s) 默认0
SlipR float32 `json:"slipR"` // 打滑冲击率(m/s) 默认0
SlipD int32 `json:"slipD"` // 打滑持续时间ms 默认0
2024-08-29 17:18:13 +08:00
Slide float32 `json:"slide"` // 前溜/后溜m/s正数前溜负数后溜默认值0
StopSign int32 `json:"stopSign"` // 过标/欠标mm正数过标负数欠标
IdlingA float32 `json:"idlingA"` // 空转加速度(m/s) 默认0
IdlingR float32 `json:"idlingR"` // 空转冲击率(m/s) 默认0
IdlingD int32 `json:"idlingD"` // 空转持续时间s 默认0
2024-01-17 17:02:17 +08:00
//TrainEndsA ConfigTrainEnds `json:"TrainEndsA"` // 车辆A端
//TrainEndsB ConfigTrainEnds `json:"TrainEndsB"` // 车辆B端
2024-01-16 17:53:54 +08:00
}
2023-11-13 15:57:32 +08:00
// 为仿真添加测试车请求
type UpdateTrainReqDto struct {
// 仿真id
SimulationId string `json:"simulationId" form:"simulationId"`
// 列车Id
Id string `json:"id" form:"id"`
//列车长度
TrainLength int64 `json:"trainLength" from:"trainLength"`
// 列车轮径
WheelDiameter int32 `json:"wheelDiameter" from:"wheelDiameter"`
}
// 列车连接三方类型
type TrainConnThirdDto struct {
// 仿真id
SimulationId string `json:"simulationId" form:"simulationId"`
Id string `json:"id" form:"id"` // 列车Id
ConnType state_proto.TrainConnState_TrainConnType `json:"connType" form:"connType"` //连接类型 0=未连接;1=半实物;2= 车载仿真
TypeName string `json:"typeName" form:"typeName"` //连接名称
}
// 为仿真添加测试车请求
2023-07-28 14:36:16 +08:00
type AddTrainRspDto struct {
//仿真id
SimulationId string `json:"simulationId" form:"simulationId"`
//新添加的列车的索引
TrainId string `json:"trainId" form:"trainId"`
// 场景ID
MapId int32 `json:"mapId" from:"mapId"`
2023-07-28 14:36:16 +08:00
}
// 为仿真添加测试车请求
type RemoveAllTrainRspDto struct {
//仿真id
SimulationId string `json:"simulationId" form:"simulationId"`
// 场景ID
MapId int32 `json:"mapId" from:"mapId"`
}
2023-07-28 14:36:16 +08:00
/////////////////////////////////////////////////////////////////////////////////
// 仿真移除列车请求
2023-07-28 16:14:31 +08:00
type RemoveTrainDto AddTrainRspDto
/////////////////////////////////////////////////////////////////////////////////
type SwitchOperationReqDto struct {
SimulationId string `form:"simulationId" json:"simulationId" binding:"required"`
MapId int32 `json:"mapId" from:"mapId" binding:"required"`
2023-09-27 18:11:16 +08:00
DeviceId string `form:"id" json:"id" binding:"required"`
2023-07-31 17:27:05 +08:00
TurnNormal bool `form:"turnNormal" json:"turnNormal"`
TurnReverse bool `form:"turnReverse" json:"turnReverse"`
}
2023-10-31 15:55:17 +08:00
// AxleSectionOperationReqDto 计轴区段操作
type AxleSectionOperationReqDto struct {
2023-10-31 16:28:07 +08:00
SimulationId string `form:"simulationId" json:"simulationId" binding:"required"`
MapId int32 `json:"mapId" from:"mapId" binding:"required"`
2023-12-14 13:04:48 +08:00
DeviceId uint32 `form:"id" json:"id" binding:"required"`
2023-10-31 16:28:07 +08:00
Operation request_proto.Section_Operation `form:"operation" json:"operation"`
2023-11-01 11:08:26 +08:00
TrainIn bool `form:"trainIn" json:"trainIn"`
TrainOut bool `form:"trainOut" json:"trainOut"`
2023-10-31 15:55:17 +08:00
}
2023-10-20 13:50:22 +08:00
type EsbButtonOperationReqDto struct {
2023-10-18 13:53:17 +08:00
SimulationId string `form:"simulationId" json:"simulationId" binding:"required"`
MapId int32 `json:"mapId" from:"mapId" binding:"required"`
2023-12-14 13:04:48 +08:00
Id uint32 `form:"id" json:"id" binding:"required"`
2023-10-20 13:50:22 +08:00
Down bool `form:"down" json:"down"`
}
type IBPButtonOperationReqDto struct {
SimulationId string `form:"simulationId" json:"simulationId" binding:"required"`
MapId int32 `json:"mapId" from:"mapId" binding:"required"`
IbpId uint32 `form:"ibpId" json:"ibpId" binding:"required"`
2023-12-14 13:04:48 +08:00
ButtonId uint32 `form:"buttonId" json:"buttonId" binding:"required"`
Down bool `form:"down" json:"down"`
2023-10-13 14:41:55 +08:00
}
type PslOperationReqDto struct {
SimulationId string `form:"simulationId" json:"simulationId" binding:"required"`
MapId int32 `json:"mapId" from:"mapId" binding:"required"`
PslId uint32 `form:"pslId" json:"pslId"`
ButtonCode string `form:"buttonCode" json:"buttonCode" binding:"required"`
Down bool `form:"down" json:"down"`
2023-10-13 14:41:55 +08:00
}
2023-10-20 13:50:22 +08:00
type KeyOperationReqDto struct {
SimulationId string `form:"simulationId" json:"simulationId" binding:"required"`
MapId int32 `json:"mapId" from:"mapId" binding:"required"`
IbpId uint32 `form:"ibpId" json:"ibpId" binding:"required"`
2023-12-14 13:04:48 +08:00
KeyId uint32 `form:"keyId" json:"keyId"`
2023-10-20 13:50:22 +08:00
Gear int32 `form:"gear" json:"gear"`
}
/////////////////////////////////////////////////////////////////////////////////
// 地铁数据检测请求
type CheckMapDataReqDto struct {
Data []byte `form:"data" json:"data" binding:"required"`
}
// 地图检验数据响应
type CheckMapDataRspDto struct {
Success bool `form:"success" json:"success"`
Errors []string `form:"errors" json:"errors"`
}
// 仿真实例的基本信息响应
type SimulationInfoRspDto struct {
2023-10-27 09:12:40 +08:00
SimulationId string `form:"simulationId" json:"simulationId"`
MapId int32 `json:"mapId" form:"mapId"`
MapIds []int32 `form:"mapIds" json:"mapIds"`
ProjectId int32 `form:"projectId" json:"projectId"`
ProjectRunConfigId int32 `form:"runConfigId" json:"runConfigId" ` // 运行环境ID
}
type SimulationInfoRspDtoArr []SimulationInfoRspDto
2023-10-07 17:48:39 +08:00
type RelayOperationReqDto struct {
SimulationId string `form:"simulationId" json:"simulationId" binding:"required"`
MapId int32 `json:"mapId" from:"mapId" binding:"required"`
2023-12-14 13:04:48 +08:00
Id uint32 `form:"id" json:"id" binding:"required"`
2023-10-07 17:48:39 +08:00
Td bool `form:"td" json:"td"`
}
// BaliseMoveReqDto 应答器移位请求
type BaliseMoveReqDto struct {
SimulationId string `json:"simulationId" form:"simulationId"` //仿真ID
MapId int32 `json:"mapId" form:"mapId"` //地图ID
BaliseId uint32 `json:"baliseId" form:"baliseId"` //应答器ID
Km data_proto.KilometerSystem `json:"km" form:"km"` //公里标
}
// BaliseModifyTelegramReqDto 修改应答器报文
type BaliseModifyTelegramReqDto struct {
SimulationId string `json:"simulationId" form:"simulationId"` //仿真ID
MapId int32 `json:"mapId" form:"mapId"` //地图ID
BaliseId uint32 `json:"baliseId" form:"baliseId"` //应答器ID
FixedTelegram string `json:"fixedTelegram" from:"fixedTelegram"` //固定报文16进制字符串
FixedUserTelegram string `json:"fixedUserTelegram" from:"fixedUserTelegram"` //固定用户报文16进制字符串
VariableTelegram string `json:"variableTelegram" from:"variableTelegram"` //可变报文
VariableUserTelegram string `json:"variableUserTelegram" from:"variableUserTelegram"` //可变用户报文
}
// BaliseReqDto 应答器请求
type BaliseReqDto struct {
SimulationId string `json:"simulationId" form:"simulationId"` //仿真ID
MapId int32 `json:"mapId" form:"mapId"` //地图ID
BaliseId uint32 `json:"baliseId" form:"baliseId"` //应答器ID
}