Constant Support – Beckhoff

Today we encountered a little challenge on the XTS programming. Since we load very large configuration files for the OPC UA Server (OPC UA does not let you change the data structure during runtime, therefore we configure it with free space beforehand), the Server had some unpredictable behaviour.

Thanks to our good contact with Beckhoff, Mr. Schätzle, application engineer at Beckhoff, with a lot of expertise in OPC-UA and TwinCAT, came to our office and gave us support. The problem then could be solved within a short time. We used this occasion to show Mr. Schätzle our current setup. He was quite impressed about the latest progress on our project, connecting TwinCAT 3 with Industrial Physics Simulation and the XTS. In our virtual setup we have the modules with motors and sensors, directly interacting with each other and the XTS. It is the first time that he saw, how neat the XTS integration with Industrial Physics works. We also used the time for a little brainstorming to get some input from an expert.

We are glad about the constant supoort by Beckhoff, that fully support us at any time, either through technical components or know how and expertise.

Ps.: Below, you find some impressions of this short visit:

Simulation of the Cookie Module with Industrial Physics

We are working with Industrial Physics to generate our HIL setup. Starting with the first parts of the setup we are developing a digital representation of the cookie module.

The cookie dispenser works in the way, that the rotating disc is moved by a stepping motor. Whenever the cookie comes to the yellow ramp, it falls down by gravity. The simulation uses the same effects. The friction and other details are as close to reality as possible.

We will keep you posted about other modules and simulations.

Please feel free to comment below.

HMI Cooperation with TH Ingolstadt

Since June 2014 we are working together with Prof. Grossmann from TH Ingolstadt and his student, to develop an innovative approach for an HMI. For this approach the students use typical elements from Computer games, which can then adapted in an HMI, that is used for real automation processes. At the end of the semester, the students presented their work to the MI5-Team in a big presentation. It followed, a discussion and feedback.

loading map - please wait...

ITQ GmbH: 48.252077, 11.634312
TH Ingolstadt: 48.767116, 11.431704

Below you can find an example of the report of the investigation of the different game elements. Visible is an so-called inventory view. Something similar could be used to show with what kind of actors or sensors a module is equipped. It could show a picture of a module, status information or more. Typically this is shown at some corner of the screen for an overview, or centralized for more information.

TH Ingolstadt

Inventory Elements from some games. (TH Ingolstadt)

This research was then adapted to some more practical approaches by other students. They made a list as it can be used in production to see a queue or control the process. In the picture below, you can also see a message box, that keeps the user up to date about ongoing events.

List of Events in Production with message box. Source: TH Ingolstadt

List of Events in Production with message box. (TH Ingolstadt)

With this ideas in mind, and some very good approaches, we transformed it into a more practical approach with a tool called Balsamiq. It allows us to use typical desktop elements like lists, tabs, dropdown menus in a sketchy way, so that the idea can be transported easily. Colors and fonts are not yet finalized.

Sketch for HMI. (MI5)

Sketch for HMI. (MI5)

Besides, we looked at possible use cases for the HMI. Therefore we used two different perspectives:

  1. User by skill level
  2. User by perspective

The first ist divided into the groups first-time users, that have no knowledge of the HMI, intermediate users, and expert users. With our approach we will be able to give all of them a good user experience. Next to the skill level we looked at the task of the user, e.g. maintenance operator vs production operator.

It is now July, and since our HMI shall also be portable to any modern device, responsive by design and with an intuitive touch experience, we decided to do it with web-technologies. One prototype can be seen below. It is hard-coded and runs on an Apache server.

HMI Protoype with HTML and JavaScript

HMI Protoype with HTML and JavaScript (MI5)

While developing this proof of concept, and during the following month, September 2014, we investigated technologies for further development.

Node.JS is a JavaScript Interpreter, similar to PHP5 module in Apache server, with the Google V8 Engine, that powers also the popular Google Chrome Browser. With this approach only one programming language is required. There is a big movement to use JavaScript not only for Browser-Coding but also for server-side applications. One of the main features in comparison to a classic webserver is the inherent non-blocking approach, that is perfect for an HMI and a constant socket.io connection.

Further information: http://www.toptal.com/javascript/guide-to-full-stack-javascript-initjs

Socket.io creates a constant connection to a browser, or to any other REST-compatible device. It is then possible to send updates of text field directly from the server to the client. It is even possible to broadcast events, so that multiple clients (HMI screens) are updated simultaneously
Express.js handles the different requests. Due to the event-based architecture of javascript, it is asynchronous and interrupt-free.
Jade serves as a template engine. It delivers easy to read templates for the designers.
Stylus is used to generate CSS code out of JavaScript. It uses a markup language that lets you use variables, that simplify CSS development.

 

 

These technologies are then combined to one HMI module (we follow our modular paradigma). This module includes an OPC UA client, and acts as a server for the HMI-web-pages. Doing something so complex like an HMI in a web-page is in our opinion a good approach, since the web-development community is huge, and all technologies used are for free and open source. They are also bullet-proof and exist for production for a long time, just look at a website like Google or Amazon, that practically have no downtime, and run on any browser flawlessly.

Our draft for the system architecture of the HMI looks like this:

System Architecture (MI5)

System Architecture (MI5)

It is now end of September, and the JavaScript client is under heavy development. One of the most complex parts so far, is the investigation of the connection of the node-opcua module to the OPC UA Server. We investigate the compatibility of different OPC UA Servers, for example Beckhoff TwinCAT OPC UA Server or the equivalent from B&R.

As of now, we can say, that the decision for JavaScript looks very good. It looks lean and clean. Since we do not need to actually write anything else, besides JavaScript there is no cut in code development. Once all the programmers are familiar with the somewhat different way of programming, they can read all the code.

For developing we use Nodeclipse and GIT versioning.

Please let us know what you think, in the comment section below. We also attached some more screenshots and excerpts of the Students report from the TH Ingolstadt.

And don’t forget to subscribe our blog on the right.

 

 

 

 

 

System Rendering

To get an overview of our sales fair demonstrator, we put all the modules and parts in one big rendering file. The cookie team, the cocktail team and the system team in construction contributed big parts to it. It consists of several parts, which are put together in one assembly.

The active parts are highlighted by color, while frame and non-active components are grey. Except for the XTS, of course.

This scheme is important to see the dimensions and the space, that is required for the total assembly. It also shows, that the height of the modules, while not functionally important is not equal over the modules. This might be an issue for a next update.

Due to our constant feedback with suplliers, we could already implement the sensors in this assembly. On the right we see Hardware from Beckhoff and from Wenglor.

Plese feel free to give feedback in the comment section below.