zichen8716
我行,我行,我行行行!!!
级别: 家园常客
精华主题: 0
发帖数量: 266 个
工控威望: 527 点
下载积分: 4363 分
在线时间: 59(小时)
注册时间: 2010-03-25
最后登录: 2022-12-28
查看zichen8716的 主题 / 回贴
楼主  发表于: 2011-04-13 12:51
 程序如下:                

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


现在的问题是第一次按M0,M11 M12可以同时被置位,第二次按下是只能M11置位,M12时钟为低电平。到底是什么问题

子程序P0,修改为
                     M11     
            ——| ↑  |————————[  SET M12 ]
                 M8000     
            ——|       |————————[  SET M11 ]
M11 M12可以同时被置位,哪位高手给解释一下到底是怎么回事。
失败并不意味你浪费了时间和生命。失败表明你有理由重新开始
zichen8716
我行,我行,我行行行!!!
级别: 家园常客
精华主题: 0
发帖数量: 266 个
工控威望: 527 点
下载积分: 4363 分
在线时间: 59(小时)
注册时间: 2010-03-25
最后登录: 2022-12-28
查看zichen8716的 主题 / 回贴
1楼  发表于: 2011-04-13 12:56
第二种情况:

程序如下:                

                    M0
            ——|↓|————————[ ZRST M10 M20 ]
                    M0
            ——|     |————————[ CALL P0 ]
            ————————————————————[ FEND ]

P0                M8000      
            ——|       |————————[  SET M11 ]
                   M11      
            ——|    |————————[  SET M12 ]
                              |___________[ INCP D0 ]  
                  
            ————————————————————[ SRET ]
            ————————————————————[ END]
子程序改成这样,M11 M12都可以被置位,但是D0就加一次数,是什么问题



子程序P0,修改为
                    M11      
            ——| ↑  |————————[  SET M12 ]
                                     |___________[ INCP D0 ]  
                 M8000      
            ——|       |————————[  SET M11 ]

子程序改成这样。M11 M12可以同时被置位,D0计数正常,是什么问题
[ 此帖被zichen8716在2011-04-13 13:17重新编辑 ]
失败并不意味你浪费了时间和生命。失败表明你有理由重新开始
zichen8716
我行,我行,我行行行!!!
级别: 家园常客
精华主题: 0
发帖数量: 266 个
工控威望: 527 点
下载积分: 4363 分
在线时间: 59(小时)
注册时间: 2010-03-25
最后登录: 2022-12-28
查看zichen8716的 主题 / 回贴
2楼  发表于: 2011-04-14 08:50
引用
引用第6楼sjm213于2011-04-13 22:46发表的  :
第一段:
第一次按下M0时M11/M12被置位,因为执行了P0程序;松开M0时M11/M12被复位,这是没有问题的,因为主程序在一直运行。
但要注意此时子程序P0没有被调用,其中的程序不被执行。
第二次按下M0时,再次调用P0程序,首先M11就被置位了,所以程序执行到M12的时候,M11的状态是从第一次松开M0前的ON状态切换到了之后按下M0时的ON状态,中间没有ON--OFF--ON的变化,也就谈不上上升沿之类,所以M12无法被置位。
第二段:
.......




版主你好,我监控的时候M11确实从ON-OFF了啊
失败并不意味你浪费了时间和生命。失败表明你有理由重新开始
zichen8716
我行,我行,我行行行!!!
级别: 家园常客
精华主题: 0
发帖数量: 266 个
工控威望: 527 点
下载积分: 4363 分
在线时间: 59(小时)
注册时间: 2010-03-25
最后登录: 2022-12-28
查看zichen8716的 主题 / 回贴
3楼  发表于: 2011-04-14 09:07
明白了,谢谢版主指点
失败并不意味你浪费了时间和生命。失败表明你有理由重新开始