石油钻井BOM结构树生成算法的研究.pdf
I 匐 化 石油钻井B O M结构树生成算法的研究 Res ear ch on B0M gener at i on al gor i t hm o f oi l dr i l l i ng 王魁生,刘夏 V NG Ku i . s h e n g。L I U Xi a 西安石油大学 计算机学院,西安 7 1 0 0 6 5 摘要石油钻井所需物料繁杂,非常不易于管理。通过对两种常用B O M 结构及通用算法的分析、研 究,提出了一种B O M结构树生成方法。该算法不仅能够直观地反应出物料之间的父子关系 , 而且具有较高的运行效率,能够加快B O M 结构树的展开速度。将其用于石油钻井物料管理 , 可便于大规模的生产作业,为石油钻井高效作业提供有力保障。 关键词石油钻井;物料清单;树形结构;算法;企业资源管理计划 中图分类法T P 3 9 1 文献标识码 A 文章编号1 0 0 9 0 1 3 4 2 0 1 3 1 0 上 一0 0 7 6 0 3 D o i 1 O . 3 9 6 9 / J . i s s n . 1 0 0 9 -0 1 3 4 . 2 0 1 3 . 1 O 上 . 2 2 0 引言 物料清单 B i l l o f Ma t e r i a l ,B OM是指产出 一 个最终产品所需的全套材料的结构化表单 叫 。 它与企业各部 门的活动息息相关 ,被用于MR P 计 算 ,成本计算 ,库存管理 等H 1 。B OM产生于产品 的设计阶段,并且B O M信息贯穿于产品生产 的整 个生命 周期 。B OM可以准确地将设计部门产生的 数据以及变更信 息传送到制造部门,根据B OM需 求可以准确的制造 出质量标准一致的产 品,轻松 地实现全局数据信息 的统一,能够使整个企业的 生产及运作统一化 ,科学化 。因此 ,Bo M的影响 面最大,对它的准确性要求也最高 】 。石油钻井作 业所需的钻井器材数量大 、成本高,要想节约库 存、降低成本,就必须全面掌握钻井作业的B OM 结构 ,并加以合理利用 。在E R P 系统 中将钻井作业 所需物料用树形 呈现 ,可清楚的展现 出各零部件 之 间的构造关系,且便于钻进过程的物资供应 , 以及加快井架生产和开采过程 。为此设计一种便 捷操作、结构清晰、快速有效的BO M生成展开方 法为企业生产所需。 1 石油钻井B OM结构模型 石油钻井作业对不 同的地层使用不同的钻进 工具 ,所使用的钻头 、钻柱 、套管等的型号、强 度也不相 同。对应每次开钻 ,都设计有相应的钻 具组合 、套管组合等 ,以及每次开钻所选用的钻 具规 格型 号与数 量 ’ 。某油井 的部分 钻具组 合 BO M结构图如图1 所示。可看出,该井需要三次开 钻,每次开钻所需的物料都类似于一开钻进 ,每 一 层物料都分别为下一层对应物料 的父节点 ,下 一 层对应物料为上一层相应物料的子节 点。图 中 第三层的一开钻杆、一开钻铤、一开接头为构造 的虚项 ,这些虚项对应的子项为实际所需钻具 。 图1 某油井部分B O M结构图 2 常用的B OM结构 B OM结构树是指 由产 品的零部件组成 的树形 结构 ,它可以展示出物料之间的相互关 系。常见 的B OM结构有单层B OM结构和多层BOM结构 。 本文以图l 所示的某油井部分B O M结构图为例,对 B OM结构进行分析 ,提 出了一种改进的B O M树生 成算法 。 2.1单层B O M结构 单 层BOM采用 了 “ 单 父一 单子 ”的数 据结 构 ,只需 记录每 个父 件与其 子件 之 间的对 应关 系。以某油井开采所需物料 如图1 所示为例 , 单层B O M结构描述如表1 所示。 收稿日期2 0 1 3 -0 6 - 1 3 基金项目西安石油大学研究生科研创新基金资助项目 2 0 1 2 c x l 1 0 6 2 3 ;陕西省教育部科学基金项 目 1 1 J K1 0 3 1 作者简介王魁生 1 9 6 5一 ,男,陕西宝鸡人,教授,博士,研究方向为管理信息系统与计算机网络。 【 7 6 】 第3 5 卷第1 O 期2 0 1 3 -1 0 上 学兔兔 w w w .x u e t u t u .c o m 务I 遭 匐 化 表1 单层B OM 结构描述 从结构描述可 以看 出,单层B OM的优点是数 据冗余度小 ,可大大节省存储空间。此外 ,BO M 表更改简单 ,当产品结构发生变化时只需对数据 库进行一次修改 ,因为只记录 了一次父件与子件 的对应关系,这样有助于保证数据表的一致性和 完整 性 。但 是 ,这种 结构 的 父件 可能 是一 个 产 品,也可能是一个零部件 ,要清楚地看到BO M树 结构 ,必须借助多次循环查询 ,这样会增加算法 的复杂度,降低系统的运行速率。 2 . 2多层B O M结构 多层BOM采用 了 “ 单 父一 多子 ”的数据 结 构 ,它详细的记录了产品的结构信息,不管零部 件结构是否相同 ,只要存在于不同的产品中,也 要再记录一次 。以某油井开采所需物料 如图1 所 示 为例,多层BO M结构描述如表2 所示。 从 结构 描述 可 以看 出 ,多层BOM的优 点是 产 品间结构不互相影 响,各产 品之 间的数据记录 没有交叉 ,因此结构清晰 ,易于维护 。但是多层 B OM也存在一定 的缺陷 ,主要是数据结构重复 、 数据项冗余度大 ,增加 了数据库的负担 。虽然定 义 了子件的层次位置 ,但是它属于哪个父层并没 有记录 ,所 以并不能反查 出零部件所对应的上一 层父件 ,而 只能查 出它属于哪个产品 ,无法清晰 的显示树形结构。 3 常用的B OM树型结构生成算法 基于上述存储结构,对于B OM树形结构的生 成算法有递归算法和分层算法两种。 表2 多层B OM结构描述 编号 父节点 子节点 数量 层次 l 2 1 3 . 1 9 . 一开钻进 , . 2 2 1 3 . 1 9 . 二开钻进 3 2 1 3 . 1 9 9 . 稳斜钻进 4 2 1 3 . 1 9 9 . 3 4 6 MP 2 钻头 ,Ik 二 5 2 1 3 . 1 9 9 . 一开钻杆 at, J .t 6 2 1 3 . 1 9 J . 一开接头 7 2 1 3 . 1 9 ≠ . 一开钻铤 8 2 1 3 . 1 9 J . 1 7 2 D W 螺杆 at. 9 2 1 3 1 9 9 . 中 7 DP 方 f 钻 杆 i ] 杆 1 1 3 3 KL 1 0 2 1 3 .1 9 3 1 1 2 1 3 . 1 9 3 . 6 3 0 / 4 3 0 接头 1 2 2 1 3 . 1 9 9 .4 1 1 / 4 3 1 接头 1 3 2 1 3 1 9 9 .4 3 1 / 4 3 0 接头 1 4 2 1 3 . 1 9 9 .4 6 1 / 4 1 0 接头 1 . a 1 5 2 1 3 . 1 9 9 . 5 2 0 / 4 1 1 接头 1 6 2 1 3 1 9 ≠ c I 1 6 7 N D C 无磁 . 钻铤 | 1 7 2 1 3 .1 9 9 1 6 0 DC 钻铤 3 . 1 递归算法 递 归算法采用 的是先序遍历 ,它利用堆栈操 作展示出B OM树形结构以及物料间的层次关 系。 该 方法 实现 起来 程序 简单 ,但 因 为这种 堆 栈操 作 ,使得递归调用时,程序 每执行一步都要将临 时节点的信息压人堆栈隅 】 ,当物料结构复 杂时 , 系统资源消耗非常大,甚至可能致使系统崩溃 。 3 . 2 分层算法 BOM分层 算法 实质是 一种 非递 归算法 ,它 是从物料树的顶层根节点起 ,按层次一层一层的 往下遍历 ,直到物料的最 底层为止 。这种遍历方 法的算法简单,搜索速 度快 ,它采用的是队列结 构 ,将中间信 息存放在临时表 中,与递归算法中 使用的堆 栈相 比能较好 的按层次遍历一个大规模 的BO M树结构 。但是 ,层次遍历不能很好的展现 出物料之 间的父子关 系,使得物料结构的取代 、 删除以及检查嵌套错误难以进行。 4 改进的B OM树型结构生成算法 4 . 1改进的目的与意义 通过对BO M常用的两种 结构 、算法的对 比与 分析 ,我们希望获得一种算法 ,它既能像递归算 法一样较好的反应出物料之 间的父子关 系,清晰 定义结构树 ,又希望像 层次遍 历算法一样具有快 速的运行效率,能在一次搜 索过程 中就将父节点 全部搜索 出来 。单层BOM主要使用递归算法实现 树形结构 ,因此具备递 归算法的优势 ,我们要想 实现直观 的树形结构显示 ,则可以引入层次码, 第3 5 卷第1 0 期2 0 1 3 - 1 0 上 【 7 7 】 学兔兔 w w w .x u e t u t u .c o m 学兔兔 w w w .x u e t u t u .c o m 面 ,统计管理钢管在各个工位 的信 息,并可对具 体信息进行增删查改。其 中查询X光检测工位钢管 信息的界面如图4 所示 。 寒 i I 囊 ;孽 篓 l 墨i誊 东 歪 囊 I基 1 藿一 ; I 落 - 篓 ; j 蠢 i 图4 X光检测工位钢管信息查询界面 4 结论 本文 中的钢 管信息跟踪 系统较 好的解决 了条 码识别技术应用在钢管制造企业所遇到的问题 , 所喷条码在 l O O mm 2 5 0 mm距离内可以顺利读取 。 经过现场组装调试 , 目前系统运行 良好 。通 过条 形码技术,利用条码扫描器和P L C实现生产线上钢 管的条码数据的采集 。读取的条形码包含 了生产 的所有信息 ,实现质量 、检验与过程信息无纸化 传输及各 岗位报表 自动生成 ,提高 了信息记录的 实时性和准确性 ,实现钢管信息的 回溯跟踪 ,为 全面实现企业信息化打下基础。 参考文献 【 1 】刘涛, 王旭, 李子正 , 刘 华光. 我国埋 弧焊管生 产线 自动化 与信息化建设的思考[ J ] . 焊管, 2 0 1 2 , 3 5 5 6 2 6 5 . [ 2 ]李斌, 刘红军, 孙志刚, 邓志伟. ME S 在焊管生产线的应用 [ J ] . 焊管, 2 0 1 1 , 3 4 2 3 3 3 5 . , 4 4 【 3 】秦开涌, 胡业发, 丁毓峰. 条形码技术在生产信息采集系统 中的应用[ J ] . 计算机工程与应用. 2 0 0 5 2 3 . 【 4 】L e u z e e l e c t r o n i c . B CL 2 1 / 2 2 B a r c o d e r e a d e r s [ Z 】 . 德 国 , 2 0 1 0. 【 5 】黄峥, 古 鹏. 基于S 7 系列P L C 通讯方式与设计研究 [ J ] . 机电 工程技术, 2 0 1 0 , 3 9 6 4 5 4 8 . 【 6 】 田娟娟 , 蔡光 起, 史家 顺, 王 晋生 . 基 于VB的P C机 与S 7 2 0 0 P LC自由 口通 信 的实 现 及应 用 [ J ] . 机 械 设 计 与制 造, 2 0 0 6 , 7 1 1 5 - 1 1 7 . [ 7 】胡敏. 深入浅出西门子S 7 2 0 0 P L C [ M] . 北京 北京航空航 天大学 出版社, 2 0 0 7 1 2 6 1 3 1 . 【 8 ]许 静, 朱晓 民, 程金 , 李 文娟, 张希 . 利 用西 门子S 7 2 0 0自 由通讯 接 口实 现与 条码 扫描 枪 的通 讯【 J 】 . 制造 业 自动 化, 2 0 1 l , 3 3 2 0 . 【 9 】吴 爱国, 梁 瑾, 金文. 工业 以太 网的发展现 状【 J 】 . 信息与控 制 , 2 0 0 3 , 3 2 5 4 5 8 4 6 1 . . ● . 蠡‘ 童‘ {缸{ j童‘ { { 蠡‘ 盘● { { { . 妇{ {盘‘{童‘ { { 【 上接第7 8 页】 及对单 层B OM、 多层BOM,递归和分层 两种算 法的研究,提 出了一种 改进 的B OM结构树生成方 法 。利用一个便于构造树形结构 的层次码存储表 来降低堆栈操作的复杂度 ,使用层次合成码来进 行BO M结构树 的遍历。这种算法能够直观 的反应 出物料之 间的父子关 系,且物料数量在一定范 围 内增加时,其B OM树的展开速度相对通 用算法较 快 。将该算法用于石油钻井的物料管理 中,可以 优化钻井物料管理 ,有效的利用库存 ,同时达到 节约钻井成本的 目的。 参考文献 [ 1 】蒋鸿玲, 刘一伟, 范钦赞. 基 于树 形网状结构的柔性 B O M 的设 计 和 实现 【 J 】 . 计 算机 工程 与设 计 , 2 0 1 1 , 1 1 3 6 8 2 3 6 8 6 . 【 2 】Mo n k , E l l e n ; Wa g n e r , B r e t 2 0 0 7 . C o n c e p t s i n E n t e r p r i s e Re s o u r c e P l a n n i n g . Co u r s e Te c h n o l o g y Ce n g a g e L e a r n i n g . P P . 9 7 - 9 8 . I S BN l 一 4 2 3 9 0 1 7 9 7 . 【 3 】李 爱平 , 冯锋, 徐立云. 一种产 品B O M展开及生 成改进循 环算法的实现[ J 1 . 机电一体化, 2 0 0 7 , 5 3 0 3 4 . 【 4 】刘 辉, 赵彦龙. E R P 系统中B OM的模型分析与算法实[ J 】 . 航 空电子技 术, 2 0 1 2 , 4 3 2 5 1 5 5 . 【 5 】邝世界, 刘兴旺, 宁湘华. E R P 物料清单 B OM优化研 究 [ J ] . 制造业 自动化, 2 0 1 0 , 3 9 9 2 1 7 2 2 0 . [ 6 】周 开 吉 . 钻 井 工 程 设 计 【 M】 . 山 东 中国 石 油大 学 出版 社, 2 0 0 6 . 【 7 】方 明, 李润洲, 王魁生. 石 油钻井物料清单 的构造方法 与系 统 实现 [ J 】 . 计算机工程与设计, 2 0 1 0 , 8 1 8 4 4 1 8 4 7 . 【 8 】方霞, 潘梅森, 王喜富. 基于多层次通用件的改进遍历及计 算 方法 【 J ] . 计算机技 术与发展, 2 0 0 9 , 1 9 6 1 0 2 1 0 5 . [ 9 ]张 嫒, 蔡宗琰. E RP 的BO M结构设 计及算 法研究 [ J 】 . 机床 与液压, 2 0 0 8 , 3 6 1 2 2 2 4 . 【 1 0 】 朱 战立 . 数 据结构 . 4 版 【 M】 . 北京 电子工 业出版社 , 2 0 0 9 1 6 6. 】 73. 第3 5 卷第1 O 期2 0 1 3 -1 0 上 [ 1 1 9 ] 学兔兔 w w w .x u e t u t u .c o m