Blog

Metis Automation Wins Unilever Pitch Challenge

Metis Automation took part in a two-day advanced manufacturing Hack and Pitch event. This was facilitated by InnovateUK, to propose potential solutions to three key packaging challenges raised by Unilever.

The Challenge

In a joint pitch with Whistonbrook Technologies, Metis Automation won a challenge to measure packaging resilience throughout the supply chain. Judges commended the joint pitch as innovating and an ideal example of what Hack & Pitch events aim to achieve. Notably, a collaboration between companies with the complementary expertise to deliver outstanding solutions to their customers.

Unilever has invested in a state of the art Advanced Manufacturing Centre at their Port Sunlight base on the Wirral. The centre houses a pilot plant for the testing of new products and packaging developments. The consumer giant is consequently appealing to the sensor community for novel approaches to optimise their use of the facility.

In this challenge, Unilever aims to find new ways to quantify how well optimised a package design is, as well as how smoothly it runs in the supply chain, the forces it is exposed to and opportunities to enhance and improve it. Furthermore, Unilever is aiming to develop a way of measuring the impact on packaging as it is transported, sorted, labelled, filled and capped.

Martin Griffiths, Technical Director at Metis Automation said “Hack and Pitch events are an excellent way to propose innovative solutions to a diverse range of manufacturing challenges. We are pleased to have been awarded this win and look forward to exploring the challenge further.”

Metis Automation and Whistonbrook will work with Unilever to further define a solution to this challenge in 2018.

Advanced Manufacturing

 

North West LabVIEW User Group February 2018

Come along to our North West LabVIEW User Group and learn about LabVIEW with our expert presentations and interactive sessions.

The event will be held on Monday 5th February from 12.30pm – 5.00pm at:-

Sensor City
31 Russell Street,
Liverpool,
Merseyside,
L3 5LJ.

Register Now:

It’s free to come along, so Click Here to Register.

If you know someone else in the area who uses LabVIEW, please forward the details to them.

Metis Automation Wins Industry 4.0 Award

Metis Automation has been recognised as a leading player in providing advanced manufacturing software. We won the Industry 4.0 Award, sponsored by Siemens at The Northern Automotive Alliance Awards 2017. Industry 4.0 is the convergence of digital, physical and biological assets in manufacturing.

The Northern Automotive Alliance Awards showcased the successes of vehicle manufacturers, supply chain companies and service providers in the region. The ceremony was held on The 9th of November 2017 at the Mere Hotel Golf Resort Knutsford.

The judges acknowledged that Metis Automation has a clear, client-driven requirement that results in a practical, real-life application. For this reason, our client has been able to win new business with large OEM customers. Metis Automation won because our project made the biggest positive impact on the business of a manufacturing company.

The NAA states that: “The winners of the Northern Automotive Alliance (NAA) Awards 2017 show that there is real progress being made in the region’s automotive sector, in factories harnessing the latest Industry 4.0 technologies.”

What We Did

Metis Automation helped a manufacturer of control valves, to significantly transform their production processes.  As a result, we were able to offer digital data products to industry-leading digger manufacturers. Metis Automation’s software shares production line data directly with the digger manufacturer. Consequently, this enables an automatic calibration of the control valve in the digger, thus eliminating many hours of manual tuning. This has lead to a ‘night & day’ vehicle performance improvement, allowing our client to increase sales to key customers.

Martin Griffiths director at Metis Automation says “I am of course very pleased that the company has been recognised as the leading Industry 4.0 software provider. It is my intention to ensure that our team keep the business objective of the project in the forefront of their minds.  In particular, we want to ensure that our customers get the maximum return on their investment.”

 

Northern Automotive Alliance Business Awards

Metis Automation has been recognised as a leading player in the automotive industry. We have been shortlisted for the high profile Northern Automotive Alliance Business Awards taking place on 9th November 2017, in the Industry 4.0 section.

Industry 4.0 is the coming together of digital, physical and biological assets. It is creating unprecedented opportunities for UK manufacturing businesses and supply chains, to optimise productivity and competitiveness. The award is open to SME’s who have used these technology enablers to markedly benefit their core business.

