CA2291396A1 - Assembly and testing tracking system - Google Patents

Assembly and testing tracking system Download PDF

Info

Publication number
CA2291396A1
CA2291396A1 CA002291396A CA2291396A CA2291396A1 CA 2291396 A1 CA2291396 A1 CA 2291396A1 CA 002291396 A CA002291396 A CA 002291396A CA 2291396 A CA2291396 A CA 2291396A CA 2291396 A1 CA2291396 A1 CA 2291396A1
Authority
CA
Canada
Prior art keywords
test
tracking system
script
processing
processing station
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA002291396A
Other languages
French (fr)
Inventor
Jean-Yves Allard
Stephane Demers
Francois Rochefort
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nortel Networks Ltd
Original Assignee
Nortel Networks Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CA002289346A external-priority patent/CA2289346A1/en
Application filed by Nortel Networks Corp filed Critical Nortel Networks Corp
Priority to CA002291396A priority Critical patent/CA2291396A1/en
Priority to CA002325645A priority patent/CA2325645A1/en
Publication of CA2291396A1 publication Critical patent/CA2291396A1/en
Abandoned legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4183Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by data acquisition, e.g. workpiece identification
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/31From computer integrated manufacturing till monitoring
    • G05B2219/31443Keep track of nc program, recipe program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32127Read identification of part and generate automatically manufacturing conditions
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/32Operator till task planning
    • G05B2219/32129Select program for specified machine from library, file server
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Factory Administration (AREA)

Abstract

A tracking system for tracking parts that undergo processing at multiple processing stations. The tracking system includes a plurality of inputs, coupled to the processing stations for receiving data therefrom, and a controller unit. The controller unit monitors the processing stations and gathers therefrom data indicative of the nature of the process to be performed, and the identity of the part to be processed, at each processing station. The controller unit implements first data structure defines a process script having several entries, where each entry is representative of a particular step of the process script and includes data representative of at least one characteristic of a process to be performed at a particular processing station. The controller unit is operative to consult the first data structure in order to determine if the process to be performed at a particular processing station on a particular part is in accordance with the process script.

Description

