发布于 2006-12-29 11:05:29
0楼
//建一个DB块(TIME_DB),分别建两个DT变量和一个TIME变更
//第一个DT时间变量NowTime作为现在时间储存
//第二个DT时间变量CalTime作为延时到达的时间
//Time时间变量作为设定延迟时间,根据延时长度确定个数
CALL SFC 1 //读PLC时间
RET_VAL:=MW100
CDT :="TIME_DB".NowTime
A M 0.0 //延时使能
FP M 100.0
JCN _001
//注意:time时间类型上限为T#+24d20h31m23s647ms,当时间不够,可以考虑多做几个时间变量或重复几次加
CALL FC 1 //IEC库 AD_DT_TM
T :="TIME_DB".NowTime
D :="TIME_DB".SetDelayTime
RET_VAL:="TIME_DB".CalTime
// CALL FC 1
// T :="TIME_DB".NowTime
// D :="TIME_DB".SetDelayTime2
// RET_VAL:="TIME_DB".CalTime
_001: NOP 0
//判断延时到达程序
CALL FC 12 //IEC库 GE_DT
DT1 :="TIME_DB".CalTime
DT2 :="TIME_DB".NowTime
RET_VAL:=M0.1 //到达后置 1
A M 0.1
JCN _002
//在延时后需要执行的程序段
_002: NOP 0
naga xel:有时笨办法可以解决聪明问题,所幸俺总有笨办法。