在 WinCC flexible 中如何实现字符串归档? 点击:2037 | 回复:0



纵横军团-王道火山

    
  • 精华:2帖
  • 求助:5帖
  • 帖子:86帖 | 1878回
  • 年度积分:0
  • 历史总积分:7858
  • 注册:2012年1月11日
发表于:2012-08-19 23:01:25
楼主

用法说明:
以下我们演示两种不同的实现字符串变量归档的方式。

使用脚本对字符串类型变量进行归档

利用消息归档对字符串类型变量进行归档

在本条目的最后有一个示例程序来实现这两种功能。 使用到一个 MP277 操作面板和 PC Runtime 。
 

No.使用脚本对字符串类型变量进行归档
1示例程序展示如何在 CSV 文件中使用脚本完成对字符串类型变量的归档。

项目中使用的脚本具有同样的功能(字符串类型变量的归档)。
脚本的不同主要体现在创建的 CSV 文件的显示上。
(参照下面的“Fig. 04”和“Fig. 05”)。

注意:
注意 VBS 语法在 Windows-based CE 设备和 PC Runtime 中的区别。在这些操作系统中命令有时会有所不同。
因此存储在 MP277 中的脚本在 RT 仿真中不能测试。

2脚本的功能和结构:
通过脚本创建归档文件,如果文件一直有效,归档文件处于打开状态,变量值添加。
当变量值存储时文件名称中包含年月。

脚本运行一次变量值改变一次。

Script_01:
“Script_01” 有两个参数。

  • 存储路径 
  • 变量名称

使用这些参数可以定义存储路径(例如:“Drive C:\”或者“\Storage Card MMC\”)和将要归档的变量的名字。

Script_02:
“Script_02”有一个参数。 

  • 存储路径

使用这个参数定义存储路径(例如:drive C:\)。
被归档的变量在脚本进行中定义。

注意:
VBS 的功能让我们有很大的选择范围,来影响结果的显示和参数化不同的脚本。
可以按照自己的期望来改变脚本以适应需求。

请参照 WinCC flexible 在线帮助或者相关专家的论文来获得使用中函数和命令的信息。

3标签声明:
为了清楚起见……
  • 变量“Tag_01 到 Tag_03”被分配到“Script_01”。
  • 变量“Tag_10 到 Tag_12”被分配到“Script_02”。


Fig. 01
 

相关的脚本在变量的属性中调用 - “属性 〉事件 〉数值改变”。

重要提示:
存储路径和变量名的输入和详细说明。
存储路径和变量名,例如:对于“变量名”参数,必须“手动”输入不要使用“选择窗口”或者“自动完成”。

技巧:

  • 当输入时,“文本”不必显示为“粗体”。
  • 从“变量编辑器”复制完整的变量名称粘贴“文本”。

背景知识:
如果从“选择窗口”中得到变量名字,例如:目标的值没有传递到这个参数,只是仅仅涉及到目标(相似的链接) 。
另一方面,对其它的案例也是必需的。


Fig. 02

4“Screen_1”界面:
可以使用界面“Screen_1”来测试存储功能。
在适当的输入输出域中输入文本,并回车确认输入信息。


Fig. 03

5Excel 文件展示:

Script_01:
"Archiv_01_1_2008.csv"  (Archive_01, 一月 2008)
被归档的字符串类型变量自上而下一个接一个的列出来。


Fig. 04

Script_02:
"Archiv_02_1_2008.csv"  (Archive_02, 一月 2008)
字符串类型的变量被归档到不同的列中。


Fig. 05

 

No.使用消息归档来归档字符串类型的变量
1示例程序展示如何在 CSV 文件中使用消息归档来完成对字符串类型变量的归档。
2简要描述:
被归档的字符串类型变量被配置为“位报警” - 仅仅是“字符串类型变量”代替报警文本被输入到报警文本中。
当这些“位报警”被调用时,它们就被存储到报警日志中。
3变量声明:
在示例程序中变量 Tag_20、 Tag_21 和 Tag_22 存储在报警日志中。

函数“InvertBitInTag”在变量的“属性〉事件〉改变数值”中配置。
参数化变量“Trigger_Tag_Log_File”就是最后触发“位报警”的变量。这个“位”相当于“触发位”的值。


Fig. 06

功能:
-> 参照以下六点

4配置位报警:
  • 报警类型
    为了更好的处理创建了单独的报警类型,这样,可以为“位报警”单独分配报警类型。


Fig. 07

  • 位报警
    在这个程序下创建“位报警”。


Fig. 08

  • 第一点:
    仅仅是字符串类型的变量代替报警输入在文本中。
    在条目 “属性〉常规〉设置〉文本”中可以为输出变量值添加域。
  • 第二点:
    在条目“类”中选择新创建的报警类型“String_Log_File_Class”。
  • 第三点:
    “Trigger_Tag_Log_File”变量被用作“触发变量”。
    当相关的位被置位,有关的“报警”就会被显示。
5"Screen_2" 界面:


Fig. 09

  • 第一点:
    在第一点, 配置三个输入/输出域通过它们可以输入文本信息。
  • 第二点:
    归档报警文本通过该报警视图输出。
  • 第三点:
    选择“报警日志”参数和选择报警日志“String_log_01”。
  • 第四点:
    选择报警类型“String_Log_File_Class”。
  • 第五点:
    可以通过按钮调用“Screen_2”来更新报警日志显示。
6操作方法:


Fig. 10

可以通过输入/输出域(1)输入文本。
在被存储的变量中输入会产生“改变数值”事件,变量后台的函数将被执行- “Trigger_Tag_Log_File”变量的值发生变化。从0->1 或者 1-> 0 (参照第三点 - 变量声明)。

“Trigger_Tag_Log_File”变量的值的变化将会置位/复位相关的报警位。报警就会被自动触发/复位(参照第四点-位报警)。

在该程序中,信息不会直接在报警显示器中作为“错误信息”显示,但是“信息”会存储在 CSV 文件中。

在该程序中,报警日志(2)仅仅是为了在 CSV 文件中输出存储文本的内容。不可能从 CSV 文件中把数据写回来。

可以通过按钮(3)来更新报警日志的显示。



热门招聘
相关主题

官方公众号

智造工程师