当前位置: 主页 > PLC控制

如何读取S5系统时间?

如何读取S5-155U系统时间?并每8小时给计数器清零

最佳答案

S5的集成实时时钟有以下几个作用:
1、提示、报警功能
2、操作时间计数
3、实时时钟功能
当S5PLC在缺省状态下,实时时钟是不起作用的,要使时钟工作,有二个途径:
1、通过STEP5软件中的菜单Change──》COMDB1,对ClockParameters(CLP)进行初始化;
2、通过OB21或OB22在控制程序中编程初始化系统数据。
通过初始化可以定制实时时钟数据区的起始地址及状态字的地址。
定制了实时时钟数据区的起始地址后就可以对实时时钟进行数据编程,用于你所需要的用途。
下边举一个例子作粗略说明:
假设你希望用DB2的DW0作为时钟数据区的起始地址,而状态字存储到标志字FW10中,F12.0作为时钟故障标志位,那么我们就可能在OB21和OB22中作如下编程:
OB21
Segment1
:JUfb101//调用FB101进行时钟设置
NAME:UHR-INIT
TUDA:KSDB//定制DB块作为时钟数据区
NUDA:KY2,0//数据块地址为DB2,起始地址为DW0
TUSW:KSFW//时钟状态字定义为FW
NUSW:KY10,0//时钟状态字地址为FW10
FEHL:F12.0//如果时钟没正确启动,则F12.0置“1”

:LKM0000001000110000
:TFW10//预设状态字FW10,实现:1、启动时钟计时、
:BE//2、保存最近一次的RUN-STOP变化时间、
//3、即使CPU停机,时钟照常工作的功能。

这样,当CPU启动后,系统时钟就能正常工作了,用户可以在FB101中根据自己的意愿来编程使用系统时钟了。如何编程就不细说了。
另外,在DB2时钟数据区中,各个数据字的含义如下:
DW0高位字节为空,低位字节为星期(当前系统时间)
DW1高位字节为日期,低位字节为月份
DW2高位字节为年份,低位字节为小时+AM/PM位
DW3高位字节为分钟,低位字节为秒
DW4高位字节为闰年,低位字节为星期(用户设定时间)
DW5高位字节为日期,低位字节为月份
DW6高位字节为年份,低位字节为小时+AM/PM位
DW7高位字节为分钟,低位字节为秒
DW8高位字节为空,低位字节为星期(设定提示时间)
DW9高位字节为日期,低位字节为月份
DW10高位字节为空,低位字节为小时+AM/PM位
DW11高位字节为分钟,低位字节为秒
DW12高位字节为空,低位字节为秒(当前操作时间)
DW13高位字节为分钟,低位字节为小时
DW14高位字节为小时X100,低位字节为小时X10000
DW15高位字节为空,低位字节为秒(设定的操作时间)
DW16高位字节为分钟,低位字节为小时
DW17高位字节为小时X100,低位字节为小时X10000
DW18高位字节为空,低位字节为星期(STP/RUN操作后的时钟)
DW19高位字节为日期,低位字节为月份
DW20高位字节为年份,低位字节为小时DW3高位字节为分钟,低位字节为秒
DW21高位字节为分钟,低位字节为秒

有了这些,你就可很简单的实现你所需的功能了。

提问者对于答案的评价:
HAO

  • 关注微信

猜你喜欢

微信公众号