E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak...

51
"E20" Surface Mount Productivity Improvement Project - Phase 1 August 2018

Transcript of E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak...

Page 1: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

"E20" Surface Mount Productivity

Improvement Project - Phase 1

August 2018

Page 2: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 2 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

CONTACT INFORMATION

Report Author:

Dean Mischewski Manufacturing Engineering Manager

Tait Communications

Mobile: 64 27 4053142

DDI: 64 3 3570716

Email: [email protected]

www.taitradio.com

Tait Communications Corporate Head Office

Tait International Limited

P.O. Box 1645

Christchurch

New Zealand

www.taitradio.com

COPYRIGHT AND TRADEMARKS

All information contained in this document is the property of Tait International Limited. All rights reserved.

Limited distribution of this report is permitted, at the discretion of Callaghan Innovation.

Page 3: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 3 of 51

CONTENTS 1. BACKGROUND AND EXECUTIVE SUMMARY ........................................................................................ 4

1.1 Background .............................................................................................................................................. 4 1.2 Who Helped? ............................................................................................................................................ 4 1.3 The Challenge .......................................................................................................................................... 4 1.4 Interim Results.......................................................................................................................................... 4

2. REPORT PURPOSE .................................................................................................................................. 6 3. THE SURFACE MOUNT ASSEMBLY PROCESS..................................................................................... 7

3.1 The Place of SMT in the Tait Assembly Process ..................................................................................... 7 3.2 Surface Mount Line Composition ............................................................................................................. 7 3.3 Component Supply ................................................................................................................................... 8 3.4 What Work is Done in SMT? .................................................................................................................... 9 3.5 SMT Data ............................................................................................................................................... 10

3.5.1 Input Data .......................................................................................................................................................... 10 3.5.2 Output Data ....................................................................................................................................................... 10

4. THE PROJECT BEGINS: HARDWARE CHANGES ................................................................................ 12 4.1 Pick and Place Capability Biased towards the Wrong Components ...................................................... 12 4.2 Shuffling Machines ................................................................................................................................. 13

4.2.1 Decommissioning S3 ......................................................................................................................................... 14 5. SETUP/CHANGEOVER SMOOTHING ................................................................................................... 15

5.1 “Slow is Smooth and Smooth is Fast.” ................................................................................................... 15 5.2 A Minor Problem with Changeover Smoothing ...................................................................................... 16 5.3 Visualising the Schedule ........................................................................................................................ 16 5.4 Changeover Smoothing and Batch Sizes .............................................................................................. 17 5.5 Minimising Changeover Time ................................................................................................................. 17

6. IMPROVEMENTS TO THE ASSEMBLY TIME MODEL .......................................................................... 19 7. VISUALISING RUN TIME DATA .............................................................................................................. 21 8. WORKLOAD BALANCING....................................................................................................................... 23

8.1 Edge Balancing ...................................................................................................................................... 23 8.2 Active Balancing ..................................................................................................................................... 24

8.2.1 Better Productivity Through More Balanced Production Lines .......................................................................... 24 8.2.2 Problem: Active Balancing Interfered with Subsequent Jobs ............................................................................ 26

9. THIS IS ALL VERY INTERESTING, BUT WHAT ARE THE REAL-WORLD GAINS? ............................ 27 10. WHAT HAPPENS NEXT? ........................................................................................................................ 29 11. KEY LEARNINGS .................................................................................................................................... 30 12. APPENDIX – COSTS ASSOCIATED WITH INDUSTRY 4.0 ASPECTS OF THE E20 PROJECT ......... 31

12.1 “Industry 4.0” E20 Work ......................................................................................................................... 31 12.2 Other SMT Productivity Improvement Work ........................................................................................... 31 12.3 “Industry 4.0” Costs ................................................................................................................................ 31

13. APPENDIX: LITERATURE REVIEW ....................................................................................................... 32 14. APPENDIX: ADDITIONAL IMPROVEMENT IDEAS ................................................................................ 33 15. APPENDIX: EVOLUTION OF TIMING FACTORS FOR ASSEMBLY TIME MODEL.............................. 35 16. APPENDIX: SMT DATA PROCESSING TO GENERATE MACHINE PLACEMENT FILES ................... 36 17. APPENDIX: EXAMPLE OF DATA BY PRODUCTION ORDER .............................................................. 42 18. APPENDIX: DEVELOPMENT OF WORKLOAD BALANCING IDEAS .................................................... 45 19. APPENDIX: ACTIVE BALANCING RESTRICTIONS .............................................................................. 47 20. APPENDIX: EXAMPLE OF ACTIVE BALANCING CALCULATION PROCESS ..................................... 49

Page 4: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 4 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

1. BACKGROUND AND EXECUTIVE SUMMARY

1.1 Background

In February 2018 the Manufacturing team at Tait Communications kicked off a productivity improvement

project. It was given the name “E20,” representing the desire to improve a number of metrics – some of

which could be said to start with the letter “E” (e.g. efficiency, effectiveness, employee engagement) – by a

stretch goal of up to 20%.

The initial area of focus was the final assembly process. However the availability of “Industry 4.0” funding

from Callaghan Innovation allowed significant work to be done in parallel on Tait’s Surface Mount

Technology (SMT) production area, which has a substantial software component. These two sub-projects

were relatively independent, but proceeded under the oversight of a common steering group.

This report focuses on activity in the SMT area. The key project goal was a 20% increase in productivity,

as measured by component placement rates. The driver for this goal was the forecasted increase in sales

demand heading in to the end of the company’s financial year, 30 June 2018.1 Investment in capital

equipment was not a short-term option as the lead time for SMT placement machines is 9 months, not

including any delays internal to the business in seeking approval for the major investment this would entail.

Tait operates as a high mix / low volume assembly facility, with a key competitive advantage being short

lead times achieved with relatively low inventory levels. Therefore the project needed to meet its

improvement goals without compromising inventory levels or delivery lead times.

1.2 Who Helped? The project was undertaken with the assistance of LMAC, a consultancy specialising in Lean manufacturing

and in fostering the development of high performance businesses.

The level of software resource committed to this project is being supported by assistance from Callaghan

Innovation, in line with Callaghan’s promotion of “Lean 2.0” / “Industry 4.0” activity within New Zealand’s

high-tech industries.

1.3 The Challenge The challenge: increase SMT productivity by 20% while maintaining flexibility and short lead times, without

increasing inventory, with fewer placement machines – because as it turned out, we chose to decommission

one of our older machines during the project – while catering for an expanded range of products due to

some major product releases during the course of the project.

1.4 Interim Results Of Tait’s four surface mount lines, the one under the most capacity pressure over the course of the project

(the S6 line) saw an increase in productivity of 37% when comparing its best single month’s performance

in the year prior to the project (November 2017) with performance at the end of the project’s first phase

(average of placements in June and July 2018). See the chart below for how the placement performance on

S6 changed as the project progressed.2

Across all lines, average placements per month at the end of the first phase of the project were 32%

greater than the average across the six months prior to the start of the project (Sep 2017 to Feb 2018).

However that period was not all at peak capacity. When we compare peak capacity, prior to the project the

single best day for component placements was in early November 2017, when 841,394 components were

placed. Since the improvements, the best result for placements per day has been 1,017,815 – an increase

in peak capacity of 21%.

1 In 2017 the end of the financial year was 30 November. From 2018, this was changed to 30 June.

2 “EWMA” in the chart below stands for “Exponentially Weighted Moving Average,” a common method of smoothing time-series data.

Page 5: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 5 of 51

During the project one of the four SMT lines was retired so some of its equipment could be used to provide

spare parts elsewhere, and two machines from the retired line were relocated to other lines. Therefore the

improvement was achieved with fewer total placement machines (16 rather than 17). It also came without

compromising flexibility or lead time, with almost no capital expenditure, and with a significant increase in

product range and overall complexity.

The most fundamental outcome was that Tait was able to meet all delivery commitments by the end of the

new financial year, 30 June 2018.

Improvements related to the project’s “Industry 4.0” aspects came largely from the following activities:

hardware reconfiguration based on analysis of the production data generated by the SMT system;

smoothing the machine setup and changeover process based on automatic predictive algorithms

looking at future production orders for opportunities to pull work forward;

improving the assembly time model by taking account of many factors that interacted to determine

machine processing time;

workload balancing based on real-time analysis of the assembly time model’s predicted machine

work content – adaptive algorithms were developed to level workloads across the machines in a

line just prior to the setup of each production order.

It should also be noted that there are some important improvement opportunities still being actively worked

on, so the gains will grow as these are implemented.

Key learnings so far include the following:

Accessing and visualising data (especially "big" data) is key to identifying improvement

opportunities in a repetitive manufacturing environment with a reasonable degree of automation.

Support from affected teams and from management is essential in order to foster an attitude of

experimentation and “it's OK to fail when we try something new.”

If “Industry 4.0” is to be pursued in a manufacturing context, the manufacturing team requires

access to dedicated software development resource. This is an area where targeted funding can

have a disproportionately helpful payoff.

A business doesn't need to invest heavily in the latest equipment to gain “Industry 4.0” benefits –

striving for a leading edge "smart”/“connected” factory is laudable, but achieving “smarter” may be

good enough. Working towards “Industry 4.0” in a New Zealand context is an iterative process, and

it can be thought of as progression along a continuum rather than a jump from one state to another.

0

1

2

3

4

5

01/02/2018 01/03/2018 01/04/2018 01/05/2018 01/06/2018 01/07/2018

Pla

cem

en

ts p

er

Seco

nd

Date

S6 Placement Rate Through E20 Project

Placementsper Second

7-DayEWMA

Page 6: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 6 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

2. REPORT PURPOSE

There were several aspects to the improvement initiatives that were undertaken for the E20 project,

including hardware upgrades, changes to team structures, equipment moves, layout improvements,

workflow changes, measurement system adjustments, changes to the management and monitoring of the

area, and enhancements to the system control software. However this report is not a comprehensive

documentation of the whole project, but instead is focused on those features related to the “connected

factory” / “smart(er) factory” aspects associated with the “Lean 2.0” / “Industry 4.0” model that Callaghan

Innovation has been promoting recently. It is also an attempt to provide helpful information about our

approach and experience that we hope could make a contribution to New Zealand industry’s body of

knowledge in this area.

Other improvement initiatives associated with the wider project may be mentioned tangentially, or not at all,

depending on their relationship to the report purpose.

This should be considered an interim report. The project was originally planned to extend from late February

to July 2018. This report covers progress to date, but several improvement opportunities were identified that

are still in progress or planned but not yet implemented as at the time of writing.

Page 7: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 7 of 51

3. THE SURFACE MOUNT ASSEMBLY PROCESS

3.1 The Place of SMT in the Tait Assembly Process

The Tait assembly facility can be divided into two main sections: Surface Mount Technology assembly (“SMT”); and selective wave soldering / hand-soldering / mechanical assembly (“post-SMT”). The most significant chunk of the factory’s capital equipment investment resides in SMT. The assembly process can be thought of as: - soldering components to printed circuit boards (PCBs) to create printed circuit assemblies (PCAs); then - fitting mechanical components around PCAs in order to create finished products.

The flow of product through the factory can be simplified and summarised as below:

1. Print solder

paste to PCB

2. Pick-and-place SMT

components to PCB

3. Pass PCB and components through reflow oven to create

PCA.

Repeat steps 1-3 for double-sided assemblies

4. Program / test PCA

5. Inspect PCA

6. General mechanical

assembly: fit one or more PCAs with

mechanical parts to create final product

7. Configure / program /

test

8. Consolidate / Pack

3.2 Surface Mount Line Composition

The figure below shows a simplified representation of Tait’s SMT lines as at the start of the E20 project:

Page 8: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 8 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

For readers unfamiliar with surface mount assembly processes, it may be helpful to review the second video

on this page of the Tait blog – Tait Products: From the Factory to the World.3 This three-minute video

should make it easier to visualise the operation of the surface mount area, described below.

The SMT area typically runs with three shifts covering 24 hours per day, five days per week. It builds

according to a daily production schedule, which is generated based on a mix of direct customer orders and

some replenishment of safety stocks as they are depleted by customer orders.

At the start of the E20 project, the SMT plant consisted of four independent assembly lines, with 17

placement machines. To understand the direction the project took, it is important to know that two main

types of machines are in use. Even though there are a variety of machine models in the diagram above,

they are all from the Yamaha brand, and they can all be classified as either flexible mounters (known at Tait

colloquially, and throughout the rest of this report, as “chip shooters”), or fine pitch mounters. Chip shooters

are faster, and have eight to ten nozzles on their placement head, and are generally used to place smaller

passive components – e.g. resistors, capacitors, inductors – while fine pitch mounters are more flexible and

