读写西门子S7-214的实时时钟的举例

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

下面这个程序示例涉及到关于实时时钟的两种特殊指令:读和写日期及时钟时间。为了进行这些操作,需要有如下结构的8字节缓冲区:

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

例程:

程序框图

程序和注释

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

每个周期都读出实时时钟的值,这些数据以BCD码形式(4位代表09的数字)存储在VB400VB4078个字节中。如果输入10.11,这些值就被自接拷贝到输出字节QB0,以供显示。

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

本程序长度为46个字。