技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于PLC和PC的分布式計算機(jī)監(jiān)控系統(tǒng)的設(shè)計

基于PLC和PC的分布式計算機(jī)監(jiān)控系統(tǒng)的設(shè)計

時間:2009-05-20 10:48:22來源:ronggang

導(dǎo)語:?本文介紹了歐姆龍PLC和PC上位機(jī)在石油化工廠的電路監(jiān)控系統(tǒng)中的應(yīng)用,詳細(xì)介紹了該系統(tǒng)的硬件、軟件設(shè)計,以及通訊連接
摘 要:供電系統(tǒng)是工廠的重要組成部分,對其可能發(fā)生的故障及生產(chǎn)故障進(jìn)行及時的監(jiān)控和報警是生產(chǎn)運作順利進(jìn)行的有力保障。本文介紹了歐姆龍PLC和PC上位機(jī)在石油化工廠的電路監(jiān)控系統(tǒng)中的應(yīng)用,詳細(xì)介紹了該系統(tǒng)的硬件、軟件設(shè)計,以及通訊連接。 關(guān)鍵詞:PLC、PC上位機(jī)、串口通信 Abstract:This paper setting out from an actual problem introduces a circuit-alarm monitoring system of petrochemical factory based on PLC and PC. It introduces the system’s design of hardware, software and the connection of network in detail. KEYWORDS:PLC、PC、Serial communication 一、引言   在復(fù)雜的電網(wǎng)供電系統(tǒng)中,傳統(tǒng)的故障報警一般采用報警烽鳴器、故障指示燈等硬件方式報警。這種方式存在很多缺點,例如如果電網(wǎng)分布分散,則故障報警點也分散,需要安排一定人力巡邏檢查,造成人力資源浪費,且報警、維修不及時;故障報警點太多則需要大量報警器,且造成線路復(fù)雜化;硬件報警得到的故障信息太少等等。隨著計算機(jī)和自動化技術(shù)在工廠中的大量應(yīng)用,可以將故障信息通過PLC進(jìn)行初步監(jiān)控,然后再由PLC上傳到計算機(jī)中,由計算機(jī)處理故障信息,進(jìn)行報警、記錄、顯示故障信息。具有可進(jìn)行集中監(jiān)控,節(jié)省人力,故障信息直觀、豐富,便于分析等優(yōu)點。 二、系統(tǒng)介紹   系統(tǒng)由PLC檢測48個故障繼電器的狀態(tài)變化,上位機(jī)PC定時查詢并讀取PLC內(nèi)部4個通道61位的狀態(tài)信息(包括48個輸入點和13個歸類輸出點),進(jìn)行分析并用數(shù)據(jù)庫加以管理和記錄。程序采用VisualBasic6.0開發(fā),數(shù)據(jù)庫采用Microsoft的Access2003。   每個故障點按照對應(yīng)的位置標(biāo)識于車間電路分布圖上,如圖1所示。程序運行進(jìn)入監(jiān)控狀態(tài)以后,PC將檢測與PLC的通信連接。如果通訊連接正常,程序?qū)z測現(xiàn)場信號變化。如果信號由正常變?yōu)閳缶?,對?yīng)指示燈及總狀態(tài)指示燈將閃爍并聲音報警,右上方顯示故障信息,運行狀態(tài)信息及故障信息將存入數(shù)據(jù)庫。單擊閃爍指示燈,將停止閃爍,并顯示當(dāng)前狀態(tài),報警為紅色,正常為淺黃色;如果信號由報警變正常,對應(yīng)指示燈停止閃爍,運行狀態(tài)信息及故障修復(fù)信息將存入數(shù)據(jù)庫。當(dāng)前狀態(tài)由紅色變?yōu)闇\黃色。如果要查看各個節(jié)點信息,則單擊指示燈,右上方圖框會顯示該節(jié)點的位號,對應(yīng)PLC位以及該報警點名稱和觸點狀態(tài)。右上方文本框顯示當(dāng)前系統(tǒng)總運行狀態(tài),有相應(yīng)的指示燈標(biāo)示,分為“正?!?和“報警”兩種狀態(tài),紅色為報警綠色為正常。 [align=center] 圖1 報警監(jiān)控畫面(正常狀態(tài))[/align]   報警時畫面如圖2所示。 [align=center] 圖2 報警監(jiān)控畫面(報警狀態(tài))[/align] 三、監(jiān)控系統(tǒng)構(gòu)成   1.系統(tǒng)的結(jié)構(gòu)   系統(tǒng)配置如圖3所示。本系統(tǒng)主要由上位機(jī)PC和下位機(jī)PLC組成,監(jiān)控48個故障點并將其分為13大類,然后將故障信息顯示在計算機(jī)屏幕上。PLC使用的是歐姆龍的C200H,采用3個輸入模塊,一個輸出模塊,一個通訊模塊。將故障繼電器兩端引出作為PLC的干接點,通過輸入模塊將故障信息轉(zhuǎn)化為開關(guān)量輸入PLC,并由PLC對故障進(jìn)行分類,然后PLC通過RS232-422轉(zhuǎn)換器和RS232C串口與上位機(jī)通信,由上位機(jī)讀取并處理故障信息進(jìn)行監(jiān)控報警。 [align=center] 圖 3 系統(tǒng)結(jié)構(gòu)[/align]   2.軟件設(shè)計   本系統(tǒng)PLC的編程使用CX-ProgrammerV3.1編寫,實現(xiàn)PLC對故障繼電器的初步監(jiān)控;上位機(jī)監(jiān)控使用VisualBasic6.0編寫主監(jiān)控程序,實現(xiàn)故障實時監(jiān)控報警、顯示、記錄、故障點信息查詢修改以及運行狀態(tài)查詢等功能。  ?。?)PLC程序:該程序包括三個輸入模塊和一個輸出模塊,用于對48個故障信息的采集和分類,并對PLC后備電池狀態(tài)監(jiān)控。   將故障信息轉(zhuǎn)存到20通道:
  將故障分類:
  PLC后備電池狀態(tài)轉(zhuǎn)存至23通道:
 ?。?)上位機(jī)程序:主要負(fù)責(zé)與PLC進(jìn)行串口通信,讀取PLC內(nèi)部通道狀態(tài)加以分析,在主界面上實現(xiàn)故障報警、顯示、故障點信息查詢、故障信息記錄查詢以及節(jié)點信息修改查詢等功能。   上位機(jī)PC與PLC通訊時,按應(yīng)答方式進(jìn)行,由上位計算機(jī)發(fā)給PLC一組ASCⅡ碼字符數(shù)據(jù),這一數(shù)據(jù)稱為命令塊。PLC收到命令塊后經(jīng)分析認(rèn)為命令正常,則按照命令進(jìn)行操作,將操作結(jié)果返回給上位計算機(jī),PLC返回給上位計算機(jī)的這一組數(shù)據(jù)稱為響應(yīng)塊。若PLC收到命令后經(jīng)分析確認(rèn)命令不正常,則返回給上位計算機(jī)錯誤命令響應(yīng)塊。上位計算機(jī)和PLC通訊時,PLC是被動的,必須由上位計算機(jī)給PLC發(fā)出命令塊,PLC作出響應(yīng)發(fā)還給上位計算機(jī)響應(yīng)塊。   本程序采用多重通訊方式,多重通訊時首幀以單元號(即HOST LINK的機(jī)號)開始,然后為報頭、報文、校驗碼、結(jié)束符(只有一幀時)或分隔符(多幀時)。中間幀以報文開始,然后為校驗碼、分隔符,中間幀報文每幀最多125個字符。尾幀以報文開始,然后為校驗碼、結(jié)束符,尾幀報文最多124個字符。   校驗碼FCS(Frame Check Sequence)是8位(bit)二進(jìn)制數(shù)轉(zhuǎn)換成的2位字符。這8位二進(jìn)制數(shù)是一幀中校驗碼前的所有字符的ASCⅡ碼按位異或的結(jié)果。轉(zhuǎn)換成字符時按照2位十六進(jìn)制數(shù)字轉(zhuǎn)換成對應(yīng)的數(shù)字字符。   PLC收到上位計算機(jī)發(fā)出的命令塊后,經(jīng)分析操作返回給上位計算機(jī)響應(yīng)塊,在響應(yīng)塊中含有響應(yīng)碼。如果PLC正常完成上位計算機(jī)的命令,則響應(yīng)碼為00,否則,響應(yīng)碼中含有出錯信息。   上位機(jī)PC與PLC的串口通信部分:   Timer2的值設(shè)為2000,即每隔2s上位機(jī)PC向PLC發(fā)送一次讀取命令,讀取信息。   Private Sub Timer2_Timer()   Dim a(10) As String   a(0) = "@00RR00200004" ’單元號和報頭報文   a(1) = FCS(a(0)) ’命令格式中的校驗位   a(2) = a(0) + a(1) + "*" + Chr$(13) ’命令碼   MSComm1.Output = a(2) ’向PLC發(fā)送命令   a(3) = MSComm1.Input   a(4) = Mid$(a(3), 6, 2) ’響應(yīng)碼   Call Message(a(4)) ’調(diào)用響應(yīng)碼的錯誤信息   If errortime > 3 Then   Timer2.Enabled = False   intr = MsgBox(“通訊錯誤,是否退出檢查連接?”, vbYesNoCancel + vbExclamation, “通訊連接中”)   If intr = vbYes Then   。。。。。。。。。   Else   。。。。。。。。。   End If   End If   ’如果通訊連接正常則讀取數(shù)據(jù):   a(6) = Mid$(a(3), 24, 2) ’響應(yīng)塊中的校驗碼   a(7) = Mid$(a(3), 1, 23)   a(8) = FCS(a(7)) ’計算校驗碼   If a(8) = a(6) Then ’比較校驗碼是否相同   a(9) = Mid$(a(3), 8, 16)   a(10) = Hex2Bin$(a(9))   z = a(10) ’得到PLC內(nèi)部通道數(shù)據(jù)   Else   MsgBox (“校驗碼不正確”)   。。。。。。。   End If   校驗碼計算函數(shù):   Function FCS(ByVal inputstr As String) As String   Dim slen, n, xorresult As Integer   Dim tempfcs As String   slen = Len(inputstr)   xorresult = 0   For n = 1 To slen   xorresult = xorresult Xor Asc(Mid$(inputstr, n, 1))   Next n   tempfcs = Hex$(xorresult)   If Len(tempfcs) = 1 Then   tempfcs = "0" + tempfcs   End If   FCS = tempfcs   End Function   將響應(yīng)碼中的數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制數(shù)據(jù):   Function Hex2Bin$(HexValue$)   Const BinTbl = "0000000100100011010001010110011110001001101010111100110111101111"   Dim X, Work$   Work$ = ""   For X = 1 To Len(HexValue$)   Work$ = Work$ + Mid$(BinTbl, Val("&h" + Mid$(HexValue$, X, 1)) * 4 + 1, 4)   Next   Hex2Bin$ = Work$   End Function   監(jiān)控程序功能:故障信息及節(jié)點查詢?nèi)鐖D4;PLC電池故障顯示如圖5;數(shù)據(jù)庫將記錄系統(tǒng)運行狀態(tài),記錄故障發(fā)生的時間及相關(guān)信息,故障修復(fù)的時間及相關(guān)信息并提供查詢功能如圖7;可以查看主界面上位號所對應(yīng)的PLC位、名稱、觸點狀態(tài)等信息以便于故障分析,如圖8;系統(tǒng)運行總狀態(tài)指示如圖6所示。