r Title: Assembly and Testing Tracking System Field of the Invention The present invention relates to the field of tracking systems, more particularly to an integrated tracking system for use in a manufacturing plant.
Background of the Invention The process of manufacturing within manufacturing plants can be extremely complex and may involve a variety of different manufacturing stages as well as multiple manufacturing stations, where a manufacturing station may include several different pieces of equipment. Examples of such manufacturing stages include assembly, testing, inspection and routing, among others. With the increased automation of the manufacturing process (also referred to as an industrial process), less human interaction is required.
The manufacturing process becomes progressively removed from hands-on control, such that rigorous tracking of the parts undergoing the manufacturing process is required in order to ensure quality and performance control of both the parts and the actual manufacturing system.
Presently, different types of manufacturing plants implement different types of tracking systems. One such existing tracking system tracks the parts as they flow through the manufacturing plant, undergoing a particular manufacturing process, in order to ensure control of the manufacturing process. Unfortunately, this tracking system is independent of the actual manufacturing stations and the processing that is implemented at the different stations, such that information with respect to part performance and the processing results, generated by the various manufacturing stations, is not available to the tracking system user.
Another existing tracking system collects data with respect to the various parts flowing through the manufacturing plant from the different manufacturing stations, and uses this data to perform a statistical analysis of the manufacturing process and the parts being processed. Unfortunately, this tracking system does not provide for control of the actual manufacturing process that the parts are undergoing.
Thus, the existing tracking systems are all limited with respect to their performance, in that they either perform manufacturing process control or statistical analysis, but are not capable to perform both in an integrated fashion.
The background information provided above clearly indicates that there exists a need in the industry to provide an improved integrated tracking system for use in a manufacturing plant.
Summary of the Invention The present invention provides a tracking system, interacting with a plurality of processing stations, for tracking parts that undergo processing at the different processing stations. The tracking system includes a plurality of inputs, coupled to the processing stations for receiving data therefrom, a controller unit and a data storage unit. The controller unit is responsible for monitoring the processing stations and gathering therefrom data indicative of the nature of the process to be performed, and the identity of the part to be processed, at each processing station, where this data is stored in the data storage unit. In particular, the controller unit implements a first data structure defining a process script having several entries, where each entry is representative of a particular step of the process script and includes data representative of at least one characteristic of a process to be performed at a particular processing station. The controller unit consults the first data structure in order to determine if the process to be performed at a particular processing station on a particular part is in accordance with the process script.
According to one embodiment, the controller unit implements a second data structure, developed in parallel with the execution of the process script, that identifies the current position of a particular part with respect to the steps of the process script and stores data representative of information characterizing the particular part. The data representative of information characterizing a particular part is derived during processing of the particular part at the processing stations, and may be used to perform detailed statistical analyses with respect to both the parts being processed and the processing procedure.
A process step of the process script may comprise a test script, itself comprised of a plurality of test steps. A
test step is an algorithm designed specifically to verify the compliance of a part, or parts belonging to a particular part family, to a set of predetermined specifications. In a specific example, a test step relates to at least one physical measurement characteristic of a part parameter.
A particular test step of the test script may be performed at several different processing stations.
Alternatively, a plurality of test steps of the test script may all be performed at a particular processing station.
In a specific example of implementation, the controller unit comprises a system control unit and a plurality of functionality servers, dispersed from one another within the network of processing stations. The system control unit implements the global functionality of the assembly and testing tracking system, and controls the operation of the functionality servers. The functionality servers may include an equipment server, a test server and a parts server, among other possibilities. Each one of the system control unit and the functionality servers is implemented on a computing device, including a Central Processing Unit (CPU), a memory connected to the CPU by a bus and an interface allowing the computing device to exchange signals with external devices.
The memory holds data and program instructions that, when executed by the CPU, implement a certain functionality.
The equipment server includes a plurality of equipment drivers, controlled by an equipment manager program element.
The equipment server is responsible for initiating and controlling a plurality of equipment units.
The test server includes a plurality of test program elements, controlled by a test manager program element. The test server is responsible for identifying for each processing station the part to be tested and the test step to be performed by the processing station. When a test step is to be performed, the test server downloads from a particular file in the test server the details of the test step to be performed at the processing station, and accesses the equipment server to invoke the necessary test equipment unit.
The parts server includes a plurality of part models, each characterizing a part or part family with respect to its physical structure. The part models are controlled by a part manager program element. In a specific example, part model B
relates to a circuit board implementing a particular functionality. Model B thus comprises details with respect to the physical circuit layout on the printed circuit board as well as the circuit component values.
In another example of implementation, the tracking system includes a database of software object templates for use in designing the test step algorithms and thus building a test that in itself constitutes part of a process step, or S
alternatively an entire process step. In a specific example, a test comprises measuring a voltage level at a node of a printed circuit board and comparing the measured value to the specification value. The availability of predefined object templates to the test designer greatly simplifies the programming task and provides for standardization within the assembly and testing tracking system. Such standardization increases the adaptability and integration capabilities of the assembly and testing tracking system.
The present invention also encompasses a method for tracking parts, for use with a plurality of processing stations, each processing station operative to receive parts and perform a particular process thereon.
Brief Description of the Drawings These and other features of the present invention will become apparent from the following detailed description considered in connection with the accompanying drawings. It is to be understood, however, that the drawings are provided for purposes of illustration only and not as a definition of the boundaries of the invention, for which reference should be made to the appending claims.
Figure 1 is a high-level block diagram of an assembly and testing tracking system implementing an inventive principle of the present invention;
Figure 2 is a block diagram of the controller unit depicted in Figure l;
Figure 3 is a block diagram of a computing device for implementing a certain functionality of the system in accordance with the present invention;
Figure 4 is a block diagram of a processing station depicted in Figure l;
Figure 5 is a block diagram illustrating process scripts;
Figure 6 is a functional block diagram of a process script status register;
Figure 7 is a functional block diagram of a test server;
Figure 8 is a functional block diagram of an equipment server;
Figure 9 is a functional block diagram of a parts server; and Figure 10 is a functional block diagram of a utility to build process scripts for the assembly and testing tracking system.

