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


  • Honeywell Enraf 2558990-2 ARM 1 Backplane MSC Card for MSC-800 Motion Control Systems
  • Schneider BMEH586040 Modicon M580 Redundant Processor Module PLC Controller for Industrial Automation Systems
  • OMRON CQM1-TC101 Temperature Control Module PLC Unit for CQM1 Series Industrial Automation Systems
  • Allen Bradley 1771-AF Fiber Optic Converter Module 96657704 PLC Communication Interface for Industrial Automation Systems
  • Novellus IPEC SpeedFam 2805-11407 PLC Rack Assembly with Corcom 20VK1 Filter for Semiconductor CMP Equipment Control System
  • MITSUBISHI GT2512-STBA GT2512-STBD GOT2000 HMI Touch Screen Panel Display Human Machine Interface for Industrial Automation
  • OMRON E5AC-CX4A5M-014 Digital Temperature Controller Process Controller with RS-485 Communication for Industrial Automation Systems
  • SIGMATEK CCP612-K Processor Module PLC Controller Unit for C-DIAS Industrial Automation Control System
  • OMRON CJ1M-CPU13-ETN V4.0 PLC CPU Unit with Built-in Ethernet Function for SYSMAC CJ Series Industrial Automation Control System
  • EOCR-PMZ Digital Motor Protection Relay Electronic Over Current Relay for Three Phase Motor Control Systems
  • SIEMENS 6SY7000-0AC80 IGBT Transistor Module FZ1000R12KF5 Power Module for SIMOVERT MASTERDRIVES Industrial Drive System
  • OMRON C200HW-MC402-E Motion Control Unit 4 Axis PLC Module for C200H Series Position Speed and Torque Control System
  • Mitsubishi Electric 15050-PR02B PLC Circuit Board Module Industrial Automation Control Board for PLC System
  • TEXA INDUSTRIE EGO16GT1B Wall Frame Air Conditioner Industrial Cabinet Cooling Unit for PLC Control Panel Systems
  • OMRON CS1W-AD081-V1 Analog Input Unit 8 Channel PLC Special I/O Module for SYSMAC CS Series Industrial Automation Control
  • B&R X20CP0411 Compact CPU Module X20 Compact-S PLC Controller Unit with ARM Cortex-A9 Processor Industrial Automation System
  • OMRON CJ1W-NC413 V2.3 Position Control Unit 4 Axis Pulse Output NC Unit for CJ Series PLC Motion Control System
  • Toshiba H2218592 PLC Control Circuit Board Module Industrial Automation Controller Circuit Board
  • PRO-FACE GP577R-TC11 Programmable Operator Interface 10.4 Inch Touch Screen HMI Panel Industrial Automation Control Terminal
  • OMRON CS1D-DPL01 Duplex Unit for CS1D Series PLC Dual CPU Redundancy Control System Industrial Automation Module
  • OMRON V680-CA5D02-V2 RFID ID Controller Programmable Controller Interface Module Industrial Automation Identification System
  • Siemens 7ED6234-4EE12-9AC9 N1A R1A Static Three Phase Counter Protection Device Industrial Automation Measurement Module
  • Siemens 3VT8563-2AA03-2KA2 3VT Molded Case Circuit Breaker Three Pole Low Voltage Protection Device Industrial Power Distribution Guide
  • Siemens 7MH4900-3AA01 SIWAREX FTC Weighing Module for SIMATIC S7-300 ET 200M Industrial Weighing Automation System
  • OMRON K3HB-HTA-DRT1 Temperature Panel Meter DeviceNet Digital Indicator Industrial Temperature Measurement Controller Guide
  • Schneider Electric HMIST6500 Harmony ST6 10 inch Touch Panel Screen HMI Operator Interface Terminal Industrial Automation Control Display
  • OMRON C500-AD006 3G2A5-AD006 Analog Input Unit PLC Module Industrial Automation Data Acquisition System Guide
  • OMRON R88S-H306G Servo Motor AC Servo System Component Industrial Motion Control Application Guide
  • Schmersal MV10H 330-11Y-M20-1348 Belt Alignment Switch Position Monitoring Device Industrial Safety Switch Technical Guide
  • BECKHOFF CX2100-0904 Power Supply Module with Integrated UPS for CX20xx Embedded PC Industrial Automation System Guide
  • OMRON FQM1-MMA22 Flexible Motion Controller Analog I/O PLC Module Industrial Automation Control Unit Technical Guide
  • INOVANCE H3U-3624MT Programmable Logic Controller PLC CPU Module Industrial Automation Control System Guide
  • SIEMENS 6SE7036-1EE85-1HA0 Rectifier Board Drive Module Power Electronics Component Technical Guide
  • OMRON NA5-9W001B-V1 Sysmac HMI Programmable Terminal 9 Inch Touch Screen Industrial Operator Interface Technical Guide
  • ABB ACS355-01U-02A4-2 Variable Frequency Drive 230V 0.5HP 2.4A Machinery Drive Module Technical Guide
  • OMRON SYSMAC C200HS-CPU01-E Programmable Controller CPU Unit Industrial Automation Control Module Technical Guide
  • SCHNEIDER ELECTRIC XBTGT2110 Magelis GT 3.8 Inch Touchscreen HMI Terminal Operator Interface Technical Guide
  • THERMA WAVE 18-011040 Controller Assembly PLC Terminal Block Industrial Control Module Technical Guide
  • MITSUBISHI AA104VJ05 10.4 Inch LCD Control Panel Display Module for CNC Machine Tool and Industrial Controller Applications
  • CHEROKEE ACX643 REV-B Power Supply Unit 100-240VAC Industrial Power Supply Module Technical Guide
  • Allen Bradley 440F-C4000P MatGuard Control Unit Pressure Sensitive Safety Mat Controller Technical Guide
  • GENERAL ELECTRIC MMII-PD-1-2-120 Motor Manager II Intelligent Motor Protection and Control Relay Technical Guide
  • BRISTOL CONTROL 396879-01-2 ControlWave Micro CPU Module with Ethernet Communication Industrial RTU Controller Technical Guide
  • SCHNEIDER ELECTRIC HMIST6500 Harmony ST6 10 Inch Touch Panel Screen HMI Operator Terminal Technical Guide
  • SIEMENS SIMODRIVE 6SN1145-1AA01-0AA1 Infeed Module 10-25 kW 400-480 V Drive System Power Supply Unit Technical Guide
  • OMRON F150-C15E-3 Vision Mate Controller Machine Vision Sensor Processing Unit Technical Specifications and Industrial Inspection Application Guide
  • OMRON NSH5-AL001 NSH5 Series Hand-held Programmable Terminal Removable Box Interface Module Technical Guide
  • SCHNEIDER ELECTRIC TM2ALM3LT Analog Input Output Module Modicon M238 PLC Expansion Unit Technical Specifications and Application Guide
  • YAMATAKE MAH20-PC2100 Processor Module Industrial Controller CPU Unit Technical Specifications and Automation System Application Guide
  • OMRON CQM1-AD042 Analog Input Unit PLC Technical Specifications and CQM1 Series Industrial Automation Application Guide
  • KRONES BWU1703 0900853537 ASi-3 PROFIBUS Gateway Dual ASi Master Communication Module Technical Guide
  • SIEMENS 6SN1145-1BA01-0BA1 SIMODRIVE 611 Infeed Regenerative Feedback Module 16/21 kW Technical Specifications and CNC Drive Application Guide
  • OMRON CS1W-DA041 Analog Output Unit PLC Technical Specifications and SYSMAC CS Series Automation Application Guide
  • FANUC A16B-1211-0301/04A Control Board I/O PCB Technical Specifications and CNC System Application Guide
  • OMRON FND-X06H Position Driver PLC Technical Specifications and OMNUC Servo Control System Application Guide
  • Beckhoff CX1020-0111 - servo driver
  • Beckhoff CX2020-0125 - Controller Unit
  • Beckhoff EK1818 - EtherCAT Coupler 8DI 4DO 24VDC
  • Beckhoff CX2500-0030 - System Module
  • Beckhoff AM3121-0200-0001 - servo motor
  • Beckhoff C5102 - IP-4GVI63 REV:1.0 IPC
  • B&R X67AT1322 - PLC module
  • Beckhoff BK7000 - EtherCAT bus coupler
  • Beckhoff CX1100-0930 - Module
  • Beckhoff CX2500-0060 - Relay Power Capacitor Module
  • Beckhoff CX5130-0175 - Controller Module
  • Beckhoff CP6801-1006-0010 - CONTROL PANEL (US)
  • Beckhoff CX5020-0112 - Programmable Controller Module
  • Beckhoff EPP6228-0022 - EtherCAT P-Box 8 Channel Communication Interface
  • Beckhoff CX5130-0125-1001/000119452 - Controller Module
  • B&R X20AT6402 - Temperature Input Module
  • Beckhoff C6920-1025-0020 - PC
  • Beckhoff CX1000-0011 - PLC Module
  • Beckhoff KL3011 - PLC Module
  • Beckhoff BK7300 - Programmable Logic Controller Module
  • Beckhoff KL3001 - PLC module
  • Beckhoff CX1100-0910 - Power Supply Module
  • Unknown JM-204-480-OEM-S1 - Servo Drive
  • Beckhoff C6015-0010 - Quad Core Controller
  • Beckhoff CX1001-0121 - Embedded PC And CPU Basic Module Controller
  • Beckhoff CP3912-0000 - B&F Control Panel
  • Beckhoff FC3102-0000 - PROFIBUS communication module
  • Beckhoff CX5120-0120 - PLC module HTP0
  • Schneider 140CPU65260 - PLC CPU Module
  • Beckhoff CP6932-0001-0000 - Control Panel
  • Beckhoff AX5112-0000-0200 - Servo Drive
  • Beckhoff CX2020-0112 - Controller module
  • Beckhoff AM237M-0020 - Motor Drive
  • Beckhoff EK9300 - bus module
  • AB 20F11NC3P5JA0NNNNN - AC Drive
  • Beckhoff CU2016 - Ethernet switch
  • Beckhoff CX1100-0004 - Power Supply Module
  • Beckhoff CP3916-0000 - touch screen
  • Beckhoff CX5020-0111 - Controller module
  • Beckhoff AM3032-0C30-0000 - Servo Motor HTP0
  • Beckhoff CX5140-0175 - Embedded PC
  • Beckhoff AM8121-1F20-1001 - Servo Motor
  • Beckhoff CU2508-0000 - 8-Port-Port-Multiplier
  • B&R X67BC8331 - Industrial Automation X67 SYSTEM
  • Beckhoff EK1100 - EL2202 EL1904 EL1809 EL9189 EL9188 EL2809 EL3122 EL3102 EL4102 PLC Modules
  • Beckhoff CP6812-0000-0010 - LQ150X1LW71N Control Panel
  • Beckhoff AX5112-0000-0200 - Servo Driver
  • Beckhoff EL3051 - module
  • Beckhoff CX5020-0112 - CPU Base Unit Module
  • KUKA 00-216-801 - KRC4 KCP4 Teach Pendant Smartpad Control Panel
  • Unknown 8253.84.2117 - 0-400bar Switch
  • Beckhoff IE2302 - PLC Module
  • BECKHOFF EL6751-0000 - PLC Module
  • B&R 3NC154.60-2 - PLC
  • BECKHOFF EL4002 - Module
  • Beckhoff EPP6228-0022 - IO-Link Module
  • BECKHOFF EK1914 - module
  • Allen-Bradley 25B-E019N104 - Frequency changer
  • Beckhoff CB3055-0004 - Industrial motherboard
  • BECKHOFF FC5201-0000 - Card
  • BECKHOFF C6015-0010 - controller
  • BECKHOFF BK4020 - Modules
  • Beckhoff CP2916-0000 with C6920-0040 - Control Panel with PC
  • BECKHOFF CX5140-0111/000001884 - module
  • Beckhoff CU8810-0000 - Module
  • Beckhoff EL3068 - PLC Moudule
  • BECKHOFF AX5103-0000-0200 - Servo driver
  • Beckhoff EL1862-0010 - Module
  • Beckhoff CX5140-0135 - Controller Module
  • BECKHOFF AX5106-0000-0202 - Servo Drive
  • Beckhoff CX1020-0112 - CPU controller
  • Siemens 6ES7134-0HF01-0XB0 - Electronic module
  • Beckhoff EP9128-0021 - module