PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 54|回复: 0

[西门子] WinCC动态生成历史趋势的方法

[复制链接]
发表于 3 天前 | 显示全部楼层 |阅读模式
>

        点击慧通工控关注我,设为星标★不错过每一篇深度好文

    历史趋势在WinCC中指的是通过趋势图展示过去一段时间内某个或某些变量的变化情况。这种趋势图通常用于监控和分析工业自动化过程中的数据,如温度、压力、流量等参数随时间的变化。通过历史趋势图,用户可以更好地理解过程行为,进行故障诊断,优化过程控制,以及进行历史数据分析。
    要组态历史趋势画面通常的做法是新建一个画面,画面里可组态一个或多个趋势控件来显示曲线。但是一旦组态完成就只能按组态的曲线来显示。当控件过多时,不但工作量大,而且不美观,显示效果差。
    其实WinCC是支持动态生成历史曲线的。在WinCC中动态生成历史趋势可以通过脚本语言如VBScript进行实现。本期文章便给朋友们介绍了如何在WinCC V7.5中动态显示历史曲线数据:

一、创建变量:首先,在WinCC变量管理中创建不同的变量组,并在变量组下创建相应的变量。每个变量组下包含的变量将用于后续的趋势显示。

二、创建变量归档:在WinCC变量记录下创建不同的变量归档,并在归档中添加变量。这些归档变量将以曲线的形式显示在WinCC画面中。

三、WinCC查询画面:在WinCC查询画面中,需要添加以下对象:
1、选项组控件:用于选择所查询的参数。
2、在线趋势控件:用于显示参数曲线。
3、按钮:用于执行查询事件。


四、查询脚本:编写数据查询脚本,根据选项组所选定的参数加载相应的多个归档变量到在线趋势控件,并可根据设定的查询时间范围设定控件时间轴的开始时间及结束时间。

五、脚本示例:以下是一个VBScript脚本示例,用于动态添加趋势并设置曲线属性:

Sub OnClick(ByVal Item)                                           

Dim OP1,myTrend
Dim TrendName(9),TrendCount
Set myTrend =ScreenItems("Trend1")
Dim i
For i=1 To myTrend.TrendCount
  myTrend.TrendIndex=i
  myTrend.TrendRemove=myTrend.TrendName'添加曲线前先删除所有曲线
Next
Set OP1=ScreenItems("OP1")'曲线选择选项组控件名称
Select Case OP1.Process'根据选择项设定曲线条数及各个归档变量名称
  Case 1'选择第1项
  TrendName(0)="流量\FLOW1"
  TrendCount=1
  ScreenItems("TXT2").text="流量曲线"
  ScreenItems("TXT1").text="测试流量"  
  ScreenItems("TXT3").visible=FalSE
  Case 2'选择第2项
TrendName(0)="压力\PRES1"
  TrendCount=1
  ScreenItems("TXT2").text="压力曲线"
  ScreenItems("TXT1").text="测试压力"  
  ScreenItems("TXT3").visible=FalSE
  Case 4'选择第3项
  TrendName(0)="温度\TEMP1"
  TrendCount=1
  ScreenItems("TXT2").text="温度曲线"
  ScreenItems("TXT1").text="测试温度"   
  ScreenItems("TXT3").visible=FalSE  
End Select
'添加趋势并设定曲线的属性
For i=1 To TrendCount
myTrend.TrendAdd= TrendName(i-1)
myTrend.TrendTagName= TrendName(i-1)'曲线名称
myTrend.TrendTrendWindow= "趋势窗口1" '曲线窗口名称
myTrend.TrendTimeAxis= "时间轴1" '时间轴
myTrend.TrendValueAxis= "数值轴1" '数值轴
Select Case i '设定各曲线颜色
     Case 1
     myTrend.TrendColor= RGb(0,0,0)'黑色
     ScreenItems("R1").backcolor=RGb(0,0,0)'黑色
     ScreenItems("R2").visible=False
     Case 2
     myTrend.TrendColor= RGb(255,0,0)'红色
     ScreenItems("R2").backcolor=RGb(255,0,0)
     ScreenItems("R2").visible=True      
     Case 4
     myTrend.TrendColor= RGb(0,0,255)'蓝色     
End Select
Next
End Sub

六、运行效果展示:

欢迎朋友们留言交流,共同学习进步!

您的赞助、在看、转发、分享我都喜欢!  请关注我们,不要错过更多分享。
文章导航:

西门子PLC常用的功能块与算法收藏大合集(附下载地址)

西门子S7-200  SMART仿真软件介绍一

西门子S7-200 SMART仿真软件介绍二(附软件下载链接)

西门子S7-200  SMART 实现流水灯程序的两种方法简介(附例程下载)
西门子S7-1200对模拟量输入和输出模块的读写操作(附例程下载)
S7-PLCSIM  Advanced V5.0模拟器的使用详解
V90伺服驱动器通过FB284功能块与S7-1200的连接(建议收藏)
西门子WinCC画面中选项组的使用简介
西门子WinCC中使用Industrial Gadgets Pro控件实现流水和电机动画效果


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-9-20 00:35 , Processed in 0.045928 second(s), 26 queries .

快速回复 返回顶部 返回列表