我看了有关计算电机的运行时间的帖子,我一般都是用OB10和SFC28,SFC30来统计PLC或某个设备的运行时间的,编程如下在OB1中,SFC28和SFC30中调用0B10,一天一次
A(
CALL SFC 28
OB_NR :=10
SDT :=DB10.STAT0
PERIOD :=W#16#1001
RET_VAL:=MW204
A BR
)
JNB _00f
CALL SFC 30
OB_NR :=10
RET_VAL:=MW206
_00f: NOP 0
设置PERIOD :=的计时方式,我用的是天,
W#16#0000 =一次,W#16#0201 =分,W#16#0401 =小时,W#16#1001 = 日,W#16#1202 = 周W#16#1401 = 月,W#16#1801 = 年,
在OB10编程中置位一个点
SET
S M 101.0
在OB10中对改点做累加和复位。
A M 101.0
CU C 5
BLD 101
NOP 0
NOP 0
A M 300.0
R C 5
NOP 0
LC C 5
T MW 124
NOP 0
A M 101.0
L S5T#400MS
SD T 104
NOP 0
NOP 0
NOP 0
A T 104
R M 101.0
最后把计数得的数值由BCD砖换成实数
L MW 124
BTI
T MW 126
NOP 0
可以将M存储区用保留存储区范围内的,这样可以断电保存住数值,就可以统计出设备运行的时间。