鉅大LARGE | 點(diǎn)擊量:1322次 | 2020年05月14日
開(kāi)關(guān)電源監(jiān)控系統(tǒng)的設(shè)計(jì)
摘要:介紹了一種由一臺(tái)計(jì)算機(jī)實(shí)時(shí)監(jiān)控多臺(tái)大功率開(kāi)關(guān)電源的實(shí)現(xiàn)方法,采用了RS?232C和RS?485雙串行通信總線標(biāo)準(zhǔn)接口,實(shí)現(xiàn)了計(jì)算機(jī)可以實(shí)時(shí)采樣和設(shè)置電源輸出電壓、輸出電流和各個(gè)開(kāi)關(guān)量的狀態(tài)。關(guān)鍵詞:通信;監(jiān)控;總線
1引言近幾年來(lái),開(kāi)關(guān)電源技術(shù)得到了迅猛發(fā)展,對(duì)開(kāi)關(guān)電源的智能化要求也越來(lái)越高。開(kāi)關(guān)電源監(jiān)控系統(tǒng)作為實(shí)現(xiàn)開(kāi)關(guān)電源系統(tǒng)智能化要求的一部分,也越來(lái)越得到廣泛的應(yīng)用。開(kāi)關(guān)電源監(jiān)控系統(tǒng)的重要功能是通過(guò)電源與計(jì)算機(jī)的通信模塊完成與監(jiān)控中心的信息交換,接收監(jiān)控中心的各種監(jiān)測(cè)與遙控命令,并將電源的各種狀態(tài)信息反饋給監(jiān)控中心。監(jiān)控系統(tǒng)通信模塊的設(shè)計(jì)是組建開(kāi)關(guān)電源監(jiān)控系統(tǒng)的關(guān)鍵所在,該系統(tǒng)中所設(shè)計(jì)的監(jiān)控系統(tǒng)通信模塊與計(jì)算機(jī)通信的重要特點(diǎn)是實(shí)現(xiàn)了計(jì)算機(jī)與電源的主從總線1∶N通信方式,并且采用了RS?232C和RS?485雙串行通信總線標(biāo)準(zhǔn)接口。本文所介紹的開(kāi)關(guān)電源監(jiān)控系統(tǒng)實(shí)際應(yīng)用于對(duì)作者自行研制的多臺(tái)12V,5000A電鍍用開(kāi)關(guān)電源進(jìn)行實(shí)時(shí)監(jiān)控,實(shí)現(xiàn)了由一臺(tái)計(jì)算機(jī)對(duì)多臺(tái)電鍍電源的遠(yuǎn)程監(jiān)測(cè)與遙控。2監(jiān)控系統(tǒng)通信模塊設(shè)計(jì)為了組建開(kāi)關(guān)電源監(jiān)控系統(tǒng),系統(tǒng)中的每臺(tái)電源配置了一個(gè)獨(dú)立的監(jiān)控系統(tǒng)通信模塊。監(jiān)控系統(tǒng)通信模塊采用的控制芯片是MCS?51系列單片機(jī)80C52。80C52具有8k的內(nèi)部ROM和256字節(jié)的內(nèi)部RAM。監(jiān)控系統(tǒng)通信模塊電路結(jié)構(gòu)圖如圖1所示。計(jì)算機(jī)通過(guò)該通信模塊可以實(shí)時(shí)讀取電源的輸出電壓、輸出電流值以及輸出過(guò)壓、輸入過(guò)壓、輸入欠壓、過(guò)流、過(guò)熱、運(yùn)行/停止等8路開(kāi)關(guān)量的狀態(tài)值,并可以在輸出值允許的范圍內(nèi)任意設(shè)置電源的輸出電壓、輸出電流值和復(fù)位、合閘、分閘、機(jī)控/本控4路開(kāi)關(guān)量的狀態(tài)值。從監(jiān)控系統(tǒng)通信模塊電路結(jié)構(gòu)示意圖可以看出,假如計(jì)算機(jī)要讀取電源模塊的輸出電壓、輸出電流值和開(kāi)關(guān)量的狀態(tài)時(shí),單片機(jī)收到請(qǐng)求命令后啟動(dòng)A/D轉(zhuǎn)換芯片MAX182對(duì)電源的輸出電壓、輸出電流兩路模擬量進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后的數(shù)據(jù)送入單片機(jī)進(jìn)行數(shù)據(jù)處理。同時(shí)表征電源運(yùn)行狀態(tài)的8路開(kāi)關(guān)量從雙總線收發(fā)器74LS245讀入送至單片機(jī)寄存器存貯。單片機(jī)將所有處理后的數(shù)據(jù)按預(yù)定數(shù)據(jù)傳送格式發(fā)送給計(jì)算機(jī)輸出顯示。計(jì)算機(jī)要設(shè)置電源的輸出電壓、輸出電流值和4路開(kāi)關(guān)量的狀態(tài)時(shí),計(jì)算機(jī)將設(shè)置好的數(shù)據(jù)按預(yù)定格式發(fā)送給單片機(jī)。單片機(jī)接收處理后啟動(dòng)D/A轉(zhuǎn)換芯片MAX532和輸出鎖存器74LS573將處理后的輸出電壓、輸出電流值和開(kāi)關(guān)量狀態(tài)值輸出給電源。監(jiān)控系統(tǒng)通信模塊從而實(shí)現(xiàn)了計(jì)算機(jī)對(duì)電源的實(shí)時(shí)監(jiān)控。為了保證設(shè)計(jì)人員的安全和防止通信模塊受電源影響而損壞,電源與通信模塊之間的信號(hào)傳遞均通過(guò)光耦隔離。
為了確保電源與計(jì)算機(jī)在不同應(yīng)用場(chǎng)合的準(zhǔn)確通信,該監(jiān)控系統(tǒng)通信模塊采用了RS?232C和RS?485雙串行通信總線標(biāo)準(zhǔn)接口。RS?232C是由美國(guó)電子工業(yè)協(xié)會(huì)(EIA)正式公布的、在異步串行通信中應(yīng)用最廣泛的標(biāo)準(zhǔn)總線,適于短距離或帶調(diào)制解調(diào)器的通信場(chǎng)合。其邏輯電平對(duì)地是對(duì)稱的,與TTL、MOS邏輯電平完全不同。邏輯0電平規(guī)定為+5V~+15V之間,邏輯1電平為-5V~-15V之間,模塊中采用了MAX232驅(qū)動(dòng)芯片進(jìn)行電平轉(zhuǎn)換。RS?232C標(biāo)準(zhǔn)接口的重要缺點(diǎn)是數(shù)據(jù)傳輸速率慢、傳送距離短,抗干擾能力差。模塊配備RS?232C標(biāo)準(zhǔn)接口使得任何含有串行通信口的計(jì)算機(jī)均可以實(shí)現(xiàn)和電源的通信,具有廣泛的適應(yīng)性。RS?485標(biāo)準(zhǔn)接口為差分驅(qū)動(dòng)結(jié)構(gòu),它通過(guò)傳輸線驅(qū)動(dòng)器把邏輯電平變換為電位差,完成信號(hào)的傳遞。RS?485具有傳輸速率快、傳送距離長(zhǎng)、抗干擾能力強(qiáng)等優(yōu)點(diǎn),模塊中采用了MAX485驅(qū)動(dòng)芯片進(jìn)行電平轉(zhuǎn)換。MAX485輸出的差分信號(hào)需經(jīng)RS?232與RS?485轉(zhuǎn)換模塊轉(zhuǎn)換后才能送至計(jì)算機(jī),所以所有使用RS?485與電源進(jìn)行通信的計(jì)算機(jī)必須安裝232/485轉(zhuǎn)換接口卡。本模塊配備的RS?485通信總線標(biāo)準(zhǔn)接口使得監(jiān)控系統(tǒng)通信模塊可以適用于環(huán)境干擾比較大的工業(yè)現(xiàn)場(chǎng)的長(zhǎng)距離通信。3監(jiān)控系統(tǒng)通信協(xié)議設(shè)計(jì)開(kāi)關(guān)電源監(jiān)控系統(tǒng)要實(shí)現(xiàn)一臺(tái)計(jì)算機(jī)對(duì)多臺(tái)電源的實(shí)時(shí)監(jiān)控,必須制定準(zhǔn)確的通信協(xié)議。通信協(xié)議是通信雙方為實(shí)現(xiàn)正常通信所作的約定,所制定的規(guī)則。兩進(jìn)程要相互通信,就必須遵守這些約定規(guī)則。該監(jiān)控系統(tǒng)設(shè)定的通信協(xié)議優(yōu)點(diǎn)是實(shí)現(xiàn)了一臺(tái)計(jì)算機(jī)可以同時(shí)監(jiān)控多臺(tái)電源的主從總線1∶N通信方式。在總線結(jié)構(gòu)上有一個(gè)主站、即計(jì)算機(jī),N個(gè)電源做為總線結(jié)構(gòu)上的從站。主從總線1∶N通信方式可以采用多種通信協(xié)議實(shí)現(xiàn)總線使用權(quán)的分配,本系統(tǒng)中使用的地址查詢方式,主從總線1∶N通信方式的監(jiān)控系統(tǒng)結(jié)構(gòu)示意圖如圖2所示。系統(tǒng)給每個(gè)電源分配唯一的一個(gè)地址號(hào),計(jì)算機(jī)分配一個(gè)固定的地址號(hào)。當(dāng)計(jì)算機(jī)要和某臺(tái)電源建立通信時(shí),計(jì)算機(jī)發(fā)出一個(gè)含有該電源地址號(hào)的請(qǐng)求命令包。掛在總線上的所有電源一直處于等待接收數(shù)據(jù)狀態(tài),計(jì)算機(jī)所發(fā)出的請(qǐng)求命令包將被所有的電源所接收。每個(gè)電源將接收到的請(qǐng)求命令包中所包含的電源地址號(hào)與本模塊的地址號(hào)相比較,只有地址號(hào)與計(jì)算機(jī)所發(fā)出的請(qǐng)求命令包中所包含的地址號(hào)相同的電源才與計(jì)算機(jī)建立通信,響應(yīng)計(jì)算機(jī)所發(fā)出的請(qǐng)求命令。其它地址號(hào)不相同的電源將拒絕響應(yīng)計(jì)算機(jī)的請(qǐng)求命令,繼續(xù)保持接收數(shù)據(jù)狀態(tài),等待響應(yīng)計(jì)算機(jī)發(fā)出的下一個(gè)請(qǐng)求命令包。系統(tǒng)中的這種地址查詢方式實(shí)現(xiàn)了任何時(shí)候總線上最多只有一臺(tái)電源與計(jì)算機(jī)通信,其它電源處于等待接收數(shù)據(jù)狀態(tài),從而有效地防止了總線使用權(quán)的沖突。
計(jì)算機(jī)請(qǐng)求命令包格式如圖3所示。該命令包采用的是異步通訊格式。4個(gè)字節(jié)的起始符和結(jié)束符分別用來(lái)表征命令包的開(kāi)始和結(jié)束,目的站地址就是計(jì)算機(jī)所希望建立通信的電源地址號(hào),源地址是計(jì)算機(jī)地址號(hào)。命令碼是計(jì)算機(jī)對(duì)電源所發(fā)出的命令信息,用來(lái)表征計(jì)算機(jī)發(fā)出的命令是希望讀取電源的輸出電壓、輸出電流值以及開(kāi)關(guān)量的狀態(tài)值還是希望設(shè)置電源的輸出電壓、輸出電流值以及開(kāi)關(guān)量的狀態(tài)值。校驗(yàn)碼和信息長(zhǎng)度是用來(lái)檢驗(yàn)數(shù)據(jù)傳輸是否正確、有無(wú)數(shù)據(jù)丟失的信息量。數(shù)據(jù)信息是命令包的重要部分,包含命令包所要傳送的輸出電壓、輸出電流值和開(kāi)關(guān)量的狀態(tài)值等數(shù)據(jù)信息(僅設(shè)置電源狀態(tài)命令包含有此項(xiàng),讀取電源狀態(tài)命令包不含此項(xiàng))。當(dāng)電源接收到計(jì)算機(jī)發(fā)出的請(qǐng)求命令包后,執(zhí)行完計(jì)算機(jī)命令的相關(guān)操作后必須返回計(jì)算機(jī)一個(gè)應(yīng)答數(shù)據(jù)包。電源響應(yīng)計(jì)算機(jī)的應(yīng)答數(shù)據(jù)包也采用相同的數(shù)據(jù)包格式,只不過(guò)目的站地址和源站地址分別為計(jì)算機(jī)地址號(hào)和電源自身的地址號(hào)。
4監(jiān)控系統(tǒng)軟件設(shè)計(jì)該監(jiān)控系統(tǒng)軟件設(shè)計(jì)重要由兩部分構(gòu)成,一部分是安裝在電源上的通信模塊軟件設(shè)計(jì),另一部分是用于計(jì)算機(jī)監(jiān)控的上位機(jī)軟件設(shè)計(jì)。監(jiān)控系統(tǒng)通信模塊控制芯片是80C52單片機(jī),通信模塊軟件采用匯編語(yǔ)言編寫(xiě),實(shí)現(xiàn)了數(shù)據(jù)采集、處理和與計(jì)算機(jī)通信等功能。軟件設(shè)計(jì)采用中斷查詢方式。所謂“中斷”就是計(jì)算機(jī)在執(zhí)行某一段程序的過(guò)程中,由于某種原因,有必要中止原程序的執(zhí)行,而去執(zhí)行相應(yīng)的中斷處理程序,待處理結(jié)束之后,再回來(lái)繼續(xù)執(zhí)行被中斷了的原程序。這種程序在執(zhí)行過(guò)程中由于外界的隨機(jī)原因而被中間打斷的情況即稱為“中斷”。通信模塊在未與計(jì)算機(jī)建立通信之前,主程序處于等待接收數(shù)據(jù)狀態(tài),不斷查詢外部串行口中斷。一旦計(jì)算機(jī)發(fā)出請(qǐng)求命令包,所有通信模塊接收到數(shù)據(jù)包后均進(jìn)入串行口中斷程序進(jìn)行判斷識(shí)別,只有地址號(hào)與數(shù)據(jù)包中所包含的目的站地址相同的電源才與計(jì)算機(jī)建立通信關(guān)系并解讀請(qǐng)求命令數(shù)據(jù)包,根據(jù)命令出現(xiàn)相應(yīng)的啟動(dòng)A/D、D/A或讀取開(kāi)關(guān)量、設(shè)置開(kāi)關(guān)量等操作,并返回與請(qǐng)求命令數(shù)據(jù)包格式相同的響應(yīng)數(shù)據(jù)包給計(jì)算機(jī)。通信模塊程序框圖如圖4所示。
監(jiān)控系統(tǒng)上位機(jī)軟件采用C語(yǔ)言編寫(xiě),實(shí)現(xiàn)的功能是發(fā)送監(jiān)控命令包和解讀通信模塊反饋的應(yīng)答數(shù)據(jù)包,并實(shí)時(shí)顯示反應(yīng)電源狀態(tài)的輸出電流、輸出電壓值和開(kāi)關(guān)狀態(tài)量。監(jiān)控系統(tǒng)采用主從通信方式,首先由計(jì)算機(jī)給電源發(fā)出命令請(qǐng)求數(shù)據(jù)包,用于發(fā)送讀取或設(shè)置電源狀態(tài)的命令。當(dāng)計(jì)算機(jī)發(fā)送的是讀取電源狀態(tài)命令時(shí),計(jì)算機(jī)接收到從通信模塊反饋回來(lái)的應(yīng)答數(shù)據(jù)包后,將接收到的電源輸出電壓、輸出電流值和開(kāi)關(guān)狀態(tài)量屏幕輸出顯示。為了實(shí)時(shí)更新讀取的狀態(tài)量,同樣的讀取命令包每間隔1s計(jì)算機(jī)自動(dòng)重復(fù)發(fā)送一次。當(dāng)計(jì)算機(jī)發(fā)送的是設(shè)置電源狀態(tài)命令時(shí),計(jì)算機(jī)在接收到通信模塊反饋回來(lái)的設(shè)置成功的應(yīng)答數(shù)據(jù)包后,立刻每間隔1s自動(dòng)重復(fù)發(fā)送一個(gè)讀取電源狀態(tài)的命名包,用于屏幕輸出顯示設(shè)置完成后的電源輸出電壓、輸出電流值和開(kāi)關(guān)狀態(tài)量。上位機(jī)軟件框圖如圖5所示。5結(jié)語(yǔ)本監(jiān)控系統(tǒng)已經(jīng)用于對(duì)作者自行研制的多臺(tái)12V,5000A電鍍用開(kāi)關(guān)電源進(jìn)行監(jiān)控,通過(guò)在現(xiàn)場(chǎng)與計(jì)算機(jī)的通信試驗(yàn),實(shí)際監(jiān)測(cè)和設(shè)置的各項(xiàng)參數(shù)均達(dá)到了設(shè)計(jì)指標(biāo),實(shí)現(xiàn)了集中監(jiān)控和遙測(cè)多臺(tái)電源的預(yù)定要求,運(yùn)行情況良好。
參考文獻(xiàn)
[1]侯永濤,王殿魁.電源監(jiān)控系統(tǒng)對(duì)智能電源設(shè)備基本要求的探討[J].郵電設(shè)計(jì)技術(shù).1999(7).[2]薛均義,張彥斌.單片機(jī)微型計(jì)算機(jī)及其應(yīng)用[M].西安交通大學(xué)出版社.1997.[3]邱公偉.可編程控制器網(wǎng)絡(luò)通信及其應(yīng)用[M].清華大學(xué)出版社.2000.