如何在SPC软件中导入“难看的” 数据

作者:Eric Weisbrod
关键词SPC软件、导入数据
导语:在导入数据时遇到过麻烦吗?是不是数据格式很难与SPC软件相匹配?想知道如何让SPC软件轻松读取“格式凌乱”的数据吗?看盈飞无限(InfinityQS)专家为您支招。
 
《如何在SPC软件中导入“难看的” 数据》,也许这样的标题会引起人们的误解。这里,我所指的“难看的”数据,其实不是数据本身,而是数据在文件中的格式。之所以这样讲,是因为我实在找不出一个更恰当的词来形容如此“文件结构凌乱的导入数据”。

我们平时热衷于数据的自动采集。但是我们非这样做不可吗?我们可以让操作工、技术员、质量工程师们取样、测量和记录数据,来保证生产过程的稳定性以满足最低的要求。自动几乎像是“免费得到的”数据,对吗?

SPC软件中,所有设置都完成后,数据自动录入是件非常美妙的事情,但在此之前的设置会让人很头疼。对于使用 盈飞无限(InfinityQS) 产品从文本文件中采集数据的客户来说,您一定有这样的“好”文件。下面是“好”文件的例子:数据是整齐的行和列结构。注意到分隔每列的制表符了吗?太棒了!
 

SPC软件-导入难看数据
 
 
使用您喜欢的制表程序打开这个整齐的数据。从表格中可以看到零件、操作工、过程、颜色、A 点直径、B点直径和C点直径。用盈飞无限的SPC软件工具可以轻松读取这些“漂亮的”数据,比如,数据管理系统(DMS)、Buffer File (ProFicient) 或实时导入工具都可以完成这样的工作。但是,对于“难看的”数据该怎样做呢?
 
 
SPC软件-导入难看数据
 
 
下面展示了一个完全不同的文件,它来自于客户图像系统的实际输出数据。不用担心,为了保护数据的安全,名称和数据都已经过修改,下图是原始的数据:
 
 
SPC软件-导入难看数据
 
 
注意零件、过程、描述符和测试值是所有的地方都存在的。这个文件中没有相似的分隔符,比如制表符或逗号。这些文件可以为盈飞无限的SPC软件工具所采集吗?没问题,盈飞无限的DMS 和 Buffer File 是可以采集这样的文件的。
 
一切尽在格式中
我观察了这个文件许久,在屏幕上,这个文件被文字处理软件的记录分隔为几行。如果使用高级文本编辑器,你就会看到隐藏的字符:在每行的最后部分,都会有一个“<13><10>”,对于计算机而言, (<13>)的作用是“回车”,即,光标回到最左端,(<10>)为换行,表示光标走到下一行。每次我们在键盘上按下“回车”的时候,就是输入了这两个字符。这样的设计更方便我们对数据的读取,但我们在设置 DMS 或 Buffer File时,不能受到它们的限制。

如果我们使用管道操作符(|)定义每一个列,使用文件结尾的惊叹号来定义记录的终结,效果会如何?记录的结果是这样的:

NAME|PN 1475-215 BLUE PART (USA).mxi<13><10>DATE|3/24/2011<13><10>TIME|16:07:45
<13><10>DATA|FACTOR|1|T|++OPERATOR|OP| +0.00000| +0.00000| +0.00000| +0.00000|
EJW<13><10>DATA|FACTOR|2|T|++MACHINE NUMBER|PHX| +0.00000| +0.00000| +0.00000| 
+0.00000|77<13><10>DATA|FACTOR|3|T|++COLOR|PHX| +0.00000| +0.00000| +0.00000|
+0.00000|BLU<13><10>DATA|FACTOR|4|T|++NOTES|PHX| +0.00000| +0.00000| +0.00000|
+0.00000|2 OFF<13><10>DATA|"A"|DIA| +2.7500| +0.00500| -0.00500| +2.7515|
<13><10>DATA|"B"|DIA| +1.5000| +0.00500| -0.00500| +1.5015|<13><10>DATA|"C"|DIA| 
+1.5000| +0.00500| -0.00500| +1.5040|<13><10><13><10><13><10><13><10>
<13><10>RUNNUMBER| 1<13><10>END!<13><10><13><10><13><10>

在上面的代码中,我们可以看到所有的“<13><10>”以及记录是如何混杂在一起的。在Word 的“自动换行”模式下,这看起来更像一段信息,但如果把它放在一行中,它看起来则是这样的:
 
 
SPC软件-导入难看数据
 
 
我们可以看到这是一个有很多字节的单个记录。虽然我的计算机有两个显示器,但还是不能在一个屏幕中看完所有记录。

鉴于记录中, “<13><10>”易被当做其它字符处理,所以,我们可以将它当成一个记录中的多个列,然后映射相应的列。下图是在 DMS 格数据源映射的效果。
 
 

SPC软件-导入难看数据
 
 
映射列是第一步,后面还有其它操作。比如,零件列现在为:

PN 1475-215 BLUE PART (USA).mxi<13><10>DATE

此记录需要进行切割以屏蔽不需要的字符。在此例子中,零件定义占用的22字符,此值可以根据需要设置如下:
 
 

SPC软件-导入难看数据
 
 
对每个映射的区域按照同样的操作映射,出来的结果可以是任何我们需要的内容,但是很难看!
 
 

SPC软件-导入难看数据
 
 
同样的方式可以应用在盈飞无限 ProFicient 项目中的 Buffer File 上,列映射成相同的式样。

 
 
SPC软件-导入难看数据
 
 
使用同样的选项来分割字符。
 
 

SPC软件-导入难看数据
 
 
数据列映射完成后,每个区域需要重新切割, Buffer File 和 DMS 处理的结果是相同的。
 
考虑的重点
现在我们使用此技巧是不是可以处理任何纯文本文件呢?答案是:也不一定,但可以有帮助。在处理文件或导入文件的时候需要我们最为注意的是什么呢?
  • 描述符长度 - 对于这里显示的方法,每个描述符必须有指定的长度,在导入的所有的描述中都使用此长度。比如,零件有22个字符,所有的零件必须和它一样有相同的字节数。如果不一样,那么可能会缺字母或多字母。
  • 描述符计数 - 在这个例子中,有零件、操作工、过程、颜色和三个测试特性。需要考虑如何处理变化的测试值和描述符数量。有些选项可以试试,但最理想的方式是使用固定数量的测试值及描述符。
即使考虑了所有因素,有时仍需要几天、几周甚至几个月才能解决所有设置问题,但我依然是数据自动采集的忠实粉丝。毕竟,在盈飞无限SPC软件中,一旦设置成功,您就可以一劳永逸。最后,祝您导入数据愉快!

作者简介:Eric Weisbrod 盈飞无限国际有限公司(InfinityQS International, Inc)高级应用工程师。
原文出处http://www.infinityqs.com/blog/importing-ugly-data
 

 

 

从质量到卓越的第一步

下一步