曲线趋势设置时间

wincc的报表编辑器里,放了一个趋势,不过想设置起始时间,和终止时间,我试了下,取的是system info 里面的 时间,不行啊,打印的时候,不显示

最佳答案

网上的一篇文章,也就是用脚本设置控件属性——

 

 首先,你需要建立2个输入输出域用于输入你要显示的起始时间和结束时间。(变量连接类型为字符型)

 然后你需要设立一个按钮(当然也可以直接在你一个按钮脚本中输入)用于将输入的字符型变量转换为时间日期格式。

 按钮的VBS脚本为:

 Sub onClick(ByVal Item) 

 Dim ActDate

 Dim Year_Sect

 Dim Month_Sect

 Dim Day_Sect

 Dim Date_Mod

 Dim Date_End

 Dim ActTime

 Dim Time_Mod_b

 Dim Time_Mod_e

 Dim DateString_b

 Dim DateString_e

 

       ActDate = Date      '当前日期                                                                         

       Year_Sect = Year(Date)    ‘提取年份 

       Month_Sect = Month(Date) ’提取月份

       Day_Sect = Day(Date)    ‘提取日

       Date_Mod = Day_Sect & "." & Month_Sect & "." & Year_Sect

       ’然后根据归档的要求将日期重新组合成,日.月.年的格式

       ActTime = Time ‘当前时间

                                      

     

       Time_Mod_b = DateAdd("n", -15, ActTime)    ’起始时间减15分钟

       Time_Mod_e = DateAdd("n", -5,    ActTime)     ‘结束时间减5分钟

       DateString_b = Date_Mod &" "& Time_Mod_b     ’将起始时间编为:日.月.年    时间格式

       DateString_e = Date_Mod &" "& Time_Mod_e

 

 

       HMIRuntime.Tags("strVar_1").Write DateString_b    '25.02.2004 21:10:00

       HMIRuntime.Tags("strVar_2").Write DateString_e

 

 End Sub

 这段程序的作用就是查看过去15分钟到过去5分钟的时间段,如果你要显示任意时间,那么只要不调用DateADD函数即可。

 接下来你需要设立一个按钮,用于将时间设定起作用。

 大体思路是这样的:首先,停止趋势的显示,也就是取消激活(这里只是指趋势控件,而不是指项目),然后将转换的时间写入的控件属性,最后再激活控件,由于控件的时间是根据所有曲线来的,所以如果(这里指假设)你有3个变量(3条曲线,那么你需要重复3次,也就是说,我们可以对任意的曲线的时间作设定。)

 C语言脚本如下:

 void onClick(char* lpszPictureName, char* lpszObjectName, char* lpszPropertyName)

 {

 SetPropWord(lpszPictureName,"Control2","Index",0);      

     //相当于选择控件名为control2的趋势控件的第一条曲线(曲线顺序根据你组态控件时添加变量的先后)                              

 SetPropBOOL(lpszPictureName,"Control2","Online",FALSE);

 //在线方式的取消         

 SetPropBOOL(lpszPictureName,"Control2","TimeRange",FALSE);

 //取消当前的时间范围,方便我们将要定义的时间范围灌入      

 SetPropBOOL(lpszPictureName,"Control2","Activate",FALSE);      

 //将趋势控件取消激活

 

 SetPropChar(lpszPictureName,"Control2","BeginTime",GetTagChar("strVar_1")); 

 //设置起始时间,STRVAR变量为先前VBS中转换过来的

 SetPropChar(lpszPictureName,"Control2","EndTime",GetTagChar("strVar_2"));   

 //设置结束时间

 

 SetPropWord(lpszPictureName,"Control2","Index",1);      

 //对第二条曲线设置时间,如果你只有1条,那么无需写这段了,如果有多条,那么重复多次,你只需要改变Index后的参数,如第二条曲线,那么就是1,第3条,那么就是2了。

 SetPropBOOL(lpszPictureName,"Control2","Online",FALSE);         

 SetPropBOOL(lpszPictureName,"Control2","TimeRange",FALSE);     

 SetPropBOOL(lpszPictureName,"Control2","Activate",FALSE);  

 

 SetPropChar(lpszPictureName,"Control2","BeginTime",GetTagChar("strVar_1")); 

 

 SetPropChar(lpszPictureName,"Control2","EndTime",GetTagChar("strVar_2"));   

 

 

 SetPropBOOL(lpszPictureName,"Control2","Activate",TRUE);        

 //当所需要的时间曲线都设定完了后,激活控件即可,注意,你如果要对多个曲线做时间范围设定,那么你不能使用公共X轴和公共Y轴属性,否则无法看出效果。

 }
 

