S7-SCL is particularly suitable for programming complex algorithms and arithmetic functions or for data processing tasks.. S7-SCL combines language elements known from high-level language programming, such as serial loops, alternative branching and branch distributors with language extensions typical for PLCs, such as addressing of inputs and outputs or start and querying of timers and counters.
S7-SCL corresponds to the textual high-level language ST (Structured Text) defined in the standard IEC 61131-3 and fulfills base level and reusability level requirements acc. to PLCopen.
Additional benefits over LAD, FBD, and STL:
- Simpler, faster, and less error-prone program development thanks to the use of powerful language constructs such as IF…THEN…ELSE.
- Easier to read, clearer structuring.
- Simpler program test using a high-level language and a debugger.

Design and functions
S7-SCL programs are programmed as ASCII sources. An exchange with other ASCII sources or targets is therefore possible. The S7-SCL editor offers various templates that only need to be filled in and inserted:
- Templates for blocks (e.g. function blocks, data blocks) and their calls
- Templates for block comments, block parameters and constants
- Templates for control structures (IF, CASE, FOR, WHILE, REPEAT) that contain the exact syntax.
S7-SCL offers the following functionalities:
- Language elements from programming in high-level languages, e.g. serial loops, alternative branches and branch distributors
- S7-SCL-blocks can be used in other STEP 7 languages
- PLC-typical language extensions, e.g. addressing of inputs and outputs, or start and scanning of timers and counters.
