Cookies are important for this site to function properly, to guarantee your safety, and to provide you with the best experience. By clicking OK, you accept all cookies. For more information, please access our Privacy Policy.
Table of Contents
Tutorials / 
WinCC Unified Faceplate Tutorial: Build a Reusable Motor Faceplate in TIA Portal Using UDTs and Dynamic SVGs
Intermediate

WinCC Unified Faceplate Tutorial: Build a Reusable Motor Faceplate in TIA Portal Using UDTs and Dynamic SVGs

Siemens
HMI Development
Profinet
SCADA

Introduction

If you've spent any time in TIA Portal, you know how tedious it is to manually tag dozens of identical motors or valves across multiple screens. It's a waste of time and a massive source of errors. The solution is moving away from static objects and using WinCC Unified Faceplates. In this tutorial, you are going to learn how to build a modular motor component that links directly to your PLC UDTs. You will walk through the entire process, from setting up dynamic SVGs to automating the tag connections. The goal here is to help you build a library-based project that is actually manageable, so when you need to make a change, you do it once in the library instead of fifty times on your screens.

Defining Graphic Type

To begin this tutorial on WinCC Unified, start by setting up the fundamental hardware configuration within the TIA Portal environment. After you have successfully initialized a new project, the first step is to establish the hardware framework. You must add the "CPU 1513-1 PN" to serve as your Programmable Logic Controller (PLC) and select the "MTP1200 Unified Comfort" panel as your Human Machine Interface (HMI) device.

Figure 1.1: Building WinCC Unified Faceplate - Hardware Configuration Overview
Figure 1.1: Building WinCC Unified Faceplate - Hardware Configuration Overview

Once the hardware is in place, focus on defining a new Graphic Type within the Project Library. Navigate to the "Libraries" tab located on the right-hand side of the software interface. Expand the "Types" folder found under the "Project Library" section, and double-click the option labeled "Add New Type" to initiate the creation process. A configuration window will appear, prompting you for details. Here, you should select the "Graphic/Dynamic SVG" tab to specify the nature of the type. Name this new type "Graphic Motor" to keep your project organized, and confirm by pressing "OK".

Figure 1.2: Building WinCC Unified Faceplate - Adding a New Graphic Type
Figure 1.2: Building WinCC Unified Faceplate - Adding a New Graphic Type

The next phase involves importing the actual visual assets. You will need to drag and drop a graphic from the "WinCC Graphics Folder" directly into your newly created "Type". Specifically, locate the "Motors" category under the "Automation [SVG]" folder. Choose your preferred "Motor" icon from this list and drag it into the "Default Graphic" section of the work area.

Figure 1.3: Building WinCC Unified Faceplate - Importing Graphics from Library
Figure 1.3: Building WinCC Unified Faceplate - Importing Graphics from Library

You must release the version to finalize this graphic type for use in other components, such as faceplates. To do this, click the yellow exclamation mark icon indicating a work-in-progress and select "Release the Version" from the context menu. When the confirmation window opens, hit "OK" to complete the versioning process.

Figure 1.4: Building WinCC Unified Faceplate - Releasing the Graphic Version
Figure 1.4: Building WinCC Unified Faceplate - Releasing the Graphic Version

Defining UDT

Next, continue by defining the User Data Types (UDT), a critical step for structuring data within the PLC. Within the "Project Tree" on the left, navigate to the PLC section and expand the "PLC Data Types" folder. Double-click on "Add New Data Type" and rename this new entry to "UDT_Motor". Inside this UDT, you need to define two specific variables to monitor the motor's state. Create a variable named "Status" with the "Boolean" data type, and a second variable named "Motor" with the "Integer" data type.

Figure 2.1: Building WinCC Unified Faceplate - Creating a New PLC Data Type (UDT)
Figure 2.1: Building WinCC Unified Faceplate - Creating a New PLC Data Type (UDT)

With the data structure defined, the next logical step is to implement this UDT within a Function Block (FB). Go to the "Program Blocks" folder in the "Project Tree" and double-click "Add New Block". In the window that appears, select the "Function Block" tab, name it "FB_Motor", and ensure you choose "Ladder" as the programming language before pressing "OK".

Figure 2.2: Building WinCC Unified Faceplate - Function Block Initialization
Figure 2.2: Building WinCC Unified Faceplate - Function Block Initialization

