请教WINCC运行事件记录问题

我用报警记录实现的,现在遇到一个问题,如何只显示从某个时刻开始的记录?其他时间的记录不必显示.

问题补充:
wincc flexible报警视图属性-"显示"中有一个显示区的控制变量输入,我输入了一个时间变量,不知为何不能实现从该时间开始显示记录.

最佳答案

找WinCC的DemoV6来看看,里面有相应的例子。
 例子里面是用户在画面上的I/O域中输入希望的起止日期、时间,然后点击按钮,则报警控件按照输入的时间范围进行显示。按钮的脚本如下:
 // WINCC:TAGNAME_SECTION_START
 // syntax: #define TagNameInAction "DMTagName"
 #define APCMsgFilterSQL "MsgFilterSQL"
 #define APCday_begin "day_begin"
 #define APCmonth_begin "month_begin"
 #define APCyear_begin "year_begin"
 #define APChour_begin "hour_begin"
 #define APCminute_begin "minute_begin"
 #define APCday_end "day_end"
 #define APCmonth_end "month_end"
 #define APCyear_end "year_end"
 #define APChour_end "hour_end"
 #define APCminute_end "minute_end"
 // next TagID : 12
 // WINCC:TAGNAME_SECTION_END

 // WINCC:PICNAME_SECTION_START
 // syntax: #define PicNameInAction "PictureName"
 // next PicID : 1
 // WINCC:PICNAME_SECTION_END

 WORD day_b,month_b,year_b,hour_b,minute_b;
 WORD day_e,month_e,year_e,hour_e,minute_e;
 char  SQLcmd[120];

 day_b=GetTagWord(APCday_begin);
 month_b=GetTagWord(APCmonth_begin); 
 year_b=GetTagWord(APCyear_begin);
 hour_b=GetTagWord(APChour_begin);
 minute_b=GetTagWord(APCminute_begin);

 day_e=GetTagWord(APCday_end);
 month_e=GetTagWord(APCmonth_end); 
 year_e=GetTagWord(APCyear_end);
 hour_e=GetTagWord(APChour_end);
 minute_e=GetTagWord(APCminute_end);

 
 sprintf(SQLcmd,"DATETIME >=  ''%d-%02d-%02d %02d:%02d:00.000000000'' AND DATETIME <=  ''%d-%02d-%02d %02d:%02d:00.000000000''",year_b,month_b,day_b,hour_b,minute_b,year_e,month_e,day_e,hour_e,minute_e); //Rückgabe-Typ :BOOL 
 //printf("SQL: DATETIME >=  ''%d-%02d-%02d %02d:%02d:00.000000000'' AND DATETIME <=  ''%d-%02d-%02d %02d:%02d:00.000000000''",year_b,month_b,day_b,hour_b,minute_b,year_e,month_e,day_e,hour_e,minute_e); //Rückgabe-Typ :BOOL 

 SetTagChar(APCMsgFilterSQL,SQLcmd);

 例子的核心部分是在报警控件的“MsgFilterSQL”属性由一个内部文本变量“MsgFilterSQL”控制,而控制可以通过脚本或其它方式构建一个筛选的字符串给MsgFilterSQL这个变量。

提问者对于答案的评价:
问题已解决,谢谢!

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc278319.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2019年6月11日 下午1:53
下一篇 2019年6月11日 下午1:54

相关推荐

  • WINCC 输入输出域的问题

    请问WINCC输入输出域属性中输入值和输出值能否能否连接不同变量,实现输入写到一个变量中,输出显示另外一个变量,我测试了一下好像不能,请问一下是否可以实现这样的功能,具体该改怎样设…

    2021年7月5日
  • Step7时间在Wincc中显示

    Step7中的计时同能(T )想在WINCC中显示 ,自己做了通过S5TIME显示,不过行不通。还请师兄指教 图片说明:    最佳答案 1…

    SIMATIC WinCC 2018年12月2日
  • 目前wincc2008的哪个版本能安装在win7旗舰版32位系统上?

    谢谢大侠们! 最佳答案 wincc flexible 2008 sp2可以在win7操作系统上安装,wincc flexible …

    SIMATIC WinCC 2018年12月14日
  • 画面窗口问题

    PDL2中建立画面窗口PDL1,窗口大小为长300,宽300,与PDL1的画面对象的大小均相等,但是在模拟运行时显示出来的PDL1的却画面不全,是什么原因? 最佳答案 注意几个地方…

    SIMATIC WinCC 2019年6月11日
  • wincc7.4 sp1访问独立置顶窗口中控件的问题

    对于嵌入窗口使用vbs访问对象可以采用这样的格式:Set  Obj1= HMIRuntime.Screens(基础窗口.画面窗口控件:画面窗口名称.二…

    2021年7月5日
  • wincc 报警记录打印格式

    我点报警控件上打印按钮,发现打印出来的标题都是wincc的标志  我想自己定制,请问有什么办法?谢谢 最佳答案 我觉得直接更改系统自带的报警布局(@Alarm&…

    SIMATIC WinCC 2019年6月11日
  • WinCC与西门子OP270、s7300和200的通信

    我现在做一个系统,之前是西门子OP270与一个S7-300和两个S7-200通过MPI通信,OP270读取S7-300和两个S7-200的值。我现在想用工控机,用WINCC通过MP…

    SIMATIC WinCC 2019年6月10日
  • wincc如何用电脑自带蜂鸣器报警

    报警信息,编号,消息文本已经用“wincc AlarmControl”做好了,报警记录也已经做好了,现在就希望能用最小的改动,让任何一个报警出现时都有电脑自带蜂鸣器的报警…

    SIMATIC WinCC 2021年7月5日
  • wincc C/S构架及报警声音

    冗余WINCC系统采用C/S构架问题1:客户端采用互连冗余切换正常,采用新建客户端项目时,冗余切换不正常;在客户端起始画面选的要主机画面不知道对不对,不对应用怎么组态?问题2:客户…

    SIMATIC WinCC 2021年7月5日
  • 正版授权问题

    正版的WINCC和STEP7软件一套下来要好几万  买回来后发现授权只能在一台机器上用  而且还是呢种软盘授权 要是想在别的机器上…

    SIMATIC WinCC 2019年6月11日