首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >CI的前世今生

CI的前世今生

作者头像
天堂向左
发布2022-04-26 19:23:03
发布2022-04-26 19:23:03
7910
举报

一、概述

本文是关于 Naki Code Interface 工具(以下简称CI)的介绍,阅读这篇文章,了解一下与CI有关的信息。

二、什么是CI

CI 是一个PDMS二次开发插件,用于实现正向做采购编码,执行一套简易的、可维护的编码规则,根据规则生成物资编码(以下简称CC码)和采购编码(以下简称PN码),编码信息写入PDMS等级元件属性,出图和出材料表直接带编码,一次性解决材料带编码问题。

关于什么是CC码和PN码,可以参考我的另一篇文章:《工程物料管理信息化建设(二)——材料编码》。

三、CI的前世今生

在物料管理系统开发和应用过程中我们深受编码缺失之苦,编码缺失的主要原因有二,一是材料编码正向做比较困难,二是工作步骤有问题。

我们先说正向做编码,PDMS早期通过VPRM做材料编码,但是系统集成效果不理想,因为pdms的树形结构数据库在与关系型数据库系统集成时需要一个转秩动作,既复杂又影响运行效率,我觉得有点像云平台的算力损耗。

VPRM用过的人可能不多,它的MCAT和SPEC是最有价值的模块,但是我觉得做的有点学院派,Phrase List短语链表的设计令人印象深刻,但是数据结构完美无瑕导致了理解和使用的难度增大,最致命的问题在于它是逆向做编码,在SPEC中吧PN码做好后回传到PDMS等级中,这种方式带来了两个主要弊端:

  1. 数据集成的复杂度高,PDMS和VPRM中同时存在两套等级,等级数据一旦不一致,处理十分麻烦;
  2. 这种回灌方式对PDMS等级数据造成了冲击,我记得当时VPRM等级回写以后,等级库里的数据和传统PDMS项目发生很大变化,很多维护工作无法进行,只能依靠SPEC修改后再回导,我认为这种冲击是破坏性质的,外挂系统(低权重)不能冲击原生系统(高权重),很明显在与PDMS集成的过程中,PDMS软件是高权重系统。

其次是工作步骤颠倒,设计还没有做完就要出材料表,虽然说预估材料量不影响采购工作提前展开,但是这种脱离设计系统统计的材料一般来说是很难带上材料编码的,这部分材料一旦到达现场,会出现相同的材料,一部分有编码一部分没编码,再清楚的账目也要乱套。

还有其它弊端比如操作麻烦等等不赘述。

编码缺失问题导致我们的材料管理系统从源头开始就带有天窗,对下游工程材料管理软件系统的数据结构也造成了破坏性的冲击,这个破坏性不要理解为是对数据资产的破坏,这是一种对规则的破坏,后果就是我们为了消除这种破坏带来的影响,要开发大量与主线业务无关的功能以保证材料编码合规,而且这种合规处理无非就是项目级的自定义编码或者位号,与原生编码相比功能性是有欠缺的,为下游数据的处理、统计等等带来很多麻烦甚至错误,只能继续打补丁,补丁摞补丁。

早在2014年我就打算做一个工具从正向解决做材料编码的问题,但是那时PDMS的开发与我们ERP系统的开发存在职责边界,所以这个软件的构想一直停留在我脑海里没有实施。后来这个问题实在是困扰我们太久了以至于我终于下定决心杀进PDMS二次开发这个迄今为止我见过的的最小众的技术圈,开始了一段诡异的学习旅程。

CI理念并不复杂:

  1. 编码规则最大限度简化,满足管道大宗散材编码需要即可,这个凡是玩过VPRM或者SPRD的人应该都能理解;
  2. 编码一定要正向做,正向可以保证材料编码的质量、及时性,而且编码、系统集成更合理,数据流转更顺畅;
  3. 等级只维护一套,不做重复工作,不人为制造不一致的数据源。

还有一个额外的意义就是:CI系统最终会形成一个公司级的CC码库和PN码库,一旦形成独立的数据库,也就意味着我们可以通过开发数据接口的方式取用里面的材料编码信息,进行材料的选型和匹配,这就解决了部分材料在PDMS设计没有完成时就要出材料表导致无法适配编码的问题,材料直接去编码库里选型就可以了,虽然比自动出带编码的材料表工作量大一些,但是能够保证编码的唯一性和全覆盖,对于能否实现“全生命周期的材料管理”和“设计系统与ERP或者MES系统集成”有很大帮助。

CI只是一个辅助工具,它的作用是更方便地做质量更好的编码,并不能从根源上解决设计阶段材料编码缺失的问题,要最大限度消除“模型未建,量表先出”现象,才是治本的办法。

题外话:有时候在中国,工作步骤颠倒做并不认为是错的,比如为了赶进度等等。

四、主要功能

4.1.参数管理

Format Code管理模块,管理Format Code,该代码定义材料的尺寸格式,目前支持单口径和双口径元件;

Size Series 管理模块,管理Size Series,该代码定义材料的尺寸系列;

Part Number Frefix管理模块,管理Part Number Frefix,该代码定义材料的采购码前缀,默认2位大写英文字母。

外径管理模块,提供公制英制各一套初始化数据,可以自定义设置新的外径尺寸系列。

4.2.CC码管理

CC码编码规则管理模块,主要对短语列表管理,包括名称、连接形式、磅级、尺寸标准、材质、特殊技术代码、制造工艺、特殊要求一共8个短语类别;

CC码生成器,选择材料的属性,生成CC码,可以增加用户自定义描述;

CC码编码库,对CC编码进行管理,可以查询或者删除,目前不支持直接修改;

4.3.PN码管理

PN码编码库,对PN编码进行管理,可以查询或者删除,目前不支持直接修改;

4.4.主功能菜单

Goto,在元件浏览器中定位到当前CI选中的元件

Get,获取选中的等级数据

Clear,清空元件列表

Save,Savework

Ren.,重命名元件(修改Name属性)

Prop,显示元件属性设置框

Fcode,设置Format Code

Series,设置尺寸系列代码

Prefix ,设置采购码前缀

CCode,设置CC码

Gen,生成编码

Desc,查看编码和描述信息

Fix,修复有问题的编码(规划中)

Check,检查编码有效性

4.5.辅助功能

数据库连接设置,设置数据库连接字符串,用于连接外挂数据库;

数据库备份,导出数据库里的全部主数据到中间文件,具备通过中间文件恢复数据库数据的能力;

日志管理,记录系统运行过程中出现的报错信息,便于追溯。

五、截图展示

图1:主界面

图2:Format Code管理界面

图3:CC码编码库

图4:PN码编码库

图5:属性设置窗口

图6:编码规则通过设置短语代码制订

图6:编码和描述信息

图7:批量生成材料编码

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 天堂向左程序员向右 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档