Basics of Programming SIMATIC S7-1200 Controllers in SCL Language

In the world of industrial automation, Siemens SIMATIC S7-1200 controllers are widely used for their reliability and flexibility in controlling various processes. These controllers are programmed using several languages, one of which is the Structured Control Language (SCL). SCL is a high-level programming language that allows engineers and programmers to create complex control logic for S7-1200 controllers. In this article, we will explore the basics of programming SIMATIC S7-1200 controllers in SCL language.

 Understanding SCL Language

SCL, also known as Structured Text (ST), is a textual programming language that follows the IEC 61131-3 standard. It is a powerful and versatile language that is similar to traditional programming languages like C or Pascal. SCL is particularly well-suited for implementing complex control algorithms and mathematical functions.

Setting Up Your Development Environment

Before you start programming in SCL, you need the appropriate development environment. Siemens provides the TIA (Totally Integrated Automation) Portal, which is a comprehensive software package for programming and configuring their PLCs. Make sure you have the TIA Portal installed on your computer, and you have connected to your S7-1200 controller via Ethernet or a suitable communication interface.

Creating a New SCL Project

  1. Launch the TIA Portal and create a new project for your S7-1200 controller.
  2. In the project tree, right-click on "PLC" and choose "Add New Device."
  3. Select your S7-1200 controller from the device catalog and add it to your project.
  4. Create a new SCL program by right-clicking on the "S7-1200" folder, choosing "New," and selecting "SCL Program."

Writing SCL Code

Now that you have created a new SCL program, you can start writing your code. SCL uses a structured text format, which consists of lines of code that follow a specific syntax. Here's a simple example of an SCL program that turns on a motor when a sensor detects a product:

PROGRAM MainProgram


    SensorInput : BOOL := FALSE;

    MotorOutput : BOOL := FALSE;



IF SensorInput THEN

    MotorOutput := TRUE;


    MotorOutput := FALSE;


In this example:

  • We declare two variables, SensorInput and MotorOutput, both of type BOOL (Boolean).
  • We use an IF statement to check the state of the SensorInput variable.
  • If the sensor input is TRUE, the MotorOutput is set to TRUE, turning on the motor; otherwise, it is set to FALSE.

This is a simple example, but SCL allows you to create much more complex control logic using loops, functions, and data structures.

Compiling and Downloading the Code

Once you've written your SCL code, you need to compile it and download it to the S7-1200 controller. To do this, follow these steps:

  1. Right-click on your SCL program in the project tree and choose "Compile."
  2. If there are no errors, right-click on your S7-1200 controller and choose "Download."
  3. Follow the on-screen instructions to download your program to the controller.

Monitoring and Debugging

After downloading your program, you can monitor and debug it using the TIA Portal. You can view the status of variables, trace the program execution, and diagnose any issues that may arise during operation.

Download Now  


Programming SIMATIC S7-1200 controllers in SCL language is a powerful way to create sophisticated control logic for industrial processes. It provides the flexibility to implement complex algorithms and control systems. By understanding the basics of SCL, setting up your development environment, and writing structured code, you can effectively program S7-1200 controllers and contribute to the automation of industrial processes.

Top of Form


Post a Comment

Previous Post Next Post