回复:来自西门子技术支持热线的故事:一个上升沿引发的现象

yanxiao

版主

  • 帖子

    12196
  • 精华

    47
  • 被关注

    189

论坛等级:至圣

注册时间:2003-06-06

钻石 钻石 如何晋级?

发布于 2012-03-23 23:31:51

3楼

256个沿用完比较少见。若真不够用,可以“土制”边沿。
例,“土制”I0.0-I1.7,16个输入的上升沿和下降沿:
设:
MW0(M0.0-M1.7)为I0.0-I1.7对应的的上升沿;
MW2对应I0.0-I1.7的下降沿;
MW4保存IW0的上一扫描周期值;
1、初始化(SM0.1)时,MOVW IW0,MW4
2、上升沿:
LD SM0.0
movw IW0,MW0
xorw MW4,MW0 // 本次扫描和前一扫描值异域,有变化的位会置1
andw IW0,MW0 // 取本次扫描为1的位,即相当于取上升沿。所以结果是MW0存的是IW0对应位的上升沿。
3、下降沿:
LD SM0.0
movw IW0,MW0
xorw MW4,MW0 // 本次扫描和前一扫描值异域,有变化的位会置1
andw MW4,MW0 // 取上次扫描为1的位,即相当于取下降沿。所以结果是MW0存的是IW0对应位的下降沿。
4、存保本次扫描值,以备下次使用。
ld sm0.0
movw IW0,MW4
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33274条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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