Blog

Comfort Panel HMI Faceplate Programming with a Siemens PLC

Comfort Panel HMI Faceplate Programming with a Siemens PLC

Recently I was working on an S7-300 PLC project that required a fairly advanced HMI, so we chose the Comfort Panel to use Faceplates for the many pop-ups and identical controls required. Creating these Faceplates was a great way to increase our productivity in development, and I would like to share one very important lesson that we learned in the process.

The test project I created uses an S7-300 PLC and a Comfort Panel HMI.

Creating a project for adding start and stop buttons to a Comfort Panel HMI using Faceplates

The HMI control that I created is a Start-Stop HMI pushbutton control as seen below. After bringing the two buttons onto the HMI, I created a Faceplate based on them called “StartStopFaceplate”.

Creating a Faceplate for the start and stop button HMI control

My desire was to connect this control to the datatype “udtStartStopPB” that I use in the “dbStartStop” datablock. So, I dragged the datatype over to the Project Library.

Connecting the HMI control with a datatype by dragging the datatype to the Project Library

Zoomed in view of the datatype

I created a StartStop property for the StartStopFaceplate and I wanted to assign the datatype of that property as “udtStartStop”. However, the datatype was not available. Perhaps this is where you found yourself during a project and lost all hope, so I hope you read on.

Creating a StartStop property for the Faceplate

Creating a StartStop property for the Faceplate

When I ran into this, I noticed that there were other datatypes that I had manually created in the Project Library that were showing up as potential types for StartStop. Intrigued, I created an identical (in all but its name udt_StartStop300) datatype to udtStartStop, and then I was in business.

Creating a new datatype to udtStartStop with a different name (udt_StartStop300) helped.

Creating a new datatype to udtStartStop with a different name (udt_StartStop300) helped.

I wasted no time in making the necessary connections for the desired usage of my Start-Stop control.

Adding connections to the Start-Stop control.

Once I released the latest version of my Faceplate it was time to map its Interface to the PLC. Again, I screeched to a halt right before I thought I would finish.

Mapping the Faceplate's Interface to the PLC.

Mapping the Faceplate's Interface to the PLC. Screenshot shows error message "The type or the version of the tag does not match the data type of the interface property."

The solution was to use HMI tags that have the same data type as the Faceplate (udt_StartStop300). It is important to look up the absolute addresses of the data in the datablock and enter them correctly for the HMI tags.

It is important to use HMI tags with the same data type as your Faceplate.

Ensure that you are entering the absolute addresses of the data in the datablock for each HMI tag.

My finished result looks like this when running:

Final Faceplate with Start-Stop function.

Final Faceplate with Start-Stop function.

I would not have run into this if we had been using an S7-1500 or S7-1200 PLC, and I think I would have used an S7-1500 on my project if I could do it again.

Learn more about DMC's Siemens PLC Programming services.

Comments

Sharief Massoud
# Sharief Massoud
Dear Sir,

Thank you very much for this paper.

Actually, you helped a lot to understand this matter as I was trying to find out how this will work.

I almost reached the same result, however your paper supported me.

Thanks & Best Regards

Sharief Massoud

Libya - Tripoli
sharief.massoud@gmail.com
+ 218 91 679 5642

Post a comment

Name (required)

Email (required)

CAPTCHA image
Enter the code shown above: