<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CAN-bus 總線(xiàn)的模擬空調溫/濕度控制系統

基于CAN-bus 總線(xiàn)的模擬空調溫/濕度控制系統

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

一、系統結構

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

系統結構圖
圖1系統結構圖

二、MCGS工程框架

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

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

用戶(hù)窗口
圖2用戶(hù)窗口

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

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

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

系統菜單
圖3系統菜單

三、主要數據對象

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

表1系統主要數據對象
系統主要數據對象

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

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

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

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

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

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))

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


上一頁(yè) 1 2 3 4 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>