yanlei2583
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看yanlei2583的 主題 / 回貼
樓主  發(fā)表于: 2008-09-10 15:30
自動控制小車的運行方向(左右移動),有五個按鈕SB1SB2SB3SB4SB5和限位開關(guān)LS1LS2LS3LS4LS5,(SB1-LS1...SB5-LS5是一一對應(yīng)的)
1,當(dāng)小車所停的位置LS的編號大于呼叫的SB編號時,小車往左運行至呼叫的SB位置后,停止.
2,當(dāng)小車所停的位置LS的編號小于呼叫的SB編號時,小車往右運行至呼叫的SB位置后,停止.
3.小車位置LS與呼叫編號SB相同時,小車不動作.



  
勇闖天涯
級別: *
精華主題: * 篇
發(fā)帖數(shù)量: * 個
工控威望: * 點
下載積分: * 分
在線時間: (小時)
注冊時間: *
最后登錄: *
查看勇闖天涯的 主題 / 回貼
1樓  發(fā)表于: 2008-09-14 03:27
樓主的題目存在爭議,光我看就有兩種理解方法,大家可以指點一下
這是我對樓主命題的第一中理解方法:


樓主并沒有說非要像電梯那樣,當(dāng)前的目的地還沒到達時,如果又遇到一個新的觸發(fā)信號,將以新信號為基準(zhǔn),重新尋找目的地

這是我對樓主命題的第二中理解方法:


這個就有點電梯的味道了!這個不用我講了吧,呵呵!

