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