Metis Automation have software and systems that help advanced manufacturers to implement Industry 4.0 to consequently grow their business.

We develop advanced software for connected manufacturing in the automotive industry, in two areas:

  • Firstly, to get new products to market quickly whilst ensuring that they are fit for purpose, safe and reliable. This is achieved through automated validation testing, which speeds up the design iteration cycle.
  • Secondly, to manufacture complex, customised products with zero defects. This helps manufacturers to improve productivity win new business and strengthen brand reputation. It is achieved using software that connects manual processes, machines and products throughout a factory.

Our application entry project:

We helped our automotive customer to offer new digital products to key accounts, by exporting production line data directly to customers. This is then used to perform an automatic machine calibration, which saves hours of manual vehicle setup at the end of the production line. Consequently, this has led to a night & day improvement in machine performance. As a result, our customer is winning new business within existing accounts. They are seeing major improvements in product performance, which is perceived as superior to competitors, at little or no cost.

Automotive Industry

The Metis team of software developers and systems integrators have the expertise to implement digital manufacturing systems. Our goal is to gain more expertise in data storage, management and analysis. Furthermore, to develop cloud offerings of our key software solutions, that SME manufacturers can use to improve their businesses at an affordable cost.

AMRC Factory 2050 Visit

Martin Griffiths our Technical Director, visited the ARMC Factory 2050 in Sheffield organised by the Northern Automotive Alliance. He spent the afternoon viewing some of their advanced manufacturing technologies.

During the visit, he witnessed advanced robotic CNC machining; assisted assembly processes and automated vision inspection systems. These technologies are solving challenges for large manufacturing companies and SME’s.

CNC Robots

The tour started in the ARMC Factory 2050 machine shop. This houses several Kuka robots which have been modified to perform CNC machining operations. These machines are designed to give more flexibility to the machining process. They also give the ability to machine large items that would not fit into a CNC machine.  Engineers in Factory 2050 are working on improving the machining accuracy of CNC robots. At the present time, this is typically lower than in a CNC machine. They are tackling this with improved control software.

Collaborative Robots in Assembly

There were several examples of small (7kg – 14kg payload) collaborative robots (cobots) that assist in the assembly processes. These are used in applications where they can improve accuracy and cycle time. However, human assistance is still needed to complete the assembly process, due to the skill required.

Collaborative Robots in Inspection

One demonstration cell showed how cobots can be used with cameras and lighting, to move around a large assembled product and perform multiple vision inspection checks. The robot starts by finding a datum point on the product. It then moves a robotic arm through a sequence, to find different components that require visual verification.

Re-Configurable Shop Floor

A re-configurable shop floor demo showed how cobots, robots and UAVs are used to automatically move components around a factory floor. As a result, custom products can be assembled in low volumes. The ability to move production machinery for low quantities of product, to new locations quickly, is essential for low quantity, high value and high quality manufacturing processes.

Guided Assembly Processes

Finally, the ARMC Factory 2050 wing assembly cell showed how complex assembly processes can be simplified, by guiding operators through each work process. Firstly, the demonstrator used work instructions projected onto the production items. Secondly, Manufacturing Execution Software selected the instructions to display the item in production. It also connected to electric nut-runner tools, selecting the correct torque cycle for the operation; collecting data and moving onto the next assembly process.

ARMC Factory 2050

 

Communicating with Smart Tools

Smart tools can be used in advanced manufacturing processes to put automation directly into the hands of operators. They eliminate manufacturing mistakes, speed up production time and automate data collection and manufacturing traceability.

They are a low-cost investment that can transform manufacturing processes and save costly rework or product recalls.

In this blog post, I will outline their basic operation and the strategies for using them in assembly and manufacturing operations.

What is a Smart Tool?

Smart tools perform the same functions as regular manufacturing tools. However, they also have; sensors, electronics, a processor and a communications module. This enables them to be programmed with operation parameters. These can be selected automatically during production and will output results of the manufacturing process.

A good example is an electric nut-runner, which is basically a smart torque wrench. It can be programmed to tighten to various torques and number of turns. Tightening programs can be selected directly from the tool or remotely through the software. When the tool completes, it will output a Pass/Fail result; the torque achieved; and the tool used.

Benefits of Smart Tools

