2013年9月19日 星期四

S7-1200_DATALOGGING資料記錄組態操作

数据记录
数据记录 — 概述
保存过程值
在用户程序中可使用数据记录指令,将过程值保存到数据日志中。 数据日志可保存在存储
卡 (MC) 或内部装载存储器中。 数据日志保存为 CSV(逗号分隔值)格式。
在程序中使用数据记录指令,可以创建或打开数据日志、写入条目以及关闭数据日志文
件。
根据数据缓冲区的创建决定在创建数据缓冲区时哪些程序值存储在数据日志中。 该数据缓
冲区将用作新数据日志条目的存储器。 在调用“DataLogWrite (页 4868)”之前,必须将
新值写入缓冲区。 在执行“DataLogWrite (页 4868)”指令期间,数据将从缓冲区写入数




可按以下方式将数据日志文件复制到 PC 中:
● 如果 PROFINET 接口连接到 PC,则使用 Web 浏览器通过 Web 服务器来访问数据日志。
要执行此操作,CPU 可处于 RUN 模式或 STOP 模式。 如果 CPU 处于“RUN”模式,
程序将在 Web 服务器进行数据传送期间继续运行。
● 如果 CPU 上装有存储卡,则可以移除该卡并将其插入到 PG/PC 上的 SD(安全数字)
卡或 MMC(多媒体卡)标准插槽中。 可以通过文件管理器将数据日志文件从存储卡传
送到 PC 中。 移除存储卡时,CUP 将切换为“STOP”模式。

数据日志的属性
将根据环形缓冲区的原理执行数据日志的数据记录写操作。 在达到最大数据记录数
(RECORD 参数)之前,将一直添加新数据记录。 下一条数据记录将覆盖数据日志中“最
旧”的数据记录。
如果要防止覆盖数据记录,则可使用“DataLogNewFile (页 4875)”指令根据当前数据日
志来创建一个新的数据日志文件。 然后将新的数据记录写入到新的数据日志中。

创建数据日志
使用“DataLogCreate (页 4858)”指令,可在装载存储器的“"\DataLogs”目录下创建一个
新的数据日志文件。
● NAME 参数指定的名称是数据日志的名称,同时也可以作为 CSV 文件的文件名。 文件
存储在目录“DataLogs”中。
● 块参数 DATA 将指定新数据日志对象的数据缓冲区以及数据日志中的各列及数据类型。
数据日志中数据记录的列和数据类型是根据结构声明中的元素或该数据缓冲区的数组声
明来生成的。 一个结构或数组中的每个元素都对应于数据日志某行中的一列。
● 可以使用 HEADER 块参数指定各列标题的标题文本。
● “DataLogCreate (页 4858)”指令将返回一个 ID。其它数据记录指令将通过该 ID 对已
创建数据日志进行引用。

打开数据日志
使用指令“DataLogOpen”(S7-1200) 和“DataLogTypedOpen”(S7-1500),可以打开存储卡
上的现有数据日志。 必须先打开一个数据日志,才能写入新的数据记录。
执行“DataLogCreate (页 4858)”和“DataLogNewFile (页 4875)”指令时,将自动打开
数据日志。

最多可同时打开 10 个数据日志。 可以通过数据日志的 ID 或名称,选择要打开的数据日
志。
● 如果在 ID 和 NAME 参数中分别指定了数据日志的 ID 和名称,则将根据 ID 标识数据日
志,而不会再比较数据日志的名称。
● 如果使用 NAME 参数选择了数据日志而未指定 ID,在打开数据日志时 ID 将显示在 ID
参数中。
● 如果使用 ID 参数选择了数据日志而未指定名称,在打开数据日志时名称将显示在 NAME
参数中。
可以使用 MODE 参数指定在打开时是否删除数据日志中的数据记录。

写入数据日志
数据记录写入数据日志前,必须打开数据日志(“DataLogOpen (页 4862)”指令)。
“DataLogWrite (页 4868)”指令将数据记录写入数据日志。