more accurate, but slower, with two to three placement nozzles, and are generally used to place larger

components or fine-pitch integrated circuits.

At the start of the project, the SMT lines had the following composition:

S3: 3 machines (2 chip shooters + 1 fine pitch mounter), used mostly for assembling “legacy” products (older and/or less complex and/or lower volume PCAs)

S6: 5 machines (3 chip shooters + 2 fine pitch mounters), used mostly for assembling mobile radio PCAs

S7: 4 machines (3 chip shooters + 1 fine pitch mounter), used mostly for assembling hand-portable PCAs

S1: 5 machines (3 chip shooters + 2 fine pitch mounters), used mostly for assembling infrastructure PCAs (larger base station products and complex, high data rate, point-to-point telemetry equipment)

3.3 Component Supply

SMT components are normally supplied in “tape and reel” format: the components are located in small

pockets embossed into cardboard or plastic tape. This “carrier tape” is covered with transparent “cover

tape” to hold the components in place, and the tape is wound around a plastic reel.

When it is to be used, the reel is mounted to a feeder, and the feeder is mounted to a machine. For a typical

SMT component, there could be 10,000 items in a reel of tape. There is one reel per feeder, and around

100 feeders per machine, half mounted on one side and half on the other. Some components are supplied

in trays and are therefore handled differently, but these are in the minority.

The image below illustrates most of these items.

3 https://blog.taitradio.com/2018/05/16/inside-the-tait-factory-ensuring-the-quality-of-a-million-parts-per-day/

Page 9: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 9 of 51

3.4 What Work is Done in SMT?

The Tait SMT lines are set up so that no production order requires more unique components than can be

mounted on a line. However the entire product range that each line must deal with contains many more

unique components than will fit on a line, so changeovers are required between one job and the next to

ensure all the necessary components are available.

Therefore there are three main types of work that are required in order to build a surface mount PCA, or to

change from building one type of product to another:

Setup: fit component reels to feeders

Changeover: swap out feeders containing components that are not required for the upcoming job so

that there is room on the machine for feeders with new components

Run: pick and place components from feeders on to PCBs.

Surface mount productivity is largely determined by the way these three activities are carried out.

Setup is an “external” activity, in Lean parlance – it can be done “offline” without stopping the machines,

while they continue to run an earlier job.

Changeover is an “internal” activity – the machine has to be stopped while the feeders are exchanged –

although in theory on a multi-machine line, it should be possible to do the changeover one machine at a

time. In other words, while machine 1 is going through changeover, machine 2 could be finishing the last

panel of the previous job. As soon as that panel has exited the machine, changeover could begin there.

Running is the value-adding internal activity that puts parts on the board.

Therefore for the E20 project it was important to (a) do setups efficiently, and in advance of when the

feeders would be required for changeover; and (b) do changeovers in the minimum time, so as to (c)

maximise the line’s running time.

Page 10: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 10 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

3.5 SMT Data

The SMT system uses and generates a large amount of data. Accessing, analysing, and using this data

effectively formed the backbone of the “Industry 4.0” aspects of the E20 project.

3.5.1 Input Data

Every product consists of many parts. These are listed in its bill of materials (BOM). The BOM also defines

the SMT line that the product is to be built on. Each part in the BOM has a unique circuit reference and

location on the PCB, defined relative to certain fixed points (“fiducial marks”) and described in terms of x, y,

and theta (rotation) coordinates. The location data is captured in the product’s PCB CAD file.

To build a product, the BOM and PCB CAD data must be accessed from the company’s ERP and network

file-share systems, and merged into a machine-readable placement file, that is then distributed across the

machines in the line on which the product will be built. This BOM/CAD merge is done in real time as a

product is about to be built. The placement files are generated anew for every production order; they are not

stored in the placement machines. This ensures the most up-to-date data is always used. At the same time,

the instructions for the machine operators are generated, telling them which components must be

exchanged as the line moves from the previous job to the next one.

Another important set of data is the component profile information. Every component is associated with a

profile, which defines the component’s size and shape, its rotational offset relative to the CAD data, its

supply type, the nozzle type which is used to pick it up, the machines on which it can be placed, and the

general parameters of the vision system that is used by the machine to identify and orient it. Component

profiles are stored in a database, but there is additional profile data stored at the machine level, defining

things such as pickup and placement speed, specific vision algorithm, and various other attributes that can

be used to fine-tune the component placement. Every machine that is defined in the database as being able

to handle a particular component profile must also have that profile defined on the machine itself.

There are other product-specific factors that are also contained in the CAD data and must therefore be

replicated in a placement file, such as the number of PCBs per panel, PCB fiducial mark position, PCB

thickness, PCB width, and so on.

Keeping all this data synchronised and using it effectively is essential for the efficient running of the SMT

line. Assembly time is also affected by the order in which components are picked, the location of each

component along the machine’s feeder base (positions closer to the middle, and on the front side of the

machine, are better), and the path which the placement head takes as it moves over the PCB to place them.

In addition, some machines must often place more component types than can be handled by the default

nozzles on its placement head. In such a case, the machine must also know when to change nozzles at its

internal nozzle station as it shifts from one component type to another. This is an automatic process, but

controlling it properly is important as the frequency of changes and the sequence in which they are done

can have a significant effect on placement time.

Section 16, Appendix: SMT Data Processing to Generate Machine Placement Files below provides an

overview of some of the processing that must happen when the data for a production order is generated.

3.5.2 Output Data

The effective integration and use of the “input” data described above is an essential part of Tait’s

competitive advantage, and for years Tait has already been in many ways a “connected factory,” pooling as

it does data from product design (schematics), CAD layouts, ERP BOM and routing information,

component-level profile data, and machine-level configuration data, along with all the complex steps

Page 11: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 11 of 51

required to bring the physical materials together in the right place at the right time, to fulfil a daily production

schedule triggered by customer orders.

However SMT also generates (or, as we discovered, potentially generates) a lot of “output” data, which for

the E20 project was important in understanding how to best proceed, and which also serves as the basis for

moving further along the Industry 4.0 continuum.

Through the first weeks of the project, metrics at the production order level were heavily used to assess

progress and to help understand the effects of the changes that were being made. An example of the sort of

data that was automatically captured and then reviewed is included in Section 17, Appendix: Example of

Data by Production Order, below.

However as the project went on, we were able to take better advantage of the more discrete data logged by

the placement machines as they processed each panel of PBAs. When we learned how to gain access to

the assembly-level data in closer to real-time, this greatly improved the insight we gained into what was

happening through the course of a job. We will discuss this more in Section 7, Visualising Run Time Data,

below.

Page 12: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 12 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

4. THE PROJECT BEGINS: HARDWARE CHANGES

An early step in the project was to attempt some quick-payback, relatively low-cost hardware upgrades.

This was not “Industry 4.0” activity, but it did help us learn where to focus our analysis efforts going forward.

4.1 Pick and Place Capability Biased towards the Wrong Components

Throughout the project the S6 line was under the greatest pressure for more capacity. This line was mostly

focused on building PBAs for mobile radios, the kind of radio equipment commonly found in vehicles such

as police cars and ambulances. Analysis of the components used on the line revealed that the most

common components on those products were “0402s” – small devices such as capacitors and resistors that

were 1 mm x 0.5 mm in size. Yet the line was configured back in 2003 when the predominant components

were “0603s,” 1.6 mm x 0.8 mm in size. This meant that the chip shooter machines at the start of the line,

which would have been the bottlenecks in the process anyway, were even more so because their

configurations were biased towards efficiently picking and placing 0603s, not 0402s. Only half of the eight

placement heads per machine could pick 0402s, making the machines much slower than they should have

been on the most common products they were supposed to build. We had not paid much attention to this

beforehand because the product evolution had occurred gradually over the course of more than a decade.

The pick-and-place place capability is in part determined by the nozzle that is fitted to each placement head,

as each nozzle is optimised for a certain type of component. Our placement machines can be configured to

automatically change nozzles when required, but this wasn’t how our machines had been initially set up.

However we were able to improve the situation by arranging purchase of a second-hand nozzle station, an

add-on hardware feature that allowed for automatic exchange of nozzles depending on what was needed.

We configured the machine so that the component bias was reversed, in effect optimising for picking and

placing the much more common 0402 components, while at the same time allowing for automatic nozzle

changes to adapt to other requirements where necessary. This gave us a noticeable performance increase

on the first machine where we trialled it, so we quickly duplicated the change on each chip shooter.

The analysis of component mix and placement times gave us important insights into the value of

understanding bottlenecks, which we would leverage later in the project.

Page 13: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 13 of 51

4.2 Shuffling Machines

When we started looking at machine utilisation we saw that the S3 line was in general under-utilised, since

it only needed to operate about half the time. We asked ourselves the question: what if chip shooters from

S3 could go on other lines? Chip shooters were almost always the bottleneck, and S3 had two of them that

were under-used. Moving them could both relieve a bottleneck and have the machines spending more time

on useful work rather than sitting idle. We knew it would be a major job to reconfigure our lines, and there

might be some unexpected ramifications, but we thought that if we did it once we could generalise the

process and it would be easier to repeat.

S6 was the SMT line most under pressure, and therefore the best candidate for getting an extra machine.

The ideal location given the types and locations of existing S6 machines would have been at the machine 4

position (fourth machine in the line), but this would have required too much physical work shuffling other

machines to make one fit there – every other machine in the line would have had to be moved either

upstream or downstream. It also would have been difficult to undo if it didn’t work out, and an important part

of gaining the willingness to experiment was to be confident we could put the machine back where it came

from if things went wrong. So instead we slotted the machine into the front of the line, at the machine 1

position just after the printer. This meant that only the printer had to be moved, and we could more easily

back out and reverse the changes if need be.

Once we decided to do this we put some initial effort into making our system configurations more database-

defined – and therefore more easily editable – rather than hard-coded. The logical structure of our lines in

the control system software had to match the physical structure. Building flexibility into the software gave us

much more freedom in the physical realm, so we could get a bit closer to being able to “drag-and-drop” our

complex SMT machines. We were still constrained by physical limitations such as access to power, air, and

floor space, and the need to shuffle other equipment upstream or downstream. But our system became

smarter and more easily configurable after this effort than it had been before.

The result of the move was that the extra machine gave us more resource on the S6 line, and better

utilisation as instead of being used half the time it was being used all the time. A more subtle benefit was

that we had not just more resource, but more opportunities for line balancing – except we weren’t yet able to

properly take advantage of it (see Section 8, Workload Balancing below for more on how we dealt with this).

However after making the change, the first impressions were that this was terrible; the first big job

assembled took much longer than expected. And this sent us on a wild goose chase for a few days thinking

that this test job – which happened to be for a new product – somehow just wasn’t compatible with the line.

It turned out though that the problem was poor balance at the front end of the line. Some manual

reconfiguring made things a lot better and quickly provided 30% capacity improvement with only ~20%

more machine. The exercise proved the importance of line balancing though and gave us important clues

about how to build balancing algorithms into an adaptive system. Learnings from this informed our workload

balancing activities, as we were able to see the decisions our technical staff had made to manually improve

the line balance, and incorporate that logic into our automation.

One other benefit was that having more machines on the line provided more “live” feeder positions, so less

changeovers were required between jobs.

Since the experiment worked, it was repeated with S1 – the second of S3’s chip shooters was moved to the

machine 1 position on the S1 line. We did not get such a big improvement as S1 dealt with a greater variety

of jobs, and generally much smaller batch sizes, but overall productivity was still better.

A precursor to making it work on S1 was that we had to do a major re-layout of the setup area around the

printer in order to make things fit. This ended up giving us additional benefits in terms of ease of movement,

segregation of feeder trolleys, and more space for operators.

Page 14: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 14 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

4.2.1 Decommissioning S3

There was an important downside to this experimentation: once one machine was removed from S3, we

effectively couldn’t use that line at all, so we had to shift lots of lower volume and legacy products onto the

big lines, which impacted their performance. Overall, and especially on S6, this was more than made up for

by the productivity boost, but on S7 the impact was negative.

On the other hand, the people who had been required to run S3 were able to be reallocated across the

other lines. The net effect of this was more focus on machines when running, so reduced time losses when

they stopped. With more people resource per line there was also less of a conflict in priorities between

setup tasks and machine operating tasks. We expect this clarification of the different main roles of SMT

operators (setup/changeover/running4) to be useful for future improvement activity. Overall the most

noticeable effect of reallocating the people was a further decrease in changeover times.

It is worth pointing out that the changes on S3 gave us an opportunity to decommission the third machine

on that line, our oldest fine pitch mounter, something our Manufacturing Engineering team had been