The two main benefits of establishing connectivity with smart tools are:

  • Firstly, to control their operation in a manufacturing process;
  • Secondly, to retrieve data from them when operations are completed.

As part of an assembly process with a smart torque wrench, various nuts may need to be tightened to different torques on a component. Our software Tascus, can be used to control the manufacturing sequence. It can also be used with location sensors to detect where the tool is. This will send the correct torque set-point to the tool, at the correct point in the manufacturing process.

Retrieving data from smart tools can be used for verification and traceability of the manufacturing process. If issues are found with a product – for example, a nut loosening – manufacturing data can be mined to see what torque it was tightened to. This may lead to a revision of the manufacturing process, to solve these issues.

How to Connect to Smart Tools

Finally, smart tools often have several options for communicating with other devices. Ethernet, Modbus and Profinet are common examples. These can be used to send commands to the tool and to store process information. Our Manufacturing Execution System Tascus, makes it easy to connect to smart tools using all of these protocols and will also control and log data from smart tools.

Summary

Smart tools are a great way to implement automation into manual assembly processes. Due to their network connectivity, they are a good way to lead into Connected Manufacturing and Industry 4.0 processes.

Smart Tools

 

LabVIEW Sub VI Design

Any large LabVIEW application should be using well-designed sub vi’s to build reliable, manageable software. To ensure that a LabVIEW sub vi design is consistent across projects and developers, we like to use some standard design principles. This means that when looking at sub vi’s across the entire project, they all conform to a standard design. Thus, making it easier to focus on the specific function.

LabVIEW Sub VI Design – Block Diagram Alignment

I always try to ensure that my input controls and output indicators are horizontally and vertically aligned on my block diagram.

Sub vi designHorizontal alignment of Controls and Indicators, vertical alignment of similar data types makes for intuitive block diagrams.

 

Consequently, this makes it easier to open a block diagram and to understand what logic is implemented in that function. If your design principle is aligning inputs on the left-hand side and outputs on the right-hand side, you can immediately see that the logic is occurring in the middle of the diagram.

Vertical alignment of related controls and indicators also makes reading a block diagram much more intuitive. If an error control starts at the middle left, it intuitively should exit at middle right. Small principles like this make it so much easier when you are reviewing your code.

LabVIEW Sub VI Design – Front Panel Design

Following a similar principle that intuitive layout of vi’s is easier to understand, I advise standardised layouts for front panels. This tip originally came from Steve Watts excellent book ‘A Software Engineering Approach to LabVIEW’.

In his book, Steve suggests that decorations should be used on a front panel to identify three distinct areas:

  • Data In;
  • Local Data;
  • Data Out.

A well-designed front panel with areas for Data In, Local Data and Data Out make it easy to understand.

I don’t always stick to using the decorations, as they sometimes have an annoying habit of being placed in front of controls. Consequently, this makes them difficult to edit. However, I always place Data In on the left-hand side and Data Out on the right-hand side. I also match orientation to that of the connector pane wherever possible.

LabVIEW Sub VI Design – Connector Panes

You can change your local LabVIEW settings so that each time you create a sub vi with connector panels, the ‘Connector pane terminals default to Required’ is set to ‘True’. This means you will, by default, need to wire all inputs into that sub vi.

Sub VI Design

Change LabVIEW Settings to Connector Pane Terminals default to Required.

The benefit of this is that you are much less likely to forget to wire up an input terminal when using your sub vi. The calling vi will have a broken run arrow if any sub vi terminals that have required input terminals, go unwired.

It is still possible to change an input terminal to not required – recommended or optional. You can do this if you really do have a sub vi terminal that is optional.

Sub VI Design

In this sub-vi, the input DAQ Data is a Required input terminal.

The order of controls and indicators on the front panel should match the vertical order of terminals on the connector pane. This makes it easier and more intuitive to understand which input and output is transferred in and out of a sub vi.

LabVIEW Sub VI Design – Colours

Finally, LabVIEW is a graphical programming language, so it makes sense to use colour to help distinguish distinct functions.

For our team to use a standardised colour scheme across all projects, we have developed a table of vi icon colours for specific functions.

