报警状态机分析及框架设计

来源:互联网 发布:网络零点女装秋款 编辑:程序博客网 时间:2024/05/28 04:53

一模型建立

1概念说明

2模型建立

运动控制最常见的及最简单的状态机应当就是报警状态机了。报警状态机模型如下:

?

 

图表 1报警状态机状态转换图

上图是系统报警状态的简化模型,共分为两个状态:

N在该状态下,系统处于正常状态,没有报警

W:系统处于报警状态

输入符号,共有两个:

true:报警触发信号,表示系统当中有故障

false:该信号来时,表示系统正常,没有报警,可以运行

状态转换表格如下:
?







图表 2报警状态机转换表格

动作触发表格如下:





 


?




图表 3报警状态机动作触发表格

二模型分析

1报警特点分析

运动控制设备当中,报警类型可能有几种,或者几十种,甚至上百种,可能来自上位也可能源自下位,对于报警的处理,其大部分处理方式是相同的,既一旦有报警,则设备停止,并告知用户。一般还需要对该过程建立日志。所有的过程对于程序实现来说都并不困难,很容易实现,似乎建立模型有些多此一举。实际不是的,原因如下:

1)报警是分类型的

按照严重程度分:有警示性报警,这类报警不影响用户操作和设备运行,但是可能预示着会发生某一类故障或起到提示性作用;有故障型报警,这类报警常常会引发设备停止。

按照报警源分:有数据报警或者软件引发的报警;有外围设备的报警。

2)报警的处理方式不同即其有目的针对性

系统内的报警,处理方式并不相同。有的仅仅告知报警,之后不做任何处理,如一些画面报警。有些不可以执行设备的某些功能,但其它功能可以执行,比如手动操作。但有的要求将设备进入锁死状态,除非报警解除,任何操作都不被允许,比如急停报警。有些报警只在终端显示,在终端做记录。有些报警需要上报服务器,服务器通过报警可以判断设备的状态,使服务器能对设备做出一些合理的响应及处理。

2主要目的

采用状态机模型对报警过程进行分析,主要是希望能把这个过程抽象出来。针对其每一个部分,进行抽象的封装,从而可以达到即使系统是不同的,但是也可以采用同一个报警程序框架,进而减少代码重复开发工作量。

三框架设计

从上文当中的几个图可以看出,设计这种需求的框架,分两块即可以,一块是报警模块管理器,另外一块就是报警模块。其中模型模块包含信号发生器和动作触发器两种行为。

1报警模块管理器的主要作用

管理各个报警模块及管理一些辅助模块,如日志系统

2报警模块

主要包括:

1) 报警信息

2) 信号发生器

扫描输入信号,或根据各种条件在逻辑处理或综合计算以后产生输入信号

3) 动作触发器

动作触发器对应的既是图标3所对应的表格,执行相应的报警触发动作。

原创粉丝点击