新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于CAN總線的燒結配料監(jiān)控系統(tǒng)設計

基于CAN總線的燒結配料監(jiān)控系統(tǒng)設計

作者: 時間:2016-09-12 來源:網絡 收藏

1 引言

本文引用地址:http://butianyuan.cn/article/201609/303487.htm

燒結廠配料系統(tǒng)是整個燒結生產的源頭,配料過程中對現場采集的數據進行有效的收集與傳輸直接影響著燒結生產的產量和質量,影響企業(yè)的勞動生產率和經濟效益,而現場環(huán)境有大量的變頻器和電機設備并且布線與通信總線比較接近,這些設備在運行時會產生比較大的噪聲作用于周邊的信號線上,引起設備的誤動作[1],嚴重影響了對現場信號傳輸的實時性、精確性。

本文針對燒結混合配料系統(tǒng)的以上問題,設計開發(fā)了一套基于CAN總線的。CAN總線通信與其他總線相比信號傳輸的快速實時性更高、抗干擾更強、可靠性更高,組網靈活從而保證配料精度和穩(wěn)定性。

2 整體概述

2.1 整體概述

系統(tǒng)由1個PC機,1個主控制器和16個配料控制器組成。它們之間采用CAN總線連接如圖1所示。主控制器的主要作用對所有配料控制器進行全局的調動,如控制配料控制器的順啟,順停和急停。配料控制器的主要作用是采集皮帶秤的重量信號和給料裝置的速度信號,通過PID運算得出相應輸出頻率信號到變頻器,再由變頻器去調節(jié)給料裝置電機的轉速,從而使得物料的流量保持在設定的范圍內。由于電子秤配料現場環(huán)境復雜,基本的PID很難達到控制要求,如采用一般的PID算法,在開始配料或停止配料的瞬間和大幅度增加給定值時,由于偏差較大,在積分項的作用下,將會產生很大的超調,因此根據具體情況在基本 PID控制的基礎上進行局部改進,采用積分分離PID控制算法。PC機通過監(jiān)控畫面的運行,主要負責各個配料控制器的參數設定、實時流量和累計流量顯示、運行狀態(tài)顯示以及實時、歷史數據查詢等,并通過CAN總線與主控制器及各個配料控制器連接實現協同工作,完成對燒結配料的自動控制。

1.jpg

2.2 控制器設計

主控制器和16個配料控制器均選用意法半導體公司的STM32系列高性能32位處理器STM32F103ZET6,配料控制器使用STM32的ADC、 DMA外設采集速度傳感器的速度信號和重量傳感器的重量信號,使用DAC、DMA和TIM等外設控制輸出0~3.3V電壓,然后輸入到變頻器的模擬量輸入端子,0~3.3V電壓對應于變頻器輸出的0~50Hz,最終實現不同的電機轉速,即皮帶傳送速度的調節(jié)。主控制器主要使用CAN外設和配料控制器和上位機進行通信進行全局的調動。

3通信協議設計

CAN(Controller Area Network)是一種有效支持分布式控制或實時控制的串行通信網絡[2],CAN總線與其他總線相比技術優(yōu)勢明顯,與RS485總線對比分析如下:

3.1 SAE J1939通信協議

本系統(tǒng)通信協議的定制是參照SAE J1939-21協議標準制定的,該標準采用CAN2.0B幀格式,即擴展幀格式包含29位標識符[3]。

3.2 協議制定

PC機處理的信息主要有接收并顯示各個配料控制器的流量值及狀態(tài)信息,配料控制器的參數設置信息等;主控制器處理的信息是控制各個配料控制器順啟、順停和急停等信息;配料控制器處理的信息有給定流量信息,實時流量信息、當前狀態(tài)信息及PC機下設參數信息等。配料控制器發(fā)送的信息協議制定如表1所示(下表僅為整個協議的一部)。

4 設計

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

2.jpg

4.1 VCI庫函數的調用

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

1.jpg

4.2 數據結構的建立

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

2.jpg

4.3 USBCAN模塊的控制及程序框圖

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

3.jpg

圖5 控制程序框圖

4.4 CAN報文的數據處理及程序框圖


上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