发布于 2009-08-03 09:27:45
0楼
你程序有问题,至于是什么问题,要仔细检查。
以下是我测试通过的程序供参考。
程序为上电2分钟后开始中断OB10,每个OB10内重新设置1分钟后再次中断OB10,形成循环,MW0是OB10中断计数。
//OB100
// OB10_DT定义为OB100的临时变量,DATE_AND_TIME
// 取OB100启动时间 + 2分钟
CALL "AD_DT_TM"
T :=#OB100_DATE_TIME
D :=T#2M
RET_VAL:=#OB10_DT
// 设置为OB10的启动时间
CALL "SET_TINT"
OB_NR :=10
SDT :=#OB10_DT
PERIOD :=W#16#0
RET_VAL:=LW30
// 激活OB10
CALL "ACT_TINT"
OB_NR :=10
RET_VAL:=LW32
//0B10
// OB10_DT定义为OB10的临时变量,DATE_AND_TIME
SAVE
SET
// OB10中断计数
L MW 0
+ 1
T MW 0
// 重新设置下次OB10的启动时间,原理同上,1分钟后
CALL "AD_DT_TM"
T :=#OB10_DATE_TIME
D :=T#1M
RET_VAL:=#OB10_DT
CALL "SET_TINT"
OB_NR :=10
SDT :=#OB10_DT
PERIOD :=W#16#0
RET_VAL:=LW30
CALL "ACT_TINT"
OB_NR :=10
RET_VAL:=LW32