西门子6ES73411CH020AE0
描述:
注意:
目录:
在 WinCC flexible 中关于 VBScript 命令的文档
将信息保存到文本文件或 csv 文件的示例
通过单击“项目 > 新建...”,并选择“Multi Panels > MP 370 12" Touch”操作面板,创建新项目。
序号
数据类型
注意:
"Settings"
源代码的说明:
如果脚本发生运行时错误,那么“On Error Resume Next”语句是必需的。只要发生这种错误,该错误程序的下一条语句能自动执行。
注意:
如果文件或路径名称不存在,则如上提到的错误处理程序将执行。
的字符串将被“f”对象的“LinePrint”方法写入已打开的文件中。在此,变量值也被传送和保存。
注意:
然后使用“Close”方法关闭该文件。关键字“Nothing” 用于分离对象变量,该变量由“Set”命令分配给该对象。
后一条语句传输用户自定义的系统消息到 HMI 消息系统。
从文本文件或 csv 文件读取信息的示例
该示例基于先前的示例。先前示例中的配置在该示例中不是必须的。但是用到的组件仍然适用。
序号
数据类型
源代码的说明:
在 <行 24> 中的语句将访问 Windows 文件系统的对象传送到对象变量“f”。如下源代码包含运行时错误处理程序。如果运行时发生错误,将会在消息窗口中输出错误消息并终止脚本的运行。
注意:
如果文件无法打开,则如上提到的错误处理程序将执行,从而安全地终止脚本运行。
使用“Do-While-Loop”语句,通过对象变量“f”的“LineInputString”方法,当循环执行时,可以一行一行地读出文本文件中的内容。一旦到达文本文件末尾循环就被终止。
函数“Split”以分隔符来分离从文件中读取的文本行(
因为当保存时,可能包含空字符串(例如,参见图 09),这些字符串通过“Replace”函数来删除。因此,前三个参数必须。个参数包含字符串 (
示例 - HiField (a, b)的结构和内容:
数组
打开的文件在 <行 62> 被关闭。关键字“Nothing” 用于分离对象变量,该变量由“Set”命令分配给该对象。
后一条语句传输用户自定义的系统消息到 HMI 消息系统。
对于基于 Windows 的面板,如何使用脚本将信息保存到文本文件或读取出来?
为了对文本文件进行保存或读取信息的操作,必须能够访问 Windows CE 的文件系统。通过的对象变量进行这种访问。
关于 VBScript 的相关信息可以参见 WinCC flexible 帮助系统,位于“目录” 页面下“WinCC flexible 信息系统 > 使用 WinCC flexible > 参考”。
下面的表格说明如何在 WinCC flexible 中,将信息保存到文本文件或 csv 文件。
序号
操作过程
1
创建一个新项目
2
创建变量
表 01 - 变量
变量
1
bExtension
Bool
2
szMaterial
String
3
nPressure
Int
4
nTemperature
Int
示例中仅使用了内部变量。可以使用连接控制器的变量。
3
添加对象
“Process values”
“Pressure:”
“Temperature:”
“Material:”
“Text file:”
“mbar”
“°C”
“ Extension:”
0 => “.txt”
1 => “.csv”
4
建立脚本、文本列表和变量间的关联
表 02 - 链接到不同对象
变量/脚本
对象
对象用于...
nPressure
IO field
Pressure
nTemperature
IO field
Temperature
szString_1
IO field
Material
bExtension
Symbolic IO field
Extension
Write_data
Button
Save file
5
创建脚本 - 步
注意:
关于不同 VBScript 命令的更多信息,请参见 WinCC flexible 帮助。
在 <行 10> 中声明的变量只在脚本内部有效。在 <行 12> 中的变量“bExtension”是一个全局变量,可以在整个 WinCC flexible 项目中使用。使用该变量,可以通过符号 IO 域选择包含文件名称和扩展名的路径。
在 <行 24> 中的语句将访问 Windows 文件系统的对象传送到对象变量“f”。如下源代码包含运行时错误处理程序。如果运行时发生错误,将会在消息窗口中输出错误消息并终止脚本的运行。
如果使用“FileCtl.File”,将不能访问 Windows CE 文件系统。如果在使用其它操作系统的面板上运行该脚本,将会出现运行时错误。
6
注意事项
使用创建的“f”对象的“Open”方法,打开由“path”(路径名称)参数的文件。如果相关的文件不存在,则如上提到的错误处理程序将执行。
如果欲为文本字符串保存时间戳,可以使用 Now 函数。
示例:
f.LinePrint( Now & "; material; " & szMaterial & ";")
7
启动运行
注意:
为了调试脚本,启动带脚本调试器的 WinCC flexible 运行系统。
8
打开文本文件
如果将两种文本文件都存到存储卡上,那么可以在 PC 上使用读卡器看到这些文件,并使用适当的程序打开。
如下表格说明如何从文本文件或 csv 文件中读出信息并在 WinCC flexible 中显示。
序号
操作过程
1
创建一个新项目 - 可选项
如果使用先前的工程,那么直接进入 步骤 2。
2
连接变量
表 03 - 变量
变量
1
szString_1
String
2
nValue_1
Int
3
nValue_2
Int
注意:
如果不使用先前的项目,需要添加一个“Bool”变量“bExtension”。
3
添加对象
“Value_1:”
“Value_2:”
“String_1:”
“Text file:”
“Settings” (如果没有)
“Extension:” (如果没有)
0 => “.txt”
1 => “.csv”
4
建立脚本、文本列表和变量间的关联
表 04 - 链接到不同对象
变量/脚本
对象
对象用于...
nValue_1
IO field
Value_1
nValue_2
IO field
Value_2
szString_1
IO field
String_1
bExtension*)
Symbolic IO field
Extension
Read_data
Button
Read data
*)这些链接仅当没有为存储文件做过配置时是必需的。
5
创建脚本 - 步
注意:
关于不同 VBScript 命令的更多信息,请参见 WinCC flexible 帮助。
脚本中声明的所有变量只在脚本内部有效。使用符号 IO 域,通过在脚本 <行 17> 中的变量“bExtension”,可以选择包含文件名称和扩展名的路径。
如果脚本发生运行时错误,那么“On Error Resume Next”语句是必需的。只要发生这种错误,只要发生这种错误,该错误程序的下一条语句能自动执行。
如果使用“FileCtl.File”,将不能访问 Windows CE 文件系统。如果在使用其它操作系统的面板上运行该脚本,将会出现运行时错误。
6
创建脚本 - 第二步
使用创建的“f”对象的“Open”方法,打开由“path”(路径名称)参数的文件。如果相关的文件不存在,则如上提到的错误处理程序将执行。
7
创建脚本 - 第三步
为了保持数据结构,所有数据被传入一个二维数组“HiField”。因此并非该数组中所有的数据都是必需的,所以仅将数组中相关的数据传送到 WinCC flexible 全局变量中。
表 05 - 二维数组内容实例
b
0
1
2
a
0
"material"
"Steel"
""
1
"pressure"
"12"
"mbar"
2
"temperature"
"56"
"°C"
8
启动运行
注意:
为了调试脚本,启动带脚本调试器的 WinCC flexible 运行系统。