Tools

西门子中国西门子中国

Site ExplorerSite Explorer
Close site explorer

怎样读和写S7-214的实时时钟

概述

这个程序示例涉及到关于实时时钟的两种特殊指令:读和写日期及时钟时间。

 

为了进行这些操作,需要有如下结构的8字节缓冲区:

字节0: 年(00-99)   字节4: 分(00-59)

字节1: 月(1-12)    字节5: 秒(00-59)

字节2: 日(1-31)    字节6: 未分配

字节3: 时(00-24)   字节7: 星期(1-7=Su-Sa)

 

为了读或写方便,这些数据用BCD码存储。当操作开关I0.0为1时,就将预定日期和时间写入实时时钟。为了显示当前的秒值,将其值拷贝到输出字节QB0.当I0.1=1时,则用BCD码显示;当I0.1=0时,则用二进制码显示。

程序和注释

通过按输入开关I0.0,可调用子程序0。这个子程序按照要求的时间和日期,预先将其值置入VB100到VB107这8个字节,然后用TODW指令,将此设置传送给实时时钟

每个周期都读出实时时钟的值,这些数据以BCD码形式(4位代表0-9的数字)存储在VB400到VB407这8个字节中。如果输入I0.1为1,这些值就被直接拷贝到输出字节QB0,以供显示。

如果输入开关I0.1为0,将数据从VW404拷贝到VW204,再将包含分钟值的VW204清零。这一步是必须的,因为把秒值从BCD码的形式转换成二进制码的形式,只能按字来转换现时的二进制码的秒值被传输到输出字节QB0,以供显示。



具体程序(有详细中文注释)可以下载直接调试:


tip0008.zip(6.27KB)