wanting to do for some time. An implication for the project though was that in effect our challenge was

therefore to boost SMT productivity with fewer placement machines than we started with: 16 rather than 17

in total.

4 See section 3.4 above, What Work is Done in SMT? for more on what these entail.

Page 15: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 15 of 51

5. SETUP/CHANGEOVER SMOOTHING

5.1 “Slow is Smooth and Smooth is Fast.”

Another early step in our project was to investigate how we could smooth out the downtime between

production orders, aiming to achieve heijunka (leveling) of changeovers. Traditionally the changeover for a

production order involved preparing feeders with any parts required for the upcoming job that were not

currently on the line (setup), and then at the end of the previous job putting them on the line, making space

for them by removing feeders currently on the line but not required for the new job (changeover).

In practice, the amount of work required for the setup phase often didn’t matter as it could be done while the

previous job was running. But the changeover time, and therefore the downtime between jobs, could be

quite variable, as the number of feeders to change for a given job depended on the current line

configuration and the requirements of the new job.

We wanted to achieve a steady level of changeover work through the day, so that each changeover took

the same, predictable amount of time. We did this by having the system look several jobs ahead, and pull

forward some of the changeovers from future jobs where there was opportunity to do so. In effect we

wanted to smooth out the peaks of work so that things could be more steady and predictable, and could be

handled by a fixed number of staff.

We made the extent of smoothing a configuration option, mainly by controlling the number of future jobs the

system could search through in order to find opportunities to bring setups forward and smooth out peaks

and troughs in demand. Our longer-term intention is to make it adaptively settable by the system without

intervention, based on machine learning – for example by having the system analyse each daily schedule

with a simulation tool, and then tweaking the smoothing factor based on requirements. But to date our

manual adjustment based on human observation of the system has been a big step forward.

The main benefit has been as hoped: steady work through the day. We still have roughly the same total

number of overall setups and changeovers, but we have almost eliminated peaks and troughs, and

therefore made managing the staffing workload easier.

An additional benefit has been that peaks (big setups required for jobs with a radically different component

mix from the preceding job) have been largely eliminated, which means that a lower total number of feeders

have to be available offline to deal with those peaks. Previously we had regularly run out of spare feeders

when setting up for certain jobs, and had to interrupt machines while they were running to extract feeders

not used on the current job that could be repurposed for the upcoming job. But with smoothing active, most

of any given “big” setup was prepared in advance, with a smaller pool of offline feeders required. We don’t

seem to experience feeder runouts any more – complaints of running out of feeders, and requests to buy

more to compensate for this, have completely dropped away. This is significant from a capital expense

perspective as each feeder costs ~$2,000, and we were able to avoid spending money to get the same

benefit as would have been achieved with tens of thousands of dollars of investment.5

There is some extra complexity built into the software now, so that it can predictively assess future

requirements and intelligently apply that to present work. But from a shop floor perspective there is much

greater simplicity in the management of resources – people and support equipment (feeders). Our SMT

team leaders don’t have to actively manage peaks and troughs of resource demand, and can focus on

adding value elsewhere.

5 It should also be noted that with fewer lines we do have more feeders in play per line, as S3’s feeders could be shared to the other

lines where compatible.

Page 16: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 16 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

5.2 A Minor Problem with Changeover Smoothing

One problem that arose when we started with the smoothing was that as we approached the end of the

schedule there were fewer jobs to look ahead at (eventually, none) so the Day shift, who did the first jobs of

any given schedule, were getting hit with more setup work than the Graves shift, dealing with the end of the

schedule. The peaks at the end of the schedule had all been smoothed by having some of the work pulled

forward, but with no jobs after the end of the schedule, there was no work being pulled forward into the

Grave shift from the following day’s schedule. We had smoothed the feeder requirements across the

schedule, but not the labour requirements.

The workaround here was to ask our production planners, who define daily schedules and release

production orders, to release the first few jobs of the following day’s schedule early to ensure that the

smoothing algorithm always had jobs to work with.

5.3 Visualising the Schedule

The SMT schedule is visualised using a kind of Gantt chart. Below is an example attempting to show the

difference that was made when smoothing was activated. The first image illustrates a schedule without

changeover smoothing; the second shows it with the smoothing turned on. The light blue segments of each

bar on the chart represent the changeover time, and the dark blue represents the running time.

Although the images above don’t quite show this, in general we found that the average changeover time did

not really change, but the variation between jobs was much less.

Page 17: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 17 of 51

Smoothing the changeover workload worked very well most of the time, and its benefits were most notable

when a significantly different product was about to be built. Instead of a large, time consuming changeover

where the entire line would be stopped while many feeders were exchanged, most of the work would be

done in advance, as part of the changeover for previous jobs. So what had been a “big” changeover now

took just as long as any other.

Unfortunately things weren’t so good when it came to jobs which formerly had a “small” changeover, plus a

short run time. In some examples, where very similar jobs would run back-to-back, it used to be the case

that no changeovers at all were required for the jobs after the first in the sequence. Now though,

changeovers were performed on every job. This seemed counter-intuitive to some operators as it went

against their experience, and felt initially like extra work had been added for no reason – regardless of the

fact that the work would otherwise have had to be done at a different point in time anyway. We found that

we all seemed to have a disproportionately good memory for when changes seemed to have made things

worse, compared to when changes made things better.

5.4 Changeover Smoothing and Batch Sizes

Another advantage of the smoothing was that it helped reduce the desire to schedule very large batches of

products that would normally have had a large changeover time, by masking the effect of the larger

changeovers.

We typically produce daily batches, linked to daily customer demand, which promotes a steady flow of

product through the factory and minimises the inventory tied up in subassemblies that can’t be used within

the next 24 hours. However for products where changeover times are long, it is very tempting to minimise

the number of times they are built by scheduling multi-day batches. But doing this has several costs,

including that components are consumed in advance of when they are needed and are not free to be used

in other products, and that more storage space is required, and that it is harder to complete a schedule

within a day when more than a day’s production is asked for. Also, because most of our products are made

of multiple SMT subassemblies, a product can’t be put together until all subassemblies are built, and delays

caused by building extra of one thing can have an unexpected impact on the ability to build something else.

So if we take it as given in a lean environment that producing batches sized according to customer demand

is a good thing, then promoting that by minimising the temptation to build large batches is also a good thing.

In other words, the value of a smooth flow through the factory can be greater than the value of changeover

time saved through building in larger batches.

Minimising changeover time remains a focus of course, as the smaller we can make that, the less this trade-

off matters.

5.5 Minimising Changeover Time

It is worth a brief aside to underline the significance of minimising the changeover time. Our SMT machines

cannot run while having feeders exchanged, so much thought was given to the best practical way to carry

this out. It was in essence a SMED activity (“Single Minute Exchange of Die”), trying to find ways to

expedite changeover. We won’t dwell on that activity here as it is not strictly related to the “Industry 4.0”

aspects of the project. But the practical outcome was to adopt the practice of “chasing” a job down the line.

As soon as machine 1 was finished populating the last panel of job 1, it could be put into changeover mode

and have its feeders exchanged. It could then begin processing panel 1 of job 2. While that was happening,

machine 2 would have completed job 1, and be ready for the changeover to move downstream to it.

As we got better at doing this, our operators found themselves more frequently running into a limitation

within our system. Our longest two lines have six machines, so in principle up to six concurrent jobs could

be running. But our system for merging BOM and PCBCAD data, generating the machine placement files,

Page 18: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 18 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

downloading those files to the machines, and printing the changeover instructions for the operator, could

only handle two concurrent jobs.

This was most problematic on the S1 line, which often had to deal with short, simple production orders. As

soon as the two-job limit was reached, the operators had to wait for the entire line to flush out the first job

before they could begin work on the third. The resulting idle time proved frustrating for all concerned. Work

is now underway to break the two-job constraint, but it involves a major re-write of sections of the SMT

control system codebase, as well as changes to the process for the operators.

At time of writing this is still a work in progress and is expected to take several more weeks of effort. We

expect the gains to be worthwhile however: not only will we reduce idle time in the scenario discussed

above, but we hope that the new paradigm for handling how job data gets to the machines will allow for a

step change in performance. We expect that for changeovers, people resource will become a bottleneck

more than machine resource, so this will challenge us to find ways to get the right people to the right place

at the right time with the right information to take best advantage of our new capability.

Page 19: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 19 of 51

6. IMPROVEMENTS TO THE ASSEMBLY TIME MODEL

At this point in the project we were seeing improvements but our production planners were complaining that

things were taking too long – daily schedules not being finished within a day. This was because they were

releasing what our predictive model said was 24 hours’ worth of work, but it wasn’t getting done in 24 hours.

The model was wrong. Beforehand, the model was reliable on average across broad time domains, and it

tracked well with planners’ experience as they had grown used to knowing what each line was capable of

doing with each product family. But we had just introduced new product families, were ramping up capacity

as we approached year end, had reconfigured lines so they behaved slightly differently, and had changed

the product mix per line by taking S3 out of the equation and shifting its workload across the other three

lines.

So lots of work went into improving our assembly time model. Initially everyone on the project was under the

impression that our SMT predictive systems used data such as the number and type of components that

must be placed on a PCB for each machine in the line, along with the capabilities of each machine. The

machines have different speeds and capabilities and characteristics, and the different supply types for each

component (largely related to component size) affect how quickly each component can be picked, visioned,

and placed on a PCB.

However on close examination we were surprised to find that the model was actually much cruder than that.

Our time estimates were based simply on the number of components to be placed by the machine with the

highest number of placements, the machine’s rated speed, and an efficiency factor. This did not give us the

level of precision we needed going forward, especially with all the changes we had made.

We saw that making the model more accurate would be essential for further progress, not only to help the

planners send the right amount of work to the factory each day, but also because we wanted our system to

give us a smart compromise between balancing the workload of the machines in a line, and trying to

minimise the work for each changeover between jobs. Exploring this compromise presented lots of

improvement opportunity – more on this below.

Upon further exploration, we found that our assembly time model was not directly accounting for many

factors, which led to large inaccuracies in the short-term timeframe that the planners were working with. Our

first improvements came from factoring in supply type (corresponding to the size of the component being

placed), overall rated machine speed, and component location (parts on the front side of a machine can be

processed more quickly than on the back), as well as quantity of each component. Then after studying the

matter more closely some additional factors that were analysed and accounted for more discretely included

visioning time, convey time, and nozzle change time.6

Section 15 below, Appendix: Evolution of Timing Factors for Assembly Time Model, shows the way many of

the factors that went into building up this model changed over time as the project progressed.

We also put more work into understanding the elements of changeover time. A changeover consists of not

just getting the right feeders onto machines, but before that, getting the printer set up with correct “recipe”

(definition of parameters such as print speed, pressure, fiducial location etc for the new job of PCBs to be

printed), inspection of first-off print, and so on. This is the very first process for a new job so normally has a

greater impact than other changeover events like adjusting reflow oven temperature or conveyor widths. We

did a major training effort to standardise operators’ work here, with a desire to maximise speed without

impacting quality; printing quality is the foundation for the quality of the entire product.

6 An additional factor we intend to include at a later date is a time allocation for dealing with “bad-marked” boards – panels where not

all PCBs are usable for one reason or another.

Page 20: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 20 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

Consistent work here helped refine the factors and constants and give an overall more reliable model. This

reduced frustration from planners, SMT team leaders, and also our machine operators, who felt at times

that although they were working effectively they were always behind, which was somewhat demoralising.

We learned that this frustration was easy to remember on the jobs that went slower than expected, but on

the faster jobs it wasn’t counterbalanced in people’s recollections, even though on average the aggregate

data was always roughly correct.

There was an interesting tension in this. On one hand there was a desire on the part of the planners to

fudge the estimates (i.e. add a “real-world” correction factor) so that the Gantt chart they were working with

was more in line with what they could expect, and so that they would not be responsible for over-committing

the factory, resulting in overtime, expediting, and other problems. On the other hand, the project team

wanted to see a Gantt chart that represented something closer to what was theoretically achievable, as this

certainly led to a strong impetus to drive improvement.7 At a time when the factory was after every bit of

capacity it could get, there was a definite reluctance to “give away” some capacity due to not challenging

ourselves to deliver everything possible.

So a result of this phase of the project was an improved assembly time model, one which was acceptable to

the various interested parties, and one which could more effectively serve as the basis for further

improvement. This work also resulted in a lot of learning, based as it was on extensive observation of the

physical system, and this in turn led to a strong effort to find better ways of visualising our production data.

7 Our workload balancing calculations (see Section 8, Workload Balancing, below) were also based on the same model, so the team

didn't want to disrupt the balancing effectiveness by needlessly changing the model.

Page 21: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 21 of 51

