syntax = "proto3"; package message; option go_package = "./repository/message_proto"; message Simulation { enum Type { // 城市轨道交通 CG = 0; // 国铁 GT = 1; } } message Repo { // 仿真类型 Simulation.Type simType = 1; oneof data { CG cg = 2; GT gt = 3; } } // 国铁数据 message GT { } // 城轨数据 message CG { repeated Line lines = 1; } // 城轨线路数据 message Line { // 所在城市 string city = 1; // 线路编号 int32 lineId = 2; } // 信号布置数据 message XHBZ { // 数据id string gid = 1; // 车站 repeated Station stations = 2; // 站台 repeated Platform platforms = 3; // 屏蔽门 repeated Psd psds = 4; // 物理区段 repeated PhysicalSection physicalSections = 5; // 道岔 repeated Turnout turnouts = 6; // 信号机 repeated Signal signals = 7; // 应答器 repeated Balise balises = 8; // 停车点 repeated ParkingSpot parkingSpots = 9; // 坡度 repeated Pd pds = 10; // 曲度 repeated Qd qds = 11; // 紧急关闭/停车按钮 repeated EMP emps = 12; // 发车计时器 repeated TDT tdts = 13; // 门控箱 repeated Mkx mkxs = 14; // 就地控制盘 repeated PSL psls = 15; // 人员防护开关 repeated SPKS spks = 16; } // 人员防护开关 message SPKS { uint32 id = 1; } // 就地控制盘 message PSL { uint32 id = 1; } // 门控箱 message Mkx { uint32 id = 1; } // 发车计时器 message TDT { uint32 id = 1; } // 紧急关闭/停车按钮 message EMP { uint32 id = 1; } // 曲度 message Qd { uint32 id = 1; } // 坡度 message Pd { uint32 id = 1; } // 停车点 message ParkingSpot { uint32 id = 1; } // 应答器 message Balise { uint32 id = 1; } //区段检测点 message CheckPoint{ // 检测点类型 enum Type { Boundary = 0; //区段边界 JZ = 1; //计轴器 JYJ = 2; //绝缘节 } uint32 id = 1; // 检测点类型 Type type = 2; // 公里标 GLB glb = 3; // 关联的物理区段/道岔端口 repeated DevicePort devicePorts = 4; } // 设备 message Device { // 设备类型 enum Type { // 区段 Section = 0; // 道岔 Turnout = 1; // 信号机 Signal = 2; } // 设备端点(区段、道岔) enum Port { A = 0; B = 1; C = 2; } // 设备id uint32 id = 1; // 设备类型 Type type = 2; } // 设备端点 message DevicePort { // 设备id uint32 id = 1; // 设备类型 Device.Type type = 2; // 设备端 Device.Port port = 3; } // 信号机 message Signal { enum Model { HLU = 0; } uint32 id = 1; // 信号机编号 string code = 2; } // 道岔 message Turnout { uint32 id = 1; } // 物理区段 message PhysicalSection { uint32 id = 1; } // 屏蔽门 message Psd { uint32 id = 1; } //站台 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; } //公里标 message GLB { //坐标系编号 string zbx = 1; //左右行 bool right = 2; //公里标值,单位mm int64 value = 3; } // 联锁设备布置数据 message CiSBBZ { // 设备集中站uid string ecsId = 1; // 继电器 repeated Relay relays = 2; // 断相保护器 repeated PFP pfps = 3; // 设备电气组合组 repeated DeviceEcc deviceEcgs = 4; // 联锁采集码表 repeated CiCjTable cjt = 5; // 联锁驱动码表 repeated CiQdTable qdt = 6; // 联锁区段码位表 repeated string sectionIds = 7; } // 联锁区段码位表 message CiSectionTable { // 区段id repeated uint32 sectionIds = 1; } // 联锁驱动码表 message CiQdTable { // 继电器id repeated uint32 relayIds = 1; } // 联锁采集码表 message CiCjTable { repeated CiCjItem items = 1; } // 联锁采集项 message CiCjItem { // 继电器id uint32 relayId = 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 = 0; PSL = 1; MKX = 2; } // 数据id uint32 gid = 1; // 开关 repeated KaiGuan kgs = 2; // 灯 repeated Lamp lamps = 3; // 警铃 repeated Alarm alarms = 4; // 设备电子元件组合 repeated DeviceEcc deviceEccs = 5; } // 警铃/蜂鸣器 message Alarm { uint32 id = 1; // 编号 string code = 2; } // 开关 message KaiGuan { uint32 id = 1; // 编号 string code = 2; // 是否有背光灯 bool lamp = 3; } // 灯 message Lamp { uint32 id = 1; // 编号 string code = 2; } // 设备电子元件组合 message DeviceEcc { // 设备编号 string deviceCode = 1; // 设备类型 Device.Type deviceType = 2; // 电子元件组合 repeated Ecc ecc = 3; } // 电子元件组合 message Ecc { // 组合名称 string code = 1; // 关联的电子元件id repeated uint32 ids = 2; }