K-WANG

+086-15305925923
Service expert in industrial control field!
NameDescriptionContent
Adequate Inventory, Timely Service
pursuit of excellence 
Ship control system
Equipment control system
Power monitoring system
Current position:
新闻动态
newS
   
Brand

SIEMIENS S7-1200/1500 Controller TIA Portal Programming Guide

From: | Author:Wang | Time :2025-11-24 | 572 visit: | 🔊 Click to read aloud ❚❚ ▶ | Share:



SIEMIENS S7-1200/1500 Controller TIA Portal Programming Guide

Overview

The Siemens S7-1200/1500 Controller TIA Portal Programming Guide (V1.6 version) focuses on optimizing programming and covers the core innovations of the S7-1200/1500, such as optimization blocks, new data types VNet, direct machine code compilation, general programming specifications (block structure, symbol addressing, memory management), hardware independent programming methods, STEP 7 Safety programming points, and visual automatic generation solutions. It explicitly recommends using optimization blocks instead of non optimization blocks, symbol addressing instead of absolute addressing, and global data blocks instead of bit memory. At the same time, it provides a large number of performance optimization techniques (such as avoiding deep call hierarchy and using loop instructions reasonably), aiming to help users achieve standardized, efficient, and reusable automation program development.


S7-1200/1500 Core Innovation

1. Programming languages and compilation optimization

Language support differences:

Programming language S7-1200 S7-1500

Ladder diagram (LAD) ✅   ✅

Function Block Diagram (FBD) ✅   ✅

Structured Control Language (SCL) ✅   ✅

Statement Table (STL) ❌   ✅

Sequential Function Graph ❌   ✅

Compilation method: S7-1200/1500 generates machine code directly for all languages, without the intermediate step of "LAD/FBD → STL → machine code" for S7-300/400, ensuring consistent performance for all languages.

2. Optimize block technology (core innovation)

Optimized block vs non optimized block:

Feature optimization block (recommended) Non optimization block (only compatible)

Data storage is automatically sorted by data type, stored in declared order without gaps, and may have gaps

The addressing method can be either symbolic addressing or absolute addressing

Retention settings: A single label can be set to maintain the entire block or not to maintain it

Download feature supports uninitialized download (RUN mode update) not supported

Fast access speed (processor optimized storage) slow

Setting method: By default, "Optimize Block Access" is enabled for new blocks, which can be batch modified in the "Program Block" list; The optimization properties of instance DB inherit from the associated FB.

3. New data types

Core new type:

Data Type Applicable Controller Purpose Key Features

VARIANT S7-1500; S7-1200 (FW4.1+) dynamic pointer with type detection, replacing the ANY pointer, supporting symbol access

Date_Time_Long (DTL) both support timestamp storage containing year/month/day/nanosecond, with symbol accessible sub fields (such as DTL. Hour)

Both LReal and LReal support high-precision floating-point numbers of 64 bits and 15 decimal places, making them suitable for precise calculations

LTime only has a long-term storage range of ± 106751 days for S7-1500 and supports nanosecond level accuracy

WSRING only supports S7-1500 Unicode strings for multiple languages (such as Chinese and Latin), with a maximum of 16382 characters

4. Key instruction upgrade

MOVE series instructions:

Advantages of Instruction Usage

MOVE supports single value copying and complete copying of structures/arrays

MOVE_SLK array partial copy specifies the starting index and quantity, efficiently processing the array

MOVE_SLK_VARIANT Dynamic Type Copy Run Time Detect Data Types, Supports PLC Data Types/Arrays

The serialize/deserialize structure and byte array conversion are used for communication frame packaging/unpacking, supporting VNet input

Other instructions:

TypeOf(): detects the data type pointed to by VNet on the label (SCL only);

RUNTIME: measures program/block running time, supports performance optimization;

Multi assignment (V14+): such as # a:=# b:=# c:=0; Simplify initialization.

image.png

Universal Programming Specification

1. Program block structure

Core block type:

Key features of block type functionality

Organizational block (OB) operating system call, management program execution including loop OB (OB1), interrupt OB (OB40 hardware interrupt), etc; S7-1200 up to 100 cycles/start OB, S7-1500 supports clock interrupt OB

