S7-200SMART实时时钟


  一、实时时钟概述   

       S7-200 SMART的硬件实时时钟可以提供年、月、日、时、分、秒的日期/时间数据。CPU CR40/CR60 等紧凑型CPU没有内置的实时时钟,其他标准型CPU支持内置的实时时钟,CPU断电状态下可保持7天;时钟精度是± 120 秒 / 月;SMART CPU 靠内置超级电容为实时时钟提供电源缓冲,保持时间为典型值7天,最小值6天  

       因为 紧凑型CPU 无内置超级电容,所以实时时钟无电源缓冲,所以我们使用READ_RTC 和 SET_RTC 指令设置日期/时间数据,但是当 CPU CR40/CR60 断电并再次上电时,这些日期/时间数据也会丢失,上电后日期时间数据会被初始化为2000年1月1日。

      为了提高运算效率,应当避免每个程序周期都读取实时时钟。实际上可读取的最小时间单位是1秒,可每秒读取一次(使用SM0.5上升沿触发读取指令)。


      使用程序读取的实时时钟数据为BCD格式,可在状态表中使用十六进制格式查看。

二、实时时钟指令概述

       时钟指令有读取及设置实时时钟和扩展实时时钟两部分

S7-200SMART实时时钟的图1

       READ_RTC读取实时时钟指令从 CPU 读取当前时间和日期,并将其装载到从字节地址 T 开始的 8 字节时间缓冲区中。
         SET_RTC设置实时时钟指令通过由 T 分配的 8 字节时间缓冲区数据将新的时间和日期写入到 CPU
        READ_RTCX 读取扩展实时时钟指令从 PLC 中读取当前时间、日期和夏令时组态,并将其装载到从 T 所分配地址开始的 19 字节缓冲区中。
        SET_RTCX设置实时时钟指令使用字节地址 T 分配的 19 字节时间缓冲区数据将新的时间、日期和夏令时组态写入到 PLC 中。
         Read_RTC(读时钟)和Set_RTC(设置时钟)指令靠数据缓冲区在程序与硬件芯片间交换数据,它们的缓冲区格式相同。


三、实时时钟缓冲数据格式
                 八字节数据缓冲格式如下图所示
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指令写入时会忽略值。通过SET_RTC/TODR指令进行读取时,值会根据当前年 / 月/日值报告正确的星期几。1至7,1=星期日,7=星期六(BCD值)

        T 就是缓冲区的起始字节地址,我们可自由设置(在CPU允许的V存储区范围内)。如果设置T为VB100,那么读取时钟后,“年”的信息就会保存在VB100中,“月”保存在VB101中。所有的日期时间均采用BCD码格式分配(比例16#15表示2015年)BCD码00-99值可分配范围为2000年至2099年
       BCD码:通俗简单的说就是用16进制数来表示十进制数就称为BCD码
                   扩展实时时钟19字节缓冲区格式

S7-200SMART实时时钟的图2

S7-200SMART实时时钟的图3

四、各型号CPU实时时钟精度

CPU型号 实时时钟精度 实时时钟保持时间
CPU SR20 +/- 120 s/月 通常为7天,25°C时最少为6天(免维修超级电容)
CPU SR40 120 s/月 通常为7天,25°C时最少为6天
CPU ST40 120 s/月 通常为7天,25°C时最少为6天
CPU CR40 -- --
CPU ST60 120 s/月 通常为7天,25°C时最少为6天
CPU SR60 120 s/月 通常为7天,25°C时最少为6天
         CPU在长时间断电后会对这些值进行初始化;初始化后的具体时间为2000年1月1日00:00:00星期六
        
 五、用 Micro/WIN SMART 设置时钟
       通过编程软件 Micro/WIN SMART 设置 CPU 的时钟,必须先建立编程通信连接。在 Micro/WIN SMART 菜单中选择“PLC “- >”设置实时时钟”,打开“PLC 时钟操作”对话框

S7-200SMART实时时钟的图4

a.设置日期:选择需要修改的数据字段,直接输入数字,或者使用输入框右侧的上下按钮调整
b.设置时间:选择需要修改的数据字段,直接输入数字,或者使用输入框右侧的上下按钮调整
c.读取 PC 时钟:按此按钮可以读取安装 Micro/WIN SMART的 PC 机的本机时间
d.读取 PLC 时钟:按此按钮读取 PLC 内部的实时时钟数据
e.根据需要选择夏时制调整选项
f.按“设置”按钮,将上面的时钟日期数据写入 PLC

  六、读写的时钟数据如何在十进制(整数)和BCD数据之间转换?
       要计算时间需要将BCD格式的时钟数据与十进制的数据之间的转换,使用相应的转换指令就可以实现。
      具体转换指令在本平台回复:clock 即可下载 Clock_Integer 指令库       
      要使用 Clock_Integer 指令库,须遵循以下步骤:
      取得 Clock_Integer 指令库文件,并添加到编程软件 STEP 7-Micro/WIN SMART中;按照要求编写程序调用 Clock_Integer 指令库。

(1条)
默认 最新
Clock
评论 点赞
点赞 评论 1 收藏 1
关注