Page 1 of 8 数据日志快速入门 数据日志文件按照标准 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 块, 在此
Page 2 of 8 指定 标准 - 与 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 所示 :
Page 3 of 8 注 : 调用每一个 DataLogging 指令都会自动弹出创建相应背景数据块的界面 后续指令的调用步骤都可按照如下图 4 所示方法操作, 注意为每条指令分配不同的 DB! 图 4. 调用 DataLogCreate 指令 按照如上图 3 所创建的数据日志名称 标题和 Data 结构为 DataLogCreate 指令分配输入 输出参数 当触发该指令输入参数 REQ 时, 创建数据日志文件 如下图 5 所示 : 图 5. DataLogCreate 指令 DataLogCreate 指令重要参数说明如下表 1 所示 : 输入参数数据类型说明
Page 4 of 8 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 所示 :
Page 5 of 8 图 8. DataLogClose 指令 6. 当写入的条数达到设定的记录条数时, 可选择以下两种情况之一再分别写入数据记录 情况一 : 打开已有数据日志文件 当写入的条数达到设定的 3 条记录条数时, 如果旧的变量值允许被新的变量值覆盖, 可再调用 DataLogOpen 指令打开这个数据日志文件, 如下图 9 所示 : 打开该数据日志文件成功后, 可按照如上图 7 所示再写入一条新的数据记录, 此时第一条旧的数据记录将被覆盖 图 9. DataLogOpen 指令 该指令重要参数说明如下表 2 所示 : 输入参数数据类型说明 MODE UINT 表 2. DataLogOpen 指令重要参数说明 注 : 如果同时提供 NAME 和 ID 这两个参数, 但有效的 ID 与 NAME 数据日志不对应, 则使用 ID, 而忽略 NAME; 如果只提供 NAME 且 NAME 指定一个有效数据日志, 将返回对应的 ID 情况二 : 新建数据记录 打开数据日志的方式 : MODE= "0" 保留数据日志的数据记录 ; MODE= "1" 删除数据日志的数据记录, 但保留标题 ; 当写入的条数达到设定的 3 条记录条数时, 如果想保存之前的变量值, 可调用 DataLogNewFile 指令创建一个新的数据日志文件 如下图 10 所示 : 新建数据日志文件成功后, 可按照如上图 7 所示再写入一条新的数据记录 图 10. DataLogNewFile 指令 DataLogNewFile 指令重要参数说明如下表 3 所示 : 输入参数数据类型说明
Page 6 of 8 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 选项选项不可用
Page 7 of 8 图 12. 查看数据日志 按上图 12 所示, 下载该数据日志文件 ( 如 Product ), 然后通过 EXCEL 表格打开 写入了预定义的 3 条记录的数据日志文件, 如下表 4 所示 : 表 4. 3 条数据记录 情况一结果 : 如果旧的变量值允许被新的变量值覆盖, 写入一条新记录后, 再次下载并打开 Product 这个数据日志文件 如上表 4 将发生变化, 第一条旧记录将被覆盖, 如下表 5 所示 : 表 5. 循环写入的数据记录 情况二结果 : 如果想保存之前的变量值, 创建一个新的数据日志文件, 再写入新的数据记录 如下图 13 所示 : 注 : 如果未以 管理员 用户身份登录, 则 Download & Clear 及 Delete 选项选项不可用 图 13. 查看新数据日志 这种情况下, 将创建一个新的数据日志文件, 写入一条新记录, 下载并打开 NewProduct 这个新数据日志文件 如上表 4 不会发生变化, 新的数据日志文件及记录如下表 6 所示 :
Page 8 of 8 表 6. 新数据日志文件及记录