配方指纹的设计

配方指纹的设计

在电解液配方传递的过程中, 如何验证一个配方在传递过程是没有发生变化,或者说,两个形式上不同的配方,它们是否属于同一个配方,我们该怎么检验呢?

之前我们最常用的方法,就是针对每个成分,针对它的含量,一个一个进行检查,两者是否一致.比如有以下两个配方

配方1 EC:DMC:EMC=3:2:4, 1%VC, 12.5%LIPF6

配方2 EC:EMC:DMC=3:4:2, 12.5% LIPF6, 1%VC

这两个配方,如果仅仅是文字对比,它存在着显著的差异. 但从配方的实际来看,它们有相同的组分,相同的含量,实际是上属于同一个配方.

还有一种情况,如果一个配方表述为 各个物质的含量百分比, 但实际生产这个配方时,为了提高效率,我们使用了液态锂盐, 那需要加入的物质名称和含量都发生了变量.比如下面

配方3 LIPF6: 12%, EC:25%, DMC:15%, EMC:40%, FEC: 5%, VC: 1%, DTD: 2%

配方4 30%LIPF6-EMC溶液: 40%, EC:25%, DMC:15%, EMC:12%, FEC:5%, DTD:2%, VC:1%

配方3和配方4, 这两个配方,从所用的物质上有了不同,含量上也有至少两种物质不同. 但混合之后,得到的电解液又实际上是同一个配方. 这种配方是否判断是同一个配方,比较起来就更复杂,更加耗费脑力了.

有什么好的办法来快速又简单的对比两个配方是否 属于同一种配方吗?

其实是有的, 我们可以采用类似计算机上用过的办法,针对各个配方分别计算出一个代表其本质特征的参数出来,它能反映出成分的变化,也能反映出含量的变化(甚至是其它指标的变化). 而且这个参数具有可比性,这样我们就可以得到一个类似人的指纹一样的数值,用于比较两个配方是否相同.

于是, 我设计了这样一个指纹值,做法如下:

先将配方进行归一化计算, 使用物质的英文缩写和百分比值(不含%的值)进行计算

1)给每个纯净物质, 定义一个唯一的正的数值,就像物质的身份证号一样,比如指定它的不重复的缩写对应着某一个不重复值.这个值始终保持不变.

2)将上面这个物质的数值,与它的百分含量相乘,得到一个针对该物质及其含量的数值,不妨称为它的特征值.

2.1)为了取整数, 还可以将这个特征值乘以某个固定的系数(这个系数也可以直接乘到到第1步的值之内)

3)将配方中所有物质对应的特征值相加, 得到最终的数值,作为这个配方的指纹码.

这样子计算出来的数值,即包含了它的成分变化时的影响,也包含了含量变化时的影响, 如果任何一个参数发生了变化,结果上就可以看到它的变化.用这样的参数来对比两个配方是否相同,是可行的 ,也是简洁的.

可以看到,由于各组分之间是相加的关系,所以打乱了组分的顺序并不会影响到结果;

如果是混合物的配方,这个混合物不能直接指定一个数值, 它需要特别处理,即先还原出各个组分的含量,根据混合物用量*其中某组分的含量百分比算出包含在 混合物中这组分的含量, 最后加上配方中另外加入的相同的纯物质含量(如果有的话),得到一个最终结果中纯物质的含量. 这样子再乘以上面第1)步指定的系数,得到它的特征值.

混合物每个成分都要这样处理,最后各特征值都加起来, 得到最终的指纹码.

这样子就相当于把混合物配方转化成了简单成分形式表达的配方,计算了它的特征值.如果两个配方是 实质上相同的话,当然算出来的指纹码也是一样的.

表面上这样看起来这种计算并不会减少工作量,但由于计算的结果最终是以一个简单的指纹值来表达其特征(多个成分+含量),在比较时就非常简单.而且前面计算和转换的工作量完全可以用程序代码来执行, 避免人工眼睛扫描对比的对比方式, 效率就会好得多.

以下是我用一个随便编的配方, 生成的配方指纹(或称配方水印)的演示效果.

配方水印的使用

虽然我们通过对比数值来判断配方是否相同,但反过来并不能根据这个数值倒推出配方的成分和含量.因此即使分享这个指纹值,也不会泄露配方的具体内容.它只是一个特征值,计算过程中已经丢掉了具体的成分信息.

最后,为了使用上方便,将计算的代码放到一个XLSM文件中, 打开这个文件即可使用.也可以把它封装到一个Excel的xlam类型的加载宏中,放到xlstart目录下,EXCEL启动时自动加载,就像EXCEL自带的函数一样使用. 如果愿意折腾,也还可以用VSTO插件或DLL, XLL等其它方式来封装或保护.

最后分享一下不含保密编码的 指纹计算工具. 解压缩后就可以使用,但需要启用VBA运行的权限.

链接: https://pan.baidu.com/s/1pe8UgWrZ3LEgg4udeIuBBQ?pwd=ding

posted @ 2026-05-30 14:18  dingxianghuan  阅读(62)  评论(0)    收藏  举报