回复:定时延迟

Naga_Orochi

  • 帖子

    841
  • 精华

    19
  • 被关注

    1

论坛等级:侠士

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 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:有时笨办法可以解决聪明问题,所幸俺总有笨办法。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54706条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。