新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > RS-485總線在汽車地衡計(jì)量系統(tǒng)中的應(yīng)用

RS-485總線在汽車地衡計(jì)量系統(tǒng)中的應(yīng)用

作者: 時(shí)間:2016-11-20 來源:網(wǎng)絡(luò) 收藏
  0 引言

  地衡計(jì)量是企業(yè)物資計(jì)量的主要手段之一,但在實(shí)際工作中其管理水平和方法不夠健全,尤其是技術(shù)手段落后,傳統(tǒng)測試儀基于手工操作,因而測量精度和工作效率難以滿足現(xiàn)實(shí)需要。基于手工管理模式,不僅易滋生人為作弊現(xiàn)象,而且各部門不能充分共享數(shù)據(jù),使大量數(shù)據(jù)的統(tǒng)計(jì)、匯總、查詢及監(jiān)管等方面效率低下,影響企業(yè)的效益和發(fā)展。為此,稱重?cái)?shù)據(jù)的自動采集、處理是完善監(jiān)控的重要一環(huán),不僅為企業(yè)建設(shè)具有自身特色的管理現(xiàn)代化的信息網(wǎng)絡(luò)提供了可靠數(shù)據(jù),也促進(jìn)新的生產(chǎn)和管理理念形成,從而提升企業(yè)競爭力。RS-485總線收發(fā)器采用平衡發(fā)送和差分接收,具有靈敏度高、可靠性高、傳送距離遠(yuǎn)、速度快、抗干擾能力強(qiáng)等優(yōu)點(diǎn)[1],在工業(yè)生產(chǎn)中得到了廣泛應(yīng)用。因此,構(gòu)建RS-485總線型分布式監(jiān)控系統(tǒng)具有很高的實(shí)用價(jià)值。

