关于wincc 趋势,C脚本的问题请教。

问题1:想做历史趋势画面,加了2个控件,随意控制曲线名称,以后可以重复利用的。
 以下是自己参考论坛里的资料的写的,觉得不怎么好,想改进一下:
 请问:1.我手动对曲线的属性修改,如曲线颜色,时间宽度,起始时间等等,其实我想知道这些属性、参数值的写法(最好把常用的属性及其参数值说多点)
       2.麻烦把对下面的代码写法完善一点。现在只是简单的实现功能,如果设置时间什么的,还要到里面设置,比较繁琐。
       3.查归档时,发现无法查询前天的数据,这是为什么啊?是不是我的归档设置里的数据库设置小了啊?我想查询半月或更长的应该怎么设置。

 这是一条曲线的代码
 Sub OnClick(Byval Item)                          
 Dim trendObj1,trendObj2
 Set trendObj1=ScreenItems("Control1")
 Set trendObj2=ScreenItems("Control2")
 trendObj1.Visible = True
 trendObj2.Visible = False

 trendObj1.Caption ="Ractor/Level_PID1.PV_IN"
 trendObj1.TagName ="AS08_server::SystemArchive\Ractor/Level_PID1.PV_IN"

 End Sub

 这是三条曲线的代码
 Sub OnClick(ByVal Item)                        
 Dim trendObj1,trendObj2
 Set trendObj1=ScreenItems("Control1")
 Set trendObj2=ScreenItems("Control2")
 trendObj1.Visible = False
 trendObj2.Visible = True
 trendObj2.Caption ="PID"
 trendObj2.Index = 0
 trendObj2.TagName ="AS08_server::SystemArchive\Ractor/Level_PID1.PV_IN"
 trendObj2.Index = 1
 trendObj2.TagName ="AS08_server::SystemArchive\Ractor/Level_PID1.SP"
 trendObj2.Index = 2
 trendObj2.TagName ="AS08_server::SystemArchive\Ractor/Level_PID1.LMN"
 End Sub

 问题2
 参考:http://www.ad.siemens.com.cn/service/answer/solution.asp?Q_id=26590&cid=1032 我对块的SMC属性修改后(对某一阀门块FB73进行了修改),pcs7编译发现所有的块都不能上传了,编译后出现一警告,意思是对变量作了比较,不一致什么的。后来我恢复原样后,又好了。(有些属性我知道是不能取消的,所以我选了不重要的变量) 请问这是什么原因啊?

 问题3
 请教一段c脚本函数 function(bool a,bool b,bool c),返回真假就可以啦,想在变量的动态对话框中直接调用全局C函数,就是求几个bool量的或值。

问题补充:
dcount107 你好,我在全局库中改了后,复制后拷贝到AS项目块中,发现还是不行,编译后记录中有:
  列出过程标签的参数:
  BA_EN BA_ID BA_NA HYS MO_PVHR MO_PVLR MSG_LOCK M_SUP_AH M_SUP_AL M_SUP_WH M_SUP_WL OCCUPIED OOS QERR QMSG_SUP STEP_NO U U_AH U_AL U_WH U_WL VSTATUS 

  操作员控制连接列表:
  BA_EN BA_ID BA_NA HYS MO_PVHR MO_PVLR MSG_LOCK M_SUP_AH M_SUP_AL M_SUP_WH M_SUP_WL          OOS QERR QMSG_SUP STEP_NO U U_AH U_AL U_WH U_WL VSTATUS 

  *** 出错 ***: 结构化 DM 变量 Ractor/Level_PID1_PV(类型 MEAS_MON)的 参数数量与操作员控制的连接数量不匹配。 是否要显示日志?
  请问这怎么解决?是不是更新的方法不对。顺便问下,全局库中修改了后,怎么更新所有子项目中的块。
 找到了,在blocks/options/charts/update 吧?对所有的AS进行统一的更新。
 

最佳答案

