西门子SM522数字量模块代理商
处理单元,程序工作存储器175kb,数据存储器1mb,16个数字输入,16个数字输出,5个模拟输入,2个模拟输出,6个高速计数器,4个pto/pwm/频率输出高速输出1。接口:具有2端口开关的profnetirt,60 ns的比特性能,包括前连接器插入,simaic存储卡必要
描述
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”)。原则上,这些变量可以是任何类型。创建一个“wstring”类型的变量“filename”。用于存储路径以及文件名称,注意,要*该路径有足够的数据长度以便存储路径数据。
图. 01
创建两个脚本“write_data_to_file”以及“read_data_from_file”。(可在本文下方下载相应脚本数据)。
图. 02
图. 03
通过事件调用脚本,例如按钮的点击事件。
图. 04
每调用一次脚本“write_data_to_file”,会在现有文件中自动创建一条新的“数据记录”。脚本“read_data_from_file”将读取*的文件,并从中复制数据到*的工程变量中。
这两个脚本将按照如下方式进行工作。
1.创建文件系统对象,意为连接到 pc 的文件系统。
2.创建或打开包含存储值的文件。
3.值的写入或读取。
4.关闭这些文件,断开链接文件。
根据需要调整脚本,* 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文件里的存储过程变量,那么***定义关联路径。需要单独的脚本实现该功能。
1.在项目中添加新的vb函数“脚本>vb 脚本>添加新vb脚本”。
2.把新脚本重命名为“opendefaultfilename”。
3.打开脚本并且添加代码行“filename =filepath\filename.filetype”(c:\users\os\documents\archive.csv,例如)。文件路径、文件名和文件类型与csv文件保持一致。
4.打开起始画面。使用“addfunction”功能将脚本链接到开始事件(“属性>事件>加载”)。在此输入脚本名“opendefaultfilename”。
5.添加脚本“read_data_from_file”。
起始画面打开时,文件路径定义的后一行(后变量状态)回读到过程变量”materialfromfile”、“pressurefromfile”和“temperaturefromfile”。
如果想在退出起始画面时读取当前过程变量("material", "pressure" and"temperature")到一个现有的csv文件,那么***定义关联路径。需要单独的脚本实现该功能。
2.把新脚本重命名为“closedefaultfilename”。
3.打开脚本并且添加代码行"filename = filepath\filename.filetype"(c:\users\os\documents\archive.csv,例如)。文件路径、文件名和文件类型与csv文件保持一致。
4.打开起始画面。使用“addfunction”功能将脚本链接到开始事件(“属性>事件>清除”)。在此输入脚本名“closedefaultfilename”。
5.添加脚本"write_data_to_file"。
当起始画面关闭时,文件路径定义后的过程变量状态被写入csv文件的后一行。
例程的功能
以下功能在提供的例程中完成:在如下的三个输入 / 输出域(“currentvalues:”)关联要存储变量的过程值(“material”,“pressure”和“temperature”)。底部*了要使用的文件的路径。点击按钮“writeto disk”调用脚本“write_data_to_file”并且写入数据记录到文件中。点击按钮“read fromdisk”调用脚本“read_data_from_file”并且从文件中读取所有的数据记录,进而在条目“values onfile:”中显示这些数据记录的后一个写入值。
图. 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 工程。
readwrite_to_file.zip ( 1231 kb )
本下载链接包含两个 vbs 脚本
s_readwrite_to_file.zip ( 1 kb )
警告
注意 visual basic 的使用在 pc runtime 和基于 windows ce的面板是不同的。这里给出的脚本如果不做修改是不能运行在面板中的。可以使用下表列出的常问问题中提供的相应脚本。