LabVIEW Sub VI DesignThis makes it clearer when looking at a complex diagram to see which sub vi perform which type of function. It also makes it easier when searching for a sub vi. If the sub vi you are looking for is related to error handling, from the colour scheme above, you are looking for a bright red icon.

Summary

These tips for LabVIEW sub vi design make our day to day programming and maintaining of code much easier. Consequently, they also make our development team more efficient.

LabVIEW Services

Metis Automation Joins The Northern Automotive Alliance

Metis Automation has recently joined the Northern Automotive Alliance (NAA). The NAA supports companies throughout the North of the UK, that work in and also supply to the automotive industry.

Joining the Northern Automotive Alliance

This has been important for Metis Automation. We are strongly focused on software and technology for the automotive industry across OEMs, Tier 1 suppliers and SMEs. Our goal is to help improve the manufacturing capabilities of all involved in the automotive industry and as a result, help bring better quality products to consumers.

Connected Manufacturing in the Automotive Industry

We are working with several Tier 1 and SME suppliers in the automotive industry, using our manufacturing control software Tascus, to improve their manufacturing processes. The suppliers are being driven by OEM manufacturers to implement Connected Manufacturing and Industry 4.0 processes in their factories. OEM manufacturers see this as important to maintain high quality standards in products supplied. They also find that product tracability helps to contain any component failures that may be found in the field.

Test in the Automotive Industry

Many automotive companies use our test software Metest and our systems, to improve time to market during R&D Validation tests. They also use Metest for functional end of production line testing. This helps to ensure that products leave the factory defect free, maintaining their brand reputation with automotive OEMs.

Automotive Alliance

LabVIEW Libraries

In my opinion, LabVIEW Libraries are one of the biggest productivity improvements in LabVIEW. Consequently, most of our template code is organised into LabVIEW Libraries (.lvlib) or Packed Project Libraries (.lvlibp). These allow developers to easily package, distribute and organise code modules.

For Metis Automation, a typical library is a fully functional code module. That is, a queued message handler that does one specific task e.g. acquire DAQ inputs, log data to disk, or communicate with a hardware device. It may also just be a group of sub vi’s that do a specific function. Once packaged into a library, we can thereafter benefit from several features:

Public and Private Scope

Libraries allow the developer to set the access scope of functions within the library. The main scopes are Public and Private:

  • Public – The sub Vi can be used inside or outside of the library
  • Private – The sub vi can only be used inside the library

This is useful when trying to reduce coupling between sections of your software application. By setting scope to private, it means the Private sub vi’s cannot be called from external code. This helps to enforce modular, loosely coupled software that is as a result, easier to debug and maintain.

Template LabVIEW Libraries

Most of our code templates are organised into libraries in a central, reusable code repository. When starting a new project or adding a new feature to an existing project, our first step is to look for a template library that is a good starting point for this new feature.

LabVIEW Libraries

Creating a new module for a project from a template library.

By organising this code into libraries, it is easy to copy, move and organise our template code as it gets moved into a new project.

Name Spacing

In the final example of using code templates for various tasks, it would not work as smoothly if there were duplicated names in our templates. For example, LabVIEW will “error” if we have more than one function named Enqueue.vi in our project. It will think there is a conflict. Libraries however, provide name spacing which solves this issue. If you were to make 2 copies of a template, Library 1 and Library 2, the Enqueue.vi function will be named as follows:

Library 1.lvlib::Enqueue.vi

Library 2.lvlib::Enqueue.vi

LabVIEW Libraries

LabVIEW Libraries provide name spacing to all functions within the library

This is a big benefit as you no longer have to rename all of your new code created from the template, or add name spacing manually.

LabVIEW Libraries

 

 

 

Managing Large LabVIEW Applications with LabVIEW Projects

At a recent North West LabVIEW User Group, I presented my experiences of managing large LabVIEW applications. I covered how to help keep your LabVIEW projects organised and manageable, using a series of tools within LabVIEW.

Firstly, let me answer the question of what the challenges are that developers are facing when creating large applications. Also, how are these are different to smaller applications?

