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

基于PCMS 系統(tǒng)的海洋工程浮體專業(yè)半成品管理功能的研究與應(yīng)用

2019-05-17 07:42:38吳濤曹紀慧
現(xiàn)代計算機 2019年10期
關(guān)鍵詞:管理

吳濤,曹紀慧

(海洋石油工程(青島)有限公司,青島 266000)

0 引言

眾所周知,浮體建造過程中結(jié)構(gòu)專業(yè)的原材料主要為板材或者型材,當原材料下料后到模塊或者船體總裝搭載前,每個建造階段所產(chǎn)生的結(jié)構(gòu)體統(tǒng)稱為半成品。本文概述了浮體建造過程中對半成品的管理方案,此方案主要用于浮體制造的下料、預(yù)制和裝配三個階段。下料工單完成工作量反饋后,通過半成品管理功能可篩選出具備下一階段建造條件的桿件,并根據(jù)工作階段和類型將數(shù)據(jù)進行合并或拆分,自動導(dǎo)出半成品材料清單,并能為下一階段的工單中進行材料預(yù)測預(yù)留,最終實現(xiàn)半成品管理。

1 PCMS系統(tǒng)

1.1 系統(tǒng)簡介

PCMS(Project Construction Management System)即工程項目建造管理系統(tǒng),是基于鷹圖公司SmartYard 軟件系列產(chǎn)品,在數(shù)據(jù)標準化和規(guī)范的基礎(chǔ)上,結(jié)合海洋石油工程股份有限公司建造事業(yè)部個性化的工程項目管理需求,定制開發(fā)的一套用于海洋工程類項目建造全生命周期管理的信息集成系統(tǒng)。系統(tǒng)以三個軟件SPF(基礎(chǔ)數(shù)據(jù)平臺)、SPC(施工管理模塊)、SPM(材料管理模塊)為基礎(chǔ),以工單為載體,打通設(shè)計、計劃、物資和生產(chǎn)的信息瓶頸,以符合行業(yè)內(nèi)AWP(Advanced Work Package)管理體系標準,提高建造施工組織效率。

1.2 工單和工單類型

根據(jù)AWP 管理體系標準,PCMS 系統(tǒng)的工單是一個IWP(Installation Work Packages)級別施工范圍,可動態(tài)展現(xiàn)該IWP 計劃、材料、設(shè)計、進度等信息。工單最重要的功能之一是實現(xiàn)材料預(yù)測預(yù)留,系統(tǒng)根據(jù)加工設(shè)計的材料需求和現(xiàn)場材料入庫情況進行精確匹配。在項目建造階段,每個專業(yè)的工單分為多種類型。以企鵝項目浮體專業(yè)為例,工單類型分別為下料、一級預(yù)制、二級預(yù)制、裝配、總裝。工單類型對應(yīng)著不同的施工階段。

2 半成品管理

從下料階段開始到總裝階段結(jié)束,每一個建造階段都會產(chǎn)生半成品。半成品建造完成后會存放在預(yù)制場地,不會進行入庫,因此下一建造階段的工單包含該半成品材料時,需要明確該半成品是否已經(jīng)完成建造并且檢驗釋放。通過PCMS 系統(tǒng)工單執(zhí)行情況,從而判別出半成品材料的建造狀態(tài),實現(xiàn)半成品管理,使各個建造階段都可以進行材料預(yù)測預(yù)留是本文研究的重點。

3 半成品完成狀態(tài)跟蹤報表的定制

半成品完成狀態(tài)跟蹤報表是通過用戶定義含有Schema 數(shù)據(jù)結(jié)構(gòu)的XML 文件在SmartPlant Foundation軟件中進行定制,此報表可導(dǎo)出當前生產(chǎn)項目工單執(zhí)行的完成量、完成時間等基本信息,并以xls 格式存儲。報表每行以該項目所有工單的工藝步驟為單位,表結(jié)構(gòu)如表1 所示。

表1 半成品完成狀態(tài)跟蹤報表的表結(jié)構(gòu)

Schema 數(shù)據(jù)結(jié)構(gòu)的核心定義如下所示:

由于報表作用域為整個Site,所有專業(yè)和工作階段的工單基本信息都會導(dǎo)出,為了過濾出浮體專業(yè)信息,在SmartPlant Foundation 中查找到半成品完成狀態(tài)跟蹤報表,編輯其定義,通過篩選條件過濾不必要的數(shù)據(jù)。例如篩選浮體專業(yè)的下料類型的工單,在Criteria一列增加篩選條件 Discipline=“Structural”,Purpose=“ST_Plate_Cut”or“ST_Shape_Cut”。