這道題目還有個重大問題:開機時,如果沒有一個感應(yīng)器能感應(yīng)到,怎么辦?
按程序的理解是先往左跑一點,然后就能知道車子到底在哪個位置了!
如果這是真正的設(shè)備,必須要在兩頭各加一個極限位置感應(yīng)器以保證安全。
本帖最近評分記錄:
  • 下載積分:+1(buyiwuxi) 熱心助人!
    勇闖天涯
    級別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看勇闖天涯的 主題 / 回貼
    2樓  發(fā)表于: 2008-09-14 03:32
    不知不覺已經(jīng)凌晨3:30了,
    而且是中秋的凌晨,百感交集
    孤枕難眠,唯有工控家園與我作伴!
    勇闖天涯
    級別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看勇闖天涯的 主題 / 回貼
    3樓  發(fā)表于: 2008-09-14 12:30
    昨晚一時大意,在6樓發(fā)的程序有錯誤,現(xiàn)在來修正一下,見笑了

    開始我發(fā)的第一個程序用起來肯定行不通,當(dāng)按下一個按鈕時車子找目的地,可松開按鈕時就去一直朝右邊跑,這個問題解決一下:


    意思是,當(dāng)沒有按鈕觸發(fā)的時候,X0-X4的信號不被傳送到D200,就不會有松開后一直朝右邊跑

    為什么一定要用MOVP而不用MOV呢?
    大家想一下,假如用MOV,如果同時按住兩個按鈕,將會發(fā)生什么情況?都提示到這里了,后面不用我說了吧。

    為什么改用D200呢?,其實不一定要D200,只要是掉電保持類的就可以,這樣改有什么好處呢?
    這是防止每次開機時,在操作之前都一直往一個方向不停的跑。這是為了安全起見,每次開機先跑到上次關(guān)機前最后一個位置。

    所以,第二個程序也用D200,想試的話自己改哈,我就不發(fā)圖片了。
    勇闖天涯
    級別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看勇闖天涯的 主題 / 回貼
    4樓  發(fā)表于: 2008-09-17 21:09
    九樓的兄弟,很想跟你交個朋友!共同探討程序設(shè)計。
    剛才看到九樓的分析,想必一定做了一番分析,但還是沒有弄透徹。
    再次冒昧反駁,有不對的
    第一點:兄弟的意思是說當(dāng)D200=0時的情況。這個情況當(dāng)然有考慮過。
            首先,再次強調(diào)一下為什么要用D200,其用意在于:D200是掉電保持寄存器,目的是每次上電后自動返回到上次關(guān)機時的最后一個位置(即便是正在跑的時候突然停電,上電后依然能繼續(xù)追蹤掉電前的操作),而前面串一個"<> K2X0 K0"已經(jīng)確保D200永遠(yuǎn)不等于零。
            然而,在什么情況下D200=0呢?那就是PLC程序傳輸完畢后進入"RUN"狀態(tài)后,直到第一次按某個按鈕這之間的一段時間。
            對付這一點,我們作為工程設(shè)計人員不難解決,方法有二:1.在輸入程序之前,把軟元件內(nèi)存里面D200的值設(shè)為"1";2.輸程序的時候把一個按鈕線短接即可。這個應(yīng)該不難吧,盡管這方法似乎有點土。
            還有,如果真要做成設(shè)備,肯定要加其他的程序,例如:急停按鈕、故障自整斷等等,所以,輸程序的時候把急停按下去(這個是我向來的習(xí)慣),先按住某個按鈕再打開急停也可以。當(dāng)然我還是覺得方法1比較好一點。

    第二點:X10到X14都沒感應(yīng),小車怎么跑?
           這一點我在6樓已經(jīng)強調(diào)過,這個是這道題目的失誤, 而我在程序里面的處理方法是只向一邊跑,然后感應(yīng)到某個感應(yīng)器之后就知道小車的位置了。
           而且我在6樓也強調(diào)過,如果要做成設(shè)備,最好在兩頭各加極限位置感應(yīng),以確保不會越位。
           9樓的兄弟,請教一下你是怎么做處理這個問題的?

    第三點:這又是一個爭議,是“前置優(yōu)先”和“后置優(yōu)先”的爭議。
           在6樓的時候我都已經(jīng)很強調(diào)這個問題了,樓主并沒有說非要像電梯那樣,我可以理解成,最后一個觸發(fā)按鈕為有效(即后置優(yōu)先);也可以像樓主那樣理解成,按一個按鈕,要先跑到指定位置,目的地到達之前,按其他的按鈕無效(即前置優(yōu)先)。
           在8樓我是以“后置優(yōu)先”為例,如果想改為“前置優(yōu)先”很簡單,在第一行串上Y0和Y1的常閉出點即可。

    如果有不對的地方,歡迎大家繼續(xù)指正,一起討論吧!
    九樓的兄弟,我期待你的反駁。
    勇闖天涯
    級別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看勇闖天涯的 主題 / 回貼
    5樓  發(fā)表于: 2008-09-17 21:43
    呵呵,13樓的這個問題大家有有考慮過,這個就是“前置優(yōu)先”和“后置優(yōu)先”的爭議。
    我把我的答案再歸納一下吧:
    前置優(yōu)先:停車的情況下,很多按鈕一起按的時候,以最先觸發(fā)到的那個按鈕為準(zhǔn),開始執(zhí)行(有點搶答器的感覺)!請看:



    后置優(yōu)先:無論小車是停止還是運行,在沒有任何按鈕按下的時候,以最后一次有效觸發(fā)為準(zhǔn),開始執(zhí)行。
    這樣說有點抽象,什么叫做有效觸發(fā)呢?舉例說明吧,如:X0得電時,且X1、X2、X3、X4都沒有得電,即X0此時為有效觸發(fā),小車就尋找X10的位置;
    還是8樓的程序,只是在這里重復(fù)發(fā)一遍,歸納到一起就比較全一點:


    呵呵,樓主可沒有說不允許后置優(yōu)先啊!
    勇闖天涯
    級別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看勇闖天涯的 主題 / 回貼
    6樓  發(fā)表于: 2008-09-17 23:22
    15樓的兄弟,請把控制要求說詳細(xì)點好嗎?
    “把所有請求記憶下來,按請求先后,完成每一請求,在安全的情況下繼續(xù)完成下一個請求!
    請問什么樣的情況才算“安全的情況下”?
    是停止后延時一會之后就是安全呢?還是加一個安全按鈕之類的,觸發(fā)一下才算安全了呢?
    請最好把題目說的詳細(xì),不然又有爭議了
    或者你那臺設(shè)備完全介紹給我,我自己設(shè)計整個電路加程序,包刮設(shè)備的安全、和電氣的互鎖我全部給你搞出來都行!
    勇闖天涯
    級別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個
    工控威望: * 點
    下載積分: * 分
    在線時間: (小時)
    注冊時間: *
    最后登錄: *
    查看勇闖天涯的 主題 / 回貼
    7樓  發(fā)表于: 2008-09-18 15:14
    請仔細(xì)閱讀一下我的文字說明好嗎?樓上的兄弟說的非常有道理,分析問題也非常到位,但并不代表我沒有意識到這個問題,為什么我一發(fā)就發(fā)兩個程序呢?

    如果你非要前置優(yōu)先,我的發(fā)在15樓的第一個程序你看過沒有?請分析一下第一個程序和第二個程序的區(qū)別
    因為有爭議,所以我干脆把我理解的幾種看法全部列出來,然后根據(jù)實際需要再進行抉擇

    都說了這個是后置優(yōu)先,意思是最后一個有效觸發(fā)信號為基準(zhǔn)
    而且樓主并沒有說一定要前置優(yōu)先,我不止一次強調(diào)說這個是命題不明確產(chǎn)生的爭議

    這道題目是死的,做設(shè)備是活的,如果是設(shè)備,我會根據(jù)設(shè)備的實際需要進行取舍,再決定怎么編,
    有時候太過死板或者鉆到牛角尖里面是很危險的,靈活和變通才能編出高質(zhì)量的程序

    還有,如果還有其他的疑問,歡迎繼續(xù)討論。
    尤其是對于“沒有任何一個感應(yīng)器感應(yīng)到的時候,觸發(fā)一個按鈕后小車該怎么跑”這個問題,我的方法的確有點死板,固定先朝一邊跑找到位置后再找目標(biāo)
    希望能在探討中找到最簡單的解決方法!