发布于 2006-12-29 11:35:45
0楼
上文有个笔误,改为:
//判断延时到达程序
CALL FC 12 //IEC库 GE_DT
DT1 :="TIME_DB".NowTime
DT2 :="TIME_DB".CalTime
RET_VAL:=M0.1 //到达后置 1
当然也可以采用数脉冲方式:
1、组态PLC的CPU,设置一个脉冲触发字节:如MB250
2、根据精度需要选择M250.0~M250.7,如:M250.5 1s
3、建立一个DB块(TIME_DB) ,建立2个DINT变量(DelayTime、End_Time)
编写代码:
A M0.0 //使能、初始化
FP M100.0
JCN _001
L L#0
T "TIME_DB".DelayTime
_001: NOP 0
A M0.0 //计时
A M250.0
FP M100.0
JCN _002
L L#1
L "TIME_DB".DelayTime
+L
T "TIME_DB".DelayTime
_002: NOP 0
A M0.0 //判断延时结束
A(
L "TIME_DB".DelayTime
L "TIME_DB".EndTime
>=D
)
S M0.2 //延时结束输出1
R M0.0 //复位定时器
A M0.2
JCN _003
//延时后要执行的程序段
_003: NOP 0
naga xel:有时笨办法可以解决聪明问题,所幸俺总有笨办法。