首页 上一页 1 2 下一页 尾页

请教一个s300定时器的问题 点击:1565 | 回复:28



xkgpassion

    
  • 精华:2帖
  • 求助:1帖
  • 帖子:14帖 | 30回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2006年7月25日
发表于:2008-07-31 11:18:16
楼主
现在遇到一个问题,想请教各位大虾:我初学step7-v5.3,现在使用定时器指令遇到一个问题,如何能够把定时器中当前时间值与固定的常数相比较,例如:我定时器预置值为50s,现在想用这一个定时器控制三个线圈的输出,当t=2s时,Q0.0接通。当t=4.5s时,Q0.1接通,当t=5s时,Q0.3接通。如何通过比较指令与数据传输指令来实现?



苗子

  • 精华:0帖
  • 求助:1帖
  • 帖子:363帖 | 2721回
  • 年度积分:0
  • 历史总积分:5525
  • 注册:2002年11月15日
发表于:2008-07-31 11:27:30
1楼
有定时器可以实现的,S_ODTS可以实现

千山独步

  • 精华:0帖
  • 求助:0帖
  • 帖子:159帖 | 3098回
  • 年度积分:4
  • 历史总积分:21261
  • 注册:2007年2月02日
发表于:2008-07-31 17:34:54
2楼

可以使用以0.5S为一个脉冲,采用计数器累加,然后去执行符合条件的输出.

xkgpassion

  • 精华:2帖
  • 求助:1帖
  • 帖子:14帖 | 30回
  • 年度积分:0
  • 历史总积分:26
  • 注册:2006年7月25日
发表于:2008-07-31 18:01:20
3楼

谢谢苗子。不过再问你一个问题,定时器指令不是有两个数据端,一个是BI,一个是BCD,请问是在这两个端子里面采集数据与给定值进行比较吗?我是这样做的,不过没有成功,麻烦你帮我看一下:我先用MOV指令将固定时间如2传输到WM0中,然后选择定时器的BI端输出到WM1中,再用CMP指令对这两个数进行比较,结果CMP指令就一直不动作,请问问题出在哪里了?拜托。

修行

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 26回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2004年3月21日
发表于:2008-09-16 23:11:08
4楼
mw0和mw2吧?

majoryuan

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2003年6月09日
发表于:2008-09-18 09:11:18
5楼

非常简单

使用Bi可以得到一个以100ms为单位的整数,该整数是Word类型。所以你可以用你所选用的时间跟他比较就可以了,但是由于T的计数可能是倒计数,所以需要注意一下

majoryuan

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2003年6月09日
发表于:2008-09-18 09:12:45
6楼

非常简单

使用Bi可以得到一个以100ms为单位的整数,该整数是Word类型。所以你可以用你所选用的时间跟他比较就可以了,但是由于T的计数可能是倒计数,所以需要注意一下

majoryuan

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 11回
  • 年度积分:0
  • 历史总积分:25
  • 注册:2003年6月09日
发表于:2008-09-18 09:12:46
7楼

非常简单

使用Bi可以得到一个以100ms为单位的整数,该整数是Word类型。所以你可以用你所选用的时间跟他比较就可以了,但是由于T的计数可能是倒计数,所以需要注意一下

功夫熊猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:29帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-09-18 09:20:50
8楼
是不是受到了些什么因素干扰?

功夫熊猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:29帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-09-18 09:23:43
9楼
是不是受到了些什么因素干扰?

功夫熊猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:29帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-09-18 09:27:35
10楼
是不是受到了些什么因素干扰?

功夫熊猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:29帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-09-18 09:29:15
11楼
是不是受到了些什么因素干扰?

功夫熊猫

  • 精华:0帖
  • 求助:0帖
  • 帖子:29帖 | 188回
  • 年度积分:0
  • 历史总积分:0
  • 注册:1900年1月01日
发表于:2008-09-18 09:29:16
12楼
是不是受到了些什么因素干扰?

