Retaining APL Out of Service (OoS) Operating Mode Across CPU Downloads

Retaining APL Out of Service (OoS) Operating Mode Across CPU Downloads

In SIMATIC PCS 7 Advanced Process Library (APL), the Out of Service (OoS) operating mode is natively retained across a CPU warm restart (OB100) without requiring Feature.Bit0. However, when a Full Download (Complete Download) is executed to the automation controller, all non-retentive instance DB memory is re-initialized to initial offline values, resetting the block to Manual or On mode because internal parameters ManAct.Value and OnAct.Value initialize to TRUE. To preserve OoS mode across full downloads, avoid full downloads during production by using CFC Delta Downloads, or implement custom startup logic interconnecting a retentive state memory to block input OosLi with Feature.Bit1 enabled.

Table of Contents

APL Out of Service Operating Mode Architecture

In the SIMATIC PCS 7 Advanced Process Library (APL), 'Out of Service' (OoS) is the highest-priority maintenance mode for technological blocks (MotL, VlvL, PIDConL, MonAnL). When a field technician or operator switches a block to Out of Service, all automatic control logic, external interlocks, and alarm messages are deactivated. The block icon displays a wrench symbol, and the device is safely isolated from plant sequence control.

Operating mode transitions require careful state persistence. If plant controllers are serviced, engineers expect equipment flagged as Out of Service to remain Out of Service when the controller resumes operation, preventing hazardous unexpected restarts of machinery undergoing mechanical overhaul.

Warm Restart (OB100) vs Full Download Memory Reinitialization

Understanding the difference between CPU warm restarts and full program downloads explains why OoS mode can be lost:

  1. CPU Warm Restart (OB100 Execution): When the CPU transitions from STOP to RUN (warm restart), retentive instance Data Blocks maintain their last operating state. The APL block executes startup routines in OB100. By design, the block evaluates its internal mode register: if it was in Out of Service, it remains in Out of Service.

  2. Full Download (Complete Download in STOP): A full download reloads all program blocks and recreates all instance Data Blocks in CPU memory from offline code. During block initialization, all DB variables are reset to their offline initial defaults. In APL block definitions, the initial default value for ManAct.Value (Manual Mode Active) is 1, while OosAct.Value is 0. Consequently, the block wakes up in Manual Mode, completely clearing the operator's OoS setting.

The Role of Feature.Bit0 and Feature.Bit1 in Startup Behavior

Engineers frequently look to APL Feature bits to control startup behavior:

  1. Feature.Bit0 ('Set startup characteristics'): Governs whether a block retains its last operating mode (e.g., Automatic) or reverts to Manual during a warm restart. As stated in the Siemens APL manual, Feature.Bit0 has no effect on Out of Service mode, because OoS retention is already handled natively during warm restarts.

  2. Feature.Bit1 ('Reaction to Out of Service mode'): Configures whether the block can be switched to Out of Service via interconnected logic (OosLi = 1) or exclusively via the operator faceplate (OosOp = 1). Setting Feature.Bit1 = 1 enables programmatic locking into OoS mode.

Comparison of CPU Restart Types and APL Mode Retention

The table below details how various CPU restart and download actions impact APL operating modes.

Controller EventCPU Execution StateDB Instance Memory StatusAPL Mode Retention (OoS)CFC Delta DownloadCPU remains in RUNPreserves all online DB valuesRetained: OoS state remains 100% untouchedCPU Warm RestartSTOP -> RUN (Power cycle / Warm Start)Retentive DB values maintainedRetained: Native APL logic keeps OoS activeRead Back ParametersOffline project updated from online ASReads operator setpoints, not active modeNot Retained: Mode flags are not read backFull AS DownloadSTOP -> RUN (Complete Download)All DBs recreated with offline defaultsLOST: Block resets to Manual mode (ManAct = 1)Full Download with Custom OoS LogicSTOP -> RUN (Complete Download)Retentive DB / Logic restores OosLiRetained: Programmatic logic forces OoS

Step-by-Step Procedure to Preserve OoS States Across Full Downloads

To ensure critical equipment remains Out of Service even after an unavoidable full controller download, implement programmatic state restoration logic:

  1. Enable Programmatic OoS Control in APL:
    - In CFC, open the target block (e.g., MotL).
    - Set parameter Feature.Bit1 = 1 ('Reaction to Out of Service mode: 1 = via interconnection and operator').

  2. Implement Retentive OoS Memory Logic:
    - Create a dedicated retentive Data Block (or use an SCL block with VAR RETAIN) to track equipment maintenance flags.
    - Interconnect the maintenance flag to MotL.OosLi.

  3. Alternative Startup Pulse Block:
    - If maintenance tracking is handled by an external flag, create a startup block called in OB100/OB35.
    - On detection of a full download (initial scan where retentive memory indicates first cycle), pulse OosLi = 1 for 3 seconds for all designated tags, forcing the blocks into Out of Service.

  4. Standard Operating Best Practice: Enforce Delta Downloads:
    - In production environments, strictly mandate CFC Delta Downloads (Download -> Changes Only).
    - Delta downloads preserve running instance DBs, eliminating state resets entirely.

Verification

Verify OoS behavior through the following test sequence:
1. In WinCC Runtime, place a test motor into Out of Service: verify that the wrench icon appears on the faceplate and block icon.
2. Perform a CPU STOP -> RUN warm restart: verify that upon restart, the motor remains in Out of Service mode.
3. Execute a CFC Delta Download from SIMATIC Manager: verify that the block maintains Out of Service status.
4. If testing full download logic, perform full download to a test PLC: confirm that custom startup logic restores OosAct = 1.

Limitations and Operational Precautions

Forcing blocks into Out of Service programmatically via OosLi requires caution. While OosLi = 1 is held, operators cannot manually switch the block back to Manual or Automatic from the WinCC faceplate. Ensure that the programmatic reset logic releases OosLi (returns to 0) after setting the state, or provide an operator-accessible maintenance release pushbutton in the HMI.

Engineer FAQ

Does Feature.Bit0 keep a block in Out of Service mode?

No. Feature.Bit0 governs Auto/Manual startup retention. It has no effect on Out of Service mode, which is already retained natively during warm restarts.

Why does 'Read Back' in CFC not save the Out of Service state?

CFC Read Back is designed to capture operator setpoints (such as PID gains, limits, and timers). Operating mode state registers (like OosAct) are not read back into offline chart parameters.

Can I switch a block to Out of Service directly from Automatic mode?

In standard APL, a block must typically be switched to Manual mode before the Out of Service command can be selected on the faceplate.

Technical References

Related Articles

Related Tags

  • APL
  • Out of Service
  • OoS
  • Warm Restart
  • Full Download
  • Feature Bits
6 respuestas