有关s7-200中t32和t96计时器的时基问题 点击:2539 | 回复:13



西玛仪表 028-66505957 13808018567

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:54帖 | 1652回
  • 年度积分:0
  • 历史总积分:2355
  • 注册:2006年4月18日
发表于:2009-02-20 09:23:11
楼主

有一个项目。采用214的cpu。在编程过程中,需要定时精度为1ms的时间。比如ton定时器,采用t32.时基1ms,当定时为3ms时t32为on,触发Q0.0

但是实际编程发现3ms太短了,经常发生t32=13时才触发Q0.0输出。从表现来看是扫描周期时间远大于1ms照成的。

不知到有谁有解决办法??或者我这样有什么不对的地方???用中断???但是假如扫描时间远大于1ms,只有t32为on时才能触发中断。。。。。




箫海岳

  • 精华:0帖
  • 求助:0帖
  • 帖子:36帖 | 181回
  • 年度积分:0
  • 历史总积分:516
  • 注册:2006年7月03日
发表于:2009-02-20 10:52:20
1楼

用中断在PLC内部可以实现1mS精度,但输出到Q点要受扫描周期影响,如果是周期性输出,可用高速脉冲输出功能。

nike717

  • 精华:0帖
  • 求助:2帖
  • 帖子:8帖 | 359回
  • 年度积分:0
  • 历史总积分:493
  • 注册:2007年12月12日
发表于:2009-02-20 22:05:01
2楼

应该用终端,楼上的也有道理,不知用立即输出指令(I)行不,我没试过

西玛仪表 028-66505957 13808018567

  • 精华:0帖
  • 求助:2帖
  • 帖子:54帖 | 1652回
  • 年度积分:0
  • 历史总积分:2355
  • 注册:2006年4月18日
发表于:2009-02-21 10:00:08
3楼
1楼说的中断是不是指的是定时中断。中断10和11.这些我都已经用在其他地方了。。。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2009-02-21 12:37:08
4楼

可以使用定时器中断。中断中使用立即输出线圈可以得到你要的结果。立即输出就是在中断中用的。但是要着重注意双线圈的问题。

因为在中断中执行了线圈输出,Q点会一直保持接通而无法断开。要再一次中断使线圈断开,然后又一直保持断开。不中断就不刷新。

因为上面的“因为”而你想省略一次中断而采用其他扫描的方法使Q点断开的话,那么就是双线圈了。

 

西玛仪表 028-66505957 13808018567

  • 精华:0帖
  • 求助:2帖
  • 帖子:54帖 | 1652回
  • 年度积分:0
  • 历史总积分:2355
  • 注册:2006年4月18日
发表于:2009-02-21 16:48:10
5楼

S7-200有四个定时中断定时器,两个特殊寄存器(SMB34/SMB35)和两个定时器( T32/T96)中断。

现在特殊寄存器smb34和35已经被使用了。现在正就是打算用T32和T96的中断。但是这个中断的触发条件就是T32的CT=PT。表现是由于时间太短,所以导致CT=PT的瞬间已经跳过去了。中断没有发生。

由于smb34和35的定时是不固定的,所以没有办法采用最大公约数的方法。。。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2009-02-23 12:14:05
6楼

引用<表现是由于时间太短,所以导致CT=PT的瞬间已经跳过去了。中断没有发生。>真有此理!

T32的刷新是由PLC自己组织的。怎么会自己喊“1 2 3 跑”的时候还会偷步呢?

再检查程序。

西玛仪表 028-66505957 13808018567

  • 精华:0帖
  • 求助:2帖
  • 帖子:54帖 | 1652回
  • 年度积分:0
  • 历史总积分:2355
  • 注册:2006年4月18日
发表于:2009-02-23 13:55:16
7楼

所以我不明白的地方就是:

t32时间的刷新跟PLC扫描有没有关系。smb34的定时中断,其定时中断的刷新是与PLC的扫描时间脱离的。不知道t32是不是。

看看我的部分程序:

这个程序的目的是在8秒内模拟一个sin0~sin360度的值,然后再将其转化成PQW数值(用vw4008模拟PQW)。用的T96计时器。之前也用过T32。而且现在定的是8ms一个数据。那么8秒就是1000个数据。360度分为1000份也就是0.36度。再转换成弧度。再计算sin值。再将sin值换成6400~32000之间的数。
实际情况是。用监控,T96的值经常超过8.

老愚者

  • 精华:1帖
  • 求助:0帖
  • 帖子:9帖 | 2253回
  • 年度积分:0
  • 历史总积分:10007
  • 注册:2006年8月20日
发表于:2009-02-23 14:55:17
8楼

t32时间的刷新跟PLC扫描没有关系....S7的定时器是硬件定时器.

但是,LZ的程序没有采用中断,当T96定时到了的时刻,PLC执行程序有可能处于任何地方,甚至要到下1个扫描周期才能执行上面所表示的那些程序.

如果对定时要求很严格,表示使用中断.

老愚者

  • 精华:1帖
  • 求助:0帖
  • 帖子:9帖 | 2253回
  • 年度积分:0
  • 历史总积分:10007
  • 注册:2006年8月20日
发表于:2009-02-23 14:59:42
9楼
t32,T96,时间刷新跟PLC扫描没有关系....S7的定时器是硬件定时器.

但是,LZ的程序没有采用中断,当T96定时到了的时刻,PLC执行程序有可能处于任何地方,甚至要到下1个扫描周期才能执行上面所表示的那些程序.,造成随机误差是必然的

如果对定时要求很严格,应该使用中断.使用中断后,误差要小得多.

王秀

  • 精华:2帖
  • 求助:0帖
  • 帖子:19帖 | 418回
  • 年度积分:4
  • 历史总积分:885
  • 注册:2007年6月30日
发表于:2009-02-23 15:35:02
10楼

T96=1,可能不好使。

我用T32=1试过,输出有时有,有时无,可能太快了,反应不过来。

没办法,改成T32>=1了。

芳季

  • [版主]
  • 精华:5帖
  • 求助:5帖
  • 帖子:86帖 | 5336回
  • 年度积分:0
  • 历史总积分:20165
  • 注册:2003年1月31日
发表于:2009-02-24 12:32:38
11楼

LDI T96·=T96 8

LD= T96 7

原则性错误。

程序中那里体现了你要执行中断?

引导错误。难怪你说中断不执行。

西玛仪表 028-66505957 13808018567

  • 精华:0帖
  • 求助:2帖
  • 帖子:54帖 | 1652回
  • 年度积分:0
  • 历史总积分:2355
  • 注册:2006年4月18日
发表于:2009-02-24 12:51:21
12楼

感谢先~~~

似乎明白了。。。非常感谢。我再去试试。。。。。

 

周福岗

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:0
  • 历史总积分:51
  • 注册:2006年6月24日
发表于:2009-09-15 11:08:05
13楼

支持芳季,很有道理,讲的明白!


热门招聘
相关主题

官方公众号

智造工程师