7. VISUALISING RUN TIME DATA

An important tool we developed as the project proceeded was our “Actuals vs Estimates Chart”.

Every time a placement machine finishes processing a panel of PCBs,8 the machine logs a timestamp. We

were able to capture these timestamps to get the elapsed time between sequential panels, and compare

that to what our model’s estimated times were. This gave us some fascinating insights into not only where

there were differences between the model’s estimates and the actual times, but why those differences were

happening. Consider the following chart:

The title shows the production order number and the side of the PCB being assembled (top side in this

case). The y-axis is in seconds, used to display time between one data point and the next. The x axis shows

the data point number, which roughly corresponds to the panel number. There are six horizontal segments

to the chart, representing six machines in the production line. There are 28 data points per machine,

corresponding to the number of panels each machine had to process. The red line connects the points

showing the elapsed time between two panels. The green line is the predicted elapsed time between

panels.

Because the machines process the panels in sequence, the overall time for the job is determined by the

bottleneck cycle time multiplied by the number of panels in the job. This is the time displayed on the Gantt

chart used for visualising schedule timings, and is the basis for the estimate of how long the job will take to

be completed. From the chart above it is apparent that the model expects the third machine to be the

bottleneck for this production order. The lower position of the green lines for the other five machines show

that they could process each panel faster than machine 3, but the red lines show that this doesn’t happen in

reality, because (for example) machine 2 has to wait for machine 3 to finish processing a panel before it can

feed the next one into machine 3, and machine 4 has to wait for machine 3 to finish before it can pull its

next panel from machine 3.

8 Note that there may be more than one PCB per panel.

0

200

400

600

800

1000

1200

1400

1600

1 6

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

10

1

10

6

11

1

11

6

12

1

12

6

13

1

13

6

14

1

14

6

15

1

15

6

16

1

16

6

102426753_TOP_

Page 22: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 22 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

So in practice, the red lines are almost always limited from going below the pace of the bottleneck machine.

The flat “base” of each red line segment represents that bottleneck time. Because it is a very automated

process, the time of the bottleneck is very repeatable. Assuming nothing goes wrong, it will be very flat.

Every upwards spike represents something going wrong, and those spikes are always additive in time;

because of the constrained nature of the bottleneck, variation is virtually always negative, and can’t be

caught up. On the first machine, there is a possibility for the first few panels to go faster, until the buffering

conveyors are full and production has to halt due to downstream machines being busy. On the last machine

where the only downstream machine is the reflow oven, individual panels can be processed faster than the

bottleneck time, but then the machine is starved while it waits for more panels to be delivered from

upstream. The average time can still not be better than the limitation imposed by the bottleneck machine.

The large spike at the start of each red segment is due to the extra time taken to process the first panel of a

production order. This includes the changeover from the last panel of the previous job, plus time for that last

panel to flush out of the first placement machine, as well as the time to place components on the first panel

of the new job. This spike ripples down the line as that first panel gets to each machine.

The smaller spikes are problems with feeders, or occasions where a reel has run out of components and

must be replaced, or breakdowns, or breaks such as morning or afternoon tea, or other similar issues.

These are most significant on a bottleneck machine. However if the issue occurs on a non-bottleneck

machine, but draws attention from a bottleneck machine with its own issue, or takes long enough to deal

with that it causes the bottleneck machine to wait, then the time is still irretrievably lost. Each one of these

spikes represents an improvement opportunity, and almost all of them fall into well-defined categories, and

some of them are even predictable in advance.

The opportunities to get better are by far the most significant on the bottleneck machine, which has led us to

bias our workload balancing system (more on this in Section 8 below) toward making the first machine the

bottleneck wherever possible. The idea here is to make management of the line a little easier by having a

consistent, clearly defined “priority” machine. Another reason to aim for a bottleneck at the front of the line is

that it reduces work in process inventory on the line. Unnecessary buffers hide issues, whereas on an

emptier line, visual management is much easier as issues are more visible. This approach also highlights

under-utilisation of downstream machines.

From the chart above we can also see that the modelled time is very accurate – the relatively flat “base” of

machine 3’s red line almost touches the height of the green estimated time line.

The small blue lines represent the theoretical minimum time for a changeover between production orders,

based on a fixed time for activity required for every job, plus a variable time depending on the number of

feeders that must be exchanged for this particular job. Any spike on the first panel that is above this blue

line represents opportunity for improvement. A big chunk of this will be addressed when we introduce our

system to allow more than two jobs to be running down the line concurrently, as discussed in Section 5.5,

Minimising Changeover Time above.

Page 23: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 23 of 51

8. WORKLOAD BALANCING

Of fundamental importance with respect to the “Industry 4.0” aspects of the project was the way that the

data visualisation described above showed the value of line balancing, i.e. the capacity improvement

available by balancing the workloads of the machines. It is clear from the chart in Section 7 above, for

example, that if some of machine 3’s work could be pushed on to other machines, its workload would be

reduced and the bottleneck time would come down, thereby speeding up the entire production line.

In practice, our balancing effort was focused on the chip shooters, the first few machines in each line, as for

most products they do the bulk of the work – most components are small passive devices, especially “R”s

and “C”s (resistors and capacitors), which are almost exclusively placed by the chip shooters. As a

generalisation, chip shooters could not pick up work from fine pitch mounters – nor would they want to,

since a chip shooter is almost always the bottleneck machine. And fine pitch mounters could not pick up

work from the chip shooters, often due to technical reasons. For example, it can be problematic to place

small components among the larger and taller components that the fine pitch mounters handle due to

nozzle access restrictions; fine pitch machines often place surface mount shields which cover other

components, so those other components must therefore be placed earlier in the process; and fine pitch

machines don’t normally have the nozzles required for the small chips, or if they did they would be

significantly slowed down by the nozzle changes required.

Before the start of the project, only token effort went into balancing workload across machines. A key point

is that the way the system allocated parts to machines was biased towards minimising changeovers;

roughly speaking, it would tend to leave a component in a sub-optimal location because that meant it would

save the work of moving it. The system didn’t calculate the time that could be saved by putting the

component in a better location on the same machine, or on a different machine. This approach also tended

to leave fewer “slots” available into which the system could place any additional changeover parts. It would

in general call for the removal of lower-use components in order to make room for the new components that

needed to go on the line. And it would identify lower-use components based on history, rather than based

on what we knew of the future (i.e. the upcoming schedule).

8.1 Edge Balancing

It became clear as the project progressed that the run time model was foundational to a huge part of the

SMT control process. It not only affected the size of the schedule when demand was high, since the length

of the Gantt charted limited the number of jobs that could be released for the day ahead, but it also underlay

the creation of the placement files. Our system would distribute parts for each order across the machines in

the line based on which machines they were allowed to go on, but also based on the predicted placement

time for each part, as it did some rough workload smoothing, or balancing. Therefore any increases in the

accuracy of our predicted placement times had several associated benefits, including allowing for more

useful automated workload balancing decisions.

As mentioned above though, this balancing effort was initially fairly minimal. An early opportunity to improve

things, and to gain some experience in doing balancing, was to improve “edge balancing.” Edge balancing

is relevant in the situation where a high-use component is in a sub-optimal location on the machine’s feeder

base. At the edges of the feeder base, not all nozzles on the placement head can access the part. Normally,

when a part is required multiple times on a product, each nozzle can move over the part and sequentially

pick it up (up to ten times, depending on the machine type) before the entire placement head moves to the

PCB and places each instance of the component. But parts at the extreme edges of the feeder base cannot

be reached by all nozzles, leading to a much slower pick-and-place process if a part is required multiple

times. The placement head must move over to the component, and (in the worst case) only one nozzle can

Page 24: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 24 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

pick it up. The placement head must then move to the PCB for placement, before coming back to the

component to repeat the process.

Perhaps on an earlier job the part was scarcely used, which is why it was loaded into that position. But there

are gains to be made from moving it to a more central position if it is a high-use part on the upcoming job.

There’s a cost to moving it, as it will add up to a minute to the changeover time, but if that cost is

outweighed by the saving in running time then the move should be done.9 Our enhanced edge balancing

system takes care of this, but restricts such movements to the current machine, as we found that allowing

parts to move to other machines could sometimes lead to unexpected problems.

Before the E20 project, a particularly alert machine operator might notice a problem of this kind and take

action to improve the situation, but a project aim was to have an adaptive system that could predictively

recognise this scenario and autonomously correct it.

As alluded to at the start of this section though, decisions of this sort, if they are to be automated, depend

crucially on the accuracy of the timing model, both in the running times and in the time allocated for each

changeover.

8.2 Active Balancing

The next step in the project was to scale things up to what we called “Active Balancing.”

8.2.1 Better Productivity Through More Balanced Production Lines

Early in the project we recognised the importance of balancing workload across machines, as it was

apparent they were doing disparate amounts of work. As mentioned above there was already some attempt

at balancing, but previous improvement work had focused more on reducing changeover time through

9 The move can even be free if the cycle time of the previous panel in the next machine is longer than the time to do the changeover on

the current machine.

Page 25: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 25 of 51

smarter setup and changeover systems than on reducing run time through balancing. Our current project

attempted to do both, and balancing was an opportunity that seemed ripe to pursue.

Active balancing, put simply, was based on using our improved assembly time model to get a better

prediction of the initial workload balance of an SMT line for the current production order, and then doing an

additional computational step to identify opportunities to improve that balance by shifting a certain number

of feeders from one machine to another. Extra feeder movements can be free up to a point, but if they make

the changeover time on machine n greater than the cycle time of machine n+1 as it processes the last panel

of the previous job then the extra move comes at a cost. However the increased changeover time can be

traded off against reduced running time over the life of the production order.

The opportunity to do the extra changeovers came in part from the changeover smoothing improvements:

by looking ahead through the schedule to predictively identify future changeovers, and move some of them

forward, we could in effect give ourselves a “budget” of changeovers for each job. Beyond that, we could, in

the background, increase that budget by some number of changeovers, because the payback would result

in overall greater productivity.

Since the computations are done by the software in a virtual representation of the line before anything is

committed to in the real world, then to the operators, the balance-related changeovers appear just like any

other changeovers. The operators know it’s happening, but it is seamlessly built into the process so all the

feeder movements they are instructed to do are treated in the same way.

Note that it was important for us to define and measure the balance of a line. This is simply the average

work content across all the machines in a line, divided by the maximum work content (i.e. the work content

on the bottleneck machine). On a perfectly balanced line, with all machines having the same work content,

the average would be the same as the bottleneck, so the balance would be 100%.

The image below illustrates this:

Page 26: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 26 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

Based on this scenario, here is a simplified description of a set of balancing calculations:

Before balancing, machine 2 is clearly the bottleneck. But our system recognises that some work

could be shifted off it and on to other machines. For technical reasons, no work can be shifted to

the last two machines, as they are fine pitch mounters and not compatible with the parts on the

other machines. Therefore the system is only considering the chip shooters, machines 1 to 4.

It decides to take 50 seconds worth of work from m2 and put it on m4. Because these are the same

types of machines, with the same capabilities, the reduction in m2 time is the same as the increase

in m4 time.

The system takes another 50 seconds of work from m2 and shifts it to m1. In this case, m1 is a

slower machine, and takes twice as long to process the part that has been shifted. Its new work

content, though, is still less than the bottleneck time, so although it is doing the work less efficiently,

the line as a whole is better off.

Therefore even though by rebalancing we have increased the total amount of work required for the

job by 50 seconds, from 1200 seconds to 1250 seconds, the balance has improved from 50% to

69%, and the bottleneck time has come down from 400 seconds to 300 seconds, a productivity

improvement of 25%.

It took a while for the team to work through the issues involved here, but the upshot was a significant

improvement – we would commonly see balance percentages moving from 40-60% to 70-80%. Section 18,

Appendix: Development of Workload Balancing Ideas below is an excerpt from our team’s documentation

and discussion at the time, attempting to show our thinking in slightly more detail.

There was a problem though…

8.2.2 Problem: Active Balancing Interfered with Subsequent Jobs

Our system, as it developed, became clever enough to move parts around to better level the workload. But

we ran into problems when the changeover crew was told to shift a part that was still being used on a

downstream machine. Because in our changeover process we were chasing jobs down the line, a part

needed for the upcoming job on machine 1 (currently undergoing changeover) might still be in use on

machine 4. Under our old system this wouldn’t have mattered because the system would have left it in

place. But if the active balancing decided that part would be better situated on an upstream machine, the

changeover crew would have to wait until machine 4 had finished its work on all panels of the previous job

before they could have access to the part and move it up to machine 1. Due to the sequential nature of the

changeovers this resulted in unacceptable idle time at machines 1, 2 and 3.