皓月

  • 精华:9帖
  • 求助:0帖
  • 帖子:483帖 | 5271回
  • 年度积分:0
  • 历史总积分:8863
  • 注册:2003年11月09日
发表于:2008-09-18 21:23:19
13楼
引用xkgpassion 的回复内容:

谢谢苗子。不过再问你一个问题,定时器指令不是有两个数据端,一个是BI,一个是BCD,请问是在这两个端子里面采集数据与给定值进行比较吗?我是这样做的,不过没有成功,麻烦你帮我看一下:我先用MOV指令将固定时间如2传输到WM0中,然后选择定时器的BI端输出到WM1中,再用CMP指令对这两个数进行比较,结果CMP指令就一直不动作,请问问题出在哪里了?拜托。




先用MOV指令将固定时间如2传输到WM0中,可能你的格式不对

修行

  • 精华:0帖
  • 求助:0帖
  • 帖子:2帖 | 26回
  • 年度积分:0
  • 历史总积分:42
  • 注册:2004年3月21日
发表于:2008-09-19 15:33:31
14楼

你怎么能用MW0和MW1呢?这两个字是有重复位置的,用MW0和MW2吧,再试试

或者你直接用MW1和一数字相比(你的固定时间2)也行

 

 

神仰慕的孩子

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 18回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2006年1月19日
发表于:2008-09-19 23:39:58
15楼

程序1:

A     M    100.0
      L     S5T#50S
      SS    T      1
      A     M    100.1
      R     T      1
      L     T      1
      T     MW     0
      NOP   0
      NOP   0

程序2:

 A     M    100.0
      A(   
      L     MW     2
      L     MW     0
      >I   
      )    
      =     Q      0.0
程序3:

 L     480
      T     MW     2
      NOP   0
程序4:

 A     M    100.0
      A(   
      L     MW     4
      L     MW     0
      >I   
      )    
      =     Q      0.1
程序5:

  L     455
      T     MW     4
      NOP   0
程序6:

 A     M    100.0
      A(   
      L     MW     6
      L     MW     0
      >I   
      )    
      =     Q      0.3
程序7:

 L     450
      T     MW     6
      NOP   0

通过了试验了.但是很麻烦.有简单的方法.

chenjiubin

  • 精华:0帖
  • 求助:0帖
  • 帖子:1帖 | 103回
  • 年度积分:0
  • 历史总积分:151
  • 注册:2006年11月17日
发表于:2008-09-20 15:43:43
16楼
。。。。。。。。。。。。。。。。。。。。。。。。。

hub_

  • 精华:0帖
  • 求助:0帖
  • 帖子:6帖 | 157回
  • 年度积分:0
  • 历史总积分:563
  • 注册:2006年12月26日
发表于:2008-09-24 19:50:22
17楼
PLC的定时器那么多也不缺两三个啊,为什么不用三个定时器来实现呢,一个定2S,一个定4.5S,另一个定5S,用接通延时定时器就很好实现了而且还简单

神仰慕的孩子

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 18回
  • 年度积分:0
  • 历史总积分:34
  • 注册:2006年1月19日
发表于:2008-09-24 20:46:21
18楼

程序的主要目的是想叫大家了解定时器BI位的用法。

 

TB0806006

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:13
  • 注册:2008年9月05日
发表于:2008-09-25 17:26:34
19楼
我觉得17楼说的对,往往最简单的才是最可靠的解决方法,编程不需要高科技,不能哗众取宠

蓝色月光

  • 精华:0帖
  • 求助:0帖
  • 帖子:11帖 | 133回
  • 年度积分:0
  • 历史总积分:611
  • 注册:2004年3月22日
发表于:2008-09-25 20:36:41
20楼

用那么多定时器很浪费系统资源的。

你把S_ODT的(S)BI送到中间寄存器里就直接可以用了。哪里有那么麻烦,很简单啊!


热门招聘
相关主题

官方公众号

智造工程师
    首页 上一页 1 2 下一页 尾页