工業(yè)以太網(wǎng)和CAN總線在污水處理系統(tǒng)中的應(yīng)用
3 CAN總線的實現(xiàn)
3.1 CAN總線硬件組成
本系統(tǒng)采用的是微處理器P89C668,外加CAN控制器SJA1000、CAN 收發(fā)器TJA1050 以及以太網(wǎng)通信控制器RTL8019AS,組成一個通信協(xié)議轉(zhuǎn)換網(wǎng)關(guān)模塊,功能模塊如圖3所示。
圖3 功能模塊圖
P89C668是本系統(tǒng)的主要控制部分,實現(xiàn)對網(wǎng)絡(luò)芯片以及CAN器件的控制,并進行兩者之間的協(xié)議轉(zhuǎn)換。CAN控制器SJA1000應(yīng)用BasicCAN工作模式,這種模式支持具有很多新特性的CAN2.0B協(xié)議,支持錯誤分析功能,對CAN收發(fā)器進行控制,為微控制器提供了控制CAN總線的簡單接口。收發(fā)器是CAN協(xié)議控制器和物理總線的接口,分別為總線和CAN控制器提供不同的傳輸和接收能力。在微控制器對CAN控制器進行相應(yīng)配置后,收發(fā)器自動完成相應(yīng)的CAN總線操作。CAN收發(fā)器和CAN控制器是通過光耦實現(xiàn)總線上各CAN節(jié)點間的光電隔離,而且光耦電路的兩個電源VCC和VDD必須采用小功率電源隔離模塊進行電源的完全隔離。以太網(wǎng)通信控制器,給微控制器提供控制以太網(wǎng)的簡單接口,使微控制器只需要對其進行相應(yīng)讀寫即可完成對以太網(wǎng)的操作。隔離濾波器用于提高網(wǎng)絡(luò)通信的抗干擾能力。
網(wǎng)關(guān)主要完成CAN總線到以太網(wǎng)的協(xié)議轉(zhuǎn)換。它由CAN控制器協(xié)議轉(zhuǎn)換模塊和以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊兩部分組成,網(wǎng)關(guān)硬件中微處理器起核心作用。CAN控制器協(xié)議轉(zhuǎn)換模塊硬件電路由三部分組成:微處理器、CAN通信控制器、CAN總線收發(fā)器。以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊主要由微處理器、以太網(wǎng)通信控制器和隔離濾波器組成。以太網(wǎng)通信控制器RTL8019AS是一種高集成度的全雙工10MbPS以太網(wǎng)控制芯片,實現(xiàn)了基于ETHERNET協(xié)議的MAC層的全部功能,完成數(shù)據(jù)包的接收和發(fā)送功能。
3.2 CAN軟件實現(xiàn)
在PCC中進行CAN I/O操作,在硬件配置中選擇CAN通信接口,在軟件配置表中配置CAN I/O屬性。定義從站的站號應(yīng)該與實際連接的硬件站號設(shè)置一致。利用CAN進行連網(wǎng)數(shù)據(jù)通信,用CANopen指令對CAN接口進行初始化。用CANopen在初始化程序中初始化CAN控制器。初始化之前,參數(shù)enable置1,設(shè)定通信速率為Baud rate,定義CAN接口參數(shù)。系統(tǒng)將反饋CAN通信接口的標(biāo)識號US—ident,此標(biāo)識號將在CAN函數(shù)庫中讀寫數(shù)據(jù)的功能塊上使用。CANwrite功能塊將數(shù)據(jù)寫在總線上,在循環(huán)任務(wù)中調(diào)用。這些數(shù)據(jù)可以通過給定的can—id號往總線上發(fā)送。
PCC的CAN幀最多可用8個字節(jié)的信息進行讀寫。這部分通過調(diào)用CAN函數(shù)庫來實現(xiàn),其中包括CANOPEN,CANWRITE,CANREAD等。CANOPEN函數(shù)包括完成對CAN總線的初始化。
需要注意的是CAN總線的初始化必須包含在初始化例程INITsP中。CANOPEN(1,BAND—RATE,COB—ANZ,ADR(ERROR—ADR),0,0,US—IDENT,STATUS)其中BAND—RATE=25,即代表波特功率為250K。US—IDENT是調(diào)用CAN初始化得到的反饋到PCC的CAN的ID,在CAN總線的讀寫過程都將用到該參數(shù)。CAN總線的寫信息通過在優(yōu)先級較高的進程中采用CANWRITE函數(shù),其函數(shù)參數(shù)定義如下:CANWRITE(ENABLE,US—IDENT,CAN— ID,DATA— ADR,DATA— LNG,STATUS),enable=1,US—idenf為在CANopen()初始化中建立的US—idenf。CAN—id為數(shù)據(jù)目標(biāo)CAN模塊有關(guān)的CAN數(shù)據(jù)楨的ID。DATE—ADR為發(fā)送數(shù)據(jù)模塊的首地址。DATA—LNG為發(fā)送的數(shù)據(jù)長度。其最大值為8。如果以CAN—ID為幀地址數(shù)據(jù)被成功發(fā)送則status:0,反之sta.tus=錯誤代碼。
系統(tǒng)的結(jié)構(gòu)框圖如圖4所示。
圖4 CAN總線結(jié)構(gòu)框圖
4 系統(tǒng)軟件實現(xiàn)和上位組態(tài)
4.1 軟件編程
下位PCC的網(wǎng)絡(luò)組態(tài)和硬件配置及編程全部在B&R編程工具中完成,它全面支持全集成自動化功能,可將數(shù)據(jù)管理、通信、編程同時集成在一個環(huán)境中去完成。應(yīng)用這種便利的方法,在完成對三個站點的網(wǎng)絡(luò)組態(tài)和通信連接后,進行編程調(diào)試,實現(xiàn)了各個站的控制要求。
貝加萊PCC控制器采用分時多任務(wù)操作系統(tǒng)和多樣化的應(yīng)用軟件的設(shè)計,是基于多任務(wù)環(huán)境下設(shè)計程序,采用大型應(yīng)用軟件的模塊化設(shè)計思想,應(yīng)用程序的運行周期則與程序長短無關(guān),而是由操作系統(tǒng)的循環(huán)周期決定。其系統(tǒng)軟件使用AutomationStudio編程語言,包括:常規(guī)PLC使用的指令表語言如梯形圖、結(jié)構(gòu)文本、SQF、指令表,而且還支持高級語言如BASIC語言和C語言 ,使開發(fā)人員可以很好的選擇自己熟悉的編程方法。本系統(tǒng)使用高級語言C進行編程,其運算時間快,而且容易實現(xiàn)模塊化編程,可以使控制更加快速和精確,以達到更好的控制目標(biāo)。
4.2 控制系統(tǒng)上位機設(shè)計
上位機軟件采用組態(tài)王貝加萊專用版Kingview for B&R 1.0,除具有組態(tài)王6.53所具備的功能外,還具有以下特點:(1)以驅(qū)動的方式支持貝加萊所有的產(chǎn)品;(2)支持冗余服務(wù)器、冗余CPU、冗余網(wǎng)絡(luò);(3)支持自動上載PCC中的變量;(4)支持結(jié)構(gòu)體和數(shù)組變量類型。
為過程控制和現(xiàn)場監(jiān)控開發(fā)的監(jiān)控系統(tǒng)軟件。在組態(tài)時充分利用其強大的上下位全集成功能,大大節(jié)約了開發(fā)時問并增強了系統(tǒng)的透明訪問度。在利用上位工具組態(tài)王實現(xiàn)主要功能如下,(1)監(jiān)視功能:全面實時顯示各工藝參數(shù)值和各設(shè)備當(dāng)前狀態(tài),以及故障報警、報表等。(2)調(diào)節(jié)功能:對各調(diào)節(jié)閥進行手/自動調(diào)節(jié)以及對工藝參數(shù)的設(shè)定等功能。
主控界面的組態(tài)由于系統(tǒng)設(shè)備較多,需要將系統(tǒng)流程及設(shè)備操作界面分別呈現(xiàn)在多張畫面內(nèi)。畫面問的切換使用組態(tài)王內(nèi)部按鈕的鼠標(biāo)動作來實現(xiàn)。
5 結(jié)束語
該系統(tǒng)針對污水處理自動控制系統(tǒng),采用工業(yè)以太網(wǎng)和CAN縱向集成的技術(shù),主要介紹了CAN總線的實現(xiàn),總線與工業(yè)以太網(wǎng)之間的協(xié)議轉(zhuǎn)換。充分利用貝加萊PCC編程靈活,可靠性高與CAN總線充分結(jié)合,將以太網(wǎng)進一步延伸到工業(yè)現(xiàn)場級,使控制系統(tǒng)結(jié)構(gòu)具有最大的開放性、互操作性和實時性。在完全達到技術(shù)要求的基礎(chǔ)之上,為以后的擴展和升級留下足夠的空間,系統(tǒng)已經(jīng)應(yīng)用于蘭州某縣污水處理廠,功能完善、運行穩(wěn)定、自動化程度高,完全滿足其控制要求,各站運行平穩(wěn),各方面性能都得到廠方的好評。
評論