+086-15305925923

K-WANG

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 | 117 visit: | 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.


  • HIMA 895210001 PLC Module | Industrial Safety Control and Processing Module
  • HIMA 157528-0 PLC Module | Industrial Safety Control and Processing Module
  • HIMA B5322 PLC Module | Industrial Safety Control and Processing Module
  • HIMA BV7032 PLC Module | Industrial Safety Control and Processing Module
  • HIMA F3300 PLC Module | Industrial Safety Control and Processing Module
  • HIMA F7105A PLC Module | Industrial Safety Control and Processing Module
  • HIMA F7150 PLC Module | Industrial Safety Control and Processing Module
  • HIMA F7508 PLC Module | Industrial Safety Control Processing Module
  • HIMA F8627 984862765 PLC Module | Industrial Safety Control Module
  • HIMA M3410 PLC Module | Industrial Safety Control Processing Module
  • HIMA Z7308 PLC Module | Safety Control System Processing Module
  • F8640 HIMA Central Module | Safety System Core Controller
  • HIMA F8630 Module | Safety System Functional Module
  • F8651X HIMA Central Module | Safety System Core Controller
  • F3236 Digital Input Module | HIMA Safety System Input Interface
  • F7131 HIMA Power Monitoring Module | Safety System Power Supervision
  • F8627X HIMA Communication Module | Safety System Network Interface
  • HIMA F8560X PLC Module | Safety-Related Control System Component
  • HIMA P8403 PLC Module – Industrial Safety Control Processor
  • HIMA F8628X Communication Module – Industrial Safety System Interface
  • HIMA F8621A Communication Module – Safety System Communication Interface
  • HIMA 984865066 PLC Module – Safety Control Processing Unit
  • HIMA F60CPU01 PLC Module – Safety Control Processing Unit
  • HIMA F8650E PLC Module – Safety Control Processing Unit
  • HIMA F8652E Central Module – Safety Control Processing Unit
  • HIMA F8650X Card – Safety Central Processing Module
  • F8652X HIMA Central Module – Safety Control Central Processing Unit
  • HIMA 99-7105233 B5233-1 Safety Module – Industrial Safety Control Component
  • KEBA KeTop T70-rqa-AK0-LK Teaching Device – Industrial Robot Teach Pendant
  • KEBA KETOP T50-T41-CPU 2495D-0 – Industrial CPU Module
  • KEBA E-CON-CC100/A/ 22178 – Industrial Controller Module
  • KEBA Kemro K2-200 CP 250/X 71580 CPU-MODULE – Industrial Control CPU Module
  • KEBA D3‑DA 330/A‑1211‑00 Drive – KeDrive D3 Axis Controller Industrial Servo Drive
  • KEBA KETOP O70‑bra‑A0a‑F Demonstrator – Industrial Automation Control Module
  • KEBA KETOP O70-BRA-A0A-F Demonstrator | Industrial HMI Operating Terminal
  • KEBA SO84.012.0083.0101.2 Servo Drive | Industrial Motion Control Solution
  • HIMA X-AO1601 Termination Boards
  • HIMA X-AI3251 Digital Output Module
  • HIMA X-DO3251 Digital Output Module
  • HIMA X-DI3202 Termination Board
  • HIMA X-DI6451 Digital Input Module
  • XYCOM 96574-001 - Circuit Board Card Rev A
  • XYCOM 99212A-001 - Control Board Card CPX-7
  • XYCOM 99222-001 - Circuit Board Card Rev A
  • XYCOM 97780-002 - Circuit Board for Operator Panel Screen
  • XYCOM XVME-164/1 - Circuit Board 61116
  • XYCOM CMX-7D - Power Supply Circuit Board PN99865-001
  • XYCOM 10330-00800 - Digital I/O Board Circuit Card
  • XYCOM 8450-HU - Husky Monitor 98916-001
  • XYCOM XVME-428/2 - IASCM Communication Board
  • XYCOM 3512KPT - Industrial PC Operator Interface
  • XYCOM Checkpoint Cognex - Inspection Machine Vision Camera
  • XYCOM XVME-080 - IPROTO Intelligent Prototyping Module
  • XYCOM IV-1653 - Ironics VMEbus CRT Circuit Board
  • XYCOM M032000220 - Control Board
  • XYCOM 4850A - Operator Interface Panel 91855-001
  • XYCOM 9462 - HMI Operator Interface Panel 9462-016214001
  • XYCOM 9465 KPM - Monitor Industrial PC 9465-219114103
  • XYCOM 9486 - Monitor-Miniflex Portrait 9486-0343
  • XYCOM MVME-490/1 - Circuit Board Tegal 6550 Etcher
  • XYCOM 1300 - Node Module 1300-000100000
  • XYCOM 3510 T - Operator Interface
  • XYCOM 3512 KPM - Operator Interface Part No 3512-A1F114103
  • XYCOM 4615KPM - Operator Interface
  • XYCOM 8320 - Operator Interface Display Panel 94321-002
  • XYCOM 4105 - Operator Interface P/N 91904-001
  • XYCOM PM101683E - Operator Interface PM101683 E
  • XYCOM 301993 - Operator Panel 89086-501 Raycon
  • XYCOM 2000 - Operator Panel 97957-001
  • XYCOM 9410KP - Operator Touchscreen HMI 51338-STN
  • XYCOM 9987 - Operator Workstation CPU Board
  • XYCOM 94144-002 - CPU Board Rev V
  • XYCOM 9487 - Programmable Interface HMI Panel PC
  • XYCOM 70956-411 - PLC Module Card Ethernet Card MESA 4I29X
  • XYCOM PM101587 - Operator Panel
  • XYCOM XT1502-BB-RB - Display Panel XT 1502
  • XYCOM PM3510 - Operator Interface Terminal
  • XYCOM PM8450 - Operator Interface Repair Evaluation
  • XYCOM PM8480 - Operator Interface PM101269
  • XYCOM 8000-SKM - Power Supply Board Module
  • XYCOM 510084 - Power Supply Board
  • XYCOM 1546 - Proface Industrial Workstation 1546-102031013
  • XYCOM 86864-002-E - Processor Board Module
  • XYCOM 3112T - Pro-face Operator Interface
  • XYCOM 3712 KPM - Pro-face Operator Panel
  • XYCOM 4615KPMT - Proface Industrial PC Display Panel PM-070007
  • XYCOM 5015T - Pro-Face Touch Monitor 100-240 VAC
  • XYCOM 5015T/R2 - Industrial Flat Panel Touch Monitor 5015R2-0100000
  • XYCOM 1341 - Proface Embedded Computer TF-AEC-6920-C2
  • XYCOM GLC150-BG41-DN - Graphic Logic Controller M-24V
  • XYCOM GP2301H-SC41-24V - Pro-face Operator Interface 5.7" w/ Cable
  • XYCOM 1547 - Pro-face Industrial PC Model 1547-00113101
  • XYCOM ST401-AG41-24V - Graphic Touchscreen Operator Interface
  • XYCOM 3310T - Pro-face Operator Panel 3310-001101001
  • XYCOM 5015 KPMT - Proface Operator Panel Display
  • XYCOM XVME-684 - PC Module VME Bus Processor 70684-201
  • XYCOM 3300 MT - Screen Monitor Display
  • XYCOM SXT1811T - Touch Panel Monitor 100/240VAC
  • XYCOM XT-1502 - Touch Screen Monitor Flat Panel Display Interface
  • XYCOM SXT1811 - Viewtronix SXGA Flat Panel Monitor 18.1" Display
  • XYCOM VT1040T - ViewTronix Touch Screen Monitor
  • XYCOM WS2786291 - Industrial Workstation PC
  • XYCOM XCME-540 - Analog I/O Module VMEbus 70540-001
  • XYCOM XVME-682 - CPU PCB Processor Module 70682-101
  • XYCOM CU040103500 - VME Rack System Module 4200401
  • XYCOM XVME-085 - Proto VMEbus Non-Intelligent Prototyping Module
  • XYCOM XVME-100 - PCB Controller Card ROM Board 70100-001
  • XYCOM XVME-103 - VMEbus Board 10103-001
  • XYCOM XVME-110 - VMEbus Memory Module SRAM 70110-001
  • XYCOM XVME-200 - Digital Universal Instruments I/O Module Card
  • XYCOM XVME-201 - Digital I/O Controller PC Board Card 70201-001
  • XYCOM XVME-202 - VMEbus Control Module 70202-001
  • XYCOM XVME-203 - VME Digital Counter I/O Module Board Card PLC
  • XYCOM XVME-203/293 - VMEbus Counter Module w/ Quadrature
  • XYCOM XVME-212 - 32 Channel Digital Input Programmable Scanner Module
  • XYCOM XVME-220 - 32 Point Programmable Scanner Digital Output Module
  • XYCOM XVME-230 - Intelligent Counter Module Bus Board VMS 70230-001
  • XYCOM XVME-240 - Digital I/O Card VMEbus I/O PCB
  • XYCOM XVME-244 - 64-Channel Isolated Digital I/O Module VMEbus Adept
  • XYCOM XVME-301 - Graphics Controller Module 74301-001A
  • XYCOM XVME-400 - Digital I/O Card VME Module 70400-001
  • XYCOM XVME-401 - VMEbus Circuit Board 70401-001
  • XYCOM XVME-404 - VME Disc Drive Controller Module Board Card PLC
  • XYCOM XVME-428/1 - VME Bus Intelligent Asynchronous Serial Communication Module
  • XYCOM XVME-490/1 - VMEbus Card 71490A
  • XYCOM XVME-491 - VMEbus Module 71491A
  • XYCOM XVME-500 - XVME-500/01 Card 70500-001
  • XYCOM XVME-500/1 - VMEbus Card I/O Module