Welcome to the Industrial Automation website!

NameDescriptionContent
HONG  KANG
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

SIEMIENS S7-1200/1500 Controller TIA Portal Programming Guide

来源: | 作者:FAN | 发布时间 :2025-11-24 | 332 次浏览: | 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.

image.png

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.

  • Bently 3500/15 125840-01 Power Supply Module
  • Bently 24765-02-01 Signal Conditioner Module
  • Bently 330130-085-00-00 Extension Cable
  • Bently 3500/22M 138607-01 Vibration Monitor Module
  • Bently 146031-02 Proximity Probe Sensor
  • BENTLY 330104-00-05-10-02-CN Proximity Probe
  • BENTLY 125768-01 3500 I/O Module Interface
  • BENTLY 3500/92 136180-01 Communication Gateway
  • BENTLY 84152-01 Proximitor Sensor Cable
  • BENTLY 3300/20 Dual Driver Proximitor Housing
  • BENTLY 3300/16-11-01-03-00-00-01 16-Channel Monitor
  • DEIF PPU-3 Power Protection Unit for Genset Control
  • DEIF RMV-112D Reactive Power Divider and Voltage Matching Relay
  • DEIF OPM-1 Output Protection Module for Gensets
  • DEIF IPM-1 Integrated Protection Module for Generators
  • DEIF CM-2 Control Module for Industrial Power Systems
  • DEIF PSM-1 Power System Manager Module
  • DEIF DELOMATIC-3 DGU2 Automatic Generator Control Unit
  • DEIF DLQ144-PC-NB Power Monitoring Meter
  • DEIF DU-2/MKIII Voltage Relay Controller
  • DEIF IOM4.2 Input/Output Module for Power Management
  • DEIF SCM-1 Synchronizing Control Module
  • DEIF GPU/2/GS Genset Parallel Unit Controller
  • EMERSON PR6426/010-110 CON021 Proximity System
  • EMERSON PR6423/011-110+C0N021 Proximity Sensor System
  • DEIF LSU-112DG Load Sharing Unit
  • DEIF PCM4.4 Advanced Power Control Module
  • DEIF TAC-311DG Transducer for AC Voltage
  • DEIF SCM4.1 Engine Start Control Module
  • DEIF PCM4.3 Power Control Module
  • Emerson 2500M/AI4UNIV Universal Analog Input Module
  • Emerson PR6424/011-140 Eddy Current Sensor
  • Emerson KJ3242X1-BK1 12P4711X042 Analog Input Module
  • Emerson FX-316 960132-01 Control Processor Module
  • Emerson KJ4006X1-BD1 Power Supply Module
  • EMERSON 1C31181G01 Ovation Analog Output Module
  • EMERSON CE4003S2B6 DeltaV Analog Module
  • EMERSON KJ4001X1-CK1 DeltaV I/O Carrier Card
  • EMERSON VE4012S2B1 DeltaV I/O Module Specifications
  • EMERSON SS6501T01 DeltaV System Assembly Technical Overview
  • Emerson A6370D/DP Display
  • Emerson P188.R2 Power Supply
  • Emerson A6824R 24-Ch Relay
  • Emerson KJ2201X1-JA1 Serial
  • Emerson VE3008 Main Controller
  • Emerson VE3008 CE3008 KJ2005X1-MQ1 Controller Module
  • Emerson TPMC917 Embedded Processor Module
  • Emerson P152.R4 Industrial Control Module
  • Emerson DA7281520 P152 Power Module
  • Emerson PR6423/008-110 Eddy Current Sensor
  • EMERSON 5X00273G01 Ovation DCS Digital Output Module
  • EMERSON KJ4001X1-NB1 12P3368X012 REV:E Redundant Controller Backplane
  • EMERSON KJ4001X1-NA1 12P3373X012 REV:C Intrinsically Safe Interface
  • EMERSON KJ4001X1-BE1 12P0818X072 REV:L DeltaV I/O Carrier
  • EMERSON KJ2221X1-BA1 DeltaV SIS SISNet Repeater Module
  • EMERSON PR6423/000-131 Eddy Current Sensor
  • EMERSON 5X00790G01 Ovation Digital Output Module
  • EMERSON 5X00846G01 Ovation Analog Input Module
  • EMERSON KJ4110X1-BA1 DeltaV Power Supply Base
  • EMERSON CSI3125 A3125/022-020 Dual Channel Monitor
  • EMERSON A6740 Displacement Case Expansion Monitor
  • EMERSON A6312/06 Speed Monitoring Module
  • EMERSON KJ4001X1-BE1 DeltaV Carrier Module
  • EMERSON SE3008 KJ2005X1-MQ2 DeltaV Controller
  • EMERSON KJ4001X1-CA1 DeltaV Terminal Block
  • Emerson PR6423/00R-010 CON031 Eddy Current Probe System
  • Emerson A6824 9199-00090 Operator Workstation
  • Emerson A6410 9199-00005 Operator Workstation
  • Emerson A6110 9199-00001 Operator Workstation
  • Emerson 9199-00002 A6120 Operator Workstation
  • Emerson KJ3002X1-BF1 12P1732X042 FIELDVUE DVC6200
  • Emerson 5X00500G01 Ovation Analog Output Module
  • Emerson VE4001S2T2B4 DeltaV Controller Module
  • Emerson 5X00502G01 Ovation Analog Input Module
  • Emerson A6824R 9199-00098-13 Operator Workstation
  • EMERSON A6140 9199-00058 Dual Channel Monitor
  • EMERSON VE3007 KJ2005X1-BA1 DeltaV Controller
  • EMERSON DB1-1 Connection Termination Block
  • EMERSON PMC-IO-ADAPTER Mezzanine Interface Card
  • EMERSON L0115012 L0115032 Solenoid Valve Components
  • Emerson A6410 Large Operator Workstation
  • Emerson A6210 Operator Workstation
  • Emerson 1C31232G02 Ovation Controller Module
  • Emerson 5X00106G02 Ovation Power Supply Module
  • Emerson 5X00106G01 Ovation Power Supply Module
  • EMERSON PMC-IO-PROZESSOR High-Speed I/O Module
  • EMERSON PMC PROFINET Communication Module
  • EMERSON MVME7100-0171 VMEbus Single Board Computer
  • EMERSON SE3008 KJ2005X1-SQ1 DeltaV MQ Controller
  • EMERSON PR6423/002-041 Eddy Current Displacement Sensor
  • Emerson SE4006P2 Serial Interface Module
  • Emerson KJ2201X1-HA1 Analog Input Module
  • EMERSON CE4001S2T2B4 DeltaV I/O Interface Module
  • EMERSON CE4003S2B1 DeltaV Controller
  • EMERSON KJ2003X1-BA2 DeltaV I/O Carrier
  • Enterasys A4H124-24TX P0973JM 24-Port Fast Ethernet Switch Module
  • Enterasys A2H254-16 P0973BK 16-Port Fast Ethernet Switch Module
  • Enterasys A4H254-8F8T P0973JP Matrix E5 Switch Module
  • Enterasys SSA-T8028-0652 P0973LN SecureStack Gigabit Switch
  • Enterasys A2H124-24FX P0973BJ
  • Enterasys SSA-AC-PS-625W P0973LQ Power Supply
  • Enterasys A2H124-24FX-RH Fiber Fast Ethernet Switch
  • Enterasys A2H254-16-RH Fast Ethernet Switch
  • Enterasys C2G170-24 P0973BL Stackable Gigabit Switch
  • Enterasys STK-RPS-150PS P0973BP Redundant Power Supply
  • ENTERASYS A4H124-24FX P0973JN SecureStack A4 Fiber Switch
  • ENTERASYS A4H124-24TX SecureStack A4 Ethernet Switch
  • ENTERASYS A2H124-24FX SecureStack A2 Fiber Switch
  • ENTERASYS A2H254-16 SecureStack A2 Managed Switch
  • ENTERASYS A4H254-8F8T SecureStack A4 Managed Switch
  • Enterasys C2RPS-CHAS2 Redundant Power System Chassis
  • Enterasys A2H124-24 Managed Ethernet Switch
  • EPRO PR6423/003-030-CN Hazardous Area Sensor
  • EPRO PR6424/012-000 Eddy Current Displacement Probe
  • EPRO PR6424/013-130 + CON021 Eddy Current Sensor System
  • EPRO PR6424/014-040 11mm Eddy Current Probe
  • EPRO PR6423/001-000 Eddy Current Sensor Probe
  • EPRO PR6423/010-000-CN Eddy Current Probe
  • EPRO MMS6823 9100-00001-05 Output Module
  • EPRO CON011 9200-00001N Signal Converter
  • EPRO MMS6120 Dual Channel Speed Monitor 9100-00002-10
  • EPRO MMS6120 Dual Channel Overspeed Protection Monitor 9100-00002C-08
  • EPRO PR6423 and PR6424 Eddy Current Displacement Probes
  • EPRO PR9268/300-000 Seismic Velocity Sensor
  • EPRO MMS3120/022-000 Dual Channel Vibration Monitor 9100-03047-01
  • EPRO MMS6823R 9100-00001-06 Dual Channel Module
  • EPRO PR6423/10R-030-CN Displacement Sensor
  • EPRO PR6423 Eddy Current Displacement Sensor