With a small application, there is typically a limited set of inputs, outputs and logic within the program. This can be managed by a single developer, in a simple structure like a state machine or event driven structure. As the scope of an application grows the inputs, outputs and state logic grows making it more difficult to manage. A key problem is that adding or modifying one part of the program, will affect multiple other areas. At this stage a modular, well-structured application is needed. Also useful are some tools to build this application.

Luckily LabVIEW has some great tools that can be of use here, the first of which is the LabVIEW Project:

LabVIEW PROJECTS

Since LabVIEW 8.2, LabVIEW Projects (.lvproj) are required to build executable applications. National Instruments encourage you to do much more with projects. They recommend that you use projects throughout your development process, to handle source code, devices and support files. I find a few tricks with projects really help me to keep track of:

Empty Projects:

When I am developing, I have a project for my main application. I like to create empty projects occasionally, to check dependencies within libraries and classes.

When I have a fully populated project with many VI’s, libraries and classes, it’s difficult to view what the dependencies are between code modules, within the project. But, if you create a new empty project and drag in your library or class, you can immediately see it’s dependencies.

LabVIEW projects

An empty LabVIEW Project can be used to quickly identify dependencies

The image above shows a before and after view of a class ‘Scan Part.lvclass’. I wanted to ensure that Scan Part.lvclass had no dependencies on other code within my project. So, I copied it into an empty project and used the dependency view. I then went about removing all vi’s within the class that were causing dependencies, until the dependency view was empty except for vi.lib.

This was important in this instance, as I wanted to create a packed library from the class that I could use across multiple projects. This technique is also useful when making reusable code from existing source code.

Moving VIs with the Projects ‘File View’:

I came across this feature completely by accident. If you press Ctrl + E when you are in the LabVIEW project, you will change from the Item View to the ‘Files View’. This shows how your source code is located on disk, rather than how it is grouped in LabVIEW libraries, folders or classes. This is interesting, but the real benefit of this view is for moving and renaming multiple LabVIEW VI’s, libraries and classes.

LabVIEW projects

The LabVIEW Project Files View is essential for moving multiple files on disk simultaneously

Before I started using the Files View, renaming classes was a risky challenge that I ended up avoiding doing. This was due to many corrupted references within the class.  Renaming and moving LabVIEW files, is much quicker and easier if you use the project Files View. This lets you select multiple files all at once and move them on disk.

For example, in the screenshot above I can rename Scan Part.lvclass.  I can then select the class and all vi methods within the class, to move to another folder on disk all at once. As well as being much quicker, this helps LabVIEW to understand that the class name has changed, as well as the location of the method vi’s. You can move multiple files simply by selecting a group of flies, right clicking and selecting ‘Move on Disk’.

Named Projects:

We now use multiple named LabVIEW projects during our development phase, for a few reasons.

When developing, using Real Time targets like CompactRIO or PXI, we often create a Virtual Machine. This simulates the Real-Time target before we have the actual hardware.

LabVIEW projects

Named Projects allow you to run your source code under different conditions easily.

Using a dedicated project that contains the VM target is useful because we also use libraries. A library will become locked if it is open under multiple targets at the same time.

All the code modules within the projects are identical – there is no duplicate code. The multiple projects just allows us to easily run the code under different targets. This is also useful when combined with the Conditional Disable structure. We often have a series of conditions for Virtual Machines and simulated hardware. By having these in different projects, you can run the same code under different conditions, then easily run builds in your main project, with real hardware enabled.

Project Hyperlinks:

This is a small but very useful, feature of LabVIEW projects – you can add hyperlinks to the project.

LabVIEW projects

Hyperlinks in a project can help you to remember that essential forum post where you found technical advice.

This feature really comes into its own when you are doing online research. It can solve a bug or tackle a new feature. We often have links to online forums or blog posts, that have outlined a solution to a specific problem. By posting the link within the project next to the code that we have implemented, it reminds us what the solution was based on and why those decisions were made.

SUMMARY

These tips and tricks for using LabVIEW projects, help our development team to create better solutions for our clients every day.

This is the first blog post in a series about managing large LabVIEW applications. I will cover Libraries, Sub VIs, Polymorphic Vis and distributing code with VI Packages and Packed Project Libraries, in follow-up posts.

In the meantime take a look at our LabVIEW development and consulting services.

LabVIEW projects