Welcome to the Industrial Automation website!

NameDescriptionContent
XING-Automation
E-mail  
Password  
  
Forgot password?
  Register
当前位置:

SIEMIENS S7-1200/1500 Controller TIA Portal Programming Guide

F: | Au:FAN | DA:2025-11-24 | 607 Br: | 🔊 点击朗读正文 ❚❚ | 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.

  • Rolls Royce H1111.0204 Ship Main Controller
  • Basler Electric BE3-32-3AC Reverse Power Relay 9 1376 00 105
  • Basler Electric BE3-25-1A1N4 Synch Check Relay 9319100100
  • Basler Electric SR4A-2B15B3A Static Voltage Regulator
  • Basler Electric SR4A-2B15B3E Static Voltage Regulator
  • Basler Electric 9170818100 Solid State Protective Relay
  • Basler Electric AEC63-7 Analog Excitation Controller
  • Basler Electric 17483 Auxiliary Module
  • Basler Electric BE1-59 Over Voltage Relay
  • Basler Electric 21600-101 Control Module
  • Basler Electric KR2F Generator Voltage Regulator 9056600100
  • Basler BE1-CDS Current Differential System
  • Basler Electric CBS 212 Current Boost System 9 2650 00 100
  • Basler Electric IFM-150 Firing Circuit Chassis
  • Basler Electric BE1-60 Voltage Balance Relay C1F A1P D0C3F
  • Basler Electric BE1-32R Power Relay A2E D1R A0N0F
  • Basler Electric BE1-32R Power Relay A2E D1R A0N0F
  • Basler Electric 8650C80G01 Isolation Transducer PCB Board
  • ETEL EA-P2M-300-4/7.5A-0100-01 AccurET Modular 300 Servo Drive
  • Basler Electric 87T Transformer Differential Relay
  • Basler Electric BE-6868 Power Transformer 5950007559202
  • Basler Electric PRS250 Veri-Sync Relay 9088800102
  • Basler Electric SCP-250-G-60 VAR Power Factor Controller
  • Basler DECS-150 AVR 1NS2V1N1S Voltage Regulator
  • Basler UFOV 260A Under Frequency Overvoltage Module
  • Basler MOC2 199 Motor Operated Control – Overview and Setup
  • Basler BE3-49R-5K5A1 Temperature Relay – Complete Guide
  • Basler BE 20035 001 Transformer – Technical Data and Installation
  • Basler BE 02727 001 Transformer – Specifications and Usage
  • Basler BE127 Under Voltage Relay – Features and Application Guide
  • Basler CBS377 Current Boost System – Complete Technical Guide
  • Basler BE1-87G P/N 9170818100 Differential Relay – In-Depth Specs
  • Basler BE1-87G Generator Differential Relay – Technical Overview
  • Basler Electric SR4A2B16 SVR Static Voltage Regulator – Complete Guide
  • Basler Electric 9261500101 Power Supply Module
  • Basler Electric AEM-2020 Analog Expansion Module
  • Basler Electric DGC-2020 Digital Genset Controller 51BRBNEAH001
  • Basler Electric BE1-59N Ground Fault Overvoltage Relay
  • Basler Electric BE1-59N-A5E-E1L-N0S1F Neutral Overvoltage Relay
  • Basler Electric MOC2499 Motor Operator Control Potentiometer 9072300430
  • Basler Electric BE1-50/51M Overcurrent Relay
  • Basler Electric 9148100106 MOC3502 Solid State Relay 250VDC 0.25A
  • Basler Electric CBS 212 Current Boost System 9265000100
  • Basler Electric 10493002 Control Module
  • Basler BE1-32R D3E E1R A0N1F Power Relay
  • Basler SR8A2B15B3A Static Voltage Regulator
  • Basler IFM-105 Firing Circuit Chassis 9324100105
  • Basler SR4A2B05B3A Static Voltage Regulator
  • Basler BE151G1EB6PB0N0F Protective Relay
  • Basler BE1-59 Electric Over Voltage Relay
  • Basler 277 Static Programmable Powerline Carrier Channel
  • Basler BE1-32R D1E A1P A0N1F Power Relay
  • Basler SR4A1B07B3A Static Voltage Regulator
  • Basler Electric BE1-700 Digital Protective Relay
  • Basler Electric SR8A-2B01B3A Static Voltage Regulator
  • Basler Electric SR4A-2B01B3E Static Voltage Regulator
  • Basler Electric 9017709102 PC Board
  • Basler Electric SR4A-2B01B3A Static Voltage Regulator
  • Basler Electric PRS-250 Veri-Sync Relay
  • Basler Electric 9066800102 Excitation Support System
  • Basler Electric BE1-87G Generator Differential Relay 9 1708 18 100
  • Basler Electric 36T865-2 BE03752001 Power Supply
  • Basler Electric M-300 149D940G02 Power Supply
  • Basler Electric ACA2040-25GM 4Mp 25Fps Area Scan Camera
  • Basler BE1-87G-S1A-A1C-A0N0 Differential Relay
  • Basler SR8A-2B06B3E Static Regulator SR8A2B06B3E
  • Basler SCP-210 Frequency Controller 9095400100
  • Basler BE1-59-A3E-A1J-N1N3F Overvoltage Relay BE159A3EA1JN1N3F
  • Basler 9 2011 11 100 Bracket Mounted Terminal Unit
  • Basler 9 1606 00 101 Voltage Regulator
  • Basler CBS-377 Current Boost System 9109600102
  • Basler 8650C72 Exciter Control Module PCB Rev 5
  • Basler C2EE1PA0N1F BE1-32R Reverse Power Relay
  • ADLINK HPCI-14S12U - Industrial Control Backplane 12PCI Backplane PCI-14S Passive Backplane
  • ADLINK PCIe-GIE74C - image acquisition card 4-CH GigE Vision PoE+ Frame Grabber
  • ADLINK PCI-8164 - control card 4-Axis Advanced Motion Controller Board
  • ADLINK PCIe-U304 - 4 Port USB3 PCIe Frame Grabbers USB Screw Hole Card
  • ADLINK PCI-9112 - Multi-Function Data Acquisition Card DAQ Card
  • ADLINK PCI-7432 - 51-12013-0A50 4-CH Isolated Numérique I/O PCI Cartes Digital I/O Card
  • ADLINK PCA-6106P3-0C1 REV.C1 - backplane 6-Slot Passive Backplane Board
  • ADLINK PCI-7224 - 24-CH Opto-Isolated Digital I/O PCI Board
  • ADLINK CPCI-7433R(G) - Digital Input Board Rear I/O CompactPCI Card
  • ADLINK EBP-13E4 - 51-46703-0A30 Industrial PC Backplane Passive Backplane
  • ADLINK PCIE-HDV62 - Image acquisition card High Definition Video Frame Grabber
  • ADLINK EBP-13E4 - 51-46703-0A30 Industrial Backplane Board Passive Backplane
  • ADLINK 90111-B1 / CPCI-6770 - PCB CPU MODULE CompactPCI Single Board Computer
  • ADLINK PCI-7248 - DATA ACQUISITION PCI CARD 48-CH Parallel Digital I/O Board
  • ADLINK PCI-7230 - 51-12003-0a50 board PCI7230 32-CH Isolated Digital I/O Card
  • ADLINK PCI2A000CB - 51-20000-0B30 Multi-Function DAQ Card Baseboard
  • ADLINK PCI-8134-005 - 4-Axis Motion Controller Card
  • ADLINK PCI-7224 - 24-CH Opto-Isolated Digital I/O PCI Card
  • ADLINK PCI-7434 - 64-CH Isolated Digital Output Card
  • ADLINK PCI-8132 - motion control card 2-Axis Servo & Stepper Controller
  • ADLINK PCI-8134 - Motion Controller PCI Card 4-Axis Controller Board
  • ADLINK PCI-8164 - Motion Control Card 51-12406-0A40 4-Axis Controller
  • ADLINK 51-12001-0C20 - Circuit Board Data Acquisition Interface Module Hardware
  • ADLINK NuPR0-840 - industrial control motherboard Full-Size PICMG CPU Board
  • ADLINK PCI-7444 - 51-12023-0A10 card 128-CH Isolated Digital Output Board
  • ADLINK PCI-1612B - data acquisition card 4-Port RS-232/422/485 Serial Communication Card
  • ADLINK PCI-6208V 009 - 8/16-CH 16-Bit Analog Output Cards PCB-I-E-482=6BX3
  • ADLINK NUPRO-935A/LV - industrial control motherboard Full-Size PICMG SBC Board
  • ADLINK PCI-9114DG - Multi-Function DAQ Card Data Acquisition PCI Card
  • ADLINK ACL-7130 - Data acquisition card Isolated Digital I/O Board
  • ADLINK ABX-6300D-4E1-BP - board ABX6300D4E1BP Video Interface Expansion Card
  • ADLINK CPCI-6940 - CPCI-6940/D1539/M16-0(EA)-000E 6U CompactPCI Processor Board
  • ADLINK NuPRO-760 - industrial control motherboard Half-Size PICMG SBC CPU Board
  • ADLINK IMB-M42H (G)-0020 - industrial control motherboard LGA1155 Micro-ATX Mainboard
  • ADLINK RTV-24 / PCI-MP4S - 51-12519-1C30 4-Channel Real Time Video Capture Board
  • ADLINK PCI-8134 - 4-Axis Servo & Stepper Motion Controller Card
  • ADLINK MXC-6101D - V.PC000.002.ST.00 Box PC Configurable Embedded Computer
  • ADLINK PCI-8134A - 51-12421-0A10 Motion Control Card 4-Axis Controller Card
  • ADLINK DIN-100S / DIN-100SA1 - Technology SCSI-II TB 100-PIN Terminal Block Board
  • ADLINK DIN-812M001 / DIN812M001 - 51-14034-0A1 51140340A1 Terminal Module Breakout Interface
  • ADLINK PCI-8164 - Servo motion control 4-Axis Advanced Controller Card
  • ADLINK PCIe-GIE64 - Acquisition card GigE Vision PoE+ Frame Grabber
  • ADLINK M-302 - Industrial control motherboard ATX PC Board Mainboard
  • ADLINK PCI-8134 - Motion Controller PCI Card 4-Axis Controller Board
  • ADLINK PCI-RTV24 - Image capture card Analog Video Frame Grabber
  • ADLINK PCI-8102 - Motion control card 2-Axis Servo & Stepper Controller Board
  • ADLINK PCI-9112 REV.B1 - Card Multi-Function Data Acquisition Card
  • ADLINK HSI-DI32-M-N / HSL-TB32-M-DIN - Discrete I/O MODULE Distributed Automation Module System
  • ADLINK PCI-7296 - IO card REV.A3 96-CH Parallel Digital I/O Card
  • ADLINK DIN-814P-A4 / 814Y - terminal board Motion Control Interface Block
  • ADLINK DIN-814P-A4 - 51-14056-0A10 PCB-I-E-2736=ZA01 Screw Terminal Board Breakout
  • ADLINK M-322 - motherboard Industrial Control Computer Mainboard
  • ADLINK NUPRO-406 REV:B1 - industrial control motherboard Full-Size PICMG CPU Board
  • ADLINK AMP-204C - card DSP-Based 4-Axis Advanced Pulse-Train Controller
  • ADLINK HPCI14S REV.B1 - industrial computer baseboard 14-Slot Passive Backplane