Configuring Siemens PCS 7 APL Library Blocks: Reference Guide

David Krause16 min read
Process ControlSiemensTechnical Reference
Licensed PE Working through this on a live machine? A Maine-licensed engineer can take it from here — included with IMD hardware, by the hour for everything else. Book an engineer

Configuring Siemens PCS 7 APL Library Blocks: Reference Guide

The SIMATIC PCS 7 Advanced Process Library (APL) is the canonical block set for continuous and batch process automation on AS 410 / AS 410E / AS 410 SMART stations. Every motor, valve, PID controller, analog input, and digital output in a PCS 7 project is built from APL block types, and the field behavior of those blocks is driven by the I/O signals you wire in CFC (Continuous Function Chart) and SFC (Sequential Function Chart). This reference collects the block catalog, the input/output conventions, the documentation set, and the commissioning checks you need to configure APL blocks correctly on PCS 7 V7.1 SP2 and later, including the V9.1 release line.

1. PCS 7 Library Architecture Overview

PCS 7 ships three logically separated block libraries that the Engineering System (ES) loads into the master data library:

Library Scope Default Use Catalog Path in SIMATIC Manager
PCS 7 Standard Library (V7.1 era) IFL (Industry Foundation Library) plus classic motor/valve blocks (MOT_SPEED, MOT_REV, VALVE_ANA, etc.) Legacy projects, V6/V7 migration PCS7_Vxx\Library\Standard Library
PCS 7 Advanced Process Library (APL) Standard block set since V8.0, expanded in V9.0 and V9.1; all standard I&C functions Greenfield projects, recommended for any new work PCS7_Vxx\Library\PCS7_APL_Vxx
PCS 7 Industry Library (IL) Domain-specific blocks (cement, water, paper, oil & gas) bundled in PCS 7 Industry Library for PCS 7 V9.1 Add-on to APL for vertical process templates IndustryLibrary\V9.1

The APL block types are faceplates and alarm-ready by design. Each block instantiates an @APL_S_xxx symbol in the S7 program and exposes a faceplate to WinCC Runtime through the same block instance. When you drop FB1869 "CTRL_PID" into a CFC chart, the runtime automatically generates the trend view, message view, and standard view faceplate elements.

Important: Mixing APL and Standard Library block types inside the same CFC chart produces faceplate conflicts in WinCC. Always retire the old Standard Library blocks from a project before importing APL block types. Siemens documents the migration in the manual "PCS 7 Standard Library - Block conversion V7.1 SPx to APL V8.0."

2. APL Block Catalog by Function Class

The APL is organized into 16 function classes that mirror the engineering phases of a process plant. The table below lists the block types that appear in the V9.1 Industry Library manual and the corresponding PCS 7 APL master data library. Each block is a Function Block (FB) with a fixed Instance DB and a generated SFC source.

Function Class Typical APL Block Types (FB number) Application
1. Binary I/O DIG_IN (FB6), DIG_OUT (FB8), DI16, DO16 Discrete field signals, valve limit switches, motor contactors
2. Analog I/O AIN (FB7), AOUT (FB9), AI8, AO8 4-20 mA / RTD / TC channels
3. Motor blocks (unidirectional) MOT (FB1650), MOT_SP (FB1660), MOT_SPD (FB1661), MOT_SPEED Fixed-speed, two-speed, variable-speed drives via PROFIBUS/PROFINET
4. Motor blocks (reversing) MOT_REV (FB1651), MOT_REVS Forward/reverse contactor pairs
5. Valve blocks (analog) VALVE_ANA (FB1665), VLV_ANL Modulating control valves with positioner feedback
6. Valve blocks (digital) VALVE (FB1664), VALVE_2STEP, VLV_2S Open/close solenoid valves with 1 or 2 limit switches
7. Controller blocks CTRL_PID (FB1869), CTRL_S (FB1870), CTRL_T (FB1868), CTRL_IMP Continuous, step, three-step, and impulse controllers
8. Mathematical blocks ADD (FB30), MUL (FB33), DIV (FB34), SQRT, LIN, POLY, INT, DIF Process calculations, linearization, totalization
9. Logic blocks AND (FB13), OR (FB15), NOT (FB17), XOR (FB14), RS, SR, TIMER, PULSE Boolean interlocks, sequencing logic
10. Communication blocks SEND, RECEIVE, BSEND, BRCV, PUT, GET, USEND, URCV AS-AS, ES-AS data exchange over S7 connections
11. Multiplexing / selection MUX, DEMUX, SEL, MAX, MIN, LIM, SWITCH Signal routing, mode selection, signal selection
12. Time / counter TIMER_P, TIMER_S, CTU, CTD, CTUD, T_PULSE Run timers, cycle counters, lead/lag deadbands
13. Operator control blocks OP_A (FB36), OP_D (FB35), OP_TRIG Manual operator input from WinCC
14. Safety / interlocks F_STARTUP, F_ESTOP, INT_LOCK, PERM_ON, PERM_OFF Standardized interlock patterns, bypass, permissives
15. Driver blocks CH_AI (FB50), CH_AO, CH_DI, CH_DO, PAI, PAO, PDI, PDO Channel drivers for ET 200M / ET 200SP / ET 200iSP / ET 200pro
16. Panel blocks Faceplate-linked runtime objects: STATUS, TREND, MESSAGE, GRAPH Auto-generated HMI panel data

