摘要

目前大多数的PCB 厂皆使用制造执行系统来监控厂内各料号的生产进度,但由于制造执行系统在设计时只考虑到单一厂区,在面对跨厂环境时,受限于各厂系统功能与规格的不一致而无法有效地共享与交换彼此的生产信息,形生多厂数据的整合问题。本研究的目的即针对制造执行系统在多厂架构之下的异资化问题,提出一个多厂异类数据环境的整合架构,希望能在现有的制造执行系统作业模式之外,各PCB 厂间可使用一致的方法来共享与交换数据,降低因系统异资化所带来的冲击。本研究将数据整合的过程分解成数据需求分析、个别厂区数据撷取、以及多厂数据整合这三个阶段,每个阶段皆使用一个软件模块(或软件代理人)来完成阶段内的工作任务。所发展之多厂数据整合模式,由于数据的撷取与提供皆为独立运作,因此对于任何一个新厂区而言,只需建构好其厂区代理人环境,即可提供其制执行系统的数据给数据撷取代理人进行多厂制造执行系统数据的整合。因此,所提出的架构不仅可以解决异类数据在整合时会发生的问题,亦可兼顾网络流量以及信息系统的维护。

关键词:多厂问题、制造执行系统、异类数据整合、XML、行动代理人


1. 研究动机与目的
 
印刷电路板(PCB)的制程通常需使用多种原物料,以及多种加工的机台,而产品的加工途程也随着层数的增加而日趋复杂。要在正确的时间点得到正确的生产信息,制造执行系统(MES)的良窳扮演了相当关键的角色。一个MES 为生产规划层与控制层之间的沟通角色,它不仅能将规划层的工单自动转换成对现场的执行指令,亦能对现场所发生的各种状况做实时的处理[1]。以往的MES 相关研究大多着墨在其功能架构的讨论,在PCB 厂里,若特定工作站发生产能不足的情形时,通常会寻求其它同层级的水平厂或是外包厂协助,因此为了要监控在制品在不同厂的加工进度, 各厂间数据交换以及共享俨然成为新一代MES 所必需具备的关键能力。

异类数据的整合无论是在产业或学术界都是一个很重要的研究领域,学术上对于不同平台数据的整合架构主要区分成两个领域,一种是以虚拟视界(virtual view )为基础,即根据用户对系统所提出的实时查询,对现有的数据源进行索取的架构,异型的例子为TSIMMIS 系统[2]。另一种则是以数据仓储(data warehousing)为基础所进行的整合方式,这种方式会使用数据库来储存用户所查询过的数据,并以一固定的时间间隔收集可能的查询数据进行更细部的分析,如DataFoundry 系统[3]。不论是哪一种方式,架构中负责提供数据的wrapper 接口以及提出查询的mediator 接口皆必需维持紧密的联机。近年来,由于电子商务的普及,收集数据的工作已逐渐由直接联机的方式,改由行动代理人(Mobile agent)取代[4, 5],行动代理人可以以脱机(Off-line)的方式,游走于网络上各个数据源的服务器计算机进行数据的撷取,并将取得的数据以异步(Asynchronous)的方式(如电子邮件)回传至数据处理程序。

在多厂的环境下,因各厂所使用的MES 规格不一,无法有效地共享与交换彼此的生产信息,是目前大部份的PCB 厂在整合资料时所面临之重大难题。因此,本研究的目的即针对此系统异质化现象,提出一个有弹性、可适应跨厂异资环境的整合架构,希望能在现有的MES 作业模式之外,各PCB厂间亦可使用一致的方法来共享与交换彼此的数据,降低因系统异资化所带来的冲击。

2. 问题定义

在多厂环境之下,由于各厂的MES 将使用彼此相异的决策方式与逻辑型态,使得整合不易达成。一般而言,多厂MES 数据在整合时常需面对下列几种「异质化」的情况[6]:

1. 数据型态的不一致:一模一样的数据,会因各厂区MES 数据库厂牌的差异而有所不同,主因系数据库软件对数据的储存结构与数据型态定义不一致所致。

2. 数据定义的不一致:同样的词汇,不同厂区也会有不同的定义。举例来说,某公司A 厂使用了「班别」字段来记录班次,而B 厂却使用「班次」字段来描述。

3. 数据内容的不一致:各厂除了数据的定义不一致之外,储存数据的内容也不见得会相同。举例来说,若A、B 厂皆采三班制,对于同样叫做「班别」的字段,A 厂习惯用a、b 来符号代表日、夜班,而B 厂却倾向使用1、2 来描述。

4. 单位的不一致:不同的厂区常使用不同的单位来衡量数值数据。如A 厂使用「小时」,而B厂使用「天」来衡量工时数据时,就会发生这种情形。

5. 资料语意的不一致:数据所呈现出来的语意(Semantic)系由数据所在的环境(Context)以及环境下的概念( Concept)所组成。在数据库系统里,数据库中的数据表(Table)可用来描述环境,而数据表中的字段( Field )则用来表达数据的概念。当同样的事物在不同环境之下被定义时,由于所在的环境不同,因此事物的特性也会有所差异。

除了数据的异质化之外,由于外部信息系统通常不易取得MES 的数据,使得MES 很难被整合至其它的系统里。因此要使MES 达到多厂之间数据共享,各厂必需提供一数据交换的接口。透过该接口,各厂区不仅能看到其它厂区的数据,更能藉此与其它厂进行数据交换。