LAD/FBD |
STL |
说明 |
|
TODRX |
T |
读取扩展实时时钟指令从 PLC 中读取当前时间、日期和夏令时组态, |
|
并将其装载到从 T 所分配地址开始的 19 字节缓冲区中。 |
|||
TODWX |
T |
设置实时时钟指令使用字节地址 T 分配的 19 字节时间缓冲区数据将新的时间、日期和夏令时组态写入到 PLC 中。 |
|
ENO = 0 时的非致命错误 |
受影响的 SM 位 |
||
• |
0006H 间接地址 |
无 |
|
• |
0007H T 数据错误 |
||
输入 |
数据类型 |
操作数 |
|
T |
BYTE |
IB、QB、VB、MB、SMB、SB、LB、*VD、*LD、*AC |
说明
READ_RTC、SET_RTC 编程提示
不接受无效日期。 例如,如果您输入 2 月 30 日,则将发生非致命日时钟错误
(0007H)。不要在主程序和中断例程中使用 READ_RTC/SET_RTC 指令。 执行另一个
READ_RTCX/SET_RTCX 指令时,无法执行中断例程中的 READ_RTCX/SET_RTCX 指令。在这种情况下,系统标志位 SM4.3 会置位,指示尝试同时对日时钟执行二重访问,导致 T 数据错误(非致命错误 0007H)。
CPU 中的日时钟仅使用年份的最后两位数,因此 2000 年表示为 00。但使用年份值的用户程序必须考虑两位数的表示法。
2099 年之前的闰年均可正确处理。
8 字节时间缓冲区的格式,从字节地址 T 开始
所有日期和时间值必须采用 BCD 格式分配(例如,16#12 代表 2012 年)。 00 至
99 的 BCD 值范围可分配范围为 2000 至 2099 的年份。
T 字节 |
说明 |
数据值 |
|
0 |
年 |
00 |
至 99(BCD 值)20xx 年: 其中,xx 是 T 字节 0 中的两位数 BCD 值 |
1 |
月 |
01 |
至 12(BCD 值) |
2 |
日 |
01 |
至 31(BCD 值) |
3 |
小时 |
00 |
至 23(BCD 值) |
4 |
分 |
00 |
至 59(BCD 值) |
5 |
秒 |
00 |
至 59(BCD 值) |
6 |
保留 |
始终设置为 00 |
|
7 |
星期几 |
使用 SET_RTC/TODW 指令写入时会忽略值。 |
|
通过 READ_RTC/TODR 指令进行读取时,值会根据当前年/ |
|||
月/日值报告正确的星期几。 |
|||
1 至 7,1 = 星期日,7 = 星期六(BCD 值) |
超出断电时长对 CPU 时钟的影响
超出断电时长后,CPU 将初始化为下表所示的时间值。
日期 |
时间 |
星期几 |
2000 年 1 月 1 日 |
00:00:00 |
星期六 |
说明
紧凑型 S7-200 SMART CPU 型号 CR40 和 CR60 不含 RTC(实时时钟)或超级电容
可借助 READ_RTC 和 SET_RTC 指令设置 CPU 型号
CR40 和 CR60 的年份、日期和时间值,但这些值会在下一次 CPU 断电再重新上电时丢失。 上电时,日期和时间将初始化为 2000 年 1 月1 日。