The Industry Library V9.1 manual is published as PCS 7 Industry Library for PCS 7 (V9.1) and contains the same 16 function classes with added domain-specific block types (e.g., PUMP_C, TANK_L, BELT_W, REACTOR_TEMP).

3. Documentation Set for PCS 7 Block Library Use

Siemens publishes the documentation as a layered manual set. Use the references below in the order listed when you are new to PCS 7 block wiring.

  1. Getting Started Part 1 (as of V8.0 with APL) - SIMATIC PCS 7 Getting Started Part 1 - step-by-step engineering of a sample project from hardware configuration through WinCC commissioning.
  2. Getting Started Part 2 (as of V8.0 with APL) - SIMATIC PCS 7 Getting Started Part 2 - extends the sample project with SFC sequencing, batch, and operator screens.
  3. PCS 7 Compendium Part A - PCS 7 Compendium A - full project setup A to Z, including plant hierarchy design, master data library use, and signal-flow patterns.
  4. Standard Blocks Manual (legacy) - PCS 7 Standard Library Blocks Manual - block-by-block I/O description for the IFL/Standard Library. Still required when you must maintain a V7.1 SP2 project.
  5. PCS 7 CFC for SIMATIC S7 - working with CFC charts, inter-chart connections, run-time groups, and chart partitioning.
  6. PCS 7 Programming Instructions for Blocks V7.0 and higher - rules for naming conventions, instance DB layout, and block icon generation.
  7. PCS 7 Industry Library V9.1 PDF - PCS 7 Industry Library for PCS 7 (V9.1) - block catalog for IL with V9.1-specific function classes.
Library Version Compatibility: The APL V9.1 block library requires PCS 7 V9.1 runtime and a STEP 7 V5.6 SP2 ES or TIA Portal V17 ES. Loading APL V9.1 blocks into a V7.1 SP2 AS is not supported - the FB interface signatures changed at V8.0 and again at V9.0.

4. How APL Block Connections Are Structured

Every APL block has the same input/output anatomy. The figure below describes the standard layout of an APL I/O block (the structure is identical for motor, valve, and controller blocks with small additions).

4.1 Universal I/O Structure

Pin Group Prefix Example Pins Function
Process values PV, SP, MV PV_IN, PV_OUT, SP, SP_EXT, MV Wired to the field via the channel driver block
Operator control OP OP_A, OP_D, AUT_ON, MAN_ON, SP_EX Wired to faceplate operators, source selection
Mode switching MOD MOD_LOC, MOD_REM, MOD_MAN, MOD_AUT Local / remote / manual / automatic mode
Limits / alarms LI, MSG LI1_H, LI1_L, AH, AL, WH, WL, MSG_ACK Alarm and warning levels, hysteresis
Interlock / permissive INT, PERM INT_LOC, INT_REM, PERM_ON, PERM_OFF Safety interlock inputs, permissive state
Status / feedback Q, FB, ST Q_BAD, FB_OPEN, FB_CLOSED, ST_SP, ST_PV Output status, feedback of valve / motor positions
Configuration CFG, C CFG_ALARM_BEH, C_T1, C_PID_KP Block configuration: alarm class, timer constants, PID gains

4.2 Block Connection Flow

Wiring an APL block is performed in three steps inside the CFC editor. The same flow applies whether the block is in the unit-level UNIT chart or a process tag chart under PLANT_HIERARCHY\Area\Unit\Chart.

  1. Drag the block type from the APL master data library into the CFC sheet. The block is instantiated with a default name such as MOT_001.
  2. Right-click the block and assign an S7 tag name. The naming convention is the chart path plus instance: AREA1\UNIT_A\MTR_PUMP1.MOT_001.
  3. Wire the I/O pins to either chart-level shared addresses (inter-chart connection through Chart I/O view) or directly to the field via a CH_AI / CH_AO / CH_DI / CH_DO channel driver block.

