|
数据日志文件按照标准 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所示: | | | | | | | | | | | 数据格式:0: 内部格式(不支持) 1: 逗号分隔值CSV | | | | | | | | | | | | | | | |
表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= "0" 保留数据日志的数据日志;
MODE= "1" 删除数据日志的数据日志,但保留标题; |
表2.“DataLogOpen”指令重要参数说明 注:如果同时提供 NAME 和 ID 这两个参数,但有效的 ID与NAME 数据日志不对应,则使用ID,而忽略 NAME;如果只提供 NAME 且 NAME 指定一个有效数据日志,将返回对应的 ID。情况二: 新建数据日志 当写入的条数达到设定的3条日志条数时,如果想保存之前的变量值,可调用“DataLogNewFile”指令创建一个新的数据日志文件。如下图10所示: 新建数据日志文件成功后,可按照如上图7所示再写入一条新的数据日志。 图10.“DataLogNewFile”指令 “DataLogNewFile”指令重要参数说明如下表3所示: 表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. 新数据日志文件及日志
|