程序执行顺序

主程序:NET 1   LD          SM0.0
                               TON       T37,30
                 NET2    LD          SM0.0
                               CALL      SBR_0:SBR
                 NET3    LD          T37
                               R             M0.0 , 1
                 NET4    LD          M0.0
                               =              Q0.0
 子程序:NET1   LD           T37
                              MOV_B    1 ,   MB0
 此程序Q0.0没有输出。
 如果把主程序中的 NET3    LD          T37
                                                 R             M0.0 , 1
 放在NET4后面,Q0.0就有输出?

最佳答案

还是程序执行的顺序的问题!
 当程序这样执行时:
 主程序:
 NET 1   LD          SM0.0
               TON       T37,30
 NET2    LD          SM0.0
 CALL    SBR_0:SBR
 (调转执行子程序,结果:MB0=1,也就是 M0.0 =ON。执行完子程序,在执行下面的程序)
 NET3    LD          T37
               R             M0.0 , 1 (此处把M0.0 复位,也就是 M0.0=OFF)
 NET4    LD          M0.0  (M0.0= OFF, Q0.0 =OFF)
                =           Q0.0
 子程序:
 NET1   LD           T37
              MOV_B    1 ,   MB0

 如果这样执行:
 主程序:
 NET 1   LD          SM0.0
               TON       T37,30
 NET2    LD          SM0.0
                CALL    SBR_0:SBR
 (调转执行子程序,结果:MB0=1,也就是 M0.0 =ON。执行完子程序,在执行下面的程序)
 NET3    LD          M0.0  (M0.0= ON, Q0.0 =ON)
                =           Q0.0
 NET4    LD          T37
               R             M0.0 , 1 (此处把M0.0 复位,也就是 M0.0=OFF)

 子程序:
 NET1   LD           T37
              MOV_B    1 ,   MB0

 
 

提问者对于答案的评价:
您的解释非常好,谢谢!

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc358707.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 上午10:36
下一篇 2021年7月5日 上午10:36

相关推荐

  • 指令看了很多遍但是程序还是编不出来请各位大侠指教

    指令看了何多遍但是程序还是编不出来请各位大侠指教初学者 最佳答案 siemens网站上的S7 200视频教程http://www.ad.siemens.com.cn/pr…

    SIMATIC S7-200 2020年11月1日
  • mw200无法正常赋值

    mw200通过m3.0常开触点置1,用MOVE指令将100移入mw200内,但是m3.0断开后,mw200数值变回了0.mw200我只在后续加减计数器内做cv 图片说明: &nbs…

    2021年7月5日
  • 232串口控制斑马打印机

    想通过232串口控制斑马条形码打印机打印标签,有没有样例程序?线怎么接 问题补充:那我是不是把它手册上对应的指令通过串口发送给打印机就行了?打印机就根据我发送的指令来执行》 最佳答…

    SIMATIC S7-200 2021年7月5日
  • s7-200的时钟

    S7-200的CPU224 的时钟怎样去读,怎样去写?谢谢 最佳答案 写时钟有两种方法:1 通过软件,先连接PLC,再执行PLC—-实时时钟,将PC时间写入…

    SIMATIC S7-200 2020年11月1日
  • STL与梯形图

    请问STL与梯形图的区别是什么?如果STL不能顺利的转化为梯形图,是不是说STL编辑错了?是不是只有STL与梯形图能相互转化的程序才是没有语法错误的程序? 最佳答案 T图一般适合初…

    SIMATIC S7-200 2021年7月5日
  • S7-200 PLC通讯口

    S7-200 PLC通讯口为RS485,其中3针为B 或 TxD/RxD +,8针为A 或 TxD/RxD -…

    SIMATIC S7-200 2021年7月5日
  • 西门子TD怎么组态

    我之前接触的都是简单的plc编程,没学习过人机界面,请问一个普通的程序怎么才能在TD上显示一些数据,比如计数器的数据,是不是需要加指令,把数据送进去?能提供个简单的例子嘛?由于之前…

    SIMATIC S7-200 2020年11月1日
  • 请问有没有用户“自定义指令库”完整的例子

    请问有没有“用户自定义指令库”完整的例子,有的话可否发一份给我借鉴下。 我在“Micro ‘n Power”,文档中看到“用户自定义指令库”的制作步骤…

    SIMATIC S7-200 2020年11月5日
  • S7-200PLC与仪表进行通讯(PLC做主站,仪表做从站)

    我用ModScan32软件通过USB转485直接连接仪表,可以看到40001-40012内的数据,与仪表上的数据相符,但是我将程序写入到PLC之后通过编程电缆(编程电缆解port0…

    2017年11月29日
  • S7200PLC问题

    S7200 PLC和原程序进行比较,程序和系统块都通过,数据块比较提示:数据块格式/或保护状态不同。想问下是怎么回事。客户用着有时好有时死机。我把PLC程序上载上来进行比…

    SIMATIC S7-200 2020年11月1日

发表回复

登录后才能评论