[align=center] 圖 6 系統(tǒng)運行狀態(tài)指示 圖 7 數(shù)據(jù)庫查詢 圖 8 位號對應(yīng)信息查詢[/align] 四、監(jiān)控程序完成的功能   1.故障指示:有報警時,對應(yīng)指示燈及總狀態(tài)指示燈將閃爍并聲音報警,右上方顯示故障信息,單擊閃爍指示燈,將停止閃爍,并顯示當(dāng)前狀態(tài),報警為紅色,正常為淺黃色;如果故障修復(fù),則對應(yīng)指示燈停止閃爍,當(dāng)前狀態(tài)由紅色變?yōu)闇\黃色。單擊指示燈,則可以查看各個節(jié)點信息,右上方圖框會顯示該節(jié)點的位號,對應(yīng)PLC位以及該報警點名稱和觸點狀態(tài)。右上方文本框有相應(yīng)的指示燈顯示當(dāng)前系統(tǒng)總運行狀態(tài),紅色為報警綠色為正常。   2.歷史記錄:數(shù)據(jù)庫記錄系統(tǒng)運行狀態(tài),記錄報警的位號、名稱、PLC位、觸點狀態(tài)、以及報警時間等內(nèi)容,當(dāng)故障解除后同樣記錄解除的位號、名稱、PLC位、觸點狀態(tài)、以及故障解除時間。數(shù)據(jù)庫中有位號名稱對應(yīng)表,以方便查詢每個點的對應(yīng)關(guān)系。   3.通訊連接:用于重新連接上位機(jī)和下位機(jī)間的通訊,當(dāng)單擊工具欄中連接按鈕時,程序檢測通信連接。   4.聲音測試:用于測試聲音報警是否正常。若正常,點擊此按鈕時系統(tǒng)發(fā)出報警聲音。   5.消音:用于消除系統(tǒng)報警時的聲音,不影響指示燈閃爍報警。 五、結(jié)束語   本系統(tǒng)是為齊魯石化氯堿廠生產(chǎn)車間設(shè)計的電路故障報警系統(tǒng),現(xiàn)已投入運行。在實際應(yīng)用中提供了真實可靠的生產(chǎn)實時數(shù)據(jù),運行情況良好。為企業(yè)減少了人力資源浪費,化工廠生產(chǎn)車間環(huán)境較差,改善了工人的工作環(huán)境降低了工作強(qiáng)度,并實現(xiàn)了集中監(jiān)控。本系統(tǒng)的可擴(kuò)展性也很好的適應(yīng)了車間改良的需求,可根據(jù)用戶的要求增加監(jiān)控點并將本車間故障分類輸出到上一級監(jiān)控站,受到了用戶的好評。 參考文獻(xiàn):   1.徐德 孫同景 《可編程序控制器(PLC)應(yīng)用技術(shù)》 山東科技出版社 2000   2.李勇帆 《Visual Basic 6.0程序設(shè)計與應(yīng)用》 人民郵電出版社 2006   3.李長林 《Visual Basic串口通信技術(shù)與典型實例》 清華大學(xué)出版社 2006

標(biāo)簽:

點贊

分享到:

上一篇:凝結(jié)水精處理系統(tǒng)在嶺澳核電...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.wangxinlc.cn)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號