技術(shù)頻道

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

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

時(shí)間:2009-05-20 10:48:22來(lái)源:ronggang

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

標(biāo)簽:

點(diǎn)贊

分享到:

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

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

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

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

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

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

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

Chuandong.com Copyright ?2005 - 2024 ,All Rights Reserved 版權(quán)所有 粵ICP備 14004826號(hào) | 營(yíng)業(yè)執(zhí)照證書(shū) | 不良信息舉報(bào)中心 | 粵公網(wǎng)安備 44030402000946號(hào)