Description of a Preferred Embodiment In an embodiment of the present invention, an assembly and testing tracking system is applied to a network of processing stations through which various parts flow. At each processing station, the parts undergo some form of processing, for example assembly, inspection, testing, routing, among others. The assembly and testing tracking system interacts with the processing stations in order to capture, integrate and control the different functions provided by the network, such as manufacturing, testing and analysis, thus creating a virtual working environment for the network users . The term "virtual" relates to the fact that the assembly and testing tracking system permits the network user to be ignorant of the specific details concerning the parts, the physical equipment and the engineering methodologies to be applied to the different parts as they flow through the network.
A specific example of implementation of the assembly and testing tracking system is depicted in Figure 1. In this example, the system includes a controller unit 100 for implementing an assembly and testing tracking mechanism, the latter being applied to an industrial process such as the manufacturing of a circuit board capable to perform a certain function. The industrial process, in this case the manufacturing of the circuit board 110, is performed at three separate processing stations 104, 106 and 108. Each processing station implements a certain process or step of the manufacturing procedure. Note that the example depicted in Figure 1 is a very simplified version of the actual manufacturing procedure for a circuit board, as in practice this procedure requires many more than just three processing stations. In addition to the controller unit 100, the system includes a data storage unit 102 for storing data representative of part and equipment specifications as well as data measured and collected at the various processing stations within the network. The controller unit 100 assembles a plurality of functionality servers, dispersed from one another within the network of processing stations, together capable to implement the global functionality of an assembly and testing tracking system, for example an equipment server, a test server, a parts server, among other possibilities.
Figure 2 is a block diagram of the controller unit 100.
The controller unit 100 includes a system control unit 200 and the three previously mentioned servers, namely the equipment server 202, the test server 204 and the parts server 206. The role of the system control unit 200 is to implement a global monitoring and controlling function of the assembly and testing tracking mechanism. The equipment server 202, the test server 204 and the parts server 206 provide specialized services to the system control unit 200, as described in further detail below. Each one of the units depicted in Figure 2 can be implemented on a computing device. Such a computing device is shown in Figure 3. The computing device includes a Central Processing Unit (CPU) 300, a memory 302 connected to the CPU 300 by a bus and an interface 304 allowing the computing device to exchange signals with external devices. The memory 302 holds data and program instructions that, when executed by the CPU 300, implement a certain functionality.
Alternatively, the equipment server 202, the test server 204, the parts server 206 and the system control unit 200 can be implemented on a single computing device, where each unit or server is associated with a separate program element, the various program elements being run simultaneously.

