在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于CAN-bus 總線的模擬空調(diào)溫/濕度控制系統(tǒng)

            基于CAN-bus 總線的模擬空調(diào)溫/濕度控制系統(tǒng)

            作者: 時(shí)間:2012-07-11 來源:網(wǎng)絡(luò) 收藏

            一、系統(tǒng)結(jié)構(gòu)

            本系統(tǒng)是一個(gè)室內(nèi)空調(diào)溫/濕度控制系統(tǒng)的模擬系統(tǒng)數(shù)據(jù)采集及控制中心通過總線定時(shí)采集各個(gè)房間的溫/濕度數(shù)據(jù),并對各個(gè)房間的溫/濕度進(jìn)行控制。系統(tǒng)的數(shù)據(jù)采集及控制中心由上位機(jī)的硬件即任一款ZLGCAN系列接口卡和PC構(gòu)成,軟件由組態(tài)軟件MCGS和ZOPC_Server組成??刂剖壹聪挛粰C(jī)由DP-668實(shí)驗(yàn)儀和ZLGCAN系列接口卡中的PCI-9810接口卡模擬。

            系統(tǒng)結(jié)構(gòu)圖
            圖1系統(tǒng)結(jié)構(gòu)圖

            二、MCGS工程框架

            本空調(diào)溫/濕度控制系統(tǒng)需要對各個(gè)控制室及風(fēng)道的溫/濕度值進(jìn)行監(jiān)控,因此工程需要有實(shí)時(shí)顯示和記錄各控制室溫/濕度值、修改房間溫/濕度SV值、報(bào)警顯示、報(bào)警顯示瀏覽記錄等功能、工程框架如下:

            用戶窗口:封面窗口、主控窗口、控制室窗口1~6、風(fēng)道平面圖、狀態(tài)條、修改控制室1~6SV值、修改SV值消息窗口、風(fēng)道電加熱段消息窗口、修改風(fēng)道溫度表1~2SV值、修改風(fēng)道濕度表1~2SV值、風(fēng)道內(nèi)三級加熱報(bào)警窗口。

            用戶窗口
            圖2用戶窗口

            運(yùn)行策略:啟動(dòng)策略、退出策略、循環(huán)策略、卡車運(yùn)動(dòng)策略、控制柜燈閃爍策略、顯示控制室1~6策略、顯示時(shí)間策略、主控窗口中提示塊顯示策略。

            主菜單:用戶登錄、封面窗口、打開主控窗口、打開各控制室、風(fēng)道平面圖、修改SV值、歷史記錄、通信錯(cuò)誤記錄、溫/濕度異常記錄、退出系統(tǒng)

            子菜單:第一~六控制室、修改一~六號房間、SV值修改風(fēng)道溫度、表1~2SV值、修改風(fēng)道濕度表1~2SV值

            系統(tǒng)菜單
            圖3系統(tǒng)菜單

            三、主要數(shù)據(jù)對象

            建立好一個(gè)空調(diào)溫/濕度控制系統(tǒng)的MCGS工程后,實(shí)現(xiàn)上位機(jī)的主要任務(wù)就是建立組態(tài)工程與OPC設(shè)備的連接,實(shí)現(xiàn)上位機(jī)的主要任務(wù)就是建立組態(tài)工程與OPC設(shè)備的連接,并對采集到的數(shù)據(jù)進(jìn)行處理和顯示。在這個(gè)工程的實(shí)時(shí)數(shù)據(jù)庫中,要進(jìn)行顯示、操作的數(shù)據(jù)對象如表1所示。由于風(fēng)道的數(shù)據(jù)對象較多,為了統(tǒng)一管理,將風(fēng)道當(dāng)作兩個(gè)房間節(jié)點(diǎn)來處理。這樣,每個(gè)房間都只有1個(gè)溫度值對象、1個(gè)濕度之對象、1個(gè)溫度SV值對象和1個(gè)濕度SV值對象。

            表1系統(tǒng)主要數(shù)據(jù)對象
            系統(tǒng)主要數(shù)據(jù)對象

            為了使系統(tǒng)具備記錄數(shù)據(jù)及瀏覽歷史數(shù)據(jù)、錯(cuò)誤數(shù)據(jù)和異常數(shù)據(jù)的能力,在實(shí)時(shí)數(shù)據(jù)庫中建立了save、ErrorSave和exception三個(gè)數(shù)據(jù)對象組。其中ErrorSave和exception的組對象成員有:RoomID1、ErrorTemp、ErrorHum、ErrorTempSV和ErrorHumSV,save的組成員對象如表1所示。在運(yùn)行過程中,系統(tǒng)會定時(shí)保存save組對象到數(shù)據(jù)庫。當(dāng)通信產(chǎn)生錯(cuò)誤和房間溫/濕度異常時(shí),系統(tǒng)會將ErrorSave和exception保存到數(shù)據(jù)庫。

            在此系統(tǒng)中的OPC設(shè)備使用的是ZOPC_Server服務(wù)器。ZOPC_Server是一個(gè)OPC服務(wù)器軟件本軟件,支持操作全系列的ZLGCAN系列接口卡,只要在一臺PC機(jī)上插上ZLGCAN系列接口卡中的任何一種或幾種,再運(yùn)行本服務(wù)器軟件,就可以使用任何一種支持OPC協(xié)議的客戶端軟件(比如組態(tài)軟件:組態(tài)王KingView、昆侖通態(tài)MCGS和Intouch等)來連接到此服務(wù)器通過此服務(wù)器,來跟網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)的傳輸。

            本設(shè)計(jì)中,ZOPC_Server在數(shù)值存儲模式下和字符串存儲模式下提供的數(shù)據(jù)項(xiàng)都不能直接連接到實(shí)時(shí)數(shù)據(jù)庫中的數(shù)據(jù)對象,因此必須編寫腳本程序?qū)?shù)據(jù)進(jìn)行處理。關(guān)于數(shù)據(jù)項(xiàng)存儲模式,這里選用被推薦的字符串存儲模式;但是,使用數(shù)值存儲模式會更容易實(shí)現(xiàn)此系統(tǒng)。

            在實(shí)時(shí)數(shù)據(jù)庫添加字符型數(shù)據(jù)對象In_CANData和Out_CANData,字符數(shù)為30,將In_CANData和Out_CANData分別連接到OPC設(shè)備的輸入通道和輸出通道,In_CANData的讀寫屬性為只讀,Out_CANData的讀寫屬性為只寫。由于這兩個(gè)數(shù)據(jù)對象是字符型的,不便于進(jìn)行數(shù)據(jù)處理,所以應(yīng)該先將它們轉(zhuǎn)換為數(shù)值型對象。在MCGS腳本程序中,用戶不能定義子程序、子函數(shù)和變量,而數(shù)據(jù)對象可以看作是腳本程序中的全局變量,在所有的程序段共用。這給編寫較復(fù)雜的腳本程序帶來不便。要進(jìn)行類似子程序和子函數(shù)的操作,只能用先將要處理的數(shù)據(jù)放入全局變量,然后調(diào)用策略行中的腳本進(jìn)行處理,最后將返回的數(shù)據(jù)放入全局變量的方法進(jìn)行處理。在實(shí)時(shí)數(shù)據(jù)庫加添以下數(shù)值型對象作為中間變量:

            然后,在運(yùn)行策略中新建一個(gè)名為StringToObject的用戶策略,新增一策略行并添加以下腳本程序,用于將In_CANData轉(zhuǎn)換到數(shù)值型對象:

            In_Flag=!Hex2I(!mid(In_CANData,1,2))
            In_Extern=!Hex2I(!mid(In_CANData,3,1))
            In_Remote=!Hex2I(!mid(In_CANData,4,1))
            In_ID=!Hex2I(!mid(In_CANData,5,8))
            In_DataLen=!Hex2I(!mid(In_CANData,13,2))
            In_Data0=!Hex2I(!mid(In_CANData,15,2))
            In_Data1=!Hex2I(!mid(In_CANData,17,2))
            In_Data2=!Hex2I(!mid(In_CANData,19,2))
            In_Data3=!Hex2I(!mid(In_CANData,21,2))
            In_Data4=!Hex2I(!mid(In_CANData,23,2))
            In_Data5=!Hex2I(!mid(In_CANData,25,2))
            In_Data6=!Hex2I(!mid(In_CANData,27,2))
            In_Data7=!Hex2I(!mid(In_CANData,29,2))

            同樣,在運(yùn)行策略中新建一個(gè)名為ObjectToString的用戶策略,新增一策略行并添加下面的腳本程序,用于將數(shù)值型對象轉(zhuǎn)換到Out_CANData。在下面的程序中,Out_SendID進(jìn)行自加是因?yàn)閆OPC_Server要判斷寫入的Out_SendID和上一次寫入的Out_SendID是否相同,如果不同才將報(bào)文發(fā)出。


            上一頁 1 2 3 4 下一頁

            評論


            相關(guān)推薦

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

            關(guān)閉