4 半成品管理

4.1 半成品管理原理

半成品管理的原理是在不同建造階段,建立原材料和半成品或者半成品和半成品之間的關(guān)聯(lián)關(guān)系。例如,下料工單中名稱為3SD-CR-DWG-S10-ST-0201-VL-A36-10-0003.TXT-01 某鋼板,其 NestingList 的屬性值為一個列表,包含本張鋼板下料后的所有桿件及數(shù)量信息,我們稱之為Nesting,每個Nesting 以“,”作為分隔。Nesting 的結(jié)構(gòu)為“桿件名稱”+“:”+“桿件數(shù)量”,即某下料方案下唯一的桿件名稱(TAG_ID)和該桿件數(shù)量(QTY)。某下料方案下的所有工藝步驟完成意味著此鋼板即具備下一階段建造即一級預(yù)制的條件。程序?qū)⒁韵铝戏桨柑枺―WG_ID)作為篩選條件,補充其他信息,導(dǎo)出下料后半成品。此鋼板下料后會產(chǎn)生余料,即屬性ExcessMaterialList 的值,與NestingList處理方式一樣,補充其他信息,作為下料半成品導(dǎo)出。除下料階段外,其他建造階段半成品管理是通過TagID實現(xiàn)的。例如一級預(yù)制工單,TagID 同為101_CS01_T1的桿件完成比全部達到100%,則將101_CS01_T1 作為下一階段建造的半成品導(dǎo)出。

4.2 半成品管理功能實現(xiàn)

根據(jù)半成品管理需求,功能實現(xiàn)通過開發(fā)插件讀取半成品狀態(tài)跟蹤報表,分析報表處理數(shù)據(jù)后,導(dǎo)出SmartPlant Material 軟件能夠識別的半成品入庫清單。插件引入pandas 庫進行xlsx 文件的讀寫操作,使用dataframe 數(shù)據(jù)結(jié)構(gòu)按工單類型篩選半成品狀態(tài)跟蹤報表進行數(shù)據(jù)分組。浮體專業(yè)半成品管理分為下料、預(yù)制、裝配和總裝四個階段,某些階段會根據(jù)工作小類型進一步細分。 例如下料階段分為板材下料(ST_Plate_Cut)和型材下料(ST_Shape_Cut),預(yù)制階段分為針對于T 型梁、組合梁、立柱、拉筋、舾裝預(yù)制件和其他結(jié)構(gòu)附件的一級預(yù)制(ST_1st_Fabr)和針對于船體板片和組塊甲板片的二級預(yù)制(ST_2ed_Fabr)。裝配階段分為船體分段裝配(ST_Block_Asse)和上部模塊裝配(ST

_Module_Asse)。在插件程序中數(shù)據(jù)分組代碼如下:

df=pd.read_excel(excel_path,sheetname=0)

# 按照不同的建造階段篩選數(shù)據(jù),使用dataframe 進行存儲

df_1st_Fabr=df[df["Purpose"]=="ST_1st_Fabr"]

df_2ed_Fabr=df[df["Purpose"]=="ST_2ed_Fabr"]

df_Block_Asse=df[df["Purpose"]=="ST_Block_Asse"]

df_Module_Asse=df[df["Purpose"]=="ST_Module_Asse"]

df_Erection=df[df["Purpose"]=="ST_Erection"]

df_Plate_Cut=df[df["Purpose"]=="ST_Plate_Cut"]

df_Shape_Cut=df[df["Purpose"]=="ST_Shape_Cut"]

#獲取關(guān)鍵字集合,預(yù)制和裝配工單關(guān)鍵字為ParentID,下料工單關(guān)鍵字為DrawingID

s_1st_Fabr_pid=set(df_1st_Fabr["ParentID"])

s_2ed_Fabr_pid=set(df_2ed_Fabr["ParentID"])

s_Block_Asse_pid=set(df_Block_Asse["ParentID"])

s_Module_Asse_pid=set(df_Module_Asse["ParentID"])

s_Erection_pid=set(df_Erection["ParentID"])

s_Plate_Cut_dwg=set(df_Plate_Cut["DrawingID"])

