CN105320806B - PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法 - Google Patents
PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法 Download PDFInfo
- Publication number
- CN105320806B CN105320806B CN201510519967.5A CN201510519967A CN105320806B CN 105320806 B CN105320806 B CN 105320806B CN 201510519967 A CN201510519967 A CN 201510519967A CN 105320806 B CN105320806 B CN 105320806B
- Authority
- CN
- China
- Prior art keywords
- pipeline
- excel
- vba
- pml
- summarizing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种将PML与Excel‑VBA编程方法相结合进行处理数据,汇总核电工艺管道材料的方法。该方法在PDMS中运行通过PML编写的程序,抽取管道三维模型中需要的属性,加入到数组集合,导出成txt文本,然后利用Excel的数据分列把每行的数据进行分列,在利用Excel‑VBA编写程序处理数据,生成最终需要的清单。本发明一方面可以方便的使用PML直接调用PDMS中自带的命令属性,别一方面可以享受到Excel‑VBA快速而且强大的数据处理功能,也提高了编程开发效率,减少不必要的工作量。
Description
技术领域
本发明涉及核电站设计中工艺管道材料的汇总方法,具体涉及一种将PML与Excel-VBA编程方法相结合进行处理数据,汇总核电工艺管道材料的方法。
背景技术
工程软件自带编程语言(如PDMS中PML)处理数据功能十分有限,主要存在以下问题:(1)PML中数组存放数据量有限,当数据超过一万行的时候,对其数组变量进行操作时容易发生内存溢出,造成统计程序异常退出;(2)PML做分类求和统计,需要先构造一个数组把全部的元件名称识别码加入,删除重复项,和原来的全部元件数据中的名称识别码进行两层循环对比,识别码相同就进行自加运算,该算法繁冗,加上计算机多核运算对PML支持不是很好,造成软件统计运行时间过长;(3)PML中对数组进行排序(如按管径大小排列),需要把管径所处于的文本列转化整数,再按大小排列,生成新的级数序列,再按照排序之前数组的序列对号填进去,相当做了两次循环;(4)做表格排板和输出结果直观性不够强,PML只能输出最接近Excel格式的CSV(逗号分隔符文本),两个逗号之间相当于Excel中的一列,如果要求输出的表格其中第7列为空白,那么在编写PML输出文本时候,第7个和第8个逗号之间是不能加入任何变量的,意味着调试程序时候需要人工去数原代码中逗号数量,逗号分隔符文本对单引号和双引号比较敏感,视为一段文本值,恰好管道专业一般用”代表英寸单位,在输出CSV时,容易造成板式混乱;(5)CSV只能保存一个工作表,不方 便分类存放数据。以上原因影响了开发调试周期。
另外,在不同核电项目中出汇总材料表,由于有不同的命名规则,需要大量修改PML文本处理代码来适应新的环境。
发明内容
本发明的目的在于针对现有工程软件自带编程语言处理数据中存在的缺陷,提供一种PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法,以便于工程使用,并缩短调试开发时间,减少工作量。
本发明的技术方案如下:一种PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法,包括如下步骤:
(1)通过PML编程,将管道分支BRAN按照系统位号、管道等级、房间号进行汇总;
(2)在PML编制的程序中,针对汇总好的每一个管道分支BRAN,统计各个BRAN的长度,收集管道元件信息参数,统计各个BRAN下面的管道元件个数,并加入数组;
(3)将数组合并汇总信息,把每个管道分支BRAN存放的清单,导出特殊符号分隔符文本;
(4)将特殊符号分隔符文本导入Excel程序中,利用数据分列,得到标准的Excel文件;
(5)利用Excel-VBA编程,处理数据汇总出Excel格式的管道清单。
进一步,如上所述的PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法,其中,针对新的工程项目汇总工艺管道材料时,通过修改Excel-VBA中的处理数据代码生成新的工程项目管道清单。
进一步,如上所述的PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法,步骤(2)中所述数组的核心列包括:管道元件标识码,管道元件数量,管道元件所在管段直径,管道分段直径,管道分段长度。
进一步,如上所述的PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法,步骤(3)中所述的数组合并方法为:以每一个管道元件标识码为依据,根据所在管段直径,进行对管道元件的数量求和;再进行不同直径的管段长度进行求和。
本发明的有益效果如下:本发明通过PML结合Excel-VBA进行混合编程,一方面可以方便的使用PML直接调用PDMS中自带的命令属性,别一方面可以享受到Excel-VBA快速而且强大的数据处理功能,也提高了编程开发效率,减少不必要的工作量。本发明可以解决通过PML常规编程方法中遇到问题:a)在Excel中,单张工作表可以存放1048576行数据,支持多张工作表;b)求和可以用自带的sum函数快速得出结果;c)进行排序时候,可以进行自定义排序(数值文本),其余的列数据会和排序列联动排序;e)在Excel中对行和列操作,比如移动,都很方便。另外,本发明在用于统计别的新项目时,可保证利用PML导出的管道分支上数据结构不变的前提下,仅修改Excel-VBA的数据处理代码就可以适应新的工程命名规则。
附图说明
图1为三维管道模型层次命名规则;
图2为本发明的方法流程图;
图3为PDMS中执行PML程序的示意图;
图4为导出的带特殊分隔符号的TXT文本;
图5为利用Excel数据分列处理之后的数据示意图;
图6为Excel-VBA数据处理代码;
图7为Excel格式管道清单示意图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
如图1所示,核电站三维管道模型命名按WORLD→SITE→ZONE→PIPE→BRAN的层次进行,这是PDMS管道三维建模的管道数据层次。
如图2所示,本发明提供的PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法,包括如下步骤:
(1)通过PML编程,将管道分支BRAN按照系统位号、管道等级、房间号进行汇总,该方法先用PML编程把每一段BRAN(管道分支)比如/1VVP0002-32”-TAC-R54-R812按照系统位号(VVP)、管道等级(TAC)、房间号(R54)汇总;
(2)让PML程序在汇总好的每一个BRAN循环,统计各个BRAN的长度,收集管道元件信息参数(比如材料,等级),统计BRAN下面的焊缝、阀门等管件个数,只需要列出单个BRAN下面的信息,并加入数组;所述数组的核心列包括:管道元件标识码,管道元件数量,管道元件所在管段直径,管道分段直径,管道分段长度;
(3)将数组合并汇总信息,把每个BRAN存放的清单,导出特殊符号分隔符文本;所述数组合并方法为:以每一个管道元件标识码为依据,根据所在管段直径,进行对管道元件的数量求和,再进行不同直径的管段长度进行求和;特殊符号分隔符文本是利用PML编制从PDMS模型提取信息生成的中间过程文件,后期用ExcelVBA编程再进行数据处理;
(4)将特殊符号分隔符文本导入Excel程序中,利用数据分列,得到标准 的Excel文件;
(5)利用Excel-VBA编程处理数据,导出Excel格式管道清单;Excel-VBA所编程序的处理逻辑为:以管道元件标识码为依据,做全部元件数量的求和,再调用该管道元件标识码相关的信息参数,把信息参数填到管道清单相应的列。
针对新的工程项目汇总工艺管道材料时,因为PDMS中的数据库结构不变,所以利用PML导出的管道分支上数据结构也是不变的,只需通过修改Excel-VBA中的处理数据代码生成新的工程项目管道清单。
下面提供一个具体的实施例。
首先在PDMS中运行通过PML编写的程序,运行的具体程序如图3所示,通过PML程序抽取管道三维模型中需要的属性,加入到数组集合。将数组合并汇总信息,把每个BRAN存放的清单,导出特殊符号分隔符文本,特殊符号分隔符文本如图4所示,是一种txt文本,能够直接被Excel打开,本实施例中该文本的分隔符号为_。将特殊符号分隔符文本导入Excel程序中,利用Excel的数据分列功能把每行的数据进行分列,具体处理界面如图5所示。再利用Excel-VBA编写处理数据的程序,程序代码可参照附图6所示,生成最终需要的Excel格式管道清单,见图7。
对于Excel-VBA编写的具体程序并不局限于图6所示的代码内容,本领域的技术人员完全可以依据数据处理的逻辑和流程自行编写。
本发明应用在统计大宗管道材料具有以下效果:a.在核电站设计中,管道部分占整个工程经济工程量比例最大,管道走向复杂,管径大小不一,管件数量非常多,该应用可以缩短软件统计运行的时间,更加准确的从PDMS三维管道模型中统计出全部管道长度,元件数量,按照需要分类存放在一个工作簿的不同工作表,输出表格更加直观化,以便用于工程使用;b.在分别统计不同项目的管道大宗材料,只需要在Excel-VBA修改处理命名规则和输出表格样式的代码,PML代码不需要进行修改,缩短调试开发工作量。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (2)
1.一种PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法,包括如下步骤:
(1)通过PML编程,将管道分支BRAN按照系统位号、管道等级、房间号进行汇总;
(2)在PML编制的程序中,针对汇总好的每一个管道分支BRAN,统计各个BRAN的长度,收集管道元件信息参数,统计各个BRAN下面的管道元件个数,并加入数组,所述数组的核心列包括:管道元件标识码,管道元件数量,管道元件所在管段直径,管道分段直径,管道分段长度;
(3)将数组合并汇总信息,合并方法为:以每一个管道元件标识码为依据,根据所在管段直径,进行对管道元件的数量求和;再进行不同直径的管段长度进行求和,把每个管道分支BRAN存放的清单,导出特殊符号分隔符文本;
(4)将特殊符号分隔符文本导入Excel程序中,利用数据分列,得到标准的Excel文件;
(5)利用Excel-VBA编程,处理数据汇总出Excel格式的管道清单。
2.如权利要求1所述的PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法,其特征在于:针对新的工程项目汇总工艺管道材料时,通过修改Excel-VBA中的处理数据代码生成新的工程项目管道清单。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510519967.5A CN105320806B (zh) | 2015-08-21 | 2015-08-21 | PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510519967.5A CN105320806B (zh) | 2015-08-21 | 2015-08-21 | PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105320806A CN105320806A (zh) | 2016-02-10 |
CN105320806B true CN105320806B (zh) | 2021-08-24 |
Family
ID=55248186
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510519967.5A Active CN105320806B (zh) | 2015-08-21 | 2015-08-21 | PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105320806B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815376A (zh) * | 2017-02-22 | 2017-06-09 | 天津渤海化工集团规划设计院 | 管材文件管理方法及系统 |
CN108536981A (zh) * | 2018-04-18 | 2018-09-14 | 宁夏通信规划设计院(有限责任公司) | 通信管道工程设计工作量及材料预算表自动化生成模型 |
CN111415418A (zh) * | 2020-04-26 | 2020-07-14 | 北京英贝思科技有限公司 | 一种基于Unity3d优化管道类三维模型的方法 |
CN112416197B (zh) * | 2020-11-23 | 2021-12-03 | 山东师范大学 | 基于Excel和VBA的程序单步演示装置及方法 |
CN112734403A (zh) * | 2020-11-23 | 2021-04-30 | 河北辛通路桥建设有限责任公司 | 一种基于Excel-VBA编写的公路工程施工成本管理系统 |
CN112948907B (zh) * | 2021-01-28 | 2022-05-10 | 天津博迈科海洋工程有限公司 | 一种基于e3d软件的管道自动分组方法 |
CN117408338B (zh) * | 2023-12-14 | 2024-03-12 | 神州医疗科技股份有限公司 | 基于中国药典的中药饮片知识图谱的构建方法和系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7720809B2 (en) * | 2006-06-06 | 2010-05-18 | Microsoft Corporation | Application integration using XML |
CN103885926A (zh) * | 2014-01-19 | 2014-06-25 | 涂志芳 | 应用Excel函数编排运动会秩序册的方法 |
CN104573181A (zh) * | 2014-12-01 | 2015-04-29 | 艾法能源工程股份有限公司 | Pdms保温管路模型中保温材料的统计方法 |
CN104537150A (zh) * | 2014-12-01 | 2015-04-22 | 艾法能源工程股份有限公司 | 在pdms中对管支架材料的统计方法 |
-
2015
- 2015-08-21 CN CN201510519967.5A patent/CN105320806B/zh active Active
Non-Patent Citations (2)
Title |
---|
"催化裂化装置中管道工程量分布浅析";李忠忠;《广州化工》;20140831;第42卷(第15期);第189-191页 * |
"利用PML语言开发PDMS建模";张博 等;《数字技术与应用》;20140630;第189、191页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105320806A (zh) | 2016-02-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105320806B (zh) | PML结合Excel-VBA处理数据汇总核电工艺管道材料的方法 | |
CN104268428B (zh) | 一种用于指标计算的可视化配置方法 | |
CN103309904B (zh) | 一种生成数据仓库etl 代码的方法及装置 | |
CN106874244B (zh) | 一种基于工作序列的文档自动生成模型的构建方法 | |
CN107145686B (zh) | 一种利用AutoCAD创建支架ANSYS有限元分析模型的方法 | |
US20120150820A1 (en) | System and method for testing data at a data warehouse | |
CN106529028B (zh) | 一种工艺规程的自动生成方法 | |
CN104778540A (zh) | 一种建材装备制造bom管理方法及管理系统 | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN104020994B (zh) | 基于流系统的流过程定义装置和流过程定义方法 | |
CN105975466A (zh) | 一种面向短新闻的机器写稿方法及装置 | |
CN105843821A (zh) | 一种可配置报表的数据处理方法及系统 | |
CN105279269A (zh) | 一种支持表自由关联的sql生成方法和系统 | |
CN103218448B (zh) | 自助式报表生成方法、装置与系统 | |
CN102629204B (zh) | 网页源代码生成方法及装置 | |
CN103019934B (zh) | 基于数据代码分离技术的测试用例生成方法 | |
CN103995781A (zh) | 一种基于模型的构件测试用例生成方法 | |
CN109272571B (zh) | 一种PDS三维数据转换为Flowmaster模型的系统和方法 | |
CN103955577A (zh) | 一种机械设备的计算机自动设计方法 | |
CN107179910A (zh) | 一种在线编辑即时生效的逻辑组态方法 | |
CN106599064A (zh) | 一种适用于高端装备的复杂知识自动分类、获取及存储方法 | |
CN108829653A (zh) | 一种报表的生成方法、装置、设备及介质 | |
CN102968539A (zh) | 一种格式图纸的批量快速生成方法 | |
CN105955755A (zh) | 一种基于状态图的代码化验证方法 | |
CN102929853B (zh) | 基于Excel表单关联的DCS项目数据生成系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |