syntax = "proto3"; package message; option go_package = "./repo/dto"; // 城轨数据 message CgRepo { 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; }