Inside the variable declaration table of this new Function Block, you must define an input variable. Under the "Input" section, create a variable named "Input" and assign it the data type "UDT_Motor" that you created earlier.

Figure 2.3: Building WinCC Unified Faceplate - Defining the Function Block Input
Figure 2.3: Building WinCC Unified Faceplate - Defining the Function Block Input

You must now call this Function Block within the main execution cycle. Open the "Main [OB1]" block and drag your newly created "FB_Motor" into "Network 1". When the "Call Options" dialog appears, allowing you to create an instance Data Block, rename this instance to "DB_Motor_1" and click "OK".

Figure 2.4: Building WinCC Unified Faceplate - FB Call & DB Assignment
Figure 2.4: Building WinCC Unified Faceplate - FB Call & DB Assignment

Repeat this process for a second motor by dragging the same "FB" into Network 2. When the window appears for this second instance, rename it "DB_Motor_2" and press "OK".

Figure 2.5: Building WinCC Unified Faceplate - Network 2 Implementation
Figure 2.5: Building WinCC Unified Faceplate - Network 2 Implementation

To make these PLC data blocks accessible to the HMI, move them to the HMI tag table, which automatically establishes the connection between the HMI and the PLC. In the "HMI" section of the "Project Tree", expand "HMI Tags" and double-click "Show All Tags".

Figure 2.6: Building WinCC Unified Faceplate - HMI Tag Management Interface
Figure 2.6: Building WinCC Unified Faceplate - HMI Tag Management Interface

From there, drag "DB1" and "DB2" from the PLC list and drop them into the "HMI Tags" table.

Figure 2.7: Building WinCC Unified Faceplate - Linking PLC Data Blocks to the HMI
Figure 2.7: Building WinCC Unified Faceplate - Linking PLC Data Blocks to the HMI

Simple Faceplate Setup

The tutorial now advances to the creation of a basic faceplate. First, you must enable the UDT for use within the library by dragging "UDT_Motor" from the "PLC Data Types" folder and dropping it into the "Types" folder of the "Project Library".

Figure 3.1: Building WinCC Unified Faceplate - Adding the UDT to the Project Library
Figure 3.1: Building WinCC Unified Faceplate - Adding the UDT to the Project Library

With the UDT available in the library, you can create the faceplate type. Double-click "Add New Type" in the "Types" folder, and in the pop-up window, select the "Faceplate" tab. Name this "Faceplate_Motor_Basic" and ensure you select "Unified Panels/WinCC Unified PC" as the target device technology before clicking "OK".

Figure 3.2: Building WinCC Unified Faceplate - Adding a New Faceplate to the Library
Figure 3.2: Building WinCC Unified Faceplate - Adding a New Faceplate to the Library

Faceplate Tag Binding

Inside the "Faceplate_Motor_Basic" workspace, you need to bind tags. Open the "Tag Interface" tab to create a connection point for your data. Define a new tag named "UDT_Motor", set its data type to "PLCUDT", and ensure you select the correct version under "User Data Type Structure".

Figure 4.1: Building WinCC Unified Faceplate - Configuring the Faceplate Tag Interface
Figure 4.1: Building WinCC Unified Faceplate - Configuring the Faceplate Tag Interface

Now, switch to the "Visualization" tab to design the graphical interface. Open the "Libraries" pane and drag the motor graphic you created earlier into the faceplate workspace.

Figure 4.2: Building WinCC Unified Faceplate - Adding Library Graphics to the Faceplate
Figure 4.2: Building WinCC Unified Faceplate - Adding Library Graphics to the Faceplate

"Toolbox" on the right, drag a circle object and overlay it on the motor graphic. In the "Inspector" window, locate the "Background - Color" property and dynamize it by linking it to the "Status" tag. Configure the range such that a value of 0 displays red and a value of 1 displays green.

Figure 4.3: Building WinCC Unified Faceplate - Linking Graphic Properties to PLC Data
Figure 4.3: Building WinCC Unified Faceplate - Linking Graphic Properties to PLC Data

Apply this same dynamization logic to the "Border - Color" of the circle as well.

Figure 4.4: Building WinCC Unified Faceplate - Dynamizing the Border Color Property
Figure 4.4: Building WinCC Unified Faceplate - Dynamizing the Border Color Property

