新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于RTOS的太陽能熱水控制系統(tǒng)設(shè)計

基于RTOS的太陽能熱水控制系統(tǒng)設(shè)計

作者: 時間:2011-08-25 來源:網(wǎng)絡(luò) 收藏
2.2 數(shù)據(jù)采集端功能模塊圖

本文引用地址:http://m.butianyuan.cn/article/150300.htm

  在數(shù)據(jù)采集端,溫度的采集包括對屋頂集熱器溫度的采集,對恒溫小水箱溫度的采集,對大小箱溫度的采集和對輸水管網(wǎng)中某點溫度的采集。數(shù)據(jù)采集邏輯間接控制循環(huán)閥門、回水閥門、加熱閥門、加水閥門。數(shù)據(jù)采集端的功能模塊圖如圖4所示(虛線部分表示對閥門的間接控制)。

  

數(shù)據(jù)采集端功能模塊圖

  3 通信幀格式

  主控制端所實時顯示和進行處理的數(shù)據(jù)要靠數(shù)據(jù)采集端進行采集后發(fā)回,兩者之間的通信通過RS485接口,采用定義幀結(jié)構(gòu)的方式來實現(xiàn)。

  在程序中,我們靠對幀類型的區(qū)分和判斷,共定義了七種代表不同含義的幀,分別是:①主控制端向數(shù)據(jù)采集端發(fā)送的數(shù)據(jù)查詢幀;②數(shù)據(jù)采集端向主控制端回送的溫度水位等數(shù)據(jù)幀;③監(jiān)控計算機端向主控制端發(fā)送的查詢閥門狀態(tài)幀;④監(jiān)控計算機向主控制端發(fā)送的查詢溫度水位等數(shù)據(jù)幀;⑤主控制端向監(jiān)控計算機回送的閥門狀態(tài)幀;⑥主控制端向監(jiān)控計算機回送的數(shù)據(jù)幀;⑦監(jiān)控計算機端設(shè)置參數(shù)告知主控制端幀。若某一幀是傳送數(shù)據(jù)的幀,則data1~dada7的7個字節(jié)中依次填充大水箱水位、小水箱水溫、大小箱水溫、屋頂集熱器中水溫(3個采集點)和采集點處的水溫。若某一幀作為傳送當(dāng)前閥門狀態(tài)的幀,則用7個字節(jié)中的前4個來分別表示進水閥、回水閥、加熱閥和循環(huán)閥是打開狀態(tài)還是閉合狀態(tài)。幀結(jié)構(gòu)的格式如圖5所示。

  除此之外,還可以按照的需要自行增加幀的類型,以實現(xiàn)更為復(fù)雜的通信。

  4 系統(tǒng)外存儲器EEPROM

  由于控制中經(jīng)常會涉及到參數(shù)的更改,為了使掉電后不影響系統(tǒng)的運行,即需要參數(shù)能夠重現(xiàn),系統(tǒng)采用帶有I2C總線接口的EEPROM 2402芯片實現(xiàn)數(shù)據(jù)的存儲和讀取。讀和寫分別調(diào)用的兩個函數(shù)如下:

  unsigned char eepromread(unsigned char beginbyte){

  unsigned char data result;

  unsigned char i;

  EA=0;

  i=RW24XX(result,1,beginbyte,READ_OP,M2402);

  EA=1;

  return(result);

  }

  /******************************************************

  unsigned char i;

  EA=0;

  i=RW24XX(datum,beginbyte,WRITE_OP,M2402);

  EA=1;

  }

  可以看出,函數(shù)RW24XX是對EEPROM外存儲芯片操作的主體函數(shù),這里給出該函數(shù)中包含參數(shù)的定義:

  bit RW24XX(unsigned char *DataBuff,unsigned char ByteQuantity,unsigned int Address,unsigned char ControlByte,enum eepromtype EepromType)

  其中,DataBuff為讀寫數(shù)據(jù)輸入輸出緩沖區(qū)的首地址,ByteQuantity為要讀寫數(shù)據(jù)的字節(jié)數(shù),Address為EEPROM芯片的片內(nèi)地址,ControlByte是EEPROM的控制字節(jié),具體形式為(1)(0)(1)(0)(A2)(A1)(A0)(R/W),其中R/W=1,表示讀操作,R/W=0為寫操作,A2、A1、A0為EEPROM的頁選或片選地址;EepromType為枚舉變量,需為M2401~M24256中的一種,分別對應(yīng)24C01~24C256,本系統(tǒng)中為M2402;函數(shù)返回值為一個位變量,若返回1表示此次操作失效,0表示操作成功;ERRORCOUNT為允許最大次數(shù),若出現(xiàn)ERRORCOUNT次操作失效后,則函數(shù)中止操作,并返回1。

  在該函數(shù)中,調(diào)用的若干I2C總線函數(shù)如下:

  void IICStart(void);

  void IICStop(void);

  bit IICRecAck(void);

  void IICNoAck(void);

  void IICAck(void);

  unsigned char IICReceiveByte(void);

  void IICSendByte(unsigned char sendbyte);

  結(jié)語

  本系統(tǒng)結(jié)構(gòu)簡單,操作方便,擁有手動和自動兩種控制模式,具有一定的智能性;既可現(xiàn)場控制,又可遠程控制;能根據(jù)現(xiàn)場狀況,合理地調(diào)節(jié)控制狀態(tài)。便于模塊化處理,使程序的可讀性、可維護性和可移植性都得到進一步提高。

液位計相關(guān)文章:磁翻板液位計原理



上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