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 | 496 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.


  • Basler Electric DECS-250-CN1SN1N Automatic Voltage Regulator for Generator Excitation Control
  • ADLINK CPCI-6860A - 51-31310-OB10 industrial motherboard CompactPCI SBC
  • ADLINK AmITX-SL-G-H110 - 51-7A104-0A30 Mini-ITX Industrial Motherboard
  • ADLINK PXI-2005-003 - CPCI Industrial PC Data Acquisition Card Multi-Function DAQ
  • ADLINK DININ-814M - 51-14032-0A3D SCSI-100P cable connection Interface Terminal Board
  • ADLINK CPCI-3920NA/C2D15/M1G - 3U CompactPCI Intel Core 2 Duo Single Board Computer
  • ADLINK PCIE-8560 - 51-18014-0A20 Communication Card High Speed DAQ
  • ADLINK PCI-C154+ - Motion Control Card 4-axis Motion Controller Board
  • ADLINK PCI-RTV24 - image capture card Analog Video Frame Grabber
  • ADLINK NuPRO-842LV/P - 51-41360-0B30 Industrial Motherboard CPU Board
  • ADLINK cBP-3208/3208R - CPCI Board 3U 8-Slot CompactPCI Backplane
  • ADLINK PCI-8164 - 4-Axis Motion Controller PCI Card 51-12406-0A40
  • ADLINK PCIe-GIE64+ - 4-CH GigE Vision PoE+ Frame Grabber Video Capture Card
  • ADLINK CPCI-6860 / 6860A - CompactPCI Dual Xeon Single Board Computer
  • ADLINK IEC-915GV - REV 1.1 Industrial motherboard CPU Board
  • ADLINK ND-6520 - Technology RS-232 to RS-422RS-485 Converter NuDAM Module
  • ADLINK RTV-24 / PCI-MP4S - 51-12519-1C30 4-Channel Real Time Video Capture Board
  • ADLINK cPCI-6910 / cPCI-6910AM/M1G - cPCI-6910AM/DXL16/M1G/S80G(G)-3120 BOARD CompactPCI SBC
  • ADLINK NUPRO-A40H - Linghua 51-41807-1A30 Industrial Control Computer Motherboard
  • ADLINK USB-3488A - USB to GPIB INTERFACE USB-3488A(G) Controller Module
  • ADLINK PCI-8134A - motion control card 4-Axis Controller Card
  • ADLINK PCI-7432 - Board 32-Channel input / 32-output Isolated Digital I/O PCI Card
  • ADLINK PCI-8134A - 51-12421-0A10 motion controller card tested
  • ADLINK LPCIe-7230 - 32 CH Isolated Input/output Card 2 Interrupts Low Profile PCIe
  • ADLINK NuPRO-E340 - industrial computer motherboard 51-47807-0A30 PICMG 1.3 SHB
  • ADLINK PCI-7434 - High-speed Digital Acquisition Card 64-CH Isolated DO Card
  • ADLINK NuPRO-E330 - 51-41805-0A20 Indsutrial Board SHB Single Board Computer
  • ADLINK PCI-7248 - OPTO-22 48 CHANNEL DIO DIGITAL TTL/DTL I/O 51-12006-0A40 GP
  • ADLINK PCI-8134 - Motion control card 4-Axis Controller Card
  • ADLINK AMP-208C - Movimiento Control Tarjeta 51-12420-1A20 W/Expansión & Breakout
  • ADLINK PCI-8164 - 51-12406-0A40 PCB Board 4-Axis Motion Controller Card
  • ADLINK DIN-68Y-SGII / DIN-68M-J3A - Terminal Board Connector Interface Block
  • ADLINK PCIe-7432 - Technology 51-18402-0A10 PCIe Card With High Input Range
  • ADLINK PCI-8144 / PCI-8144N - Motion control card 4-Axis Stepper Controller Card
  • ADLINK HSL-HUB3/REPEATER - HIGH SPEED LINK EXTENSION MODULES Distributed Hub Module
  • ADLINK ND-6017 - Data Logging + Acquisition 8CH A/D input Mod NuDAM Module
  • ADLINK LPCIe-7250 - data acquisition card Low Profile 8-CH Relay Output Card
  • ADLINK PCI-7432 - I/O card 64-CH Isolated Digital Input Output PCI Card
  • ADLINK IMB-M43H - industrial control computer motherboard Q87 Chip Micro-ATX
  • ADLINK MP-C154 - Motion control Card 4-Axis Motion Controller Board
  • ADLINK PCI-RTV24 - image capture card Video Frame Grabber Card
  • ADLINK PCI-7250 - 8-CH Relay Output & 8-CH Isolated DI Card
  • ADLINK PCI-6308V - 8-CH 12-Bit Isolated Analog Output PCI Card PCB-I-E-1148=6EX2
  • ADLINK PCI-7248 - capture card 48-CH Opto-22 Compatible DIO Card
  • ADLINK HSL-AI16A02-M-VV - Analog Input Output Distributed Module
  • ADLINK NuPRO-A301 - Rev:1.4 NUPRO-A301 PICMG Full-Size Single Board Computer
  • ADLINK PCI-6208V-GL - 8-CH Voltage Analog Output PCI Card
  • ADLINK PCI-8134A - 51-12421-0A10 4-Axis Motion Controller Card
  • ADLINK MNET-S23 - TECHNOLOGY MNET S23 - SERVO DRIVER CONTROL MODULE
  • ADLINK M-342 - ATX I3 I5 I7 Q67 Industrial Motherboard
  • ADLINK NUPRO-780 - Industrial Motherboard CPU Board PICMG SBC
  • ADLINK MP-C154 / MP-C152 - 4-Axis Motion Control Card Pulse-Train Controller
  • ADLINK NuPRO-935A/LV10B0 - Motherboard 51-41802-0A10 GP w/RAM Industrial Control Board
  • ADLINK MP-C154 - Motion control card 4-Axis Motion Controller Mainboard
  • ADLINK PCI-7250 - PCI Acquisition Card 8-CH Relay Output Isolated DI Card
  • ADLINK ACL-7124 - Technology Inc.24 DIO Card Digital Input Output Card
  • ADLINK PCI-8554 A2 - Timer/Counter Data Acquisition Card
  • ADLINK DIN-825-GP4 - Terminal Block Interface Board Breakout Module
  • ADLINK NuPR0-761 - REV:1.1 Industrial motherboard Full-Size PICMG SBC
  • ADLINK MXE-1401/M8G (G) - Matrix Fanless Embedded Computer Industrial PC
  • ADLINK HSL-DI16DO16-UD-NN - Digital 16 Channel I/O Mod Distributed I/O Module
  • ADLINK ND6520 - NUDAM INTELLIGENT DA&C MODULE RS232-RS-422/RS485 CONVERTOR
  • ADLINK NUPRO-761 - REV:1.1 Industrial Motherboard CPU Board
  • ADLINK AMP-208C - Motion Control Card 51-12420-1A20 DSP-based 8-axis
  • ADLINK NuPRO-A301REV 1.4 - with packaging industrial computer motherboard PICMG SBC
  • ADLINK PCM-9112+ - 51-12300-0A2 industrial motherboard Multi-Function DAQ PC/104 Module
  • ADLINK PCM-7250+ - 8-CH Relay Outputs & 8-CH Isolated DI Module PC/104
  • ADLINK PCI-RTV24 - Image capture card Analog Video Frame Grabber
  • ADLINK PCI-8134 - Motion Controller PCI Card 4-Axis Controller Board
  • ADLINK PCI-7432 - Isolated Digital I/O PCI Card
  • ADLINK PCI-8554 A2 - acquisition card Timer/Counter Card
  • ADLINK PCI-8132 - Rev.A2 2-Axis Servo & Stepper Motion Controller Card
  • ADLINK PCI-8132 - Data Acquisition card 2-Axis Motion Controller Card
  • ADLINK EBP-13E4 - 51-46703-0A30 Industrial Backplane Board Passive Backplane
  • ADLINK PCI-800L - Electronic Card Interface Controller Card
  • ADLINK PCIe-GIE72 - 51-18531-0A10 PCB Board GigE Vision Frame Grabber
  • ADLINK DAQ-2010(G)-OOBO - Simultaneous-Sampling Multi-Function DAQ Card
  • ADLINK PCI-9112 - REV.B1 Multifunction DAQ Card Data Acquisition Card
  • ADLINK PCI-7230 - 51-12003-DA60 32-CH Isolated Digital I/O Card
  • ADLINK PCI-7432 - Data Acquisition Card Isolated Digital I/O PCI Card
  • ADLINK ETX-AT-N270-18/LXE - 51-71111-0A20 ETX CPU Module Motherboard
  • ADLINK HSL-DI32-UD-N - DIGITAL INPUT 32 POINTS MODULE Distributed I/O
  • ADLINK AMP-204C - Motion Control card DSP-Based 4-Axis Advanced Controller
  • ADLINK MNET-4XMOG-0050 - Four-axis Motion Controller Distributed Motion Module
  • ADLINK AMP-204C - Motion control card DSP-Based 4-Axis Pulse-Train Controller
  • ADLINK PCI-7442 - Switch card 64-Channel Datalogging & Acquisition Card
  • ADLINK M-302 - Industrial control motherboard ATX PC Board
  • ADLINK NUPRO-852 / NUPRO-852LV - Industrial motherboard Single Board Computer
  • ADLINK PCI-8134 - REV.B1. 4-Axis Motion Controller Card
  • ADLINK PCI-GIE62 + - 51-18502-0A20 2-CH GigE Vision Frame Grabber PoE Card
  • ADLINK PCI-MPG24 - 51-12523-0B20 MPEG4 Card Video Compression Hardware
  • ADLINK HSL-TB32-M-DIN - 32-CH I/O TERMINAL W/ HSL-AI16AO2-M-VV MODULE
  • ADLINK PCI-M114-GL - PCB Ver 2.1 Motion Controller Axis Card
  • ADLINK IMB-M40H - SYM76996H61 motherboard Industrial Computer Mainboard
  • ADLINK NUPRO-A40H - 51-41807-1A20 industrial control motherboard H61 Chip
  • ADLINK PCI-M114-GL - Axis Card Data Acquisition Card PCB VER2.2 Motion Controller
  • ADLINK PCI-8134 - Motion Controller PCI Card 4-Axis Controller Board
  • ADLINK PCI-8102 - Motion control card 2-Axis Servo & Stepper Controller
  • ADLINK NuPRO-841REV:3.0 - motherboard Industrial Control PC Board
  • ADLINK HSL-TB32-U-DIN REV A1 - Breakout Terminal Board Field I/O Module
  • ADLINK AMP-204C - Motion Control card DSP-Based 4-Axis Pulse-Train Controller
  • ADLINK NUPRO-A40H - 51-41807-1A20 industrial control motherboard H61 PC Board
  • ADLINK PCI-6308A / PCI-6308V - 51-12202-0A50 Isolated Analog Output Card
  • ADLINK AMP-204C - DSP-Based 4-Axis Advanced Pulse-Train Motion Controller
  • ADLINK PCI-7434 - Technology 64-Channel Isolated Digital I/O PCI Cards
  • ADLINK CPCI-6840 / CPCI-6840V / PM16/M1G-12G0 - CompactPCI Single Board Computer CPU Module
  • ADLINK PCIE-GIE74 - Motherboard Video Capture Card 51-18531-0A10 Frame Grabber
  • ADLINK NuPRO-E330 - industrial computer equipment motherboard Control Mainboard
  • ADLINK AMP-208C / 51-12420-1A20 - Motion Control Card W/ Expansion & Breakout Board
  • ADLINK HPCI-14S12U - industrial computer baseboard Passive Backplane 14 Slots
  • ADLINK PCI-8164 - 4-Axis Motion Controller PCI Card W/ 1x Cable, 1x Breakout Box
  • ADLINK PCIe-RTV24 - 51-18016-0A20 Image Acquisition Video Capture Card
  • ADLINK M-342 - 5 PCI ATX Motherboard Industrial PC Mainboard
  • ADLINK PCI-FIW64 - 4/2 Channel IEEE1394B Image Capture Card FireWire Frame Grabber
  • ADLINK PCI-7432 - digital IO card 64-CH Isolated Digital Input Output Card
  • ADLINK 51-12001-0C20 - Circuit Board PCI-7200 Data Acquisition Controller Card
  • ADLINK PXI-3920 - PXI 3U cPCI Industrial Controller Embedded System CPU Board
  • ADLINK NuPRO-841REV:2.0 - motherboard Industrial Control PC Board
  • ADLINK NuPro-E330 - 51-41805-0A20 PCB Industrial Control Computer Motherboard
  • ADLINK PCI-RTV24 - Image capture card Analog Video Frame Grabber
  • ADLINK PCI-7442 - Switch card 64-Channel Datalogging & Acquisition Card
  • ADLINK HPX-13S4 - device baseboard Passive Backplane Riser Card
  • ADLINK PCI-9112 REV A.1 - Multi Function DA&C Board Data Acquisition Card
  • ADLINK PCI-7248 - 51-12006-0A40 Card Control 48-CH Digital I/O Module
  • ADLINK CPCI-6860 / 6860A - motherboard CompactPCI Dual Xeon Single Board Computer
  • ADLINK DPAC-3020-11(G) - Embedded PC Automation Controller Machine Control Board
  • ADLINK NuPRO-841 REV:1.0 - industrial control motherboard CPU Board
  • ADLINK MNET-4XMOG-0050 - Four-axis Motion Controller MNET Motion Control Card