关闭数据日志
使用“DataLogClose (页 4871)”指令,可以关闭一个打开的数据日志。 使用 ID 参数,选
择数据日志。
当 CPU 切换到 STOP 及重新启动时,将自动关闭该数据日志。

删除数据日志(S7-1500)
使用“DataLogDelete (页 4873)”指令 (S7-1500),可以删除存储卡上的数据日志文件。
仅当通过指令“DataLogCreate (页 4858)”创建数据日志的情况下才能删除该日志及其所
含数据记录。
使用 NAME 和 ID 参数选择要删除的数据日志。 首先,判断参数 ID 。 如果存在相关 ID
的数据日志,则将不会再判断 NAME 参数。 如果 ID 参数中使用值“0”,则 NAME 参数
中必须使用数据类型为 STRING 的值。

清空数据日志(S7-1500)
使用“DataLogClear (页 4867)”指令 (S7-1500),可以删除现有数据日志中的所有数据记
录。 该指令不会删除 CSV 文件的可选标题(请参见指令“DataLogCreate (页 4858)”的
HEADER 参数说明)。
可以使用参数 ID 选择要删除数据记录的数据日志。 删除数据记录前,必须打开数据日志。

新建数据日志文件
使用指令“DataLogNewFile (页 4875)”(S7-1200) 或“DataLogTypedNewFile (页 4877)”
(S7-1500),可以创建一个与现有数据日志具有相同属性的新数据日志。 这样就可以保留
现有数据日志的内容。
调用时,该指令将在存储卡中或内部装载存储器中创建一个新的数据日志,日志名称在
NAME 参数中已定义。 ID 参数用于指定旧数据日志的 ID,该数据日志的属性将应用于新
的数据日志。 随后,新数据日志的 ID 将通过 ID 参数输出。
通过该指令的 RECORDS 参数,可以指定新数据日志的文件大小。
对于“DataLogTypedNewFile (页 4877)”(S7-1500),可运行一致性检查。

DataLogCreate: 创建数据日志
说明
使用“DataLogCreate”指令创建数据日志。 数据日志保存在存储卡/内部装载存储器内的
“\DataLogs”文件夹中。 使用数据记录指令,可以保存过程数据。 可存储到数据日志中的
数据量,取决于所用 CPU 存储卡或可用内部装载存储器上的可用存储空间。
在 RECORDS 参数中,可以指定可存储到数据日志中的最大数据记录数。 如果达到了数
据日志中所指定的最大数据记录数,将覆盖最旧的数据记录。 要避免覆盖现有数据记录,
可以使用“DataLogNewFile (页 4875)”指令。 当达到 RECORDS 参数中指定的数量时,
该指令可用于创建具有相同结构的一个新数据日志(“DataLogWrite (页 4868)”指令的
STATUS 参数将返回值 1)。 之后数据记录将保存在新的数据日志中。
在 NAME 参数中,可以指定数据日志的名称。 创建的数据日志为 CSV(逗号分隔值)格式。
可以使用 HEADER 参数,创建数据日志的标题(可选)。 逗号用作分隔符。
创建数据日志后,将自动打开该文件。





参数 HEADER
HEADER 参数为指向定义 CSV 文件标题的数据块 VARIANT 的指针,。 此标题始终为
CSV 文件表示的第一行。 请注意,在创建标题时,需要必须使用逗号 (S7-1200) 或分号
(S7-1500) 分隔各个列。 STRING、Array of BYTE 或 Array of CHAR 数据类型可用于各列
名称。 使用 Array [...] of type 数据类型时,字符串的长度大于使用 STRING 数据类型。 使
用 STRING 数据类型时,其长度不能超过 254 个字节。
如果不需要创建标题,请勿指定 HEADER 参数的值。
参数 DATA
DATA 参数是一个指向数据块中某个结构或数组的 VARIANT 指针。 结构或数组的一个元
素对应于特定数据类型的数据日志中的某一列。
在创建数据块时,请注意以下事项:
● 列数必须与 HEADER 参数中定义的列数相对应。
● 如果使用 STRUCT 数据类型,则不能使用结构嵌套(STRUCT 中的 STRUCT)。
● 数组(仅一维)可以组态为一个单元素或一个结构组件。 数组中的每个元素在数据日志
中都将生成一个单独的列。
● 数据块变量可设置为保持型或非保持型变量。 但是,数据块中所有变量的保持型设置都
必须相同。