本文引用地址:http://www.butianyuan.cn/article/201611/319044.htm

  1 分布式監(jiān)控系統(tǒng)硬件設(shè)計(jì)

  1.1 概述

  RS-485總線型分布式監(jiān)控系統(tǒng)以計(jì)算機(jī)作為上位機(jī),以單片機(jī)為核心的測控儀作為下位機(jī)。為確保系統(tǒng)工作的可靠性和冗余性,所設(shè)計(jì)分布式系統(tǒng)采用雙方案方式,即上位機(jī)工作方案和測控儀工作方案。以上位機(jī)工作方案為主,測控儀工作方案為鋪,當(dāng)分布式系統(tǒng)某通道或通信出現(xiàn)故障時(shí),各測控儀可自主工作。

  1.2 分布式系統(tǒng)總體設(shè)計(jì)

  根據(jù)分布式系統(tǒng)工作方式要求和硬件組態(tài)設(shè)計(jì)思想,采用分層體系結(jié)構(gòu)。系統(tǒng)上位機(jī)選用具有高可靠性和適用于工業(yè)環(huán)境的IPC ( industrial personal com-puter)作為管理站,自主開發(fā)測控儀,既能獨(dú)立完成測試工作,也提供RS-485通信接口,在IPC的RS-232端口加一塊MODEL1102 RS-232/RS-485接口轉(zhuǎn)換模塊,組成RS-485網(wǎng)絡(luò)分布式監(jiān)控系統(tǒng)[2]。

  分布式監(jiān)控系統(tǒng)能確保當(dāng)某個(gè)測控儀通道出現(xiàn)故障時(shí),不影響上位機(jī)對其它測控儀監(jiān)控;當(dāng)上位機(jī)或網(wǎng)絡(luò)出現(xiàn)故障時(shí),也不會影響現(xiàn)場控制級正常工作。綜合汽車地衡計(jì)量分布式監(jiān)控系統(tǒng)的實(shí)際需要,由測控儀和傳感器構(gòu)成測控通道,系統(tǒng)硬件總體結(jié)構(gòu)如圖1所示。

  

  1.3 測控儀設(shè)計(jì)

  測控儀設(shè)計(jì)主要考慮兩方面的要求:一方面根據(jù)系統(tǒng)總體雙工作方案要求,測控儀作為監(jiān)控系統(tǒng)的下位機(jī),需要具備通信接口;另一方面針對測控儀的前向輸入通道傳感器動態(tài)范圍大、會產(chǎn)生振動干擾等特性的需要,要求信號調(diào)理模塊的放大倍數(shù)能根據(jù)輸入信號的大小自動調(diào)整。所設(shè)計(jì)汽車地衡測控儀系統(tǒng)硬件結(jié)構(gòu)如圖2所示。

  

  1.3.1 測試模塊

  測量電路模塊除AT89S52外,核心電路為信號調(diào)理及采集電路。其主要作用是把稱重傳感器信號轉(zhuǎn)換為AT89S52能接收的CMOS數(shù)字電平,利用高性能的模數(shù)轉(zhuǎn)換器,以實(shí)現(xiàn)稱重測試的工作。

  1.3.2 輔助模塊

  利用具有I2C總線的鐵電存儲器FM24C32解決分布式系統(tǒng)故障時(shí),啟用單臺測控儀工作方案及時(shí)保存所測試的數(shù)據(jù),待分布式系統(tǒng)正常工作后,及時(shí)把所儲存數(shù)據(jù)傳送到上位計(jì)算機(jī)中[3]。利用具有I2C總線的時(shí)鐘芯片DS1307進(jìn)行時(shí)間設(shè)置和測試時(shí)間標(biāo)志。利用具有I2C總線的ZLG7290鍵盤和顯示器控制芯片[4],根據(jù)測控儀的操作要求,設(shè)置按鍵的功能,主要包括時(shí)間、批號設(shè)置的數(shù)字鍵,測試、查詢、打印和數(shù)據(jù)上傳等功能鍵;顯示信息主要包括測控儀工作狀態(tài)和有關(guān)測量結(jié)果的數(shù)據(jù)。利用8255芯片實(shí)現(xiàn)對微型打印機(jī)的控制,解決單臺測控儀工作方案啟用時(shí)所需的輸出數(shù)據(jù)。MAX487芯片用于實(shí)現(xiàn)RS-485的串行通信,構(gòu)成以計(jì)算機(jī)為核心的RS-485總線型分布式測控系統(tǒng)

  2 系統(tǒng)軟件開發(fā)

  系統(tǒng)軟件開發(fā)主要包括測控儀和上位機(jī)監(jiān)控軟件開發(fā)工作。測控儀以AT89S52為核心,選用方便實(shí)用、高效的KeilC51軟件作為開發(fā)平臺[5]。上位機(jī)軟件開發(fā)工具選用功能豐富和應(yīng)用方便的VB編程軟件。

  2.1 上位機(jī)監(jiān)控軟件開發(fā)

  上位機(jī)的軟件開發(fā)工作主要圍繞三個(gè)方面:①建立企業(yè)所需的數(shù)據(jù)庫,為地衡工作的有效監(jiān)控提供充分的數(shù)據(jù)保障;②計(jì)算機(jī)管理模塊規(guī)劃和開發(fā)工作,人機(jī)交互接口立足于簡便、實(shí)用和友好的基本原則,并充分發(fā)揮計(jì)算機(jī)軟、硬件資源豐富的優(yōu)勢;③計(jì)算機(jī)與測控儀的通信,實(shí)現(xiàn)信息正常傳輸工作。在完成人機(jī)界面的窗體設(shè)計(jì)基礎(chǔ)上,利用模塊化和面向?qū)ο缶幊趟枷?進(jìn)行實(shí)質(zhì)性地監(jiān)控程序開發(fā)工作。下面對上位機(jī)功能模塊的規(guī)劃和上、下位機(jī)通信模塊的工作原理作簡要說明。

  2.1.1 功能模塊

  計(jì)算機(jī)監(jiān)控主要利用上位機(jī)對各控制器工作參數(shù)實(shí)現(xiàn)全面監(jiān)視和控制,在上位機(jī)監(jiān)督和指導(dǎo)下完成稱重測控工作。根據(jù)系統(tǒng)的功能需求和VB軟件的特點(diǎn),規(guī)劃上位機(jī)功能模塊,同時(shí)上位機(jī)中的功能模塊建立在通信程序和數(shù)據(jù)庫及數(shù)據(jù)表的基礎(chǔ)之上,監(jiān)控軟件功能模塊規(guī)劃如圖3所示。

  

  上位機(jī)功能模塊的主要作用如下:

 ?、傧到y(tǒng)管理子模塊。完成用戶的增減、注冊、密碼的設(shè)置、完成系統(tǒng)初始化處理、系統(tǒng)自檢、系統(tǒng)退出功能。

 ?、诒O(jiān)控管理子模塊。實(shí)現(xiàn)計(jì)算機(jī)與測控儀通信,定時(shí)采集工作參數(shù),并直觀顯示所測試數(shù)據(jù),同時(shí)向測控儀發(fā)送控制命令,并實(shí)現(xiàn)系統(tǒng)故障診斷及處理。

 ?、蹫g覽打印子模塊。用于查詢和打印測試參數(shù),便于進(jìn)行分析和統(tǒng)計(jì)。

 ?、軒椭幽K。介紹軟件的使用方法、步驟和注意事項(xiàng)。

  2.1.2 上位機(jī)與測控儀通信模塊

  上位機(jī)與測控儀通信是RS-485總線型分布式測控系統(tǒng)的關(guān)健,利用AT89S52的串行通信口及MAX487芯片的接口電路實(shí)現(xiàn)與IPC通信。AT89S52單片機(jī)提供與計(jì)算機(jī)或其他串行設(shè)備連接的異步通信口,而VB提供便于圖形化接口的串口操作控件———Mscomm[6],并配合VB中的TIMER控件的定時(shí)功能,周期性地從串行口上取數(shù)據(jù),并進(jìn)行數(shù)據(jù)處理。

  由AT89S52所組成單片機(jī)應(yīng)用系統(tǒng),即測控儀需要把工作參數(shù)和工作狀態(tài)及時(shí)傳遞到上位機(jī)中,同時(shí),上位機(jī)利用其友好的界面,對測控儀進(jìn)行初始化等工作,以實(shí)現(xiàn)兩者雙向通信。通信除了硬件電路外,還需統(tǒng)一兩者的通信協(xié)議。由于RS-485是一種半雙工通信協(xié)議,發(fā)送數(shù)據(jù)和接收數(shù)據(jù)共用同一物理通道,在任意時(shí)刻只允許一臺網(wǎng)絡(luò)終端設(shè)備處于工作狀態(tài),若有一臺以上的設(shè)備同時(shí)發(fā)送數(shù)據(jù),則會產(chǎn)生總線沖突,使整個(gè)系統(tǒng)通信癱瘓。本系統(tǒng)采用主從式查詢方式,即工控機(jī)給出某一下位機(jī)的地址碼,向所有下位機(jī)都發(fā)出詢問,當(dāng)某一下位機(jī)接到的地址碼與本機(jī)地址碼相符時(shí),響應(yīng)指令,發(fā)送數(shù)據(jù),工控機(jī)接收數(shù)據(jù),否則不響應(yīng)也不發(fā)送數(shù)據(jù)。其通信數(shù)據(jù)格式包括呼叫數(shù)據(jù)幀、發(fā)送數(shù)據(jù)幀、接收數(shù)據(jù)命令幀和應(yīng)答幀[7]。如圖4所示即為計(jì)算機(jī)從AT89S52單片機(jī)接收數(shù)據(jù)過程示意圖。

 

  上位機(jī)讀取某測控儀數(shù)據(jù)主要程序模塊如下:

  Private FunctionRD_cky(String zh)

  Dmi CMD, ADR, CO, znwkS1, SN, TXD AS String

  Dmi LENS, BCC, BCC1, I As Integer

  Dmi ckcs_sz(10) AsSingle

  ∥用于存放從測控儀中讀回參數(shù)值

  CMD=“0F1H” ∥通信申請

  ADR=zh∥zh=01第1臺測控儀的站號地址

  CO=EOT+ADR+ENQ∥連接01站號的字符串

  MSComm1.Output=CO

  ∥向測控儀發(fā)送連接命令字符串

  Do

  DUMMY=DoEvents()

  ∥等待接收測控儀回答的字符串

  LoopUntilMSComm1. InBufferCount>=26

  RS=MSComm1. input∥讀取接收緩沖區(qū)數(shù)據(jù)

  cky_ydc=Mid$ (RS,2,2)∥取測控儀應(yīng)答字符串

  If cky_ydc=187 Then∥判斷通信是否正確

  x=MsgBox(“通信連接錯(cuò)誤!”,16):ExitFunction

  else

  CMD= CMD+ETX: LENS=LEN(CMD): BCC=0

  ∥生成BCC校驗(yàn)和

  FOR I=1 TO LENS

  SN=MID$ (CMD, I,1):BCC=BCC+ASC(SN)

  NEXT

  BCC=BCCMOD 128: BCC=CHR$ (BCC)

  TXD=STX+CMD+BCC

  ∥發(fā)送包含校驗(yàn)和的新命令字符串

  MSComm1.Output=TXD

  ∥向測控儀發(fā)送連接命令字符串

  Do

  DUMMY=DoEvents()

  ∥等待接收測控儀回答的字符串

  LoopUntilMSComm1. InBufferCount>=26

  RS=MSComm1. input∥讀取接收緩沖區(qū)數(shù)據(jù)

  LENS=LEN(RS): BCC1=0

  FOR I=2 TO LENS

  SN=MID$ (RS, I,1):BCC1=BCC1+ASC(SN)

  NEXT

  IF BCC<>BCC1 THEN

  x=MsgBox(“通信連接錯(cuò)誤!”,16):ExitFunction

  End If

  FOR I=5 TO LENS

  ∥分解讀回的字符串,提取所需參數(shù)值到數(shù)組

  ckcs_sz(I-4)=MID$ (RS, I,1)

  ∥ckcs_sz數(shù)組存放從測控儀中讀回的參數(shù)值

  NEXT

  End If

  CallDisplay()∥調(diào)用顯示模塊,把提取的有效

  數(shù)據(jù),顯示于上位相的工作界面中

  End Function

  上述程序段主要包括定義所需的變量、拼接發(fā)送字符串、通信的建立、數(shù)據(jù)校驗(yàn)碼的產(chǎn)生以及有效數(shù)據(jù)的提取,為后續(xù)進(jìn)一步處理和應(yīng)用奠定了基礎(chǔ)。

  2.2 測控儀軟件開發(fā)

  測控儀軟件開發(fā)采用結(jié)構(gòu)化和模塊化設(shè)計(jì)方法,分為系統(tǒng)監(jiān)控程序和中斷服務(wù)程序兩大部分。其中每一部分又由許多功能子模塊構(gòu)成。監(jiān)控程序主要包括初始化模塊、測試與診斷模塊、顯示模塊和鍵盤掃描與處理等模塊。為提高系統(tǒng)工作的實(shí)時(shí)性,將A/D轉(zhuǎn)換、數(shù)據(jù)處理和串口通信等工作均安排在中斷服務(wù)中執(zhí)行,下面對測控系統(tǒng)主要模塊作簡要說明。

  2.2.1 故障診斷程序模塊

  為確保測控儀正??煽康毓ぷ?在測控儀上電時(shí),運(yùn)行開機(jī)自診斷程序,檢測AT89S52中功能部件和應(yīng)用系統(tǒng)外圍電路工作情況;主要包括ROM自檢、RAM自檢、定時(shí)器、A/D通道、FM24C32、DSN307、ZLG7290等模塊的自檢工作。利用自檢程序模塊,輸出直觀的工作狀態(tài)信息,為系統(tǒng)維護(hù)奠定良好基礎(chǔ)。

  2.2.2 鍵掃描和顯示處理模塊

  測控儀的人機(jī)接口主要體現(xiàn)在鍵盤、顯示和報(bào)警輸出方面。在自檢階段,對于不同檢測模塊的不同情況,分別顯示不同的字符信息;在實(shí)時(shí)監(jiān)控正常工作狀態(tài)時(shí),其顯示內(nèi)容為所測試參數(shù)的大小;在鍵盤操作時(shí),顯示其鍵盤操作內(nèi)容,如出現(xiàn)報(bào)警,其顯示器輸出相應(yīng)報(bào)警項(xiàng)的提示信號。

  鍵盤按鍵包括數(shù)字鍵和功能鍵,數(shù)字鍵主要用來校正時(shí)間、設(shè)置報(bào)警上、下限和批號輸入;功能鍵主要包括批號設(shè)置、日期設(shè)置、通道選擇、測試啟動、查詢、打印、數(shù)據(jù)存儲、數(shù)據(jù)上傳和報(bào)警清除等功能鍵。

  3 結(jié)束語

  本文介紹了一種基于RS-485總線的數(shù)據(jù)采集和控制系統(tǒng),以及VB語言在開發(fā)上位機(jī)軟件中的應(yīng)用。在該測控系統(tǒng)的應(yīng)用中,主控計(jì)算機(jī)與各測控點(diǎn)的單片機(jī)之間采用了RS-485串行通信總線,使測控網(wǎng)絡(luò)的連線簡單、傳輸距離長、信號傳輸穩(wěn)定可靠,取得了良好的控制效果。

  總之,本方案一方面采用模塊化設(shè)計(jì),體現(xiàn)了分布式控制的思想,便于維護(hù)和擴(kuò)展;另一方面,通過建立完善的軟件握手信號及軟硬件的抗干擾措施,保證了系統(tǒng)間通信的穩(wěn)定性及數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。因此,系統(tǒng)具有很高的性價(jià)比?;赗S-485總線汽車地衡分布式測控系統(tǒng)采用上位機(jī)監(jiān)控和常規(guī)測控儀工作方式,不僅功能完善實(shí)用,而且具有友好的人機(jī)界面,系統(tǒng)運(yùn)行靈活高效。

  參考文獻(xiàn)

  [1]鞠杰,孫自強(qiáng).基于RS-485總線的智能燈光控制系統(tǒng)[J].自動化儀表,2006,27(5):15-20.

  [2]朱兆優(yōu).RS-485總線在遠(yuǎn)程自動抄表系統(tǒng)中的應(yīng)用[J].東華理工學(xué)院學(xué)報(bào),2005,28(6):192-193.

  [3]孫肖子,鄧建國,陳南,等.電子設(shè)計(jì)指南[M].北京:高等教育出版社,2006:474-475.

  [4]李昌禧.智能儀表原理與設(shè)計(jì)[M].北京:化學(xué)工業(yè)出版社,2005:47-48.

  [5]郁文,侯振鵬.C語言程序設(shè)計(jì)———使用MCS-51[M].北京:人民郵電出版社,2006:27-28.

  [6]李世平.利用VB實(shí)現(xiàn)PC機(jī)與單片機(jī)通信[J].計(jì)算機(jī)與數(shù)字工程,2004,32(4):61-62.

  [7]楊侃,朗文鵬,趙維琴.VB6用于PC機(jī)與MCS-51單片機(jī)多機(jī)串行通信[J].儀器儀表用戶,2001,8(2):33-34.



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