设置系统时钟的两种方法
1)直接使用step7软件中的相关指令在联机的情况下直接设定系统时钟,如下图所示,选中项目中的站,使用simatic manager ->diagnostic/setting ->set time of day指令设置系统时钟:
也可打开程序块或硬件组态,使用plc ->set time of day指令来在线设置系统时钟,画面如下:
勾选“take from pg/pc”,使用计算机时钟同步plc时钟,然后点击“apply”按钮完成。
2)使用sfc0来设置系统时钟
创建一个db块db1,打开db1块定义一个date_and_time的变量如图所示:
打开符号表定义db1的符号名:
这里先介绍一下date_and_time变量的格式,其由八个字节组成分别代表年、月、日、时、分、秒、毫秒,最后一个字节0-3位代表星期,4-7为表示毫秒,是以bcd码表示的。
然后打开ob1,首先将需要设定的时间以16进制bcd码的形式赋值给定义的data_and_time变量的各个字节,最后一个字节不需要设定,系统会自己计算并赋值,例如设定的时间为07年8月15日13点20份10秒。
在程序中调用sfc0,将存放设定时间的data_and_time变量以符号名的方式赋给sfc0的pdt形参,返回变量赋值给mw100,这样当m0.0由0到1时sfc0被执行。
在程序运行后打开监视和修改变量表即可观察到最后一个字节db1.dbb7的低4位已经被系统自动计算为4即星期三。
为了观察系统时间是否被正确设定,我们在db1中再定义一个data_and_time的变量如图所示:
在ob1中调用sfc1读取系统时钟并将系统时间传送给“db_time”.readtime变量:
打开monitor/modify variables表,添加变量,通过按动修改变量按钮将m0.0的状态改为true,然后通过按下监视变量按钮观察变量状态