Blog

DMC's Drinkbot Gets an HMI Upgrade to WinCC Unified

DMC's Drinkbot Gets an HMI Upgrade to WinCC Unified

Introduction

The DMC Drinkbot is a robotic bartender powered by Siemens automation hardware. It was originally created in the DMC Denver office in 2016 using a Siemens S7-1200 PLC interfaced by a 7" SIMATIC Comfort Panel.

DMC Drinkbot 2024 WinCC upgrade

Eight years after creation as Siemens has begun to phase out their COMFORT HMI Panels, DMC wanted to give Drinkbot an HMI upgrade. We received a new MTP700 Unified Comfort Panel that runs TIA Portal V19 WinCC Unified programs to show off the latest and greatest of Siemens HMI technology. This guide will walk through the steps taken to upgrade Drinkbot and the new features developed.

 

Background and Operational Overview

The DMC Drinkbot uses PROFINET communication for a Siemens G120 VFD drive controlled by an S7-1200 PLC. The user can choose drinks on a SIMATIC key panel or the MTP700 Unified Comfort Panel HMI that this blog focuses on. The user can choose between 44 standard drink recipes made from 8 bottles of alcohol and 6 mixers. There is also a custom drink option where the user can select any ingredient available based on the current configuration of the Drinkbot. 

DMC Drinkbot HMI Closeup Main Screen

Without replacing any bottles on the machine, the ability to make alcoholic drinks can be toggled. If the Drinkbot is taken to an event where alcohol is not permitted, the bottles may also be swapped out for flavored syrups and soda water to make “Italian sodas”. The Italian soda switch overrides the selectable recipes limiting the machine to the new available ingredients. The settings screen for these configurations is accessible by selecting the DMC logo in the upper left corner where the user can view alarms and diagnostics and change the machine mode. The motion axis of the Drinkbot can also be manually operated for demonstration and debugging purposes.

Drinkbot WinCC Settings and Diagnostics Navigation

For a detailed history of the development of Drinkbot, refer to the following two blogposts.

DMC Engineers Serve up a Siemens S7 Powered DrinkBot

Adding Siemens MindSphere Tracking to the DMC DrinkBot

 

Data 2 Unified

About half of the work for creating the Unified program was accomplished using the Data2Unified tool by Siemens. This tool does a great job taking an older Comfort program and converting it to Unified maintaining the basic layout and functionality of most HMI Elements and Controls. For some deprecated elements the tool will even generate custom VBA scripting to maintain original functionality.

There are current limitations to this tool as the conversion will notably not create alarms lists, faceplates, and navigation elements. Additionally, due to WinCC Unified’s aspect flexibility, it is typically worth touching up screens’ layout and aesthetics. The custom scripting that is auto generated may also need to be redone as more efficient element functions can be created manually without scripts. Typically the automatically generated scripts will function as intended but the script will be written in unconventional and overcomlicated language.Double checking these scripts and replacing them with standard functions where applicable is good practice.

After Running the conversion, most of the Drinkbot settings screens were recreated to match the previous comfort program to maximize the ease of configuring the system during events. The cleaning sequence screens that use basic elements were converted seamlessly into Unified. Settings screens like the alarms and diagnostics were easily able to be replaced with drop-in standard Siemens resources.

The bulk of the work left out by the tool was completed when modernizing the faceplates for drink selection and the recipe management system talked about in the following section.  

 

Recipe Conversion

In the Comfort program, there was a built in recipe management feature that the developer could create their own data type and store recipes locally on the HMI panel to be written onto the PLC when selected. In the Drinkbot Comfort HMI the recipe list included 44 drinks detailing their ingredients and quantities.

Drinkbot Comfort HMI Recipe Data Records

This recipe feature was a convenient way to store information and access data to be written into the instructions of the PLC. In WinCC Unified this feature was removed so this storage was recreated using a user defined type and a data block on the PLC.

Drinkbot WinCC Unified Recipe UDT DataBlock

The dbHMI data block stores all of the original recipe data using integers to signify ingredient quantities and a single string for the name of the recipe. Memory on the PLC is conserved by these simple UDTs provided that the bottle setup in the Drinkbot is always the same. For simplicity, to setup the Drinkbot the user consults a printout that lists all of the ingredient bottle positions.  The string and 18 integers are then fed to the HMI through a multiplexed array 11 recipes at a time.

DrinkBot WinCC Unified HMI multiplex tagDrinkbot WinCC HMI Closeup main screen

The 11 recipes are selected to be read based on the page of the HMI drink list the user is currently reading. The last display recipe on the page is number 12 that is left intentionally blank. A custom drink faceplate is opened when the custom button is pressed that displays all possible ingredients in the Drinkbot. The user can select how many of each ingredient to make their drink based on if alcohol is toggled on or the Drinkbot is displaying Italian Sodas. Once completed the ‘Make Drink’ button populates the display recipe 12 and once the Drinkbot completes the cycle the recipe is cleared.

DrinkBot Unified HMI Custom drink screen

To access standard drinks that access one of the stored recipes, 11 faceplate buttons are displayed on each page. These simple faceplates display the drink name based on page number and intake the recipe parameters once selected. They serve as an in between display button to open a nested faceplate that will display the selected drink in detail. The nested standard drink faceplate used in reading and writing recipe data is talked about in the next section.

 

Faceplates and Scripting

In the Comfort HMI, having a local way to manage the recipes within the HMI made development simpler as a single popup recipe screen could read the ingredients for each drink and display all possible options at once in a matrix.

Drinkbot Comfort HMI Recipe Popup Screen

The Drinkbot is intended to be used at live events in a fast paced setting so for the WinCC update, the drink recipe popup should prioritize readability and information efficiency. The new Unified program uses a standard drink faceplate that only displays ingredients used in a particular drink recipe.

DrinkBot WinCC HMI Recipe Nested Faceplate

The maximum ingredient amount in the original 44 drinks was 3 alcohols and 3 mixers. Custom scripting is used to take the recipe fed into the faceplate and populate the drink name plus the ingredients with their amounts. The script takes in the name and amount of each drink in ounces and automatically fills out each box for how many ingredients exist in each recipe. The user then has controls to make the drink and stop the process midway if needed.

Drinkbot Siemens MTP700 SIMATIC HMI Recipe Faceplate

For taking Drinkbot to events where alcohol is not an option, the machine can also be configured to dispense “Italian sodas” using soda water and flavored syrup. Selecting this mode locks the display page to an Italian soda mode and makes the button faceplates open a nested Italian soda faceplate. All Italian soda recipes only include up to two syrups and eight ounces of soda so the faceplate is simplified and resized.

Drinkbot WinCC HMI Italian Soda MainDrinkbot WinCC HMI Italian Soda Recipe

For information on how to create a faceplate in WinCC unified, refer to the guide here: Creating Faceplates in WinCC Unified

 

Conclusion

The updated HMI program improves the usability and functionality of the COMFORT version. The custom scripted nested faceplates using the new recipe storage system in Unified make it easier to order a drink. To celebrate the completion of the WinCC Unified upgrade the DMC Chicago office had a happy hour party to have the Drinkbot make cocktails and entertain.

Drinkbot Party at DMC Chicago Office

 

Comments

There are currently no comments, be the first to post one.

Post a comment

Name (required)

Email (required)

CAPTCHA image
Enter the code shown above:

Related Blog Posts