Function (FC) has no state block and no independent storage temporary label. Only the current call is valid, and data needs to be passed through parameters; Support direct participation of return values in SCL formulas

Function block (FB) has a status block that requires the instance DB static label to maintain its value; The instance DB structure is defined by FB and cannot be modified separately

Data Block (DB) stores data in a global DB for all blocks to access; Instance DB is only associated with FB usage

Block Reuse Techniques:

Multiple instances: FB calls other FBs to store data in their own instance DB, reducing the number of instance DBs;

Typeization block: Store FB/FC/PLC data types in the global library, supporting cross project reuse and batch updates.

2. Memory management

Memory type and access speed (from fast to slow):

Optimize the temporary labels, FC/FB parameters, and non persistent static labels of the block;

Optimize the retention labels of blocks and optimize the global database;

Non optimized blocks;

Array access for runtime calculation index (such as # Array [# i]);

Indirect memory access (such as pointer operations);

Data replication between optimized and non optimized blocks.

Key recommendations:

Replace bit memory with global DB (M-zone): The size of M-zone varies depending on the controller, while global DB is more flexible and supports optimized storage;

Use temporary tag caching for frequently accessed I/O tags to reduce the number of I/O accesses;

Retention setting: Only the necessary labels need to be set to hold (such as process parameters) to reduce the cost of saving power-off data.

3. Addressing method

Symbol addressing (mandatory recommendation):

Advantages: The tag name is descriptive (such as # Motor1_Run) and automatically updates when the address changes, reducing errors;

Operation: Simply enter the symbol name in the instruction input box, right-click on "Define Label" to quickly create it.

Indirect access scheme:

Indirect array access: Replace pointers with # Array [# Index], such as # Temp:=# MotorSpeed [# i];;

Slice access: Directly access the bits/bytes of Byte/Word/DWord, such as # WordVar.% X0 (bits), # DWordVar.% W1 (words).

4. Performance optimization techniques

Disable the ENO evaluation (LAD/FBD) of blocks to reduce runtime detection;

Avoid deep level calling (≤ 8 layers), otherwise TIA Portal will compile alarms and increase protection code overhead;

FOR loop: Do not manipulate the loop counter (compiler optimized times), use EXIT to interrupt the loop;

Reduce unnecessary IF instructions, such as # Motor:=# On1 AND # On2; Replace IF # On1 AND # On2 THEN # Motor:=TRUE;  ELSE #Motor:=FALSE;  END_IF;。


Hardware independent programming

1. Data type compatibility

Only use EN 61131-3 standard data types (such as INT/DINT/REAL/BOOL), avoiding S7-300/400 specific types (such as S5TIME);

The timer/counter of S7-1200/1500 uses IEC standard blocks (such as TON/CUTU) and is integrated through multiple instances to avoid absolute addresses (such as T37).

2. Clock signal replacement

Do not use hardware clock memory (such as M0.5), use programming clock generation block instead:

Example: SCL writes FB, sets the frequency through the # Frequency parameter, # Q outputs pulses, and # Countdown outputs the remaining time;

Advantage: The clock frequency can be flexibly adjusted without relying on hardware configuration.

STEP 7 Safety Programming

1. Core components

F operation group: the execution unit of safety programs, including 1 fault safety OB and 1 main safety block, with a maximum of 2 created;

F-signature: a unique identifier for each F-component (F-I/O, F-block) used to detect configuration/programming changes;

Security Management Editor: Manage F run groups, F signatures, access permissions, and set security program passwords.

2. Key specifications

Data exchange: Standard programs and security programs only interact through two standard DBs, avoiding direct access to the security DB;

Performance optimization:

Avoid using TP/TON/TOF instructions (add protection code);

Disable the JMP/Label structure (resulting in additional system protection blocks);

Loop call hierarchy ≤ 8 layers;

Test restriction: The security program can only force testing when the security mode is disabled, with a maximum of 5 F-I/O forced at a time.


 Visual automatic generation (SiVArc)

1. Basic requirements

Tools: TIA Portal V14++SiVArc Options Package;

Prerequisite: The program is modularized (such as motor control FB, conveyor belt FB), and the visualization library includes standard image templates.

2. Control mode

Network comment: Add a tag (such as "SiVArc: Generate=True") when calling the network on FB. The SiVArc rule triggers generation through Contains (Block. NetworkComment, "Generate=True");

SiVArc variable: Define a variable in the "Plugin" label of the block (such as Location="Bottling_Test"), and the rule filters the generated range based on the variable value.


  • Siemens 6SL3244-0SA01-1AA0 - SINAMICS G120 Control Unit
  • DANFOSS 175Z2688 - COATEDE CONTROLUNIT VLT5000
  • SIEMENS 6FM1721-3AA20 - Positioning Module
  • REXORTH VTS0605 PVAR S21 - Drive Module
  • BECKHOFF 2915-0000 - Control Module
  • COOPER EATON CGLine 400 40071347901 - CEAG CG Controller
  • SIEMENS 3UF5031-3AN00-1 - SIMOCODE DP Basic Unit
  • SIGMATEK DNC305 05-011-305 - Drive Controller
  • Multivac MV1 10249768 - Control Module
  • SCHNEIDER ELECTRIC MES114 59646 & 59645 - Circuit Breaker Accessory
  • CAMILLE BAUER CAPAX 44-580-0012 - Transmitter
  • HENGSTLER VT360P LS1/TOK - Encoder
  • BURKERT 8792 - 24V DC IP65 / IP67 Positioner
  • SENSOPART V10-OB-A1-W6 - Vision Sensor
  • ALLEN-BRADLEY 1762-L40BXB SER.C REV.J - MicroLogix 1200 Controller
  • HITACHI CPU22-02HC 33025801-2 - CPU Module
  • HITACHI AGH-0 33034810-2 - Control Board
  • PHILIPS AIH110 VER 1.0 - Control Module
  • BAUMULLER DO8000 - Drive Controller
  • B&R PS477 3PS477.9 Rev.C0 - Power Supply
  • ABB ALFA LAVAL 200-CISB - Communication Interface 2 x SatBus
  • Moeller MI4-570-TA1 - HMI Operator Panel
  • ABB ACH550-01-06A9-4+B055 - Variable Frequency Drive
  • ABB TPU2 3HNE00313-1 REV 12 - Teach Pendant Unit
  • Schneider Electric BRS368H130ABA - Stepper Motor
  • Foxboro FCM100E P0972ZA - I/A Series Communication Module
  • Siemens 6ES7 450-1AP00-0AE0 6ES7450-1AP00-0AE0 - Simatic S7 Version:04 Counter Module
  • Schneider Electric ATV320U07N4W - Altivar Machine Drive
  • Priva TouchPoint Flush V06:02 5060002 - Control Panel
  • Lenze ESMD402L4TXA - 4kW SMD Inverter Drive
  • Lenze ESMD402L4TXA - 4kW SMD Inverter Drive
  • Schneider Electric PM210 PM210MG - Powerlogic Power Meter
  • ASCOM U982-DB/1C U982 - Power Supply / Communication Module
  • DYADIC SYSTEMS SCN5-010-050-S03-NA - Servo Cylinder
  • Reliance Electric GMI-S04 - AC/AC CONVERTER 380/400V 50/60Hz 3.9/5.2A
  • Pro-Face GLC150-BG41-XY32KF-24V 3080060 PFXGLC150BDBP - Touch Screen HMI
  • ROFIN RSL TERMINAL V2 0185.01/03 - TERMINAL
  • HONEYWELL R7241E1077 - Burner Control / Amplifier
  • SEW MM22C-503-00 8241201 - 2.2kW Movimot Drive
  • Brand Digital III 50mL - Burette
  • Danfoss 195N0039 VLT2811PS2B20STR1DBF00A00C0 - 2.4kVA VLT Drive
  • SONY LG10-2 EK1 - Digital Gauge Indicator
  • EMERSON SKD3400750 - 7.5kW AC Drive
  • SIEMENS 6AV6 542-0AG10-0AX0 - MULTIPANEL HMI
  • TELEMECANIQUE ATV21HU55N4 - ALTIVAR21 5.5KW Variable Speed Drive
  • MITSUBISHI A985GOT-TBA-EU - GOT900 Touch Screen HMI
  • SCHNEIDER LXM32AD30N4 - Lexium 32 Servo Drive
  • SICK PSR01-1501 M20Z-02550A122 - Safety Laser Scanner
  • GECMA CHALLENGER 15-2-FMO - LITE TOUCH Monitor
  • Uniop EK02 6ZA982 - HMI Operator Panel
  • TELEMECANIQUE ATV18U54M2 - SQUARE D ALTIVAR 18 3kW Drive
  • Schneider Electric ATV312HU75S6 - 7.5kW Altivar 312 Drive
  • Siemens 6GK7243-5DX30-0XE0 6GK7 243-5DX30-0XE0 - Communications Processor
  • Schneider Electric LV432455 VIGI630 - 3POLE Earth Leakage Module
  • Rexroth PSI 6100.750 L1 R911170694-107 - frequency inverter / inverter
  • SWEDISH MICROWAVE AB Ku-Band BDC 138010-45-D0 - Block Downconverter
  • METTLER TOLEDO IND429 IND429-BB30 - Weighing Terminal
  • Siemens 6SL3210-5HE10-4UF0 - Sinamics V90 Servo Drive
  • B&R X20CP0482 Rev.D0 - X20 CPU Module
  • Mitsubishi FR-E720S-110SC-EC FRE720S110SCEC - 31A~11A Drive With Filter
  • ABB ACH580-01-026A-4 - Variable Frequency Drive
  • Siemens 6SL3210-1KE13-2AP1 - SINAMIC G120CDP 1.1kw Drive
  • Schneider Electric TM250D 4P3D LV431440 - Compact NSX250 Circuit Breaker
  • RELIANCE ELECTRIC GD.722.81.00-A 802288-74C - MAXITRON Servo Control Card
  • Uniop EK02 6ZA982 - HMI Operator Panel
  • Siemens 6SE9113-7JA13 - MICRO MASTER Junior 1.5kW Inverter
  • Mitsubishi FR-E720S-110SC-EC FRE720S110SCEC - 31A~11A Drive with Filter
  • Johnson Controls FEC2621 MS-FEC2621-0 - Field Equipment Controller
  • BENDER IR475LYT-429 - A-ISOMETER Insulation Monitor
  • Berger lahr D550 RS15 22.550-00-30b - Stepper Drive
  • Rexroth PSI 6100.750 L1 R911170694-107 - Frequency Inverter / INVERTER
  • KOYO 205 D2-06B-1 D2-240 H2-ECOM D2-08ND3 F2-08TRS - DIRECT LOGIC PLC WITH MODULE
  • TELEMECANIQUE ATV18U54M2 ATV18U54M - SQUARE D ALTIVAR 18 3kW Drive
  • Lenze 471-E1.D - Board / Controller Speed
  • Mitsubishi FR-A740-00038-EC - Frequency Inverter
  • Johnson Controls IOM3723 MS-IOM3723-0 - Input/Output Module
  • CURTIS 1238-5602 - AC Motor Controller
  • FOXBORO P0912XX REV.A - 220VAC Power Supply
  • Siemens 6SE9113-7JA13 - MICRO MASTER Junior 1.5kW Inverter
  • Mitsubishi FR-A740-00038-EC - Frequency Inverter
  • KOYO 205 D2-06B-1 D2-240 H2-ECOM D2-08ND3 F2-08TRS - DIRECT LOGIC PLC WITH MODULE
  • AUTZ M406D-00101 - Servo Motor
  • Lauer PCS095 PG095.508.BB - Operator Panel
  • ABB SCOP45SB/DX232 - SattCon OP45 SB Operator Panel
  • SEW Eurodrive MCH42A0030-5A3-4-00 MDX60A0030-5A3-4-00 - 4.8kVA Movidrive Inverter
  • BENDER IR475LYT-429 - A-ISOMETER Insulation Monitor
  • Johnson Controls FEC2621 MS-FEC2621-0 - Field Equipment Controller
  • Johnson Controls IOM3723 MS-IOM3723-0 - Input/Output Module
  • Berger lahr D550 RS15 22550-00-30b - Stepper Drive
  • SIEMENS 6FX1120-4BD03 6FX11204BD03 5702049304.00 E-Stand: A - Sinumerik Module
  • Allen-Bradley 1771-NIV B - HIGH RESOLUTION ISOLATED ANALOG SERIES Module
  • HONEYWELL XFC2D06001 - Flow Computer / Controller
  • Contraves Varidyn Compact ADB 380.90M - DC Drive 380v - 400v 90A 50kVA
  • Red Lion Control GEM52000 - Control Module
  • Siemens 6ES5 955-3NC13 - modular power supply TYPE:DIN41752
  • Danfoss ICV50 G20Mn50T / 027H5200 - Valve zaw
  • Eberle PLS508 P-814 / 2X EA-88 / A-812 / MT-81 / S-11 - PLC with Modules
  • Siemens 6ES7 314-6CF01-0AB0 6ES7314-6CF01-0AB0 - SIMATIC CPU314C-2 DP
  • EBERLE EM-525-87 EM52487 - ICE DETECTOR BASE UNIT
  • Telemecanique / Schneider TSXRKZ02 - TSX Micro automation plus 7module
  • B&R 5DLSDL.1001-00 - Display Link Receiver
  • Siemens 6FX1120-4BD03 6FX11204BD03 5702049304.00 E-Stand: A - Sinumerik Module
  • ALLEN-BRADLEY 1771-NIV A - HIGH RESOLUTION ISOLATED ANALOG SERIES Module
  • ALLEN-BRADLEY 1771-NIV B - HIGH RESOLUTION ISOLATED ANALOG SERIES Module
  • Contraves Varidyn Compact ADB 380.90M - DC Drive 380V - 400V 90A 50kVA
  • Contraves Varidyn Compact ADB 380.90M - DC Drive 380V - 400V 90A 50kVA
  • Ropex RES-202 - Resistron Temperature Controller
  • HONEYWELL XFC2D06001 - Flow Computer / Controller
  • Telemechanics ATV452U40 - DIMMER ALTIVAR5 SERIES 452 4kW 5HP Frequency Inverter
  • VEGA VEGAPLUS61 PS61.XXAGPHAMAX - Radar Level Sensor
  • BRANSON ULTRASONIC TRANSDUCER - Ultrasonic Transducer
  • Danfoss ICV50 G20Mn50T / 027H5200 - Valve Valvola Zaw
  • Schneider Electric 2001549/1 GALAXY PW 5102851200 NT07 - panler card
  • REXROTH VT3006-36 A - Proportional Valve Amplifier
  • Allen-Bradley 1746-OBP16 SERIES:C - SLC 500 OUTPUT MODULE
  • SCHNEIDER LXM32MD12N4 - Lexium 32 Servo Drive
  • Schneider Electric ATV630U22N4 - 2.2KW Altivar Process Drive
  • Allen-Bradley 1746-OBP16 SERIES:C - SLC 500 OUTPUT MODULE
  • Vanderlande 0E2550-00002... - Bagtrax Integrated Power Module 400V 32A
  • B&R X20CP0410 Rev.D0 - X20 CPU Module
  • VANDERLANDE 0E2550-00002 02EDD2B0100 - BAGTRAX Integrated Power Module 400V 32A
  • Rexroth R061205010 - Linear Bushing / Bearing
  • INDRAMAT TVM1.2-50-220/300-W0-220/380 - Power Supply Module
  • Vanderlande 0E2550-00002... - Bagtrax Integrated Power Module 400V 32A
  • HOMAG KEB 07F5S1A-YA00 09E5T60-1001 - Combivert Inverter WITH KEYPAID AND FILTER
  • Siemens 3RW3047-1BB14 - Soft Starter
  • Sumitomo AF-500 AF502-A40 - 0.4kW Transistor Inverter
  • Sumitomo AF-500 AF502-A40 - 0.4kW Transistor Inverter