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.
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.
- 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.
- 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.
- 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.
- 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.
- PCS 7 CFC for SIMATIC S7 - working with CFC charts, inter-chart connections, run-time groups, and chart partitioning.
- PCS 7 Programming Instructions for Blocks V7.0 and higher - rules for naming conventions, instance DB layout, and block icon generation.
- 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.
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.
- 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. - 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. - Wire the I/O pins to either chart-level shared addresses (inter-chart connection through
Chart I/Oview) or directly to the field via aCH_AI / CH_AO / CH_DI / CH_DOchannel 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 |
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, oneUNIT, and a process tagChartcontainer. - 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
- Open the target CFC chart in
PLANT_HIERARCHY\AREA1\UNIT_A\MTR. - From the
Librarytask card, navigate toPCS7_APL_V91\Blocks+Templates\Blocks\Motors. - Drag
MOT (FB1650)into the CFC sheet. The block lands at the next free grid position. - 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
-
- Open the
Chart I/Oview 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)
- Input:
- Compile the chart with
Chart > Compile > S7and check the diagnostic buffer for FB/DB signature mismatches.
6.3 Wire the Channel Driver
- Insert
CH_DO (FB240)for the start command. Connect itsOUTto the digital output module address (e.g.,QW0bit 0 of slot 4). - Insert
CH_DI (FB241)for the running feedback. Connect itsINto the digital input module address (e.g.,IW0bit 0 of slot 4). - Insert a second
CH_DIfor the thermal overload / fault contact. - 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
-
- Right-click the connection lines, choose
Connection > Properties, and set theSignal Flowdirection (the APL blocks require the flow to point from the field driver to the block input).
6.4 Configure the Faceplate in WinCC
- Open the WinCC Explorer of the OS project.
- Run
OS Project Editor > Faceplate Assignment. The OS Project Editor reads the SFC and CFC instance data and assigns the APL faceplates automatically. - 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_LOCblocks the valve from moving in any mode. -
PERM_ONmust be TRUE for OPEN movement;PERM_OFFmust 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.0CH_CFG.LOW_SCALE = 0.0-
CH_CFG.SIM_ON = FALSE(simulated value for commissioning)
8. Verification and Commissioning Checks
-
Compile CFC:
Chart > Compile > S7. The "Compile" tab must show zero errors and zero warnings. Open theCompile Logand confirm the FB/DB block list matches the project master data library version. -
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.0for CTRL_PID V9.1). -
OS Project Editor: Run the OS Project Editor with
Re-Generate All Picturesenabled. Open the runtime image and confirm every APL block icon has an active faceplate link. -
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
AUTtoMANand the runtime trend updates within the configured refresh time (default 1 s). -
Alarm Test: Trigger an interlock violation (e.g., force
INT_LOC = FALSEwhile the motor is running). The OS message line must display a Class "Interlock" alarm with the configured acknowledgment model. - 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:
- 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.
-
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
PHASEin 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.