s_Shape_Cut_dwg=set(df_Shape_Cut["DrawingID"])

#結(jié)果數(shù)據(jù)存儲在list 中

l_result=[]

針對于不同數(shù)據(jù)分組,其數(shù)據(jù)處理方式也會有區(qū)別,本文以一級預(yù)制和板材下料為例,將其核心代碼進行演示。

一級預(yù)制類型工單數(shù)據(jù)處理核心代碼如下:

for pid in s_1st_Fabr_pid:

df_ass_pid=df_1st_Fabr[df_1st_Fabr["ParentID"]==pid]

df_ass_pid.loc[:,("Units")] = df_ass_pid.loc[:,("Units")].map(lambda x:round(float(x.split("")[0]),1))

df_ass_pid.loc[:,("QuantityComplete")]=df_ass_pid.loc[:,("QuantityComplete")].map(lambda x:round(float(x),1))

s_judge = df_ass_pid.apply(lambda x: judge(x.Units, x.QuantityComplete),axis=1)

if 0 not in s_judge.values:

DISCIPLINE="STRUCTURE"

CONS_PHASE="FAB_TRACK"

SD_DOC=df_ass_pid.iloc[0]["DrawingID"]

DWG_ID="BCP-"+df_ass_pid.iloc[0]["DrawingID"]

ITR="TAG WO MS"

TAG_ID=df_ass_pid.iloc[0]["ParentID"]

QTY=1

UNIT="each"

COMP_TYPE="PART"

WAREHOUSE="ST-BCP-TAG"

LOCATION=df_ass_pid.iloc[0]["WorkPlace"].upper()

s_result=[DISCIPLINE,CONS_PHASE,SD_DOC,DWG_ID,ITR,TAG_ID,QTY,UNIT,COMP_TYPE,WARE -HOUSE,LOCATION]

l_result.append(s_result)

下料類型工單數(shù)據(jù)處理核心代碼如下:

for dwg in s_Plate_Cut_dwg:

df_cut_dwg=df_Plate_Cut[df_Plate_Cut["DrawingID"] ==dwg]

df_cut_dwg.loc[:,("Units")] =df_cut_dwg["Units"].map(lambda x:round(float(x.split("")[0]),1))

df_cut_dwg.loc[:, ("QuantityComplete")] =df_cut_dwg["QuantityComplete"].map(lambda x:round(float(x),1))

s_judge=df_cut_dwg.apply(lambda x:judge(x.Units,x.QuantityComplete),axis=1)

if 0 not in s_judge.values:

nestinglist=set(df_cut_dwg.iloc[0]["NestingList"].split(","))

for nesting in nestinglist:

DISCIPLINE="STRUCTURE"

CONS_PHASE="FAB_TRACK"

SD_DOC=df_cut_dwg.iloc[0]["DocumentID"]

DWG_ID="BCP-"+df_cut_dwg.iloc[0]["DrawingID"]

ITR="TAG WO MS"

TAG_ID=nesting.split(":")[0]

QTY=int(nesting.split(":")[1])

UNIT="each"

COMP_TYPE="PART"

WAREHOUSE="ST-BCP-TAG"

LOCATION=df_cut_dwg.iloc[0]["WorkPlace"].upper()

s_result = [DISCIPLINE, CONS_PHASE, SD_DOC,

DWG_ID, ITR, TAG_ID, QTY, UNIT,COMP_TYPE, WARE

HOUSE,LOCATION]

l_result.append(s_result)

if pd.isnull(df_cut_dwg.iloc[0]["ExcessMaterialList"])==

False:

#if","in df_cut_dwg.iloc[0]["ExcessMaterialList"]:

