微机监测子系统维护手册.docx
- 文档编号:29053425
- 上传时间:2023-07-20
- 格式:DOCX
- 页数:62
- 大小:1.51MB
微机监测子系统维护手册.docx
《微机监测子系统维护手册.docx》由会员分享,可在线阅读,更多相关《微机监测子系统维护手册.docx(62页珍藏版)》请在冰豆网上搜索。
微机监测子系统维护手册
微机监测子系统维护手册
一、ZPW-2000监测子系统简述………………………………3
二、监测处理机软件设计………………………………….…..5
三、使用维护简述……………………………………………...26
四、常见的故障处理………………………………………….41
五、GHOST的恢复详细过程…………………………….…..43
ZPW-2000监测子系统简述
一、子系统用途
用于采集站内所有的ZPW-2000电码化以及ZPW-2000移频信息,再将采集到的全部数据通过串口RS422总线或RJ45以太网接口传输给微机监测站机;达到微机监测站机只需提供一个通讯端口即可接收到站内所有的ZPW-2000移频信息的目的。
二、子系统内部接口及与微机监测系统连接关系见图1
图1监测子系统内部结构及与微机监测接口示意图
三、子系统的设备构成
属于监测子系统的设备有:
ZPW.QJF1发送检测器、ZPW.QS1衰耗器、ZPW.QCE分线盘采集器、采集处理器(工控机)、电流采集模块、RS232/RS422串口电平转换器、CAN转化器。
1、ZPW.QJF1发送检测器:
由原ZPW.QJF发送检测器设备升级而成,对站内发送设备进行采集。
一台检测器监测对象为站内电码化的两个发送器,若站内的发送电码化的发送为单数,则剩下的一台发送器配置一台检测器。
2、ZPW.QS1衰耗器:
由原ZPW.QS衰耗器升级而成,采集ZPW-2000移频轨道电路的发送器、接收器的模拟量和开关量。
3、ZPW.QCE分线盘采集器:
对ZPW-2000移频轨道电路的送受端分线盘的移频模拟量的采集。
监测对象为六个区段的分线盘移频信号的模拟量。
所以在ZPW-2000移频轨道电路里,一台分线盘采集器对应六台ZPW.QS1衰耗器配套设置。
4、一台采集处理器:
为外购的研华生产的工控机。
5、两个RS232/RS422串口电平转换器:
为工控机的RS232串行接口跟422串行接口提供电平转换。
6、电流采集模块:
用于采集发送器的电流,每个电流采集模块可采集两台发送器的电流。
四、站内ZPW-2000电码化的监测子系统设备
构成的子系统设备有:
ZPW.QJF1发送检测器、电流采集模块、一台采集处理器、两个RS232/RS422串口电平转换器、一个CAN转换器。
五、接近区段ZPW-2000移频轨道电路、区间ZPW-2000移频闭塞监测子系统设备
构成的子系统设备有:
ZPW.QS1衰耗器、ZPW.QCE分线盘采集器、电流采集模块、一台采集处理器、两个RS232/RS422串口电平转换器。
六、其它注意要点
1、监测子系统的供电:
所需的直流24V最好设计上要求电源屏提供独立的监测电源,每架零层上设计监测电源的断路器。
2、子系统的调试和开通需要与微机监测厂家配合实施。
监测处理机软件设计
本系统主要是根据ZPW-2000A自动闭塞设备的一体化监测设备的要求而设计的,本系统接收采集终端(衰耗器、发送检测器、分线器等)发送的数据,并将接收到的数据保存到数据库中,定时将接收的数据发送给微机监测总机。
本系统(监测处理机)硬件采用研华小型无风扇工控机,与微机监测总机采用RS422串口连接或者TCP方式连接,与采集终端之间采用CAN总线方式连接。
采集终端负责对电压、电流、频率以及开关量进行采集并送监测处理机处理。
经过对系统需求的初步分析,将软件分成3部分,分别是服务程序、管理程序、通讯监视程序。
下面分别进行设计。
第一部分通讯服务程序
一、系统分析
本子系统接收采集终端发送的数据帧,解释并保存数据,通过串口或TCP方式将数据发送给微机监测站。
经分析,本子系统包括以下几个功能:
接收检测命令,处理监测命令、发送监测数据、接收采集数据、解释数据、存储数据。
1、用例图
图1
2、用例规约
(1)、接收监测命令
用例名称
接收监测命令
简要说明
接收微机监测总机发送的通讯帧
参与者
微机监测总机
事件流
1)、通过串口或SOCKET接收微机监测总机发送的数据;
2)、将接收到的数据帧发给处理监测命令用例,由处理监测命令用例
处理接收到的数据。
3)、继续等待接收命令
(2)、处理监测命令
用例名称
处理接收命令
简要说明
处理监测处理机接收到数据帧
事件流
1)、根据协议检验数据帧的正确性
2)、确定数据帧的类型,并根据帧的类型进行分别处理
3)、如果帧是数据请求帧,则调用发送采集数据用例,将监测处理机采集到的数据发送给微机监测总机。
(3)、发送采集数据
用例名称
发送采集数据
简要说明
将监测处理机监测到的数据发送给微机监测总机
参与者
微机监测总机、定时器
事件流
1)、收到请求全体数据帧的命令时,将接收到的监测数据发送给微机监
测总机。
2)、每分钟定时发送一次区间轨道区段信息,站内轨道区段信息。
3)、对于模拟量、开关量的变化信息采用变化时发。
4)、对于报警、采集CAN总线通讯状态信息,采用即时产生、即时发送的方式。
(4)、接收采集数据
用例名称
接收采集数据
简要说明
接收采集终端发送来的数据
参与者
采集终端
事件流
1)、通过串口接收采集终端发送的数据。
2)、将接收到的数据发送给解释数据用例处理。
3)、继续等待接收数据。
(5)、解释数据
用例名称
解释数据
简要说明
解释采集终端发送的数据。
事件流
1)、检查接收到的数据帧是否正确。
2)、检查数据帧的类型,根据类型对数据帧进行处理。
3)、检查应用层数据的类型
4)、如果需要存储数据将解释的数据发给存取数据用例进行存储。
5)、如果是即时发送数据将数据发送给发送采集数据用例,将数据发送
给微机监测总机。
(6)、存储数据
用例名称
存取数据
简要说明
根据需要对数据库进行存储操作
事件流
1)、根据需要将解释的数据存入到数据库中。
2)、存储统计数据。
3)、如果软件启用了监视功能、将监视的数据存入数据库中。
二、系统设计
通过对协议、用例图、用例规约的分析并引入软件架构设计模式对通讯服务程序进行设
计工作,本系统采用Windows服务程序方式运行,下面对系统中涉及到的业务逻辑按
参与者分别进行说明
(一)、静态结构
1、与存取数据相关的全局对象(如图2)
下面对图中的几个类分别进行描述:
CConnection:
数据库连接类
属性:
m_Conn数据库连接对象
方法:
Open():
打开数据库
Close():
关闭数据库
CPersist:
数据库操作的基类
属性:
m_pConnect:
数据库连接对象
方法:
InsertCommand():
插入数据。
UpdateCommand():
修改数据。
DeleteCommand():
删除数据
SelectCommand():
查询数据
图2
CTerminal:
采集终端类
属性:
m_id编号
m_type设备类型
m_Address设备地址
m_status设备状态
CTerminalList:
采集终端列表类
属性:
m_list:
终端列表
操作:
GetTerminalList():
获得采集终端列表
GetTerminal():
根据设备类型、地址获得某个采集终端
GetCount():
获得采集终端的数量
Get():
根据位置获得采集终端
CSection:
区段类
属性:
S_ID:
区段号
S_Tag:
区段属性
方法:
GetMnMeasure():
获得系统定义的模拟量
GetKgMeasure():
获得系统定义的开关量
SetMnValue():
设置模拟量值
SetKgValue():
设置开关量值
SaveMnValue():
保存模拟量值
SaveKgValue():
保存开关量值
GetMnValue():
获得模拟量值
GetKgValue():
获得开关量值
CSectionList:
区段列表类
属性:
m_List:
区段列表
方法:
GetSectionList():
获得区段列表
GetSection():
根据区段号查找区段
GetCount():
获得区段数量
Get():
根据位置查找区段
SaveGatherData():
保存采集数据
SaveDayData():
保存日数据
SaveMonthData():
保存月数据
SaveYearData():
保存年数据
GetFirst():
获得第一个区段
GetNext():
获得下一个区段
CMnData:
模拟数据类
属性:
D_ID:
数据项编号
Min:
最小量程
Max:
最大量程
Scope:
:
变化范围
Value:
数据项值
M_ID:
采集设备编号
Gathertime:
采集时间
CKgData:
开关数据类
属性:
D_ID:
数据项编号
M_ID:
采集设备编号
Value:
数据项值
GatherTime:
采集时间
CRelation:
对应关系类
属性:
ID:
序号
M_ID:
设备编号
D_ID:
逻辑地址
S_ID:
对应区段号
CRelationList:
对应关系列表类
属性:
m_List:
对应关系列表
方法:
GetRelationList()获得对应关系列表
GetSectionId()根据设备编号、逻辑地址查找区段信息
2、同微机监测站通讯(如图3)
图3
下面对图中的几个类分别进行描述:
CUpTranslateLayer:
会话层基类
属性:
SendBuffer:
发送缓冲区
RecvBuffer:
接收缓冲区
方法:
OnSendData():
发送数据
OnReceiveData():
接收数据
OnSendHeartBeat():
发送心跳帧
OnDoWithData():
自主提交数据
OnAckRequest():
应答通讯请求帧
OnInitConnect():
初始连接状态
OnSaveLog():
保存日至
OnReceiveTime():
接收时间
GetUnixTime()获得Unix时间
CCommUpTranslate:
串口方式下的会话层类
属性:
m_Comm:
串口对象
TransBuffer:
数据转义缓冲区
方法:
OnDoWithAsk():
处理通讯请求帧
OnDowithTime():
处理校时帧
OnDoWithAck():
处理数据确认应答帧
OnDoWithResend():
处理重发请求帧
OnCheckData():
校验数据
SaveMsgLog():
保存日至
SaveBufferData():
将发送数据帧存储到已发帧数组中
OnSendData():
发送数据
OnReceiveData():
接收数据
OnDoWithData():
自主提交数据帧
OnAckRequest():
应答通讯请求帧
OnInitConnect():
初始化通讯连接状态
OnTransfer():
进行数据转义
OnDeTransfer():
进行数据反转义
OnCrcCheck():
计算CRC校验和
CSocketUpTranslate:
TCP方式下的会话层类
属性:
m_Socket:
Socket对象
方法:
OnDoWithBeat():
处理心跳帧
OnDoWithAsk():
处理通讯请求帧
SaveMsgLog():
保存通讯日至
OnSendData():
发送数据
OnReceiveData():
接收数据
OnDoWithData():
自主提交数据
OnAckRequest():
应答通讯请求帧
OnSendHeartBeat():
发送心跳帧
OnInitConnect():
初始化连接
CUpApplayer:
应用层类
属性:
SendBuffer:
发送缓冲区
RecvBuffer:
接收缓冲区
方法:
SendSingleSection():
发送单个区间区段数据
SendSingleStation():
发送单个站内区段全部数据
SendMnVariety():
发送模拟量变化信息
SendKgVariety():
发送开关量变法信息
SendAlarm():
发送告警信息
SendMachineStatus():
发送设备状态信息
SendAllSection():
发送全部区段信息
SendHeartBeat():
发送心跳帧
3、同采集终端通讯(如图4)
图4
下面对图中的几个类分别进行描述
CDownTranslateLayer:
会话层基类
属性:
SendBuff:
发送缓冲区
RecvBuff:
接收缓冲区
方法:
OnSendData():
发送数据
OnReceiveData():
接收数据
CCommDownTranslate:
串口方式下的会话层类
属性:
m_Comm:
串口对象
方法:
OnCheckData():
校验数据
OnDoWithAuto():
处理接收数据
SaveMsgLog():
保存日至
OnSendData():
发送数据
OnReceiveData():
接收数据
CDownApplyLayer:
应用层类
属性:
Buffer:
缓冲区
方法:
OnSendData():
发送数据
OnReceiveData():
接收数据
GetDataValue():
得到数据值
GetFSData():
得到发送检测器的数据
GetSHData():
得到衰耗器的数据
GetFxData():
得到分线盘的数据
SaveMsgLog():
保存通讯日至
SaveCurrentData():
保存终端当前数据
4、通讯控制相关的类(如图5)
图5
下面对图中的几个类分别进行描述:
CTranControl:
通讯控制类
属性:
m_bTerminated通讯停止标志
方法:
ListenDown():
监听同采集终端的通讯
ListenCommUp():
串口方式下监听同微机监测站的通讯
ListenTcpUp():
TCP方式下监听同微机监测站的通讯
TimerThread():
定时执行线程
CSerialComm:
串口类
属性:
m_Port:
串口号
m_BaudRate波特率
m_DataBits数据位数
m_Parity奇偶校验位
m_StopBits停止位
方法:
OpenComm():
打开串口
CloseComm():
关闭串口
ReadComm():
读串口数据
WriteComm():
向串口发送数据
CTcpSocket:
Socket通讯类
属性:
m_IpAddress:
IP地址
m_IpPort:
端口号
方法:
AcceptConnect():
接收客户端连接
CloseSocket():
关闭连接
RecvData():
接收数据
SendData():
发送数据
(二)、动态结构
1、系统中用到的定时器
(1)、PerSecondID:
每秒钟定时发生。
(2)、PerTimesID:
每5秒钟定时发生。
(3)、PerMinuteID:
每分钟定时发生。
2、系统采用了多线程技术,各线程分别执行不同的任务,系统中定义了以下几个线程
(1)、ListenDown:
监听CAN通讯的线程,此线程负责接收CAN的数据,并解释
和保存终端数据。
(2)、ListenCommUP:
串口方式下监听同微机监测站的通讯,此线程负责在串口方
式下接收微机监测站的命令、并将采集终端采集到的区段数据通
过串口发送给微机监测中。
(3)、ListenTcpUP:
TCP方式下监听同微机监测站的通讯,此线程负责在TCP方式
下接收微机监测站的命令、并将采集终端采集到的区段数据通过
TCP方式发送给微机监测站。
(4)、TimerThread:
定时器执行线程,此线程负责执行系统中的定时器发生时、软
件需要执行的功能,如定时发送区段数据等功能。
第二部分管理程序
一、系统分析
本子系统实现配置通讯参数、控制服务、注册设备及区段信息、查询数据、通过图形
方式显示数据等几项功能;
1、用例图
图6
2、用例规约
(1)、配置通讯参数
用例名称
配置通讯参数
简要说明
配置通讯服务程序同微机监测站及采集终端的通讯参数
参与者
操作员
事件流
1)、从数据库中查询配置参数
2)、配置正确的通讯参数
3)、保存配置参数
(2)、服务控制
用例名称
服务控制
简要说明
注册、启动及停止通讯服务
参与者
操作员
事件流
1)、注册通讯服务
2)、启动服务程序
3)、停止服务程序
(3)、配置设备及区段信息
用例名称
配置设备及区段信息
简要说明
配置采集设备信息、区段信息及对应的关系
参与者
操作员
事件流
1)、注册设备信息
2)、注册区段信息
3)、注册设备与区段的对应关系
(4)、查询数据
用例名称
查询数据
简要说明
查询从采集终端获取的数据
参与者
操作员
事件流
1)、根据时间、区段号、数据类型等信息查询历史模拟数据;
2)、根据时间、区段号、数据类型等信息查询历史开关数据
3)、根据日期、区段号、数据类型等信息查询日统计数据
4)、根据月份、区段号、数据类型等信息查询月统计数据
5)、根据年份、区段号、数据类型等信息查询年统计数据
(5)、图形显示数据
用例名称
图形显示数据
简要说明
查询从采集终端获取的数据并以图形的方式显示出来
参与者
操作员
事件流
1)、根据时间、区段号、数据类型等信息查询历史数据、并以图形的方式显示出来。
2)、根据日期、区段号、数据类型等信息查询日统计数据、并以图形
的方式显示出来。
3)、根据月份、区段号、数据类型等信息查询月统计数据、并以图形
的方式显示出来。
4)、根据年份、区段号、数据类型等信息查询年统计数据、并以图形
的方式显示出来。
(6)、存取数据
用例名称
存取数据
简要说明
查询数据及保存数据
参与者
操作员
事件流
1)、查询数据库中的数据。
2)、将数据保存到数据库中。
二、系统设计
通过对用例图及用例规约的分析,采用三层结构对系统进行设计,包括:
用户界面层(GUI)、业务层和数据层。
1、用户界面层
用户界面层主要提供用户和系统交互的功能,用户通过用户界面层可以了解系统的运行情况、注册设备及区段信息、查询采集数据、图形显示数据等。
本系统在用户界面层引入了MFC框架,通过MFC提供的用户界面功能对软件涉及到的用户交互功能进行设计(主界面如下:
)
图7
另外、系统还有设置通讯参数界面、服务控制界面、注册设备信息界面、注册区段
信息界面、注册对应关系界面、查询数据界面、图形显示数据界面等。
类图如下(图8):
图8
CMainFrame:
主框架窗口类
属性:
…..
方法:
OnButtonComm():
显示通讯参数配置窗口
OnButtonMachine():
显示设备信息窗口
OnButtonMt():
显示设备类型窗口
OnQdInfo():
显示区段信息窗口
OnRelation():
显示对应关系窗口
OnHistoryMn():
显示查询模拟数据窗口
….
OnHourCurve():
显示历史数据曲线窗口
….
CParamDlg:
通讯参数配置窗口类
属性:
…
方法:
FillCombo():
显示通讯参数
OnOk():
保存通讯参数配置
….
CMachineInfo:
设备信息窗口类
属性:
….
方法:
OnButtonAdd():
添加设备信息
OnButtonUpdate():
更新设备信息
OnButtonDel():
删除设备信息
CSectionForm:
区段信息窗口类
属性:
….
方法:
OnButtonAdd():
添加区段信息
OnButtonUpdate():
更新区段信息
OnButtonDel():
删除区段信息
CRelationForm:
对应关系窗口类
属性:
….
方法:
OnButtonAdd():
添加对应关系
OnButtonUpdate():
更新对应关系
OnButtonDel():
删除对应关系
CMnHistoryDlg:
查询历史模拟数据窗口类
属性:
….
方法:
InitList():
初始化显示列表
OnSearchButton():
查询数据
CCurveDlg:
图形显示串口类
属性:
….
方法:
DrawYCoordinate():
画纵坐标刻度
DrawXCoordinate():
画横坐标刻度
DrawLine():
画数据曲线
….
2、业务逻辑层
本子系统主要实现数据管理的功能,首先用类图的形式对系统中涉及到的类及类之间的关系进行描述、然后对各类分别进行说明。
类图如下(图9):
CKgDefine:
开关量定义类
属性:
m_ID:
开关编号
M_Tag:
属性
M_DCode代码
M_DContent内容
M_DMarked说明
图9
CKgDefineList:
开关量列表类
属性:
m_KgDefineList:
开关量列表
方法:
GetKgDefine():
获得某个开关量
UpdateKgDefine():
更新开关量
LoadKgDefineList():
加载开关量列表
GetFirstKgDefine():
获得第一个开关量
GetNextKgDefine():
获得下一个开关量
CMnDefine:
模拟量定义类
属性:
m_ID编号
M_Name名称
M_Unit单位
M_Min最小值
M_Max最大值
M_Scope变化范围
M_Tag属性
方法:
...
CMnDefineList:
模拟量列表类
属性:
m_MnDefineList模拟量列表
方法:
GetMnDefine():
获得某个模拟量
UpdateMnDefine():
更新模拟量
LoadMnDefineList():
加载模拟量列表
GetFirstMnDefine():
获得第一个模拟量
GetNextMnDefine():
获得下一个模拟量
CTerminalType:
采集终端类型类
属性:
m_ID:
类型编号
M_Name:
类型名称
方法:
...
CTypeList:
终端类型列表类
属性:
m_TypeList:
类型列表
方法:
LoadTypeList():
加载类
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 监测 子系统 维护 手册