<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/150300.htm

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

            

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

            3 通信幀格式

            主控制端所實時顯示和進行處理的數(shù)據(jù)要靠數(shù)據(jù)采集端進行采集后發(fā)回,兩者之間的通信通過RS485接口,采用定義幀結構的方式來實現(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ù)據(jù)的幀,則data1~dada7的7個字節(jié)中依次填充大水箱水位、小水箱水溫、大小箱水溫、屋頂集熱器中水溫(3個采集點)和采集點處的水溫。若某一幀作為傳送當前閥門狀態(tài)的幀,則用7個字節(jié)中的前4個來分別表示進水閥、回水閥、加熱閥和循環(huán)閥是打開狀態(tài)還是閉合狀態(tài)。幀結構的格式如圖5所示。

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

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

            由于控制中經常會涉及到參數(shù)的更改,為了使掉電后不影響系統(tǒng)的運行,即需要參數(shù)能夠重現(xiàn),系統(tǒng)采用帶有I2C總線接口的EEPROM 2402芯片實現(xiàn)數(shù)據(jù)的存儲和讀取。讀和寫分別調用的兩個函數(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芯片的片內地址,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中的一種,分別對應24C01~24C256,本系統(tǒng)中為M2402;函數(shù)返回值為一個位變量,若返回1表示此次操作失效,0表示操作成功;ERRORCOUNT為允許最大次數(shù),若出現(xiàn)ERRORCOUNT次操作失效后,則函數(shù)中止操作,并返回1。

            在該函數(shù)中,調用的若干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);

            結語

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

          液位計相關文章:磁翻板液位計原理



          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();