6ES7516-3AP03-0AB0|参数详情
- 供应商
- 浔之漫智控技术(上海)有限公司
- 认证
- 品牌
- 西门子
- 型号
- 模块
- 产地
- 德国
- 联系电话
- 15821971992
- 全国服务热线
- 15821971992
- 经理
- 聂聪
- 所在地
- 上海市松江区广富林路4855弄88号3楼
- 更新时间
- 2023-10-26 04:00
读取和设置实时时钟
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 中的日时钟仅使用年份的zui后两位数,因此 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 日。
1、set_rtc(设置时钟)指令
定义连续8个字节的数据区,每个字节分别是年、月、日、时、分、秒、保留、星期,每个字节都是bcd码,组合起来的时钟必须时合法的时钟。
写时钟指令需要严格按照8个字节的时钟缓冲区格式,设置相应的数据单元,任何不合格的数据都可能造成不能写入的现象。注意数据的格式必须是bcd格式,可以说是将10进制数换成16进制表示,如16#59(59h)就是59(秒/分等)。
执行写时钟指令要保证缓冲区所有字节都包含合法数据;仅修改某些数据时,其他字节不能包含非法数值,否则会发生错误。
写时钟指令必须使用一次性的脉冲(沿)触发条件,不能持续激活写时钟指令。
2、用库指令set_rtc_i ,它也是8个字节,只是用单节是十进制整数格式存储,不用 bcd码,指令会将其换成bcd码,同样要用沿调用。
3、read_rtc(设置时钟)指令
定义连续8个字节的数据区,每个字节分别是年、月、日、时、分、秒、保留、星期,每个字节都是bcd码,组合起来的时钟必须时合法的时钟。