长时报警历史记录按天查询样例.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

长时报警历史记录按天查询样例

样例满足客户如下需求

1.要求存储的时间很长,本例中为180天。

2.报警记录存储之后,可以按天查询

3.选择记录中任意几天的数据导出到U盘。

由于当前VJD软件的报警查询机制,这些功能很难直接满足。

样例实现的思路。

1.通过配方机制存储报警,每天的记录存储在一个配方中,一个配方最多可以存储1024

条记录,本例中实现的是每天最多200条记录。

本例创建了一个配方组,配方组中有180个配方,每个配方200个成分变量以存储数据。

当报警产生时,在掉电保持型数组AlarmDate1[]中添加一条报警记录,格式为“时戳+

报警消息数组索引号+报警产生还是复归标识”

2.当触摸屏检测到跨天之后,将前一天的记录数组AlarmDate1[]赋值到配方数组

AlarmDate[]中并且进行配方保存,同时在掉电保持型内部数组AlarmIndex[]中存储索

引记录,格式为“时戳+配方号”。

3.当检索报警记录时,输入查询日期,在AlarmIndex[]内部数组中检索到最接近的一条记

录,将时戳信息显示出来供确认,同时下拉菜单中列出该日期再往前的5个记录的日期,

提供选择。当点击“确定”按钮之后,从选择好的记录中提取出时戳后面记录的配方号,

从相应的配方中装载数据到配方数组AlarmDate[]中,并显示出来。

4.当执行导出功能时:同样依据查询选择显示出来的日期,在AlarmIndex[]内部数组中检

索到最接近的一条记录,导出按钮右边的输入框可以输入连续导出几天的数据,本例最

多10天。

当点击“导出”按钮后,如果选择的是10天数据,程序自动循环10次,从选择的那天

开始,往前依次从10个配方中提取数据,然后将数据一条一条的填充到记录组中,所

以本例中还创建了一个记录组,配置为2000条以存储10*200条记录数据。当10次循

环结束之后,用记录组导出的功能,在U盘中将记录组数据导出成CSV文件。

如果日期记录不足10天,当遇到空记录时,循环自动终止。

注意点:

1.由于本例的报警显示需要按颜色区分是报警产生还是复归,所以本例用到文本部件来显

示信息,而文本部件在同一时刻只能选择一种字体,当进行多语言切换时可能会遇到问

题,比如中文简体和繁体的字库是不完全一致的,所以如果文本部件字体是中文简体,

那么系统切换为繁体时,简体中文字库中没有的繁体字必然不会正常显示,但简体中文

字库中是有英文字符的,英文显示没有问题。

所以本例中使用了两组完全重叠的显示部件,一个是简体字体显示中文和英文,一个设

定为繁体字体当语言切换为繁体中文时可以正常显示。两组部件随语言的选择控制可见

或者不可见。

2.事件组用于报警导出时临时存储数据,在事件组属性中选择“SRAM文件”,SARM中记

录数一定设定为“1”。

使用本样例注意事项:

1.本样例有四个变量设定基本参数,数值是直接在变量的初始值中设定的

AlarmScriptControl.SettingNumAlarm:

系统中总共有多少个报警,本例设定为80

AlarmScriptControl.SettingNumRecord:

每天存储多少条报警记录,本例设定为200

AlarmScriptControl.SettingNumIndex

总共存储多少天的记录,本例为180

AlarmScriptControl.SettingNumLine.

报警显示框显示多少行的数据,本例为8

1如果系统中的报警数目不是80,

a.更改变量AlarmScriptControl.SettingNumAlarm的初始值

b.更改报警变量数组及标志数组AlarmPLC[]和AlarmPLCSig[]的大小

c.更改报警消息数组大小AlarmMessEn[],AlarmMessSC[],AlarmMessTC[]

文档评论(0)

186****2377 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档