999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ExcelVBA實現空調箱離心風機段自動排布的程序設計

2019-03-25 08:01:52張文曉
電腦知識與技術 2019年3期

張文曉

摘要:該文旨在介紹一種如何利用編程的方法,實現空調箱離心風機段的自動排布,以及參數輸出。并且利用Excel調用AutoCAD,利用輸出數據自動畫布局圖,從而對輸出數據進行檢驗。

關鍵詞:空調箱;離心風機;Excel VBA;字典;CAD自動畫圖

中圖分類號:TP311? ? ? 文獻標識碼:A? ? ? ?文章編號:1009-3044(2019)01-0100-04

1 概述

隨著市場競爭越來越白熱化,如何全方位地滿足客戶需求受到越來越多賣方的關注。他們不僅比過去更關注客戶的真實需求,而且千方百計地去滿足這些需求,以期占領更多的市場。在空調制造行業,特別是商用機領域降低成本、縮短交貨周期是客戶非常關注需求。而在空調箱這塊市場,由于入門的門檻低,技術優勢不明顯,越來越多的中小企業加入這一產品的競爭中。在此市場形勢下,如何完善產品型譜,為客戶提供盡可能多的可選配置,成了空調箱產品的發展方向。但是,組合數的增加,對于設計來說往往意味著工作量的增加,那么,如何找到一種辦法進行批量設計,成為亟待解決的問題。

例如本文中所述設計實例,以空調箱尺寸、風機型號、電機型號為變量的組合數,有將近4萬種之多。由于數據量龐大,在傳統是設計中,往往是以尺寸把產品分為幾個段,然后成立幾個項目分別設計。但這種方法的弊端是——設計周期長,前后設計不能遵循一致的設計原則,產品不能標準化。在具體的實現手段上,傳統設計往往是在Excel中用公式進行尺寸計算,從而選擇風機電機的排布方案。但面對復雜邏輯時,公式會變得異常復雜難以閱讀,并且很容易出錯,也不利于后期擴展。

基于這種現狀,本文介紹一種如何在Excel中搭建數據結構,并且用VBA編程的方法,將整個設計的邏輯用程序語言寫出來,以便實現大量數據的批量計算,同時方便后續的擴展。并且在數據檢驗的時候,程序可以調用AutoCAD,實現自動創建布局圖,使得數據檢驗可視化。

2 解決方案

2.1 背景介紹

2.1.1 設計輸入與輸出

風機段是空調箱產品的重要功能段,離心式風機是末端機組常用到的風機類型。每一個size的空調箱,對應多種長寬尺寸(用模數表示),每個size可選的風機有多種,而每種風機可選的電機又有多種,電機本身又分IE2,IE3,變頻等類型,將每個變量的個數累乘即為可選的組合數。離心風機以及電機的選型,風機廠商都有專業的選型軟件,本文不再贅述。本文主要針對的情況是——風機、電機型號已經選定的前提下,如何利用程序生成配置表,并驗證每種配置是否存在,如果存在該如何合理地排布。

因此,設計輸入為:

a) Size與模數配對表;

b) Size與風機配對表;

c) 風機與電機配對表;

d) 風機尺寸表;

e) 電機尺寸表;

f) 其他輔助尺寸表。

設計輸出為:

A. 所以可能組合配置表;

B. 每種組合下的風機、電機排布方式(左右/前后);

C. 確定排布方式下的風口位置尺寸;

D. 風機段段長。

2.1.2 出風方式

組合空調機組的風機和電機是一起安裝在同一個風機架焊件上的,按風機的出口位置及其出風方式有下圖所示形式:

2.1.3 風機、電機排布

風機、電機的主要排布方式為:

1) 左右排布:

2) 前后排布:

由于前后排布會造成段長增加,從而增加成本。所以,在排布的時候優先選用左右排布,如果左右排布空間不足,再考慮前后排布。

2.1.4 風機出風口位置

箱體內風機位置的正確布置與否,關系到風機進風口和出風口的氣流是否順暢,如果受到一定的阻礙或限制,為了補償由此而產生的靜壓損失就需要相應提高風機的轉速,同時也會相應增加了風機的噪聲、軸功率。

在我們常用的機組中,風機有時由于安裝空間有限,箱體兩側的面板很靠近風機進口,這就會限制進風空氣的流動,會使風機性能和送風量有不同程度的降低,為了使風機進口和出口的氣流順暢,最大限度地減少進出口氣流的壓力損失,風機進風口與側面板的距離應該大于最小許用距離,即WL&WR(圖4)≥最小許用距離。

因此,WL&WR的取值,也是判斷風機、電機組合能否放置到箱體里的重要條件。并且,如果空間允許,應盡量讓風口居中放置,這樣有利于進風口空氣流動。

2.2 設計流程

2.2.1 數據結構與程序模塊

基礎數據表格格式:

1) 第一列為數據查詢ID(不能有重復,便于后面裝入字典對象);

