rts-sim-module/proto/src/cg_repo.proto
walker c4bc8c640f 重构singleton组件及相关方法接口
调整repo目录结构和命名
初步开始重构仿真实体加载
2023-12-28 16:49:28 +08:00

479 lines
10 KiB
Protocol Buffer

syntax = "proto3";
package message;
option go_package = "./repo/dto";
// 城轨数据
message modelrepo {
string id = 1;
// 线路数据
repeated Line lines = 2;
// 监控盘(IBP/PSL/MKX等)数据,线路相关数据会引用这里
repeated JKP jkps = 3;
}
// 列车运行方向(Train Running Direction)
enum TRD {
// 上行
Upward = 0;
// 下行
Downward = 1;
}
// 城轨线路数据
message Line {
// 所在城市
string city = 1;
// 线路编号
string lineId = 2;
// 信号布置
XHBZ xhbz = 3;
// 继电器柜布置
repeated CiJDQBZ jdqbz = 4;
}
// 信号布置数据
message XHBZ {
// 数据id
string id = 1;
// 车站
repeated Station stations = 2;
// 站台
repeated Platform platforms = 3;
// 屏蔽门
repeated Psd psds = 4;
// 区段
repeated Section sections = 5;
// 道岔
repeated Turnout turnouts = 6;
// 检测点
repeated DevidingPoint devidingPoints = 7;
// 信号机
repeated Signal signals = 8;
// 应答器(欧标)
repeated Balise balises = 9;
// 停车点
repeated ParkingSpot parkingSpots = 10;
// 坡度
repeated Pd pds = 11;
// 曲度
repeated Qd qds = 12;
// 紧急关闭(停车)按钮
repeated EMP emps = 13;
// 发车计时器(Train Depart Timer,TDT 或 Depart Time Indicator,DTI)
repeated TDT tdts = 14;
// 门控箱
repeated Mkx mkxs = 15;
// 就地控制盘
repeated PSL psls = 16;
// 人员防护开关
repeated SPKS spks = 17;
// 设备电子元件组合
repeated DeviceEcc deviceEccs = 18;
}
// 人员防护开关
message SPKS {
uint32 id = 1;
// 编号
string code = 2;
// 关联站台id
uint32 platformId = 3;
}
// 就地控制盘
message PSL {
uint32 id = 1;
// 编号
string code = 2;
// 关联屏蔽门id
uint32 psdId = 3;
}
// 门控箱
message Mkx {
uint32 id = 1;
// 编号
string code = 2;
// 关联屏蔽门id
uint32 psdId = 3;
}
// 发车计时器
message TDT {
uint32 id = 1;
// 编号
string code = 2;
// 关联站台id
uint32 platformId = 3;
}
// 紧急关闭/停车按钮
message EMP {
uint32 id = 1;
// 编号
string code = 2;
// 关联站台id
uint32 platformId = 3;
}
// 曲度
message Qd {
uint32 id = 1;
}
// 坡度
message Pd {
uint32 id = 1;
}
// 停车点
message ParkingSpot {
uint32 id = 1;
// 列车编组数量
uint32 tgn = 2;
// 公里标
GLB glb = 3;
}
// 应答器
message Balise {
// 应答器类型
enum Type {
// 无源应答器
FB = 0;
// 有源应答器
TB = 1;
}
uint32 id = 1;
// 应答器类型
Type type = 2;
// 应答器编号
string code = 3;
// 所属设备集中站id
uint32 ecsId = 4;
}
//区段分界点
message DevidingPoint {
// 区段分界点类型
enum Type {
//区段边界
Boundary = 0;
//计轴器
JZ = 1;
//绝缘节
JYJ = 2;
}
uint32 id = 1;
// 区段分界点类型
Type type = 2;
// 区段分界点编号
string code = 3;
// 公里标
GLB glb = 4;
// 关联的物理区段/道岔端点
repeated SectionPort sectionPorts = 5;
// 所属设备集中站id
repeated uint32 ecsIds = 6;
}
// 模型
message Model {
// 模型类型
enum Type {
// 未知无效
Unknown = 0;
// 区段
Section = 1;
// 道岔
Turnout = 2;
// 信号机
Signal = 3;
}
// 模型id
uint32 id = 1;
// 模型类型
Type type = 2;
}
// 区段端点
message SectionPort {
enum Type {
A = 0;
B = 1;
C = 2;
}
// 元素类型
// enum ElementType {
// // 区段
// Section = 0;
// // 道岔
// Turnout = 1;
// }
// 类型
Model.Type type = 1;
// 区段/道岔 id
uint32 id = 2;
// 端点
Type port = 3;
}
// 信号机
message Signal {
// 信号机模型型号
enum Model {
// 红绿黄三显示信号机
// 红绿黄三显示引导为红黄
// 红绿黄三显示,不封,有单黄,有引导
HLU_0_1_1 = 0;
// 红绿黄三显示,不封,无单黄,有引导
HLU_0_0_1 = 1;
// 红绿黄三显示,不封,有单黄,无引导
HLU_0_1_0 = 2;
// 红绿黄三显示,封黄,无单黄,有引导
HLU_U_0_0 = 3;
// 红绿黄三显示,封绿,有单黄,有引导
HLU_L_1_1 = 4;
// 红绿黄三显示,封绿,有单黄,无引导
HLU_L_1_0 = 5;
// 红绿黄三显示,全封
HLU_LU_0_0 = 6;
// 红绿二显示信号机
// 红绿二显示,不封
HL_0 = 7;
// 红绿二显示,封绿
HL_L = 8;
// 红黄二显示,不封
HU_0 = 9;
// 红黄二显示,封黄
HU_U = 10;
// 单红显示信号机
H = 11;
// 蓝白二显示信号机
AB = 12;
// 红白黄三显示信号机
// 红白黄三显示,不封,有单黄,无引导
HBU_0_1_0 = 13;
// 红白黄三显示,封黄,无单黄,无引导
HBU_U_0_0 = 14;
}
uint32 id = 1;
// 信号机编号
string code = 2;
// 信号机模型型号
Model model = 3;
// 所属设备集中站id
uint32 ecsId = 4;
// 列车运行方向(上下行)
TRD trd = 5;
}
// 道岔
message Turnout {
// 道岔模型型号
enum Model {
// ZDJ9单机牵引
ZDJ9_1 = 0;
// ZDJ9双机牵引
ZDJ9_2 = 1;
}
uint32 id = 1;
// 道岔编号
string code = 2;
// 道岔模型型号
Model model = 3;
// 道岔A端关联的区段/道岔端点
SectionPort asp = 4;
// 道岔B端关联的区段/道岔端点
SectionPort bsp = 5;
// 道岔C端关联的区段/道岔端点
SectionPort csp = 6;
// 所属设备集中站id
uint32 ecsId = 7;
}
// 物理区段
message Section {
// 物理区段类型
enum Type {
// 一般物理区段
Physical = 0;
// 道岔物理区段
TurnoutPhysical = 1;
// 逻辑区段
Logical = 2;
}
uint32 id = 1;
// 编号
string code = 2;
// 物理区段类型
Type type = 3;
// 物理区段A端关联的区段/道岔端点
SectionPort asp = 4;
// 物理区段B端关联的区段/道岔端点
SectionPort bsp = 5;
// 所属设备集中站id
uint32 ecsId = 6;
// 列车运行方向(上下行)
TRD trd = 7;
}
// 屏蔽门
message Psd {
uint32 id = 1;
// 编号
string code = 2;
// 关联的站台
uint32 platformId = 3;
}
//站台
message Platform {
uint32 id = 1;
// 编号
string code = 2;
// 所属车站
uint32 stationId = 3;
// 关联物理区段(站台轨)
uint32 physicalSectionId = 4;
}
// 车站
message Station {
uint32 id = 1;
// 车站名
string name = 2;
// 车站站名
string zname = 3;
// 车站公里标
GLB glb = 4;
// 是否设备集中站(Equipment centralized station)
bool isEcs = 5;
// 是否停车场/车辆段
bool isCd = 6;
// 集中站关联下属车站
repeated uint32 ecsStationIds = 7;
}
//公里标
message GLB {
//坐标系编号
string zbx = 1;
//左右行
bool right = 2;
//公里标值,单位mm
int64 value = 3;
}
// 联锁设备布置数据
message CiJDQBZ {
// 设备集中站uid
string ecsName = 1;
// 继电器
repeated Relay relays = 2;
// 断相保护器
repeated PFP pfps = 3;
// 设备电气组合组
repeated DeviceEcc deviceEcgDatas = 4;
// 联锁采集码表
repeated CiCjTable cjt = 5;
// 联锁驱动码表
repeated CiQdTable qdt = 6;
// 联锁区段码位表
repeated uint32 sectionIds = 7;
}
// 联锁区段码位表
message CiSectionTable {
// 区段id
repeated uint32 sectionIds = 1;
}
// 联锁驱动码表
message CiQdTable {
// 继电器id(按位顺序排列)
repeated string relayIds = 1;
}
// 联锁采集码表
message CiCjTable {
// 采集继电器接点(按位顺序排列)
repeated CiCjItem items = 1;
}
// 联锁采集项
message CiCjItem {
// 继电器id
string uint32 = 1;
// 采集继电器前后接点(前接点为吸起/定位),true-前接点,false-后接点
bool q = 2;
}
// 断相保护器(Phase failure protector)
message PFP {
uint32 id = 1;
// 编号
string code = 2;
}
// 继电器
message Relay {
// 继电器型号
enum Model {
JPXC_1000 = 0;
JPXC_1700 = 1;
JWJXC_480 = 2;
JWJXC_H125_80 = 3;
JWXC_1700 = 4;
JWXC_H340 = 5;
JYJXC_160_260 = 6;
JZXC_H18 = 7;
}
uint32 id = 1;
// 继电器型号
Model model = 2;
// 编号
string code = 3;
}
// 按钮、灯等监控盘(IBP/门控箱/PSL等)
message JKP {
// 监控盘类型
enum Type {
// IBP盘(综合后备盘)
IBP = 0;
// 屏蔽门就地控制盘
PSL = 1;
// 门控箱
MKX = 2;
}
// 数据id
string gid = 1;
// 数据类型
Type type = 2;
// 开关
repeated KaiGuan kgs = 3;
// 灯
repeated Lamp lamps = 4;
// 警铃
repeated Alarm alarms = 5;
// 设备电子元件组合
repeated DeviceEcc deviceEccs = 6;
}
// 警铃/蜂鸣器
message Alarm {
uint32 id = 1;
// 编号
string code = 2;
}
// 开关
message KaiGuan {
uint32 id = 1;
// 编号
string code = 2;
// 是否自复位
bool zfw = 3;
// 是否有背光灯
bool lamp = 4;
}
// 灯
message Lamp {
uint32 id = 1;
// 编号
string code = 2;
}
// 设备电子元件组合
message DeviceEcc {
// 模型类型
Model.Type deviceType = 1;
// 模型编号
string deviceCode = 2;
// 电子元件组合
repeated Ecc ecc = 3;
}
// 电子元件组合
message Ecc {
// 组合名称
string code = 1;
// 关联的电子元件(包括但不限于继电器、断相保护器、按钮、灯等)id
repeated uint32 ids = 2;
}