5. Standard Block Wiring Patterns (Templates)

PCS 7 ships a Templates folder inside every APL master data library. The templates are pre-wired CFC sheets that you copy into your project. The list below covers the templates present in the V9.1 Industry Library set and the standard APL set.

Template Name Contained Block Types Field Wiring
MOT_1FB MOT (FB1650) + CH_DI (2x) + CH_DO (1x) Contactor command DO, run feedback DI, fault DI
MOT_2FB MOT_REV (FB1651) + CH_DI (4x) + CH_DO (2x) Fwd/Rev commands, Fwd/Rev feedbacks, two faults
MOT_SPD MOT_SPD (FB1661) + CH_AI + CH_AO Speed setpoint AO, speed feedback AI, drive enable DO
VALVE_ANA VALVE_ANA (FB1665) + CH_AI + CH_AO + CH_DI (2x) Positioner AO, position feedback AI, limit switches DI
VALVE_2S VALVE (FB1664) + CH_DO (1x) + CH_DI (2x) Open command DO, open/close limit switches DI
PID_LOOP CTRL_PID (FB1869) + AIN + AOUT PV from AIN, SP from operator, MV to AOUT
STEP_CTRL CTRL_S (FB1870) + AIN + CH_DO (2x) Pulse-width output for electric actuators
CALC_TOT INT (FB44) + AIN Flow totalization, daily / shift / month totals
Best practice: Always copy a template into your chart, rename the instance DB, and modify the wiring. Building a motor block by hand from a blank sheet is the most common source of missing faceplate elements and lost alarm classes in PCS 7.

6. Step-by-Step Configuration Procedure

6.1 Prerequisites

  • PCS 7 Engineering System installed (V7.1 SP2 / V8.x / V9.x) on Windows 10 / Server 2016 or later.
  • STEP 7 V5.5 SP4 (for V7.1 SP2 projects) or STEP 7 V5.6 SP2 (for V8.x) installed on the ES.
  • Master data library with the correct APL version (e.g., PCS7_APL_V91) loaded in SIMATIC Manager under Options > Master Data Library > Open.
  • Plant hierarchy created with at least one AREA, one UNIT, and a process tag Chart container.
  • Hardware configuration for the AS 410 family (or AS 410E / AS 410 SMART) compiled successfully.

6.2 Insert a Motor Block from the APL Library

  1. Open the target CFC chart in PLANT_HIERARCHY\AREA1\UNIT_A\MTR.
  2. From the Library task card, navigate to PCS7_APL_V91\Blocks+Templates\Blocks\Motors.
  3. Drag MOT (FB1650) into the CFC sheet. The block lands at the next free grid position.
  4. Right-click the block icon, choose Object Properties > Block, and set:
    • Name = MOT_PUMP1 (8-character S7 limit)
    • Instance DB = DB1201
    • Comment = Boiler feed pump 1 - forward running
  5. Open the Chart I/O view and expose the following pins as chart inputs/outputs:
    • Input: SP_AUT (start command, BOOL)
    • Input: SP_REM (remote start, BOOL)
    • Input: INT_LOC (interlock, BOOL)
    • Output: Q_RUN (running status, BOOL)
    • Output: Q_FAULT (motor fault, BOOL)
  6. Compile the chart with Chart > Compile > S7 and check the diagnostic buffer for FB/DB signature mismatches.

6.3 Wire the Channel Driver

  1. Insert CH_DO (FB240) for the start command. Connect its OUT to the digital output module address (e.g., QW0 bit 0 of slot 4).
  2. Insert CH_DI (FB241) for the running feedback. Connect its IN to the digital input module address (e.g., IW0 bit 0 of slot 4).
  3. Insert a second CH_DI for the thermal overload / fault contact.
  4. In the CFC sheet, draw the connections:
    • CH_DO.OUT → MOT_PUMP1.SP_AUT
    • CH_DI_RUN.IN → MOT_PUMP1.FB_RUN
    • CH_DI_FLT.IN → MOT_PUMP1.FB_FAULT
  5. Right-click the connection lines, choose Connection > Properties, and set the Signal Flow direction (the APL blocks require the flow to point from the field driver to the block input).

