可編程序控制器(簡稱plc)是一種工業(yè)自動(dòng)控制中使用的計(jì)算裝置。它廣泛應(yīng)用于鋼鐵、石油、化工、電力、建材、機(jī)械制造、汽車、輕紡、交通運(yùn)輸、航天、環(huán)保及文化娛樂等各個(gè)行業(yè)。小到家用設(shè)備,大到航天器材,都有plc的應(yīng)用。真空干燥箱的PLC程序控制系統(tǒng)。
典型的plc由一個(gè)專用的cpu,一個(gè)存儲(chǔ)器和一組輸入輸出端口構(gòu)成,如圖1所示。它通過輸入端口接收來自傳感器的信號(hào),并通過輸出端口發(fā)出控制信號(hào)驅(qū)動(dòng)同它連接的外部設(shè)備。存儲(chǔ)器中安放控制程序,系統(tǒng)的活動(dòng)由控制程序所驅(qū)動(dòng)。
plc程序設(shè)計(jì)具有不尋常的軟件編程模式。設(shè)計(jì)中需要考慮多個(gè)并行線程,它們之間的交互作用,以及在時(shí)間域上的行為。在plc的五種主要的編程語言當(dāng)中,源自繼電器控制系統(tǒng)的梯形圖語言采用了一種簡單的方式巧妙地處理了并行程序設(shè)計(jì)問題,然而,由于plc編程問題的固有復(fù)雜性,以及測試手段的缺乏,許多plc程序中依然存在大量的錯(cuò)誤。
為了解決這一問題,靈芯實(shí)驗(yàn)室正在開發(fā)plc測試系統(tǒng),為plc程序的調(diào)試提供解決方案。在這一系統(tǒng)的試用過程中,在兩本plc入門教科書的6個(gè)簡單程序例子中發(fā)現(xiàn)其中的4個(gè)程序里面至少包含8個(gè)錯(cuò)誤。
plc系統(tǒng)每隔一定的時(shí)間間隔(比如5毫秒)從輸入端口讀入信號(hào),執(zhí)行計(jì)算,然后向輸出端口發(fā)送輸出信號(hào)。每一“輸入-計(jì)算-輸出”周期稱為一個(gè)掃描周期。plc程序在每個(gè)掃描周期中重復(fù)執(zhí)行一遍。plc的簡單應(yīng)用有洗衣機(jī)控制,電梯控制。復(fù)雜的應(yīng)用有自動(dòng)機(jī)床控制,自動(dòng)化工程控制。
●一個(gè)交通燈控制程序中,綠燈閃爍控制不正常;系統(tǒng)啟動(dòng)的時(shí)候,一個(gè)方向綠燈亮,另一個(gè)方向的紅燈卻不亮;強(qiáng)通結(jié)束之后,交通燈沒有立即恢復(fù)正常運(yùn)行;
●一個(gè)搶答器程序在兩個(gè)參賽者同時(shí)按下?lián)尨鸢粹o時(shí),只有其中一個(gè)人的警報(bào)器能夠發(fā)出警報(bào);
●一個(gè)噴泉程序中,噴水組在幾個(gè)指定時(shí)間上沒有按要求停止噴水,或開始噴水;
●在另一個(gè)交通燈程序中,按下停止按鈕之后,所有的燈熄滅,但兩個(gè)方向人行道上卻亮紅燈。