A functional block diagram of the test server 204 is illustrated in Figure 7. The test server 204 includes a plurality of test program elements, namely Test A, Test B and Test C. The test program elements A, B and C are controlled by a test manager program element 700.
A functional block diagram of the equipment server 202 is illustrated in Figure 8. The equipment server includes a plurality of equipment drivers, namely Driver A, Driver B and Driver C. The equipment drivers A, B and C are controlled by an equipment manager program element 800.
A functional block diagram of the parts server 206 is illustrated in Figure 9. The parts server includes a plurality of part models, namely Model A, Model B and Model C. Each of the part models A, B and C characterizes a part or part family with respect to its physical structure. The part models are controlled by a part manager program element 900. In a specific example, part model B relates to a circuit board implementing a particular functionality. Model B thus comprises details with respect to the physical circuit layout on the printed circuit board as well as the circuit component values.
The assembly and testing tracking mechanism comprises a set of process scripts, where a process script is a list of entries, each entry corresponding to a process step which a part must undergo before it can be certified to be released from the network. The process script also specifies the actions to take at each process step as well as the routing between process steps. Thus, a process step is a point in a process where actions are performed on a part, such as assembly, testing, inspection and routing, among others.
In the example depicted in Figure l, the process script for the circuit board 110 specifies the actions or steps to be taken at each of the processing stations 104, 106 and 108.
For instance, processing station 108 is designed to place a certain component in a socket of the circuit board 110, processing station 106 performs a first test procedure to verify certain functions of the circuit board 110, while processing station 104 performs a temperature test.
Figure 4 is a block diagram of processing station 106.
The processing station 106 includes an input/output device allowing the operator to input data or to receive data. In a specific example, the input/output device includes a monitor 400 on which information can be displayed and a keyboard 402 to enter data. Alternatively, the input/output device may also include a suitable pointer, such as a mouse or bar code reader, to automatically read a bar code applied on the part to be processed by the processing station, etc. The processing station 106 also comprises a set of processing units 404. Since the processing station 106 in this case performs tests, the set of processing units 404 are test units. In the example shown, three test units are depicted, designed to measure physical parameters of a circuit board 110, such as voltage levels, current levels and power levels, among many other possibilities. The circuit board 110 is connected to the test units through a cable 406 (shown in the drawings as a four conductor cable) to transport signals between the test units and the circuit board 110 to allow the various tests to be performed.
For the purpose of simplicity, the processing stations 104 and 108 have not been shown in the drawings. Suffice it to say that their general configuration is identical to the configuration of the processing station 106. The differences between the processing stations reside in the processing units that basically determine the operations performed on the circuit board 110. In the case of the processing station 108 that inserts a component into a socket of the circuit board 110, the set of processing units would be the components of an automated pick-and-place machine that selects, picks and finally inserts the appropriate component in the socket of the circuit board 110. As to the processing station 104, where a temperature test is being performed, the set of processing units includes the components necessary to conduct the test, such as a chamber in which the desired temperature can be created, a temperature probe to measure the temperature and finally additional devices to test the performance of the circuit board 110 at the temperature of the chamber.
A process script is implemented in the system control unit in the form of a data structure that specifies the various steps of the process defined by the process script.
Figure 5 depicts conceptually the structure of the process scripts as they exist in the memory of the system control unit 200. In the example shown, three process scripts exist, namely process script 1, process script 2 and finally process script 3. Process script 1 is associated with the circuit board 110 and each entry or process step defines the operations to be performed at one of the processing stations 104, 106 or 108. Process scripts 2 and 3 are associated to different parts, say for example an optical amplifier and a router, respectively. Process script 2 has 5 process steps necessary to complete the manufacturing and testing of the optical amplifier. Steps 1, 2 and 3 of the process script 2 are conducted on the same processing stations 104, 106 and 108 described in connection with the circuit board 110, the exception being that the components mounted on the optical amplifier by the pick-and-place machine at processing station 108 are different from those mounted on the circuit board 110 by the same pick-and-place machine, and different tests are performed at processing stations 104 and 106. Additional processing stations are required for process steps 4 and 5 but those have not been shown in the drawings.
The process scripts exist in the memory of the system control unit 200 as separate files. A process script manager that is a program element controls the access to these files.
The process script structure described above allows the assembly and testing tracking system to operate on different parts at the same time, where each part is associated with a different process script. Thus, when the introduction of a new part (product) to a production line is required, this can be accomplished simply by writing a new process script.
The assembly and testing tracking mechanism also comprises a process script status register for each part within the network, where this process script status register is also implemented in software on the controller unit 100, in particular the system control unit 200. The process script status register is developed in parallel with the execution of a process script, and is responsible for identifying the current position of a particular part with respect to the process steps of the process script. The process script status register is also responsible for collecting and storing in the data storage unit 102 data representative of information characterizing the particular part, where this data is derived during processing of the particular part at the different processing stations. In a specific example, the information characterizing the particular part includes physical measurements, such as voltage and current measurements, among others, as well as test results.
The data representative of information characterizing a particular part that is collected and stored in the data storage unit 102 during processing of the particular part at the different processing stations may be used to generate reports and graphs qualifying the particular part. Examples of such reports include a History Report detailing the status of the part for each different process step it undergoes, a Yield Report, a Defect Report, a Test Result Analysis Report etc. Similar reports may also be generated with the whole of the information collected and stored in the data storage unit 102 with respect to a family of parts, or with respect to a particular process or test step used by multiple different process scripts, or even with respect to the execution of a particular process script. Thus, a detailed statistical analysis of the performance of both parts) and processing procedures can be automatically generated using the data collected by the assembly and testing tracking mechanism.
The process script status register is illustrated in greater detail in Figure 6. The process script status register includes a logic unit 600 that is a program element performing a number of interactions with various components of the system and a current process step buffer 602 that is a memory slot containing the last validly completed process step. Also, the process script status register includes an additional memory slot holding a serial number that uniquely identifies the part or component associated with the process script status register. The latter memory slot is filled at the creation of the process script status register for the particular part or component and remains static for the entire existence of the process script status register. Each part that is input to a production line is assigned a unique process script status register. This means that, at any one point in time, there are the same number of process script status registers running on the system control unit 200 as there are units or parts in the production line.

