数据类型DTL介绍、使用
硬件:
① S7-1200 CPU(本文中使用 V4.4 版本的 S7-1215C DC/DC/DC)
② PC(带以太网卡),TP电缆(以太网电缆)
软件:
① 文档中使用 TIA portal V16
一、DTL时间数据类型
日期和时间的数据类型 DTL 的操作数长度为 12 个字节,用于存储日期和时间信息。
下表列出了数据类型 DTL 的属性:

图.01
数据类型 DTL 的结构由几个部分组成,每一部分都包含不同的数据类型和取值范围。指定值的数据类型必须与相应元素的数据类型相匹配。
下表给出了数据类型 DTL 的结构组成及其属性:

图.02
二、系统/本地时间区别
系统时间(System Time):格林威治标准时间。
本地时间(Local Time):根据S7-1200CPU所处时区设置的本地标准时间。
例如 ,北京时间与系统时间相差8小时。
在CPU属性中进行设置,如图所示:

图.03
三、读取S7-1200CPU的系统/本地时钟
1. 读取S7-1200CPU的系统/本地时钟指令的调用。如图所示:

图.04
2.读取S7-1200CPU的系统/本地时钟,需要在DB块中创建数据类型为DTL的变量。

图.05
3.在OB1中编程,读出的系统/本地时间通过输出管脚"OUT"放入数据块相应的变量中。

图.06
从上图可以看出,读出的系统时间和本地时间相差8小时,这是因为S7-1200CPU所设置的时区与格林威治时间相差8小时。
输出管脚"RET_VAL"为指令状态输出,具体含义参见指令帮助。
四、应用举例
例如,使用本地时钟:
1、设定每天晚上7点开灯,早上7点30分关灯;
2、设定2030-01-01-12:00:00执行某个操作。

图.07