读写西门子S7-214的实时时钟的举例
发表时间:2018-09-08
怎样读和写S7-214的实时时钟?
下面这个程序示例涉及到关于实时时钟的两种特殊指令:读和写日期及时钟时间。为了进行这些操作,需要有如下结构的8字节缓冲区:
为了读或写方便,这些数据用BCD码存储。当操作开关10.0为1时,就将预定日期和时间写入实际时钟。为了显示当前的秒值,将其值拷贝到输出字节QB0。当10.1=1时,则用BCD码显示;当10.1=0时,则用二进制码显示。
例程:
程序框图
程序和注释
通过按输入开关10.0可调用子程序0。这个子程序按照要求的日期和时问,预先将其值置入VB100到VB107这8个字节,然后用TODW指令,将此设置传送给实时时钟。
每个周期都读出实时时钟的值,这些数据以BCD码形式(4位代表0至9的数字)存储在VB400到VB407这8个字节中。如果输入10.1为1,这些值就被自接拷贝到输出字节QB0,以供显示。
如果输入开关10.1为0,将数据定VW404拷贝到VW204,再将包含分钟值的VB204清零。这一步是必须的,因为把秒值从BCD码形式转换成二进制码形式,只能按字来转换。现时的二进制码的秒值被传输到输出字节QB0,以供显示。
本程序长度为46个字。
相关资讯13609158196