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



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


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

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


這個(gè)就有點(diǎn)電梯的味道了!這個(gè)不用我講了吧,呵呵!

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

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


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

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

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

    所以,第二個(gè)程序也用D200,想試的話自己改哈,我就不發(fā)圖片了。
    勇闖天涯
    級別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個(gè)
    工控威望: * 點(diǎn)
    下載積分: * 分
    在線時(shí)間: (小時(shí))
    注冊時(shí)間: *
    最后登錄: *
    查看勇闖天涯的 主題 / 回貼
    4樓  發(fā)表于: 2008-09-17 21:09
    九樓的兄弟,很想跟你交個(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ù)指正,一起討論吧!
    九樓的兄弟,我期待你的反駁。
    勇闖天涯
    級別: *
    精華主題: * 篇
    發(fā)帖數(shù)量: * 個(gè)
    工控威望: * 點(diǎn)
    下載積分: * 分
    在線時(shí)間: (小時(shí))
    注冊時(shí)間: *
    最后登錄: *
    查看勇闖天涯的 主題 / 回貼
    5樓  發(fā)表于: 2008-09-17 21:43
    呵呵,13樓的這個(gè)問題大家有有考慮過,這個(gè)就是“前置優(yōu)先”和“后置優(yōu)先”的爭議。
    我把我的答案再歸納一下吧:
    前置優(yōu)先:停車的情況下,很多按鈕一起按的時(shí)候,以最先觸發(fā)到的那個(gè)按鈕為準(zhǔn),開始執(zhí)行(有點(diǎn)搶答器的感覺)!請看:



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


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

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

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

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

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