如何读取S5-155U的系统时间?并每8小时给计数器清零
最佳答案
S5的集成实时时钟有以下几个作用:
1、提示、报警功能
2、操作时间计数
3、实时时钟功能
当S5 PLC在缺省状态下,实时时钟是不起作用的,要使时钟工作,有二个途径:
1、通过STEP5软件中的菜单Change──》COM DB1,对Clock Parameters(CLP)进行初始化;
2、通过OB21或OB22在控制程序中编程初始化系统数据。
通过初始化可以定制实时时钟数据区的起始地址及状态字的地址。
定制了实时时钟数据区的起始地址后就可以对实时时钟进行数据编程,用于你所需要的用途。
下边举一个例子作粗略说明:
假设你希望用DB2的DW0作为时钟数据区的起始地址,而状态字存储到标志字FW 10中,F12.0作为时钟故障标志位,那么我们就可能在OB21和OB22中作如下编程:
OB21
Segment 1
:JU FB101 //调用FB101进行时钟设置
NAME :UHR-INIT
TUDA : KS DB //定制DB块作为时钟数据区
NUDA : KY 2, 0 // 数据块地址为DB2,起始地址为DW0
TUSW : KS FW // 时钟状态字定义为FW
NUSW : KY 10, 0 // 时钟状态字地址为FW10
FEHL : F 12.0 // 如果时钟没正确启动,则F12.0置“1”
:
:L KM 00000010 00110000
:T FW 10 //预设状态字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
原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc147816.html