So our smart balancing system had to get smarter. We couldn’t just allow only downstream moves, as that

would quickly see our parts migrating to the later machines, where they wouldn't all fit anyway, and which

would require a major periodic reset by shifting many parts back to something like their original positions.

Eventually we solved the problem by incorporating more predictive features, looking ahead into the

schedule, and not allowing parts to be balanced with an upstream move if those parts were required for

relevant subsequent jobs. Active balancing is still permitted to briefly stop a current job in order to take an

unused feeder away from a machine, but the software only allows this if the benefit outweighs the detriment.

When we do this we also get the side benefit of an extra empty slot on the machine, which will be

advantageous by giving more options on a later changeover.

Section 19, Appendix: Active Balancing Restrictions, below goes into more detail about how this was

approached. Section 20, Appendix: Example of Active Balancing Calculation Process, gives a real-world

example of the calculations that the system works through in finding opportunities for moving parts around

to improve workload balance.

Page 27: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 27 of 51

9. THIS IS ALL VERY INTERESTING, BUT WHAT ARE THE REAL-

WORLD GAINS?

The chart below shows the impact on the SMT line where the most attention was focused (S6), as the

project progressed from March to mid-July. The blue line shows the placement rate in placements per

second each day, and the red line is the smoothed result, based on a 7-period exponentially-weighted

moving average.

The result on the S6 line was an increase in productivity of 37% when comparing its best single month’s

performance in the year prior to the project (Nov 2017) with performance at the end of the project’s first

phase (average of June/July 2018).

Although there was dramatic improvement on the S6 line, the SMT process as a whole saw an overall

increase in productivity of 32%, as measured by comparing the average monthly placement rate across the

six months before the project began (Sep 2017 to Feb 2018), with the average rate across the two months

at the end of the project’s first phase (June/July 2018).

It should be noted that by the middle of 2018 we had seen the introduction of two extra families of products

(UnifyVehicle and TPD2) that weren’t being built in the earlier period. There were no significant products

that became obsolete in the intervening time to counter the extra complexity, resulting in more changeovers

required per month in the later period. Through the same timeframe some other product families were

experiencing major volume increases (notably GridLink and MiMOMax).

In addition, one of the four SMT lines was retired so two machines could be relocated to other lines.

Therefore the improvement was achieved with fewer total placement machines (16 rather than 17). It also

came without compromising flexibility or lead time, with almost no capital expenditure, and with a significant

increase in product range and overall complexity.

0

0.5

1

1.5

2

2.5

3

3.5

4

4.5

5

01/02/2018 01/03/2018 01/04/2018 01/05/2018 01/06/2018 01/07/2018

Pla

cem

en

ts p

er

Seco

nd

Date

S6 Placement Rate Through E20 Project

Placementsper Second

7-DayEWMA

Page 28: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 28 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

Perhaps the best measure of improvement is to compare peak capacity prior to the project (i.e. the single

best day in terms of number of placements) with an equivalent number from the end of the project’s first

phase. The first number comes from early November 2017, when 841,394 components were placed. Since

the improvements, the best result for placements per day has been 1,017,815 – an increase in peak

capacity of 21%.

The most fundamental outcome was that Tait was able to meet all delivery commitments by the end of the

new financial year, 30 June 2018.

The charts below provide another view of placement performance, showing the number of components

placed per month on the SMT lines over recent months. November 2017 and June/July 2018 are the most

comparable periods as the factory was operating at less than full capacity in the intervening months.

Results for August are not available as at time of writing but for all the three remaining lines are likely to be

higher than for July.

So in brief, gains have been significant from the various initiatives that have made up the project, but there

is still more activity in progress, as described below.

Page 29: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 29 of 51

10. WHAT HAPPENS NEXT?

The two most significant chunks of work under way right now are:

“> 2 Jobs” – Update our control software to make it possible to have more than two production orders

active on an SMT line at once, to allow for minimal changeover times with small jobs (see Section 5.5,

Minimising Changeover Time above). This requires a major rewrite of our processes for downloading

placement files and doing changeovers. Operators will use wrist-mounted cell phones as their primary

user interface, and will be scanning barcodes to indicate process status, and to confirm machine

identity and job number. This will be an important step towards a more “connected factory” as

understood in an “Industry 4.0” context.

“Simulation Framework” – Develop a simulation tool that will allow us to test and compare different

balance strategies. The framework will be flexible enough to be able to “plug in” various strategies that

may be proposed. Ideas that this will support include the following:

- allow sandbox testing of various balancing strategies

- given a set of jobs/products (a schedule), determine setup and build time requirements for each

job using current planning algorithm

- as above but with different planning algorithms to allow comparison

- given a set of jobs, find a core set of high frequency/quantity parts that may benefit from being

locked to central locations, or multiple machines

- determine effects of adjusting our current tolerance settings over multiple schedules

- determine effects of restricting upstream moves during active balancing (schedule reordering or

an "optimising setup" may help here)

- determine effects of part swapping

- determine effects of schedule reordering

- determine effects of locking parts to central locations or multiple machines

- determine effects of allowing multiple instances of the same high-use part on a line

- perhaps a one-off "optimising setup" at the start of a set of jobs (a daily schedule?) would be

useful here

- strategies for mitigating under-utilisation of end machines

- partial / hybrid / hotswap setup strategies per Swaim10

and other literature

We will take it as given from various other studies that specifically optimising for fastest placement

is likely detrimental in terms of setup cost, and thus detrimental to build time generally. We have no

plans for our simulation framework to go down to head/nozzle level.

So there remains plenty of scope for improvement, but none of the possibilities mentioned here would have

been possible to us without the precursor work done over recent months.

10

Swaim, William, SMT Line Improvements for High Mix, Low Volume Electronics Manufacturing (2011).

Page 30: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 30 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

11. KEY LEARNINGS

Exposing, accessing, and visualising data (especially “big” data) led us to useful insights.

Understanding the process well – which comes from taking the time to observe the system in the real

world – was a pre-requisite though, in order to develop the intuition for which data to look at.

Support from the teams involved, and from management, is essential if an attitude of experimentation

and “it’s OK to fail when we try something new” is to persist. In this project we tried to ensure we could

undo the changes we made, which helped foster a willingness to try new things. But the team was also

confident that there wouldn’t be harmful blowback if things didn’t work out as planned.

This kind of improvement is iterative. Each step led to opportunities to go further, or exposed

constraints we hadn’t been aware of. We didn’t have a clear image of the end point when we started,

but by setting and achieving intermediate goals we have made good progress, and stumbled across

opportunities to pivot in more constructive directions. And we are definitely not finished, not by a long

shot.

If “Industry 4.0” is to be pursued in a manufacturing context, the manufacturing team should have

access to dedicated software development resource, and the more familiarity the software developers

have with the system they are modelling and interacting with, the quicker and more fruitful the gains. It

is difficult to overstate the importance of this point, and this is an area where targeted funding can have

a disproportionately helpful payoff.

A business doesn’t need to invest heavily in the latest equipment to gain “Industry 4.0” benefits. Striving

for a leading edge “smart factory” is laudable, but achieving “smarter” may be good enough. Working

towards “Industry 4.0” in a New Zealand context is an iterative process, and it can be thought of as

progression along a continuum rather than a jump from one state to another.

Page 31: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 31 of 51

12. APPENDIX – COSTS ASSOCIATED WITH INDUSTRY 4.0

ASPECTS OF THE E20 PROJECT

12.1 “Industry 4.0” E20 Work

The main costs of the “Industry 4.0” parts of the project have been in people resource: the time spent

observing the SMT system, visualising and analysing information, discussing and defining objectives,

developing and deploying solutions, and managing this activity.

12.2 Other SMT Productivity Improvement Work

In parallel with the above, there has been work modifying hardware, improving assembly area layout,

shifting machines around, making machines capable of handling different component sets, making lines

capable of handling different product families, redefining operator and team-leader roles, and other activity

including managing and coordinating the above. We have not considered this to be part of the “Industry 4.0”

initiative.

12.3 “Industry 4.0” Costs

Therefore, for the purposes of reporting to Callaghan Innovation the “Industry 4.0”-specific costs, we have

limited our definition of such costs to time spent by the following people on the activities described in

Section 12.1 above:

Project management, observation and data analysis, and task definition:

- Aaron Robinson, Production Quality Manager: 50% of time, March to June (16 weeks at 40 hours per

week x 50% = 320 hours)

- Dean Mischewski, Manufacturing Engineering Manager: 20% of time, March to June (16 weeks at 40

hours per week x 20% = 128 hours)

Solution development and implementation:

- Ross Martin, Senior Process Improvement Engineer / Software Developer: 50% of time, April to June

(12 weeks at 40 hours per week x 50% = 240 hours)

- Will Mooar, Senior Process Improvement Engineer / Software Developer: 90% of time, April to June (12

weeks at 20 hours per week x 90%= 216 hours)

The project continues past June, but the activities covered by this report were carried out between March

and June.

Total “Industry 4.0” project time investment: 904 hours

Page 32: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 32 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

13. APPENDIX: LITERATURE REVIEW

Throughout the world over the last 30 years, much effort has gone into improvement and optimisation of

surface mount technology machines and facilities, as became apparent when we started digging into the

literature. From our literature review, the following resources were most helpful for us in the early stages of

the project:

Swaim, William, SMT Line Improvements for High Mix, Low Volume Electronics Manufacturing (2011). Good and useful overall read, esp. Section 2.3. Tirpak, Thomas M., Developing and Deploying Electronics Assembly Line Optimization Tools - A Motorola Case Study (2008). Case study about developing a balancing toolkit – this seemed to cover things most similar to the Tait situation. He, Tian, et al, A Heuristic Algorithm to Balance Workloads of High-Speed SMT Machines in a PCB Assembly Line (2017). Proposed model not a great fit for our environment, but included an interesting literature review.

Page 33: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 33 of 51

14. APPENDIX: ADDITIONAL IMPROVEMENT IDEAS

Ideas below have yet to be fleshed out in more detail, but are indicative of where the project might go next

after the current initiatives are completed.

Adaptive smoothing: tune up and down the amount of smoothing based on time rather than

changing a constant amount of feeders per job – i.e. change proportionately more feeders in the

jobs with longer run time. Rather than changing 30 feeders every time, we change out at least 6

(say) feeders every time (where this lower limit is determined by the constant part of changeover

time), and do more where the run time of the prior job permits it. This will minimise artificially

slowing small jobs down as they have to wait for the changeover of jobs ahead of them.

Aim for a buffer of set up feeders, and a pull system to replenish that buffer as it depletes, i.e.

treating the SMT setup area like a flow line with material delivered to it. In the same vein, apply lean

manufacturing principles and tools (e.g. kanban thinking) to all three key physical inputs – materials

and equipment and labour. This would include better definition of roles in SMT

(setup/changeover/running) and possible progression of staff through those roles as each is

progressively more complex.

Open up the range of machines which can place subsets of components, to give more options for

the balancing algorithm to do its thing, through greater freedom as to where parts can be shifted to.

Change the timeframe for release of production schedule – currently this is 11 am, with the

schedule to be completely built by 11 am the next day. This sets material picking times and lots of

other things, as material delivery must be guaranteed to be available from 11 am. But it can lead to

micromanagement of schedule sequence and testing sequence, and stock-outs on production lines,

as the previous day's schedule through SMT is not all complete when the next day's post-SMT

production has to start at 8 am. The SMT Day shift starts at 7 am, so if the schedule had to be

finalised the afternoon before, there would be more options for optimisation.

For example, our simulation framework would then give us the ability to adjust build sequence to

optimise schedule order, factoring in things like minimising the number of oven profile changes11

or

conveyor width adjustments.

No one would care about the order things are built in if everything is finished before production

starts the next day.

A downside would be the move from effectively a 20 or 21 hour lead time to a 24 hour lead time.

Planning would lose the opportunity to put northern hemisphere orders that have come in overnight

into the schedule of the coming day. But delaying that by one day is still probably OK, because

“next day” response is still pretty good.

SMT is complicated because most PBAs have components on two sides. We often don't build one

side straight after the other for efficiency reasons. So inspection of the complete PBA, and

availability to post-SMT production, often don't occur until quite late in the scheduled “day”. It would

be simpler if things were arranged so that there was no downstream demand until after the entire

schedule was complete.

11

Different PCBs require different oven temperature settings, and it is normally quicker for the oven to heat up than to cool down.

Page 34: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 34 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

And some further ideas, although with less detail:

Component zoning for optimal pick and place speed e.g. Increase optimal positioning of high

volume frequently used parts.

Going further with predictive balancing

Component fixing and work content sharing to improve balancing and reduce feeder changes

Schedule sequence optimisation

