回复:请问各位老大,S7-200有没有办法把系统时间读取出来?

王小鸭

  • 帖子

    130
  • 精华

    0
  • 被关注

    1

论坛等级:游士

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2006-03-15 09:20:51

0楼

读取实时时钟(TODR)指令从硬件时钟读取当前时间和日期,并将其载入以地址T起始的8个字节的时间缓冲区。设置实时时钟(TODW)指令将当前时间和日期写入用T指定的在8个字节的时间缓冲区开始的硬件时钟。TODR:设置ENO = 0的错误条件:
0006 间接地址
000C 不存在时钟盒TODW:设置ENO = 0的错误条件:
0006 间接地址
0007 TOD数据错误
000C 不存在时钟
所有日期和时间值必须采用BCD格式编码(例如,16#97代表2002年)。请参阅下表。

8个字节时间缓冲区格式(T)

T字节 说明 字节数据
0 年 (0-99) 当前年份 (BCD值)
1 月 (1-12) 当前月份 (BCD值)
2 日期 (1-31) 当前日期 (BCD值)
3 小时 (0-23) 当前小时 (BCD值)
4 分钟 (0-59) 当前分钟 (BCD值)
5 秒 (0-59) 当前秒 (BCD值)
6 00 保留 ?始终设置为00
7 星期几 (1-7) 当前是星期几,1=星期日 (BCD值)
长时间掉电或内存丢失后,实时时钟会被初始化为以下日期和时间:

日期: 90年1月1日
时间: 00:00:00
星期几: 星期日
提示:
S7-200 CPU不会根据日期核实星期几是否正确。无效日期,例如2月30日,可能被接受。您应当确保您输入了正确的日期。请勿在主程序和中断例行程序中使用TODR/TODW指令。当另一条TODR/TODW指令正在执行时,若尝试执行中断例行程序中的TODR/TODW指令,则该指令不会被执行。SM4.3被设置为显示对此时钟曾有两个同时访问尝试(非重要错误0007)。S7-200中的当日时间时钟仅使用年份的最后两位数字,因此2000年表示为00。S7-200 PLC 不以任何方式使用年份信息。但是,使用算术或与年份值相比较的用户程序必须考虑两位数的表示法和世纪变化。2096年之前的闰年均可正确显示。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33257条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。