一組PLC程序的邏輯錯(cuò)誤分析
圖5 定時(shí)器分配程序圖
圖6 梯形圖
4 十字路口交通燈控制程序
題目:交通燈控制程序
來(lái)源:plc應(yīng)用技術(shù)開(kāi)發(fā)與實(shí)踐
編程平臺(tái):omron公司cqm1系列
●任務(wù)描述
工作順序:?jiǎn)?dòng)按鈕,南北綠燈,東西紅燈,東西綠燈,南北紅燈。按此順序循環(huán)。
時(shí)序控制:(90秒周期)
●主干道
南北左轉(zhuǎn)燈:綠10秒,黃2秒,紅78秒;
南北直行燈:紅10秒,綠30秒,綠閃3秒,黃2秒,紅45秒;
東西方向左轉(zhuǎn)燈和直行燈的工作方式與上相仿,但延遲45秒。人行道燈與主干道直行燈相同。
●強(qiáng)通控制
打開(kāi)強(qiáng)通開(kāi)關(guān),強(qiáng)通方向綠燈亮,斷開(kāi)強(qiáng)通開(kāi)關(guān),綠燈閃3秒,恢復(fù)正常控制;
閃爍控制,亮0.5秒,暗0.5秒,持續(xù)3秒;
這個(gè)程序比較長(zhǎng),不便全部抄錄在此。這里僅指出程序中的幾個(gè)錯(cuò)誤,并列出相關(guān)的程序段。
圖7程序的實(shí)現(xiàn)
程序錯(cuò)誤(1):閃爍控制錯(cuò)誤。閃爍過(guò)程通過(guò)一個(gè)專(zhuān)門(mén)的程序段控制,按要求該程序應(yīng)該每隔0.5秒輸出1,然后0.5秒輸出0,不斷循環(huán)。圖7是書(shū)中該程序的實(shí)現(xiàn):
其中只用到tim050一個(gè)定時(shí)器,計(jì)時(shí)單位為十分之一秒。omron的tim型定時(shí)器的工作方式同西門(mén)子ton型定時(shí)器相仿,當(dāng)輸入為1時(shí)啟動(dòng)計(jì)時(shí),一旦輸入轉(zhuǎn)0,立即停止計(jì)時(shí),定時(shí)器變量輸出復(fù)位為0。
起始狀態(tài)tim050的值為0,取反后送入定時(shí)器1,啟動(dòng)計(jì)時(shí),5個(gè)單位之后到時(shí)定時(shí)器產(chǎn)生信號(hào)1。該信號(hào)經(jīng)反饋之后,把0送入定時(shí)器,這一輸入值立即把定時(shí)器輸出重新變?yōu)?。因此,該段程序只能產(chǎn)生非常短暫的1,而不是持續(xù)0.5秒的1。當(dāng)該信號(hào)用于驅(qū)動(dòng)綠燈時(shí),無(wú)法產(chǎn)生正常的均勻閃爍效果。
●程序修正(見(jiàn)圖8)
圖8 程序修正圖
這里用了兩個(gè)定時(shí)器,當(dāng)?shù)谝粋€(gè)定時(shí)器tim050到時(shí)之后,它的輸出信號(hào)1送到第二個(gè)定時(shí)器tim051啟動(dòng)后者計(jì)時(shí)。但tim051需要5個(gè)單位之后才能到時(shí),在這段時(shí)間內(nèi),tim050依然的輸入依然是1,因此它能夠把1繼續(xù)保持0.5秒,由此產(chǎn)生一個(gè)均勻的每隔0.5秒變化的脈沖。
程序錯(cuò)誤(2):在系統(tǒng)初始啟動(dòng)階段,南北方向綠燈亮,但東西方向的左轉(zhuǎn)紅燈和直行紅燈沒(méi)有同時(shí)點(diǎn)亮
原因分析:由于相關(guān)程序比較長(zhǎng),不便在這里展示,這里我們僅分析一下出錯(cuò)的原因及解決的辦法。原程序中采用順序啟動(dòng)各個(gè)顏色燈的方法。即左轉(zhuǎn)綠燈10秒后啟動(dòng)直行綠燈,30秒后綠閃,2秒后黃燈,然后55秒紅燈。然而,按這一順序運(yùn)行時(shí),一開(kāi)始南北直行紅燈的10秒缺掉了,東西左轉(zhuǎn)紅燈45秒漏了,最后東西直行紅燈55秒也漏了。要改變這一情況,需要改變后一程序,同時(shí)再引入兩個(gè)定時(shí)器,把紅燈控制切分成兩段完成。
可能人們認(rèn)為上一個(gè)問(wèn)題不算嚴(yán)重,因?yàn)樵瓉?lái)程序在啟動(dòng)一分鐘之后就能達(dá)到正常。但下面的強(qiáng)通控制的錯(cuò)誤確是比較嚴(yán)重的。所謂強(qiáng)通是指緊急車(chē)輛到達(dá)路口時(shí),人工控制按下相應(yīng)方向的強(qiáng)通開(kāi)關(guān),使得這一方向的綠燈亮,另一方向亮紅燈。緊急車(chē)輛過(guò)去之后,強(qiáng)通開(kāi)關(guān)方塊,強(qiáng)通方向綠燈閃動(dòng)三下之后,恢復(fù)原來(lái)的系統(tǒng)運(yùn)行。
程序錯(cuò)誤(3):強(qiáng)通按鈕放開(kāi)之后,按規(guī)定強(qiáng)通方向綠燈應(yīng)該閃爍三下,然后熄滅,但實(shí)際情況是綠燈沒(méi)有按照規(guī)定閃爍和停止,而是持續(xù)發(fā)亮。
原因分析:
我們以東西向直行綠燈控制程序段為例分析這一問(wèn)題。
該程序中100.12為控制東西向綠燈的輸出變量。該方向的強(qiáng)通通過(guò)hr0.00控制,強(qiáng)通按鈕按下之后,該變量為1,從而引起100.12輸出為1,綠燈亮。強(qiáng)通按鈕放開(kāi)之后,這條通路切斷,hr0.01變?yōu)?之后,hr0.03會(huì)變?yōu)?,過(guò)程在這里略去。hr0.03所在的通路將產(chǎn)生一個(gè)3秒鐘的閃爍脈沖。編程者的意圖是通過(guò)它在結(jié)束強(qiáng)通之后制造一個(gè)綠燈閃爍過(guò)程。然而,由于變量100.12的反饋存在,一旦該變量為1,它將自動(dòng)地繼續(xù)保持為1。只有兩種方式可以使它恢復(fù)為0,一種是30秒定時(shí)器到時(shí)(tim010),另一個(gè)是另一方向的強(qiáng)通信號(hào)hr0.01。在同方向強(qiáng)通信號(hào)結(jié)束之后,一般情況下,上述兩個(gè)信號(hào)均不會(huì)轉(zhuǎn)為1,因此綠燈無(wú)法馬上停止。系統(tǒng)并不產(chǎn)生規(guī)定的效果。
西門(mén)子plc相關(guān)文章:西門(mén)子plc視頻教程
評(píng)論