蔣從根 朱青松 崔健
北京電子科技職業(yè)學(xué)院 北京 100176
PLC具有可靠性高、抗干擾能力強(qiáng)、通用性強(qiáng)、控制程序可變、使用方便、控制系統(tǒng)的設(shè)計及施工的工作量低、體積小、重量輕、功耗低、維護(hù)方便等特點(diǎn),使得它在現(xiàn)代控制系統(tǒng)中得到廣泛引用。但由于PLC的數(shù)據(jù)處理和圖形處理能力的不足,人機(jī)交互能力不足,以及工業(yè)控制現(xiàn)場非常分散,I/O點(diǎn)數(shù)眾多,管理復(fù)雜,使得PC機(jī)與PLC組成集散控制系統(tǒng),成為現(xiàn)代控制的重要組合之一。
在上位機(jī)的控制軟件開發(fā)平臺中,組態(tài)軟件是簡單易學(xué)、功能強(qiáng)大的平臺之一。組態(tài)軟件又稱組態(tài)監(jiān)控軟件,譯自英文Supervisory Control and Data Acquisition(數(shù)據(jù)采集與監(jiān)視控制)。它們處在自動控制系統(tǒng)監(jiān)控層一級的軟件平臺和開發(fā)環(huán)境,使用靈活的組態(tài)方式,為用戶提供快速構(gòu)建工業(yè)自動控制系統(tǒng)監(jiān)控功能的、通用層次的軟件工具。
常用的組態(tài)軟件有:北京亞控的組態(tài)王、通態(tài)軟件公司的MCGS、上海步科的Kinco DTools、Intellution公司的Fix6、Simens的WinCC、華富公司Controx(開物)、羅克韋爾的RSView Supervisory Edition等數(shù)十種。各種組態(tài)軟件從功能、易用等方面各有特色。
組態(tài)王具有適應(yīng)性強(qiáng)、開放性好、易于擴(kuò)展、經(jīng)濟(jì)、開發(fā)周期短等優(yōu)點(diǎn)。為試驗者提供了可視化監(jiān)控畫面,有利于試驗者實時現(xiàn)場監(jiān)控,還具有豐富的設(shè)備驅(qū)動程序和靈活的組態(tài)方式、數(shù)據(jù)鏈接功能。用戶只需要通過簡單的模塊化組態(tài)就可構(gòu)造自己的應(yīng)用系統(tǒng),如可以靈活組態(tài)各種智能儀表、數(shù)據(jù)采集模塊,無人值守的現(xiàn)場采集站、人機(jī)界面等專用設(shè)備。
機(jī)床電器維修是職業(yè)院校開設(shè)的重要課程,機(jī)床電器維修實訓(xùn)課程教學(xué)存在一定困難,如何模擬設(shè)置故障是課程難點(diǎn),目前一般有乒乓開關(guān)設(shè)置,學(xué)生能夠看到開關(guān)狀態(tài),存在保密性差,工作效率低的問題。本系統(tǒng)基于組態(tài)王與西門子PLC開發(fā),解決了以上問題。
系統(tǒng)由PC機(jī)、RS232/485轉(zhuǎn)換器、西門子S7_200PLC、接口電路、機(jī)床電器柜連接而成。PC機(jī)器無特殊要求,需要有232接口,主要作用是教師通過PC設(shè)置機(jī)床電氣故障,將故障號發(fā)送到PLC。接口電路包括鍵盤輸入接口及PLC與機(jī)床電器柜之間的接口。
圖1 機(jī)床電器故障診斷實訓(xùn)系統(tǒng)示意圖
鍵盤輸入接口的作用是當(dāng)學(xué)員通過檢測找到故障后,輸入故障點(diǎn)的線號,恢復(fù)機(jī)床前電器柜的故障。
PLC與電器柜之間的接口電路的作用,是PLC通過接口繼電器控制機(jī)床電器柜的故障點(diǎn)斷開(斷路)或接通(短路)。
本系統(tǒng)完成機(jī)床電氣故障設(shè)置和故障恢復(fù)功能。
1.2.1 故障設(shè)置。故障設(shè)置在計算機(jī)上完成。由教師操作??梢栽O(shè)置30個故障。本系統(tǒng)是設(shè)計控制XW61萬能銑床的故障控制,30個已經(jīng)足夠,若需要控制更多故障,可以增加到255個。
計算機(jī)將設(shè)置故障號發(fā)送給PLC,PLC根據(jù)故障號對應(yīng)輸出點(diǎn)接通,控制接口電路中的繼電器,使相應(yīng)的繼電器得電動作。
接口板的繼電器得電后,常閉接點(diǎn)斷開,使得機(jī)床電氣中的相應(yīng)線路被切斷形成斷路故障(或繼電器的常開點(diǎn)閉合,短接兩點(diǎn),造成短路故障)。
表1是故障點(diǎn)的線路編號方案(部分)。當(dāng)然,根據(jù)實際情況需要可以改變這些編號(改變只需改變PLC程序相應(yīng)的編號即可),形成不同的故障點(diǎn)。
表1 故障號與故障點(diǎn)的對應(yīng)關(guān)系
1.2.2 故障排除。故障發(fā)到PLC后,PLC控制接口電路,使得機(jī)床電氣發(fā)生斷路或短路故障(機(jī)床電器柜是模擬裝置,電氣線路與實際XW61萬能銑床完全一致,有電機(jī)輸出,但不帶實際負(fù)載)。這時,學(xué)生通過科學(xué)方法,找到故障點(diǎn),根據(jù)故障點(diǎn)的兩個線號,通過鍵盤板輸入。PLC根據(jù)輸入線號作出判斷,如果輸入正確,PLC控制輸出點(diǎn),是接口板相應(yīng)的繼電器復(fù)位,故障排除[1]。
上位機(jī)完成機(jī)床電器柜的故障設(shè)置功能,由教師操作。上位機(jī)控制軟件基于組態(tài)王開發(fā),界面如圖2所示。
圖2 機(jī)床電器故障診斷實訓(xùn)系統(tǒng)上位機(jī)界面
圖3 故障范圍選擇控件顯示
界面包含四個下拉式組合框(以下簡稱組合框)及兩個按鈕組成。
組態(tài)王支持控件運(yùn)行。組合框的列表框是隱藏的,當(dāng)單擊下拉箭頭時,才彈出列表框。選擇完數(shù)據(jù)項后,列表框自動隱藏。在列表式組合框的文本框中可以直接輸入數(shù)據(jù)項。
組合框A設(shè)定發(fā)送故障號最小值,組合框B設(shè)置發(fā)送故障號的最大值。主要作用是方便任課教師設(shè)定故障范圍,選擇故障時,能夠快速精準(zhǔn)找到需要發(fā)送的故障號。
組合框C選擇要發(fā)送的故障號,組合框D選擇故障號發(fā)送到哪一個機(jī)床柜。一個實訓(xùn)室可以有30-50個機(jī)床柜,為了避免學(xué)生不認(rèn)真查找故障,通過選擇不同的電器柜號,使得不同的電器柜有不同的故障號(表現(xiàn)不同的故障現(xiàn)象),迫使學(xué)生必須自己找故障,不能抄襲別人的結(jié)果。
組態(tài)王對設(shè)備的管理是通過對邏輯設(shè)備名的管理實現(xiàn)的,每一個實際I/O設(shè)備都必須在組態(tài)王中指定一個唯一的邏輯名稱,此邏輯設(shè)備名就對應(yīng)著該I/O設(shè)備的生產(chǎn)廠家、實際設(shè)備名稱、設(shè)備通訊方式、設(shè)備地址、與上位PC機(jī)的通訊方式等信息內(nèi)容。
本系統(tǒng)將西門子PLC通過RS485接口并聯(lián)連接在組態(tài)王中,由組態(tài)王群發(fā)數(shù)據(jù),PLC接收到數(shù)據(jù)后,查看電器柜號,通過電器柜號識別是否是發(fā)送給本機(jī),確定是否響應(yīng)。
在組態(tài)王中設(shè)立變量VB11和VB21,變量類型選擇“I/O整數(shù)”,連接設(shè)備選擇西門子PLC的邏輯名(本系統(tǒng)為:西門子S7200PPI),寄存器分別選擇“V11”“V21”,數(shù)據(jù)類型選擇“BYTE”。VB11、VB21與PLC的VB11、VB21對應(yīng)。VB11保存故障號,VB21保存電器柜(機(jī)床柜)號,只要在組態(tài)王中給VB11和VB21賦值,系統(tǒng)自動將對應(yīng)的賦值發(fā)送到PLC的VB11和VB21,實現(xiàn)組態(tài)王與PLC的通信。在編程過程中,不需要考慮傳統(tǒng)通信程序的波特率、停止位、校驗位等狀態(tài),實現(xiàn)通信編程簡單化[2]。
2.1.1 初始化程序設(shè)計。組合框A和B內(nèi)的選擇號在系統(tǒng)初始化階段完成,在“顯示時”內(nèi)由程序設(shè)置。設(shè)置程序如下:
初始化組合框A
圖中故障最小號11,最大號25,表示本次發(fā)送故障號只能限于11-25號,其他故障不能發(fā)送,便于教師快速選擇。
2.1.2 發(fā)送故障程序設(shè)計。發(fā)送程序在“存在時”中實現(xiàn),每3秒循環(huán)一次,代碼如下:
圖4 故障號及電器柜號發(fā)送流程圖
圖5 故障號選擇及機(jī)床電器柜號選擇顯示
發(fā)送到PLC的只有故障號與電器柜號。在組合框C中,現(xiàn)實的格式是“故障號:線號1--線號2,教師很方便看到故障號與故障點(diǎn)線號之間的關(guān)系。圖中故障號選擇”17:008-045”,表示選擇17號故障,故障點(diǎn)兩端線號分別是008和045。圖中機(jī)床電器柜號選擇是12號,意味著本次故障是發(fā)送到12號電器柜的,其他電器柜不會響應(yīng)[3]。
2.4.1 PLC硬件系統(tǒng)。PLC采用西門子S7-200的CPU 226(24輸入/16輸出),擴(kuò)展模塊使用EM 223( 16入/16出繼電器)。
圖6 PLC接線圖
故障設(shè)置實現(xiàn):使用繼電器接點(diǎn)控制機(jī)床電器柜的故障點(diǎn)的通斷,設(shè)置故障。電器線路故障表現(xiàn)形式主要有短路和斷路,短路用繼電器常開點(diǎn)控制,一旦繼電器得電,形成短路故障,斷路用繼電器常閉接點(diǎn)控制,一旦繼電器得電,形成斷路故障。PLC根據(jù)上位機(jī)發(fā)來的故障號,控制對應(yīng)的繼電器動作,即完成故障設(shè)置。
圖7 輸出接口原理圖
圖8 輸入鍵盤原理圖
故障排除實現(xiàn):學(xué)生找到故障點(diǎn)后,輸入故障點(diǎn)的兩端線 號,PLC通過內(nèi)部“表格”對比,找出線號對應(yīng)的故障號,如果與上位機(jī)發(fā)來的故障號一致,則控制輸出繼電器復(fù)位,故障排除,如果故障號不一致,表示學(xué)生沒有找到故障點(diǎn),PLC不做出反應(yīng)(如果輸出點(diǎn)足夠的話,也可以使用一個蜂鳴器,用不同長短的聲音提示),學(xué)生繼續(xù)找故障,直到找到正確故障號。
2.4.2 PLC控制軟件設(shè)計。PLC控制軟件負(fù)責(zé)接受上位機(jī)發(fā)送來的故障號和電器柜號,首先檢查發(fā)送來的電器柜號,如果與本電氣柜號一致,則按照故障號設(shè)置故障。同時,接受鍵盤輸入線路編號,根據(jù)線路編號表格,找出對應(yīng)故障號,做出相應(yīng)控制[4]。
PLC系統(tǒng)控制控制控制框圖如圖所示。
圖9 PLC控制系統(tǒng)示意框圖
圖10 主程序(部分)
PLC控制系統(tǒng)由主程序,及InputKey、DelKey、SetM、ResetM、Multi、AddTh、Table七個子程序構(gòu)成,介紹如下:
2.4.2.1 主程序。主程序完成系統(tǒng)初始化,主要功能:
*根據(jù)接受上位機(jī)傳送來的電器柜號,如果確認(rèn)與本電器柜一致,調(diào)用子程序SetM,設(shè)置故障。
*接受鍵盤輸入的數(shù)據(jù),調(diào)用InputKey,處理接收到的數(shù)據(jù)。
*如果輸入數(shù)據(jù)錯誤,調(diào)用DelKey刪除數(shù)據(jù),重新輸入數(shù)據(jù)。
*VB21保存上位即發(fā)來的故障號,若VB21=5,調(diào)用故障設(shè)置子程序。不同的電器柜,設(shè)置不同的調(diào)用條件,如VB21=1、V21=18……
2.4.2.2 子程序SetM。子程序SetM的功能是根據(jù)上位機(jī)傳來的故障號,設(shè)置故障。將故障號對應(yīng)的輸出點(diǎn)接通,繼電器得電,設(shè)置故障。
圖11 故障設(shè)置子程序(部分)
圖中分別為設(shè)置2、3、4號故障支路。VB11保存上位機(jī)發(fā)送來故障號。
2.4.2.3 子程序InputKey及DelKey。InputKey的功能是將鍵盤輸入的數(shù)據(jù)(線號,一個故障點(diǎn)有兩個線號,每個線號由三位組成)分別存入按順序存入VB1、VB2、VB3、VB4、VB5、VB6六個存儲器中。
DelKey的功能是刪除輸入的數(shù)據(jù),它的操作內(nèi)容是將輸入數(shù)據(jù)標(biāo)志清零,表示數(shù)據(jù)需要重新輸入,以前的輸入數(shù)據(jù)作廢[5]。
2.4.2.4 子程序 ResetM。子程序 ResetM的功能是根據(jù)學(xué)生輸入的六個數(shù)碼,調(diào)用子程序Multi、AddTh,換算成線號(兩個),根據(jù)兩個線號,調(diào)用子程序Table,找出故障號,保存在VB2中,然后對比故障號,若故障號與上位機(jī)傳來的一致,則恢復(fù)故障,若不一致,刪除數(shù)據(jù)(故障不恢復(fù))。學(xué)生需要重新查找故障,重新輸入線號。
2.4.2.5 子程序 Multi、AddTh、Table。子程序Multi完成兩個數(shù)據(jù)相乘運(yùn)算、AddTh完成三個數(shù)據(jù)相加運(yùn)算、Table完成根據(jù)兩個線號找到故障號,故障號存在VB2中,作為恢復(fù)故障的依據(jù)例如,學(xué)生輸入1、8、1、1、8、2六個數(shù)碼,則調(diào)用子程序運(yùn)算1×100+8×10+1=181(第一個線號);1×100+8×10+2=182(第二個線號),調(diào)用子程序Table,根據(jù)兩個線號,找到故障號“7”。這個“7”就是本次學(xué)生輸入的故障號[6]。
機(jī)床電器維修人員是制造類企業(yè)必需的維修人才,職業(yè)院校機(jī)電類及裝備制造類專業(yè)廣泛開設(shè)機(jī)床電器維修課程。機(jī)床電器維修課程教學(xué)存在故障模擬難的狀況,目前市場上的相關(guān)設(shè)備使用乒乓開關(guān)人工切斷控制線路設(shè)置故障或基于PC-單片機(jī)的控制方式設(shè)置故障。存在保密性差,學(xué)生可以看到老師設(shè)置的故障,從而對故障診斷缺乏興趣及抗干擾性差,經(jīng)常發(fā)生設(shè)置故障失敗的情況。
本系統(tǒng)的設(shè)計成功克服了以上問題。經(jīng)過實驗室實際運(yùn)行檢測,該系統(tǒng)運(yùn)行良好,達(dá)到設(shè)計要求。采用組態(tài)技術(shù)非常成熟,通信不需要考慮通信參數(shù),PLC可靠性高,必定會得到市場認(rèn)可。