版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
描述 为了输入或读取 CPU 时钟的日期和时间,S7-300/400 需要数据类型 “DT” (DATA_AND_TIME) ,S7-1200/1500 需要数据类型 “DTL” 。
为了输入或读取 CPU 时钟的日期和时间,S7-300/400 需要数据类型 “DT” (DATA_AND_TIME) ,S7-1200/1500 需要数据类型 “DTL” 。
下表给出了在 S7-300/400 和S7-1200 /1500 中输入和输出日期和时间数据所需要的指令。这些指令参见 STEP 7 (TIA Portal) 中的"高级指令 > 日期和时间"
在S7-300/400 中使用 “T_CONV” 指令从 "DT" 中提取日期、星期和时间数据。该指令需要调用三次。在参数 “IN” 中填写 “DT” 类型的变量并在参数 “OUT” 中分别填写定义为 “Date”, “Int” 和“TOD” 类型的变量。
1. 从“DT” 转换到 “Date” (日期)
2. 从“DT” 转换到 “Int”(星期)
3. 从“DT” 转换到 “TOD” (当前时间)
使用 S7-1200/1500 可以直接符号访问 DTL 变量结构的组件,但它无需访问间接地址或编辑绝对地址。建议将数据保存到全局数据块。在这个数据块中使用“DTL” 声明变量,输入之后点击左边的箭头符号展开这个变量。在这个 DTL 数据类型下将显示其结构组成(YEAR, MONTH, DAY, ... )及其各自的数据类型。
S7-300/S7-400 的块
在功能 "ReadWriteTime" [FC20] 中,网络段1调用 "WR_SYS_T" 指令设置 CPU 时钟的日期和时间。在此之前,调用 “T_COMBINE” 将“Date” 和“Time_of_Day” 格式的数据组合为 “Date_and_Time” 的格式。网络2调用 "RD_SYS_T" 读取 CPU 时钟的日期和时间。调用 "T_CONV" 指令从 “DT” 格式中提取数据类型 “Date”, “Int” 和“TOD”。在OB 块"ReadWriteOB" 中调用 "ReadWrite