CAN總線在啤酒發(fā)酵過程控制系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著人們對啤酒品質(zhì)的要求越來越高,傳統(tǒng)的生產(chǎn)操作或控制方式已不再適應(yīng)當(dāng)今的生產(chǎn)規(guī)模和生產(chǎn)要求,發(fā)酵過程作為啤酒生產(chǎn)過程中至關(guān)重要的一環(huán),其控制系統(tǒng)則尤其重要。CAN總線具有結(jié)構(gòu)簡單、通信方式靈活、錯(cuò)誤檢驗(yàn)處理等特點(diǎn)尤其基于優(yōu)先權(quán)的無破壞性總線仲裁技術(shù),特別適合工業(yè)過程監(jiān)控設(shè)備的互聯(lián)。因此,針對當(dāng)前啤酒企業(yè)的設(shè)備現(xiàn)狀和生產(chǎn)需要,本文將介紹一種采用CAN總線技術(shù)進(jìn)行通信的啤酒發(fā)酵分布式控制系統(tǒng)。
圖1 現(xiàn)場智能節(jié)點(diǎn)結(jié)構(gòu)框圖
圖2 智能節(jié)點(diǎn)CAN總線接口電路
圖3 節(jié)點(diǎn)查詢發(fā)送(左)和中斷接收(右)流程
圖4 智能適配器USB—CAN硬件原理電路
控制系統(tǒng)總體結(jié)構(gòu)
基于CAN總線的啤酒發(fā)酵分布式控制系統(tǒng)由現(xiàn)場智能節(jié)點(diǎn)、監(jiān)控計(jì)算機(jī)和CAN控制網(wǎng)絡(luò)3部分構(gòu)成。
現(xiàn)場智能節(jié)點(diǎn)是直接面向生產(chǎn)過程的,主要功能是采集現(xiàn)場發(fā)酵罐的各處溫度和壓力值,按照一定的控制算法對溫度和壓力控制回路中的執(zhí)行器進(jìn)行控制操作,將現(xiàn)場發(fā)酵罐的運(yùn)行狀態(tài)信息通過CAN總線通信網(wǎng)絡(luò)送至監(jiān)控機(jī),并實(shí)時(shí)處理監(jiān)控機(jī)下傳的各種命令等。
監(jiān)控計(jì)算機(jī)由一臺PC機(jī)構(gòu)成,另外還有一臺PC機(jī)作為熱備份機(jī),一旦某臺發(fā)生故障,另一臺能立即啟動(dòng),保證控制系統(tǒng)的可靠性。監(jiān)控計(jì)算機(jī)的主要功能是:對各現(xiàn)場智能節(jié)點(diǎn)的運(yùn)行參數(shù)進(jìn)行設(shè)置;通過現(xiàn)場總線網(wǎng)絡(luò)實(shí)時(shí)獲取現(xiàn)場智能節(jié)點(diǎn)的數(shù)據(jù);監(jiān)測系統(tǒng)異常,并根據(jù)故障信息立即發(fā)出相應(yīng)的聲光報(bào)警信號;以友好的圖形界面直觀指示當(dāng)前各發(fā)酵罐的運(yùn)行狀況及參數(shù)信息;實(shí)現(xiàn)數(shù)據(jù)庫管理,分類管理保存各發(fā)酵罐的運(yùn)行數(shù)據(jù),為優(yōu)化工藝提供數(shù)據(jù)資料等。
CAN控制網(wǎng)絡(luò)部分主要由智能CAN-PC總線適配器、通信介質(zhì)、接口電路及相應(yīng)的通信軟件組成。該系統(tǒng)的CAN-PC總線適配器為智能通信適配器USB-CAN,它能方便的實(shí)現(xiàn)監(jiān)控計(jì)算機(jī)與CAN總線之間的連接,高速地完成用戶復(fù)雜的通信任務(wù)。通信介質(zhì)為雙絞線,負(fù)載連接在CAN-H和CAN-L之間,為了抑制信號反射,終端接有阻抗值約120的匹配阻抗。
現(xiàn)場智能節(jié)點(diǎn)設(shè)計(jì)
本系統(tǒng)中CAN總線接口電路主要在現(xiàn)場智能節(jié)點(diǎn)部分實(shí)現(xiàn),為了深入說明CAN總線在啤酒發(fā)酵過程控制中的應(yīng)用,下面介紹現(xiàn)場智能節(jié)點(diǎn)的總體設(shè)計(jì),并給出實(shí)現(xiàn)CAN通信的硬件電路和軟件流程圖。
現(xiàn)場智能節(jié)點(diǎn)總體結(jié)構(gòu)
如前所述,啤酒發(fā)酵過程控制系統(tǒng)中現(xiàn)場智能節(jié)點(diǎn)完成現(xiàn)場數(shù)據(jù)采集和處理、罐體上各執(zhí)行器的控制、智能節(jié)點(diǎn)與監(jiān)控計(jì)算機(jī)之間的通信等主要工作,監(jiān)控計(jì)算機(jī)只是完成狀態(tài)監(jiān)測、報(bào)警、智能節(jié)點(diǎn)運(yùn)行參數(shù)修改等工作,因此現(xiàn)場智能節(jié)點(diǎn)的設(shè)計(jì)是整個(gè)系統(tǒng)的關(guān)鍵部分。每個(gè)現(xiàn)場智能節(jié)點(diǎn)控制一圓柱錐底形發(fā)酵罐,其結(jié)構(gòu)框圖如圖1所示。
考慮到可靠性、性價(jià)比等因素,現(xiàn)場智能節(jié)點(diǎn)CPU采用MCS-51系列單片機(jī)AT89C52。智能節(jié)點(diǎn)設(shè)計(jì)采用結(jié)構(gòu)化設(shè)計(jì)方法,包括三大部分:CAN總線接口部分,CPU、看門狗電路、電源管理及總線地址譯碼部分,I/O接口部分。其中,I/O接口部分主要完成現(xiàn)場數(shù)據(jù)顯示與鍵盤輸入、現(xiàn)場信號的A/D采集和執(zhí)行器的控制輸出等工作。
現(xiàn)場智能節(jié)點(diǎn)CAN
接口電路設(shè)計(jì)
現(xiàn)場智能節(jié)點(diǎn)的設(shè)計(jì)中,CAN總線網(wǎng)絡(luò)接口部分使用了Philips公司的CAN控制器芯片SJA1000和CAN總線收發(fā)器PCA82C250芯片。為了增強(qiáng)現(xiàn)場智能節(jié)點(diǎn)的抗干擾能力,總線收發(fā)器與控制器之間用高速光耦6N137隔離,接口電路如圖2所示。
為了保證SJA1000與AT89C52之間時(shí)鐘同步,本設(shè)計(jì)采用CLKOUT時(shí)鐘信號作為AT89C52的時(shí)鐘輸入;SJA1000的接AT89C52的端,通過中斷方式與CPU通信;PCA82C250的RS腳上接有一斜率電阻,電阻大小(16~140K)可根據(jù)總線通信速率適當(dāng)調(diào)整,本設(shè)計(jì)中取值47K;PC82C250的兩輸出引腳與CAN總線之間各接一個(gè)5的電阻,起一定的限流作用,從而保護(hù)PCA82C250免受過流的沖擊;為了濾除總線上的高頻干擾并具有一定的防電磁輻射的能力,CAN-H和CAN-L與地之間并聯(lián)了兩個(gè)30pF的電容。
現(xiàn)場智能節(jié)點(diǎn)CAN
通信軟件設(shè)計(jì)
現(xiàn)場智能節(jié)點(diǎn)的CAN通信軟件設(shè)計(jì)由三大部分組成:SJA1000初始化、數(shù)據(jù)接收和發(fā)送。節(jié)點(diǎn)的主程序完成對SJA1000的初始化,開放SJA1000的中斷,控制整個(gè)發(fā)酵過程,并主動(dòng)向監(jiān)控計(jì)算機(jī)傳送發(fā)酵罐的狀態(tài)信息。
對SJA1000的初始化主要是設(shè)置CAN的通信參數(shù),如設(shè)置模式寄存儲器等。本設(shè)計(jì)中數(shù)據(jù)發(fā)送是主動(dòng)的,因而對發(fā)送的處理比較簡單,主程序采用查詢SJA1000的狀態(tài)標(biāo)識符的方法,只須把被發(fā)送的信息幀送到CAN的發(fā)送緩沖區(qū),并啟動(dòng)發(fā)送命令即可。為了保證系統(tǒng)的實(shí)時(shí)性,數(shù)據(jù)接收是通過SJA1000的中斷控制來實(shí)現(xiàn)的,在ISR中從接收緩沖區(qū)讀取要接收的信息,同時(shí)還要對出錯(cuò)和數(shù)據(jù)溢出中斷作相應(yīng)判斷處理。發(fā)送接收流程圖如圖3所示。
智能通信適配器
USB-CAN設(shè)計(jì)
系統(tǒng)中為了實(shí)現(xiàn)上位監(jiān)控PC機(jī)與下位現(xiàn)場智能節(jié)點(diǎn)間通信,必須要有一通信適配器來實(shí)現(xiàn)CAN總線與PC總線之間的通信協(xié)議轉(zhuǎn)換功能。傳統(tǒng)的網(wǎng)絡(luò)適配器設(shè)計(jì)中與PC機(jī)的通信接口多為ISA總線、RS-232等,雖然它們實(shí)現(xiàn)較簡單,可由于帶寬的限制,不能滿足高速傳輸?shù)男枰?而對于流行的PCI總線雖功能強(qiáng)大,可協(xié)議復(fù)雜,開發(fā)周期較長,不支持熱插拔且價(jià)格昂貴。USB總線具有安裝方便、高帶寬、可靠性高等特點(diǎn),因此本系統(tǒng)采用了自主開發(fā)的智能通信適配器USB-CAN來實(shí)現(xiàn)本系統(tǒng)CAN網(wǎng)絡(luò)與PC機(jī)間的通信。
智能適配器
USB-CAN硬件電路設(shè)計(jì)
適配器硬件電路由三部分組成:CAN總線接口部分、USB總線接口部分、CPU及電源管理部分。CAN總線接口部分的設(shè)計(jì)與智能節(jié)點(diǎn)CAN接口幾乎相同。CPU采用Philips公司的增強(qiáng)型MCS-51兼容單片機(jī)P89C51RD2,內(nèi)置看門狗,時(shí)鐘輸出可編程,在6時(shí)鐘模式下工作速度為標(biāo)準(zhǔn)C51單片機(jī)的兩倍。USB總線接口部分采用Philips公司的PDIUSBD12芯片,其符合USB1.1版本規(guī)范,可與任何外部微控制器/微處理器實(shí)現(xiàn)高速并行接口。硬件電路如圖4所示。
為了保證P89C51RD2、PDIUSBD12和SJA1000三者間時(shí)鐘同步,外接12MHz晶振的CPU運(yùn)行于6時(shí)鐘模式下,P1.0引腳通過編程輸出6MHz方波作為PDIUSBD12的輸入時(shí)鐘,再通過PDIUSBD12的設(shè)置模式寄存器編程使CLKOUT引腳產(chǎn)生24MHz的輸出時(shí)鐘來提供給SJA1000。PDIUSBD12的INT-N接CPU的端,通過中斷方式與CPU通信; SUSPEND引腳接CPU的P1.4端,用以向CPU指示器件是否掛起;D+引腳信號通過軟連接接1.5K的內(nèi)部上拉電阻,向主機(jī)表示為高速設(shè)備;為確定USB電纜是否與主機(jī)連接,采用EOT-N引腳檢測USB接口的VBUS電壓來實(shí)現(xiàn);由于采用多路地址/數(shù)據(jù)總線配置,故A0接高平;此外,D+和D-兩引腳各接18電阻,起到一定的限流作用,以保護(hù)PDIUSBD12免受過流的沖擊。
智能適配器
USB-CAN軟件設(shè)計(jì)
智能通信適配器USB-CAN的軟件即USB固件主要完成兩方面任務(wù):響應(yīng)來自主機(jī)的配置請求,完成對USB外設(shè)的列舉操作;負(fù)責(zé)接收主機(jī)的命令并發(fā)送給CAN總線上的節(jié)點(diǎn),以及接收各節(jié)點(diǎn)的數(shù)據(jù)并經(jīng)USB總線傳送給PC。
USB固件包括主程序、外部中斷0子程序和外部中斷1子程序。在主程序中主要完成SJA1000和PDIUSBD12的初始化操作并開放中斷;外部中斷0子程序處理CAN總線上事件,與智能節(jié)點(diǎn)對CAN總線的處理情況類似;外部中斷1子程序處理USB總線上的事件。
從整個(gè)監(jiān)控系統(tǒng)角度來看,軟件設(shè)計(jì)還包括USB設(shè)備的驅(qū)動(dòng)程序和應(yīng)用程序等,限于篇幅,在此不作闡述。
結(jié)語
具有獨(dú)特的設(shè)計(jì)思想、卓越的性能和極高的可靠性的CAN總線被公認(rèn)為是最有前途的現(xiàn)場總線之一?;?strong>CAN總線的啤酒發(fā)酵監(jiān)控系統(tǒng)具有可維護(hù)性好、易于擴(kuò)充、可靠性高和成本低等特點(diǎn),非常適合當(dāng)今啤酒企業(yè)生產(chǎn)發(fā)展現(xiàn)況。