彭清祥,吳罕奇,王劍波
(三一重工股份有限公司,湖南 長沙 410100)
稱量系統(tǒng)是混凝土攪拌站最重要的系統(tǒng)之一,稱量儀表負(fù)責(zé)實現(xiàn)稱量系統(tǒng)的重量控制、數(shù)據(jù)收發(fā)和換算、數(shù)據(jù)顯示以及配料參數(shù)。本文基于C8051F040 單片機(jī)設(shè)計了一種具備顯示、參數(shù)設(shè)置、配料控制、數(shù)據(jù)收發(fā)功能的稱量儀表。稱量儀表采用CAN 總線實現(xiàn)和攪拌站上位機(jī)的數(shù)據(jù)通信,并分析了數(shù)據(jù)通信中需關(guān)注的事項,給出了相應(yīng)的解決方法。
混凝土攪拌站一般有多個物料需要計量和配比,本文以8 種物料系統(tǒng)為例,稱量系統(tǒng)如圖1所示。攪拌站每個稱附近部署數(shù)據(jù)采集器,數(shù)據(jù)采集器采集傳感器信號,轉(zhuǎn)換為數(shù)字量通過CAN總線傳輸給儀表,儀表和數(shù)據(jù)采集器之間通過設(shè)置的固定ID 號一一對應(yīng)。儀表收到數(shù)據(jù)采集器采集的信號,根據(jù)m=kx+b得到重量值,其中m為重量、k為通過校稱得到的比例系數(shù)、b為通過校稱得到的零點值,x為儀表收到的數(shù)據(jù)采集器的采集值。通過計算得到的重量值和上位機(jī)下發(fā)的目標(biāo)值的對比結(jié)果控制進(jìn)料和卸料。稱量儀表通過CAN 總線給上位機(jī)傳輸稱量過程中的各個狀態(tài)量以及重量值,由上位機(jī)進(jìn)行數(shù)據(jù)記錄、打印和狀態(tài)監(jiān)測。
稱量儀表具備4 個按鍵、兩行數(shù)碼管顯示;4 種物料、進(jìn)、卸料門輸出控制,輸入信號主要為啟動稱量信號,具備CAN 通信、參數(shù)設(shè)置及存儲功能,稱量儀表組成如圖2 所示。
圖2 稱量儀表組成框圖
Cygnal 公司的51 系列單片機(jī)C8051F040 芯片上有1 個12 位多通道ADC,2 個12 位DAC,2 個電壓比較器,1 個電壓基準(zhǔn),1 個32kB 的FLASH 存儲器,與MCS-51 指令集完全兼容的高速CIP-51 內(nèi)核,峰值速度可達(dá)25MIPS,并且還有硬件實現(xiàn)的UART 串行接口和完全支持CAN2.0A 和CAN2.0B 的CAN 控制器,可支持20 個中斷源。C8051F040 作為稱量儀表的主控制芯片,外部通過連接符合ISO11898 標(biāo)準(zhǔn)的CAN收發(fā)器芯片TJA1050 實現(xiàn)CAN 總線通信;通過連接HD7279 芯片實現(xiàn)數(shù)碼管的驅(qū)動和顯示,上排數(shù)碼管顯示當(dāng)前重量值,下排數(shù)碼管顯示配比目標(biāo)值。輸入開關(guān)量信號主要有啟動配料信號和面板開關(guān)的按鍵信號;通過面板開關(guān)的按鍵可以設(shè)置稱量儀表ID 號、最大量程、提前量等參數(shù),也可以實現(xiàn)校稱、手動進(jìn)/卸料等功能。輸出開關(guān)量信號主要為4 種物料控制、進(jìn)料、卸料、蜂鳴器控制信號。電源輸入為24VDC,通過電源芯片LM2596-5V 芯片變換為5VDC,為儀表其余電子器件提供5VDC 電源;采用AMS1117-3.3V電源芯片將5VDC 電源變換為3.3V 電源,給C8051F040 供電。晶振采用16M 有源晶振,通過外置看門狗電路確保系統(tǒng)運行的安全性。
稱量儀表可以控制4 種物料的配料,輸入開關(guān)量為啟動配料信號(IN),高電平有效;輸出開關(guān)量分別為物料1 的進(jìn)料控制信號(M1)、物料2 的進(jìn)料控制信號(M2)、物料3 的進(jìn)料控制信號(M3)、物 料4 的進(jìn)料控制信號(M4)、快進(jìn)料門信號(COARSE)、精進(jìn)料門信號(FINE)、卸料控制信號(DISCH),有效時為低通,無效時高阻狀態(tài)。如圖3所示,每個物料的目標(biāo)值由總值、精進(jìn)料值、提前量值組成,其中提前量為進(jìn)料門到稱斗之間的落差值。稱量儀表收到啟動信號后,開始根據(jù)目標(biāo)值進(jìn)行配料,在實際重量<(總值-精進(jìn)料值)時,快進(jìn)料門和精進(jìn)料門同時打開,快速進(jìn)料;當(dāng)(總值-精進(jìn)料值)≤實際重量<(總值-提前量)關(guān)閉快進(jìn)料門,由精進(jìn)料門實現(xiàn)精進(jìn)料;當(dāng)(總值-提前量)≤實際重量時,關(guān)閉精進(jìn)料門,完成進(jìn)料過程,等待卸料條件滿足后,打開卸料門,完成進(jìn)卸料整個流程。
圖3 稱量儀表配料過程
稱量儀表在運行過程中通過CAN 總線和數(shù)據(jù)采集器及上位機(jī)進(jìn)行通信,通過CAN 接收數(shù)據(jù)采集器發(fā)送的數(shù)據(jù)。為有效降低總線負(fù)載率,需要不斷向上位機(jī)發(fā)送的變量,通過定時中斷定時發(fā)送的方式來替代上位機(jī)詢問-儀表應(yīng)答方式。定時中斷采用定時器2,C8051F040 內(nèi)部有擴(kuò)展的CAN 中斷,2 個中斷方式詳細(xì)參數(shù)如表1 所示。
表1 稱量儀表使用的中斷列表
本誠聯(lián)儀表中外部晶振為16MHz,CAN 通信速率為250k/s,得到BITREG 的初始值為0x1c01。CAN 啟動程序略。
稱量儀表通過CAN 總線接收上位機(jī)配比和參數(shù)設(shè)定值、狀態(tài)查詢指令,向上位機(jī)發(fā)送重量值、實際參數(shù)以及配料過程值,數(shù)據(jù)內(nèi)容如表2所示。其中TYPE1、TYPE2 的定義如表3 所示。稱量儀表向PC 發(fā)送的狀態(tài)、進(jìn)程數(shù)據(jù),數(shù)據(jù)定義如表4 所示。
表2 稱量儀表發(fā)送參數(shù)、配比數(shù)據(jù)幀定義
表3 參數(shù)、配比數(shù)據(jù)幀數(shù)據(jù)索引定義
表4 稱量儀表發(fā)送狀態(tài)、進(jìn)程數(shù)據(jù)定義
其中TYPE1、TYPE2 的定義如表5 所示。
表5 狀態(tài)、進(jìn)程數(shù)據(jù)索引定義
上位機(jī)需要記錄每種物料的配比值、實際重量值,其中實際重量值的記錄是在收到稱量儀表的卸料信號時開始記錄。在稱量儀表實際使用過程中,出現(xiàn)上位機(jī)實際重量值記錄為零的現(xiàn)象。經(jīng)過分析稱量儀表程序,發(fā)現(xiàn)引起該現(xiàn)象的原因為在稱量儀表向上位機(jī)發(fā)送數(shù)據(jù)時,未關(guān)閉CAN中斷,導(dǎo)致發(fā)送時進(jìn)入CAN 中斷,實際重量值在CAN 中斷中更新為零,中斷程序執(zhí)行完后回到發(fā)送程序,發(fā)送的變量進(jìn)行了改變,因此在發(fā)送過程中需關(guān)閉CAN 中斷。
CAN報文發(fā)送是由CAN控制器自動完成的,用戶只需將對應(yīng)的數(shù)據(jù)轉(zhuǎn)移到發(fā)送緩沖寄存器,然后將此報文對象的編碼寫入命令請求寄存器啟動發(fā)送即可。
CAN 報文的接收采用中斷方式。CAN 中斷程序中首先需關(guān)閉CAN 中斷,為規(guī)避發(fā)送時實際重量值非正常變更,進(jìn)入中斷后先關(guān)閉CAN中斷,并在發(fā)送過程中設(shè)置中斷標(biāo)識位,中斷處理程序略。
基于C8051F040 的稱量儀表已大批量在混凝土攪拌站上進(jìn)行了應(yīng)用,通過CAN 總線的應(yīng)用,有效地降低了現(xiàn)場線束的復(fù)雜度。在前期使用過程中,CAN 發(fā)送程序中未關(guān)閉CAN 中斷,采用CANoe 分析工具進(jìn)行模擬分析如圖4 所示,通過CANoe 發(fā)送大量干擾幀數(shù)據(jù),發(fā)現(xiàn)稱量儀表向上位機(jī)發(fā)送的數(shù)據(jù)發(fā)生突變,驗證了在發(fā)送時未關(guān)閉CAN中斷會導(dǎo)致稱量儀表發(fā)送的數(shù)據(jù)突變現(xiàn)象。
圖4 整改前干擾情況下發(fā)送數(shù)據(jù)情況
通過整改后,同等條件下,通過CANoe 發(fā)送大量干擾幀數(shù)據(jù),稱量儀表發(fā)送數(shù)據(jù)未出現(xiàn)突變現(xiàn)象,如圖5 所示。整改后的稱量儀表在實際混凝土攪拌站上應(yīng)用驗證,上位機(jī)未再出現(xiàn)數(shù)據(jù)記為零的現(xiàn)象。
圖5 整改后干擾情況下發(fā)送數(shù)據(jù)情況
本文介紹了一種基于C8051F040 的稱量儀表,介紹了稱量儀表的主要硬件組成和輸入輸出信號,基于該稱量儀表可實現(xiàn)混凝土攪拌站的分布式稱量控制。該稱量儀表可以控制四種物料的配料,并分析了配料邏輯控制過程。詳細(xì)給出了稱量儀表和數(shù)據(jù)采集器、上位機(jī)之間的數(shù)據(jù)交互方案,在此基礎(chǔ)上分析了上位機(jī)重量值記為0 的故障原因,并給出了解決方案,采用本文設(shè)計的稱量儀表已在混凝土攪拌站得到了大批量應(yīng)用,有效降低了混凝土攪拌站稱量系統(tǒng)的復(fù)雜度。