PLC论坛-全力打造可编程控制器专业技术论坛

 找回密码
 注册哦

QQ登录

只需一步,快速开始

微信扫码登录

查看: 118|回复: 0

[西门子] 西门子PLC S7-1200之数据日志快速入门

[复制链接]
发表于 2024-8-4 14:54:53 | 显示全部楼层 |阅读模式
数据日志快速入门

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


测试目的


下面以数据日志文件存储在 S7-1200 CPU 装载存储器中,使用PLC Web 服务器进行管理为例,实现下述功能:
(1)执行“DataLogging”指令将产品型号“Type”,长度“Length”,宽度“Width”三个变量值写入到 “Product”数据日志文件;
(2)当写入的条数达到设定的3条日志条数时,自动关闭“Product”数据日志文件 ;
(3)当写入的条数达到设定的3条日志条数时,可选择以下两种情况之一再分别写入数据日志:
情况一:如果旧的变量值允许被新的变量值覆盖,再打开“Product”数据日志文件,循环写入1条数据日志;
情况二:如果想保存之前的变量值,创建一个新的“NewProduct”数据日志文件,再写入1条新的数据日志。
(4)数据日志管理,先清空“Product”数据日志文件内的数据日志,然后直接删除“Product”数据日志文件。


测试环境


软件:TIA V16 Professional
硬件:CPU1215C DC/DC/DC V4.4 订货号:6ES7 215-1AG40-0XB0


实现步骤


1. 启用 Web 服务器


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


图1.启用Web服务器


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”指令重要参数说明
完成数据日志的创建需多个扫描周期,且 DONE 位仅在一个扫描周期内有效,因此可编程捕获“DataLogCreate”指令的 DONE 信号位,同时将新建数据日志文件的ID存储。如下图4所示:
图4.“DataLogCreate”指令的DONE信号位和ID存储


4. 写入数据日志


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


如下图5所示:


图5.“DataLogWrite”指令


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


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


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


图6.“DataLogClose”指令


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


当写入的条数达到设定的3条日志条数时,如果旧的变量值允许被新的变量值覆盖,可再调用“DataLogOpen”指令打开这个数据日志文件,如下图7所示:
打开该数据日志文件成功后,可按照如上图5所示再写入一条新的数据日志,此时第一条旧的数据日志将被覆盖。


图7.“DataLogOpen”指令


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


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


情况二: 新建数据日志


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


图8.“DataLogNewFile”指令


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


注:“DataLogNewFile”指令,将从原始数据日志复制标题以及原始数据日志属性(DATA 记录缓冲区、数据格式和时间戳设置)。隐式关闭原始数据日志文件并隐式打开新数据日志文件。
当新建数据日志指令完成后,存储新建数据日志的ID,如图9所示。


图9.保存新数据日志文件ID


7. 查看数据日志


在“WEB服务器内”功能内,设置用户名和密码,选择“读取文件”和“写入/删除文件”访问权限,如图10所示。


图10.设置WEB服务器用户密码和权限


通过PC访问标准 Web 页面,在Web浏览器地址栏中输入 S7-1200 CPU 的 IP 地址(如192.168.0.12)。登录 Web 服务器,如下图11所示:
图11.登录WEB服务器


登录后可在 Web 服务器的 文件浏览器->DataLogs文件夹内查看到数据日志,并且可下载、删除或重命名数据日志文件。如下图12-13所示:
图12.打开数据日志


图13.查看数据日志


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


情况一结果:


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


情况二结果:


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


图16.查看新数据日志


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


注:数据日志不再采用 //END 标志对未满的数据日志文件末尾进行标记。
在 S7-1200 CPU V4.1之前的版本中,未满的数据日志都包含一个 //END 标志。


8.清空“Product”数据日志文件内的数据记录(S7-1200 V4.2开始支持)


使用“DataLogClear”指令清空“Product”内的数据记录,ID参数关联之前已存好的ID值,并触发该指令 REQ清空数据记录。如下图18所示:


图18. “DataLogClear”指令


注意:因“DataLogNewFile”指令可隐式关闭原始数据日志文件并隐式打开新数据日志文件。所以在使用“DataLogClear”指令前,确保数据日志为打开状态,若数据日志关闭可使用 “DataLogOpne”指令重新打开,如图19所示。


图19.使用 “DataLogOpen”指令打开数据日志


清空完数据记录后,通过WEB查看结果,如图20所示。
图20.“Product”数据日志文件内数据记录被清空


9.删除“Product”数据日志文件(S7-1200 V4.2开始支持)


使用“DataLogDelete”指令,DelFile置1,ID参数关联之前已存好的ID值,并触发该指令 REQ删除数据日志并删除数据记录。如图21所示。


图21. “DataLogDelete”指令


表4. “DataLogDelete”指令重要参数说明


删除完数据日志后,通过WEB查看结果,如图22所示。
图22.“Product”数据日志文件被删除




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册哦

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册哦

本版积分规则

QQ|小黑屋|手机版|Archiver|PLC技术网-PLC论坛 ( 粤ICP备17165530号 )|网站地图

GMT+8, 2024-9-10 20:08 , Processed in 0.050540 second(s), 26 queries .

快速回复 返回顶部 返回列表