专家系统的实例分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

专家系统的实例分析

张宏昊 研电1203 1122201030

一、实验要求

1.1

已知:电网的接线、操作前的开关、刀闸状态初始态、现场的运行规程、要操作的设备、操作前状态、操作后状态

求出:是否允许某设备在当前运行方式下,由操作前状态转换到操作后状态。

信息流图(系统结构图)

1.2

用产生式表示刀闸的操作规则

规则一:IF 与刀闸同间隔的开关分 THEN 刀闸能分或合 规则二:IF 与刀闸相关的接地刀闸/线全部为分 THEN 刀闸能合

规则三:IF 刀闸是母线刀闸 且 停电操作 且出线刀闸分 THEN 刀闸能分 规则四:IF 刀闸两端具备等电位条件 THEN 刀闸能分或合 1.3

知识表示方法(数据库结构设计) 以设备为核心

数据类型 取值 设备名称 字符型

设备类型 整型 开关1/刀闸2/接地刀闸3/接地线4 间隔名称 字符型

位置

整型

母线侧1/出线侧2/旁路侧3

设备名称 设备类型 间隔名称 位置 开关 K85 1 JG85 0 0 S853 2 JG85 2 1 S851 2 JG85 1 1 S852 2 JG85 1 0 S856 2 JG85 3 0 S855 2 Jg85 1 1 S8510 3 JG85 0 0 S85J2 4 JG85 0 0 S85J1 4 JG85 0 0 S8530

3

JG85

人机界面:取 设备名称,目标状态

操作校验模块(推理机) 所有电网设备当前状态 所有电网设备操作规则 是否允许操作?

提示不允许操作

的原因

生成操作术语

85

853

851

852 8530

8510

85J1

85J2

856 典型间隔 Typical Unit

855

二、程序设计

2.1 程序主界面

2.2程序功能介绍

2.2.1 图示模块

程序左上角有一个图示模块,在这个模块里可以直观的显示各个开关、断路器的开断状态,并且可以直接点击开关进行操作,操作结果也会动态显示在界面上。

2.2.2开关状态操作块

这个模块可以分别对各个开关和断路器今天开断操作,操作结果会与图示模块同步显示。

2.2.3操作日志表

操作日志表可以显示程序执行的各种状态,从启动程序起,这里将显示所有操作记录,例如当操作某个开关,则这里相应记录着操作。而且相关的操作提示也会在这里显示,例如当某个开关操作违反规程时,这里将进行具体提醒。

2.2.4 程序操作模块

这个模块是进行读取数据和保存操作日志表到本地的地方。

2.3 数据结构

该程序包含这实验一和实验二的两个数据结构。

实验一是用来计算系统节点的程序,数据结构全部由类实现。数据节点类有:IN_BranchInfo, IN_BreakerInfo, IN_NodeInfo和IN_SubSystemInfo,这些类用来记录每个branch,breaker,node和subsystem节点的信息。而这几个类的数据操作由相应的CAL_Branch, CAL_Breaker, CAL_Node, CAL_SubSystem来控制,在这几个类中包含着相应类型数据的读取,保存,设置,清除以及显示等操作。

最后,所有的这几个类都由一个CAL_Calculate来管理。这个类有个最高的管理权,每个类型数据的读取,保存等函数都是从这里调用的,而最关键的生成数据表的计算函数也在这个类中。

对于实验二的数据结构,鉴于已给的系统是固定的,而且程序包含了图像显示,为了简单操作,数据结构使用了固定形式,即实验二的节点数是不能修改的。

节点信息用SecEquiInfo这个类来实现,相应的读取,保存等操作是在SecEqui这个类中实现的。而对系统开关的控制,已经相应的规则逻辑判断是在CVCSBPowerFormView类中实现的,因为这是控制主界面的类。

2.4 流程图

2.5程序执行示例2.5.1规则一示例

2.5.2规则二示例

2.5.3 规则三示例

2.5.4 规则四示例

相关文档
最新文档