• <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

    <table id="fficu"></table>

    <sup id="fficu"></sup>
    <output id="fficu"></output>
    1. 20240703
      關(guān)注中國自動(dòng)化產(chǎn)業(yè)發(fā)展的先行者!
      工業(yè)智能邊緣計算2024年會(huì )
      2024
      2024中國自動(dòng)化產(chǎn)業(yè)年會(huì )
      2023年工業(yè)安全大會(huì )
      OICT公益講堂
      當前位置:首頁(yè) >> 案例 >> 案例首頁(yè)

      案例頻道

      在樓控系統中實(shí)現多個(gè)相同監控對象共用一個(gè)畫(huà)面

       

      唐  銳  胥布工  陳志忠

      1  引言

          組態(tài)軟件是近年來(lái)在工業(yè)自動(dòng)化領(lǐng)域興起的新型軟件開(kāi)發(fā)技術(shù),隨著(zhù)智能樓宇行業(yè)的迅速發(fā)展,組態(tài)軟件在這個(gè)新的領(lǐng)域也得到了廣泛的應用。

       

          在市場(chǎng)上諸多品牌軟件的激烈競爭中,組態(tài)王以其純中文界面、編程風(fēng)格簡(jiǎn)單、實(shí)時(shí)性能好, 且與其他應用程序交換方便、 易調試, 支持數百種國內外流行的外部設備的特點(diǎn),兼具極富競爭力的價(jià)格優(yōu)勢, 在諸多競爭對手中脫穎而出。

       

          筆者一直采用組態(tài)王軟件開(kāi)發(fā)樓宇自動(dòng)化管理軟件。在實(shí)際的工程應用中,筆者發(fā)現智能樓宇控制工程中存在大量相同的監控對象,例如整棟大廈的房間照明系統、新風(fēng)機及空調機等。由于在組態(tài)王軟件中暫不支持指針變量,因此通常的做法是針對每個(gè)監控對象開(kāi)發(fā)一幅畫(huà)面。當監控對象的數目達到一定程度時(shí),這種方法帶來(lái)的不便就非常明顯:用戶(hù)需要建立許多幅完全相同的畫(huà)面,在每幅畫(huà)面中又要建立完全相同的動(dòng)畫(huà)鏈接,而當需要對這些畫(huà)面或畫(huà)面中的動(dòng)畫(huà)鏈接進(jìn)行極細微的改動(dòng)時(shí),則需要將所有畫(huà)面都改動(dòng)一遍,其工作量可想而知非常巨大,也使樓宇自動(dòng)化管理軟件開(kāi)發(fā)周期大大延長(cháng)。

       

          通過(guò)對組態(tài)王軟件的深入學(xué)習和研究,筆者發(fā)現可以在組態(tài)王中以某些命令語(yǔ)言函數讀寫(xiě)的方式來(lái)模擬指針變量的功能,實(shí)現監控多個(gè)相同對象共用一個(gè)畫(huà)面,下面以一個(gè)實(shí)際的樓宇控制工程為例說(shuō)明此方法。

      2  組態(tài)王命令語(yǔ)言函數

          組態(tài)王的命令語(yǔ)言是一段類(lèi)似C語(yǔ)言的程序,工程人員可以利用這段程序來(lái)增強應用程序的靈活性。命令語(yǔ)言的句法和C語(yǔ)言非常類(lèi)似,是C的一個(gè)子集,具有完備的詞法語(yǔ)法查錯功能。

       

          組態(tài)王支持使用內建的復雜命令語(yǔ)言函數,主要有:字符串函數、數學(xué)函數、系統函數、控件函數、配方函數、報表函數、歷史趨勢曲線(xiàn)函數、畫(huà)面管理函數、登錄管理函數等。通過(guò)各種函數的巧妙調用,組態(tài)王可以實(shí)現許多復雜、強大的功能。

       

          下面簡(jiǎn)要介紹在本解決方案中將要使用的2種函數:

      (1)    FileWriteFields函數

          此函數往指定文件中寫(xiě)入CSV(逗號分隔變量)記錄,其調用格式為:

          FileWriteFields(Filename, FileOffset, StartTag, NumberOfFields)

          其中:Filename為指定要寫(xiě)的文件;FileOffset為指定寫(xiě)此文件的起始位置,若 FileOffset 0,此函數將寫(xiě)到文件末尾。若為1,則寫(xiě)到開(kāi)頭;StartTag為指定第一個(gè)數據項的變量名稱(chēng),此變量名必須以一個(gè)數字結尾(MyTag1);NumberOfFields為指定要寫(xiě)的字段數目(此文件的每條記錄中以逗號隔開(kāi)的字段的字段數目)。

       

      (2)     FileReadFields函數

          此函數與(1)對應,表示從指定文件中讀入CSV(逗號分隔變量)記錄,其調用格式為:

          FileReadFields(Filename, FileOffset, StartTag, NumberOfFields)

          其中:Filename為指定要讀的文件;FileOffset為指定讀此文件的起始位置,若 FileOffset 0,此函數將讀此文件末尾。若為1,則表明從頭開(kāi)始; StartTag 為指定第一個(gè)數據項的變量名稱(chēng),此變量名必須以一個(gè)數字結尾(MyTag1);NumberOfFields為指定要寫(xiě)的字段數目(此文件的每條記錄中以逗號隔開(kāi)的字段的字段數目)。  

      3  BA工程實(shí)例介紹

          某學(xué)院學(xué)生宿舍BA系統分為8棟宿舍樓,共有872間宿舍,36間活動(dòng)室,宿舍控制分為照明回路和插座回路,每間宿舍有1個(gè)照明回路和1個(gè)插座回路;每間活動(dòng)室有1個(gè)照明回路和1個(gè)插座回路,此外學(xué)生宿舍區還有室內公共照明回路74路,室外公共照明4路。BAS系統控制每個(gè)回路并檢測其相應的運行狀態(tài)。

       

          本BA系統的最大特點(diǎn)是所有宿舍、活動(dòng)室及公共回路照明的控制規律相同,可以抽象成完全相同的控制對象,只是在具體控制參數上有所變化,因此所有控制對象在組態(tài)王數據詞典里建立變量的類(lèi)型、數目完全相同,其各個(gè)房間的控制畫(huà)面,除房間號碼不同,其余也完全相同。

       

          按照通常的開(kāi)發(fā)方式,為了實(shí)現進(jìn)入房間內部對于單個(gè)房間的監視和控制,除建立八棟宿舍樓的房間分布畫(huà)面外,還必須對于每個(gè)房間建立一個(gè)房間內部畫(huà)面,即必須建立986幅相同的畫(huà)面,然后將每個(gè)房間的變量分別鏈接到這些畫(huà)面上。

      4  調用讀寫(xiě)函數實(shí)現多個(gè)相同監控對象共用一個(gè)畫(huà)面的解決方案

          首先,為了優(yōu)化工程的數據詞典,按照單個(gè)房間需要建立的變量構建一個(gè)結構變量,并命名為“房間”,結構變量?jì)热轂椋?/SPAN>

          房間- -照明狀態(tài)1             離散型

              - - 照明控制指令1            離散型

              - -照明定時(shí)選擇1             離散型

              - -照明時(shí)間表1                 整數型

              - -照明報警1                     整數型

              ……

       

          在數據詞典里對于每個(gè)房間建立一個(gè)變量類(lèi)型為“房間”的變量,所有房間的變量均以房間號命名,如:房間1101、房間1102、房間1103……,同時(shí)建立一個(gè)命名為“房間內部”的中間變量。

       

      4.1    方案流程圖(如圖1所示)

      1  方案流程圖

      4.2   畫(huà)面與程序實(shí)現

          在工程中按照宿舍的布局分別建立8棟宿舍的畫(huà)面,同時(shí)建立所有房間共用的內部公共畫(huà)面

      熱點(diǎn)新聞

      推薦產(chǎn)品

      x
      • 在線(xiàn)反饋
      1.我有以下需求:



      2.詳細的需求:
      姓名:
      單位:
      電話(huà):
      郵件:
      欧美精品欧美人与动人物牲交_日韩乱码人妻无码中文_国产私拍大尺度在线视频_亚洲男人综合久久综合天

    2. <blockquote id="fficu"><optgroup id="fficu"></optgroup></blockquote>

      <table id="fficu"></table>

      <sup id="fficu"></sup>
      <output id="fficu"></output>