6.4 Configure the Faceplate in WinCC

  1. Open the WinCC Explorer of the OS project.
  2. Run OS Project Editor > Faceplate Assignment. The OS Project Editor reads the SFC and CFC instance data and assigns the APL faceplates automatically.
  3. Verify the faceplate appears in the unit's process image. Right-click the block instance, choose Picture > Open Faceplate. The MOT faceplate must show the standard view with Start, Stop, Local/Remote, Auto/Manual, Acknowledge, and the limit value strip.

7. Block-Specific Configuration Notes

7.1 CTRL_PID (FB1869) - Continuous Controller

Pin Direction Type Default Range / Unit Notes
SP InOut REAL 0.0 .. 100.0 % Operator setpoint, wired from faceplate or remote SP
PV InOut REAL 0.0 .. 100.0 % Process variable, fed from AIN block
MV InOut REAL 0.0 .. 100.0 % Manipulated variable, fed to AOUT block
GAIN / TI / TD Input REAL / TIME / TIME 1.0 / 20 s / 0 s PID gains, runtime-tunable from faceplate
DEADB_W Input REAL 0.0 % Insensitivity around SP
SP_HLM / SP_LLM Input REAL 100.0 / 0.0 % Setpoint high/low clamps
MV_HLM / MV_LLM Input REAL 100.0 / 0.0 % MV output clamps
SP_TRACK_ON Input BOOL FALSE SP tracking in manual mode

7.2 MOT_SPD (FB1661) - Variable-Speed Motor

Use MOT_SPD for drives controlled via PROFIdrive (SINAMICS G120, G150, S120) over PROFIBUS DP or PROFINET. The block expects three PROFINET/PROFIBUS data words (control word 1, control word 2, speed setpoint) and produces three data words back (status word 1, status word 2, speed actual). The block's SPD_AUT and SPD_REM inputs accept the setpoint source, and SPD_FBK returns the measured speed.

7.3 VALVE_ANA (FB1665) - Modulating Valve

The modulating valve block has two important interlocks built in:

  • INT_LOC blocks the valve from moving in any mode.
  • PERM_ON must be TRUE for OPEN movement; PERM_OFF must be TRUE for CLOSE movement. Leave both FALSE to disable the valve without triggering an interlock message.

Positioner fault detection: if the difference between MV and PV exceeds POS_DIFF for longer than POS_T, the block raises a positioner fault alarm. Default values: POS_DIFF = 5%, POS_T = 30 s.

7.4 AIN (FB7) / AOUT (FB9) - Channel Blocks

Configure the channel blocks through their CH_CFG input. For 4-20 mA signals:

  • CH_CFG.VAL_TYPE = 1 (4-20 mA linear)
  • CH_CFG.HIGH_SCALE = 100.0
  • CH_CFG.LOW_SCALE = 0.0
  • CH_CFG.SIM_ON = FALSE (simulated value for commissioning)

8. Verification and Commissioning Checks

  1. Compile CFC: Chart > Compile > S7. The "Compile" tab must show zero errors and zero warnings. Open the Compile Log and confirm the FB/DB block list matches the project master data library version.
  2. Download to AS: Use PLC > Download > Entire Program. The AS must be in STOP. Verify the online view shows the block instances with the correct runtime version (e.g., FB1869 v2.0 for CTRL_PID V9.1).
  3. OS Project Editor: Run the OS Project Editor with Re-Generate All Pictures enabled. Open the runtime image and confirm every APL block icon has an active faceplate link.
  4. Watch Table Test: Open a watch table on the AS online view, force the digital outputs to TRUE one at a time, and confirm the faceplate in WinCC switches from AUT to MAN and the runtime trend updates within the configured refresh time (default 1 s).
  5. Alarm Test: Trigger an interlock violation (e.g., force INT_LOC = FALSE while the motor is running). The OS message line must display a Class "Interlock" alarm with the configured acknowledgment model.
  6. PID Tuning: Put CTRL_PID in manual, step the MV by 10%, observe the PV response, then switch to auto and tune Kp, Ti, Td. Tune using the standard Ziegler-Nichols step or Lambda tuning. Keep Ti ≥ 5 * sample time to prevent integral windup.

9. Troubleshooting Matrix

