回复:边沿存储位M实际中有什么作用

已锁定

n次看你的背影

  • 帖子

    2321
  • 精华

    73
  • 被关注

    53

论坛等级:奇侠

注册时间:2008-03-11

普通 普通 如何晋级?

发布于 2020-12-06 10:34:06

24楼

以前接触过S5-PLC,S5-PLC是没有沿指令的,用几条最基本语句来实现沿的发生过程,到了S7-300、400时代,西门子把判断沿封装成了一个指令,既然有了独立的沿指令,为何还要加一个中间变量呢,我们可以通过下面产生上升沿的过程来揭示:

      CLR                               //复位RLO位

      A     I      0.0                  //扫描本周期脉冲输入状态

      AN    M     20.0                  //上一周期取反后的脉冲输入状态

      =     M     20.1                  //上升沿状态

      A     I      0.0                  //本周期脉冲输入状态

      =     M     20.0                  //存储本周期脉冲输入状态


当I0.0脉冲信号来到时,M20.1保持了一个机器周期的高电平,M20.0是存储本周期的脉冲状态用的,是一个中间变量,所以沿指令需要用到一个中间变量。我们注意到,在本段程序执行过程中,对M20.0进行了读、写操作。如果在子程序(多次调用的)内部用到沿指令,需要把这个中间变量声明成IN_OUT类型的形参。这样就不会出现问题了。

题外话:从沿的判断过程,我们会发现,至少需要两个机器周期。

佛对我说:“你的痛苦来自于你的欲望,没有欲望也就没有痛苦!”
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54621条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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