基于CAN總線的分布式監(jiān)控系統(tǒng)智能節(jié)點(diǎn)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
1 引言
現(xiàn)場(chǎng)總線控制系統(tǒng)(FCS)是繼直接數(shù)字控制(DDC)、集散控制系統(tǒng)(DCS)之后的一種新型的控制系統(tǒng),是一種全開(kāi)放、全數(shù)字、多點(diǎn)通信的底層控制網(wǎng)絡(luò),具有全分散性控的體系結(jié)構(gòu)[1]。其顯著特點(diǎn)是通過(guò)開(kāi)放性總線把現(xiàn)場(chǎng)設(shè)備連接成網(wǎng)絡(luò),各智能設(shè)備能夠完成自動(dòng)控制和運(yùn)行狀態(tài)的自行診斷,并且能夠通過(guò)總線實(shí)現(xiàn)設(shè)備之間的通信,從而簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),提高了可靠性。CAN(Controller Area Network)總線,又稱控制器局域網(wǎng),是一種有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò)。由于其高性能、高可靠性、及獨(dú)特的設(shè)計(jì)和適宜的價(jià)格而廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)控制、智能樓宇、醫(yī)療器械、交通工具以及傳感器等領(lǐng)域,并已被公認(rèn)為幾種最有前途的現(xiàn)場(chǎng)總線之一。傳統(tǒng)的集散型控制系統(tǒng)(DCS)存在系統(tǒng)不開(kāi)放、硬件投資大、布線復(fù)雜、維修不便的缺點(diǎn),具有明顯的局限性。本文給出了一種基于CAN總線的智能節(jié)點(diǎn)軟硬件的設(shè)計(jì)方案,應(yīng)用于潛水電機(jī)分布式監(jiān)控系統(tǒng)中。
2 系統(tǒng)整體方案設(shè)計(jì)
圖1 分布式監(jiān)控系統(tǒng)總體結(jié)構(gòu)
整個(gè)系統(tǒng)由監(jiān)控計(jì)算機(jī)、PC-CAN適配卡、智能監(jiān)控節(jié)點(diǎn)(n<110)、CAN總線網(wǎng)絡(luò)組成,其系統(tǒng)結(jié)構(gòu)如圖1所示。分布在現(xiàn)場(chǎng)的監(jiān)控節(jié)點(diǎn)可以獨(dú)立對(duì)電機(jī)進(jìn)行智能控制和保護(hù);監(jiān)控計(jì)算機(jī)可以通過(guò)CAN總線網(wǎng)和各個(gè)控制節(jié)點(diǎn)之間進(jìn)行實(shí)時(shí)通信,從而實(shí)現(xiàn)潛水電泵機(jī)組的分散控制和集中監(jiān)管。
監(jiān)控系統(tǒng)中的控制節(jié)點(diǎn)由CAN控制器、CAN收發(fā)器和外圍電路(如:光耦隔離、I2C、LED顯示等)組成。監(jiān)控計(jì)算機(jī)可以選用普通PC或工控機(jī)IPC 。PC-CAN適配卡用來(lái)完成CAN總線和監(jiān)控計(jì)算機(jī)之間的協(xié)議轉(zhuǎn)換,可以選用PCI總線適配卡、ISA總線適配卡或RS232串行通信適配器。各個(gè)控制節(jié)點(diǎn)之間通過(guò)屏蔽雙絞線互聯(lián)構(gòu)成CAN總線網(wǎng)絡(luò),總線兩端連接120Ω的阻抗匹配電阻,用來(lái)提高系統(tǒng)的穩(wěn)定性、增強(qiáng)系統(tǒng)的抗干擾能力。
3 監(jiān)控節(jié)點(diǎn)的硬件設(shè)計(jì)
目前,市場(chǎng)上有兩種CAN總線器件可以選擇:一種是片內(nèi)集成CAN的微控制器,如P8XC591/2、87C196CA/CB、MC68376 等;另一種是獨(dú)立的CAN控制器,如控制Philips公司的SJA1000、82C200、, Intel公司的82526、以及Microchip公司的MCP2510等,但是獨(dú)立的CAN控制芯片需要外接一個(gè)微處理器才能運(yùn)行。本文設(shè)計(jì)中選用的是Philips公司的帶有在片CAN控制器的P87C591微型控制器,這樣大大簡(jiǎn)化了節(jié)點(diǎn)的硬件電路設(shè)計(jì),減少了程序的復(fù)雜程度,提高系統(tǒng)的可靠性。
3.1監(jiān)控節(jié)點(diǎn)的構(gòu)成
監(jiān)控節(jié)點(diǎn)硬件電路設(shè)計(jì)上采用了模塊化結(jié)構(gòu),由微控制器、CAN通信模塊、傳感器組件、數(shù)據(jù)采集模塊、電機(jī)控制模塊、LED顯示模塊、現(xiàn)場(chǎng)設(shè)置模塊組成,其整體結(jié)構(gòu)如圖2所示。根據(jù)具體情況可以只選用其中的部分模塊。例如:可以去掉顯示模塊和現(xiàn)場(chǎng)設(shè)置模塊,利用監(jiān)控計(jì)算機(jī)實(shí)現(xiàn)數(shù)據(jù)顯示和參數(shù)設(shè)置的功能。在單機(jī)運(yùn)行時(shí),可以不使用CAN通信模塊。
圖2 監(jiān)控節(jié)點(diǎn)結(jié)構(gòu)框圖
3.2監(jiān)控節(jié)點(diǎn)的功能
監(jiān)控節(jié)點(diǎn)各個(gè)組成部分的功能如下:
(1)傳感器組件:用來(lái)檢測(cè)潛水電機(jī)的運(yùn)行狀況,包括:溫度傳感器、電流互感器、液位傳感器。分別用來(lái)檢測(cè)電機(jī)三相定子的溫度、三相主電流、和電泵腔內(nèi)的水位,可以有效的監(jiān)測(cè)潛水電機(jī)的過(guò)流、過(guò)熱、缺相、短路、滲漏等異?,F(xiàn)象。
(2)數(shù)據(jù)采集模塊:將傳感器采集到的模擬信號(hào)轉(zhuǎn)變?yōu)閿?shù)字信號(hào)并通過(guò)多路模擬開(kāi)關(guān)送入微控制器,CPU得到電機(jī)定子溫度、電流、液位信息做出相應(yīng)的判斷,并送至不同的子程序進(jìn)行相應(yīng)的處理。
(3)電機(jī)控制模塊:CPU判斷電機(jī)定子溫度、電流、液位中的任一項(xiàng)值超出正常值范圍時(shí),都會(huì)通過(guò)SSR(過(guò)零觸發(fā)型交流固態(tài)繼電器)觸發(fā)相應(yīng)的異常處理電路,使電機(jī)得到保護(hù)。
(4)LED顯示模塊:采用基于I2C總線的顯示技術(shù),通過(guò)LED數(shù)碼管實(shí)時(shí)顯示電機(jī)運(yùn)行過(guò)程中定子的溫度和電流值。并可以在設(shè)置模式下顯示待定置參數(shù)的當(dāng)前值。當(dāng)電機(jī)出現(xiàn)非正常停機(jī)時(shí)發(fā)光二極管可以指示出故障的類型,方便檢查處理。
(5)CAN通信模塊:CAN總線通信接口電路主要由P87C591的片內(nèi)CAN驅(qū)動(dòng)器SJA1000、6N137高速光隔、CAN收發(fā)器 PCA82C250組成。P87C591完成CAN協(xié)議的應(yīng)用層功能,SJA1000完成物理層和數(shù)據(jù)鏈路層的功能。PCA82C250提供了對(duì)總線差動(dòng)發(fā)送和接受數(shù)據(jù)的功能,有效的提高了總線的抗干擾能力,實(shí)現(xiàn)了保護(hù)總線、降低射頻干擾等功能。6N137隔離控制電路和收發(fā)器電路,能夠有效地抑制由總線引入的干擾,進(jìn)一步提高了系統(tǒng)的可靠性。
(6)現(xiàn)場(chǎng)設(shè)置模塊:采用基于8255的鍵盤(pán)和基于X25045的E2PROM,實(shí)現(xiàn)節(jié)點(diǎn)工作參數(shù)現(xiàn)場(chǎng)設(shè)定能。X25045存儲(chǔ)報(bào)警電流、停機(jī)電流、報(bào)警溫度、停機(jī)溫度、節(jié)點(diǎn)地址、波特率等信息。這些參數(shù)都可以通過(guò)按鍵進(jìn)行設(shè)置。除了節(jié)點(diǎn)地址外,其它的參數(shù)也可以通過(guò)監(jiān)控計(jì)算機(jī)設(shè)置。
4 監(jiān)控節(jié)點(diǎn)的軟件設(shè)計(jì)
4.1軟件設(shè)計(jì)的總體結(jié)構(gòu)
與節(jié)點(diǎn)硬件設(shè)計(jì)相一致,軟件設(shè)計(jì)也遵循模塊化的設(shè)計(jì)原則,使控制軟件具有易讀、易擴(kuò)展和易維護(hù)的優(yōu)點(diǎn)。通過(guò)C51語(yǔ)言編寫(xiě)相應(yīng)的軟件模塊實(shí)現(xiàn)上述監(jiān)控節(jié)點(diǎn)的各種功能。軟件的各功能模塊之間通過(guò)入口和出口參數(shù)相互聯(lián)系,組合靈活且方便,減少了調(diào)試時(shí)間,縮短了開(kāi)發(fā)周期。監(jiān)控節(jié)點(diǎn)的軟件設(shè)計(jì)流程如圖 3所示。
圖3 監(jiān)控節(jié)點(diǎn)軟件設(shè)計(jì)流程圖
4.2監(jiān)控節(jié)點(diǎn)通信程序設(shè)計(jì)
監(jiān)控節(jié)點(diǎn)的通信采用CAN總線2.0A協(xié)議,通信模塊的軟件設(shè)計(jì)主要由初始化程序、發(fā)送程序、接收程序三部分組成。其中初始化程序是實(shí)現(xiàn)通信的關(guān)鍵,它主要用來(lái)完成CAN控制器工作方式的選擇,即對(duì)P87C591中CAN控制器控制段中的寄存器進(jìn)行設(shè)置,包括:總線定時(shí)寄存器和輸出控制寄存器設(shè)置;接收驗(yàn)收濾波寄存器和濾波屏蔽寄存器設(shè)置;設(shè)置發(fā)送數(shù)據(jù)幀類型(標(biāo)準(zhǔn)幀或擴(kuò)展幀)、標(biāo)識(shí)符、數(shù)據(jù)長(zhǎng)度。初始化過(guò)程是在CAN控制器復(fù)位模式下完成的.[!--empirenews.page--]