提问者对于答案的评价:
谢谢,不过又出现了一个小问题,就是我设置好开始,结束时间,又把温度强制了一个数值,出来的趋势图前面少了一大截,这是怎么回事,高人,有时间给我解释下好吧,我的邮箱是wd05468@yahoo.com.cn

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

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

相关推荐

  • 博图wincc,一台上位服务器,三台操作员站,如何下载上位程序

    软件采用博图V16,一台服务器(非冗余)安装的是wincc professional,三台操作员站安装wincc rt,现在可以在工程师站上运行,请问如何在操作…

    SIMATIC WinCC 2021年7月5日
  • wincc上怎么给多个内部变量写值

    我用VB脚本写下面函数,好像并没有把值写进去,是哪里写错了吗,该怎么实现(a0,a1,a2…a10以及在wincc内部变量定义过了)Dim shuzu(10)Dim&…

    SIMATIC WinCC 2021年7月5日
  • WinCC中图形编辑器中遇到的问题。

    今天我又遇到这样一个问题,我打开图形编辑器,任意打开某个图形文件,点击其中的某个对象就会出现后面描述的警告。标题是:Graphics Designer 内容是:…

    SIMATIC WinCC 2019年6月11日
  • 高分求WinCC6.2和WinCC7.0的中文版入门手册+使用手册。

    小弟在西门子官网上没有找到WinCC6.2和WinCC7.0的“中文版”入门手册+使用手册PDF,有些资料也是英文版的较多,阅读困难。哪位学长知道它们的下载链接,或者请直接发到我邮…

    SIMATIC WinCC 2019年6月11日
  • 修改计算机注册列表

    想在XP SP3上安装WINCC V6.2不是要修改计算机注册列表安装一个系统补丁吗?那里有这方面的资料吗?谁有发下网址,谢谢!!! 最佳答案 您所安装的版本不…

    SIMATIC WinCC 2018年12月7日
  • wincc报表怎么自动生成图片

    现在设置wincc每天打印一次,同时自动生成报表图片,请问wincc报表怎么自动生成图片?是在下面图片上file选项上打勾吗? 图片说明:    最佳答案 你那…

    2019年6月11日
  • 如何实现在登录确定后才显示功能按钮可操作

    我想在界面上设计个登录按钮,在用户成功登录前无法操作(按钮是灰色的),当用户成功登录后才可操作,即是在点击登录窗口的确认,并且无误后,操作按钮才恢复可用。请问怎么判断登录已经成功,…

    SIMATIC WinCC 2019年6月11日
  • 流量累加

    客户要求水泵流量,在上位机上体现实时流量,每小时流量累加,每天流量累加,每小时/每天/每月流量曲线图,流量数据可存档,汇总。对瞬时流量进行累加 用PLC做还是用在WINC…

    SIMATIC WinCC 2021年7月5日
  • wincc变量值由0变1触发一个动作

    当tag1(二进制变量)由0变为1时(由1变为0不执行),执行将tag2的值赋给tag3,脚本该怎么写?请高手指教! 最佳答案 需要结合一个内部变量示例vbs动作脚本:触发方式选择…

    SIMATIC WinCC 2020年11月1日
  • 高分求助画面显示问题

    我有3个图片,要求当一个二进制数a等于1,并且一个8位无符号整数b等于1、2、3时,分别显示1号、2号、3号图片,同时要求8位无符号整数b每固定时间间隔从1–2–3–1进行循…

    SIMATIC WinCC 2019年6月11日