1, 配方设计与配方计算

题目是配方计算,不是配方设计,设计是需要有深厚的塑料知识才可以做的,即生产什么塑料产品,需要放各种原料是什么,各自比较是多少,遇到什么情况下就要多放什么,少放什么。配方设计不是软件的范畴,软件关注的是,如果有比较成型的设计模型后,怎样进行再抽象,并将抽象的结果形成软件模型,并使用代码来实现。

笔者是搞软件的,不是塑料配方设计,不过因缘际会下,对PVC,油,钙有了基本的认识,深深感到目前塑料配方软件的缺少,带来很多的不便。而软件开发员即使想开发一套配方计算软件,也要对塑料行业有一定认识才行。

本文中配方计算是指塑料生产过程中,如果配方工艺和生产线稳定的情况下,对产品生产时可复制,可计算的配方逻辑。用ERP的讲法是,生产固定时,计算出货物的物料清单。这样一说,很多人就想说了,“物料清单还要计算吗?在ERP中设置一下就行了。”但事实上真不是这么简单,下面是一个对比:

常规商品生产

塑料膜、革、装饰材料生产

种类

商品种类固定,数量可数。

只有概念上的大分类,事实上每一个产品都不同。

物料清单

各原料组成固定。

每一个订单,各原料组成都不相同。

产品

产品名称明确,种类清晰。

只有大的产品名,把工艺和原料差不多的东西归纳为一个产品,事实上每一个订单都可以独立为产品。

由此可见,塑料产品常常不是标准的物料清单可以形容的,而每个产品都要经过配方设计和反复的研究,最后稳定下来的配方才能进行软件上面的计算。其常规的做法是:

产品研发->配方研发->小试生产->改进配方->大试生产->改进并稳定配方->生产->稳定配方->生产线运行正常->研发配方计算软件。

所以一般来说,生产产品数较多,产品稳定之后,才会考虑研发配方计算软件,但研发时往往都是从自身单位从发,不是走标准化的路。所以就难以形成产品,网上介绍配方计算的软件和资源都不多。

2, 塑料配方基本概念

要开发一个配方计算软件,认识塑料配方的基本组成是非常必要的,笔者不是科班出身,说法简陋,见笑了。最基本的塑料配方是由PVC,油,钙,助剂组成的。

组成项目

说明

PVC

聚氯乙烯,英文简称PVC(Polyvinyl chloride polymer = PVC 分子结构),是由氯乙烯在引发剂作用下聚合而成的热塑性树脂。

油(术语)

增塑剂,好的是DINP,目前全球只有几家公司能够生产。差一点的是DOP,一种常用的塑化剂。产品高档的话,只能用DINP。

“增塑”顾名思义,可以简单理解为增加油性。DINP本身就是油状液体。

钙(术语)

Caco3等等粉状原料。

助剂

增强某种效果的原料。如防水,芳香,透气,除臭等。如果生产产品低端,也常常把助剂简单理解为钙的一种。

计量方法

最常用的是质量份数表示法,《塑料配方大全》一书中是这样描述的“以配方中主体成分树脂的加入量为基准(100质量份),配方中其他组分以树脂的含量为参照物,用其占树脂质量的百分比来表示。如PVC的加入量100kg,Dop加入量40Kg,那么PVC为100份、DOP为40份。”

下面是从书中摘录出来的配方。

PVC

100

DOP

10

三碱式硫酸铅

3

二碱式硫酸铅

2

BaSt

1.5

PbSt

0.5

HSt

1

3, 配方计算模型

当配方设计已经有固定的模型之后,配方计算就可以提出其独特的模型了。建模过程如下:

序号

名称

说明

1

产品化

把生产工艺相同或相近的订单归纳总结,形成产品的概念。如产品名为“PName-00000X”。

2

特征化

把特点相近的配方归纳为一种特征编码。如防水特征的,归纳为A1,除臭特征的归纳为A2等等。

3

编码

把不同的原料进行编码,如上面提到的BaSt编码为“Code-00000X”。

4

抽取属性

