Book Image

PLC and HMI Development with Siemens TIA Portal

By : Liam Bee
Book Image

PLC and HMI Development with Siemens TIA Portal

By: Liam Bee

Overview of this book

With automation requirements on the rise, Siemens’ TIA Portal development environment is almost a necessity for any automation engineer. The Totally Integrated Automation (TIA) environment helps seamlessly integrate all things automation, from PLC hardware and software design to HMI development. This book helps you understand the tools available in the TIA toolbox and shows you how to write code effectively. The book begins by introducing you to the TIA environment, covering the layout and tools available. Once you’ve got to grips with the environment, you’ll find out how to create hardware to write programs against, including adding IO modules and assigning memory for input and output. Next, you'll develop logic in all of the languages that TIA Portal offers, such as Ladder, Function Block Diagram, and Structured Text (SCL) (note that Statement List is not covered as a deprecated language), as well as the newest language, Cause and Effect (CEM). You’ll also discover how to store standard code in libraries, creating a version control system that is easy to manage and aids standard design. Finally, following the PLC design chapters, you’ll learn how to develop HMI applications in TIA Portal’s latest unified hardware. By the end of the book, you'll be well equipped to use all of the features that TIA Portal V17 offers.
Table of Contents (21 chapters)
1
Section 1 – The TIA Portal – Project Environment
5
Section 2 – TIA Portal – Languages, Structures, and Configurations
11
Section 3 – TIA Portal – HMI Development
16
Section 4 – TIA Portal – Deployment and Best Practices

Simplifying interfaces with structs/UDTs

Structures (structs/UDTs) can be declared in the following interface scopes:

  • Input
  • Output
  • InOut
  • Temp
  • Static

Structures cannot be declared as either of the following:

  • Constant
  • Return

With this in mind, structures can be used to help simplify interfaces with program blocks. They can also help multiple blocks come together to access different parts of common data.

Passing inputs as a single struct

Passing data in and out of function blocks can help keep the complexity of the program object to a minimum, as shown here:

Figure 3.12 – Example of grouping inputs into a struct data type

Figure 3.12 demonstrates how using a struct could minimize the size of the interface used with the Structure_Pass_Example_FB function block. By accessing the data block that is holding the instance data for the function block, the Input interface data can be accessed and written to...