九樓的兄弟,很想跟你交個(gè)朋友!共同探討程序設(shè)計(jì)。
剛才看到九樓的分析,想必一定做了一番分析,但還是沒有弄透徹。
再次冒昧反駁,有不對的
第一點(diǎn):
兄弟的意思是說當(dāng)D200=0時(shí)的情況。這個(gè)情況當(dāng)然有考慮過。 首先,再次強(qiáng)調(diào)一下為什么要用D200,其用意在于:D200是掉電保持寄存器,目的是每次上電后自動(dòng)返回到上次關(guān)機(jī)時(shí)的最后一個(gè)位置(即便是正在跑的時(shí)候突然停電,上電后依然能繼續(xù)追蹤掉電前的操作),而前面串一個(gè)"<> K2X0 K0"已經(jīng)確保D200永遠(yuǎn)不等于零。
然而,在什么情況下D200=0呢?那就是PLC程序傳輸完畢后進(jìn)入"RUN"狀態(tài)后,直到第一次按某個(gè)按鈕這之間的一段時(shí)間。
對付這一點(diǎn),我們作為工程設(shè)計(jì)人員不難解決,方法有二:1.在輸入程序之前,把軟元件內(nèi)存里面D200的值設(shè)為"1";2.輸程序的時(shí)候把一個(gè)按鈕線短接即可。這個(gè)應(yīng)該不難吧,盡管這方法似乎有點(diǎn)土。
還有,如果真要做成設(shè)備,肯定要加其他的程序,例如:急停按鈕、故障自整斷等等,所以,輸程序的時(shí)候把急停按下去(這個(gè)是我向來的習(xí)慣),先按住某個(gè)按鈕再打開急停也可以。當(dāng)然我還是覺得方法1比較好一點(diǎn)。
第二點(diǎn):X10到X14都沒感應(yīng),小車怎么跑?
這一點(diǎn)我在6樓已經(jīng)強(qiáng)調(diào)過,這個(gè)是這道題目的失誤, 而我在程序里面的處理方法是只向一邊跑,然后感應(yīng)到某個(gè)感應(yīng)器之后就知道小車的位置了。
而且我在6樓也強(qiáng)調(diào)過,如果要做成設(shè)備,最好在兩頭各加極限位置感應(yīng),以確保不會越位。 9樓的兄弟,請教一下你是怎么做處理這個(gè)問題的?
第三點(diǎn):這又是一個(gè)爭議,是“前置優(yōu)先”和“后置優(yōu)先”的爭議。
在6樓的時(shí)候我都已經(jīng)很強(qiáng)調(diào)這個(gè)問題了,樓主并沒有說非要像電梯那樣,我可以理解成,最后一個(gè)觸發(fā)按鈕為有效(即后置優(yōu)先);也可以像樓主那樣理解成,按一個(gè)按鈕,要先跑到指定位置,目的地到達(dá)之前,按其他的按鈕無效(即前置優(yōu)先)。
在8樓我是以“后置優(yōu)先”為例,如果想改為“前置優(yōu)先”很簡單,在第一行串上Y0和Y1的常閉出點(diǎn)即可。如果有不對的地方,歡迎大家繼續(xù)指正,一起討論吧!
九樓的兄弟,我期待你的反駁。