九樓的兄弟,很想跟你交個朋友!共同探討程序設計。
剛才看到九樓的分析,想必一定做了一番分析,但還是沒有弄透徹。
再次冒昧反駁,有不對的
第一點:
兄弟的意思是說當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的常閉出點即可。如果有不對的地方,歡迎大家繼續指正,一起討論吧!
九樓的兄弟,我期待你的反駁。