请问:
我想在线趋势控件中显示一个特定时间段的曲线。
我写的代码如下:
char *str_a;
char *str_b;
lpszObjectName="NewPdl1.PDL";
//str_a=GetTagChar("startdata");//起始时间
//str_b=GetTagChar("enddata");//结束时间
str_a="2008-3-4 12.00.00";//起始时间
str_b="2008-3-4 13.00.00";//结束时间
SetPropWord(lpszObjectName,"控件1","Index",0);
SetPropWord(lpszObjectName,"控件1","Index",1);
SetPropBOOL(lpszObjectName,"控件1","Online",FALSE);
SetPropBOOL(lpszObjectName,"控件1","TimeRange",0);
SetPropBOOL(lpszObjectName,"控件1","Activate",0);
SetPropChar(lpszObjectName,"控件1","BeginTime",str_a);
SetPropChar(lpszObjectName,"控件1","EndTime",str_b);
SetPropBOOL(lpszPictureName,"控件1","Activate",TRUE);
str_a="2008-3-4 12.00.00"时间格式这样写对不对。谢谢
最佳答案
时间格式不对,应该为:2008-03-04 12:00:00
另外,应先在组态时,将两个趋势设为时间轴共享,这样在代码中只需要设置index为0的趋势时间范围即可。
还有一点必须注意,就是必须保证在任一时刻,终止时间必须大于起始时间!特别是在用代码第二次及以后几次设置时间范围时会经常出现这样的问题。也就是是先设置控件的EndTime,还是先设置控件的BeginTime。
提问者对于答案的评价:
谢谢,问题已经解决了。
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc277936.html