我用的是wincc flexible 2008,设置日期和时间只需打开“日期和时间域”,可选“显示系统时间和使用变量”,如你想添加实际的时间就选择“显示系统时间”如果不是,可选择“使用变量”,能力有限,不知道能不能帮到你!
1、首先在变量管理器,添加新的驱动程序,添加SystemInfo,创建新的驱动连接,创建新的变量,设置变量属性为系统时间,到此将系统时间建立变量连接。
2、其次在图形编辑器中添加一个静态文本,属性,字体。
3、最后将文本项动态连接到所设置的系统时间变量,保存运行,就显示时间了。
查询过程值归档
原理
通过以下查询,可访问过程值归档。可使用过滤标准选择数据。查询通过命令对象转发到
数据库。
说明
ValueID 的长度可以不同。
● 对于在中央归档服务器 (CAS) 上处理的数据库,ValueID 为 8 字节长,并且包括 HI-DWORD
区域中的服务器 ID,以及 LO-DWORD 区域中由相应服务器分配的 ValueID。
● 对于所有其它数据库,ValueID 为 4 字节长,并且仅包括由 WinCC 服务器分配的唯一
ValueID。
为了保持兼容性,通过 TAG:R 的 4 字节请求仍然可用。 在 CAS 数据库的情况下,返回
的 4 字节 ValueID 不再唯一。
语法
请注意,查询不能包含任何空格。
8 字节长 ValueID 的请求:
WinCC/连通性软件包文档
34 通过 OLE DB 提供者进行访问
MDM - WinCC/Connectivity Pack
系统手册, 11/2008, 53
TAG_LLVID:R,<ValueID 符
ValueName>,<TimeBegin>,<TimeEnd>[,<SQL_clause>][,<TimeStep>]
4 字节长 ValueID 的请求:
TAG:R,<ValueID 符 ValueName>,<TimeBegin>,<TimeEnd>[,<SQL_clause>]
[,<TimeStep>]
参数
参数 描述
ValueID 数据库表的值 ID
可以使用多个名称,例如
“TAG:R,(ValueID_1;ValueID_2;ValueID_x),<TimeBegin>,<TimeEnd>”
ValueName ValueName 的格式为“ArchiveName\Value_Name”。必须将参数 <ValueName> 括在单引号
中。
可以使用多个名称,例如
“TAG:R,('ValueName_1';'ValueName_2';'ValueName_x'), <TimeBegin>,<TimeEnd>”
注释
请注意,编程语言如 Visual Basic、VBScript 或 VBA 仅允许在变量名称中存在以下字符:
“AZ”、“az”、“09”以及“_”。
在 WinCC 中,如果在变量名称中使用特殊字符如“,”或“;”,则脚本将中止并出现错误消息。
这种情况下,可使用“变量 ID”访问其脚本名称中包含特殊字符的变量。
TimeBegin 开始时间,格式为:
“YYYY-MM-DD hh:mm:ssmsc”
使用 <TimeStep> 时,必须将 <TimeBegin> 指定为绝对时间。禁止使用相对语句“0000-00-00
00:00:00000”。
TimeEnd 结束时间,格式为:
“YYYY-MM-DD hh:mm:ssmsc”
SQL_Clause SQL 语法中的过滤标准:
[WHERE search_condition]
[ORDER BY {order_expression [ASC|DESC] } ]
“ORDER BY”标准仅可用于给出的排序顺序“{order_expression [ASC|DESC] }”。
实例:以下查询返回变量“ValueName_1”和“ValueName_2”的所有值,这些值小于 50 或大
于 100。
“TAG:R,('ValueName_1';'ValueName_2'),<TimeBegin>,<TimeEnd>, 'WHERE RealValue >
100 OR RealValue < 50'”
WinCC/连通性软件包文档
34 通过 OLE DB 提供者进行访问
MDM - WinCC/Connectivity Pack
54 系统手册, 11/2008,
参数 描述
TimeStep 在声明的时间间隔中的值被汇总,从开始时间 <TimeBegin> 开始
格式: “TIMESTEP=x,y”
x = 时间间隔(以秒计)
y = 汇总类型(定义时间间隔结果)
下列值可用于汇总类型:
无插补 有插补 描述
1 (FIRST)
2 (LAST)
3 (MIN)
4 (MAX)
5 (AVG)
6 (SUM)
7 (COUNT)
257 (FIRST_INTERPOLATED)
258 (LAST_INTERPOLATED)
259 (MIN_INTERPOLATED)
260 (MAX_INTERPOLATED)
261 (AVG_INTERPOLATED)
262 (SUM_INTERPOLATED)
263 (COUNT_INTERPOLATED)
第一个值
最后一个值
最小值
最大值
中值
总和
值数目
无插补意味着: 如果在时间间隔中不存在任何值,则不返回时间间隔结果。
有插补意味着: 如果在时间间隔中不存在任何值,则将由非空的邻近时间间隔的结果线性
插补得出一个值。不使用外插法。
实例: 例如 TIMESTEP=60,257,对于每个 60 秒的时间间隔,将返回此时间间隔的第一个
值;如果此时间间隔中没有任何值,则返回邻近的时间间隔中第一个值的线性插补
值。
“TAG:R,1,'2004-07-09 09:03:00000','0000-00-00 00:10:00000','TIMESTEP=60,257'”
说明
<TimeBegin> 和 <TimeEnd> 不得同时为“零”,即“0000-00-00 00:00:00000”。
为了提高性能,请在查询期间用参数“ValueID”代替“ValueName”。在“归档”表上可确定
“ValueID”。
某些应用程序不能以 1 ms 的步长处理过程值,这可能会导致结果不准确。
在“实例:使用 WinCC OLE DB 提供程序读取过程值归档”一章中,您将找到一个以
“SplitDateTimeAndMs”VB 脚本编写的实例,该实例用于删除过程值时间戳中的毫秒。在
演示项目“OpConPack”中,也实现了该脚本。
绝对时间间隔的选择
从开始时间 <TimeBegin> 开始读取,到结束时间 <TimeEnd> 为止。
WinCC/连通性软件包文档
34 通过 OLE DB 提供者进行访问
MDM - WinCC/Connectivity Pack
系统手册, 11/2008, 55
实例 A1:
从开始时间 9:03 到结束时间 9:10 读取 ValueID 1 的值。
“TAG:R,1,'2004-07-09 09:03:00000','2004-07-09 09:10:00000'”
相对时间间隔的选择
从记录开始时读取:
<TimeBegin> = '0000-00-00 00:00:00000'
读取到记录结束为止:
<TimeEnd> = '0000-00-00 00:00:00000'
<TimeBegin> 和 <TimeEnd> 不得同时为“零”,即“0000-00-00 00:00:00000”。
说明
使用以下格式,输入要在链接的归档数据库中进行查询的相对期间:
● 0000-00-DD hh:mm:ssmsc
如果以月表示时间范围,则其内容可能是错误的,因为一个月可包括 28 到 31 天。
实例 B1:
从“TimeBegin”到记录结束(即最后一个归档值)为止,读取绝对时间。
<TimeBegin> = '2003-02-02 12:00:00000', <TimeEnd> = '0000-00-00
00:00:00000'
实例 B2:
从“TimeBegin”开始连续 10 秒读取绝对时间。
<TimeBegin> = '2003-02-02 12:00:00000', <TimeEnd> = '0000-00-00
00:00:10000'
实例 B3:
从“TimeEnd”开始,反向连续 10 秒读取绝对时间。
<TimeBegin> = '0000-00-00 00:00:10000', <TimeEnd> = '2003-02-02
12:00:00000'
WinCC/连通性软件包文档
34 通过 OLE DB 提供者进行访问
MDM - WinCC/Connectivity Pack
56 系统手册, 11/2008,
实例 B4:
从多个 valueID (1;3;5;6) 的最后一个归档值开始,读取最后一小时的值。
“TAG:R,(1;3;5;6),'0000-00-00 01:00:00000','0000-00-00
00:00:00000'”
实例 B5:
从“ArTags”归档的“TAG_2”变量的最后一个归档值开始,读取最后五分钟的值。
“TAG:R,'ArTags\TAG_2','0000-00-00 00:05:00000','0000-00-00
00:00:00000'”
下图显示了此实例的可能结果。该查询通过连通性软件包演示项目实现。
对变量值使用过滤器进行多个返回值的查询
实例 C1:
以下查询也使用 <SQL_Clause> 参数,并且返回所有包含 ValueID“3”、“6”并且小于 50 或
大于 100 的变量值。
WinCC/连通性软件包文档
34 通过 OLE DB 提供者进行访问
MDM - WinCC/Connectivity Pack
系统手册, 11/2008, 57
“TAG:R,(3;6),<TimeBegin>,<TimeEnd>,'WHERE RealValue > 100 OR
RealValue < 50'”
带参数 <TimeStep> 的查询
实例 C2:
以下查询使用 <TimeStep> 参数,并且返回所有 ValueID“1”的值,从开始时间“TimeBegin”
开始,直到 5 分钟后为止,时间间隔为“60”秒,汇总类型“5”=“无插补的平均值”。
“TAG:R,1,'2004-10-13 17:00:00000','0000-00-00 00:05:00000',
'TIMESTEP=60,5'”
下图显示了查询结果。左侧表格显示了在某个 30 秒的归档周期内归档的归档数据。右侧
表格显示了查询结果。它决定了“0”秒和“30”秒时的两个归档值的平均值,通过平均间隔的
第一个时间戳(即“0”秒)显示。
实例 C3:
以下查询使用 <TimeStep> 参数,并且返回所有 ValueID“1”和“2”的值,从开始时间
“TimeBegin”开始,直到 2 分钟后为止,时间间隔为“15”秒,汇总类型“261”=“有线性插补的
平均值”。
“TAG:R,(1;2),'2004-10-13 17:00:00000','0000-00-00
00:02:00000', 'TIMESTEP=15,261'”
下图显示了查询结果。左侧表格显示了在某个 30 秒的归档周期内归档的归档数据。右侧
表格显示了查询结果。对于在查询结果中显示的“0”秒和“30”秒时的归档值,其时间戳不变。
WinCC/连通性软件包文档
34 通过 OLE DB 提供者进行访问
MDM - WinCC/Connectivity Pack
58 系统手册, 11/2008,
“15”秒时,线性插补值由在“0”秒和“30”秒时的归档值形成。 “45”秒时,线性插补值取自同
一分钟的“30”秒时的归档值和下一分钟的“0”秒时的归档值。
以上就是关于wincc flexible中如何设定日期和时间全部的内容,包括:wincc flexible中如何设定日期和时间、wincc画面时间不准如何调整、WinCC里用什么函数能把SQL里某一时刻的历史归档数值调出来,赋值给一个变量等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)