参数 STATUS (S7-1200)
 参数 STATUS (S7-1500)


DataLogOpen: 打开数据日志
说明
使用“DataLogOpen”指令,可以打开存储卡上的现有数据日志。 必须先打开一个数据日
志,才能写入新的数据记录。
执行“DataLogCreate (页 4857)”和“DataLogNewFile (页 4875)”指令时,将自动打开
数据日志。
最多可同时打开 10 个数据日志。 可以通过数据日志的 ID 或名称,选择要打开的数据日
志。
● 如果在 ID 和 NAME 参数中分别指定了数据日志的 ID 和名称,则将根据 ID 标识数据日
志,而不会再比较数据日志的名称。
● 如果使用 NAME 参数选择了数据日志而未指定 ID,在打开数据日志时 ID 将显示在 ID
参数中。
● 如果使用 ID 参数选择了数据日志而未指定名称,在打开数据日志时名称将显示在 NAME
参数中。
可以使用 MODE 参数指定在打开时是否删除数据日志中的数据记录。
通过 DATA 参数可以检查要打开的数据日志是否与“DataLogCreate (页 4857)”指令的数
据日志定义一致。 只有通过指令“DataLogCreate (页 4857)”创建了数据日志时,才能执
行一致性检查:
● 如果 DATA 参数与“DataLogCreate (页 4857)”指令的 DATA 参数使用同一指针,将
执行检查以确定数据类型是否一致。 如果数据类型不一致,将通过参数 STATUS 输出
错误代码 W#16#80A0。
● 如果要打开的数据日志不是通过“DataLogCreate (页 4857)”创建的,将无法进行一致
性检查。 此时,应在 DATA 参数中输入值“NULL”。

DataLogWrite: 写数据日志
说明
“DataLogWrite”指令用于向现有数据日志写入一个数据记录。 参数 ID 用于选择要写入数
据记录的数据日志。 要创建新数据记录,必须打开数据日志。 该指令将创建一条新的数据
记录,在创建数据日志时并通过 DATA 参数指定其格式。
在调用“DataLogWrite”指令之前,请将数据传送到“DataLogCreate”指令的DATA 参数
处互连的变量。 执行“DataLogWrite”指令时,传送的数据将复制到数据日志中。

DataLogClose: 关闭数据日志
说明
使用“DataLogClose”指令,可以关闭一个打开的数据日志。 使用 ID 参数,选择数据日
志。
说明
自动关闭数据日志
当 CPU 转入 STOP 模式或重启时,将自动关闭数据日志。

DataLogNewFile: 新文件中的数据日志
说明
使用“DataLogNewFile”指令,可以创建与现有数据日志属性相同的新数据日志。 这将允
许保留现有数据日志的内容。
调用时,该指令将在存储卡中或内部装载存储器中创建一个新的数据日志,日志名称在
NAME 参数中已定义。 ID 参数用于指定旧数据日志的 ID,该数据日志的属性将应用于新
的数据日志。 随后,新数据日志的 ID 将通过 ID 参数输出。
通过该指令的 RECORDS 参数,可以指定新数据日志的文件大小。
通过 DATA 参数可以检查要创建的新数据日志是否与“DataLogCreate (页 4857)”指令的
数据日志定义一致。 只有通过指令“DataLogCreate (页 4857)”创建了数据日志时,才能
执行一致性检查:
● 如果 DATA 参数与“DataLogCreate (页 4857)”指令的 DATA 参数使用同一指针,将
执行检查以确定数据类型是否一致。 如果数据类型不一致,将通过参数 STATUS 输出
错误代码 W#16#80A0。
● 如果要打开的数据日志不是通过“DataLogCreate (页 4857)”创建的,将无法进行一致
性检查。 此时,应在 DATA 参数中输入值“NULL”。





沒有留言:

張貼留言