九楼的兄弟,很想跟你交个朋友!共同探讨程序设计。
刚才看到九楼的分析,想必一定做了一番分析,但还是没有弄透彻。
再次冒昧反驳,有不对的
第一点:
兄弟的意思是说当D200=0时的情况。这个情况当然有考虑过。 首先,再次强调一下为什么要用D200,其用意在于:D200是掉电保持寄存器,目的是每次上电后自动返回到上次关机时的最后一个位置(即便是正在跑的时候突然停电,上电后依然能继续追踪掉电前的操作),而前面串一个"<> K2X0 K0"已经确保D200永远不等于零。
然而,在什么情况下D200=0呢?那就是PLC程序传输完毕后进入"RUN"状态后,直到第一次按某个按钮这之间的一段时间。
对付这一点,我们作为工程设计人员不难解决,方法有二:1.在输入程序之前,把软元件内存里面D200的值设为"1";2.输程序的时候把一个按钮线短接即可。这个应该不难吧,尽管这方法似乎有点土。
还有,如果真要做成设备,肯定要加其他的程序,例如:急停按钮、故障自整断等等,所以,输程序的时候把急停按下去(这个是我向来的习惯),先按住某个按钮再打开急停也可以。当然我还是觉得方法1比较好一点。
第二点:X10到X14都没感应,小车怎么跑?
这一点我在6楼已经强调过,这个是这道题目的失误, 而我在程序里面的处理方法是只向一边跑,然后感应到某个感应器之后就知道小车的位置了。
而且我在6楼也强调过,如果要做成设备,最好在两头各加极限位置感应,以确保不会越位。 9楼的兄弟,请教一下你是怎么做处理这个问题的?
第三点:这又是一个争议,是“前置优先”和“后置优先”的争议。
在6楼的时候我都已经很强调这个问题了,楼主并没有说非要像电梯那样,我可以理解成,最后一个触发按钮为有效(即后置优先);也可以像楼主那样理解成,按一个按钮,要先跑到指定位置,目的地到达之前,按其他的按钮无效(即前置优先)。
在8楼我是以“后置优先”为例,如果想改为“前置优先”很简单,在第一行串上Y0和Y1的常闭出点即可。如果有不对的地方,欢迎大家继续指正,一起讨论吧!
九楼的兄弟,我期待你的反驳。