The logic unit 600 has several inputs/outputs 604, for connection to the multiple processing stations within the network. Note that the inputs/outputs 604 may be physical or virtual, where in the latter case, multiple processing station connections are multiplexed into a single virtual input. The logic unit 600 is responsible for the execution of the process script associated to a certain part or component in the system. Thus, in addition to communicating with the processing stations, the inputs/outputs 604 of the logic unit also read the process step assigned to the part or component, in order to be able to determine the succession of process steps that must be performed. Also, the inputs/outputs 604 of the logic unit are connected to the data storage unit 102 for performing a data exchange with the data storage unit 102.
An example will help illustrate the functionality of the logic unit 600. For the purpose of this example, consider that a circuit board 110 has been subjected to processing at processing station 108 and is now ready to be processed at processing station 106.
1. The operator manually carries the circuit board from processing station 108 to processing station 106.
2. The operator at processing station 106 enters in the data entry unit the serial number of the circuit board 110. This procedure r_an be effected manually, by typing the serial number on the keyboard 402, or through use of a bar code reader, assuming of course that a bar code is present on the circuit board 110 to identify it.
3. Once the serial number is entered, a data transaction is effected between the processing station 106 and the controller unit 100. Basically, the data transaction involves the transmission to the system control unit 200 of a message containing two elements of information, namely the serial number of the printed circuit board 110 and the identifier of the processing station 106.
4. On the basis of the serial number of the printed circuit board 110, the system control unit 200 routes the message to the appropriate process script status register, in other words the process script status register whose serial number memory slot matches the serial number read at the processing station 106.
5. The logic unit 600 reads the last validly completed process step that is loaded in the current process step buffer 602 and uses this information to access through its inputs/outputs 604 the process script associated with the component or part class. In this case the process script is the process script 1. The communication is effected between the logic unit 600 and the process script manager by the exchange of messages.
6. Next, the logic unit 600 accesses in the process script the process step immediately following the last validly completed process step (next step), through the exchange of messages with the process script manager.
7. The information contained in the next process step characterizes the operation that is to be performed on the part or component and also identifies at what processing station that operation is to be performed.
The logic unit 600 then performs a first validity measure by comparing the identity of the processing station 106 at which the part or component is located with the identity of the processing station contained in the information obtained from the process script.
If there is any discrepancy, the logic unit 600 generates an error message and this message is dispatched to the display unit of the processing station, indicating that the component or part is at the wrong processing station. The error message is not necessarily visual but may be audible or a combination of visual and audible messages.
8. Assuming that the printed circuit board 110 is at the correct processing station, the logic unit 600 then initiates the execution of the operation specified at the next step of the process script. Assume for the sake of this example that the operation is the execution of a certain test. The information relative to the test is communicated via a message to the test server 204 as well as to the parts server 206. The test server 204 is the entity that will control the execution of the test, in cooperation with the parts server 206 that provides details as to the physical structure of the part to be tested. A
test is an actual algorithm designed to verify the compliance of a part to one or more predetermined specifications. In a specific example, a test relates to one or a combination of physical measurements with respect to the part, such as a voltage measurement, a current measurement, a Bit Error Rate (BER), among others. Note that a particular test may apply to any type of process step, within different process scripts defined for different parts or part families. Various elements of a particular test may be performed at a single location within the network of processing stations or, alternatively, may be performed at many different locations. More particularly, upon reception of the message from the logic unit 600, the test server 204 identifies in the message the type of test to be performed and also the identity of the processing station at which the test is to be performed. As shown in Figure 7, the test manager 700 invokes the appropriate test program element, say Test A. Next, the test server 204 will communicate with the equipment server 202 and the parts server 206. The part manager 900 invokes the correct part model, with respect to the part to be tested. The equipment server 202 is responsible for loading, initializing and controlling the test equipment units at processing station 106. The equipment server 202 is operative to invoke one or more equipment drivers, each driver associated with a particular test equipment unit, in order to access and control the test equipment units. Thus, upon execution of a Test A, the test server 204 communicates with the parts server 206 to identify the physical structure of the part to be tested and with the equipment server 202 to identify the equipment necessary to perform the test. The equipment server 202 takes over from there, the equipment manager 800 invoking the necessary equipment drivers in order to control the physical operation of the test units of processing station 106. In a specific example the test to run (Test A) is a measurement of the voltage at a certain node of the printed circuit board versus time. The program element Test A basically implements a timer that counts time at certain intervals. At the end of each time interval a voltage measurement is made through interaction with the equipment server 202.
9. The voltage measurements at different points in time are collected by Test A and, when the desired number of measurements have been made, the results are passed back to the logic unit 600 of the process script status register. Upon completion of the test, the test manager 700 will return the collected test data to the logic unit 600 and then acquire an idle state until a further test request is received from the same or from a different logic unit 600.
Similarly, the equipment manager 800 and the part manager 900 acquire an idle state.
10. When the test is completed the logic unit 600 of the process script status register will communicate with the data storage unit 102 for two purposes. The first purpose is to store the results of the test that has been run. This information completes any other previously stored information in connection with the printed circuit board 110 such as to create a history file for the printed circuit board 110.
Should in the future a problem develop with the component the history file may be of assistance in understanding and diagnosing the nature of the problem. The second purpose is to obtain from the data storage unit 102 reference test data that allows the logic unit 600 to determine if the test has been successful. More particularly, when the test data is within the parameters establishes by the reference test data, the test is considered to be successful.
11. At this point the logic unit 600 increments the current process step buffer 602 to write the currently completed test step.
12. The procedures at steps 1 - 10 are repeated when the printed circuit board 110 is passed to another processing station, in this case the processing station 104.
The assembly and testing tracking mechanism is designed to allow for the overlaying of process scripts, whereby one process script can be nested within another process script, such that a process script can include an entry that calls for the execution of another, distinct, process script. In a specific example, a particular part is a printed circuit board, for which a process script 4 is defined and used by the assembly and testing tracking mechanism to monitor and control the flow of the printed circuit board through the network of processing stations. The printed circuit board includes a laser module, for which is defined a separate process script 5. Process script 4 includes a process step that calls for the processing of the laser module on the printed circuit board, corresponding to the execution of nested process script 5. The nested process script 5 may require access to data characterizing the laser module, for example tuning parameters, where this data may be stored within the data storage unit 102 of the assembly and testing tracking system or, alternatively, may be downloaded from a remote location, for example the supplier plant where the laser modules are manufactured.
As previously described, a test is an algorithm designed specifically to verify the compliance of a part, or parts belonging to a particular part family, to a set of predetermined specifications. In this example of implementation of the present invention, the assembly and testing tracking system provides a bank of object templates for use in designing such an algorithm and thus building a test that in itself constitutes part of a process step, or alternatively an entire process step. In a specific example, a test comprises measuring a voltage level at a node of a printed circuit board and comparing the measured value to the specification value. This test is defined as follows:
funct ( ) initialize('DVM') get meas('DVM', 'VOLTAG') get spec(ss) validate(ss, meas) decision where functions "initialize", "get meas", "get spec"
"validate" and "decision" are predefined in the bank of software object templates provided by the assembly and testing tracking system. The availability of predefined object templates to the test designer greatly simplifies the programming task and provides for standardization within the assembly and testing tracking system. The term "standardization" refers to the fact that algorithms such as the example given above comply with a particular test standard, the latter being enforced by the assembly and testing tracking system, whereby all test algorithms, in particular new algorithms designed using the bank of object templates, share a common, predefined coding language and style. Such standardization increases the adaptability and integration capabilities of the assembly and testing tracking system.
Take for instance the case where a new process script is to be created, where the process script is to be applied to a family of parts and must include testing of part performance.
The designer must first define the tests to be used at various process steps of the process script. In order to define a particular test, the designer simply assembles various software object templates, chosen from the bank of software object templates provided by the assembly and testing tracking system. Once all of the necessary tests have been defined, the designer builds the process script, process step by process step. For each process step, the designer specifies the tests) to be performed at the process step and, for each test, the particular parts) to be tested.
A process script builder that is a program element executed on the system control unit performs assembly of the process steps into a functional process script. A functional block diagram of the process script builder is shown in Figure 10.
The process script builder 1000 receives as inputs the designer-defined process steps. The process script builder 900 performs compilation of the process steps and, for each process step, compilation of the designer-defined tests.
Further, once compilation is complete, the process script builder 1000 assembles the complete process script. During compilation, the process script builder has recourse to a database 1002 of low-level software objects, used to expand the template functions, such as "initialize", "get meal" and "get-spec", which form the designer-defined tests.
Specific to the flexibility provided by the functionality layer of the assembly and testing tracking system, take for example the test step algorithm funct() described above. The algorithm ignores the physical details of the part or part family to be tested as well as the test equipment units) required for the test step, such that the test step is re-usable and applicable to a variety of different parts and part families, regardless of the differences in part or equipment structure. Such details are handled at a lower level within the functionality layer, specifically through the equipment server 202 and the parts server 206. A change to the test equipment unit to be used at a particular processing station is handled by the equipment server 202 while a change to the structure of a part is handled by the parts server 206, independent of the test scripts and process scripts used by the assembly and testing tracking mechanism. Thus the assembly and testing tracking system is easily re-configured to handle new parts or part families within the network of processing stations.
The above description of a preferred embodiment under the present invention should not be read in a limitative manner as refinements and variations are possible without departing from the spirit of the invention. The scope of the invention is defined in the appended claims and their equivalents.