2) 數據區域應該為連續區域,不應有空行或者空列;

3) ID列格式設為文本,數據區域設為數值;

4) 將與某個部件相關的尺寸放在一張表里,不要離散到其他表;

5) 刪除其他冗余數據,保持數據整潔,格式統一。

程序模塊與操作界面:

注意,從操作界面中可以看到,在Class Modules里,建了風機、電機、風機之間等類,這樣在調用數據的時候,可以利用VBA的字典對象,將多列數據裝入字典來模擬微型數據庫功能,加快數據檢索、查詢速度,從而加快程序運行速度。由于篇幅有限,如何實現,會在另外一篇文章中加以闡述。

除此之外,在編碼的時候,可以直接調用類里面的屬性,增加代碼的可讀性。例如,在Fan類里,可以定義FanW,FanH等屬性,代表風機的寬和高,這樣在編碼的時候,即可直接調用FanW,FanH屬性。如下圖9所示:

2.2.2 算法介紹

2.2.2.1 遍歷所有組合,生成配置表

在Excel VBA編輯器的Modules里插入Config模塊(如圖7所示),并編寫程序遍歷每一個Size、Module、風機、電機、電機類型組合。其本質是遍歷如圖10所示樹型數據結構,把所有可能分支展開。

2.2.2.2 驗證空間安裝,并求安裝方式

如何排布風機與電機,是此次程序設計算法的核心。如圖8所示,在Modules里插入Calculation模塊,并在此模塊下添加代碼。代碼主要功能是實現排布方式判斷、風口位置及段長計算,以及結果數據輸出。

驗證風機、電機空間空調箱截面里能否放下邏輯如下(詳見程序流程圖11):

1) 水平方向判斷(判斷電機尾部距離面板間隙)

風機電機左右放置,判斷能否放下;

由于左右放置的時候段長最短,所以如果左右放置空間夠,優先選擇左右放置。

如果左右放不下,判斷前后放置能否放下;

如果都放不下,此組合不存在。

2) 高度方向判斷(判斷風機支架頂部與頂部面板之間間隙)

如果高度方向能放下,則可以確定排布代碼;

如果高度方向放不下,則此組合不存在。

2.2.2.3 根據安裝方式求開口位置

如果排布方式計算結果為左右排,則WL(見圖4)為:

1) 求能放下此風機+電機的最小箱體寬度;

2) 算出當前機型寬度與最小寬度差值,左右均分給WL和WR。

如果排布方式計算結果為前后排,則WL為:

3) 如果風口居中,空間滿足,則令WL=WR=箱體寬-風口寬;

4) 如果風口居中,空間不足,則令WR=最小許用距離,即風機電機移動到最右,

如果滿足,則WR=最小許用距離,WL=箱體寬-風口寬-WR。

2.2.2.4 根據安裝方式,求段長

在計算段長時,要事先設計好每種風機、電機組合的風機底盤。并且根據2.2.2.2求得的排布代碼,檢索出風機底盤的長度,并在進風口、出風口預留一定空間,從而算出段長L1。當然,在設計風機底盤的時候,已經考慮了皮帶輪、皮帶的選型,以及風機電機中心距。理想化地,可以將風機、電機中心距計算、風機底盤長度的計算也一并用程序實現,但在本例中,由于風機底盤之前已經設計好,故程序只需要調用風機底盤的數據即可。段長(L1)的在不同出風方式下的計算示意圖如下:

2.2.3 結果數據輸出

將上述步驟中計算得到的排布代碼、WL&WR、段長L1、風口尺寸等參數,輸出到Output表單里。

注意,為了加快程序運行速度,因把結果數組數據,一次性賦值給區域,而不應逐個單元格賦值。

2.2.4 數據檢驗

2.2.4.1 Excel驅動CAD實現自動排圖

在結果數據輸出以后,經過數據檢驗程序,如果檢驗出問題數據如何驗證?直觀的辦法就是在CAD里作圖,看排布的情況到底如何。那么如果程序能夠根據結果數據,調用CAD自動畫排布圖,那么會使問題數據的檢驗、甄別非常高效。

如圖7所示,在VBA程序編輯器的modules里插入Draw模塊,用于編寫畫圖代碼。自動畫圖實現的手段為:

1) 先將風機、電機做成圖塊,存在一個固定模板里;

2) 利用程序調用此模板,并調用2.2.3輸出的結果數據,實現圖塊的自動組裝;

3) 與此同時,完成箱體邊框、風口的繪制,以及尺寸的標注等過程。

生成Layout圖形如圖13所示:

3 優勢分析

3.1 效率的提高

當數據量足夠大,計算邏輯十分復雜的時候,再用傳統手段在Excel中用公式計算,會使整個計算過程變得更加復雜。過程中產生很多中間參數,會使計算表單的數據量更加龐大,從而使操作變得異??D。并且用公式索引數據也會造成公式不具有可讀性(過長),為以后調試以及修改造成很大困難。

