发表于:2008-03-28 19:24:00
18楼
VB100 0, 0, 0, 0, 0, 0 //当天第一台数据,第一位是总的停机次数,后面依次为第一种次数,第二种次数,依次类推。以下同
VB110 0, 0, 0, 0, 0, 0 //昨天第一台数据
VB120 0, 0, 0, 0, 0, 0 //当天第二台数据
VB130 0, 0, 0, 0, 0, 0 //昨天第二台数据
VB200 0, 0, 0, 0, 0, 0 //当天底三台数据
VB210 0, 0, 0, 0, 0, 0 //昨天第三台数据
VB600 0, 0, 0, 0, 0, 0 //第一台累计数据,如需要每个月的数据按月统计,清零即可
VB700 0, 0, 0, 0, 0, 0 //第二台累计数据
上面是数据块定义,下面主程序
LDN SM0.7
O T37 //强制全部复位清零
FILL +0, VW100, 250
FILL +0, VW500, 250
LD I0.0
TON T37, 50
LD I0.1
EU
TON T37, 200
LD I0.1
ED,
CALL SBR_0, &VB100, T37 //其它点用相同的方法,转存自己搞定吧
下面是子程序:
LD SM0.0
INCB *#addr
LDW> #t, 3 //这里代表仅仅代表一下,实际中时间处理要复杂的多
AW< #t, 5
INCD #addr
INCB *#addr
LDW> #t, 5
LDW< #t, 10
+D +2, #addr //以下省略了其它情况
LDW> #t, 10
+D +3, #addr
有两个变量,一个数据块地址,一个时间值,实际应用要通过转换。
供参考