Claims (17)

1. A tracking system for tracking parts, said tracking system interacting with a plurality of processing stations, each processing station operative to receive parts and perform a particular process thereon, said tracking system comprising:

- a plurality of inputs coupled to the plurality of processing stations for receiving data therefrom;
- a controller unit coupled to said inputs, said controller unit operative to monitor the processing stations and gather therefrom data indicative of the nature of the process to be performed at each of the processing stations and the identity of the part to be processed at each of the processing stations, said controller unit operative to implement:
a) a first data structure defining a process script having several entries, each entry including data representative of at least one characteristic of a process to be performed at a particular processing station, each entry representative of a particular step of said process script;
- said controller being operative to process signals received at said inputs, and being operative to consult said first data structure in order to determine if the process to be performed at a particular processing station on a particular part is in accordance with said process script.
2. A tracking system as defined in claim 1, wherein said controller unit further implements a second data structure capable to:
- identify the current position of a particular part with respect to the steps of said process script;
- store data representative of information characterizing the particular part, the data derived during processing of the particular part at the plurality of processing stations.
3. A tracking system as defined in claim 2, wherein said second data structure is developed in parallel with the execution of said process script.
4. A tracking system as defined in claim 3, wherein said first and second data structures are associated with a particular part.
5. A tracking system as defined in claim 4, wherein each processing station includes a display unit for providing to the system user the results of a process performed on a particular part at the processing station.
6. A tracking system as defined in claim 5, wherein if said controller unit determines through consultation with said first data structure that a process to be performed at a particular processing station on a particular part is not in accordance with said process script, said controller unit is operative to generate an indication to a system user and to prevent the processing of the particular part at the particular processing station.
7. A tracking system as defined in claim 1, wherein an entry of said process script is a test script comprising a plurality of test steps, each test step relating to at least one physical measurement characteristic of a part parameter.
8. A tracking system as defined in claim 7, wherein a particular test step of said test script is performed at several different processing stations.
9. A tracking system as defined in claim 8, wherein a plurality of test steps of said test script are all performed at a particular processing station.
10. A tracking system as defined in claim 9, said tracking system further comprising a test server operative to run said test script and an equipment server to initialize and control a plurality of test equipment units, said test server capable to:
- identify for each processing station the part to be tested and the test step to be performed by the processing station;
- download from a particular file in said test server the details of the test step to be performed at the processing station;
- access the equipment server to invoke a test equipment unit.
11. A tracking system as defined in claim 10, said equipment server capable to invoke one of a plurality of drivers to initialize and activate a particular test equipment unit.
12. A tracking system as defined in claim 11, wherein said assembly and testing tracking system further includes a database of software object templates, each test step of said test script formed of at least one software object template chosen from said database of software object templates.
13. A method for tracking parts for use with a plurality of processing stations, each processing station operative to receive parts and perform a particular process thereon, said method comprising:
- implementing a first data structure defining a process script having several entries, each entry including data representative of at least one characteristic of a process to be performed at a particular processing station, each entry representative of a particular step of said process script;
- monitoring the processing stations and gathering therefrom data indicative of the nature of the process to be performed at each of the processing stations and the identity of the part to be processed at each of the processing stations;
- consulting said first data structure in order to determine if the process to be performed at a particular processing station on a particular part is in accordance with said process script.
14. A method as defined in claim 13, said method further comprising the step of implementing a second data structure capable to:
- identify the current position of a particular part with respect to the steps of said process script;
- store data representative of information characterizing the particular part, the data derived during processing of the particular part at the plurality of processing stations.
15. A method as defined in claim 14, wherein said second data structure is developed in parallel with the execution of said process script.
16. A method as defined in claim 15, wherein said first and second data structures are associated with a particular part.
17. A tracking system for tracking parts, said tracking system interacting with a plurality of processing stations, each processing station operative to receive parts and perform a particular process thereon, said tracking system comprising:
- input means coupled to the plurality of processing stations for receiving data therefrom;
- controller means coupled to said input means, said controller means operative to monitor the processing stations and gather therefrom data indicative of the nature of the process to be performed at each of the processing stations and the identity of the part to be processed at each of the processing stations, said controller means operative to implement:
a) a first data structure defining a process script having several entries, each entry including data representative of at least one characteristic of a process to be performed at a particular processing station, each entry representative of a particular step of said process script;