你的问题还真多啊,呵呵。
  问题1:
  1.VBS支持自动列出对象属性的,常用的有Color(曲线颜色,和Index配合使用),BeginTime(起始时间,格式yyyy-mm-dd HH:MM:SS),EndTime(结束时间,格式yyyy-mm-dd HH:MM:SS),这些在帮助中都有。
  2.我印象中VBS做不到动态设置OnlineTrend的时间段。C脚本倒是没有问题。如果你用VBS实现了请别忘了告诉我,^_^!
   SetPropDouble(lpszPictureName,"OnlineTrend1","Online",0); '停止更新
   SetPropDouble(lpszPictureName,"OnlineTrend1","Timerange",0); 
   SetPropChar(lpszPictureName,"OnlineTrend1","BeginTime","2008-9-11 22:10:0"); ’设置起始时间
   SetPropChar(lpszPictureName,"OnlineTrend1","EndTime","2008-9-11 22:11:00");  '设置终止时间
   SetPropDouble(lpszPictureName,"OnlineTrend1","Activate",0);  '
   SetPropDouble(lpszPictureName,"OnlineTrend1","Activate",1);  '更新数据,VBS中的Activate与此意义不同,我想这可能是VBS无法实现的原因吧。

  3.应该是你设置的太小了。到变量记录中,选择归档名称,选择快速归档,查看单个/所有分段的时间段设置。

  问题2:你可能没改好。修改FBxx块应当是在"项目_Lib"中修改,然后统一更新。

  问题3:你要的是这个吗?
  BOOL TestFunc(BOOL a,BOOL b,BOOL c)
  {
   return (a||b||c); 
  }
  其实这个根本用不着编写函数,动态对话框中直接写就可以,'TagA'||'TagB'||'TagC' 。

 补充:修改Lib中的FB_xx后,再拖一个到CFC中,根据系统提示替换现有块,最后完全编译一次。但我没有用过Ractor块,不知道WinCC的面板是否引用了哪些变量,因此我建议你还是不要随意修改的好。

提问者对于答案的评价:
问题基本上搞清楚了。谢谢您。ractor块是西门子的仿真块,培训的时候拷过来的,不是系统带的。

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

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

相关推荐

  • 在线表格控件

    请问  Wincc的在线表格控件可以调节列间距吗 我希望间距调的小点 组态之后 激活 好像不行  请…

    SIMATIC WinCC 2019年6月11日
  • PCS7面板修改问题

    我是PCS7的初学者,PCS7中motor功能块经OS编译后,在Wincc中的哪些电机面板的颜色怎么修改呵。系统默认的是绿色的运行。我想修改为红色运行,绿色停止(业主要求的)。请各…

    SIMATIC WinCC 2019年6月11日
  • wcc做时间记录

    我想做一个报表,举个例子说就是停机原因A吧,开始停机的时候我点A,然后记下这时停机的时间,当停机问题解除后我点复位,再记下这时停机解除的时间,每次停机都要记录这两项,原因还要记上,…

    SIMATIC WinCC 2019年6月11日
  • 组态列表框

    请问用VB怎样动态的更改智能对象中列表框的内容! 最佳答案 你是要动态修改列表框中条目的文本吗?如果是:1.VBS,将画面NewPdl0.Pdl的listbox1中的第二行的文本改…

    SIMATIC WinCC 2017年12月8日
  • 如何在WINCC中修改计算机的名字

    我用WINCC打开原来的文件的时候说服务器不能用,是否打开项目,讲本地计算机作为服务器,我启动本地服务器后说,无法打开WINCC项目-已组态服务器的项目管理器未运行,请检测服务器的…

    SIMATIC WinCC 2019年6月11日
  • wincc安装 web客户端时报错

    wincc安装 web客户端时报错,错误1935,怎样解决一下 图片说明:    最佳答案 如果是做WEB发布,客户机一般不用单独安装;在浏览器第一次…

    2021年7月5日
  • 请教wincc初始化脚本

    如题,如何在WinCC启动的时候做一次初始化?通过脚本如何实现的?另外,在全局脚本中控制如 XX.PDL画面中 YY控件的 Z属性该如何写脚本?谢谢!…

    SIMATIC WinCC 2018年12月9日
  • 趋势曲线

    求助各位兄弟姐妹,我把多个曲线做到了一个趋势图上,这样显示有些乱,我想让显示哪些曲线就显示哪些曲线,其他的曲线隐藏起来。谢谢 最佳答案 要实现曲线的单独显示,方法有几种:1、在一个…

    SIMATIC WinCC 2017年11月29日
  • wincc 可以监控霍尼韦尔的HC900吗

    想用wincc同时监控S7-400和霍尼韦尔HC900,可以吗? 问题补充:霍尼韦尔的HC900是DCS,用WINCC监控DCS可以吗? 最佳答案 可以 不是西门子控制器…

    SIMATIC WinCC 2018年12月9日
  • wincc报警来了确认和到达同时弹出

    为什么在报警记录中,报警信号第一次出现,列表中显示“确认”状态,报警消失显示“离开”状态,以后再出现报警信号“确认”和“到达”状态同时显示,报警消失显示“离开”状态。我只是一个初学…

    SIMATIC WinCC 2019年6月11日