原创不易,请勿抄袭!
序:在工业应用中,很多时候我们需要使用PLC的日期与时间,比如在发生故障的时候需要追溯事件记录,然后分析故障原因,那么精确的时间就会使得追踪很方便;或者因为一些冬夏时至的功能控制发生了变化;或者我们需要在非常精确的现实时间点启动或者停止PLC命令等等。所以我们就需要读取PLC的日期时间并且在需要的时候对PLC的时间进行校准。
很多人觉得西门子日期格式很复杂,只是因为这些格式没有被系统的放在一起进行比较,通过本文的学习可以看出,西门子的日期格式虽然看起来复杂,但使用起来很方便,只要使用过一次后就可以对他们非常了解。
一西门子S7-200/200smart系列
这系列的读取和写入指令非常简单,运用一个指令并填写地址即可,数据有固定格式。
指令
指令格式
二S7-300/400、S1200、S1500系列
这一系列的PLC日期和时间数据类型主要包括;1日期( Date)、2日时间(Time_Of_ Day)、3长日时间LTOD (LTime_Of_Day)、4日期时间DT( Date_And_Time)、5日期长时间LDT (Date_And_LTime)、6长日期时间DTL。
对于西门子S7-300/400,S1200,S1500这些数据类型不是通用的。
其中“X”号为包含在该系统下
我们需要弄清这些日期格式
(1)日期 DATE
数据类型将日期作为无符号整数保存。表示法中包括年、月和日。
数据类型 DATE 的操作数为十六进制形式,对应于自 01-01-1990 以来的日期值 (16#0000)。变量内容用距离1990年1月1日的天数以整数格式进行表示。常数格式为日期前加D#,例如D#2168 - 12-31表示的日期为2168年12月31日,相应变量的内容为W#16#FF62。下表列出了Date数据类型的属性。
(2)日时间 (Time_Of_ Day)
TOD (TIME_OF_DAY) 数据类型占用一个双字,存储从当天 0:00 h 开始的毫秒数,为无符号整数,常数表示格式为时间前加TOD#。
(3)长日时间 LTOD (LTime_Of_Day)
长日时间LTOD( LTime_Of_Day)数据类型占用2个双字,存储从当天0:00开始的纳秒数,为无符号整数。纳秒级的数据,只有S1500系列才拥有。
(4)日期时间 DT( Date_And_Time)
日期时间DT( Date_And_Time)数据类型存储日期和时间信息,格式为BCD。
(5)日期长时间 LDT (Date_And_LTime)
日期长时间LDT( Date_And_LTime)数据类型可存储自1970年1月1日0:00以来的日期和时间信息(单位为纳秒)。
(6)长日期时间 DTL
长日期时间( DTL)数据类型的操作数长度为12 个字节,以预定义结构存储日期和时间信息。
DTL数据类型的结构由几个部分组成,每一部分都包含不同的数据类型和取值范围。指定值的数据类型必须与相应元素的数据类型相匹配。表5-18给出了DTL数据类型的结构组成。
今天和大家分享一下数据格式;
下篇文章我会和大家分享具体的西门子PLC读取和写入日期和时间的实例以及注意事项。
喜欢的话请点赞并分享,您的支持是我坚持下去的动力!送人玫瑰,手有余香
举报/反馈