基于CAN總線(xiàn)的燒結配料監控系統設計
1 引言
本文引用地址:http://dyxdggzs.com/article/201609/303487.htm燒結廠(chǎng)配料系統是整個(gè)燒結生產(chǎn)的源頭,配料過(guò)程中對現場(chǎng)采集的數據進(jìn)行有效的收集與傳輸直接影響著(zhù)燒結生產(chǎn)的產(chǎn)量和質(zhì)量,影響企業(yè)的勞動(dòng)生產(chǎn)率和經(jīng)濟效益,而燒結配料現場(chǎng)環(huán)境有大量的變頻器和電機設備并且布線(xiàn)與通信總線(xiàn)比較接近,這些設備在運行時(shí)會(huì )產(chǎn)生比較大的噪聲作用于周邊的信號線(xiàn)上,引起設備的誤動(dòng)作[1],嚴重影響了對現場(chǎng)信號傳輸的實(shí)時(shí)性、精確性。
本文針對燒結混合配料系統的以上問(wèn)題,設計開(kāi)發(fā)了一套基于CAN總線(xiàn)的燒結配料監控系統。CAN總線(xiàn)通信與其他總線(xiàn)相比信號傳輸的快速實(shí)時(shí)性更高、抗干擾更強、可靠性更高,組網(wǎng)靈活從而保證配料精度和穩定性。
2 整體概述
2.1 整體概述
本燒結配料系統由1個(gè)PC機,1個(gè)主控制器和16個(gè)配料控制器組成。它們之間采用CAN總線(xiàn)連接如圖1所示。主控制器的主要作用對所有配料控制器進(jìn)行全局的調動(dòng),如控制配料控制器的順啟,順停和急停。配料控制器的主要作用是采集皮帶秤的重量信號和給料裝置的速度信號,通過(guò)PID運算得出相應輸出頻率信號到變頻器,再由變頻器去調節給料裝置電機的轉速,從而使得物料的流量保持在設定的范圍內。由于電子秤配料現場(chǎng)環(huán)境復雜,基本的PID很難達到控制要求,如采用一般的PID算法,在開(kāi)始配料或停止配料的瞬間和大幅度增加給定值時(shí),由于偏差較大,在積分項的作用下,將會(huì )產(chǎn)生很大的超調,因此根據具體情況在基本 PID控制的基礎上進(jìn)行局部改進(jìn),采用積分分離PID控制算法。PC機通過(guò)監控畫(huà)面監控系統的運行,主要負責各個(gè)配料控制器的參數設定、實(shí)時(shí)流量和累計流量顯示、運行狀態(tài)顯示以及實(shí)時(shí)、歷史數據查詢(xún)等,并通過(guò)CAN總線(xiàn)與主控制器及各個(gè)配料控制器連接實(shí)現協(xié)同工作,完成對燒結配料的自動(dòng)控制。

2.2 控制器設計
主控制器和16個(gè)配料控制器均選用意法半導體公司的STM32系列高性能32位處理器STM32F103ZET6,配料控制器使用STM32的ADC、 DMA外設采集速度傳感器的速度信號和重量傳感器的重量信號,使用DAC、DMA和TIM等外設控制輸出0~3.3V電壓,然后輸入到變頻器的模擬量輸入端子,0~3.3V電壓對應于變頻器輸出的0~50Hz,最終實(shí)現不同的電機轉速,即皮帶傳送速度的調節。主控制器主要使用CAN外設和配料控制器和上位機進(jìn)行通信進(jìn)行全局的調動(dòng)。
3 CAN總線(xiàn)通信協(xié)議設計
CAN(Controller Area Network)是一種有效支持分布式控制或實(shí)時(shí)控制的串行通信網(wǎng)絡(luò )[2],CAN總線(xiàn)與其他總線(xiàn)相比技術(shù)優(yōu)勢明顯,與RS485總線(xiàn)對比分析如下:
3.1 SAE J1939通信協(xié)議
本系統通信協(xié)議的定制是參照SAE J1939-21協(xié)議標準制定的,該標準采用CAN2.0B幀格式,即擴展幀格式包含29位標識符[3]。
3.2 協(xié)議制定
PC機處理的信息主要有接收并顯示各個(gè)配料控制器的流量值及狀態(tài)信息,配料控制器的參數設置信息等;主控制器處理的信息是控制各個(gè)配料控制器順啟、順停和急停等信息;配料控制器處理的信息有給定流量信息,實(shí)時(shí)流量信息、當前狀態(tài)信息及PC機下設參數信息等。配料控制器發(fā)送的信息協(xié)議制定如表1所示(下表僅為整個(gè)協(xié)議的一部)。

4 監控系統設計
監控系統軟件采用Labview開(kāi)發(fā),硬件部分包括PC機和周立功的USBCAN模塊,Virtual CAN Interface (VCI)函數庫是專(zhuān)門(mén)為USBCAN設備在PC上使用而提供的應用程序接口[4]。函數庫中共定義了5個(gè)數據結構用于數據交換。另外,函數庫里共有用戶(hù)函數14個(gè),函數名稱(chēng)參看圖5。庫里的函數從ControlCAN.dll中導出,在 LabVIEW8.5中直接使用這些庫函數編寫(xiě)上位機程序。VCI 函數的使用流程如圖2所示。

4.1 VCI庫函數的調用
庫里的函數已經(jīng)在VCI函數庫中進(jìn)行了聲明,并且給出了函數名稱(chēng)及其參數,因此在調用函數時(shí)可以通過(guò)Labview中的Calling Library Function Node進(jìn)行調用,如圖3所示。在“函數名”下拉列表框中選擇函數,在“參數”選項卡中添加相應的參數,單擊“確定”按鈕,即可完成不同函數的調用。

4.2 數據結構的建立
在使用V CI函數時(shí)要用到庫中的5個(gè)數據結構進(jìn)行數據交換。創(chuàng )建這些結構要使用Labview中的“簇”。一個(gè)簇就是一個(gè)由若干不同的數據類(lèi)型成員組成的集合體。例如建立VCI_ERR_INFO數據結構,如圖4,該數據結構用于裝載VCI庫運行時(shí)產(chǎn)生的錯誤信息。

4.3 USBCAN模塊的控制及程序框圖
程序框圖當中有3個(gè)主要的While循環(huán):主循環(huán)、發(fā)送數據循環(huán)和接收數據循環(huán)。如圖5所示。這三個(gè)循環(huán)是并行運行的。其中,主循環(huán)處理與用戶(hù)交互的界面,并通過(guò)用戶(hù)事TREvent 與發(fā)送數據循環(huán)和接收數據循環(huán)通信。發(fā)送數據采取手動(dòng)方式, 當設定按鈕按下時(shí), 配料控制器給定的流量,PID參數,控制器選中和開(kāi)啟等信息,將通過(guò) VCI_TransmitObj 函數發(fā)送給STM32。接收端采用循環(huán)掃描的方式接收STM32發(fā)送過(guò)來(lái)的數據, 該數據包括配料控制器實(shí)時(shí)流量,累計流量,當前工作狀態(tài),主控制器工作狀態(tài)等信息。

圖5 控制程序框圖
4.4 CAN報文的數據處理及程序框圖
評論