Set up task management

Conveyor buffering (for oven temp changes and short cycle panels that are faster than the

printers)

Incorporate AI rather than job based decisions into feeder put and remove algorithms; use

future schedule and history to allocate and remove feeders

Further reduce nozzle changes

Eliminate badmark PCBs and their impacts (badmark PCBs are defective PCBs identified in

advance, but in a panel with good PCBs)

Set up preventative maintenance and usage tracking system for feeders

Roles and resource allocation to optimise performance

Eliminate daily component picking from Stores and populate feeders from a better laid out raw

material store

Install services (power, air, data, etc.) to allow easier reconfiguration of SMT equipment

Move SMT lines to improve work spaces

Removal of unused feeders in spare changeover time, therefore minimising changeover when it

is the bottleneck

Page 35: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 35 of 51

15. APPENDIX: EVOLUTION OF TIMING FACTORS FOR ASSEMBLY

TIME MODEL

supplytype orig- hard coded

16/05/18 17/05/18 21/05/18 18/06/18 19/06/18 02/07/18 04/07/18 11/07/18

changed by rm rm rm pc estimate

AR AR () AR AR AR

Eff Line1 20 20 22 24 23 23 23 23 23

Eff Line6 28 28 38 42 41 35 31 31 31

Eff Line7 19 19 21 23 22 22 22 22 25

Back/Front factor 1.05 1.05 1.05 1.05 1.05 1.05 1.07 1.07 1.07

External Bottleneck 0 0 0 0 0 0 0 0 0

Vision time 0 0 0 0 0 0 0 Mac speed

Mac speed Bad mark boards 0 0 0 0 0 0 0 0 0

Convey time per panel 0 0 0 0 0 0 4 4 4

Nozzle changes per panel

0 0 0 0 0 0 0 1 1

12 TAPE 1.05 1.05 1.05 1.05 1.15 1.2 1.2 1.2 1.2

12 TAPE SP01 1 1.05 1 1.25 1.25 1.25 1.25 1.25 1.25

12 TAPE SS 1 1.05 1 1.05 1.15 1.2 1.2 1.2 1.2

16 TAPE 1.07 1.07 1.07 1.07 1.15 1.25 1.25 1.25 1.25

16 TAPE SP01 1 1.07 1 1.25 1.25 1.25 1.25 1.25 1.25

16 TAPE SP02 1 1.07 1 1.25 1.25 1.25 1.25 1.25 1.25

16 TAPE SP03 1 1.07 1 1.25 1.25 1.25 1.25 1.25 1.25

16 TAPE SP04 1 1.07 1 1.25 1.25 1.25 1.25 1.25 1.25

16 TAPE SS 1 1.07 1 1.07 1.25 1.25 1.25 1.25 1.25

24 TAPE 1 1 1 1.25 1.25 1.4 1.4 1.4 1.4

24 TAPE SP01 1 1 1 1.5 1.5 1.5 1.5 1.5 1.5

24 TAPE SP02 1 1 1 1.5 1.5 1.5 1.5 1.5 1.5

24 TAPE SS 1 1 1 1.25 1.25 1.4 1.4 1.4 1.4

32 TAPE 1 1 1 1.5 1.5 1.5 1.5 1.5 1.5

32 TAPE SP01 1 1 1 1.75 1.75 1.75 1.75 1.75 1.75

32 TAPE SP02 1 1 1 1.75 1.75 1.75 1.75 1.75 1.75

32 TAPE SS 1 1 1 1.5 1.5 1.5 1.5 1.5 1.5

44 TAPE 1 1 1 2 2 2 2.5 2.5 2.5

44 TAPE SP01 1 1 1 3 3 3 3 3 3

44 TAPE SP02 1 1 1 3 3 3 3 3 3

44 TAPE SS 1 1 1 2 2 2 2.5 2.5 2.5

56 TAPE 1 1 1 3 3 3 3.5 3.5 3.5

56 TAPE SP01 1 1 1 4 4 4 4 4 4

56 TAPE SP02 1 1 1 4 4 4 4 4 4

56 TAPE SP03 1 1 1 4 4 4 4 4 4

56 TAPE SP04 1 1 1 4 4 4 4 4 4

56 TAPE SS 1 1 1 3 3 3 3.5 3.5 3.5

56 TAPE ST01 1 1 1 4 4 4 4 4 4

72 TAPE 1 1 1 4 4 4 4 4 4

72 TAPE SP01 1 1 1 5 5 5 5 5 5

72 TAPE SP02 1 1 1 5 5 5 5 5 5

72 TAPE SP03 1 1 1 5 5 5 5 5 5

72 TAPE SS 1 1 1 4 4 4 5 5 5

8 TAPE 1 1.15 1 1 1.01 1.01 1.01 1.01 1

8 TAPE 0402 1.15 1.15 1.15 1.07 1.08 1.08 1.08 1.08 1.08

8 TAPE BLUE/BLACK 1 1.15 1 1.07 1.08 1.08 1.08 1.08 1.08

8 TAPE GREEN/BLACK 1 1.15 1 1.07 1.08 1.08 1.08 1.08 1.08

8 TAPE SP01 1 1.15 1 1.25 1.25 1.25 1.25 1.25 1.25

8 TAPE SP02 1 1.15 1 1.25 1.25 1.25 1.25 1.25 1.25

8 TAPE SS 1 1.15 1 1 1.01 1.03 1.03 1.03 1.03

88 TAPE SS 1 1 1 4 4 4 4 4 4

AUTO TRAY 1 1 1 2 2.5 2.5 2.5 2.5 2.5

HAND 1 1 1 5 10 10 10 10 10

INT TRAY 1 1 1 1.25 1.5 1.5 1.5 1.5 1.5

TRAY 1 1 1 1 4 4 4 4 4

TUBE 1 1 1 1 10 10 10 10 10

Page 36: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 36 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

16. APPENDIX: SMT DATA PROCESSING TO GENERATE MACHINE

PLACEMENT FILES

Job Planner Overview

A Way Too Basic Summary of the Info Below

Populate virtual line.

Apply any previously saved setups to line.

Load ipns from production file into gFile collection, sorted by placement qty in current

job, and average weekly frequency over the past 4 weeks

If no previous setups have been saved, move parts in gFile that are currently on a

machine away from the edge of the feeder base if doing so would save more than a set

amount of placement time.

Create a list of available feeder locations, sorted first by empty locations, then by least

recently used. Further refine this sort order by taking account of past & future usage,

and how soon the part is next required. The goal being to create a list of usable

locations where the least needed parts are removed first (after empty locations have

been used).

Attempt to place each part in gFile to the least loaded machine (and the first suitable

location from the list above). If part can't be placed on the best machine, then use the

first machine possible.

[Note that some of the information below is out of date due to code evolution over the

course of the E20 project. In general though this is still illustrative of the process as a

whole, and of the complexity involved.]

Load Setup Libraries

LoadLines

Load collection (from db) containing information about each line, including data about

the machines (heads, feeders etc) on each line.

LoadDefaultTableLookups

Load various lookup tables giving us access to information about:

supplytype (8 TAPE, etc)

feedersize: load types (large, normal, ss), and size/offset info

pitch (2,4,8,12 etc)

down modes (weekend shutdown, no staff, etc)

reject positions (dump, tray)

polarity (no, north, west, south, east)

alignment (back, laser)

LoadLineLookups

Set number of machines, network data path, and setup name for the current line

LoadProfile

Load profile library (select … from c_profile … order by profile)

LoadItems

Load item library (select … from c_items … order by ipn)

The item library contains global data for each item (description, profile, msl…)

LoadLibItems

Load line specific item library for the current line (select … from c_libraryitems inner

join c_items … order by keyfield

The libraryitems library contains line specific data for each item (skip, nozzle,

alignment, traypos, notes…)

LoadItemLocations

Load item locations library (select … from c_itemlocation … order by item)

Probably for supplytype info rather than location info. I think this table needs to be removed at some point

LoadFeeders

Load feeder library (select … from c_feeders order by feederid)

Page 37: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 37 of 51

LoadFeederStands

Load feeder location library for current line (select … from c_feederlocation … order by

locationid)

LoadSetupShelves

Load preparation area library for current line (select … from c_itempreplocation … order

by priority, locationid)

gCimInformix.clsFeederTypeCol.LoadRecords

Load feeder types library (select … from c_feeder_types … order by feedertype)

Load librarylocations library for the current line

The librarylocations library contains the target machine info, current machine location, and

historical quantity / frequency info for each item

Calculate Puts and Removes (DoPlanner)

Housekeeping

LoadMachines

ResetVMachineArrays

vMachine is a virtual representation of each machine, which contains data about

each feeder position, head/nozzle mapping for each machine, and feederbase

mapping to millimetre precision

BlockOutSpotsUsedByFixedParts

We can't use fixed locations when deciding where to place parts required for

upcoming jobs

LoadHeadNozzles

Fills Vmachine(x).headNozzles(y) with a string of the nozzles that can be used by the

head

For each machine: LoadMachine(machineNo) - (the below loads the current state of

machines into vMachine)

Load all parts currently on machine feeders (into clsJobPlannerCol), ordered by

machine, feeder number

For each of the above parts:

CreatePartLocation: get part info from clsLibItemsCol, including left/right/pick

offset for current feeder

If part is MachineLocationLocked then:

Check that the location is valid and not currently used by an unlocked part

Else (if part is unlocked)

TestToSeeIfLocationOK (ScanNo) - Check location unused, part fits on

feeder plate, part doesn't overlap other parts, part is reachable by heads,

head supports nozzle…

Can be called with 1 of 3 ScanNo options

1. ScanForEmpty - location must be empty, and must be sufficient space

to fit part without bumping anything

2. ScanForAnySizeAndPitch - location must be filled, of any size, and

may bump nearby parts as long as they're not needed

3. ScanForAnywhere - fallback that allows part to go anywhere valid, as

long as bumped parts aren't needed

Check that the location is within the feederbase

Check that the machine matches one of the target machines set up for

the part

Check the part doesn't have a fixed feeder location

Check that the location hasn't already been used by one of the current

batch of parts we're assigning

Check that if ScanNo is ScanForEmpty then feeder location isn't already

used Check that if ScanNo is ScanForAnySizeAndPitch then feederlocation isn't

empty

Page 38: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 38 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

Get PinIndex and check offset locations to make sure:

part fits on feederbase

part doesn't touch any locations that are filelocked, fileplaced, or

locationlocked

if ScanNo is ScanForEmpty, part doesn't touch any other parts

part doesn't go to a location for fixed parts only if it is not a fixed part

Check that machine type is ok with feeder

Check that head can reach position on feederbase

Check isValidHead (yvl80 head 2 has a max part size and can only pick

laser parts)

Check that head supports nozzle

PutPartOnMachine (assign part to vMachine location after above checks)

GetPinIndex - get the pin position (within vMachine(x).InfoXXX array) for the

current feeder number

Calculate start and end positions for vMachine(x).InfoXXX array. Write feeder

data to each relevant position in the feederbase

Update vMachine(x).Feeder(y) array with current feeder data also

We now have a fully populated virtual representation of the current state of the line

UpdateMachinesForPreviousJobs

For each job with lower priority and the same or lower jobstatus than the currently

selected job

ApplySetups

Apply rules as detailed here: https://taithub.taitradio.net/docs/DOC-34490

For each setup in previously saved job setups (i.e. previously committed jobs)

ApplySetup(ipn, machineno, feederno) - do movesfirst, then puts

exit if part is hand placed, skipped, tray, or has no feeder assigned

exit if part is machinelocked because it's already ok

search vMachine to determine if part is already on a machine

for moves: if onMachine then:

exit if current machine position == saved machine position

else:

add to removed part collection (gRemoveIPNs)

clear part from current machine position

(using PutPartOnMachine function from earlier)

for both moves and puts try to PlacePart on virtual machine

PlacePart (ScanNo = ScanForAnywhere if calling from within

ApplySetups)

CreatePartLocation(ipn, machineno, feederno) (as above)

TestToSeeifLocationOK (ScanNo)- (as above)

RemovePartsTouchingNewPart - Remove any parts on the

machine that touch the one about to be put on

PutPartOnMachine - as above

Update the gPutIPNs collection (screenshot)

If PlacePart successful, update the fileIPN collection with location details

and .onMachine = true

UpdateVMachineToLookLikePutsHaveBeenCommitted

for each ipn in gPutIPNs:

CreatePartLocation(ipn, machine, feeder)

PutPartOnMachine (as above)

Clear the gPutIPNs, gRemoveIPNs, and gUnplaceableIPNs collections

LoadProductionFile

(open production file and store in gFileIPNs collection) GetDBInformationForProductionFile - Load IPN Library Info (incl. hand, skipped,

onmachine, empty)

Load production (.smf) file

Page 39: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 39 of 51

For each item in .smf file:

If ipn not in library, feeder size is 0, or target machine is 0 then add to

gUnplaceableIPNs collection and exit

If ipn skipped, hand place, or tray then add to gFileWarnings collection and exit

Add part to gFileIpns - sort order: 100,000,000 - (tQtyValue + tFquValue)

tQtyValue: number of placements required for ipn in the current placement file

tFquValue: average number of jobs containing ipn over past 4 weeks

TagNeededParts

For each ipn in gFileIPNs:

If part is already on machine:

PutPartOnMachine (and set type to locked)

Update gFileIPNs with machineno and feederlocation

Update Machines For Current Job

If a precalculated setup exists then:

ApplySetups

PlaceMachineParts

GetLocationsByLRU - get list of locations where new parts can be put, sorted

by empty, then least recently used

for machine = min to max

for feederno = min to max

if vMachine(machine)(feeder) is empty then append to results collection

if vMachine(machine)(feeder) contains a part not needed for this job then append to unsorted collection

sort unsorted collection (using logic below in **SortIPNsByLRU**) then append to results collection to give an ordered collection

of locations to use

SortIPNsByLRU

GetFutureIPNs

Get list of future jobs (between planningCompleted and smtStarted)

Add ipns in each job to futureIPNs collection (tracking how soon it's

needed (.FirstNeeded = schedIdx), and how many times it's needed

(Count) )

Get current feeder items on line ordered by fquvalue (average number of

jobs containing ipn over past 4 weeks). Add to pastIPNs collection

For each unsorted ipn: (we're going to sort so least needed ipns are listed

first - order by pastIPN.fquValue, futureIPN.Count, futureIPN.FirstNeeded

)

SortOrder = ""

SortOrder = SortOrder & Format$(CON_MaxFirstNeeded -

FirstNeeded, "00000000")

SortOrder = SortOrder & "," & Format$(futureUsage,

"00000000")

SortOrder = SortOrder & "," & Format$(pastUsage,

"00000000")

SortOrder = SortOrder & "," & unsortedIPN.ipn

Example sortorder for ipn first required in the 2nd upcoming job

(9999-2), required 20 times in all upcoming jobs, and used in an

average of 80 jobs per week over the past 4 weeks: 00009997,00000020,00000080,015-00000-01

for each ipn in gFileIPNs collection:

PlaceMachinePart

Page 40: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 40 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

- attempts to place part on machine by checking machine balance. If best

machine is overloaded then it places on any machine (not next best).

makes 2 passes

first pass: try to find least loaded machine (bestMachineNo) -

GetMachineForNextItem

GetBoardTimes - work out board placement qty and board secs for

each machine

For each ipn in job (tray/skipped/hand/locked/normal):

AddTimeForIPN

if machineplaced then add secs according to rules

in CalcSecsForMachinePlacedIPN

else secs = qty * CON_TeimPerHandPlacement (15)

Add ipn qty to Result.BoardPlacements(machine)

Add secs to Result.BoardSecs(machine)

Adjust times using efficiency factor for line (from clsCyclePrams):

.BoardSecs(mac) = .BoardSecs(mac) * (1 / .LineEfficiency / 100))

