回复:请教一下,我想让M0.0、M0.1、M0.2、M0.3间隔1秒循环发出脉冲,请问这该怎么做啊?

李毫

西门子1847工业学习平台

  • 帖子

    336
  • 精华

    3
  • 被关注

    24

论坛等级:侠圣

注册时间:2011-04-27

普通 普通 如何晋级?

发布于 2016-10-09 10:30:32

4楼

展开查看
以下是引用WWCWWC在2016-10-08 20:26:14的发言 >1楼

好像在找答案提问过这个问题。

建议你静下心来想想这个VW50不是1就是2的结果,就是你需要的啊。

假设,将MB0移动1位,结果放在VB50中,移动间隔时间就是1秒。

因为你的问题仅仅需要半个字节,使用选择字节循环移动比较适合你的问题。

在找答案那里我确实用了怎么办、怎么办的那些语气请别见怪。

其实,我的含义是让你用一个字节循环指令,以1秒的脉冲循环。

程序:

LD     SM0.5

EU

RLB    MB0, 1     //每1秒移动1位。

问题是你仅仅需要半个字节,可以将M0.4~M0.7的位传送给M0.0~M0.3.

上诉程序的问题存在着起始值M0.0为1和字节移位后M0.7的问题,用溢出位SM1.1上升沿置位M0.0.


这有点挠头,我打算在MW118为0的时候给个1,然后用M0.7的2s周期的脉冲激活SLW,左移一位,为什么在线监控的时候就是实现不了呢?

      A(    

      L     MW   118

      L     0

      ==I   

      )     

      JNB   _011

      L     1

      T     MW   118

_011: NOP   0




      A     M      0.7

      JNB   _012

      L     B#16#1

      L     MW   118

      SLW   

      T     MW   120

_012: NOP   0


能不能不出差这么长时间啊
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-300/400

共有54624条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

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

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

  • 分享

  • 只看
    楼主

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