程序對于處理大數據計算無疑是最好的選擇,一旦程序設計好,運行時間是可以忽略的。尤其在設計要變更,邏輯變化的時候,只需要修改少量代碼即可實時地得到運算結果。

3.2 設計過程標準化

傳統設計手段在面臨如此大數據量的時候,只能通過分段,分項目逐次設計的辦法實現。但這樣很難保證兩次設計的一致性,從而使設計不能按照統一原則進行。為以后統型、修改帶來不便。

如果用程序設計,程序代碼本身就是對整個設計過程的很好記錄。程序運行可以保證結果數據是按照統一規則得到,可以大大降低錯誤發生率。

3.3 方便后續擴展

用傳統的設計手段,如果想新增模數、風機、電機型號,那意味著要重復整個設計過程。而用程序設計,只需要擴展基礎數據表,再運行一下程序,即可得到結果,大大方便了后續數據的擴展。

并且,本例中是研究離心風機的排布,如果是直連風機或者其他型號風機的項目,只需要把核心計算模塊部分的代碼加以修改,整個程序框架不需要改動,即可在短時間內完成新程序設計。

4 結束語

本文主要闡述了如何將一個離心風機排布的設計過程程序化,并且用程序的手段,將數據快速地變成AutoCAD中的圖形,以便實時進行數據可視化檢驗。

需要說明的是,本文旨在介紹一種設計思路,對計算過程中的細節沒有一一列舉。讀者可根據具體項目完成自己的算法設計。

當然,此設計思路仍然具有擴展空間。例如,在可以增加其他程序模塊,來計算風機底盤、槽板以及其他內部零件的尺寸,并且將這些尺寸以一定格式輸出到Excel表單。如果用Creo軟件進行建模、出圖,那么可以將數據格式設計成和Creo里的族表里參數格式一致。這樣,從Excel里輸出的數據,作為三維建模時的輸入,直接復制到族表里,即可驅動Creo實現批量模型生成。如此,即可完成從設計輸入(參數表),到設計輸出(模型、圖紙)的整個過程的參數化、自動化。

參考文獻:

[1] 張帆,鄭立楷,王華杰.AutoCAD VBA 開發精彩實例教程[M].北京:清華大學出版社,2004.

[2] Excel Home.Excel VBA 實戰技巧精粹[M]. 北京:人民郵電出版社,2013.

【通聯編輯:梁書】

主站蜘蛛池模板: 国产精品视频999| 免费一级无码在线网站| 国产精品无码一区二区桃花视频| 免费av一区二区三区在线| 她的性爱视频| 亚洲综合中文字幕国产精品欧美| 日韩a级毛片| 动漫精品啪啪一区二区三区| 国产午夜在线观看视频| 尤物特级无码毛片免费| 黄色网页在线播放| 国产99精品久久| 久草视频中文| 天天综合天天综合| 国产精品综合色区在线观看| 免费一看一级毛片| 欧美人在线一区二区三区| 成人精品午夜福利在线播放| 少妇极品熟妇人妻专区视频| 久久精品女人天堂aaa| 国产91无毒不卡在线观看| 四虎精品国产AV二区| 无码专区在线观看| 欧美日韩一区二区在线播放| 亚洲h视频在线| 亚洲成人免费看| 国产人成在线视频| 欧美成人h精品网站| 高清无码不卡视频| 成人欧美日韩| 97se综合| 免费播放毛片| 91精品国产91久无码网站| 亚洲天堂伊人| 亚洲综合二区| 日韩一级二级三级| 亚洲自拍另类| 人妻精品久久无码区| 久久亚洲黄色视频| 91在线视频福利| 免费在线成人网| 欧美区在线播放| 国产精品美女网站| 亚洲三级成人| 一本综合久久| 亚洲视频免| 国产区在线看| 98超碰在线观看| 毛片手机在线看| 操操操综合网| 欧洲一区二区三区无码| 天天综合色天天综合网| 一本久道久久综合多人| 国产伦精品一区二区三区视频优播| 四虎永久在线精品影院| 精品国产毛片| 在线色综合| 91精品国产一区自在线拍| 91久久夜色精品国产网站| 不卡无码网| 精品福利视频网| 9999在线视频| 久热中文字幕在线观看| 亚洲国产成人自拍| 久久综合九色综合97网| 69精品在线观看| 四虎国产永久在线观看| 视频二区亚洲精品| 999精品视频在线| 无遮挡国产高潮视频免费观看| 激情国产精品一区| 国模私拍一区二区| 亚州AV秘 一区二区三区| 奇米精品一区二区三区在线观看| 免费xxxxx在线观看网站| 欧美另类图片视频无弹跳第一页 | 精品视频福利| 亚洲一区二区无码视频| 亚洲不卡影院| 亚洲国产第一区二区香蕉| 亚洲Va中文字幕久久一区| 四虎影院国产|