说明
VBS 脚本 (Visual Basic Scripting) 用于实现这些功能。为了保存或读取文本文件中的信息,必须能够访问 Windows CE 的文件系统。通过“文件系统对象”进行访问。
步骤
1.创建变量
- 使用“项目导航 > HMI_1 > HMI 变量 > 显示所有变量”打开变量编辑器。
- 按照下面描述添加四个内部变量:
变量 | ? ? ? ? 数据类型 | bExtension | Boolean | szMaterial | WString | nPressure | Int | nTemperature | Int |
|
2.添加对象
- 在“项目导航 > 画面” 下创建一个名叫 “ImportExportData” 的画面。
- 在画面上插入两个矩形。
- 添加一个符号 IO 域和三个常规 IO 域。
- 添加一个按钮和九个文本域。
- 摆放好所有对象并且按照下面输入文本:
?
- "Process values"
- "Pressure"
- "Temperature"
- "Material"
- "Text file"
- "mbar"
- "°C"
- "Settings"
- "Extension"
?
- 创建一个“值/范围”类型名为“Extension”的文本列表。
- 添加如下条目:
?
|
3.建立脚本、文本列表和变量间的关联
- 创建一个指定名称为“Write_data”的脚本。进入项目导航并且点击“脚本> VBScripts > 添加新的VB函数”。
- 链接“Write_data”到“Save file”按钮的“属性 > 事件 > 点击”下。
- 链接“Extension”文本列表到符号 IO 域“Extension”。
- 链接变量到下面相应的对象。
?
?变量/脚本 | 对象类型 | 对象用于 ... | iPressure | IO field | Pressure | iTemperature | IO field | Temperature | szMaterial | IO field | Material | bExtension | Symbolic IO field | Extension |
|
4.创建脚本(1)
- 在“Write_data”脚本中添加简单代码 (如图. 05)。
注意:
更多关于 VBScript 命令信息可以在 WinCC (TIA Portal) 帮助系统中找到。
源代码描述
- <Lines 10 - 15> 本地变量声明(只在脚本中有效)。
- <Line 18> 这 “模式” 变量打开文件时被初始化(8 = Append)。
- <Lines 21-29> “bExtension” 变量是全局变量,它可以在整个 WinCC (TIA Portal) 项目中使用。 通过符号 IO 域使用这个变量选择文件扩展名。
注意
“delimiter” 变量实现分隔符功能并且它必须根据国家的应用而改变!? - <Line 32> 万一脚本运行错误发生,“On Error Resume Next” 说明是必需的。
注意
如果没有这个说明并且一个错误发生,脚本将停止。 - <Line 35> “创建对象(“FileCtl.File”) 函数创建一个对象,允许访问 Windows CE 文件系统。
- <Lines 38-42> 运行系统错误的源代码查错程序。如果一个运行系统错误发生,在消息窗口一个错误消息被显示并且脚本停止。
注意
如果使用“FileCtl.File”,将仅能访问 Windows CE 文件系统。如果在使用其它操作系统的 PC 上运行该脚本,将会出现运行时错误并且脚本失败。
5.创建脚本 (2)
- <Line 45> 对 “fo” 对象使用 “Open” 方法打开由 “path” (路径名称)和“mode” 参数指定的文件。
file.Open Path name, Mode, [access], [lock], [reclength]
- <Lines 48-52> 如果相应的文件或者路径名称不存在,查错程序将执行。
- <Lines 55-57> 至于是否新文件还是已经存在的,这部分检查都被执行。如果文件是新的,将被添加一个标题。
- <Line 60> 指定的字符串将被 “fo” 对象的 “LinePrint” 方法写入已打开的文件中。变量值和返回值也被写到文件中。
“Now” 函数写一个时间标记到文件中。 - <Line 63> “Close” 方法关闭文件。
- <Line 66>?关键字“Nothing” 用于分离对象变量,该变量由“Set”命令分配给该对象。
- <Line 68>?传输用户自定义的系统消息到 HMI 消息系统。
6.启动运行
- 将 WinCC (TIA Portal)?工程传输到操作面板并启动运行。
注意 由于不同的文件系统,脚本不能在组态计算机和面板之间调试。 - 输入一个电压,温度和原材料。
- 然后单击“Save data”按钮。
- 在符号 IO 域选择“.csv”并再次单击按钮。
- 终止操作面板的运行。
|
7.打开文本文件 如果将两种文本文件都存到存储卡上,那么可以在 PC 上使用读卡器看到这些文件,并使用适当的程序去打开。
- 打开扩展名为“.txt”的文本文件。
- 然后关闭文件。
- 可以使用 Microsoft Excel 打开扩展名为“.csv”的文件。
- 关闭 Excel 程序。
|
注意
实例中只使用了内部变量。 也可以选择使用控制器连接的变量。
在这个实例中示范了如何读写存储卡上的文件。如果使用不同的存储介质,在脚本中必须进行相应的改变。
适用于 SIMATIC WinCC (TIA Portal) 的 Comfort、Advanced 和 Professional 版本。使用以下文件格式:csv 或 txt