描述
TIA Portal 提供了不同的系统函数,可以将归档数据和配方数据永久地存储在移动媒介和网络驱动器中。 如果希望存储过程数据和项目数据以备日后上传,那么需要使用 Visual Basic 脚本。本文负责解释如何编写存储过程数据的脚本以及如何在 WinCC (TIA Portal) 高级版 PC 运行系统中使用这些脚本。
注意
对于WinCC标准机制(数据归档,等)的应用仅使用脚本保存数据是不够的!
提出的技巧取决于您的操作面板上的操作系统和使用的组态软件。
在结尾处输入处理其他组态后,参考其注释。
说明
在如下例子中,过程变量“Material”,“Pressure”和“Temperature”被写入到特殊 命名“FileName”的文件中,并且以“MaterialFromFile”,“PressureFromFile”和 “TemperatureFromFile”读出。
- 在 TIA Portal 中创建一个已组态了 WinCC RT Advanced 的 SIMATIC PC Station 的项目。
- 在 WinCC RT 的变量表中创建需要存储和读出的过程变量。(如:“Material”,“Pressure”和“Temperature”,同时创建 “MaterialFromFile”,“PressureFromFile”和“TemperatureFromFile”)。原则上,这些变量可以是 任何类型。除此之外,创建一个名为“FileName”的变量,数据类型为“WString”。它将包含在文件的路径和名称中。确保在路径中有足够的可使 用的空间。
如何在 WinCC (TIA Portal) PC 运行系统中用脚本将信息存储成文件
组态两个脚本“Write_data_to_file”和“Read_data_from_file”。(也可在本文下方直接拷贝这些脚本)。
如何在 WinCC (TIA Portal) PC 运行系统中用脚本将信息存储成文件
如何在 WinCC (TIA Portal) PC 运行系统中用脚本将信息存储成文件
在合适的事件中链接执行这两个脚本,例如按钮的点击事件。
如何在 WinCC (TIA Portal) PC 运行系统中用脚本将信息存储成文件
脚本“Write_data_to_file”每一次被调用,一条“数据记录”会以一个新行的形式附在已经存在的文件中。脚本“Read_data_from_file”从特定的文件中读取所有的数据记录并且复制它们的最后一个值,然后写入到合适的工程变量。
这两个脚本将按照如下方式进行工作。
- 创建文件系统对象,意为连接到 PC 的文件系统。
- 创建或打开包含存储值的文件。
- 值的写入或读取。
- 关闭这些文件,与文件系统断开连接。
为了适应系统环境,在 36 行
(“Write_data_to_file”)
ts.WriteLine(Material & ";" & Pressure & ";" & Temperature)
和 28 行及如下
(“Read_data_from_file”)
MaterialFromFile = field(0)
PressureFromFile = field(1)
TemperatureFromFile = field(2)
可根据需要存储和读取的变量,替换指定变量的名称。可以指定希望存储和读取任意多的变量。确保当存储和读取时,在每一次执行时用分隔符分开变量(本例:
“;”,行 36 和 26 )。
如果想在加载起始画面的时候同时读取CSV文件里的存储过程变量,那么必须首先定义关联路径。需要额外一个脚本。
- 在项目中添加新的vb函数“脚本>VB 脚本>添加新VB脚本”。
- 把新脚本重命名为“OpenDefaultFileName”。
- 打开脚本并且添加代码行“FileName = FilePath\FileName.FileType”(C:\Users\os\Documents\archive.csv, 例如)。文件路径、文件名和文件类型与CSV文件保持一致。
- 打开起始画面。使用“Add function”功能将脚本链接到开始事件(“属性>事件>加载”)。在此输入脚本名“OpenDefaultFileName”。
- 添加另一个脚本“Read_data_from_file”。
起始画面打开时,文件路径定义的最后一行(最后变量状态)回读到过程变量”MaterialFromFile”、“PressureFromFile”和“TemperatureFromFile”。
如果想在退出起始画面时读取当前过程变量(“材料”、“压力”和“温度”)到一个现有的CSV文件,那么必须首先定义关联路径。需要一个额外的脚本。
- 在项目中添加新的vb函数“脚本>VB 脚本>添加新VB脚本”。
- 把新脚本重命名为“CloseDefaultFileName”。
- 打开脚本并且添加代码行"FileName = FilePath\FileName.FileType" (C:\Users\os\Documents\archive.csv,例如)。文件路径、文件名和文件类型与CSV文件保持一致。
- 打开起始画面。使用“Add function”功能将脚本链接到开始事件(“属性>事件>清除”)。在此输入脚本名“CloseDefaultFileName”。
- 添加另一个脚本"Write_data_to_file"。
当起始画面关闭时,文件路径定义最后的过程变量状态被写入CSV文件的最后一行。
例程的功能
以下功能在提供的例程中完成:在如下的三个输入 / 输出域(“Current values:”)关联要存储变量的过程值(“Material”,“Pressure”和“Temperature”)。底部指定了要使用的文件的路 径。点击按钮“Write to disk”调用脚本“Write_data_to_file”并且写入数据记录到文件中。点击按钮“Read from disk”调用脚本“Read_data_from_file”并且从文件中读取所有的数据记录,进而在条目“Values on file:”中显示这些数据记录的最后一个写入值图. 05
当启动画面加载时,最近的数据是从"C:\Users\os\Documents\"文件夹下的 "archive.csv" CSV文件读取。如果该文件不可用,过程变量的基本值将显示在IO域。
关闭退出运行系统。When the Start screen is closed当启动画面关闭时, 过程变量值存储在"C:\Users\os\Documents\"文件夹下的"archive.csv" CSV文件里。
注意
如果想把CSV文件转换为标准格式(.xls或Excel,例如),首先需要打开项目。
找到“数据”表,在“调用外部数据”下点击“从文本”。选择csv文件并且按照指示操作。
下载
以下下载链接包含归档的 TIA 工程。
警告
注意 Visual Basic 的使用在 PC Runtime 和基于 Windows CE 的面板是不同的。这里给出的脚本如果不做修改是不能运行在面板中的。可以使用下表列出的常问问题中提供的相应脚本