新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 一組PLC程序的邏輯錯誤分析

一組PLC程序的邏輯錯誤分析

作者: 時間:2014-01-13 來源:網(wǎng)絡(luò) 收藏


這是一個比較嚴(yán)重的錯誤,因?yàn)榇颂幈緫?yīng)經(jīng)過綠燈閃爍轉(zhuǎn)為紅燈,但系統(tǒng)卻始終保持綠燈。這樣的系統(tǒng)是無法接受的。

這一問題的解決比較復(fù)雜一點(diǎn)。由于我們的主要任務(wù)是發(fā)現(xiàn)錯誤,此地我們不再討論如何修正這一錯誤的問題。

圖9 東西向直行綠燈控制程序分析圖

5 第二個十字路口交通燈控制程序

本節(jié)討論另一本書上的交通燈控制程序中的錯誤。這一程序沒有處理強(qiáng)通控制這樣的復(fù)雜問題,但是人行道控制同主干道控制分開處理,結(jié)果在人行道控制上出現(xiàn)了錯誤。

題目:交通燈控制程序

來源:plc應(yīng)用開發(fā)實(shí)用子程序

編程平臺:西門子s7-200

時序控制:(90秒周期)

南北主干道 左轉(zhuǎn)綠10秒,綠30秒,綠閃3秒,黃2秒,紅45秒;

東西人行道:紅13秒,綠27秒,綠閃3秒,紅47秒;

東西主干道: 紅45秒,左轉(zhuǎn)綠10秒,綠30秒,綠閃3秒,黃2秒;

南北人行道:紅58秒,綠27秒,綠閃3秒,紅2秒。

注:

(1)綠閃包括轉(zhuǎn)向綠燈和轉(zhuǎn)向綠燈;

(2)東西人行道指東西兩端的人行道。

測試顯示該程序時序上運(yùn)行正確,但是在關(guān)機(jī)時出了問題。

程序錯誤:按下系統(tǒng)停止開關(guān),大部分燈都熄滅,但兩個方向的人行道上亮起紅燈。

程序分析:

我們以控制東西方向人行道紅燈的變量q1.3的計(jì)算為例進(jìn)行分析。下面把相關(guān)程序段專門抽出來進(jìn)行分析(見圖10)。

圖10 相關(guān)程序段分析圖

圖中可見,當(dāng)m0.4為0 時q1.3將輸出1。當(dāng)t7,t8為0時m0.4必定為0。系統(tǒng)停止開關(guān)是i0.2,它按下之后會使m0.1變?yōu)?,該變量是控制系統(tǒng)活動的主要變量,它變?yōu)?將使一系列變量變?yōu)?,也包括t7和t8。然而這樣做卻沒有關(guān)掉東西兩端人行道的紅燈。南北兩端人行道紅燈采用的是類似程序,因此也沒有關(guān)掉。

程序修正:

只需把m0.1直接加入到人行道紅燈的控制中即可。

6 結(jié)束語

本文分析了來自兩本plc教材的4個程序例子,從中找出大大小小8個錯誤,并對這些錯誤的原因進(jìn)行了分析。我們希望這個分析能夠幫助程序員減少編程錯誤。

本文目的是為了揭示plc程序錯誤的普遍性。這些錯誤不能簡單歸咎于作者的失誤,主 要原因是編程模式的復(fù)雜性以及測試手段的缺乏。

失誤是人類的普遍行為。對于計(jì)算機(jī)程序這樣復(fù)雜的對象,出錯經(jīng)常出現(xiàn)。程序編制過程本身就是一個不斷嘗試不斷糾正錯誤的過程。然而,在plc領(lǐng)域,離線的調(diào)試工具比較薄弱,迄今為止最好的調(diào)試方式依然是現(xiàn)場調(diào)試,但是這一方式過于耗費(fèi)時間,而且一般教師和學(xué)生都沒有這樣的條件。這是程序錯誤率高的根本原因。

作者簡介

陳鋼 男 現(xiàn)就職于鎮(zhèn)江靈芯軟件試驗(yàn)室,從事plc測試軟件的開發(fā)和商業(yè)化工作。

參考文獻(xiàn)

[1]陳鋼,宋曉宇,顧明等.coq定理證明器輔助plc程序驗(yàn)證和分析[j].北京大學(xué)學(xué)報,2010(1).

[2]求是科技.plc應(yīng)用開發(fā)技術(shù)與工程實(shí)踐[m].北京:郵電出版社,2005.

[3]賈德勝.plc應(yīng)用開發(fā)實(shí)用子程序[m].北京:郵電出版社,2006(1).

西門子plc相關(guān)文章:西門子plc視頻教程



上一頁 1 2 3 4 下一頁

關(guān)鍵詞: PLC程序 存儲器 邏輯錯誤

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