1 引言
一般來說,可以把控制系統(tǒng)劃分為三類:過程調(diào)節(jié)系統(tǒng)、運動控制系統(tǒng)和生產(chǎn)控制系統(tǒng)。第一種側(cè)重于回路的調(diào)節(jié)控制,往往涉及較復(fù)雜的控制算法,主要應(yīng)用于煉油等化工行業(yè);第二種側(cè)重于機械的運動控制,實時性和同步性較強,主要應(yīng)用于機械包裝行業(yè),如啤酒罐裝生產(chǎn)過程;第三種側(cè)重于有大量獨立的檢測和控制信號,控制程序的順序性較強,與工藝流程結(jié)合比較緊密,啤酒釀造過程就屬于此類。這三種控制系統(tǒng),各有各的編程側(cè)重點。對于生產(chǎn)控制系統(tǒng),其編程重點有兩部分:一部分是設(shè)備驅(qū)動標(biāo)準(zhǔn)模塊的設(shè)計,主要針對生產(chǎn)中大量相對獨立的檢測和控制信號,通過歸類分析,設(shè)計出各類設(shè)備的標(biāo)準(zhǔn)處理功能塊,來實現(xiàn)這些設(shè)備的手動/自動開關(guān)/調(diào)節(jié)、報警檢測、模擬、忽略等控制功能,這部分設(shè)計包括各類開關(guān)量設(shè)備驅(qū)動功能塊、連續(xù)量設(shè)備驅(qū)動功能塊和調(diào)節(jié)回路驅(qū)動功能塊的設(shè)計;另一部分是生產(chǎn)工藝流程控制程序的設(shè)計,根據(jù)生產(chǎn)工藝流程中每一步驟的控制要求,在每個順序步中實現(xiàn)相應(yīng)的控制動作,而這些動作命令是發(fā)送給設(shè)備的標(biāo)準(zhǔn)驅(qū)動模塊,由標(biāo)準(zhǔn)模塊處理后才影響現(xiàn)場設(shè)備。可以看出第一部分的設(shè)備驅(qū)動標(biāo)準(zhǔn)模塊設(shè)計是基礎(chǔ),它直接管理所有的輸入/輸出設(shè)備,生產(chǎn)工藝流程控制程序必須通過他們才能發(fā)揮作用。下面就以啤酒釀造生產(chǎn)控制系統(tǒng)設(shè)計為例,論述開關(guān)量設(shè)備驅(qū)動模塊的plc程序設(shè)計方法。
2 數(shù)字量設(shè)備控制模塊的設(shè)計分析
啤酒釀造生產(chǎn)涉及大量的數(shù)字量信號,如閥位檢測信號、物料高低位檢測信號、氣動閥門開關(guān)控制信號,電機啟停控制信號等,如一個年產(chǎn)20萬噸的啤酒發(fā)酵和過濾車間,其數(shù)字量設(shè)備的數(shù)量至少在千點以上。如何按標(biāo)準(zhǔn)化、模塊化的程序設(shè)計要求來編寫這些數(shù)字量設(shè)備的控制塊,使這些控制塊既能通用于啤酒釀造設(shè)備,又能提供較全面的生產(chǎn)操作功能,這些是程序設(shè)計人員在動手寫控制程序之前需要考慮的問題。在這里,通過分析啤酒釀造生產(chǎn)控制設(shè)備的特點,可以根據(jù)這些設(shè)備的信號類型和操作要求,把所有數(shù)字量設(shè)備劃分成8種控制類型,從而設(shè)計出相應(yīng)的標(biāo)準(zhǔn)控制模塊,就可以大大提高整個控制系統(tǒng)編程的效率,使控制程序具有好的可讀性和移植性。
2.1 數(shù)字量設(shè)備控制類型
根據(jù)數(shù)字量設(shè)備的輸入輸出信號特點,筆者把它劃分成八類:
(1)第一種是常開輸入(io)的信號設(shè)備。該類設(shè)備只有輸入信號,沒有輸出信號,且平時的輸入信號為0。如液位的高位信號,管板上的彎管連接狀態(tài)信號等,它們正常時輸入信號都為0,等到有變化了,需要提醒或報警時才變?yōu)?。
(2)第二種是常閉輸入(ic)的信號設(shè)備。該類設(shè)備只有輸入信號,沒有輸出信號,且平時的輸入信號為1,與第一種恰好相反。如液位的低位信號,壓力容器的關(guān)閉鍋蓋檢測信號,設(shè)備的急停信號等,它們正常時輸入信號都為1,等到有變化了,需要提醒或報警時才變?yōu)?。
(3)第三種是單輸出(out)且不帶反饋的控制設(shè)備。該類設(shè)備有一個開關(guān)輸出信號,沒有輸入反饋信號。如電磁閥,不帶位置反饋的單驅(qū)動氣動蝶閥等。通常輸出信號為0,對應(yīng)于設(shè)備關(guān),為1,對應(yīng)于設(shè)備開。
(4)第四種是單輸出(out)且?guī)А伴_”反饋(io)的控制設(shè)備。該類設(shè)備有一個開關(guān)輸出信號,有開到位時的輸入反饋信號。如帶閥門開狀態(tài)檢測的單驅(qū)動氣動蝶閥等。通常輸出信號為0,設(shè)備是關(guān)的,反饋信號為0;輸出信號為1,設(shè)備是開的,反饋信號為1;
(5)第五種是單輸出(out)且?guī)А瓣P(guān)”反饋(ic)的控制設(shè)備。該類設(shè)備有一個開關(guān)輸出信號,有關(guān)到位時的輸入反饋信號。如帶閥門關(guān)狀態(tài)檢測的單驅(qū)動氣動蝶閥等。通常輸出信號為0,設(shè)備是關(guān)的,反饋信號為1;輸出信號為1,設(shè)備是開的,反饋信號為0;
(6)第六種是單輸出(out)且?guī)ч_關(guān)雙反饋(io,ic)的控制設(shè)備。該類設(shè)備有一個開關(guān)輸出信號,有開到位和關(guān)到位兩個輸入反饋信號。如帶開到位和關(guān)到位檢測的雙驅(qū)動氣動蝶閥等。通常輸出信號為0,對應(yīng)于設(shè)備關(guān),為1,對應(yīng)于設(shè)備開。開到位時一個反饋信號為1,關(guān)到位時另一個反饋信號為1。
(7)第七種是單輸出(out)且?guī)н\行(io)和報警(ic)雙反饋的控制設(shè)備。該類設(shè)備有一個開關(guān)輸出信號,有運行狀態(tài)和報警檢測兩個輸入反饋信號。如普通電機的開關(guān)控制等。通常輸出信號out為0,對應(yīng)于電機停止,為1,對應(yīng)于電機啟動;電機啟動后主接觸器閉合,運行反饋信號io輸入變?yōu)?;電機跳閘或其他故障時,報警反饋輸入信號ic為0,沒有報警時為1。
(8)第八種是雙輸出(outl,outr)且?guī)щp運行(iol,ior)和報警(ic)的輸入信號反饋的控制設(shè)備。該類設(shè)備有左/右轉(zhuǎn)(高/低速)兩種輸出信號,有左/右轉(zhuǎn)(高/低速)兩個運行狀態(tài)反饋信號和報警檢測反饋信號。如左/右轉(zhuǎn)(高/低速)電機的開關(guān)控制等。通常一個輸出信號為1,對應(yīng)于電機左轉(zhuǎn),另一個輸出信號為1,對應(yīng)于電機右轉(zhuǎn),相應(yīng)的有兩個運行狀態(tài)的反饋信號。電機跳閘或其他故障時,報警反饋輸入信號為0,正常時為1。
其實第八種是兩個第七種的組合控制,再加上一些輸出命令的互鎖邏輯。
2.2 數(shù)字量設(shè)備的操作菜單
上面,我們根據(jù)開關(guān)量設(shè)備的信號特點,把所有開關(guān)量設(shè)備歸納成八種類型。可以看出這些開關(guān)量設(shè)備的輸入、輸出信號較簡單,但是根據(jù)啤酒生產(chǎn)的操作要求,開關(guān)設(shè)備的操作功能要比較完善,才能提高設(shè)備操作的靈活性。下面,針對八類設(shè)備的操作特點,分析其相應(yīng)操作菜單條的功能:
先來看看較好理解的輸出設(shè)備的操作菜單條。
對于(3)類型單輸出不帶反饋的設(shè)備,其操作功能簡單,只有設(shè)備狀態(tài)顯示、手動/自動切換按鈕、開關(guān)切換按鈕等,其操作菜單如圖1所示:
說明:
open,close:指示設(shè)備當(dāng)前開關(guān)狀態(tài),根據(jù)設(shè)備輸入信號來判斷。
auto open/close:自動輸出值,由工藝流程控制程序運行時賦值。
interlocked:設(shè)備鎖存位,保持設(shè)備當(dāng)前狀態(tài),不容許操作,一般是為了安全需要。
manual/auto:自動、手動控制切換按鈕。
open/close:手動開、手動關(guān)切換按鈕。
ignore:忽略按鈕,忽略設(shè)備的反饋信號,強制輸入信號跟隨輸出信號變化,從而也忽略了報警。
alarm:設(shè)備報警位。
reset:報警復(fù)位按鈕。
對于(8)類型雙輸出帶雙反饋的設(shè)備,其操作菜單如圖3所示。可以看出,它是上一種類型的組合控制。
對于沒有輸出,只有輸入的(1)、(2)兩種設(shè)備的控制,為了增強其操作功能,參考輸出設(shè)備的控制,賦予它有自動預(yù)置/手動模擬的輸出功能,從而也就可以手動改變其狀態(tài)和實現(xiàn)自動報警功能。這樣一來,這兩類設(shè)備的功能塊處理過程就幾乎與d、e、f、g類的輸出設(shè)備一樣。
(1)、(2)兩種類型的輸入信號設(shè)備,其操作菜單如如圖4所示:
圖4說明:
on,off:指示設(shè)備當(dāng)前開關(guān)狀,on是需要提醒或報警的狀態(tài)。
preset auto:自動預(yù)置輸出值,當(dāng)生產(chǎn)流程控制程序運行時,步程序預(yù)置希望的信號狀態(tài),如果輸入信號與預(yù)置值不一樣,則產(chǎn)生報警。
alarm enable:設(shè)備報警使能。(輸出信號設(shè)備也具有該功能,但沒在菜單條上提供)
simulate:自動預(yù)置/手動模擬切換。
preset on/of f:改變手動模擬值。
ignore:忽略設(shè)備的反饋信號,強制輸入信號跟隨輸出信號變化,從而也忽略了報警。
reset:報警復(fù)位。
八種開關(guān)量設(shè)備對應(yīng)四種操作菜單,分別操作單輸出信號設(shè)備、單輸出單反饋信號設(shè)備、雙輸出雙反饋信號設(shè)備和輸入信號設(shè)備。仔細(xì)分析這些操單的操作功能,可以看出它們的操作功能是基本一致的,所以它們對應(yīng)的程序功能塊的編程處理過程也是雷同。
3 數(shù)字量設(shè)備處理功能塊的plc程序設(shè)計
通過把數(shù)字量設(shè)備劃分成八種類型,并給出相應(yīng)類型的操作菜單條,可以看出數(shù)字量設(shè)備的程序控制功能塊具有如圖5的統(tǒng)一結(jié)構(gòu)。
按類劃分的設(shè)備控制模塊,其調(diào)用的輸入輸出參數(shù)只包括設(shè)備順序號和現(xiàn)場設(shè)備輸入輸出信號的plc地址,非常簡單。劃分八類數(shù)字量信號設(shè)備就有八個plc設(shè)備控制模塊,不管生產(chǎn)控制設(shè)備的數(shù)量多少,歸屬于同類的生產(chǎn)控制設(shè)備,其控制程序的處理過程是一樣的,不同的只是它們的輸入輸出信號地址和plc內(nèi)部存儲區(qū)地址。
如果用西門子step7來編程,可以用一個數(shù)據(jù)塊db來儲存所有數(shù)字量設(shè)備的狀態(tài)位和命令位,每個設(shè)備占用一個數(shù)據(jù)字dw,根據(jù)設(shè)備的順序編號,可以訪問該設(shè)備在數(shù)據(jù)塊中的數(shù)據(jù)字。下面列出各種模塊的輸入輸出參數(shù)和各個狀態(tài)位、命令位的符號。見附表。
可以從表1看出,八種功能塊具有很多共同屬性,并且其地址偏移是一致的,只要理解了各種功能塊所需要的命令參數(shù)和狀態(tài)參數(shù),就不難編寫出相應(yīng)的處理過程。圖6給出功能塊的主要處理流程。
有了各類數(shù)字量設(shè)備的標(biāo)準(zhǔn)處理功能塊,涉及到數(shù)字量設(shè)備的plc控制程序編寫起來就非常簡單。想修改某個設(shè)備的報警檢測時間也很方便,只要通過電腦修改對應(yīng)的plc內(nèi)部數(shù)據(jù)字就行。每增加一個設(shè)備,只要增加一次功能塊調(diào)用,賦給功能塊四個參數(shù):設(shè)備順序號、輸入信號地址、輸出信號地址,則信號處理過程就自動完成,處理結(jié)果也放在了對應(yīng)的數(shù)據(jù)字中。可以看出,利用設(shè)備標(biāo)準(zhǔn)處理功能塊,幾百個設(shè)備與幾千個設(shè)備的編程難度是一樣的。
4 結(jié)束語
通過以上的論述,可以看出,這些數(shù)據(jù)量設(shè)備控制模塊的設(shè)計遵從面向?qū)ο缶幊趟枷耄黝愒O(shè)備的處理過程封裝在標(biāo)準(zhǔn)功能塊中,只保留了與具體設(shè)備有關(guān)的四個輸入輸出地址參數(shù),設(shè)備控制功能塊只需設(shè)計一次,就可以反復(fù)調(diào)用,這樣就大大簡化了控制系統(tǒng)的程序設(shè)計。該方法已經(jīng)在大型啤酒發(fā)酵過濾生產(chǎn)控制系統(tǒng)設(shè)計中的得到應(yīng)用。
評論
查看更多