S7-1200-1500案例之读取设置本地时间
相关软(硬)件:
1、编程软件:TIA_V15.1
2、仿真软件:PLCSIM
控制要求:
1、读取系统本地时间,设置系统本地时间。 <o:p> </o:p>
注:程序仅供参考!!! <o:p> </o:p>
一、指令介绍:
1、RD_LOC_T:读取本地时间
说明:
使用该指令从 CPU 时钟读取当前本地时间,并将此时间在 OUT 输出中输出。在输出本地时间时,会用到夏令时和标准时间的时区和开始时间(已在 CPU 时钟的组态中设置)的相关信息。
示例程序:
在线查看: <o:page></o:page>
2、WR_LOC_T:写入本地时间
说明:
指令“WR_LOC_T”用于设置 CPU 时钟的日期和时间。在输入参数 LOCTIME 中,输入日期和时间作为本地时间。
输入值必须介于以下范围内:
DTL:最小值为 DTL#1970-01-01-00:00:00.0,最大值为 DTL#2200-12-31 23:59:59.999999999
LDT:最小值为 LDT#1970-01-01-0:0:0.000000000,最大值为 LDT#2200-12-31 23:59:59.999999999
参数 DST (Daylight Saving Time)
仅当从夏令时切换为标准时间时,才会对参数 DST 进行评估:
从夏令时切换到标准时间时,使用 DST 进行评估
在 3 a.m 时,时钟向后设置 (1) 一个小时。即,02:00:00:000000000 AM 和 02:59:59:999999999 AM 之间间隔了两个小时。 <o:page></o:page>
因此,对于 LOCTIME 中所有介于 02:00:00:000000000 AM 和 02:59:59:999999999 AM 之间的时间,需要声明该时间是在时间切换之前还是之后。DST 参数的用法如下所示:
DST=TRUE 时,该时间为两小时中的第一个小时。即,仍为夏令时时间。
DST=FALSE 时,该时间为两小时中的第二个小时。即,为标准时间。
对于 LOCTIME 中这两小时之外的所有时间,DST 将无关。
从标准时间切换到夏令时
参数 DST 与标准时间到夏令时之间的切换无关。
在 2 a.m 时,时钟向前设置 (1) 一个小时。即,02:00:00:000000000 AM 和 02:59:59:999999999 AM 之间不含任何小时间隔。
如果在 LOCTIME 处指定该小时内的某个时间,则将输出错误代码 W#16#8089。
在线查看1:
在线查看2: <o:page></o:page>
二、读取设置系统本地时间:
(新建项目、新建FB块、添加变量、编写程序、调用FB块、关联变量、下载测试)
读取设置系统时间:-- WangQuanFuGui 原创
GetSet_SYS_Time块输入输出接口说明:
INPUT:
Set_SYS_Time:(BOOL)设置系统时间;
SetYear:(UINT)设置年;
SetMonth:(UINT)设置月;
SetDay:(UINT)设置日;
SetHour:(UINT)设置时;
SetMinute:(UINT)设置分;
SetSecond:(UINT)设置秒;
OUTPUT:
CurrentYear:(UINT)当前年;
CurrentMonth:(UINT)当前月; <o:page></o:page>
CurrentDay:(UINT)当前日;
CurrentHour:(UINT)当前时;
CurrentMinute:(UINT)当前分;
CurrentSecond:(UINT)当前秒; <o:p> </o:p>
1、新建FB块(GetSet_SYS_Time)添加变量:
建立变量表1
建立变量表2
2、编写程序: <o:page></o:page>
FB块接口说明
读系统时间、时间格式转换 <o:page></o:page>
设置时间格式转换、写系统时间
3、下载测试:
时间时区设置
自定义数据类型
新建DB块定义变量
主程序调用、关联变量
编辑HMI画面
下载测试1
下载测试2
下载测试3
三、视频演示: