16
西门子代理商6ES7954-8LL03-0AA0 西门子代理商6ES7954-8LL03-0AA0
2. 创建数据日志参数DB
数据日志名称和日志内所有数据元素的数据类型、列标题参数,分别由 Name、Data 和 Header 分配。因此需先创建数据日志参数DB 块,支持优化或非优化DB块,此处使用的为优化DB块。
在该 DB 中,创建数据日志名称(如Product)、新名称(如NewProduct),标题(如Type,Length,Width), Data 结构和DataLogID数组用于存放数据日志的ID,以便多个日志文件的管理。如下图2所示:
图2.创建数据日志参数DB
注:
a. 数据日志名称:此变量仅支持 String 数据类型。
(该名称应符合 Windows 文件名称的限制,不允许使用以下字符:“\”、“/”、“:”、“*”、“?”、“<”、“>”、“|”、“空格”)b. 数据日志标题:Header 参数指向数据日志文件中*一行的列标题名称,各列名称需要用逗号分隔;如果未设置该值,则不会在数据日志文件中创建标题行。
c. 数据日志 Data 结构:*数据日志的各个数据元素(列)及其数据类型:用户自定义类型 (UDT) 或数组。可以分配的较大数据元素个数为253(带时间戳)或 255(不带时间戳)。
d.新名称(创建新日志时使用,命名方法同a)
e.ID:数据日志数字标识符,保存每个生成数据日志的ID值以便与其它数据日志指令配合使用,方便数据日志的管理,比如清空或删除数据日志等。
3.创建和初始化数据日志文件
创建数据日志需调用“DataLogCreate”指令。按照上图2所创建数据日志参数DB 为“DataLogCreate”指令分配输入、输出参数。当触发该指令输入参数 REQ 时,创建数据日志文件。如下图3所示:
图3.调用“DataLogCreate”指令
“DataLogCreate”指令重要参数说明如下表1所示:
表1.“DataLogCreate”指令重要参数说明
输入参数 数据类型 说明 REQ OOL 上升沿信号时创建数据日志文件 RECORDS UDINT 数据日志可存储的较大数据日志数 FORMAT UINT 数据格式:0: 内部格式(不支持) 1: 逗号分隔值CSV TIMESTAMP UINT 时间戳:0:无时间戳 1: 系统时间 2: 本地时间 NAME VARIANT 数据日志的名称(如上图2定义) ID DWORD 数据日志的对象 ID(如上图2定义) HEADER VARIANT 数据日志文件中*一行列标题(如上图2定义) DATA VARIANT 数据日志的数据缓冲区(如上图2定义)注:TIMESTAMP的本地时间功能从S7-1200 V4.2开始支持
完成数据日志的创建需多个扫描周期,且 DONE 位仅在一个扫描周期内有效,因此可编程捕获“DataLogCreate”指令的 DONE 信号位,同时将新建数据日志文件的ID存储。如下图4所示:
图4.“DataLogCreate”指令的DONE信号位和ID存储