首页 理论教育 实时时钟指令:日期时间的数据类型

实时时钟指令:日期时间的数据类型

时间:2023-06-21 理论教育 版权反馈
【摘要】:打开在线与诊断视图,可以设置实时时钟的时间值。图4-89 T_CONV指令输入程序时,需要用指令名称下面的下拉式列表来选择某些实时时钟指令输入、输出参数的数据类型。在读取实时时间时,应调用RD_LOC_T指令。用实时时钟指令控制路灯的定时接通和断开,20:00开灯,06:00关灯。图4-90 读写实时时钟指令2)RD_SYS_T将读取的PLC当前系统时间保存在输出OUT中,数据类型为DTL。这个时间值不包括对本地时区和夏令时的补偿。

实时时钟指令:日期时间的数据类型

实时时钟(Time-of-day Clock)在是在CPU断电时由超级电容提供的能量保证时钟的运行。CPU上电至少24h后,超级电容充的能量可供时钟运行10天。打开在线与诊断视图,可以设置实时时钟的时间值(见图5-62)。也可以用时钟指令来读、写实时时钟。

1.日期时间的数据类型

1)数据类型time的长度为4B,取值范围为T#-24d_20h_31m_23s_648ms~T#24d_20h_31m_23s_647ms(-2147483648 ms~2147483647ms)。

2)数据结构DTL(日期时间)如表4-12所示。可以在全局数据块或块的界面区中定义DTL变量。

表4-12 数据结构DTL

978-7-111-47789-1-Chapter04-139.jpg

2.T_CONV指令(时间转换)

T_CONV如图4-89所示。用于将数据类型Time转换为DInt,或者作反向的转换。IN和输出参数OUT均可以取数据类型Time和DInt。

978-7-111-47789-1-Chapter04-140.jpg

图4-89 T_CONV指令

输入程序时,需要用指令名称下面的下拉式列表来选择某些实时时钟指令输入、输出参数的数据类型。

3.T_ADD指令(时间值相加)

T_ADD和T_SUB的输入参数IN1和输出参数OUT的数据类型可选DTL或Time,它们的数据类型应相同,IN2的数据类型为Time。T-ADD的输入参数IN1的值与IN2的值相加,参数OUT用来指定保存运算结果的地址。可以做下列两种数据类型的运算:Time+Time=Time或DTL+Time=DTL。

4.T_SUB指令(时间值相减)

T_SUB的输入参数IN1的值减去IN2的值,参数OUT用来指定保存运算结果的地址。可以做下列两种数据类型的运算:Time-Time=Time或DTL-Time=DTL。

5.T_DIFF指令(时间差)(www.xing528.com)

T_DIFF的输入IN1的DTL值减去IN2的DTL值,参数OUT提供数据类型为Time的差值,即DTL-DTL=Time。如果DTL或Time值无效,ENO为0,参数OUT为0。

如果IN2指定的时间大于IN1指定的时间,OUT输出的结果为负值。如果运算结果超出允许的范围,运算结果被限幅,ENO被置为0状态。

6.时钟指令

时钟指令用来设置和读取系统时钟(见图4-90)。数据类型DTL用于提供日期和时间值。

1)指令WR_SYS_T(写系统时间)将输入IN的DTL值写入PLC的实时时钟。这个时间值不包括对本地时区和夏令时的补偿。输出RET_VAL是返回的指令执行的状态信息,数据类型为Int。

978-7-111-47789-1-Chapter04-141.jpg

图4-90 读写实时时钟指令

2)RD_SYS_T(读系统时间)将读取的PLC当前系统时间保存在输出OUT中,数据类型为DTL。这个时间值不包括对本地时区和夏令时的补偿。输出RET_VAL是返回的指令执行的状态信息。

3)RD_LOC_T(读本地时间)的输出OUT提供数据类型为DTL的PLC中的当前本地时间。为了保证读取到正确的时间,在组态CPU的属性时,应设置实时时间(日时间)的时区为北京,不设置夏令时。在读取实时时间时,应调用RD_LOC_T指令。

【例4-10】用实时时钟指令控制路灯的定时接通和断开,20:00开灯,06:00关灯。

如图4-91是梯形图程序。

首先用RD_LOC_T读取实时时间,保存在数据类型为DTL的局部变量DT5中,其中的HOUR是小时值,其变量名称为DT5.HOUR。用Q0.0来控制路灯,20:00~0:00时,上面的比较触点接通;0:00~6:00时,下面的比较触点接通。

978-7-111-47789-1-Chapter04-142.jpg

图4-91 路灯控制梯形图

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

我要反馈