zichen8716
我行,我行,我行行行。!
級別: 家園?
精華主題: 0
發(fā)帖數(shù)量: 266 個
工控威望: 527 點
下載積分: 4363 分
在線時間: 59(小時)
注冊時間: 2010-03-25
最后登錄: 2022-12-28
查看zichen8716的 主題 / 回貼
樓主  發(fā)表于: 2011-04-13 12:51
 程序如下:                

                    M0
            ——|↓|————————[ ZRST M10 M20 ]
                    M0
            ——|     |————————[ CALL P0 ]
            ————————————————————[ FEND ]
P0                M8000     
            ——|       |————————[  SET M11 ]
                   M11     
            ——| ↑  |————————[  SET M12 ]
          
            ————————————————————[ SRET ]
            ————————————————————[ END]


現(xiàn)在的問題是第一次按M0,M11 M12可以同時被置位,第二次按下是只能M11置位,M12時鐘為低電平。到底是什么問題

子程序P0,修改為
                     M11     
            ——| ↑  |————————[  SET M12 ]
                 M8000     
            ——|       |————————[  SET M11 ]
M11 M12可以同時被置位,哪位高手給解釋一下到底是怎么回事。
失敗并不意味你浪費了時間和生命。失敗表明你有理由重新開始
sjm213
有小知識,無大學(xué)問。
級別: 論壇版主

精華主題: 7 篇
發(fā)帖數(shù)量: 5196 個
工控威望: 7419 點
下載積分: 158510 分
在線時間: 3152(小時)
注冊時間: 2007-11-21
最后登錄: 2024-11-05
查看sjm213的 主題 / 回貼
1樓  發(fā)表于: 2011-04-13 22:46
第一段:
第一次按下M0時M11/M12被置位,因為執(zhí)行了P0程序;松開M0時M11/M12被復(fù)位,這是沒有問題的,因為主程序在一直運行。
但要注意此時子程序P0沒有被調(diào)用,其中的程序不被執(zhí)行。
第二次按下M0時,再次調(diào)用P0程序,首先M11就被置位了,所以程序執(zhí)行到M12的時候,M11的狀態(tài)是從第一次松開M0前的ON狀態(tài)切換到了之后按下M0時的ON狀態(tài),中間沒有ON--OFF--ON的變化,也就談不上上升沿之類,所以M12無法被置位。
第二段:
直接把子程序被調(diào)用時的程序放到主程序中去分析即可。
本帖最近評分記錄:
  • 下載積分:+4(zichen8716) 熱心助人