回复:s7-200里面如何实现0.1秒脉冲的内部触点呢

Automann

  • 帖子

    6168
  • 精华

    138
  • 被关注

    308

论坛等级:至圣

注册时间:2004-12-23

普通 普通 如何晋级?

发布于 2013-05-27 18:21:27

17楼

我做了3个实验,第一个实验的程序如下:
LDN T33
TON T33, 10

LD T33
INCW VW0
用状态表监控VW0,其值为0不变。
原因见定时器在线帮助中的下图:




第2个实验的程序按上图修改如下:
LD I0.0
AN M0.0
TON T33, 10

LD T33
= M0.0

LD T33
INCW VW0
用状态表监控VW0,基本上能实现VW0每0.1秒加1。读取扫描周期为1ms。

实验3
实际的扫描周期不可能是1ms,因此增加了循环程序,扫描周期增大到50ms左右:
LD I0.0
AN M0.0

TON T33, 10
LD T33
= M0.0

LD T33
INCW VW0

LD I0.0
FOR VW2, 1, 1000

LD SM0.0
INCD VD6

NEXT

用状态表监控VW0,发现10s之内VW0没有加100,只加了50左右。
将循环次数增大10倍,扫描周期为500ms左右,发现VW0要1s多才加1次1。

下面是定时器在线帮助中对10ms定时器的说明:

“10毫秒定时器记录自现用10毫秒定时器启用以来10毫秒定时器间隔的数目。执行定时器指令即开始计时;但是,在每次扫描循环的开始更新10毫秒定时器,其方法是以当前值加上积累的10毫秒间隔的数目(自前一次扫描开始算起)(换言之,在整个扫描过程中,定时器当前值及定时器位保持不变)”

因为“在整个扫描过程中,定时器当前值及定时器位保持不变”,所以不能实现每100ms VW0加1。
看来只有用定时中断来实现周期为100ms的定时。
追求完美
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33266条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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