王文杰工控
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 136 点
下载积分: 583 分
在线时间: 5(小时)
注册时间: 2013-05-20
最后登录: 2020-05-28
查看王文杰工控的 主题 / 回贴
楼主  发表于: 2015-02-13 13:12
我用S7定时器做了1秒和1分钟的脉冲,用来累计时间,方法类似下面程序,但是客户反映累计时间小于实际运行时间,分钟计数的运行一个小时以上后,误差有五六分钟。我自己用PLCSIM仿真时发现,居然一次也累计不了,各位大神有知道为什么的吗?

           AN T 1
           L S5T#1S
           SD T1

           A T1
           JNB M001
           L MW100
           +1
           T MW100
M001:NOP 0
王文杰工控
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 136 点
下载积分: 583 分
在线时间: 5(小时)
注册时间: 2013-05-20
最后登录: 2020-05-28
查看王文杰工控的 主题 / 回贴
1楼  发表于: 2015-02-13 13:19
开始在现场发现秒级的有少几秒的问题,以为是累积误差,现在客户反映分钟级的也存在这个问题,五六分钟确实很难令人接受呀。
王文杰工控
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 136 点
下载积分: 583 分
在线时间: 5(小时)
注册时间: 2013-05-20
最后登录: 2020-05-28
查看王文杰工控的 主题 / 回贴
2楼  发表于: 2015-02-13 14:20
引用
引用第3楼cvlsam于2015-02-13 14:01发表的  :


因为西门子定时器采用异步更新方式,所以不要采用定时器自己的触点进行自复位。

Good Luck~

异步更新方式是什么呀,为什么我这么用了可以却不是正确的时间,以前用的S7-200和其他日系PLC我也是用的这种方法呀,我知道西门子300定时器是自己特定的存储区,和这个有关吗?
王文杰工控
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 136 点
下载积分: 583 分
在线时间: 5(小时)
注册时间: 2013-05-20
最后登录: 2020-05-28
查看王文杰工控的 主题 / 回贴
3楼  发表于: 2015-02-13 14:32
引用
引用第4楼王文杰工控于2015-02-13 14:20发表的  :

异步更新方式是什么呀,为什么我这么用了可以却不是正确的时间,以前用的S7-200和其他日系PLC我也是用的这种方法呀,我知道西门子300定时器是自己特定的存储区,和这个有关吗?

谢谢,我自己查到了,现在明白多了。
异步刷新就是指定时器的刷新不受循环扫描周期的影响,定时时间到可能出现在程序执行的任意一刻,对于PLC来说时序对程序的执行是很重要的,定时器定时时间到出现的位置不同对程序是有影响的,你那段代码不累加的原因就是,定时器定时时间到出现在定时器指令和累加指令之间的概率太小,几乎为零。
王文杰工控
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 136 点
下载积分: 583 分
在线时间: 5(小时)
注册时间: 2013-05-20
最后登录: 2020-05-28
查看王文杰工控的 主题 / 回贴
4楼  发表于: 2015-02-13 16:10
引用
引用第6楼wwcwwc于2015-02-13 14:48发表的  :
  

谢谢,谢谢!
王文杰工控
级别: 探索解密
精华主题: 0
发帖数量: 8 个
工控威望: 136 点
下载积分: 583 分
在线时间: 5(小时)
注册时间: 2013-05-20
最后登录: 2020-05-28
查看王文杰工控的 主题 / 回贴
5楼  发表于: 2015-02-13 17:20
引用
引用第8楼kokoper于2015-02-13 16:54发表的  :
程序指令执行的时间没算上吧,如果精确定时,可以考虑直接用中断实现啊

不是那个问题,问题3楼已经讲清楚了,程序执行时间不会需要五六分钟的