ExcessMaterialList = set(df_cut_dwg.iloc[0]["Excess-

MaterialList"].split(","))

#else:ExcessMaterialList=set({df_cut_dwg.iloc[0]["Ex

cessMaterialList"]})

for excessmaterial in ExcessMaterialList:

DISCIPLINE="STRUCTURE"

CONS_PHASE="FAB_TRACK"

SD_DOC=df_cut_dwg.iloc[0]["DocumentID"]

DWG_ID="BCP-"+df_cut_dwg.iloc[0]["DrawingID"]

ITR="TAG WO MS"

TAG_ID=excessmaterial

QTY=1

UNIT="each"

COMP_TYPE="PART"

WAREHOUSE="ST-BCP-TAG"

LOCATION = df_cut_dwg.iloc[0]["WorkPlace"].upper()

s_result = [DISCIPLINE, CONS_PHASE, SD_DOC,DWG_ID, ITR, TAG_ID, QTY,UNIT, COMP_TYPE, WAREHOUSE,LOCATION]

l_result.append(s_result)

插件集成在PCMS-PLUS 網(wǎng)站中,該功能用戶通過網(wǎng)站進行報表上傳和入庫清單下載。插件語言選型為Python,網(wǎng)站框架選型為Django+HTML5。

圖1 網(wǎng)站頁面截圖

5 結(jié)語

本文給出了基于PCMS 系統(tǒng)的海洋工程浮體專業(yè)半成品管理功能實現(xiàn)的原理和應(yīng)用方法的演示,該功能可用于解決PCMS 系統(tǒng)推廣應(yīng)用中的一些相關(guān)問題,具有一定的實際意義。用Python 語言實現(xiàn)的插件程序則有助于讀者更好地理解和把握該功能的實現(xiàn)過程。用網(wǎng)站界面實現(xiàn)的半成品材料數(shù)據(jù)管理流程有助于用戶操作易懂,簡化操作步驟,對管理員來說易于維護。

猜你喜歡
管理
棗前期管理再好,后期管不好,前功盡棄
《水利建設(shè)與管理》征訂啟事
聆聽兩會
——關(guān)注自然資源管理
2020年《水利建設(shè)與管理》征稿函
運行管理
管理就是溝通
中國制筆(2019年1期)2019-08-28 10:07:26
加強土木工程造價的控制與管理
如何加強土木工程造價的控制與管理
解秘眼健康管理
“這下管理創(chuàng)新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
主站蜘蛛池模板: 无码免费试看| 亚洲爱婷婷色69堂| 色婷婷亚洲综合五月| 亚洲精品成人福利在线电影| 任我操在线视频| 亚洲国产系列| 国产在线日本| 99这里精品| 中国特黄美女一级视频| 国产内射在线观看| 久久精品91麻豆| 亚洲精品无码久久毛片波多野吉| 久久青草免费91观看| 一区二区欧美日韩高清免费| 亚洲欧美一区在线| 欧洲成人在线观看| 国产成人麻豆精品| 色欲综合久久中文字幕网| 香港一级毛片免费看| 亚洲天堂伊人| 亚洲黄色激情网站| 免费视频在线2021入口| 国产精品免费电影| 国产真实二区一区在线亚洲| 亚洲精品无码高潮喷水A| 国产网站免费观看| 亚洲AⅤ波多系列中文字幕| 亚洲女同一区二区| 久久久波多野结衣av一区二区| 91热爆在线| 亚洲 欧美 中文 AⅤ在线视频| 亚洲精品国产乱码不卡| 久久青草免费91线频观看不卡| 女同久久精品国产99国| 国产高清国内精品福利| 国产91无毒不卡在线观看| 亚洲人成网址| 色播五月婷婷| 色首页AV在线| 国产精品原创不卡在线| 欧美视频二区| 久久这里只精品热免费99| 亚洲国产亚洲综合在线尤物| 国产成人三级| 国产尤物在线播放| 亚洲一区二区日韩欧美gif| 亚洲无码91视频| аⅴ资源中文在线天堂| 97超碰精品成人国产| 白浆免费视频国产精品视频| 国产精品密蕾丝视频| 福利在线不卡| 日韩欧美91| 97久久免费视频| 亚洲色图综合在线| 国产成人一级| 国内精品视频在线| 伊人国产无码高清视频| 国产在线专区| 中国国产一级毛片| 福利国产微拍广场一区视频在线 | 蝴蝶伊人久久中文娱乐网| 国产精品久久久久久影院| 依依成人精品无v国产| 亚洲成年网站在线观看| 日韩人妻无码制服丝袜视频| 日韩午夜伦| 亚洲精品视频免费看| 最新无码专区超级碰碰碰| 国产成人综合网| 日本91视频| 自偷自拍三级全三级视频| 一区二区在线视频免费观看| 91系列在线观看| 国产91蝌蚪窝| 久草国产在线观看| 色婷婷久久| 东京热高清无码精品| 无码精品国产VA在线观看DVD| 丝袜高跟美脚国产1区| 日韩精品亚洲人旧成在线| 欧洲av毛片|