Decoupling Uninstalled PROFIBUS Slaves in SIMATIC PCS 7 Using SFC 12 D_ACT_DP

Decoupling Uninstalled PROFIBUS Slaves in SIMATIC PCS 7 Using SFC 12 D_ACT_DP

In SIMATIC PCS 7 and STEP 7 engineering environments, staging multi-panel distributed I/O systems where some field panels are not yet physically wired requires configuring the complete plant hardware network in HW Config once and programmatically decoupling missing nodes using system function SFC 12 (D_ACT_DP). By calling SFC 12 with Mode 2 in startup or commissioning logic, the DP master ceases polling uninstalled slaves, eliminating External Fault (EXTF) and Bus Fault (BF) LED indications and preventing recurring calls to error organization blocks (OB 86 and OB 122) without requiring CPU STOP downloads.

Table of Contents

The Staged Commissioning Dilemma: Hardware Configuration vs CPU STOP

During the phased commissioning of large industrial facilities, distributed I/O stations (such as ET 200M panels, motor control centers, and remote operator desks) are constructed and delivered to site sequentially.
- The Classical Dilemma: In standard S7-400 / S7-300 automation controllers, adding a newly arrived slave to an active PROFIBUS DP network requires updating HW Config and downloading new System Data Blocks (SDBs), which mandates placing the CPU into STOP mode.
- The Staged Engineering Solution: To avoid repeatedly shutting down running plant sections every time a new panel arrives, engineers configure the entire future PROFIBUS network in HW Config during initial engineering, compile the complete configuration, and download it once. To prevent the missing slaves from triggering permanent bus fault alarms, missing nodes are programmatically decoupled.

System Function SFC 12 (D_ACT_DP) Operating Principles

SIMATIC S7 provides the certified system function SFC 12 (D_ACT_DP) to activate and deactivate configured DP slaves or PROFINET IO devices dynamically:
- Deactivation (MODE = 2): The DP master removes the specified slave from its cyclic polling token ring. The CPU stops transmitting telegrams to the node, suppresses diagnostic alarms in OB 86 (Rack Failure) and OB 122 (I/O Access Error), and turns off the controller's red BF (Bus Fault) and EXTF (External Fault) LEDs.
- Activation (MODE = 1): When the physical hardware panel is delivered, addressed, and connected to the fieldbus cable, calling SFC 12 with MODE = 1 commands the master to re-interrogate the node, parameterize its modules, and resume cyclic process data exchange bumplessly.

Step-by-Step Programming and Commissioning Workflow

To implement staged decoupling via SFC 12:

  1. Configure Complete HW Config: Insert all panels (Panel 1, Panel 2, Panel 3) onto the PROFIBUS DP master line. Assign unique PROFIBUS addresses (e.g. 3, 4, 5) and parameterize all I/O modules. Note each slave's Diagnostic Address (e.g. LADDR = W#16#03FE).
  2. Download Entire Hardware Configuration: Download the SDBs to the CPU during the initial plant cold commissioning window.
  3. Implement SFC 12 Deactivation Logic:
    - In a startup routine (such as OB 100 or a designated commissioning CFC chart), call SFC 12.
    - Set REQ = True.
    - Set MODE = B#16#02 (Deactivate).
    - Set LADDR to the diagnostic address of the missing panel (e.g. Panel 2).
    - Because SFC 12 executes asynchronously, evaluate BUSY and RET_VAL (W#16#0000 = success) across multiple CPU cycles.
  4. Field Panel Activation: When Panel 2 is physically installed and connected, trigger an activation pulse (MODE = B#16#01) to integrate Panel 2 into the running system without controller interruption.

SFC 12 Mode and Execution Parameter Matrix

The following table details parameters and operational modes for SFC 12 (D_ACT_DP):

ParameterData TypeValue / ModeDescriptionREQBOOLDynamic PulseTriggers execution on rising edgeMODEBYTEB#16#00Query current status (Active or Deactivated)MODEBYTEB#16#01Activate slave (Starts cyclic polling and parameterization)MODEBYTEB#16#02Deactivate slave (Stops polling; suppresses OB 86 errors)LADDRWORDHex AddressConfigured diagnostic address of the DP slave or PN deviceRET_VALINT16#0000Execution completed successfullyRET_VALINT16#7001 / 7002Block busy; asynchronous execution in progressBUSYBOOLOutput FlagTrue while job is processing; False when complete

Note: SFC 12 is asynchronous; do not call SFC 12 for multiple slaves simultaneously. Sequence calls sequentially until BUSY = False.

Verification

Verify slave decoupling and subsequent activation:
1. In HW Config, confirm that uninstalled Panel 2 is configured, but physically disconnected.
2. In the CPU diagnostic buffer, verify that calling SFC 12 with MODE = 2 removes the OB 86 rack failure event and clears the red EXTF LED.
3. Physically install Panel 2, set its hardware DIP switches to the configured PROFIBUS address, and connect the bus connector.
4. Execute SFC 12 with MODE = 1; observe the IM module LEDs transition to healthy green.
5. In CFC, confirm that inputs from Panel 2 begin updating with Quality Code 16#80 (Good) immediately.

Limitations and Operational Precautions

Essential rules for utilizing SFC 12:
- Calling SFC 12 introduces execution cycle time overhead; always execute asynchronous calls sequentially rather than triggering dozens of instances in the same OB cycle.
- In failsafe systems (S7 F-Systems), deactivating a failsafe I/O station passivates the associated safety channels; safety reintegration procedures must be executed following slave re-activation.
- If the CPU experiences a memory reset (MRES), the CPU returns to the baseline HW Config state; ensure OB 100 re-executes deactivation commands upon controller restart.

Engineer FAQ

Can I use SFC 12 on PROFINET IO devices as well as PROFIBUS DP?

Yes. In modern S7-400 and CPU 410 controllers, SFC 12 functions identically for PROFINET IO devices, using the device's diagnostic address configured in HW Config.

What happens if a program tries to access an I/O address of a deactivated slave?

Direct peripheral access (L PEW) will trigger OB 122 (I/O Access Error). However, process image partition access (IW) simply returns zeros with bad quality status, without triggering CPU faults.

Can I configure Configuration in RUN (CiR) instead of SFC 12?

Yes. If your hardware architecture supports CiR (Configuration in RUN), you can add future slaves to pre-allocated CiR placeholder objects without CPU STOP. However, SFC 12 is preferred when network topology and addresses are already finalized.

Technical References

Related Articles

Related Tags

  • SFC 12
  • D_ACT_DP
  • PROFIBUS DP
  • Staged Commissioning
  • Hardware Configuration
6 respuestas