Symptom Likely Root Cause Diagnostic Corrective Action
Faceplate opens but all values are "#" Block instance DB downloaded but faceplate not regenerated OS Project Editor log shows no entries for this block Run OS Project Editor with "Re-Generate All", then download OS server
Motor will not start from faceplate INT_LOC is FALSE Online view of MOT block, column "Interlock" reads "Active" Trace the upstream interlock chain; check the PERM_ON and PERM_OFF inputs
Positioner fault appears immediately POS_DIFF too low or feedback polarity inverted Compare MV vs PV in the standard view of VALVE_ANA Reverse feedback polarity in the channel driver, or raise POS_DIFF to match mechanical hysteresis
CTRL_PID windup on start-up PV is invalid (Q_BAD = TRUE) Watch AIN.Q_BAD online Wire AIN.Q_BAD to CTRL_PID.PV_BAD to freeze MV on bad PV
Compile error "FBxxxx not found in master data library" Mismatched library version on ES vs. project Check Options > PCS 7 > Library Usage Open the master data library referenced by the project and re-insert the block type
Alarm class shows "---" in OS Alarm class assignment missing in CH_AI / CH_DI block Open block, Configuration > Alarm Assign AH_ACT_CLASS = "Limit - High" and AL_ACT_CLASS = "Limit - Low"
SFC step will not run, transition permanently FALSE Precondition block has not been instantiated Check SFC transition online, open detail view Insert the missing APL block (e.g., INT_AND, PERM_AND) into the SFC's parent chart

10. Library Version Migration Path (V7.1 SP2 → V9.1)

Projects that originate on V7.1 SP2 with the IFL/Standard Library require a structured migration. Siemens supports two approaches:

  1. Drag-and-drop replacement (small projects): In the CFC, delete the IFL motor block, drag in the APL MOT block, manually rewire the 6-8 standard I/O pins, and recompile. This is acceptable for fewer than 50 blocks per AS.
  2. Migration tool (large projects): Use Options > PCS 7 > Library Migration. The tool reads the IFL block signatures and substitutes the matching APL V9.1 block type, preserving the instance DB names, the CFC connection list, and the OS faceplate assignment.

After migration, recompile both the AS and OS, perform a full S7 download, regenerate the OS pictures, and run a controlled alarm test on every migrated block before taking the affected unit back into production.

11. Performance and Cycle-Time Considerations

Every APL block consumes runtime on the AS cycle. A typical AS 410 station (CPU 410-5H, firmware V8.2 or later) supports roughly 300 blocks per OB1 cycle at a 100 ms cycle time. Heavy use of CTRL_PID, MOT_SPD, and VALVE_ANA blocks with long list of alarms increases OB1 load significantly. Apply these rules:

  • Group fast interlocks (less than 50 ms response) in the OB1 run sequence.
  • Place slow controller loops (1-2 s) in OB35 or OB36 with their own run-time group.
  • Use PHASE in the CFC run-time group to offset the start of each block family and avoid spike loads.

12. Frequently Asked Questions

What is the difference between the PCS 7 Standard Library and the Advanced Process Library (APL)?

The PCS 7 Standard Library is the legacy block set (FB numbers below 1000) used in V6 and V7 projects. The APL is the modern block set (FB numbers 1650-2499) introduced as the default in V8.0 and expanded in V9.0 and V9.1. APL blocks have unified faceplates, runtime-tunable parameters, and a standardized alarm model. For new projects, always use the APL.

Can I use APL V9.1 blocks in a PCS 7 V7.1 SP2 project?

No. The block interface signatures changed between V7.1 SP2 and V8.0 and again at V9.0. Loading V9.1 APL blocks into a V7.1 SP2 AS will produce a download error and a runtime mismatch. The project and the AS must run the same major version of PCS 7.

Where do I find the documentation for an individual block's inputs and outputs?

Open the block in the CFC editor, press F1 (online help), or refer to the Standard Blocks Manual for legacy blocks. For APL blocks, the Help-on-Block file is included with the master data library installation and the Industry Library V9.1 manual lists every pin of every block in the catalog.

How do I create a new faceplate for a custom block?

PCS 7 allows custom faceplates through the WinCC Graphics Designer. Use the APL faceplate template as a starting point, replace the tag connections with the custom block's instance DB references, and assign the new faceplate to the block in the OS Project Editor. Note that custom faceplates are not part of the standard APL library and must be maintained by the project engineering team.

How do I simulate a block during commissioning?

Enable the simulation input on the channel driver (e.g., CH_AI.SIM_ON = TRUE) and set CH_AI.SIM_V = 50.0. The driver will publish the simulated value to the process variable and the rest of the loop will respond. Always disable simulation before transferring the plant to the operator.

Back to blog