Determine bottleneck machine (machine with slowest board secs)

Example result of GetBoardTimes here

Add current part placement secs to each machine board secs

value and set bestMachineNo to the machine with the lowest

value

For second pass, set bestMachineNo to 0

For each ScanNo (ie. ScanForEmpty, ScanForAnySizeAndPitch,

ScanForAnywhere):

For each location in LocationByLRU:

if bestMachineNo = 0 or bestMachineNo matches current

machine:

Try PlacePart (ScanNo) until successful, then update fileIPN

to reflect machine & feeder

Else:

RemoveHighUsePartsFromEdges

for each non machine-locked feeder ipn in the job:

Determine if IsHighUseAndTooCloseToEdge

Ignore if part is location locked

Ignore if part can be reached by all heads

Use following logic to determine if highandtooclose:

' CON_SecsPerHeadRoundTrip = 0.5

' minSavedSecs = 120 for moves (as here), or 10 (for puts,

as used in **PlaceMachinePart**)

panelsRequired = RoundUp(boardsRequired /

buildInfo.PCBPerPanel)

panelPlacements = ipn.qty * buildInfo.PCBPerPanel

'boardsRequired

'how much time could we save if we used all available

heads/nozzles?

bestTrips = RoundUp(panelPlacements / bestHeads) *

panelsRequired

currentTrips = RoundUp(panelPlacements / currentHeads) *

panelsRequired

savedTrips = (currentTrips - bestTrips)

savedSecs = savedTrips * CON_SecsPerHeadRoundTrip

If savedSecs < minSavedSecs Then

Page 41: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 41 of 51

Exit Function

End If

IsHighUseAndTooCloseToEdge = True

If IsHighUseAndTooCloseToEdge then:

RemoveHighUsePartFromEdge

RemoveIpnFromMachine

Update gfileIpns to reflect removal

PlaceMachineParts

EnsureEveryPartOnMachine

For each non machine-locked feeder part in job that is classified as not on machine

or where its location can't be established:

Add to gUnplaceableIPNs error collection

GetRemovePutCounts

Get summary info about job

Page 42: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 42 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

17. APPENDIX: EXAMPLE OF DATA BY PRODUCTION ORDER

Line

No End Of Last Job Setup Start Start Of This Job End Of This Job Shift Product JobNo Side

6 17/07/2018 19:51 17/07/2018 19:51 17/07/2018 19:55 17/07/2018 23:26 Grave T02-00006-JBBA 102428528 Bottom

6 17/07/2018 23:26 17/07/2018 23:26 17/07/2018 23:43 17/07/2018 23:53 Grave T02-00006-VBBA 102428547 Bottom

6 17/07/2018 23:53 17/07/2018 23:53 18/07/2018 00:53 18/07/2018 03:56 Grave T02-00006-JBBA 102428528 Top

6 18/07/2018 03:56 18/07/2018 03:56 18/07/2018 04:12 18/07/2018 04:24 Grave T02-00006-VBBA 102428547 Top

6 18/07/2018 04:24 18/07/2018 04:24 18/07/2018 04:31 18/07/2018 05:01 Grave XMAB12-B105 102428534 Bottom

6 18/07/2018 05:01 18/07/2018 05:01 18/07/2018 05:04 18/07/2018 05:32 Grave XMAB12-B105 102428577 Bottom

6 18/07/2018 05:32 18/07/2018 05:32 18/07/2018 05:49 18/07/2018 06:26 Grave XMAB12-B105 102428534 Top

6 18/07/2018 06:26 18/07/2018 06:26 18/07/2018 06:49 18/07/2018 07:18 Day XMAB12-B105 102428577 Top

6 18/07/2018 07:18 18/07/2018 07:18 18/07/2018 07:22 18/07/2018 07:47 Day XMAB12-H505 102428578 Bottom

6 18/07/2018 07:47 18/07/2018 07:47 18/07/2018 07:50 18/07/2018 08:24 Day XMAB12-H605 102428579 Bottom

6 18/07/2018 08:24 18/07/2018 08:24 18/07/2018 08:35 18/07/2018 09:31 Day XMAB12-H505 102428578 Top

6 18/07/2018 09:31 18/07/2018 09:31 18/07/2018 09:40 18/07/2018 10:21 Day XMAB12-H605 102428579 Top

6 18/07/2018 10:21 18/07/2018 10:21 18/07/2018 10:45 18/07/2018 10:50 Day T02-00006-XBZY 102902855 Bottom

6 18/07/2018 10:50 18/07/2018 10:50 18/07/2018 11:35 18/07/2018 11:39 Day T02-00006-XBZY 102902855 Top

6 18/07/2018 11:39 18/07/2018 11:39 18/07/2018 11:50 18/07/2018 11:51 Day T02-00006-WBAE 102428576 Bottom

6 18/07/2018 11:51 18/07/2018 11:51 18/07/2018 11:56 18/07/2018 12:36 Day T02-00006-VBAE 102428599 Bottom

6 18/07/2018 12:36 18/07/2018 12:36 18/07/2018 13:01 18/07/2018 13:02 Day T02-00006-WBAE 102428576 Top

6 18/07/2018 13:02 18/07/2018 13:02 18/07/2018 13:22 18/07/2018 14:04 Day T02-00006-VBAE 102428599 Top

6 18/07/2018 14:04 18/07/2018 14:04 18/07/2018 14:20 18/07/2018 17:41 Arvo T02-00006-BBBA 102428572 Bottom

6 18/07/2018 17:41 18/07/2018 17:41 18/07/2018 17:42 18/07/2018 19:15 Arvo T04-00041-BBBA 100417656 Bottom

6 18/07/2018 19:15 18/07/2018 19:15 18/07/2018 19:42 18/07/2018 22:43 Arvo T02-00006-BBBA 102428572 Top

Page 43: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 43 of 51

Put

Count

Actual

Downtime

Mins

Estimated

Setup Mins

Actual Setup

Mins

Est Vs Act Setup

Mins

Boards Per

Panel

Boards

Required Boards Built

Panels

Required

23 0.00 33.00 4.52 731% 2 100 100 50

22 0.00 32.00 17.77 180% 2 4 4 2

26 0.00 36.00 59.90 60% 2 100 100 50

25 0.00 35.00 15.18 231% 2 4 4 2

17 0.00 27.00 7.05 383% 2 20 20 10

20 0.00 30.00 3.35 896% 2 20 20 10

11 0.00 21.00 17.27 122% 2 20 20 10

21 0.00 31.00 22.87 136% 2 20 20 10

27 0.00 37.00 3.30 1121% 2 26 26 13

17 0.00 27.00 2.98 905% 2 28 28 14

16 0.00 26.00 10.92 238% 2 26 26 13

20 0.00 30.00 9.45 317% 2 28 28 14

25 0.00 35.00 23.83 147% 2 4 4 2

9 0.00 19.00 44.95 42% 2 4 4 2

1 0.00 11.00 10.88 101% 2 2 2 1

0 0.00 10.00 4.95 202% 2 14 14 7

9 0.00 19.00 24.53 77% 2 2 2 1

26 0.00 36.00 19.72 183% 2 14 14 7

19 0.00 29.00 15.95 182% 2 88 88 44

11 0.00 21.00 0.92 2291% 2 46 46 23

4 0.00 14.00 26.62 53% 2 88 88 44

Page 44: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 44 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

Panels

Built

Estimated

Build Mins

Actual

Build Mins

Est Vs Act

Build Mins Feeder Changes

Theoretical

Placements

Actual

Placements

Placement

Performance

Line

Balance

50 278.00 210.40 132% 16 290772 66800 23% 0.62

2 11.28 9.62 117% 1 13290 2712 20% 0.62

50 190.00 183.50 104% 19 253597 56900 22% 0.87

2 7.60 12.42 61% 1 17159 2264 13% 0.87

10 28.60 29.87 96% 2 41275 8480 21% 0.72

10 27.40 27.28 100% 1 37705 8480 22% 0.75

10 37.00 36.80 101% 3 50857 12160 24% 0.87

10 36.00 29.75 121% 5 41114 12160 30% 0.90

13 36.92 24.97 148% 0 34503 9334 27% 0.63

14 39.76 34.55 115% 3 47748 10024 21% 0.62

13 49.92 56.05 89% 3 77461 16458 21% 0.86

14 55.44 40.77 136% 5 56339 17724 31% 0.86

2 9.08 5.23 174% 1 7232 2680 37% 0.76

2 7.80 3.80 205% 0 5251 2140 41% 0.78

1 4.44 1.42 313% 0 1957 1342 69% 0.78

7 31.78 39.67 80% 4 54819 9492 17% 0.77

1 3.84 1.92 200% 0 2648 1100 42% 0.85

7 25.90 41.50 62% 2 57353 7910 14% 0.89

44 211.20 201.72 105% 10 278772 62744 23% 0.76

23 86.48 92.72 93% 5 128134 24748 19% 0.75

44 171.60 181.12 95% 16 250303 51744 21% 0.85

Page 45: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 45 of 51

18. APPENDIX: DEVELOPMENT OF WORKLOAD BALANCING IDEAS

[This appendix is an excerpt from our internal documentation, attempting to show some of the thinking our

team went through in developing our approach to workload balancing.]

Balancing Thoughts

Too Strict?

We only move when the resulting work balancing of the destination machine is less than the average over

the job (accounting for tolerances etc).

This gives us the most bang for our buck, but when our buck has no bang, maybe just decreasing the

bottleneck is good enough?

