How to Create an Array in Siemens PLC

Key Takeaways

Key InformationDetails
What is an Array?An array is a structured data type used in PLC programming to store sequences of elements of the same type, facilitating efficient data management and operations.
Relevance to Siemens PLCsArrays are crucial for managing data in complex automation tasks, enabling users to handle multiple data points under a single identifier.
Models DiscussedSiemens S7-1200 and S7-1500 models are focused due to their widespread use and support for advanced array operations.
Programming EnvironmentTIA Portal is used for setup and programming and is known for its integration and support of Siemens PLC operations.


Welcome to ControlNexus, your leading provider of Siemens PLCs, HMIs, and Inverters since 2013. Today, we’re diving into a crucial aspect of programming Siemens PLCs — creating and managing arrays. This guide is tailored to help both beginners and seasoned professionals enhance their automation solutions using structured data types in Siemens TIA Portal.

Understanding Arrays in PLCs

Arrays are fundamental in programming, particularly in the realm of industrial automation. An array allows you to store multiple values in a single structured data type, making it easier to process and manage large amounts of data efficiently. For instance, if you need to monitor temperature readings from multiple sensors, an array can hold all these values under one variable name, simplifying your code and saving time.

Benefits of Using Arrays

  • Organizational Efficiency: Manage large data sets with fewer lines of code.
  • Easy Data Manipulation: Perform operations on multiple data points simultaneously.
  • Enhanced Readability: Clearer logic flow, which is easier to debug and maintain.

Setting Up Your Siemens PLC Environment

Before you begin programming, setting up your environment in the TIA Portal is essential. This integrated software environment by Siemens simplifies project management, programming, and testing of automation systems.

Steps to Set Up TIA Portal:

  1. Install TIA Portal: Download and install the latest version from Siemens’ official website.
  2. Create a New Project: Open TIA Portal and select ‘Create new project.’
  3. Configure PLC Settings: Add your Siemens PLC model to the project. For detailed instructions, visit our Siemens PLC setup guide.

Declaring Arrays in Siemens PLC

The declaration of arrays in a Siemens PLC varies slightly between models. We’ll focus on the popular S7-1200 and S7-1500 models.


  1. Open Main [OB1]: Start by programming in the main organization block, OB1.
  2. Declare the Array: Use the Data Block (DB) and declare your array in the ‘Static’ section.
    • Syntax Example: Data_type Array_name[Index_range];
    • E.g., INT MyArray[10]; // Creates an array of 10 integers


The process is similar to S7-1200 but ensures you’re utilizing the latest features available in the TIA Portal for S7-1500, which supports more complex data types and larger arrays.

For visual aids and further examples, visit our detailed guide on programming Siemens S7-1500 PLCs.

Practical Examples of Array Operations

Now that your array is declared, here are some basic operations you can perform:

Initializing an Array

FOR i := 0 TO 9 DO
  MyArray[i] := 0; // Sets all elements to zero

Writing to and Reading from an Array

// Writing to an array
MyArray[5] := 25;

// Reading from an array
TempVar := MyArray[5];

These examples serve as a foundation for using arrays in Siemens PLCs. Remember, arrays can greatly simplify your code and enhance the efficiency of your automation tasks. For further exploration and expert tips, refer to our comprehensive master guide on Siemens PLC software.

Advanced Techniques in Array Management

As you become more comfortable with basic array operations in Siemens PLCs, you may encounter scenarios that require advanced techniques to optimize your automation projects.

Dynamic Indexing

Dynamic indexing allows you to modify the index of an array in real-time, which is particularly useful in processes where input conditions are constantly changing.

// Example of dynamic indexing
FOR i := 0 TO maxIndexVariable DO
  MyArray[i] := SomeFunction(i);

Multi-Dimensional Arrays

Multi-dimensional arrays are useful for handling complex data structures, such as matrices or tables needed in advanced manufacturing processes.

// Declaration of a 2D array
INT MyMatrix[5,5]; // Creates a 5x5 matrix of integers

// Accessing elements
MyMatrix[2,3] := 50; // Assigns 50 to the element at row 3, column 4

Troubleshooting Common Array Issues in Siemens PLC

Even with careful programming, issues can arise. Here’s how to address some common array-related challenges:

Boundary Errors

One of the most common errors when working with arrays is exceeding the array boundaries, which can lead to program crashes or unexpected behavior.

Solution: Always check that your indices are within the valid range before accessing array elements.

Initialization Mistakes

Improper initialization can lead to ‘garbage’ data, which may cause errors in data processing.

Solution: Ensure all array elements are initialized properly, as demonstrated in the earlier section on initializing an array.

Debugging Tips

Utilize the debugging tools available in the TIA Portal to step through your code and monitor array values in real-time.

Optimizing Array Usage

To ensure your arrays are as efficient as possible, consider the following best practices:

  • Minimize Size: Only allocate as much space as necessary for your arrays to conserve PLC memory.
  • Reuse Data Blocks: Where possible, reuse arrays or structures within your program to optimize memory usage.
  • Regular Updates: Keep your TIA Portal software and your PLC firmware up to date to take advantage of the latest optimizations and features.


Arrays are a powerful tool in the arsenal of a Siemens PLC programmer. By understanding how to effectively create, manage, and utilize arrays, you can significantly enhance the functionality and efficiency of your automation solutions. Remember to visit our comprehensive guide on Siemens PLC programming for more in-depth information and expert tips.

Additional Resources

For further learning and to stay updated with the latest trends and techniques in PLC programming, check out our blog or contact us directly through our contact page. Whether you are a beginner or an advanced user, ControlNexus is here to support your journey in mastering Siemens automation products.

Happy programming and we look forward to helping you achieve your automation goals!


Leave a Reply

Your email address will not be published. Required fields are marked *

5 × one =


Subscribe now for exciting deals and updates.

Don't Miss Out on Exclusive Offers!