如长度,宽度,厚度,密度,色号,花纹,层数等等属性

5

ISO文档化

ISO9000等标准,如果认真做的话,是很有用的。产品生产的技术积累可以通过文档化积累起来。

ISO文档化举例:

文档化一般都要描述配方的常规,特色,特殊三个方面。所谓常规情况,就是配方从教科书抄回来的,这些是原料(或物资清单)的基础,如上面从书中摘录的配方,这些数据通常是结构化;

特色就是从生产企业的特殊情况出发,增加一定的物质,如客户要求产品增加防水功能,就要增加防水剂了,这种情况通常是半结构化的,可以使用表格来描述;

最后是特殊,所谓特殊情况就是手写配方的特别要求,这些数据通常是非结构化的,前两个内容过于标准了,对于“天马行空”设计出来的配方是很难表达的,所以就要增加描述性的规定。如产品是a,色号是b,那么就增加d原料。

结构化情况举例

防水剂规范(因为笔者也不熟悉,为防贻笑大方,下面只能用编码代码,大家看个意思就行)。

防水剂编码

特征码

用量

Code-000001

A1

1

Code-000011

A2

0.5

Code-000021

A3

1.5

非结构化情况举例

如产品是A,色号是B,那么就是增加D原料2份。

看来非结构化的情况,你一定会疯掉,这个东西能做系统吗?答案是:能。这就是普通的表达式而已,只要设定好对象,该对象的属性足以覆盖配方过程中使用的属性,那使用表达式就可以非常简单地表达出非结构化情况。

从技术上,只讨论配方计算的话,平下心来,只有2个技术难点,半结构化规范和非结构化规定,如果是非常标准的结构化配方,那使用数据库就可以很好的处理了。

半结构化规范,就是一个表格,可以比较简单地让人理解规范,该表格的各列中一定有条件列和结论列,如特征码是条件,那么防水剂编码、用量就是结构。这个表格其实与停车场的按条件收费是一个道理。实现停车场表格式收费逻辑。

请参考:http://www.ckrule.com/cn/solution/business/188.html

而非结构化规范,就是表达式的编写,这样的编写方法跟工资公式的编写是一样的,都是有一定的属性,这些属性之间发生一定的计算逻辑,就产生了一个结果。

请参考:http://www.ckrule.com/cn/solution/business/189.html

写在后面:PVC塑料配方设计是大多数塑料企业的重中之重,但对于稳定运行成熟产品的大企业而言,PVC计算那可以大幅提高工作效率,减少出错,减少损耗。也提高了公司的知识积累能力。这一行对于一般软件开发工程师而言,比较难理解,而对于塑料配方设计高手而言,又不了解软件。希望此文章,对初入塑料行业软件开发的朋友有小小帮助,减少碰钉子的机会。

浅谈PVC塑料配方计算软件的设计的更多相关文章

  1. 浅谈vue中的计算属性和侦听属性

    计算属性 计算属性用于处理复杂的业务逻辑 计算属性具有依赖性,计算属性依赖 data中的初始值,只有当初始值改变的时候,计算属性才会再次计算 计算属性一般书写为一个函数,返回了一个值,这个值具有依赖性 ...

  2. 浅谈基于Prism的软件系统的架构设计

    很早就想写这么一篇文章来对近几年使用Prism框架来设计软件来做一次深入的分析了,但直到最近才开始整理,说到软件系统的设计这里面有太多的学问,只有经过大量的探索才能够设计出好的软件产品,就本人的理解, ...

  3. 浅谈 MVVM 设计模式在 Unity3D 中的设计与实施

    初识 MVVM 谈起 MVVM 设计模式,可能第一映像你会想到 WPF/Sliverlight,他们提供了的数据绑定(Data Binding),命令(Command)等功能,这让 MVVM 模式得到 ...

  4. 浅谈python web框架中的orm设计

    看了一下廖雪峰的那个web框架,其实就是封装了web.py,请求使用异步并将aiomysql做为MySQL数据库提供了异步IO的驱动,前端部分则整合了jinja.其中最难的应该是orm部分了. 下面是 ...

  5. 浅谈APP流式分页服务端设计(转)

    http://www.jianshu.com/p/13941129c826 a.cursor游标式分页 select * from table where id >cursor limit pa ...

  6. 浅谈Nginx服务器的内部核心架构设计

    前言 Nginx 是一个 免费的 , 开源的 , 高性能 的 HTTP 服务器和 反向代理 ,以及 IMAP / POP3代理服务器. Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消 ...

  7. iOS应用架构浅谈

    (整理至http://www.cocoachina.com/ios/20150414/11557.html) 缘由 从事iOS工作一年多了,主要从事QQ钱包SDK开发和财付通app维护,随着对业务的慢 ...

  8. iOS开发之浅谈MVVM的架构设计与团队协作

    今天写这篇博客是想达到抛砖引玉的作用,想与大家交流一下思想,相互学习,博文中有不足之处还望大家批评指正.本篇博客的内容沿袭以往博客的风格,也是以干货为主,偶尔扯扯咸蛋(哈哈~不好好工作又开始发表博客啦 ...

  9. 浅谈iOS中MVVM的架构设计与团队协作

    说到架构设计和团队协作,这个对App的开发还是比较重要的.即使作为一个专业的搬砖者,前提是你这砖搬完放在哪?不只是Code有框架,其他的东西都是有框架的,比如桥梁等等神马的~在这儿就不往外扯了.一个好 ...

随机推荐

  1. 编写高质量代码:Web前端开发修炼之道(三)

    第五章:高质量的Javascript 这章的内容我看的最久,这是跟我js基础没打好有着莫大的关系,但是还是耐着性子看完了, 不懂的东西都是百度上搜索,理解后再继续.下面是记录下来的笔记. 1)如何避免 ...

  2. JAVA泛型方法与类型限定

     泛型方法可以定义在普通类中,也可以定义在泛型类中 class ArrayAlg{ public static <T> T getMiddle(T...a){ return a[a.len ...

  3. C#集合之栈

    栈(Stack)和队列是非常类似的一个容器,只是栈是一个后进先出(LIFO)的容器. 栈用Push()方法在栈中添加元素,用Pop()方法获取最近添加的一个元素: Stack<T>与Que ...

  4. archlinux安装tftp

    1. 安装  [guo@archlinux ~]$ sudo pacman -S tftp-hpa 2. 启用  [guo@archlinux ~]$ systemctl start tftpd.se ...

  5. PIE SDK组件式开发综合运用示例

    1. 功能概述 关于PIE SDK的功能开发,在我们的博客上已经分门别类的进行了展示,点击PIESat博客就可以访问,为了初学者入门,本章节将对从PIE SDK组件式二次开发如何搭建界面.如何综合开发 ...

  6. $bzoj1019-SHOI2008$ 汉诺塔 $dp$

    题面描述 汉诺塔由三根柱子(分别用\(A\ B\ C\)表示)和\(n\)个大小互不相同的空心盘子组成.一开始\(n\)个盘子都摞在柱子\(A\)上,大的在下面,小的在上面,形成了一个塔状的锥形体. ...

  7. CSS中margin属性

    css中margin块级元素的垂直相邻外边距会合并,比如 方框的上下外边距并不是2px,而是合并为1px了. 设置float属性就可以避免这种同级元素边距合并

  8. 移远EC20的使用

    一 发短信 3. 推荐短信流程3.1 查询 短信存储区AT+CPMS?+CPMS: "ME",19,255,"ME",19,255,"ME" ...

  9. spring mvc中的控制器方法中的参数从哪里传进来?

    编写控制器方法的时候很奇怪,spring是怎么知道你控制器方法的参数类型,并且注入正确的对象呢? 比如下面这样 @RequestMapping(value="/register", ...

  10. Hibernate查询所有数据的操作

    Hibernate查询所有数据的操作方式有三种. 1.Query (1)使用该方法查询时,不需要编写sql语句,但是需要编写hql(Hibernate Query Language)语句,该语句是Hi ...