基于SIS系统和Excel平台的电厂运行监视报警系统的制作方法

文档序号:23980909发布日期:2021-02-20 09:42阅读:188来源:国知局
基于sis系统和excel平台的电厂运行监视报警系统
技术领域
:[0001]本发明涉及电厂运行参数报警领域,具体涉及基于sis系统和excel平台的电厂运行监视报警系统。
背景技术
::[0002]电厂运行参数的监视、报警系般采用dcs系统,dcs监视画面大多是以机组的某个系统为单位创建的,监盘时需要翻的画面多达几十页,且跨机组的同屏监视难以实现。随着机组运行时间增加、设备的改造,原有的dcs报警会逐渐出现与实际不符的情况。dcs系统的监视画面和报警系统都是在机组投产时设定好的,为了保证控制系统的稳定性,画面和报警都不能随意修改,即使修改也需要冗长的手续和较长时间。[0003]目前独立于dcs的电厂报警系统都需要添置新硬件,且部署比较复杂,对维护人员的技术要求较高。技术实现要素:[0004]本发明的目的是针对上述问题,提出基于sis系统和excel平台的电厂运行监视报警系统。[0005]本发明的技术方案如下:基于sis系统和excel平台的电厂运行监视报警系统,包括预装软件microsoftexcel、预装软件pi-datalink以及sis数据库;所述预装软件pi-datalink一方面进行数据的采集,把所述sis数据库中的测点信息导入所述预装软件microsoftexcel中,另一方面把导入到所述预装软件microsoftexcel中的测点数据进行布局,生成数据监视画面,并且导入不同机组的测点数据,实现跨机组同屏监视的功能。[0006]进一步的,所述预装软件microsoftexcel创建宏,设置定时器按设定周期自动计算,生成测点数据的实时更新模块。[0007]进一步的,所述预装软件microsoftexcel创建宏,通过赋值语句记录每次采集到的测点数据,再转化为图表,生成历史曲线模块。[0008]进一步的,通过设置所述预装软件microsoftexcel中excel单元格条件格式,使测点数据达到设定值时改变颜色,生成光字牌报警功能模块。[0009]进一步的,通过所述预装软件microsoftexcel中excel自定义公式,创建声音报警公式,所述测点数据一旦达到设定值时播放声音文件,生成声音报警功能模块。[0010]进一步的,所述测点数据的实时更新模块、所述历史曲线模块、所述光字牌报警功能模块和所述声音报警功能模块模块根据需要进行排列部件,并借助所述预装软件microsoftexcel中excel电子表格功能进行数据的分析和整理,完成逻辑判断,满足电厂对运行参数监视、历史曲线、光字牌报警以及声音报警的需求。[0011]本发明的一个方面带来的有益效果是:运行人员可根据自己的需求设置要监视的数据,并按照自己的想法排列布局,形成最适合自己的监视画面,可以实现跨机组同屏监视,用少量的画面就可以监视全厂重要数据。[0012]本发明的一个方面带来的有益效果是:运行人员可以按照自己的需要设置报警,可任意设定报警触发条件,实现报警功能,形成最适合自己的报警系统,监视画面和报警系统的修改简单,可以随时增减采集数据、增减报警、修改报警条件,无需添置新硬件,部署简单。[0013]本发明的一个方面带来的有益效果是:对开发、维护人员的技术要求低,只需对excel有一定了解,即可实现本发明的开发与维护,安全可靠,不会影响机组安全运行。附图说明[0014]图1为附图为本发明基于sis系统和excel平台的电厂运行监视报警系统流程示意图;图2为本发明具体实施方式中基于excel表单关联的dcs项目数据生成系统的系统结构图。具体实施方式[0015]为使本发明解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本发明实施例的技术方案做进一步的详细描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的实施例,都属于本发明的保护范围。[0016]实施例1在客户端电脑上安装microsoftexcel、pi-datalink软件。将excel选项中“宏设置”设置为“启用所有宏”。[0017]新建一个启用宏的excel工作簿。abcdefg1ꢀ#1机组#2机组#3机组#4机组#5机组#6机组2机组负荷2142231971963733813烟囱入口so22618131015164烟囱入口nox4031394121235烟囱入口dt2.11.31.50.70.61.2[0018]表1表1展示了sheet1工作表中从sis数据库导入的部分测点数据,以下结合表1说明把sis数据库中的测点信息导入到excel中的方法,以添加“#1机组烟囱入口so2”测点数据为例:在sheet1工作表b3单元格中输入pi-datalink软件提供的公式:=picurrval("11d1ai002",0,"172.17.99.56")(其中"11d1ai002"为“#1机组烟囱入口so2”测点在sis数据库中的id,"172.17.99.56"为sis数据库地址),即可把测点数据导入到b3单元格中。其它测点数据用同样的方法导入,运行人员可根据自己的需求导入测点数据,并按照自己的想法排列布局,从而实现跨机组同屏监视。[0019]导入到excel的测点数据可以实现超限后变色报警,以下说明实现测点数据变色报警的方法,以表1中的“烟囱入口so2”添加变色报警为例:选中b3:g3单元格,在“条件格式”中输入如下公式:=b$3>25,在“格式”中设定好醒目的样式,本例中设定的是改变背景颜色,即可实现各机组烟囱入口so2超过25变色报警。[0020]测点数据导入到excel中后,是不会实时更新的,只有excel计算时才会更新。以下说明实现数据实时更新的方法:在excel中创建名为“实时更新”和“调用定时器”两个宏,代码如下:sub实时更新()calculaterunwhen=now()+timevalue("00:00:10")application.ontimerunwhen,"调用定时器"endsubsub调用定时器()实时更新endsub“实时更新”宏的作用为计算excel工作簿,延时10秒后运行"调用定时器"宏。"调用定时器"宏的作用为运行“实时更新”宏。两个宏循环调用,即可实现每10秒更新一次测点数据,更新周期可以在“实时更新”宏中修改。[0021]修改workbook_open事件,可以实现打开工作簿后即自动更新数据,代码如下:privatesubworkbook_open()实时更新endsub以下说明显示历史曲线的方法,以添加各机组烟囱入口so2历史曲线为例:在excel中创建名为“历史曲线”的宏,代码如下:sub历史数据()worksheets("sheet2").range("a2:g360")=worksheets("sheet2").range("a3:g361").valuesheet2.[a361]=now()worksheets("sheet2").range("b361:g361")=worksheets("sheet1").range("b3:g3").valueendsub在“实时更新”宏中添加调用“历史数据”宏语句,就会在刷新数据时把各机组烟囱入口so2的历史数据记录到sheet2工作表a2:g361区域中,历史数据数量可以自行调整,然后再用excel图表功能把历史数据转化为图表,从而实现历史曲线功能.abcd1报警描述定值设定投入状态报警状态2#1机组烟囱入口so2超标25投入报警3#2机组烟囱入口so2超标25投入4#3机组烟囱入口so3超标25投入5#4机组烟囱入口so3超标25投入6#5机组烟囱入口so4超标25投入7#6机组烟囱入口so4超标25退出表2表2展示了sheet3工作表中部分报警功能,以下结合表1、表2说明实现声音报警功能的方法:在excel中创建自定义公式,代码如下:privatedeclarefunctionplaysoundlib"winmm.dll"_alias"playsounda"(byvallpsznameasstring,_byvalhmoduleaslong,byvaldwflagsaslong)aslongfunctionalarm1(strasstring)asstringdimwavfileasstringalarm1=strconstsnd_async=&h1constsnd_filename=&h20000wavfile="d:\报警声音1.wav"callplaysound(wavfile,0&,snd_asyncorsnd_filename)endfunction该公式的语法为:alarm1("text"),其中"text"为输出到单元格的内容,可以修改。该公式的作用为显示设定内容并播放“d:\报警声音1.wav”声音文件,如果需要不同的报警音可以创建多个公式。[0022]以在表2中添加#1机组烟囱入口so2超标声音报警为例,在d2单元格中输入如下公式:=if(c2="退出","",if(sheet1!b3>b2,alarm1("报警"),"")),该公式实现的作用为:sheet1工作表b3单元格中的数值(即#1机组烟囱入口so2)>sheet3工作表b2单元格时,sheet3工作表d2单元格显示“报警”文字并播放报警音,当sheet3工作表c2单元格为“退出”时,不报警。这样就实现了声音报警。修改sheet3工作表b2单元格数值可以修改报警条件,修改c2单元格可以投入或退出报警。[0023]以下结合表2说明实现光字牌报警功能的方法,以在表2中添加各机组烟囱入口so2超标光字牌报警为例:选中a2:d7单元格,在“条件格式”中输入如下公式:=if($d2="报警",1,),在“格式”中设定好醒目的样式,本例中设定的是改变背景颜色,即可实现各机组烟囱入口so2超标光字牌报警。选中a2:d7单元格,在“条件格式”中输入如下公式:=if($c2="退出",1,),在“格式”中设定好醒目的样式,本例中设定的是改变背景颜色,即可实现退出报警的光字牌提醒。[0024]实施例2本实施例是在实施例1的基础上对基于sis系统和excel平台的电厂运行监视报警系统做进一步的功能延伸,进一步阐明基于基于sis系统和excel平台二者的数据关联系统的具体生成过程以及注意要点,具体如下:首先,在客户端电脑上安装microsoftexcel、pi-datalink软件。将excel选项中“宏设置”设置为“启用所有宏”。[0025]新建一个启用宏的excel工作簿。abcdefg1ꢀ#1机组#2机组#3机组#4机组#5机组#6机组2机组负荷2142231971963733813烟囱入口so22618131015164烟囱入口nox4031394121235烟囱入口dt2.11.31.50.70.61.2[0026]表1表1展示了sheet1工作表中从sis数据库导入的部分测点数据,以下结合表1说明把sis数据库中的测点信息导入到excel中的方法,以添加“#1机组烟囱入口so2”测点数据为例:在sheet1工作表b3单元格中输入pi-datalink软件提供的公式:=picurrval("11d1ai002",0,"172.17.99.56")(其中"11d1ai002"为“#1机组烟囱入口so2”测点在sis数据库中的id,"172.17.99.56"为sis数据库地址),即可把测点数据导入到b3单元格中。其它测点数据用同样的方法导入,运行人员可根据自己的需求导入测点数据,并按照自己的想法排列布局,从而实现跨机组同屏监视。[0027]导入到excel的测点数据可以实现超限后变色报警,以下说明实现测点数据变色报警的方法,以表1中的“烟囱入口so2”添加变色报警为例:选中b3:g3单元格,在“条件格式”中输入如下公式:=b$3>25,在“格式”中设定好醒目的样式,本例中设定的是改变背景颜色,即可实现各机组烟囱入口so2超过25变色报警。[0028]测点数据导入到excel中后,是不会实时更新的,只有excel计算时才会更新。以下说明实现数据实时更新的方法:在excel中创建名为“实时更新”和“调用定时器”两个宏,代码如下:sub实时更新()calculaterunwhen=now()+timevalue("00:00:10")application.ontimerunwhen,"调用定时器"endsubsub调用定时器()实时更新endsub“实时更新”宏的作用为计算excel工作簿,延时10秒后运行"调用定时器"宏。"调用定时器"宏的作用为运行“实时更新”宏。两个宏循环调用,即可实现每10秒更新一次测点数据,更新周期可以在“实时更新”宏中修改。[0029]修改workbook_open事件,可以实现打开工作簿后即自动更新数据,代码如下:privatesubworkbook_open()实时更新endsub以下说明显示历史曲线的方法,以添加各机组烟囱入口so2历史曲线为例:在excel中创建名为“历史曲线”的宏,代码如下:sub历史数据()worksheets("sheet2").range("a2:g360")=worksheets("sheet2").range("a3:g361").valuesheet2.[a361]=now()worksheets("sheet2").range("b361:g361")=worksheets("sheet1").range("b3:g3").valueendsub在“实时更新”宏中添加调用“历史数据”宏语句,就会在刷新数据时把各机组烟囱入口so2的历史数据记录到sheet2工作表a2:g361区域中,历史数据数量可以自行调整,然后再用excel图表功能把历史数据转化为图表,从而实现历史曲线功能.abcd1报警描述定值设定投入状态报警状态2#1机组烟囱入口so2超标25投入报警3#2机组烟囱入口so2超标25投入4#3机组烟囱入口so3超标25投入5#4机组烟囱入口so3超标25投入6#5机组烟囱入口so4超标25投入7#6机组烟囱入口so4超标25退出表2表2展示了sheet3工作表中部分报警功能,以下结合表1、表2说明实现声音报警功能的方法:在excel中创建自定义公式,代码如下:privatedeclarefunctionplaysoundlib"winmm.dll"_alias"playsounda"(byvallpsznameasstring,_byvalhmoduleaslong,byvaldwflagsaslong)aslongfunctionalarm1(strasstring)asstringdimwavfileasstringalarm1=strconstsnd_async=&h1constsnd_filename=&h20000wavfile="d:\报警声音1.wav"callplaysound(wavfile,0&,snd_asyncorsnd_filename)endfunction该公式的语法为:alarm1("text"),其中"text"为输出到单元格的内容,可以修改。该公式的作用为显示设定内容并播放“d:\报警声音1.wav”声音文件,如果需要不同的报警音可以创建多个公式。[0030]以在表2中添加#1机组烟囱入口so2超标声音报警为例,在d2单元格中输入如下公式:=if(c2="退出","",if(sheet1!b3>b2,alarm1("报警"),"")),该公式实现的作用为:sheet1工作表b3单元格中的数值(即#1机组烟囱入口so2)>sheet3工作表b2单元格时,sheet3工作表d2单元格显示“报警”文字并播放报警音,当sheet3工作表c2单元格为“退出”时,不报警。这样就实现了声音报警。修改sheet3工作表b2单元格数值可以修改报警条件,修改c2单元格可以投入或退出报警。[0031]以下结合表2说明实现光字牌报警功能的方法,以在表2中添加各机组烟囱入口so2超标光字牌报警为例:选中a2:d7单元格,在“条件格式”中输入如下公式:=if($d2="报警",1,),在“格式”中设定好醒目的样式,本例中设定的是改变背景颜色,即可实现各机组烟囱入口so2超标光字牌报警。选中a2:d7单元格,在“条件格式”中输入如下公式:=if($c2="退出",1,),在“格式”中设定好醒目的样式,本例中设定的是改变背景颜色,即可实现退出报警的光字牌提醒。[0032]关于基于sis系统和excel平台二者的数据关联,本实施例中采用了如下的关联关系,即包括,表单关系生成模块、公式定义模块和结果表单计算模块。其中:表单关系生成模块,用于根据预定规则,在excel文件不同表单的键列之间建立关联关系;公式定义模块,用于根据sis所需的数据类型,定义用于计算结果表单中各键列数据的运算规则;结果表单计算模块,用于根据所述表单关系生成模块所建立的所述关联关系和所述公式定义模块所定义的所述运算规则,对excel文件各表单中的数据进行计算,从而得到所述结果表单。[0033]对于表单关系生成模块,具体用于根据预先定义的规则,利用excel可识别的配置表述在excel文件不同表单的键列之间建立关联关系,其中所述配置表述中至少指示存在所述关联关系的表单以及存在所述关联关系的键列;至于公式定义模块,具体用于根据sis所需的数据类型,定义用于计算结果表单中各键列数据的运算规则,其中在所述运算规则中,所计算的源数据来自excel文件的不同表单中的键列数据,而目标数据是利用所述运算规则在所述键列数据之间进行计算之后的计算结果,从而形成所述结果表单;至于结果表单计算模块,具体用于根据所述公式定义模块所定义的所述运算规则,在作为所述源数据的excel文件的不同表单中的所述键列数据之间进行计算,从而得到所述结果表单中各键列的数据,在此过程中,所述结果表单计算模块还根据所述表单关系生成模块所建立的所述关联关系中确定的不同表单数据行之间的对应关系,逐行计算出结果表单中的数据。其中上述涉及到的源数据包括回路表单、输入点表单以及输出点表单,涉及到的关联关系是指所述预装软件microsoftexcel中excel文件不同表单的键列的内容相同,配置表述存储在excel可识别的文件中,以被excel识别和处理。[0034]实施例3本实施例是在实施例1和实施例2的基础上,对基于sis系统和excel平台的电厂运行监视报警系统功能做进一步延伸阐述,主要涉及sis系统数据和excel平台的关联调用,具体过程如下所示:首先,在客户端电脑上安装microsoftexcel、pi-datalink软件。将excel选项中“宏设置”设置为“启用所有宏”。[0035]新建一个启用宏的excel工作簿。abcdefg1ꢀ#1机组#2机组#3机组#4机组#5机组#6机组2机组负荷2142231971963733813烟囱入口so22618131015164烟囱入口nox4031394121235烟囱入口dt2.11.31.50.70.61.2[0036]表1表1展示了sheet1工作表中从sis数据库导入的部分测点数据,以下结合表1说明把sis数据库中的测点信息导入到excel中的方法,以添加“#1机组烟囱入口so2”测点数据为例:在sheet1工作表b3单元格中输入pi-datalink软件提供的公式:=picurrval("11d1ai002",0,"172.17.99.56")(其中"11d1ai002"为“#1机组烟囱入口so2”测点在sis数据库中的id,"172.17.99.56"为sis数据库地址),即可把测点数据导入到b3单元格中。其它测点数据用同样的方法导入,运行人员可根据自己的需求导入测点数据,并按照自己的想法排列布局,从而实现跨机组同屏监视。[0037]导入到excel的测点数据可以实现超限后变色报警,以下说明实现测点数据变色报警的方法,以表1中的“烟囱入口so2”添加变色报警为例:选中b3:g3单元格,在“条件格式”中输入如下公式:=b$3>25,在“格式”中设定好醒目的样式,本例中设定的是改变背景颜色,即可实现各机组烟囱入口so2超过25变色报警。[0038]测点数据导入到excel中后,是不会实时更新的,只有excel计算时才会更新。以下说明实现数据实时更新的方法:在excel中创建名为“实时更新”和“调用定时器”两个宏,代码如下:sub实时更新()calculaterunwhen=now()+timevalue("00:00:10")application.ontimerunwhen,"调用定时器"endsubsub调用定时器()实时更新endsub“实时更新”宏的作用为计算excel工作簿,延时10秒后运行"调用定时器"宏。"调用定时器"宏的作用为运行“实时更新”宏。两个宏循环调用,即可实现每10秒更新一次测点数据,更新周期可以在“实时更新”宏中修改。[0039]修改workbook_open事件,可以实现打开工作簿后即自动更新数据,代码如下:privatesubworkbook_open()实时更新endsub以下说明显示历史曲线的方法,以添加各机组烟囱入口so2历史曲线为例:在excel中创建名为“历史曲线”的宏,代码如下:sub历史数据()worksheets("sheet2").range("a2:g360")=worksheets("sheet2").range("a3:g361").valuesheet2.[a361]=now()worksheets("sheet2").range("b361:g361")=worksheets("sheet1").range("b3:g3").valueendsub在“实时更新”宏中添加调用“历史数据”宏语句,就会在刷新数据时把各机组烟囱入口so2的历史数据记录到sheet2工作表a2:g361区域中,历史数据数量可以自行调整,然后再用excel图表功能把历史数据转化为图表,从而实现历史曲线功能.abcd1报警描述定值设定投入状态报警状态2#1机组烟囱入口so2超标25投入报警3#2机组烟囱入口so2超标25投入4#3机组烟囱入口so3超标25投入5#4机组烟囱入口so3超标25投入6#5机组烟囱入口so4超标25投入7#6机组烟囱入口so4超标25退出表2表2展示了sheet3工作表中部分报警功能,以下结合表1、表2说明实现声音报警功能的方法:在excel中创建自定义公式,代码如下:privatedeclarefunctionplaysoundlib"winmm.dll"_alias"playsounda"(byvallpsznameasstring,_byvalhmoduleaslong,byvaldwflagsaslong)aslongfunctionalarm1(strasstring)asstringdimwavfileasstringalarm1=strconstsnd_async=&h1constsnd_filename=&h20000wavfile="d:\报警声音1.wav"callplaysound(wavfile,0&,snd_asyncorsnd_filename)endfunction该公式的语法为:alarm1("text"),其中"text"为输出到单元格的内容,可以修改。该公式的作用为显示设定内容并播放“d:\报警声音1.wav”声音文件,如果需要不同的报警音可以创建多个公式。[0040]以在表2中添加#1机组烟囱入口so2超标声音报警为例,在d2单元格中输入如下公式:=if(c2="退出","",if(sheet1!b3>b2,alarm1("报警"),"")),该公式实现的作用为:sheet1工作表b3单元格中的数值(即#1机组烟囱入口so2)>sheet3工作表b2单元格时,sheet3工作表d2单元格显示“报警”文字并播放报警音,当sheet3工作表c2单元格为“退出”时,不报警。这样就实现了声音报警。修改sheet3工作表b2单元格数值可以修改报警条件,修改c2单元格可以投入或退出报警。[0041]以下结合表2说明实现光字牌报警功能的方法,以在表2中添加各机组烟囱入口so2超标光字牌报警为例:选中a2:d7单元格,在“条件格式”中输入如下公式:=if($d2="报警",1,),在“格式”中设定好醒目的样式,本例中设定的是改变背景颜色,即可实现各机组烟囱入口so2超标光字牌报警。选中a2:d7单元格,在“条件格式”中输入如下公式:=if($c2="退出",1,),在“格式”中设定好醒目的样式,本例中设定的是改变背景颜色,即可实现退出报警的光字牌提醒。[0042]关于基于sis系统和excel平台二者的数据关联,本实施例中采用了如下的关联关系,即包括,表单关系生成模块、公式定义模块和结果表单计算模块。其中:表单关系生成模块,用于根据预定规则,在excel文件不同表单的键列之间建立关联关系;公式定义模块,用于根据sis所需的数据类型,定义用于计算结果表单中各键列数据的运算规则;结果表单计算模块,用于根据所述表单关系生成模块所建立的所述关联关系和所述公式定义模块所定义的所述运算规则,对excel文件各表单中的数据进行计算,从而得到所述结果表单。[0043]对于表单关系生成模块,具体用于根据预先定义的规则,利用excel可识别的配置表述在excel文件不同表单的键列之间建立关联关系,其中所述配置表述中至少指示存在所述关联关系的表单以及存在所述关联关系的键列;至于公式定义模块,具体用于根据sis所需的数据类型,定义用于计算结果表单中各键列数据的运算规则,其中在所述运算规则中,所计算的源数据来自excel文件的不同表单中的键列数据,而目标数据是利用所述运算规则在所述键列数据之间进行计算之后的计算结果,从而形成所述结果表单;至于结果表单计算模块,具体用于根据所述公式定义模块所定义的所述运算规则,在作为所述源数据的excel文件的不同表单中的所述键列数据之间进行计算,从而得到所述结果表单中各键列的数据,在此过程中,所述结果表单计算模块还根据所述表单关系生成模块所建立的所述关联关系中确定的不同表单数据行之间的对应关系,逐行计算出结果表单中的数据。其中上述涉及到的源数据包括回路表单、输入点表单以及输出点表单,涉及到的关联关系是指所述预装软件microsoftexcel中excel文件不同表单的键列的内容相同,配置表述存储在excel可识别的文件中,以被excel识别和处理。[0044]为了得到sis系统所需一系列报表,将sis系统数据汇总在excel文件中。根据不同的数据种类,sis系统数据分别记录在不同的excel表单中,而不同表单中的数据之间是存在关联关系的。如果excel软件能够识别并处理这些关联,就可以以这些相互关联的表单为基础,对各表单中的项目数据进行运算,生成sis系统所需要的大量中间及结果表单,从而在excel软件环境下实现与sis软件系统中编程类似的功能。本实施例中利用excel的vba编程接口,开发了基于excel表单关联的sis项目数据生成系统。如图2所示,该系统包括表单关系生成模块10、公式定义模块20和结果表单计算模块30。其中,所述表单关系生成模块10用于根据预定规则,在excel文件不同表单的键列之间建立关联关系;所述公式定义模块20用于根据dcs所需的数据类型,定义用于计算结果表单中各键列数据的运算规则;所述结果表单计算模块30用于根据所述表单关系生成模块10所建立的所述关联关系和所述公式定义模块20所定义的所述运算规则,对excel文件各表单中的数据进行计算,从而得到所述结果表单。[0045]回路信息和输入/输出点信息是sis项目的基础数据之一,excel文件中分别记录这些信息的回路表单和输入/输出点表单也均是sis项目数据中的重要表单之一,它们的数据之间是存在关联关系的。[0046]在下面的具体实施方式说明中,我们以回路表单与输入/输出点表单之间的关联关系为例,说明本发明具体实施方式中系统和方法的功能和操作。[0047]下面,我们首先来介绍具体实施方式中基于excel表单的sis项目数据生成系统中的各功能模块:表单关系生成模块10在excel文件中,sis项目用“输入/输出点表单(dat_iol)”来记录和显示与输入/输出点有关的信息,该输入/输出点表单在本发明系统的excel软件界面中以表单名称“iol”表示。[0048]对于sis项目表单,将excel表格中的列称为“键列”,在该iol表单中具有一名称为“ptname”的键列。同时在excel文件中,sis项目中用“回路表单(dat_ptl)”来记录和显示与回路有关的信息,该回路表单在本发明系统的excel软件界面中以表单名称“ptl”表示。在该ptl表单中具有一名称为“processtagtagname”的键列。[0049]从键列中数据内容来看,iol表单中的“ptname”键列与ptl表单中的“processtagtagname”键列的内容是相同的,这就是所谓excel表单之间的关联关系。但是,由于这些数据内容在不同表单中是针对不同目的组织的,因而其内容的排列顺序是完全不同的。例如,在iol表单中的“ptname”键列中第m行的数据在ptl表单中的“processtagtagname”键列中则可能出现在第n行,而m并不等于n。[0050]在具体实施方式的表单关系生成模块10中,可根据软件预先定义的规则,在不同表单的键列之间建立关联关系,从而在后期的数据处理中识别并处理这种关联关系。[0051]具体地,可利用如下配置表述来建立上述iol表单中的“ptname”键列与上述ptl表单中的“processtagtagname”键列之间的关联关系:[link1]table1=ptl;table2=iol;key1=dat_ptl_pt_tag;key2=dat_iol_pt_name其中,table1和table2的值分别代表了要发生关联关系的表单名称“ptl”和“iol”,而key1和key2的值分别代表了两个表单中建立关联关系的键列名称,其中dat_ptl_pt_tag根据所定义的规则代表ptl表单中的“processtagtagname(pt_tag)”键列,而dat_iol_pt_name根据所定义的规则代表iol表单中的“ptname(pt_name)”键列。[0052]经过这样的配置表述,以excel软件可识别的方式说明了iol表单中的“ptname”键列与ptl表单中的“processtagtagname”键列数据内容相同这种关联关系。将这样的配置表述存储在名为“reportconfig.ini”的文件中,并可在后续数据处理中被excel软件识别并处理该关联关系。这样,本发明的系统基于关联关系以外在的方式建立了excel文件中多个sis数据表单的连接,提供了对跨数据表的sis项目数据进行处理的可能性。[0053]本领域技术人员可以理解,在上述实例中用户基于预先定义的规则进行了配置表述,从而实现了表单之间的关联关系,而该规则是可以由系统用户根据现有技术中的编程技术进行预先定义的,该规则定义本身并非本发明所关注的技术内容。[0054]公式定义模块20为了大大简化在sis软件系统中的编程工作,本发明具体实施方式中的系统基于sis软件系统中的数据类型,在excel软件环境下实现sis项目数据的运算。为此,则需要利用系统中的公式定义模块20进行运算规则的公式定义。[0055]为了了解sis软件系统中的数据类型,首先将sis软件系统中已进行编程的一个简单实例导出为项目文件并将其用excel软件打开,这时所有的数据类型和所对应的项目数据就均呈现在excel表单中。在去除具体的项目数据后,就得到了sis项目中所需的所有数据类型信息。[0056]根据sis项目所需的所有数据类型信息,就可以对上述所示的excel表单中的sis项目数据进行计算操作,从而在excel软件环境下进行sis编程工作。[0057]在各计算规则公式中,所计算的源数据正是来自excel文件中的各sis项目表单,而公式的目标数据则是利用上述运算规则在上述键列数据之间进行特定运算之后的计算结果,从而形成sis项目所需的结果表单。[0058]根据sis项目需求,公式定义模块20可以定义不同的运算规则和不同的源数据过滤条件,以得到不同用途的结果表单。[0059]本领域技术人员可以理解,在上述实例中公式定义模块20基于预先定义的语法规则定义了用于计算结果表单中各键列数据的公式,而该语法规则是可以由系统用户根据现有技术中的编程技术进行预先定义的,该语法规则定义本身并非本发明所关注的技术内容。[0060]结果表单计算模块30,基于表单关系生成模块10对表单间键列所建立的关联关系和公式定义模块20所定义的各运算规则,结果表单计算模块30就可以对各sis表单中的数据进行计算,从而得到sis项目的结果表单。[0061]具体地,根据公式定义模块20所定义的各运算规则,结果表单计算模块30可在作为源数据的表单键列数据间进行运算,从而得到结果表单中各键列的计算结果。在此过程中,由于各表单键列中均存在多行数据,而表单关系生成模块10对表单间键列所建立的关联关系则决定了不同表单间数据行的对应关系,这样,结果表单计算模块30就可以按照该对应关系逐行计算出结果表单中的全部结果。[0062]结果表单计算模块30根据预定义的运算规则,基于sis表单中各键列的数据逐行计算出了sis项目所需的结果数据,并以结果表单形式逐行列出。[0063]根据上述方法,结果表单计算模块30根据所定义的运算规则,对sis表单中的数据进行逐行计算,从而最终得到完整的结果表单,该结果表单即为sis系统所需的数据。[0064]计算完成后,系统还可将该结果表单存为sis系统可识别的文件,并将该文件导入sis系统中。sis系统读取出各行结果数据,可根据sis系统的现有功能进行自动系统配置,即完成了各项目工作。[0065]本领域技术人员应该理解,在上述系统功能的说明中,我们仅以sis项目中的回路信息和输入/输出点信息为例说明了本发明系统的功能。而在实际的系统操作中,该系统可以处理sis项目中所有类型的数据和所有的excel表单,其具体实现方式都是类似的,在此不做赘述。[0066]由此可见,本实施例中的基于excel表单关联的sis项目数据生成系统可使各类sis项目数据在excel软件环境下有效关联,并可直接生成sis系统可用的程序数据,降低了sis项目成本,提高了项目执行效率和项目执行质量。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1