You are on page 1of 51

"E20" Surface Mount Productivity

Improvement Project - Phase 1

August 2018
CONTACT INFORMATION
Report Author:

Dean Mischewski
Manufacturing Engineering Manager
Tait Communications
Mobile: 64 27 4053142
DDI: 64 3 3570716
Email: dean.mischewski@taitradio.com
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 2 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 3 of 51
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
1
demand heading in to the end of the company’s financial year, 30 June 2018. 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
2
S6 changed as the project progressed.
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 4 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
S6 Placement Rate Through E20 Project
5
Placements per Second

3
Placements
2 per Second
7-Day
1 EWMA

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

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.

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 5 of 51
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 6 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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 2. Pick-and- 3. Pass PCB and 4. Program / 5. Inspect 6. General 7. Configure 8. Consolidate
solder place SMT components through test PCA PCA mechanical / program / / Pack
paste to components reflow oven to create assembly: fit one or test
PCB to PCB PCA. more PCAs with
mechanical parts to
Repeat steps 1-3 for create final product
double-sided assemblies

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:

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 7 of 51
For readers unfamiliar with surface mount assembly processes, it may be helpful to review the second video
3
on this page of the Tait blog – Tait Products: From the Factory to the World. 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 8 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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.

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 9 of 51
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 10 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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.

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 11 of 51
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 12 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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.

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 13 of 51
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
4
operators (setup/changeover/running ) 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 14 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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
5
benefit as would have been achieved with tens of thousands of dollars of investment.
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.

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 15 of 51
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 16 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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,

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 17 of 51
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 18 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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
6
visioning time, convey time, and nozzle change time.
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.

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 19 of 51
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
7
certainly led to a strong impetus to drive improvement. 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 20 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
7. VISUALISING RUN TIME DATA
An important tool we developed as the project proceeded was our “Actuals vs Estimates Chart”.
8
Every time a placement machine finishes processing a panel of PCBs, 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:

102426753_TOP_
1600

1400

1200

1000

800

600

400

200

151
156
101
106
111
116
121
126
131
136
141
146

161
166
1
6
11
16
21
26
31
36
41
46
51
56
61
66
71
76
81
86
91
96

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.

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 21 of 51
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 22 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 23 of 51
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
9
outweighed by the saving in running time then the move should be done. 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 24 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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:

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 25 of 51
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 26 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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.

S6 Placement Rate Through E20 Project


5
4.5
4
Placements per Second

3.5
3
Placements
2.5 per Second
2
1.5 7-Day
EWMA
1
0.5
0
01/02/2018 01/03/2018 01/04/2018 01/05/2018 01/06/2018 01/07/2018
Date

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.

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 27 of 51
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 28 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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
10
- partial / hybrid / hotswap setup strategies per Swaim 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).

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 29 of 51
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 30 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 31 of 51
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 32 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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
11
optimise schedule order, factoring in things like minimising the number of oven profile changes 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.

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 33 of 51
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 34 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
15. APPENDIX: EVOLUTION OF TIMING FACTORS FOR ASSEMBLY
TIME MODEL
supplytype orig- 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 hard
rm rm rm pc AR AR () AR AR AR
Eff Line1 coded20 20 22 estimate
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 Mac
Bad mark boards 0 0 0 0 0 0 0 speed 0 speed 0
Convey time per panel 0 0 0 0 0 0 4 4 4
Nozzle changes per 0 0 0 0 0 0 0 1 1
panel
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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 35 of 51
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 36 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
 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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 37 of 51
 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 38 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
 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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 39 of 51
 - 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 40 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
 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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 41 of 51
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 42 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
Actual
Put Downtime Estimated Actual Setup Est Vs Act Setup Boards Per Boards Panels
Count Mins Setup Mins Mins Mins Panel Required Boards Built 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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 43 of 51
Panels Estimated Actual Est Vs Act Theoretical Actual Placement Line
Built Build Mins Build Mins Build Mins Feeder Changes Placements Placements Performance 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 44 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 45 of 51
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 46 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 47 of 51
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 48 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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%

Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1 Page 49 of 51
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 50 of 51 Callaghan Innovation  "E20" Surface Mount Productivity Improvement Project - Phase 1
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%)

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

You might also like