首页 理论教育 数据日志的常见问题及解决方法

数据日志的常见问题及解决方法

时间:2023-07-01 理论教育 版权反馈
【摘要】:图5-35 捕获数据日志的创建完成在执行“DataLogWrite”指令时,借助于创建完成标志,如图5-36所示:图5-36 日志创建后写入数据记录注意:图5-36中“Creat_OK”仅作为当前数据日志的创建标识。不同的数据日志,应该有各自的标识用于存储创建完成状态。

数据日志的常见问题及解决方法

1.当S7-1200 CPU使用数据日志时,记录次数会影响CPU的使用寿命吗?

答:会影响。装载存储器的使用寿命受写装载存储器的次数限制。如果使用CPU内部装载存储器,则记录次数会影响CPU的使用寿命,CPU写入数据记录的使用寿命为5亿次;如果使用存储卡,其记录次数会影响卡的使用寿命。

一个数据日志最多可包含256个元素,尽量将多个数据元素记录在一个数据日志中,不建议程序使用多个数据日志,每个数据日志只记录少量的数据元素。

需要注意写入记录的频率,如果需要高频率写入数据记录,请考虑使用存储卡,便于更换。

2.为什么CPU重启后,执行“DataLogWrite”指令无法写数据记录,报错“16#80B0”?

答:错误代码“16#80B0”的含义为“数据记录未打开”,原因是在执行写数据记录前没有打开相应数据日志。使用“DataLogCreat”创建的日志是打开的,可以直接写记录。CPU重启后,数据日志必须通过“DataLogOpen”指令重新打开后才可写数据记录。

3.为什么“DataLogCreat”指令创建的日志文件中没有标题?

答:没有标题的日志文件,如图5-34所示:

978-7-111-58391-2-Chapter05-81.jpg

图5-34 数据日志无标题

数据日志文件中要显示标题,则首先定义Header参数,且Header参数必须在有限长度内,限制如下:

①如果使用String数据类型,其长度不能超过254个字节。

②如果使用ArrayofBYTE和ArrayofCHAR数据类型,可包含5000个元素。

4.为什么“DataLogCreat”指令创建日志失败,报错“16#8093”?

答:错误代码“16#8093”的含义为“数据记录已存在”,原因是所创建的数据日志已经存在。CPU重启后,需要程序判断是否已创建了相应的数据日志,编程捕获“DataLogCreate”指令的完成标识“Creat_Done”,如图5-35所示,“Creat_OK”在日志创建成功后被置1。将“Creat_OK”设置为断电保持,当CPU重启后仍保留创建完成的状态。

978-7-111-58391-2-Chapter05-82.jpg

图5-35 捕获数据日志的创建完成(www.xing528.com)

在执行“DataLogWrite”指令时,借助于创建完成标志,如图5-36所示:

978-7-111-58391-2-Chapter05-83.jpg

图5-36 日志创建后写入数据记录

注意:

图5-36中“Creat_OK”仅作为当前数据日志的创建标识。不同的数据日志,应该有各自的标识用于存储创建完成状态。

5.为什么“DataLogCreat”指令创建日志失败,报错“16#8090”?

答:错误代码“16#8090”的含义为“文件名无效”,原因是Name参数中有不允许的字符,如“\”、“/”、“:”、“∗”、“?”、“<”、“>”、“|”、“空格”。

6.如何判断数据日志文件中的记录已经被记满?

答:可以通过“DataLogWrite”指令的STATUS状态为“16#0001”来判断记录已经记满。这个状态只在一个扫描周期有效。

7.下载程序时,是否会删除数据日志文件?

答:不会。当CPU“复位为出厂设置”时,会删除存储在CPU内部装载存储器的数据日志。

8.为什么数据记录的时间戳和PLC的本地时间差是8个小时?

答:数据记录所记录的时间戳为UTC时间,和PLC所设置的北京时区相差8小时。

9.为什么在创建数据记录时,报错“16#8C24”?

答:错误代码“16#8C24”的含义是“参数DATA处的分配无效”,原因是定义Data参数的变量所在数据块未设置为“优化的块访问”。同样,定义Header参数的变量所在数据块也必须设置为“优化的块访问”。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