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

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

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

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

      作者: 時間:2012-07-11 來源:網絡 收藏

      “計算控制室的溫度SV”的執(zhí)行條件是!BitAnd(!BitRShift(In_ID,3),127)=RoomID表達式的值為非0,腳本程序如下:

      Byte0=In_Data0
      Byte1=In_Data1
      Byte2=In_Data2
      Byte3=In_Data3
      !setstgy(UniteFloat)
      roomtempsv=float

      “計算控制室的濕度SV”的執(zhí)行條件是!BitAnd(!BitRShift(In_ID,3),127)=RoomID表達式的值為非0,腳本程序如下:

      Byte0=In_Data4
      Byte1=In_Data5
      Byte2=In_Data6
      Byte3=In_Data7
      !setstgy(UniteFloat)
      roomhumsv=float

      4.在運行策略中新建名為“查詢房間1SV值”的用戶策略,添加如下圖所示的3個策略行。

      查詢房間1SV值策略
      圖10查詢房間1SV值策略

      “before”策略行腳本程序如下:

      !EnableStgy(查詢各控制室溫/濕度策略,0)
      RoomID=1

      “策略調用”調用GetRoomSV策略。
      “after”策略行腳本程序如下:

      room1tempsv=roomtempsv
      !EnableStgy(查詢各控制室溫/濕度策略,1)

      5.重復步驟4。添加“查詢房間2~6SV值”和“查詢風道溫/濕度表1~2sv值”策略,并由菜單“修改1~6號房間SV值”調用對應的策略。

      6.雙擊主控窗口中名為“修改一號房間SV值”的菜單項,在菜單屬性設置對話框的“菜單操作”頁中添加執(zhí)行運行策略塊“查詢房間1SV值”。

      7.重復步驟6,添加其它房間的運行策略。

      8.在運行策略中建立一個名為“SetRoomTSV”的用戶策略,添加以下腳本程序:

      float=roomtempsv
      !setstgy(SplitFloat)
      ‘發(fā)送控制室溫/濕度SV設置命令
      Out_Extern=0
      Out_Remote=0
      Out_ID=!BitLShift(RoomID,3)+0‘控制室ID+單幀(點對點)
      Out_DataLen=8
      Out_Data0=0
      Out_Data1=0
      Out_Data2=0
      Out_Data3=2
      Out_Data4=Byte0
      Out_Data5=Byte1
      Out_Data6=Byte2
      Out_Data7=Byte3
      !setstgy(ObjectToString)
      ‘發(fā)出命令
      Out_CANData=Out_CANData2
      ‘等待命令發(fā)出
      !TimerReset(1,0)
      !TimerRun(1)
      !TimerWaitFor(1,Delay)
      !TimerStop(1)

      9.在運行策略中建立一個名為“調整房間1SV值”的用戶策略,并添加以下程序:

      !EnableStgy(查詢各控制室溫/濕度策略,0)
      RoomID=1
      roomtempsv=room1tempsv
      float=roomtempsv
      !setstgy(SetRoomTSV)
      !EnableStgy(查詢各控制室溫/濕度策略,1)

      10.重復步驟9,添加其它5個控制室及風道的腳本程序。

      11.給“修改控制室1SV值”窗口的“確認”按鈕添加如下腳本:

      ifroom1tempsv1-10orroom1tempsv1>100then
      !setwindow(修改SV值消息窗口,1)
      else
      room1tempsv=room1tempsv1
      !setwindow(修改控制室1SV值,3)
      room1tempsv1=0
      !setstgy(調整房間1SV值)
      endif

      12.重復步驟11,添加其它窗口的腳本。

      六模擬控制室

      本系統(tǒng)可用DP-668實驗儀模擬產生控制室數(shù)據(jù)。DP-668實驗儀具有模擬控制室溫/濕度變化、自修改溫/濕度SV值以及報警等功能。其模擬溫/濕度變化算法如下:

      externunsignedcharcodeRoomID=1;/*房間ID*/
      externfloatRoomTemp=0;/*房間溫度*/
      externfloatRoomHumi=0;/*房間濕度*/
      ...

      floatcodeRoomTempTab[]={
      19.0,19.2,19.4,19.6,19.8,
      20.0,20.2,20.4,20.6,20.8,
      21.0,21.2,21.4,21.6,21.8,
      21.8,21.6,21.4,21.2,21.0,
      20.8,20.6,20.4,20.2,20.0,
      19.8,19.6,19.4,19.2,19.0
      };
      floatcodeRoomHumiTab[]={
      55.0,55.5,56.0,56.5,
      57.0,57.5,58.0,58.5,
      59.0,59.5,60.0,60.5,
      61.0,61.5,62.0,62.5,
      63.0,63.5,64.0,64.5
      };
      voidmain(void)

      unsignedintidatai,j;
      ...

      while(1)

      /*模擬溫/濕度變化*/
      RoomTemp=RoomTempTab[j%(sizeof(RoomTempTab)/sizeof(RoomTempTab[0]))];
      RoomHumi=RoomHumiTab[j++%(sizeof(RoomHumiTab)/sizeof(RoomHumiTab[0]))];
      ...


      本系統(tǒng)也可用任一款ZLGCAN接口卡和PC組成的系統(tǒng)來模擬產生控制室數(shù)據(jù),基于ZLGCAN通用函數(shù)接口編程,同樣具有模擬控制室溫/濕度變化、自修改溫/濕度SV值以及報警等功能。其模擬溫/濕度變化算法(VC示范)如下:

      floatm_dwTemp[8];//房間16及風道12的溫度
      floatm_dwHumi[8];//房間16及風道12的濕度
      ...

      staticdoublei;
      i+=0.1;
      m_dwTemp[0]=(float)sin(i+0.0)+20;
      m_dwTemp[1]=(float)sin(i+0.1)+20;
      m_dwTemp[2]=(float)sin(i+0.2)+20;
      m_dwTemp[3]=(float)sin(i+0.3)+20;
      m_dwTemp[4]=(float)sin(i+0.4)+20;
      m_dwTemp[5]=(float)sin(i+0.5)+20;
      m_dwTemp[6]=(float)sin(i+0.6)+20;
      m_dwTemp[7]=(float)sin(i+0.7)+20;

      m_dwHumi[0]=(float)cos(i+0.0)+60;
      m_dwHumi[1]=(float)cos(i+0.1)+60;
      m_dwHumi[2]=(float)cos(i+0.2)+60;
      m_dwHumi[3]=(float)cos(i+0.3)+60;
      m_dwHumi[4]=(float)cos(i+0.4)+60;
      m_dwHumi[5]=(float)cos(i+0.5)+60;
      m_dwHumi[6]=(float)cos(i+0.6)+60;
      m_dwHumi[7]=(float)cos(i+0.7)+60;
      ...


      上一頁 1 2 3 4 下一頁

      評論


      相關推薦

      技術專區(qū)

      關閉