技术频道

怎样读和写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,以供显示。

as118_1

as118_2

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


文章版权归西部工控xbgk所有,未经许可不得转载。