一种基于关系型数据库的两票专家系统的制作方法

文档序号:20876333发布日期:2020-05-26 16:35阅读:124来源:国知局
本发明涉及一种基于关系型数据库的两票专家系统,属于配网自动化、人工智能配网
技术领域
:。
背景技术
::为了适应电网生产技术进步和管理体制变化的要求,加强电力生产现场的安全管理,国家电网公司定制了《电力安全工作规程》。其中:变电站的工作票和操作票(简称两票),是在变电运行过程中允许工作和从事操作的书面命令和依据,是保证变电站安全运行以及操作工人的人身安全的重要组织措施。两票从开始开票到最终完成上报,必须做到层层把关、严格审核。但是,已有技术中由于没有专用的两票专家系统,开票效率低下,不能满足用户要求。因此,开发出一套操作简便、通用智能、与时俱进的“两票”自动生成系统,是本领域亟需解决的技术问题。技术实现要素:本发明目的是提供一种基于关系型数据库的两票专家系统,运行人员只需点击鼠标,计算机便能够模仿运行人员开票的思维过程,开列出满足用户要求的工作票或操作票;能够稳定运行于现有的各类计算机系统平台,实现了局内多个部门协调工作,提高了开票效率,解决
背景技术
:中存在的上述问题。本发明的技术方案是:一种基于关系型数据库的两票专家系统,包含知识库和推理机,知识库由数据库与规则库构成,将电力系统运行专家提供的理论知识和经验知识、工程师的使用知识,输入到计算机,建立知识库;数据库:使用access数据库工具创建了一个通用关系型数据库来表示网络拓扑结构知识;所建数据库又称为事实库,分为两类不同的表格,一类称为设备参数表,通过对表格实施强制参照完整性,建立以变电站表为主键表,其余为外部键表,主键表和外部键表是一对多的关系,外部键表则通过所在变电站这一字段产生关联关系,利用推理机在各表中交替查询推理,从而得到变电所各元件的内在连接关系;另一类称为信息存储表,作为一个暂时的容器,用于存储开票过程中的中间数据和临时数据,为查询开票提供了历史数据;每个表都保存在dbczp.mdb文件;先在odbc数据源管理器中安装odbcmicrosoftaccess驱动程序,然后注册名称czp的用户数据源,应用程序通过bde数据引擎来访问数据库;规则库:将电力系统规则采用多重产生式规则的表示方法存储到规则库中,其基本形式为:if条件,then结论;所述推理机分为工作票推理机和操作票推理机;(1)操作票推理机:当运行人员给出操作命令时,系统启动推理机模块解析操作命令,得到某个典型操作的推理函数,然后以规则为前提,依次从规则库取出每条规则进行匹配,同时对事实库进行搜索、查询,获取本次推理过程要用到的相关信息;(2)工作票推理机:与相应的操作票相同,在开列操作票前,必须先填写工作票,两票必须完全对应;通过计算机模仿运行人员开票的思维过程,开列出满足用户要求的工作票或操作票。为了改善软件的性能,同时符合现场“两票必须一致”的规定,工作票的推理采用了“对应推理法”,即是在进行操作票推理的过程中同时进行工作票的推理;在原来为操作票推理设计的类发出消息触发执行某一成员函数,推理生成操作票中的某项操作序列的同时,这个被触发执行的成员函数又会发出相应的消息去触发另一个成员函数,生成对应的工作票中的一项内容。所述数据库:使用access数据库工具创建了一个通用关系型数据库来表示网络拓扑结构知识;access是微软公司开发的第一个面向windows平台的桌面关系数据库管理系统,特别是它支持sql优化查询语言,可以和delphi6.0创建链接,充分利用了sql语言简单、快捷的特点查询定位所需的知识;所建数据库又称为事实库,分为两类不同的表格(table),一类称为“设备参数表”,其中包含变电站表、开合元件表和变压器表等;通过对表格实施强制参照完整性,建立以变电站表为主键表,其余为外部键表,主键表和外部键表是“一对多”的关系,外部键表则通过“所在变电站”这一字段产生关联关系,利用推理机在各表中交替查询推理,从而得到变电所各元件的内在连接关系;另一类称为“信息存储表”,其中包含用户信息表、工作票表、操作票表,作为一个暂时的容器,用于存储开票过程中的中间数据和临时数据,为查询开票提供了历史数据;每个表(table)都保存在dbczp.mdb文件;先在odbc数据源管理器中安装odbcmicrosoftaccess驱动程序,然后注册名称为“czp”用户数据源,应用程序通过bde数据引擎来访问数据库。所述规则库:将电力系统规则采用多重产生式规则的表示方法存储到规则库中,其基本形式为:if条件,then结论;在电力系统中任何电气操作都必须按一定规则和顺序进行,否则就会因误操作而造成事故;规则库由三部分组成:(1)控制级规则库;(2)常规规则库;(3)特殊规则库。所述推理机,根据问题求解的需要,编制了不同的子推理机,分为全站推理机、开关推理机、主变推理机等;主推理机采用广度优先和深度优先交替使用的搜索策略。(1)操作票推理机的工作原理为:当运行人员给出操作命令时,系统启动推理机模块解析操作命令,得到某个典型操作的推理函数,然后以规则为前提,依次从规则库取出每条规则进行匹配,同时对事实库进行搜索、查询,获取本次推理过程要用到的相关信息(包括一系列开票规则和相应设备信息);(2)工作票推理机的工作原理为:除了操作票制度外,工作票制度也是一项保证值班人员正确倒闸操作和人身、设备安全的重要组织措施。经研究发现,变电站工作票不仅具有很强的规律性,而且和相应的操作票有很多相似之处;而且在开列操作票前,必须先填写工作票,两票必须完全对应,以保证变电站的安全运行管理。本发明的有益效果是:经过仔细分析变电运行专家的经验知识,针对试行的《新安规》中关于“两票”的规定,研制开发了本发明。运行人员只需点击鼠标,计算机便能够模仿运行人员开票的思维过程,开列出满足用户要求的工作票或操作票;能够稳定运行于现有的各类计算机系统平台,实现了局内多个部门协调工作,提高了开票效率。附图说明图1是本发明的推理机框图;图2是本发明的系统结构示意图;图3是本发明的系统登录界面;图4是本发明系统登录后初始界面;图5是本发明用户登录界面;图6是本发明用户登录后初始界面;图7是本发明的自动开票主界面;图8是本发明选择操作任务界面;图9是本发明自动生成工作票界面;图10是本发明进入生成操作票界面;图11是本发明操作票剪切、复制、粘贴操作界面;图12是本发明进入excel操作票界面;图13是本发明保存操作票界面;图14是本发明查询历史票界面;图15是本发明编辑修改打印界面。具体实施方式下面结合附图与实施例对本发明技术方案作进一步详细的说明。一种基于关系型数据库的两票专家系统,包含知识库和推理机,知识库由数据库与规则库构成,将电力系统运行专家提供的理论知识和经验知识、工程师的使用知识,输入到计算机,建立了知识库;通过计算机模仿运行人员开票的思维过程,开列出满足用户要求的工作票或操作票。知识库、推理机是构成本发明的主体,知识库是本发明的核心部分,由数据库与规则库构成。电力系统运行专家提供理论知识和经验知识,输入到计算机,就建立了知识库。数据库:由于access是微软公司开发的第一个面向windows平台的桌面关系数据库管理系统,特别是它支持sql优化查询语言,可以和delphi6.0创建链接,充分利用了sql语言简单、快捷的特点查询定位所需的知识。因此本系统使用access数据库工具创建了一个通用关系型数据库来表示网络拓扑结构知识。所建数据库又称为事实库,分为两类不同的表格(table),一类称为“设备参数表”,其中包含变电站表、开合元件表、变压器表等。通过对表格实施强制参照完整性,建立以变电站表为主键表,其余为外部键表,主键表和外部键表是“一对多”的关系,外部键表则通过“所在变电站”这一字段产生关联关系,利用推理机在各表中交替查询推理,从而得到变电所各元件的内在连接关系。另一类称为“信息存储表”,其中包含用户信息表、工作票表、操作票表,作为一个暂时的容器,用于存储开票过程中的中间数据和临时数据,为查询开票提供了历史数据。每个表(table)都保存在dbczp.mdb文件。先在odbc数据源管理器中安装odbcmicrosoftaccess驱动程序,然后注册名称为“czp”用户数据源,应用程序通过bde数据引擎来访问数据库。规则库:在电力系统中任何电气操作都必须按一定规则和顺序进行,否则就会因误操作而造成事故。因此将这些规则采用多重产生式规则的表示方法存储到规则库中[10,14],其基本形式为:if条件,then结论。规则库由三部分组成:(1)控制级规则库:if(操作对象)and(操作任务)then(操作结论)如:if操作设备是开关and操作任务是运行转检修then推理转向开关运行转检修子目标模块每个子目标知识模块实质上是一类操作总集合,该集合包含了该类操作应考虑的各个方面。(2)常规规则库:包括变电操作知识和各种典型操作规则,例如停电时,先拉开关,后拉刀闸;先停电,后挂地线等规定,是放之四海皆准地规则。例如:开关运行转检修(小修)子目标模块分为操作票规则、工作票规则。a、开关运行转检修(小修)的操作票规则:if(开关闭合、负荷侧刀闸闭合、母线侧刀闸闭合),then(拉开开关,查确显示分位);if(开关断开,负荷侧刀闸闭合、母线侧刀闸闭合),then(关闭开关自动装置电源;取下开关控制保险;查开关确在断开位置;拉开负荷侧刀闸,检查确在断开位置);if(开关断开,负荷侧刀闸断开、母线侧刀闸闭合),then(拉开母线侧刀闸,查确在断开位置)if(开关断开,负荷侧刀闸断开、母线侧刀闸断开)),then(在开关负荷侧封1#接地线;在开关与刀闸侧验明无电后封2#接地线);b、开关运行转检修(小修)工作票规则:if(开关检修(小修)),then(应拉开关、刀闸;关闭开关自动装置电源及储能电源;取下开关控制保险;在开关负荷侧封1#接地线;在开关与刀闸侧封2#接地线;在刀闸操作把手上挂"禁止合闸,有人工作!"标示牌;在开关相邻盘围设遮拦并挂"止步,高压危险!"标示牌;在开关工作地点挂"在此工作!"标示牌)(3)特殊规则库:包括倒闸操作的经验知识和不同变电站的操作习惯,还有一些特殊的接线方式或设备单元的操作规则推理机:推理机分为工作票的推理机和操作票推理机。根据问题求解的需要,编制了不同的子推理机,分为全站推理机、开关推理机、主变推理机等。主推理机采用广度优先和深度优先交替使用的搜索策略。参照附图1所示:(1)操作票推理机的工作原理为:当运行人员给出操作命令时,启动推理机模块解析操作命令,得到某个典型操作的推理函数,然后以规则为前提,依次从规则库取出每条规则进行匹配,同时对事实库进行搜索、查询,获取本次推理过程要用到的相关信息(包括一系列开票规则和相应设备信息)。以xx开关由运行转检修为例,首先,推理机取出第1条规则为“断开xx开关”,推理机对事实库中开合元件表的“xx开关”进行搜索定位,读出该开关的运行状态并进行判断,如为“on”(表示开关在运行状态),则此张操作票的第1条操作语句为“断开xx开关”,如为“off”(表示开关在断开状态),则信息提示“检查xx开关确己断开”。推理机循环利用以上原理,依次取出第i条规则,并结合相应事实库中的信息,逐步开列出一张完整的xx开关由运行转检修的操作票。(2)工作票推理机的工作原理为:除了操作票制度外,工作票制度也是一项保证值班人员正确倒闸操作和人身、设备安全的重要组织措施。经研究发现,变电站工作票不仅具有很强的规律性,而且和相应的操作票有很多相似之处。例如,对于“xx开关由运行转检修”这一操作任务,工作票中有“应拉xx开关”和“已执行”内容,而相应的操作票中必然有“拉开xx开关,查确显示分位”这一指令。然而,操作票的内容比工作票复杂、详细,各项操作序列间有着更强的逻辑性,其顺序不能颠倒。而且在开列操作票前,必须先填写工作票,两票必须完全对应,以保证变电站的安全运行管理。为了改善软件的性能,同时符合现场“两票必须一致”的规定,工作票的推理采用了“对应推理法”,即是在进行操作票推理的过程中同时进行工作票的推理。在原来为操作票推理设计的类发出消息触发执行某一成员函数,推理生成操作票中的某项操作序列的同时,这个被触发执行的成员函数又会发出相应的消息去触发另一个成员函数,生成对应的工作票中的一项内容。例如:当系统推理出“在xx开关与xx刀闸侧验明无电后封1#接地线”,这一操作指令时,同时能推理出工作票中“应装接地线”处的“xx开关与xx刀闸侧封1#接地线”,这项内容。用delphi建立数据库与excel之间的数据通信设计思想二次开发工具选择了microsoftoffice2000套件中的excel软件。excel作为现代办公常用的电子表格制作工具,不仅具有灵活的数据分析和数据处理能力,而且具备了报表处理的绝大部分功能。利用excel和内嵌的vba可视化编程语言并结合delphi可以开发出比较专业的变电站“两票”后台报表处理工具,可以极大地减轻开发的工作量,缩短开发周期,同时用户也可以方便简易的对“两票”数据进行分析和再加工。另一方面,随着办公自动化程度的提高,为了实现数据的安全和共享,越来越需要将多个excel表格的历史票信息追加到数据库中,以便于历史票的自动集中管理,免去了数据重新录入和校对的麻烦,因此用编程的方式实现excel文件的自动读取和转换也是非常必要的。通过建立ole对象链接excel用如下代码实现:public//声明变量varexcel:variant;//excel服务器workbook:variant;//工作簿worksheet:variant;//工作表......usescomobj;//检索0le自动化对象和向其传发命令的例程.......excel:=createoleobject('excel.application');//创建自动化服务器,启动excelworkbook:=excel.workbooks.open(excelname);//打开报表文档工作簿excel.worksheets[1].activate;//打开工作簿中的第一个活动工作表excel模板的建立为了规范打印格式,根据《新安规》在excel中建立了统一的工作票、操作票模板,分别保存在“打印模板”文件夹的“工作票.xls”、“操作票.xls”中。每次输出指定表格时,只需在excel模板的基础上进行操作即可。delphi中对excel进行控制代码如下:(1)stringgrid导入到excel工作表:excel.cells.item[i+8,2]:=stringgrid1.cells[0,i];(2)excel工作表导入到access数据表:fieldbyname('操作语句').asstring:=excel.cells.item[i+8,2];(3)access导入到excel:excel.cells.item[i+8,2]:=fieldbyname('操作语句').asstring;由于自动开票模块中,涉及到将数据从stringgrid导入excel报表和excel报表保存到access数据库的两个过程。在查询开票模块中,又涉及到查询access数据库保存的历史数据显示到excel报表的过程。因此,利用delphi将excel数据导入和导出,为用户节省了大量的时间,在整个系统中起到了重要的作用。表中的具体数据来自access数据库“dzczp.mdb”中的“工作票表”和“操作票表”。在实施例中,各功能模块既彼此独立又相互联系,如图2所示1、用户管理模块该模块包含用户登录、增加用户、删除用户、修改用户信息和变更用户类型等功能。2、自动开票模块自动开票模块是系统的主体模块。该模块应用专家系统技术,根据运行人员的输入信息,结合系统现场运行方式,严格按安全措施和操作规则自动形成所需工作票和操作票。为了提高程序的普遍适用性,在设置对象类的时候,对于同一种检修或恢复任务,用于安全措施的成员函数和用于操作的成员函数被放入同一个类,这样该系统实现了2种开票功能的有机结合。类成员中只有票面格式是固定的,其余的类成员均为可变成员,通过对类与类以及成员与成员之间关系的调节机制的设计,并且配以合适的用户开票界面,即可由用户根据需要,对“两票”的各个处理环节进行灵活控制。3、查询开票模块在自动开票方式之前,运行人员习惯使用的是“历史票开票”方式,即在开票时,现场人员并不是从零开始,而是找出以前开出的同种类型的历史票,以它为参照,在它的基础上进行修改形成新票。尽管系统提供了方便快捷的自动开票功能,但为了保留现场人员的这一操作习惯,我们在系统中提供了“查询开票”功能。自动生成的“两票”进行打印后,系统将把它们存储归档。用户选择“变电站名称”、“操作(工作)票名称”、“开票时间”及“开票人”,然后从多张票中选择一张,再单击“查询”按钮,系统就从历史票数据库中检索出符合条件的历史票,并在excel表格中打开,最后经编辑修改生成新票。4、其他工作票模块用户只需选择要开列的票,在设计好的符合《新安规》规定格式的模板填写开票内容,既可开列出的电力电缆第一种工作票、电力电缆第二种工作票、变电站第二种工作票、变电站带电作业工作票、变电站事故应急抢修单和二次工作安全措施票。5、变电站主接线图模块该模块包含某县所辖六个35kv变电站的一次接线图。与系统拓扑关系型数据库相对应,为运行人员开票提供了直观、明了的图形参考界面。6、数据维护模块系统数据库是各模块产生联系的桥梁,是各模块运行状态的严格一致的保障。为了使系统能够具有可维护性,我们设计了线路表、主变表、开关表、母线表。当变电站的拓扑结构发生变化,用户可以方便的使用系统提供的“添加记录”、“删除记录”等功能将数据输入系统,缩短了用户维护数据库所需的时间。帮助模块为了帮助用户熟悉本系统各项功能的使用方法和操作步骤,本系统配备了功能完善的帮助文档。该文档参考microsoft的帮助文档标准编号,具有布局清晰、使用方便等特点。在该文档中,用户可以了解到本软件系统的各项功能的使用细节。本实施例中,变电站工作票操作票专家系统具体操作如下:1、双击快捷方式,进入系统登录界面。界面见附图3。2、单击“登录系统”按钮,进入“欢迎使用本系统”主界面。界面见附图4。3、单击“用户登录”菜单,进入“输入用户名和密码”界面。界面见附图5。4、输入正确的用户名和密码后,单击“确定”按钮,则可以根据用户权限来使用各级菜单。界面见附图6。5、单击“自动开票”按钮,进入“自动开票”主界面。界面见附图7。6、首先,选择要开票的“变电站”;其次,选择要“操作项目”,如:主变;然后,选择要“操作对象”,如:1#主变;再次,选择要“操作任务”,如:运行转检修;界面见附图8。最后,单击“自动生成工作票”按钮,进入“工作票”主界面;界面见附图9。否则,单击“自动生成操作票”按钮,进入“操作票”主界面;界面见附图10。7、进入“工作票”或“操作票”主界面,如需编辑,可双击选中要修改的内容,右击选择剪切、复制、粘贴等操作。界面见附图11。8、单击“生成excel表格”按钮,进入“microsoftexcel-操作票”界面,即可对各个内容进行编辑,保存。界面见附图12。9、若需对某张票进行保存,请单击excel界面中的“文件”菜单,单击选中“另存为”,弹出“另存为”对话框,选择要保存的位置,单击“保存”按钮,即可保存整张票。界面见附图13。10、单击“查询开票”按钮,进入“查询历史票”主界面。界面见附图14。11、单击“查询历史工作票、操作票”按钮,弹出“打开”对话框,选择保存过的历史票,单击“打开”按钮,即可查询历史票,从而进行编辑、修改、打印。界面见附图15。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1