Creating Closed-Loop PID Simulation Controllers in SIMIT Simulation Platform

Creating Closed-Loop PID Simulation Controllers in SIMIT Simulation Platform

In Siemens SIMIT Simulation Platform (V9.1, V10, V11), engineers simulating continuous process dynamics (such as pressure regulation across a control valve) can implement closed-loop PID control using the native PID controller block located in the SIMIT Component Library under Standard -> Analog -> Closed-loop control. If building custom process models without the pre-packaged PID component, an industrial PID controller can be constructed in SIMIT Macro diagrams by combining the First-Order Lag (PT1), Integrator (INT), and Derivative Filter (DT1) blocks with a summing junction, or by coupling SIMIT directly to S7-PLCSIM / SIMIT Virtual Controller executing standard PCS 7 PIDConL blocks.

Table of Contents

SIMIT Simulation Architecture in Process Control Testing

In virtual commissioning and operator training systems (OTS), Siemens SIMIT Simulation Platform (6DL8913-0AK00-0AB5 / 6DL8913-0BK00-0AB5) simulates the dynamic physical behavior of pipelines, vessels, pumps, and control valves. While primary process controllers (e.g., PIDConL FB1874) reside inside the S7-400 / CPU 410 automation program, engineers frequently need to simulate autonomous local regulating loops directly within SIMIT.

Examples include simulated self-regulating pressure reducing valves (PRVs), local pneumatic temperature thermostats, or emulated auxiliary skid controllers that operate independently of the main distributed control system (DCS).

Native SIMIT Closed-Loop Control Components vs Macro Implementations

Depending on the SIMIT version and library tier, closed-loop regulation is implemented via two methods:

  1. Pre-Built Library Component (PID / PID_CONTROLLER):
    - Located in the SIMIT Component Library under Standard -> Analog -> Closed-loop control.
    - Provides integrated inputs for Setpoint (SP), Process Value (PV), Proportional Gain (K), Integral Time (TI), and Derivative Time (TD), with anti-windup clamping on output Y.

  2. Custom Macro Architecture Using Elementary Blocks:
    - In standard SIMIT installations, if the pre-built PID component is not installed, an ideal PID controller is constructed using standard math components:

    • Error Calculation: Subtraction block SUB computes $ER = SP - PV$.
    • Proportional Action: Multiplication block MUL multiplies $ER$ by Gain $K_p$.
    • Integral Action: Integrator block INT (with reset and limit inputs) integrates $ER / TI$.
    • Derivative Action: Derivative with lag block DT1 calculates rate of change: $\frac{TD \cdot s}{1 + T_1 \cdot s}$.
    • Summing & Limiting: Addition block ADD sums the P, I, and D components and routes the signal through LIMIT (0.0% to 100.0%).

Comparison of PID Modeling Approaches in SIMIT

The following table compares different closed-loop modeling methods in SIMIT:

Modeling MethodSIMIT ComponentReal-Time ExecutionAnti-Windup ProtectionRecommended Use CaseNative SIMIT PID BlockStandard -> Closed-loop control -> PIDNative compiled C++ executionIntegrated in block algorithmSelf-contained skid simulation; autonomous PRVsCustom SIMIT Macro DiagramComposed of INT, DT1, MUL, LIMITInterpreted diagram executionRequires custom limit feedback to INTEducational modeling; custom non-linear algorithmsSIMIT Virtual Controller (VC)Emulates CPU 410 executing PIDConLCyclic PLC emulationFull APL industrial anti-windupExact testing of actual plant control codeS7-PLCSIM CouplingStandard STEP 7 PLC simulationSynchronized via shared memoryFull APL industrial anti-windupSoftware-in-the-loop (SIL) DCS logic validation

Step-by-Step Procedure to Implement a Pressure Control Loop in SIMIT

Follow this procedure to construct an autonomous closed-loop pressure regulator in a SIMIT diagram:

  1. Create Simulation Diagram:
    - In SIMIT project navigation, double-click Diagrams and open or insert a new simulation sheet (e.g. Sim_PressureControl).

  2. Place Elementary Control Blocks:
    - In the Component Library task card, navigate to Standard -> Mathematical functions and drag a SUB (Subtract) block onto the sheet.
    - Connect Setpoint SP (e.g., constant 6.0 bar) to input X1, and connect simulated pipeline pressure PV to input X2.
    - Drag an INT (Integrator) block from Standard -> Analog.
    - Drag a DT1 (Derivative Filter) block and set time constant $T_1 = 0.1s$.
    - Drag multiplier blocks to apply proportional, integral, and derivative gains.

  3. Add Anti-Windup Clamping and Output Limiting:
    - Drag an ADD (Sum) block to sum the P, I, and D signals.
    - Connect the summed output to a LIMIT component with lower limit 0.0 and upper limit 100.0 (representing valve stroke percentage).
    - Feed the upper/lower saturation signals back into the INT freeze input to prevent integral windup when the valve is fully open or closed.

  4. Connect to Process Simulation Valve:
    - Connect the output Y of the limiter to the Position input of your simulated control valve.
    - Connect the valve flow output to a simulated pressure vessel model (e.g. using PT1 First-Order Lag to represent line volume).

Verification

Verify PID loop response in SIMIT Runtime:
1. Start the SIMIT simulation by clicking the yellow Play icon in the main toolbar.
2. Open the SIMIT trend view and assign pens to SP, PV, and valve position Y.
3. Apply a step change to the pipeline consumer demand (e.g., open a simulated discharge valve).
4. Observe that PV dips momentarily, the PID output Y ramps open smoothly, and PV returns to SP = 6.0 bar within the expected settling time.
5. Confirm that no high-frequency numerical oscillations or derivative spikes occur during step changes.

Limitations and Operational Precautions

  1. SIMIT Cycle Time Alignment: SIMIT executes simulation slices at a configured time slice (typically 100ms or 50ms). Ensure the integrator and derivative time constants ($TI, TD$) are substantially larger than the SIMIT time slice; otherwise, numerical discretization errors will destabilize the loop.
  2. Process Historian Coupling: SIMIT internal macro variables are not automatically archived in WinCC or Process Historian. If you need historical trends in WinCC, the simulated signals must be mapped to PROFINET I/O couplings.
  3. Derivative Action on PV: In custom macro PID blocks, always feed the process value PV into the DT1 block (derivative of process value) rather than the error $ER$ to prevent severe actuator bumping when setpoint step changes occur.

Engineer FAQ

Where is the PID block located in SIMIT?

In standard SIMIT installations with complete component libraries, the PID block is located in the Component Library task card under Standard -> Analog -> Closed-loop control -> PID.

Can I test my actual PCS 7 PIDConL block using SIMIT?

Yes. The standard and recommended method for PCS 7 is to leave PIDConL running in S7-PLCSIM or SIMIT Virtual Controller, and use SIMIT purely to simulate the process physics (pipes, valves, transmitters) connected via I/O couplings.

Why does my custom SIMIT integrator wind up when the valve hits 100%?

Without anti-windup clamping, an integrator block continues accumulating error even when the physical actuator is mechanically saturated. You must interconnect the LIMIT component's high limit flag to the integrator's hold/freeze input.

Technical References

Related Articles

Related Tags

  • SIMIT Simulation
  • SIMIT PID Block
  • Closed-Loop Control
  • Virtual Commissioning
  • PT1 DT1 INT
  • Pressure Regulation
6 respuestas