- said controller means being operative to process signals received at said input means, and being operative to consult said first data structure in order to determine if the process to be performed at a particular processing station on a particular part is in accordance with said process script.
CA002291396A 1999-11-09 1999-12-02 Assembly and testing tracking system Abandoned CA2291396A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CA002291396A CA2291396A1 (en) 1999-11-09 1999-12-02 Assembly and testing tracking system
CA002325645A CA2325645A1 (en) 1999-11-09 2000-11-09 Assembly and testing tracking system

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CA002289346A CA2289346A1 (en) 1999-11-09 1999-11-09 Assembly and testing tracking system
CA2,289,346 1999-11-09
CA002291396A CA2291396A1 (en) 1999-11-09 1999-12-02 Assembly and testing tracking system

Publications (1)

Publication Number Publication Date
CA2291396A1 true CA2291396A1 (en) 2001-05-09

Family

ID=25681319

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002291396A Abandoned CA2291396A1 (en) 1999-11-09 1999-12-02 Assembly and testing tracking system

Country Status (1)

Country Link
CA (1) CA2291396A1 (en)

Similar Documents

Publication Publication Date Title
US5355320A (en) System for controlling an integrated product process for semiconductor wafers and packages
US10592370B2 (en) User control of automated test features with software application programming interface (API)
US20080313629A1 (en) Method for installation of objects for a component-based management system for field devices of automation technology
CN111736064B (en) Multi-type signal online test method and system for PCB
CN115630036A (en) Error information processing method, apparatus, device, storage medium and program product
CN111124871A (en) Interface test method and device
CN108228464A (en) A kind of mobile application UI test frames and its implementation based on data-driven
CN112948233A (en) Interface testing method, device, terminal equipment and medium
CN109656756A (en) Multi-core CPU board adjustment method and device, mobile memory medium
CN115542875A (en) Vehicle detection method based on SOA service and related equipment
US7698245B2 (en) Applying rules to validating data for a machine arrangement
JP4336251B2 (en) Traceability system, trace information management method, trace information management program, and recording medium
CA2291396A1 (en) Assembly and testing tracking system
CA2289346A1 (en) Assembly and testing tracking system
CN113282496B (en) Automatic interface testing method, device, equipment and storage medium
CN114416561A (en) Pressure test configuration method and device
KR100636404B1 (en) Method and System for Testing by Using Automatic Control Program
CN113282482A (en) Compatibility test method and system for software package
CN108170412B (en) Comprehensive calibration unit based on flow control
CN110674573A (en) Method, device and storage medium for simulating hardware work in MES system
CA2325645A1 (en) Assembly and testing tracking system
CN112069078A (en) ESA interface pressure testing method, device, testing equipment and storage medium
Zhang Research on software development and test environment automation based on android platform
CN113570333B (en) Process design method suitable for integration
JPS59144980A (en) Clinical examination system

Legal Events

Date Code Title Description
FZDE Dead