如何通过脚本来动态组态在线趋势控件的时间范围?

n
n

动态属性:
可以通过内部 C 函数“ SetPropXXX() ”或者是画面对象的 VBS 在运行系统中设置对象的属性。以下是一个用于“ C ”与 VBS 的样例函数。n

动态化的注意事项:

  • 如果所有的曲线是用了公共时间轴,那么所有的曲线都将使用第一条曲线或者第一个时间轴的时间范围。n
  • 曲线或者时间轴的计数从“ 0 ”开始,也就是
    第一条曲线/时间轴的地址为“ 0 ”,
    第二条曲线/时间轴的地址为“ 1 ” ...,
    第 n 条曲线/时间轴的地址为“ n-1 ”。

附加信息

  • 在条目 ID: 34344393 中描述了如何在运行系统中改变时间范围而不使用脚本。n
  • 在条目 ID: 10259719 中描述了如何通过脚本为一条曲线分配不同的变量。n
  • 在 WinCC 信息系统中有更多的关于 WinCC Online Trend Control 动态化的方法及属性:
    “使用 WinCC ” > “ 创建过程和动作的 VBS ” > “ VBS Reference ” > “ Object types of the ScreenItem object ” > “ Controls ” > “ WinCC Online Trend Control ”。

起始及结束时间动态化

No. WinCC V7.0中的步骤-
WinCC Online TrendControl
WinCC V6.x 中的步骤-
WinCC Online Trend Control (Classic)
1

选择曲线
在在线趋势控件中选择您希望设置时间范围的曲线。

给“ TimeAxisIndex ”( long* )属性设置您所希望控制的曲线的值。给“ Index ”( word* )属性设置您所希望控制的曲线的值。
2切换为离线模式
将在线趋势控件切换为离线模式。
给“ Online ”( BOOL )属性赋值为“ FALSE ”。给“ Online ”( BOOL )属性赋值为“ FALSE ”。
3禁止时间范围
通过起始及结束时间定义了一个时间窗口。
将“ TimeAxisRangeType ”( long* )属性的值设置为“ 1 ”。将“ TimeRange ”( BOOL )属性的值设置为“ FALSE ”。
4设置起始时间
将“ TimeAxisBeginTime ”( char* )属性的值设置为所希望的起始时间。将“ TimeAxisBeginTime ”( char* )属性的值设置为所希望的起始时间。
5设置结束时间
将“ TimeAxisEndTime ”( char* )属性的值设置为所希望的结束时间。将“ EndTime ”( char* )属性的值设置为所希望的结束时间。
6更新数据
在在线趋势控件中更新数据。
不需要。从 WinCC V6.0 SP3 开始:
为此您需要将“ Command ”( char* )属性的值设置为“ Reload ”。 n

通过 C 脚本:
为此您需要将“ Activate ”属性的值设置为“ FALSE然后再次设置为“ TRUE ”。

WinCC V7.0

如何通过脚本来动态组态在线趋势控件的时间范围? Dyn_Start-End_WinCC70_C.txt ( 482 bytes ) n

如何通过脚本来动态组态在线趋势控件的时间范围? Dyn_Start-End_WinCC70_VBS.txt ( 540 bytes ) n

WinCC V6.x

如何通过脚本来动态组态在线趋势控件的时间范围? Dyn_Start-End_WinCC6x_C.txt ( 515 bytes ) n

如何通过脚本来动态组态在线趋势控件的时间范围? Dyn_Start-End_WinCC6x_VBS.txt ( 460 bytes ) n

通过 WinCC V7.0 动态化时间范围

No. 步骤
1

选择曲线
在在线趋势控件中选择您希望设置时间范围的曲线。
为此您需要将“ TimeAxisIndex ”( long* )属性的值设置为您所希望控制的时间轴。

2使能时间范围
为此您需要将“ TimeAxisRangeType ”( long* )属性的值设置为“ 0 ”。
3

设置时间范围
为此您需要将“ TimeAxisTimeRangeBase ”( long* )属性的值设置为期望值(例如 1000 )。n

注意:
时间范围是按照毫秒来进行设置的。以下值可用:n

  • 500 (500 毫秒)n
  • 1000 (1 秒)n
  • 60000 (1 分钟)n
  • 3600000 (1 小时)n
  • 86400000 (1 天)
4 设置时间范围因数
为此您需要将“ TimeAxisTimeRangeFactor ”属性的值设置为期望值(例如 30 )。

n

如何通过脚本来动态组态在线趋势控件的时间范围? Dyn_TimeRange_WinCC70_C.txt ( 389 bytes )
如何通过脚本来动态组态在线趋势控件的时间范围? Dyn_TimeRange_WinCC70_VBS.txt ( 300 bytes ) n

通过 WinCC V7.0 动态化测量点数

No. 步骤
1 选择曲线
在在线趋势控件中选择您希望设置时间范围的曲线。
为此您需要将“ TimeAxisIndex ”属性的值设置为您所希望控制的时间轴。
2 使能时间范围
为此您需要将“ TimeAxisRangeType ”属性的值设置为“ 2 ”。
3 设置测量点数
为此您需要将“ TimeAxisMeasurePoints ”属性的值设置为期望值(例如 120 )。

如何通过脚本来动态组态在线趋势控件的时间范围? Dyn_MeasPoints_WinCC70_C.txt ( 313 bytes )

如何通过脚本来动态组态在线趋势控件的时间范围? Dyn_MeasPoints_WinCC70_VBS.txt ( 258 bytes )

注意:

  • “ Command ”属性只存在于 WinCC V6.0 SP3 及更高版本中。当使用“ C ”时您可以使用“ Activate ”属性在在线趋势控件中来更新数据。
  • 在线趋势控件的“ Activate ”属性只适用于“ C ”的动态化而不适用于 VBS 。
  • 在运行系统中不能通过 VBS 来设置“ Activate ”属性,因为 VBS 是通过“ Activate ”方法来访问“ ScreenItems ”对象的。

时间设定及时间格式

  • 您可以在运行系统中通过输入/输出域来为操作人员提供开始时间的输入。输入/输出域根据 WinCC 变量动态化。在脚本中读出变量值用于写入“ BeginTime ”属性值。
  • 指定日期及时间的输入格式根据操作系统的国家设置以及 WinCC 运行语言。更多关于数据格式的信息可参看条目 ID 11377522 。德国格式的日期时间为“ DD.MM.YYYY hh:mm:ss ”,例如: 23.05.2006 14:23:00 (在日期及时间之间为空格)。
  • 用于指定开始及结束时间的文本输入/输出域可以使用字符“ t ”及“ 9 ”为格式代码以防止错误输入。用于输入日期及时间的文本输出格式为以下格式“ 39t99t2999 29:99:99 ”。

    如何通过脚本来动态组态在线趋势控件的时间范围?
    图 01

    更多关于输入/输出域的输出格式可参看 WinCC 信息系统:
    “使用 WinCC > 创建过程画面 > 使用对象 > 在对象选项板中使用对象 > 使用智能对象 > I/O 域 > 如何定义“字符串”数据类型的输出格式”。

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月5日 下午12:03
下一篇 2021年4月12日 上午12:00

相关推荐

发表回复

登录后才能评论