yanlei2583
級別: *
|
自動控制小車的運行方向(左右移動),有五個按鈕SB1SB2SB3SB4SB5和限位開關LS1LS2LS3LS4LS5,(SB1-LS1...SB5-LS5是一一對應的) 1,當小車所停的位置LS的編號大于呼叫的SB編號時,小車往左運行至呼叫的SB位置后,停止. 2,當小車所停的位置LS的編號小于呼叫的SB編號時,小車往右運行至呼叫的SB位置后,停止. 3.小車位置LS與呼叫編號SB相同時,小車不動作. |
---|---|
|
勇闖天涯
級別: *
|
樓主的題目存在爭議,光我看就有兩種理解方法,大家可以指點一下 這是我對樓主命題的第一中理解方法: 樓主并沒有說非要像電梯那樣,當前的目的地還沒到達時,如果又遇到一個新的觸發信號,將以新信號為基準,重新尋找目的地 這是我對樓主命題的第二中理解方法: 這個就有點電梯的味道了!這個不用我講了吧,呵呵! 這道題目還有個重大問題:開機時,如果沒有一個感應器能感應到,怎么辦? 按程序的理解是先往左跑一點,然后就能知道車子到底在哪個位置了! 如果這是真正的設備,必須要在兩頭各加一個極限位置感應器以保證安全。 |
---|---|
本帖最近評分記錄: |
勇闖天涯
級別: *
|
昨晚一時大意,在6樓發的程序有錯誤,現在來修正一下,見笑了 開始我發的第一個程序用起來肯定行不通,當按下一個按鈕時車子找目的地,可松開按鈕時就去一直朝右邊跑,這個問題解決一下: 意思是,當沒有按鈕觸發的時候,X0-X4的信號不被傳送到D200,就不會有松開后一直朝右邊跑 為什么一定要用MOVP而不用MOV呢? 大家想一下,假如用MOV,如果同時按住兩個按鈕,將會發生什么情況?都提示到這里了,后面不用我說了吧。 為什么改用D200呢?,其實不一定要D200,只要是掉電保持類的就可以,這樣改有什么好處呢? 這是防止每次開機時,在操作之前都一直往一個方向不停的跑。這是為了安全起見,每次開機先跑到上次關機前最后一個位置。 所以,第二個程序也用D200,想試的話自己改哈,我就不發圖片了。 |
---|---|
|
勇闖天涯
級別: *
|
九樓的兄弟,很想跟你交個朋友!共同探討程序設計。 剛才看到九樓的分析,想必一定做了一番分析,但還是沒有弄透徹。 再次冒昧反駁,有不對的 第一點:兄弟的意思是說當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的常閉出點即可。 如果有不對的地方,歡迎大家繼續指正,一起討論吧! 九樓的兄弟,我期待你的反駁。 |
---|---|
|
勇闖天涯
級別: *
|
呵呵,13樓的這個問題大家有有考慮過,這個就是“前置優先”和“后置優先”的爭議。 我把我的答案再歸納一下吧: 前置優先:停車的情況下,很多按鈕一起按的時候,以最先觸發到的那個按鈕為準,開始執行(有點搶答器的感覺)!請看: 后置優先:無論小車是停止還是運行,在沒有任何按鈕按下的時候,以最后一次有效觸發為準,開始執行。 這樣說有點抽象,什么叫做有效觸發呢?舉例說明吧,如:X0得電時,且X1、X2、X3、X4都沒有得電,即X0此時為有效觸發,小車就尋找X10的位置; 還是8樓的程序,只是在這里重復發一遍,歸納到一起就比較全一點: 呵呵,樓主可沒有說不允許后置優先啊! |
---|---|
|
勇闖天涯
級別: *
|
15樓的兄弟,請把控制要求說詳細點好嗎? “把所有請求記憶下來,按請求先后,完成每一請求,在安全的情況下繼續完成下一個請求。” 請問什么樣的情況才算“安全的情況下”? 是停止后延時一會之后就是安全呢?還是加一個安全按鈕之類的,觸發一下才算安全了呢? 請最好把題目說的詳細,不然又有爭議了 或者你那臺設備完全介紹給我,我自己設計整個電路加程序,包刮設備的安全、和電氣的互鎖我全部給你搞出來都行! |
---|---|
|
勇闖天涯
級別: *
|
請仔細閱讀一下我的文字說明好嗎?樓上的兄弟說的非常有道理,分析問題也非常到位,但并不代表我沒有意識到這個問題,為什么我一發就發兩個程序呢? 如果你非要前置優先,我的發在15樓的第一個程序你看過沒有?請分析一下第一個程序和第二個程序的區別 因為有爭議,所以我干脆把我理解的幾種看法全部列出來,然后根據實際需要再進行抉擇 都說了這個是后置優先,意思是最后一個有效觸發信號為基準 而且樓主并沒有說一定要前置優先,我不止一次強調說這個是命題不明確產生的爭議 這道題目是死的,做設備是活的,如果是設備,我會根據設備的實際需要進行取舍,再決定怎么編, 有時候太過死板或者鉆到牛角尖里面是很危險的,靈活和變通才能編出高質量的程序 還有,如果還有其他的疑問,歡迎繼續討論。 尤其是對于“沒有任何一個感應器感應到的時候,觸發一個按鈕后小車該怎么跑”這個問題,我的方法的確有點死板,固定先朝一邊跑找到位置后再找目標 希望能在探討中找到最簡單的解決方法! |
---|---|
|