车载绝缘子放电状态检测系统数据分析软件需求说明书
引言
背景
车载绝缘子放电状态检测系统为一种车载式的自动化检测设备,检测到的接触网放电数据存储在数据库中。目前还缺少数据分析相关软件。
目的
通过该分析软件查看,车载绝缘子放电状态检测系统数据分析软件提供了用户和系统数据库之间的桥梁,用户通过系统可以方便的进行检测数据查看、查询、统计、分析等,可以方便的使用接触网检测数据,为客户的检修作业提供指导。
行业名词
接触网
铁路沿线给机车、动车供电的高压线,电压一般是27.5kV。
支柱
用于架空接触网的水泥立柱,一般间隔40-60米,支柱的号码又称杆号。
绝缘子
接触网的支柱上一般有2-3个绝缘子,起到对接触网高压线隔离绝缘的作用。
跨距
每根支柱间的距离。
线路
每条线路按照轨道分为上行和下行。
站区
站台和站台之间的区间。
里程
线路距起点距离,如果线路长度100公里,每条线路中的里程标0开始,以100000结束。
运行环境
硬件环境
服务器配置:
- CPU:e3350
- 内存:32G
- 硬盘:SATA3 2T
软件环境
软件采用B/S架构方式,兼容两种操作系统。
服务器端要求
- 操作系统:Win10/银河麒麟V10
- 数据库:SQLite
- 开发语言:java或者python等其它跨平台语言
- 在线人数:≤10人(一般情况下同时在线不会超过10人)
客户端要求
- 浏览器:IE8及以上版本,兼容常用浏览器包括但不限于如Firefox火狐,Chrome谷歌,360浏览器等。
约束及技术指标
- 系统应该具备长期运行的能力,故障率<3‰小时次
- 页面加载时间<2s
- 客户请求响应时间<3s
- 服务器开发应该使用模块化开发方法,方便后期维护
- 页面可自适应屏幕大小
数据来源
数据来源是SQLite数据库,名称为ultrasonic.db(名称可变)。
页面要求
页面风格
采用经典BS信息系统风格展示数据,色调采用蓝色,顶部为标题栏,如“车载接触网绝缘子放电状态检测系统”;左边为菜单栏;右边为内容展示区,可参考以下页面设计:
页面层级
页面设计
检测数据(P1)
一级页面 | 二级页面 |
检测数据(P1) | 详细数据(P1.1) |
曲线数据(P1.2) | |
报警数据(P1.3) | |
报警数据(P2) | / |
曲线对比(P3) | / |
用户管理(P4) | / |
序号 | 检测时间 | 线路 | 起始站区 | 数据 | 曲线 | 报警 |
1 | 2018/1/19 12:30 | 南昆客专上行 | 广南-富宁 | 查看 | 查看 | 查看 |
2 | 2018/1/20 12:30 | 南昆客专上行 | 广南-富宁 | 查看 | 查看 | 查看 |
3 | 2018/1/21 12:30 | 南昆客专上行 | 广南-富宁 | 查看 | 查看 | 查看 |
4 | 2018/1/22 12:30 | 南昆客专上行 | 广南-富宁 | 查看 | 查看 | 查看 |
5 | 2018/2/21 12:30 | 青藏线上行 | 岗嘎至林芝 | 查看 | 查看 | 查看 |
6 | 2018/2/21 12:30 | 青藏线上行 | 岗嘎至林芝 | 查看 | 查看 | 查看 |
7 | 2018/2/21 12:30 | 青藏线上行 | 岗嘎至林芝 | 查看 | 查看 | 查看 |
8 | 2018/2/21 12:30 | 青藏线上行 | 岗嘎至林芝 | 查看 | 查看 | 查看 |
9 | 2018/2/21 12:30 | 青藏线上行 | 岗嘎至林芝 | 查看 | 查看 | 查看 |
10 | 2018/2/21 12:30 | 青藏线上行 | 岗嘎至林芝 | 查看 | 查看 | 查看 |
11 | 2018/2/21 12:30 | 青藏线上行 | 岗嘎至林芝 | 查看 | 查看 | 查看 |
12 | 2018/2/21 12:30 | 青藏线上行 | 岗嘎至林芝 | 查看 | 查看 | 查看 |
上一页 1 2 3 4 ......12 13 14 15下一页
详细数据(P1.1)
点击“数据”进入详细数据页:
导出 | 打印 |
序号 | 检测时间 | 线路 | 站区 | 桥隧 | 杆号 | 声压(dB) | 温度(℃) | 湿度(%) |
1 | 2018/1/19 12:30:13 | 南昆客专上行 | 广南-富宁 | 74# | 10 | 30 | 20 | |
2 | 2018/1/19 12:30:14 | 南昆客专上行 | 广南-富宁 | 76# | 10 | 30 | 20 | |
3 | 2018/1/19 12:30:16 | 南昆客专上行 | 广南-富宁 | 78# | 10 | 30 | 20 | |
4 | 2018/1/19 12:30:18 | 南昆客专上行 | 广南-富宁 | 80# | 15 | 30 | 20 | |
5 | 2018/1/19 12:30:20 | 南昆客专上行 | 岗嘎至林芝 | 74# | 10 | 30 | 20 | |
6 | ||||||||
7 | ||||||||
8 | ||||||||
9 | ||||||||
10 | ||||||||
11 | ||||||||
12 |
上一页 1 2 3 4 ......12 13 14 15下一页
曲线(P1.2)
可查看对应多通道曲线展示,横坐标是里程(单位米),纵坐标声压(单位dB),横坐标范围默认是0-50米,可配置(50米-5公里之间),对应里程要标记杆号,曲线图像类似这种:
图 1 波形图像
鼠标移动到曲线上会显示具体的里程、声压值、温湿度、经纬度、速度信息,类似这种:
图 2 注释信息
多通道曲线类似这种,不同波束角的曲线以不同的颜色标注,不同波束角可配置,波速角包含20°、40°、60°、80°、100°、120°、140°、160°八个角度。
图 3 多通道不同颜色曲线参考
报警(P1.3)
查看报警数据,点击复核可以填写正确/疑似/错误等三种复核类型,复核人默认为登录人的实际名字,可修改,每页10个:
导出 | 打印 | |||||||||||||
发生时间 | 起始里程 | 结束里程 | 波束角 | 超限级别 | 波形 | 复核人 | 是否正确 | 复核 | 删除 | |||||
2016/5/15 23:56 | 4471.662109 | 4476.6718 | 20° | 一级 | 查看 | 罗广 | 正确 | 复核 | 删除 | |||||
2016/5/16 23:56 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 | 罗广 | 正确 | 复核 | 删除 | |||||
2016/5/15 23:56 | 4471.662109 | 4476.6718 | 60° | 一级 | 查看 | |||||||||
2016/5/15 23:56 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 | |||||||||
2016/5/15 23:56 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 | |||||||||
2016/5/15 23:56 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 | |||||||||
2016/5/15 23:56 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 | |||||||||
2016/5/15 23:56 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 | |||||||||
上一页 1 2 3 4 ......12 13 14 15下一页
点击“波形”列的查看按钮,则能够在波形对比页面中显示出该曲线对应的波形,如图所示:
图 4 缺陷对应波形
- 点击“导出”按钮,将检测数据导出为excel需要导出表中所有信息,包括表头,如果多页,则分页导出。
- 点击“打印”按钮,将检测数据直接打印.打印格式与“导出”格式类似。可参考以下图“车轮外形尺寸详细数据表”。
报警数据(P3)
报警数据为默认所有检测趟次的报警数据,参考P1.3详细的界面,但增加了一列检测时间。可查看对应波形数据,点击复核可以填写正确/疑似/错误等三种复核类型,复核人默认为登录人的实际名字,可修改,每页10-15个:
导出 | 打印 |
检测时间 | 发生时间 | 起始里程 | 结束里程 | 波束角 | 超限级别 | 波形 | 复核人 | 是否正确 | 复核 | 删除 |
2016/5/15 23:56 | 2016/5/15 20:12 | 4471.662109 | 4476.6718 | 20° | 一级 | 查看 | 罗广 | 正确 | 复核 | 删除 |
2016/5/15 23:56 | 2016/5/16 21:56 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 | 罗广 | 正确 | 复核 | 删除 |
2016/5/15 23:56 | 2016/5/15 22:34 | 4471.662109 | 4476.6718 | 60° | 一级 | 查看 | ||||
2016/5/15 23:56 | 2016/5/15 22:55 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 | ||||
2016/5/15 23:56 | 2016/5/15 22:56 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 | ||||
2016/5/15 23:56 | 2016/5/15 23:56 | 4471.662109 | 4476.6718 | 40° | 一级 | 查看 |
上一页 1 2 3 4 ......12 13 14 15下一页
曲线对比(P3)
搜索栏:
主曲线 | 检测时间 |
| 时间范围: |
| 波速角 | □20°þ40°þ60°þ80°□100°□120°□140°□160° | ||||||||||||
对比曲线 | 检测时间 |
| 时间范围: |
| 波速角 | □20°þ40°þ60°þ80°□100°□120°□140°□160° |
对比曲线采用虚线加粗的方式展示。曲线可参考页面P1.2:
用户管理
至少包括普通用户和管理员,系统管理员可添加普通用户,普通用户包括用户名、密码、实际名称三个字段。
交付要求
- 提供可运行的程序,能够直接访问运行
- 提供程序部署说明
- 提供软件源代码,并能针对代码做简单培训
附件:数据库表说明
SoundData表:曲线数据表
CheckInfo表:检测记录表
编号 | 字段名 | 类型 | 说明 | 备注 |
1 | SoundDataID | INTEGER | 主键 | 自增 |
2 | KMark | INTEGER | 公里标位置 | |
3 | OccurTime | TIMESTAMP | 发生时间 | |
4 | Mileage | FLOAT | 行驶里程 | |
5 | DataValue | FLOAT | 声压等级值(单位:db) | |
6 | PosX | SMALLINT | 声音的X位置 | |
7 | PosY | SMALLINT | 声音的Y位置 | |
8 | Temperature | FLOAT | 环境温度 | |
9 | Humidity | FLOAT | 环境湿度 | |
10 | Longitude | DOUBLE | 经度 | |
11 | Latitude | DOUBLE | 纬度 | |
12 | Speed | FLOAT | 速度 | |
13 | SensorNum | INTEGER | 波束角,1:20°, 2:40°, 3:60°, 4:80°, 5:100°, 6:120°, 7:140°, 8:160° | |
14 | DataType | INTEGER | 数据类型 | |
15 | PoleID | INTEGER | 杆号ID | |
16 | IsPole | BOOL | 是否杆 | |
17 | CheckID | INTEGERE | 外键关联(CheckInfo表) |
编号 | 字段名 | 类型 | 说明 | 备注 |
1 | CheckID | INTEGER | 主键 | 自增 |
2 | StartTime | DATETIME | 开始时间 | |
3 | StopTime | DATETIME | 结束时间 | |
4 | StartKMark | INTEGER | 起始公里标 | |
5 | Direction | BOOL | 运行方向 1 递增 0 递减 | |
6 | PoleID | INTEGER | 起始杆ID |
Fault表:缺陷数据表
编号 | 字段名 | 类型 | 说明 | 备注 |
1 | FaultID | INTEGER | 主键 | 自增 |
2 | OccurTime | DATETIME | 故障发生时间 | |
3 | EndTime | DATETIME | 故障结束时间 | |
4 | OccurMileage | FLOAT | 故障发生里程 | |
5 | EndMileage | FLOAT | 故障结束里程 | |
6 | FaultCnt | INTEGER | 故障中的超限个数 | |
7 | FaultLevel | INTEGER | 故障等级,1为1级报警,2为2级报警,3为3级报警 | |
8 | CheckID | INTEGER | 对应检测杆ID | 关联checkInfo表 |
9 | SensorNum | INTEGER | 波束角,1:20°, 2:40°, 3:60°, 4:80°, 5:100°, 6:120°, 7:140°, 8:160° | |
10 | Repeat | INTEGER | 是否重复检测故障 |
Review表:复核表
编号 | 字段名 | 类型 | 说明 | 备注 |
1 | ReviewID | INTEGER | 主键 | 自增 |
2 | ReviewTime | DATETIME | 复查时间 | |
3 | Reviewer | VARCHAR(50) | 复查人 | |
4 | FaultID | INTEGER | 关联Fault表 | |
5 | IsTrue | INTEGER | 是否是故障:1 确认是, 0 不是故障,2,疑似 |
PoleInfo表:杆号表
编号 | 字段名 | 类型 | 说明 | 备注 |
1 | PoleID | INTEGER | 主键 | 自增 |
2 | LineName | CHAR | 线路名称 | |
3 | StationName | CHAR | 站区名称 | |
4 | TunnelName | CHAR | 桥隧 | |
5 | PoleName | VARCHAR(50) | 杆号 | |
6 | Mileage | INTEGER | 里程 | |
7 | KmMark | INTEGER | 公里标 | |
8 | Span | FLOAT | 跨距 | |
9 | Longitude | FLOAT | 纬度 | |
10 | Latitude | FLOAT | 经度 |
CREATE TABLE SoundData (SoundDataID INTEGER PRIMARY KEY AUTO_INCREMENT COMMENT '主键',KMark INTEGER COMMENT '公里标位置',OccurTime TIMESTAMP COMMENT '发生时间',Mileage FLOAT COMMENT '行驶里程',DataValue FLOAT COMMENT '声压等级值(单位:db)',PosX SMALLINT COMMENT '声音的X位置',PosY SMALLINT COMMENT '声音的Y位置',Temperature FLOAT COMMENT '环境温度',Humidity FLOAT COMMENT '环境湿度',Longitude DOUBLE COMMENT '经度',Latitude DOUBLE COMMENT '纬度',Speed FLOAT COMMENT '速度',SensorNum INTEGER COMMENT '波束角,1:20°, 2:40°, 3:60°, 4:80°, 5:100°, 6:120°, 7:140°, 8:160°',DataType INTEGER COMMENT '数据类型',PoleID INTEGER COMMENT '杆号ID',IsPole BOOLEAN COMMENT '是否杆',CheckID INTEGER COMMENT '外键关联(CheckInfo表)',CONSTRAINT fk_checkinfo FOREIGN KEY (CheckID) REFERENCES CheckInfo(CheckID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='曲线数据表';CREATE TABLE CheckInfo (CheckID INTEGER PRIMARY KEY AUTO_INCREMENT COMMENT '主键',StartTime DATETIME COMMENT '开始时间',StopTime DATETIME COMMENT '结束时间',StartKMark INTEGER COMMENT '起始公里标',Direction BOOLEAN COMMENT '运行方向 1 递增 0 递减',PoleID INTEGER COMMENT '起始杆ID'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='检测记录表';CREATE TABLE Fault (FaultID INTEGER PRIMARY KEY AUTO_INCREMENT COMMENT '主键',OccurTime DATETIME COMMENT '故障发生时间',EndTime DATETIME COMMENT '故障结束时间',OccurMileage FLOAT COMMENT '故障发生里程',EndMileage FLOAT COMMENT '故障结束里程',FaultCnt INTEGER COMMENT '故障中的超限个数',FaultLevel INTEGER COMMENT '故障等级,1为1级报警,2为2级报警,3为3级报警',CheckID INTEGER COMMENT '对应检测杆ID',SensorNum INTEGER COMMENT '波束角,1:20°, 2:40°, 3:60°, 4:80°, 5:100°, 6:120°, 7:140°, 8:160°',RepeatCheck INTEGER COMMENT '是否重复检测故障',CONSTRAINT fk_fault_checkinfo FOREIGN KEY (CheckID) REFERENCES CheckInfo(CheckID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='缺陷数据表';CREATE TABLE Review (ReviewID INTEGER PRIMARY KEY AUTO_INCREMENT COMMENT '主键',ReviewTime DATETIME COMMENT '复查时间',Reviewer VARCHAR(50) COMMENT '复查人',FaultID INTEGER COMMENT '关联Fault表',IsTrue INTEGER COMMENT '是否是故障:1 确认是,0 不是故障,2 疑似',CONSTRAINT fk_review_fault FOREIGN KEY (FaultID) REFERENCES Fault(FaultID)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='复核表';CREATE TABLE PoleInfo (PoleID INTEGER PRIMARY KEY AUTO_INCREMENT COMMENT '主键',LineName CHAR(50) COMMENT '线路名称',StationName CHAR(50) COMMENT '站区名称',TunnelName CHAR(50) COMMENT '桥隧',PoleName VARCHAR(50) COMMENT '杆号',Mileage INTEGER COMMENT '里程',KmMark INTEGER COMMENT '公里标',Span FLOAT COMMENT '跨距',Longitude FLOAT COMMENT '纬度',Latitude FLOAT COMMENT '经度'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='杆号表';