1、28化工设计 2023,33(4)CHEMICAL ENGINEERING DESIGNPDMS 项目阀门 Commodity Code 软件开发应用邹培轩*中海油石化工程有限公司青岛266101摘要本文主要介绍利用 PDMS 内置 PML 编程语言进行阀门 Commodity Code 开发的思路及程序应用效果。关键词阀门PDMSPMLCommodity Code DOI:10.3969/j.issn.1007-6247.2023.04.007*邹培轩:2014 年毕业于辽宁石油化工大学化学工程与工艺(石油加工方向)专业,管材工程师。现主要从事石油化工管道及材料设计工作。联系电话:18866
2、280207,E-mail:。随着项目工程设计与采购施工结合越来越紧密,许多工程项目要求设计出的管道材料表带Commodity Code(元件代码)。在某大型国际总承包项目中,业主明确要求管道专业发表的管道材料表带 Commodity Code。经过综合考虑工期、费用等因素,决定对除阀门外的工程材料,先利用 SRD(Smart Reference Data)建立等级库,再利用 SRD 与 PDMS 的接口导入 PDMS 中,然后利用二次开发的映射程序,将 Commodity Code和详细描述赋给已经存在的管道等级。对于阀门的 Commodity Code,主要是先制定项目级的编码规则,然后利
3、用 PDMS 内置的编程语言 PML 进行软件开发来进行 Commodity Code 的建立。软件开发采用 PDMS 自带的 PML 语言来完成,PML 是 AVEVA 产品内置的开发语言,是 AVEVA产品命令的集合,功能强大,与软件所有模块无缝对接,同时又具有简化的图形用户界面。1项目特点该项目由于其介质特殊性及复杂性,涉及的材质类别很多,阀门的特殊要求多,采用 SRD 进行阀门 Commodity Code 的建立,不仅难度大,且耗时耗力,不能满足项目管道材料表的要求。因此针对该项目,单独制定了一套项目级的阀门Commodity Code 规则,并通过软件开发来满足合同的要求。2软件开
4、发思路软件开发的目的主要有如下四点:制定项目级通用阀门的 Commodity Code 的编码规则;对比利用 SRD 生成阀门 Commodity Code,具有效率高、周期短、可读性高、可操作性高的优点;构成阀门 Commodity Code 的中间数据可以通过软件开发,保存在 PDMS 数据库中,方便数据追溯和校核人校对数据库;灵活性高,可满足不同业主方要求。2.1制定阀门 Commodity Code 规则通过借鉴 SRD 针对阀门的编码规则并结合项目情况,制定规则如下:Rule:Group+Part+Design Code+Rating+End Prep+Operating+Body
5、Material+Tag Number(中间的字符-用 ZZZZ 替代)。规则描述如下:Group:阀门的大类,用 2 位英文字母表示,均用 PV 表示。Part:阀门的小类,用 1 位英文字母表示。详见表 1。Design Code:阀门设计标准,用 3 位英文字母表示。详见表 2。Rating:阀门压力等级,用 1 位英文字母表示。详见表 3。End Prep:阀门端面连接形式,用 2 位英文字母表示。详见表 4。Operating:阀门操作形式,用1位英文字母表示。详见表 5。Body Material:阀门主材,用 3 位英文字母表示。详见表 6。Tag Number:阀门标识,Tag
6、 number 和项目有关,每一个 Tag Number 对应一种阀门的详细规格邹培轩PDMS 项目阀门 Commodity Code 软件开发应用292023,33(4)描述,主要包括阀门的内件材质、阀杆材质、密封面材质以及一些特殊要求,例如酸性介质对阀门的特殊要求。在制定 Commodity Code 规则的时候,通过加入 Tag Number 来进行 Commodity Code与 Tag Number 的关联。考虑到 Tag Number 中常有字符-,但 Commodity Code 一般不包含特殊字符,因此,在进行 Commodity Code 建立时,用四个大写字母 ZZZZ 替
7、代字符-。下面通过 PVG2FKDFAF2ABGAZZZZ1A12 来详细解释编码规则:PV-GroupG-Part2FK-Design CodeD-RatingFA-End PrepF-Operating2AB-Body MaterialGAZZZZ1A12-Tag Number表 1阀门类别-Part 示例标识码描述标识码描述BBall ValveKJacket Check ValveCCheck ValveLGlobe ValveDDiaphragm ValveNNeedle ValveGGate ValvePPlug ValveJJacket Ball ValveYButterfly
8、Valve表 2设计标准-Design Code 示例标识码描述2FAAPI 6D/ASME B16.34/ASME B16.102FBAPI600/ASME B16.34/ASME B16.102FCAPI602/ASME B16.34/ASME B16.102FDAPI608/ASME B16.34/ASME B16.102FEISO 15761/ASME B16.34/ASME B16.102FFAPI623/ASME B16.34/ASME B16.102FGAPI609 Category B lug Type2FHAPI609 Category B Double Flanged(Sh
9、ort Pattern)2FJAPI594 Type A Lug Check/ASME B16.342FKAPI 6D/ASME B16.34/MSS SP-117,ASME B16.102FLISO 15761/ASME B16.34/MSS SP-117,ASME B16.102FMAPI623/ASME B16.34/MSS SP-117,ASME B16.10表 3压力等级-Rating 示例标识码描述标识码描述DCL150PCL1500ICL300RCL2500LCL600SCL4500NCL900表 4端面形式-End Prep 示例标识码描述 FARF Flange To ASM
10、E B16.5FBRF Flange To ASME B16.47 AFCFF Flange To ASME B16.5FDFF Flange To ASME B16.47 AFEButting Welding To ASME B16.25FFNPTF To ASME B1.20.1表 5操作形式-Operating 示例标识码描述 标识码描述 ABevel Gear OperatorHDiaphragm,pneumaticBDrive,gear operatorIIndicator postCLeverKMultiport DSpur Gear OperatorGGearEWrench,sh
11、ortRAuto-Sping Return LeverFHand WheelWWorm Gear表 6阀门主材-Body Material 示例标识码描述2AAASTM A105N2ABASTM A105N(NACE)2ACASTM A105N+PTFE lined2ADASTM A105N+Alloy 825 Clad2AEASTM A216 WCB2AFASTM A216 WCB(NACE)2AGASTM A216 WCB(or ASTM A105N)+PTFE lined2AHASTM A216 WCB(or ASTM A105N)2HJASTM A216 WCB(NACE)or AST
12、M A105N(NACE)2HKASTM A216 WCB(or ASTM A105N(NACE)+Alloy 825 Clad2ALASTM A182 F512AMASTM A182 F304L2ANASTM A182 F316L2APASTM A182 F316/316L Dual Certified2AQASTM A351 CF32ARASTM A351 CF3M2ASASTM A351 CF8M/CF3M Dual Certified2ATASTM A494 N088262AUASTM B564 UNS N088252AVASTM A350 LF2 CL12AWASTM A352 LC
13、C2BAASTM A995 Gr.4A2BBASTM A216 WCB(or ASTM A105N)+S31803(THK 3 mm)weld overlay30化工设计 2023,33(4)CHEMICAL ENGINEERING DESIGN2.2数据定义为了将构成阀门 Commodity Code 的中间数据保存在 PDMS 数据库中,建立如下自定义属性用于保存中间数据,详见表 7。在实际建立阀门 Commodity Code 的过程中,记录的中间数据详见图 1。表 7自定义属性列表自定义属性描述自定义属性描述:PDMSSpco_GtypeofCatref阀门的 Gtype:PDMSSp
14、co_End_PrepDesc阀门的端面类型描述:PDMSSpco_Group阀门的大类,默认为值 PV:PDMSSpco_Material阀门的主材:PDMSSpco_Part阀门的小类:PDMSSpco_MaterialDesc阀门的主材描述:PDMSSpco_PartDesc阀门的小类描述信息:PDMSSpco_Tagnumber用于记录阀门的 Tag Number:PDMSSpco_Standard阀门的设计标准:PDMSSpco_CommodityCode用于记录阀门的 Commodity Code:PDMSSpco_StandardDesc阀门的设计标准描述:PDMSSpco_Co
15、mmodityCodeDesc用于生成阀门的描述信息:PDMSSpco_Rating阀门的压力等级:PDMSCate_ValveTrueType用于判断阀门的类别:PDMSSpco_RatingDesc阀门的压力等级描述:PDMSCate_ValveRating用于判断阀门的压力等级:PDMSSpco_End_Prep阀门的端面类型2.3软件界面软件的主界面通过使用 PML 进行开发,主要包含如下功能:展 示 Commodity Code;生 成 Commodity Code;启动生成阀门 Part 的窗体;启动生成阀门 Rating 的窗体;启动生成阀门 Operating 的窗体;启动生成
16、阀门 Tag Number 的窗体;检查漏项、缺项(红色字体标记);生成阀门的Design Code;生成阀门的 Body Material;生成阀门的 End Prep 等主要功能。软件主界面详见图 2。部分示例代码如下:define method.ssavework()-getSatandardData !getSatandardData=!this.standard.selection()!tempDetail=!getSatandardData.substring(1,4).图 1记录信息trim(LR)!tempDesc =!getSatandardData.substring(4).trim(LR).replace(”,)if!this.grid.GetSelectedRows().size()eq 0 then !alert.message(请先选择需要修改的行)return endif do!x from 1 to!this.grid.GetSelectedRows().size()!this.target=!this.grid.GetSelectedRows()!x1