S7-1200 PLC 技术参考 v3.9

数据日志快速入门

数据日志文件按照标准 CSV 格式存储在 S7-1200 CPU 装载存储器或 S7-1200 SIMATIC 存储卡中。分别可通过 PLC Web 服务器或将数据文件传送到 PC 进行管理、查看。

测试目的:

下面以数据日志文件存储在 S7-1200 CPU 装载存储器中,使用PLC Web 服务器进行管理为例,实现下述功能:

(1)执行“DataLogging”指令将产品型号“Type”,长度“Length”,宽度“Width”三个变量值写入到数据日志文件;

(2)当写入的条数达到设定的3条日志条数时,自动关闭该数据日志文件 ;

(3)当写入的条数达到设定的3条日志条数时,可选择以下两种情况之一再分别写入数据日志:

情况一:如果旧的变量值允许被新的变量值覆盖,再打开这个数据日志文件,循环写入1条数据日志;

情况二:如果想保存之前的变量值,创建一个新的数据日志文件,再写入1条新的数据日志。

测试环境:

软件:STEP 7 Professional V11 SP2 UPD5

硬件:CPU1215 C DC/DC/DC 订货号:6ES7 215-1AG31-0XB0

实现步骤

1. 启用 Web 服务器

按照以下路径和方法为要连接的 CPU 启用 Web 服务器:“设备视图”→“鼠标选中CPU”→“属性”→“Web服务器”→“启用模块上的Web服务器前打钩”。如下图1所示:

图1.启用Web服务器

2. 创建数据日志名称、标题和 Data 结构

数据日志名称和日志的所有数据元素的数据类型、列标题分别由 Name、Data 参数和 Header 分配。因此需先创建 DB 块,在此指定“标准-与S7-300/400兼容”。如下图2所示:

图2.创建DB

在该 DB 中,创建数据日志名称(如Product)、新名称(如NewProduct)、标题(如Type,Length,Width)和 Data 结构等。如下图3所示:

图3.创建名称、标题和Data结构

注:

a. 数据日志名称:此变量仅支持 String 数据类型。

(该名称应符合 Windows 文件名称的限制,不允许使用以下字符:“\”、“/”、“:”、“*”、“?”、“<”、“>”、“|”、“空格”)

b. 数据日志标题:Header 参数指向数据日志文件中第一行的列标题名称,各列名称需要用逗号分隔;如果未设置该值,则不会在数据日志文件中创建标题行。

c. 数据日志 Data 结构:指定数据日志日志的各个数据元素(列)及其数据类型:用户自定义类型 (UDT) 或数组。

d.新名称(创建新日志时使用,命名方法同a)

3.创建和初始化数据日志文件

创建数据日志需调用“DataLogCreate”指令。调用该指令时会自动弹出创建相应背景数据块的界面,如下图4所示:

注:调用每一个“DataLogging”指令都会自动弹出创建相应背景数据块的界面。后续指令的调用步骤都可按照如下图4所示方法操作,注意为每条指令分配不同的 DB !

图4.调用“DataLogCreate”指令

按照如上图3所创建的数据日志名称、标题和 Data 结构为“DataLogCreate”指令分配输入、输出参数。当触发该指令输入参数 REQ 时,创建数据日志文件。如下图5所示:

图5.“DataLogCreate”指令

“DataLogCreate”指令重要参数说明如下表1所示:

输入参数 数据类型 说明
REQ BOOL 上升沿信号时创建数据日志文件
RECORDS UDINT 数据日志可存储的最大数据日志数
FORMAT UINT 数据格式:0: 内部格式(不支持) 1: 逗号分隔值CSV
TIMESTAMP UINT 时间戳:0:无时间戳 1: 日期和时间戳

NAME VARIANT 数据日志的名称(如上图3定义)
ID DWORD 数据日志的对象 ID(如上图3定义)
HEADER VARIANT 数据日志文件中第一行列标题(如上图3定义)
DATA VARIANT 数据日志数据日志的数据缓冲区(如上图3定义)

表1.“DataLogCreate”指令重要参数说明

完成数据日志的创建需多个扫描周期,且 DONE 位仅在一个扫描周期内有效,因此可编程捕获“DataLogCreate”指令的 DONE 信号位。如下图6所示:

图6.“DataLogCreate”指令的DONE信号位

4. 写入数据日志

数据日志创建成功后,使用“DataLogCreate”指令的 Done=1 信号使能“DataLogWrite”指令,并触发该指令 REQ,将产品型号“Type”,长度“Length”,宽度“Width”三个变量值写入到数据日志文件。如下图7所示:

注:执行“DataLogWrite”指令前需确保已经打开数据日志文件。 “DataLogCreate”指令隐式打开数据日志文件。

图7.“DataLogWrite”指令

5. 关闭打开的数据日志文件

当写入的条数达到设定的3条日志条数时,数据日志已满“DataLogCreate”指令的输出参数 STATUS=1。因此,可编程使用该状态字节自动关闭该数据日志文件。如下图8所示:

图8.“DataLogClose”指令

6. 当写入的条数达到设定的日志条数时,可选择以下两种情况之一再分别写入数据日志

情况一:打开已有数据日志文件

当写入的条数达到设定的3条日志条数时,如果旧的变量值允许被新的变量值覆盖,可再调用“DataLogOpen”指令打开这个数据日志文件,如下图9所示:

打开该数据日志文件成功后,可按照如上图7所示再写入一条新的数据日志,此时第一条旧的数据日志将被覆盖。

图9.“DataLogOpen”指令

该指令重要参数说明如下表2所示:

输入参数 数据类型 说明
MODE UINT 打开数据日志的方式:
MODE= "0" 保留数据日志的数据日志;
MODE= "1" 删除数据日志的数据日志,但保留标题;

表2.“DataLogOpen”指令重要参数说明

注:如果同时提供 NAME 和 ID 这两个参数,但有效的 ID与NAME 数据日志不对应,则使用ID,而忽略 NAME;如果只提供 NAME 且 NAME 指定一个有效数据日志,将返回对应的 ID。

情况二: 新建数据日志

当写入的条数达到设定的3条日志条数时,如果想保存之前的变量值,可调用“DataLogNewFile”指令创建一个新的数据日志文件。如下图10所示:

新建数据日志文件成功后,可按照如上图7所示再写入一条新的数据日志。

图10.“DataLogNewFile”指令

“DataLogNewFile”指令重要参数说明如下表3所示:

输入参数 数据类型 说明
RECORDS UDINT 新数据日志中的数据日志数目
NAME VARIANT 新数据日志的文件名称(如上图3定义)
ID VARIANT 数据日志的对象 ID

表3. “DataLogNewFile”指令重要参数说明

7. 查看数据日志

通过PC访问标准 Web 页面,在Web浏览器地址栏中输入 S7-1200 CPU 的 IP 地址(如192.168.70.26);并且以管理员身份登录 Web 服务器,如下图11所示:

图11.登录 Web 服务器

以管理员身份成功登录后,可在 Web 服务器的 Data Logs 页面中查看到数据日志,并且可下载、清除或删除数据日志文件。如下图12所示:

注:如果未以“管理员”用户身份登录,则“Download & Clear”及“Delete”选项选项不可用。

图12.查看数据日志

按上图12所示,下载该数据日志文件(如 Product ),然后通过EXCEL表格打开。写入了预定义的3条日志的数据日志文件,如下表4所示:

表4. 3条数据日志

情况一结果:

如果旧的变量值允许被新的变量值覆盖,写入一条新日志后,再次下载并打开“Product”这个数据日志文件。如上表4将发生变化,第一条旧日志将被覆盖,如下表5所示:

表5.循环写入的数据日志

情况二结果:

如果想保存之前的变量值,创建一个新的数据日志文件,再写入新的数据日志。如下图13所示:

注:如果未以“管理员”用户身份登录,则“Download & Clear”及“Delete”选项选项不可用。

图13.查看新数据日志

这种情况下,将创建一个新的数据日志文件,写入一条新日志,下载并打开“NewProduct”这个新数据日志文件。如上表4不会发生变化,新的数据日志文件及日志如下表6所示:

表6. 新数据日志文件及日志