回复:上升沿检测

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2011-06-05 19:11:39

4楼

我个人感觉应该这样理解比较妥当:当程序扫描到I0.1状态变由逻辑“0”跃变为逻辑“1”时,在这个扫描周期结束后Q4.0的状态变为逻辑“1”;如果下一个扫描周期I0.1没有出现从逻辑“0”变为逻辑“1”,那么这个扫描周期结束Q4.0的状态就变成逻辑“0”。通俗点说,就是当I0.1从逻辑“0”跃变成逻辑“1”,那么只在下一个机器周期内保持了一个机器周期的逻辑“1”状态。
还可以自己写个上升沿检测程序结合过程映像区刷新的过程,分析它发生的变化;有兴趣的朋友可以用模拟器单个周期执行程序,分析一下它的过程。代码如下:
L #AUX_BYTE //载入上一个扫描周期输入的状态,
T LB100

A I0.1
AN L100.0
= L100.1 //与上一个扫描周期比较,判断I0.1是否有变化
A I0.1
= L100.0 //存储本扫描周期I0.1的状态

L LB100
T #AUX_BYTE //存储本扫描周期I0.1的状态和变化的状态

A L100.1 //将I0.1本周期变化的状态赋给Q4.0,本周期执行结束
= Q4.0 //然后操作系统刷新Q4.0
我在想,西门子估计把某些指令集成到FP这个指令里面去了!S5里面当时是没有单独FP、FN指令的。也许S7比原来版本高了?做的更加傻瓜了?仁者见仁、智者见智!呵呵......
在下抛砖引玉,希望有兴趣的朋友用各种方法,来共同讨论实现上升沿的判断。
佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54617条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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