Once the graphics are set, resize the faceplate by clicking the background and adjusting the height and width to perfectly center the motor graphic.

Figure 4.5: Building WinCC Unified Faceplate - Adjusting Workspace Dimensions
Figure 4.5: Building WinCC Unified Faceplate - Adjusting Workspace Dimensions

To complete the faceplate functionality, you will add an I/O field linked to the status. Drag a "Text" object below the motor and label it "Status".

Figure 4.6: Building WinCC Unified Faceplate - Text Object Placement
Figure 4.6: Building WinCC Unified Faceplate - Text Object Placement

Then, find the "I/O Field" in the "Elements" toolbox and place it beneath the text. In the "Inspector" window, connect the "Process Value" of this I/O field to the "Status" tag.

Figure 4.7: Building WinCC Unified Faceplate - Adding the Status IO Field
Figure 4.7: Building WinCC Unified Faceplate - Adding the Status IO Field

Finally, release this version of the faceplate by clicking the yellow exclamation mark and selecting "Release the Version", then clicking "OK".

Figure 4.8: Building WinCC Unified Faceplate - Releasing the Faceplate Version
Figure 4.8: Building WinCC Unified Faceplate - Releasing the Faceplate Version

For the implementation phase, navigate to the HMI "Screens" folder in the "Project Tree", create a new screen, and name it "Faceplate". From the "Libraries" tab, drag two instances of "Faceplate_Motor_Basic" onto this screen.

Figure 4.9: Building WinCC Unified Faceplate - Dragging Faceplate Instances to the Canvas
Figure 4.9: Building WinCC Unified Faceplate - Dragging Faceplate Instances to the Canvas

Use the "Toolbox" to add two text labels above the graphics, naming them "Motor 1" and "Motor 2" respectively.

Figure 4.10: Building WinCC Unified Faceplate - Labeling the Motor Instances
Figure 4.10: Building WinCC Unified Faceplate - Labeling the Motor Instances

Select the first faceplate instance and, in the "Inspector" window, bind its interface to "DB_Motor_1_Input".

Figure 4.11: Building WinCC Unified Faceplate - Assigning the Data Block to the Motor 1 Instance
Figure 4.11: Building WinCC Unified Faceplate - Assigning the Data Block to the Motor 1 Instance

Do the same for the second instance, binding it to "DB_Motor_2_Input".

Figure 4.12: Building WinCC Unified Faceplate - Assigning the Data Block to the Motor 2 Instance
Figure 4.12: Building WinCC Unified Faceplate - Assigning the Data Block to the Motor 2 Instance

To test the system, highlight the PLC folder and click the "Download" icon in the toolbar. In the "Load Preview", press "Load".

Figure 4.13: Building WinCC Unified Faceplate - Downloading the Program to the PLC
Figure 4.13: Building WinCC Unified Faceplate - Downloading the Program to the PLCType image caption here (optional)

In the subsequent "Load Results" window, select "Start Module" before clicking "Finish".

Figure 4.14: Building WinCC Unified Faceplate - Load Results Window Configuration
Figure 4.14: Building WinCC Unified Faceplate - Load Results Window Configuration

Finally, select the HMI folder and click the "Start Simulation" icon.

Figure 4.15: Building WinCC Unified Faceplate - Launching the HMI Simulation
Figure 4.15: Building WinCC Unified Faceplate - Launching the HMI Simulation

It will launch your default web browser, displaying the active HMI screen with your fully functional motor faceplates.

Figure 4.16: Building WinCC Unified Faceplate - HMI Runtime Dashboard View
Figure 4.16: Building WinCC Unified Faceplate - HMI Runtime Dashboard View

Conclusion

In conclusion, you learned how to transform a simple static graphic into a powerful, reusable engineering asset. You navigated through the entire development stack, starting from the raw hardware configuration in TIA Portal to defining custom SVG types in the Project Library. You didn't just draw a motor; you structured its data using PLC UDTs and Function Blocks, ensuring a seamless, automatic handshake between the controller and the HMI. By binding these UDTs directly to your faceplate interface, you successfully created a "drag-and-drop" solution that eliminates repetitive tagging. You can now take this exact workflow and apply it to valves, PID controllers, or any other plant asset, proving through your browser simulation that your design is both functional and future-proof.