Given the starting position in frame 1, our current balancing algorithm wouldn't move anything even though

we could reduce the bottleneck from 20 to 15

Part Swapping

Here's a small example where our current balancing algorithm could be improved (looking for easy-ish

gains here rather than a wholesale change)

Given the starting situation in frame 1 below, our current balancing alg wouldn't move anything, as no single

move would improve the bottleneck situation.

But if we swap parts 7 and 5 then we get an almost perfectly balanced line. Real world results may vary

Essentially involves another iteration round.

BN.WC - Total work content on bottleneck machine

C.WC - Total work content on candidate machine

AVGWC - Average work content over all machines (includes a tolerance

level that isn't reflected in the chart below)

P1.WC - Work content of part to move from bottleneck machine

BN.SPACE - Work content available on bottleneck machine after removing P1

Page 46: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 46 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

C.SPACE - Space available on candidate machine in order to move P1 from

bottleneck

BN.SPACE = AVGWC - (BN.WC - P1.WC)

C.SPACE = AVGWC - C.WC

For Each part in CandidateMachine

If C.SPACE + part.WC >= P1.WC and part.WC <= BN.SPACE then Swap(P1,P2)

-- only for when moving P1 would result in BN.SPACE falling below AVGWC

Page 47: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 47 of 51

19. APPENDIX: ACTIVE BALANCING RESTRICTIONS

Original Scenario

J2 calls for part to be moved from M3 (bottleneck machine) > M1

But if J1 is using part then we need to wait until J1 runs all panels through M3

Our proposed solution: Don't move parts upstream if required for currently running job on the bottleneck

machine

However: There's a problem with this…

Scenario 2

J3 calls for part to be moved from M3 > M1

The current job on M3 is J1 and it's not using the part so under scenario 1, it's safe to move it

But J2, which does use the part, is going to expect the part to be on M3 in a few seconds time

So we potentially need to check that the part is not required for all active jobs that are ahead of the job

being optimised

However…

Scenario 3

Here, J4 calls for part to be moved from M3 > M1

J1 uses the part, but it's not required for J2 or J3

If we check all active jobs then J1 restricts us from moving the part even though it is no longer using M3

So we potentially need to check all active jobs that are ahead of the job being optimised and that haven't

moved all their boards past the bottleneck machine (which may change on each iteration)

Current Proposal

Get a collection of placement files for all active jobs that are ahead of the job being optimised and order the

collection by job priority

i.e. jobs where status is between PreparationCompleted & SmtStarted, and priority < currentJob

After finding a candidate part to balance, and when determining which machine to move the part to, add the

following check

If moving to an upstream machine:

o Get currentJob for bottleneck machine (J1) and check that part is not required for that job

o Perform the same check for every job between J1 and the job being optimised

o If at any point it's found that the part is required for one of these jobs then abandon the

balancing of this part

Page 48: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 48 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

Background

When a job calls for a part that is already on the line to be moved to a different machine, there can be a

delay in effecting the change if the part is still being used downstream of the machine that now requires it.

This seemed like it would be a reasonably infrequent issue as our current setup calculations are biased

towards not removing parts that are needed for upcoming jobs. The following caveats apply to this:

Parts will obviously be removed if there are no other options

Parts could (until recently) be moved between machines during “edge balancing”

Data for the past year:

o S1: 3865 jobs, 52 potential cases

o S6: 2950 jobs, 51 potential cases

o S7: 3505 jobs, 8 potential cases

As the issue was likely to become more problematic once active balancing was rolled out, some options

were suggested, including:

Not allowing parts to be balanced if required for prior jobs

Not allowing parts to be balanced upstream if required for relevant prior jobs

o Currently implementing this

Allowing multiple instances of ipns on a line

o This is possibly deserving of its own writeup

o It's a lot of work, and isn't necessarily that useful for the problem at hand

o It would likely be quite helpful for improving line balancing generally, especially in the case

of a single ipn on multiple machines where the placement qty can be manipulated on each

machine to affect the balance. We could get gains in this case without operators having to

move stuff around, but with downsides related to space on machines.

Page 49: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 49 of 51

20. APPENDIX: EXAMPLE OF ACTIVE BALANCING CALCULATION

PROCESS

“Target Machines” are those where the component under consideration is permitted to be used.

“Candidate machines” are those that pass some initial technical feasibility checks for the move.

“(C)” means the candidate machine has a capacity constraint that rules it out.

“(U)” means the candidate machine can’t be used for the part because it is an upstream move that would

interfere with a subsequent job.

T01-01113-AAAA_Bottom

---------------------------------------------------------------------------------------

Smooth puts: True

Smooth puts - puts per machine: 5

Smooth puts - future jobs:6

Bottleneck at front: False

Bottleneck at front - tolerance: 15

Balance - max parts: 10

Balance - tolerance pct: 20

Balance - mins savings per part: 0

Balance - exclude end machines: 0

---------------------------------------------------------------------------------------

Time for M1 4.92

Time for M2 2.72

Time for M3 2.11

Time for M4 2.34

Time for M5 0.75

Time for M6 2.12

M1 out of balance Bottleneck: 4.92 Average: 2.49 Balance: 51%

041-15100-05 72/panel 1.40 Target Machines: 1 2 3 Candidate Machines: 2(C) 3

Moving 041-15100-05 x 72/panel From M1 (-1.40) To M3 (+0.80)

---------------------------------------------------------------------------------------

Time for M1 3.51

Time for M2 2.72

Time for M3 2.91

Time for M4 2.34

Time for M5 0.75

Time for M6 2.12

M1 out of balance Bottleneck: 3.51 Average: 2.39 Balance: 68%

038-15560-10 39/panel 0.68 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-27100-16 36/panel 0.66 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

031-14100-10 33/panel 0.61 Target Machines: 1 2 3 Candidate Machines: 2(C) 3(C)

018-16220-00 21/panel 0.38 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4

Moving 018-16220-00 x 21/panel From M1 (-0.38) To M4 (+0.36)

---------------------------------------------------------------------------------------

Time for M1 3.13

Time for M2 2.72

Time for M3 2.91

Time for M4 2.72

Time for M5 0.75

Time for M6 2.12

M1 out of balance Bottleneck: 3.13 Average: 2.39 Balance: 76%

038-15560-10 39/panel 0.68 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-27100-16 36/panel 0.66 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

031-14100-10 33/panel 0.61 Target Machines: 1 2 3 Candidate Machines: 2(C) 3(C)

038-15270-20 15/panel 0.27 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-12470-00 15/panel 0.26 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

038-15620-20 9/panel 0.16 Target Machines: 1 2 3 4 Candidate Machines: 23(C) 4(C)

Moving 038-15620-20 x 9/panel From M1 (-0.16) To M2 (+0.09)

---------------------------------------------------------------------------------------

Time for M1 2.96

Time for M2 2.82

Time for M3 2.91

Time for M4 2.72

Time for M5 0.75

Time for M6 2.12

M1 out of balance Bottleneck: 2.96 Average: 2.38 Balance: 80%

Page 50: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Page 50 of 51 Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1

038-15560-10 39/panel 0.68 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-27100-16 36/panel 0.66 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

031-14100-10 33/panel 0.61 Target Machines: 1 2 3 Candidate Machines: 2(C) 3(C)

038-15270-20 15/panel 0.27 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-12470-00 15/panel 0.26 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

038-13470-10 9/panel 0.16 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

038-16820-20 3/panel 0.05 Target Machines: 1 2 3 4 Candidate Machines: 23(C) 4

Moving 038-16820-20 x 3/panel From M1 (-0.05) To M4 (+0.05)

---------------------------------------------------------------------------------------

Time for M1 2.91

Time for M2 2.82

Time for M3 2.91

Time for M4 2.77

Time for M5 0.75

Time for M6 2.12

M3 out of balance Bottleneck: 2.91 Average: 2.38 Balance: 82%

031-16100-10 69/panel 0.77 Target Machines: 1 2 3 Candidate Machines: 1(C) 2(C)

000-10000-90 27/panel 0.28 Target Machines: 3 4 Candidate Machines: 4(C)

038-15470-10 15/panel 0.16 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

065-10001-00 9/panel 0.10 Target Machines: 3 4 Candidate Machines: 4(C)

000-10001-10 9/panel 0.10 Target Machines: 3 4 Candidate Machines: 4(C)

038-15220-10 9/panel 0.10 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

038-15100-10 9/panel 0.09 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

064-10001-00 6/panel 0.07 Target Machines: 3 4 Candidate Machines: 4(C)

018-16100-10 6/panel 0.07 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

038-13220-10 6/panel 0.07 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

036-00150-10 6/panel 0.06 Target Machines: 3 4 Candidate Machines: 4(C)

038-15330-10 6/panel 0.06 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

273-10000-00 3/panel 0.03 Target Machines: 3 4 5 Candidate Machines: 45

Moving 273-10000-00 x 3/panel From M3 (-0.03) To M5 (+0.10)

---------------------------------------------------------------------------------------

Time for M1 2.91

Time for M2 2.82

Time for M3 2.88

Time for M4 2.77

Time for M5 0.85

Time for M6 2.12

M1 out of balance Bottleneck: 2.91 Average: 2.39 Balance: 82%

038-15560-10 39/panel 0.68 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-27100-16 36/panel 0.66 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

031-14100-10 33/panel 0.61 Target Machines: 1 2 3 Candidate Machines: 2(C) 3(C)

038-15270-20 15/panel 0.27 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-12470-00 15/panel 0.26 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

038-13470-10 9/panel 0.16 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-13100-00 3/panel 0.05 Target Machines: 1 2 3 4 Candidate Machines: 23(C) 4

Moving 018-13100-00 x 3/panel From M1 (-0.05) To M4 (+0.05)

---------------------------------------------------------------------------------------

Time for M1 2.86

Time for M2 2.82

Time for M3 2.88

Time for M4 2.83

Time for M5 0.85

Time for M6 2.12

M3 out of balance Bottleneck: 2.88 Average: 2.39 Balance: 83%

031-16100-10 69/panel 0.77 Target Machines: 1 2 3 Candidate Machines: 1(C) 2(C)

000-10000-90 27/panel 0.28 Target Machines: 3 4 Candidate Machines: 4(C)

038-15470-10 15/panel 0.16 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

065-10001-00 9/panel 0.10 Target Machines: 3 4 Candidate Machines: 4(C)

000-10001-10 9/panel 0.10 Target Machines: 3 4 Candidate Machines: 4(C)

038-15220-10 9/panel 0.10 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

038-15100-10 9/panel 0.09 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

064-10001-00 6/panel 0.07 Target Machines: 3 4 Candidate Machines: 4(C)

018-16100-10 6/panel 0.07 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

038-13220-10 6/panel 0.07 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

036-00150-10 6/panel 0.06 Target Machines: 3 4 Candidate Machines: 4(C)

038-15330-10 6/panel 0.06 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 2(C) 4(C)

005-10000-10 3/panel 0.03 Target Machines: 3 4 Candidate Machines: 4(C)

038-14220-10 3/panel 0.03 Target Machines: 1 2 3 4 Candidate Machines: 1(C) 24(C)

Moving 038-14220-10 x 3/panel From M3 (-0.03) To M2 (+0.03)

---------------------------------------------------------------------------------------

Time for M1 2.86

Time for M2 2.85

Page 51: E20 Surface Mount Productivity Improvement Project Phase 1...However that period was not all at peak capacity. When we compare peak capacity, prior to the project the single best day

Callaghan Innovation "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 51 of 51

Time for M3 2.85

Time for M4 2.83

Time for M5 0.85

Time for M6 2.12

M1 out of balance Bottleneck: 2.86 Average: 2.39 Balance: 84%

038-15560-10 39/panel 0.68 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-27100-16 36/panel 0.66 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

031-14100-10 33/panel 0.61 Target Machines: 1 2 3 Candidate Machines: 2(C) 3(C)

038-15270-20 15/panel 0.27 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-12470-00 15/panel 0.26 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

038-13470-10 9/panel 0.16 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

038-14390-10 3/panel 0.05 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

038-14560-00 3/panel 0.05 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-13680-00 3/panel 0.05 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

018-13330-00 3/panel 0.05 Target Machines: 1 2 3 4 Candidate Machines: 2(C) 3(C) 4(C)

Couldn't move anything, stopping.

Summary

--------------------------------------------------------------------------------

Time for M1 2.86

Time for M2 2.85

Time for M3 2.85

Time for M4 2.83

Time for M5 0.85

Time for M6 2.12

M1 out of balance Bottleneck: 2.86 Average: 2.39 Balance: 84%

Starting Balance: 51% Improvement: 65%

Starting BNCT: 4.92 Ending BNCT: 2.86 Time saving: 2.06 (42%)