Developing Custom Drive Components in the SIMIT Component Type Editor

Developing Custom Drive Components in the SIMIT Component Type Editor

In SIMIT Simulation Platform, standard components located under the 'Drives' library folder (such as valves, pumps, and motors) are proprietary, password-protected models whose internal passwords are not released by Siemens. To create customized drive behavior, engineers must develop custom components from scratch using the SIMIT Component Type Editor (CTE). By defining input pins (speed commands, run commands), output signals (actual speed, running feedback, electrical current), and behavioral equations (PT1 first-order lags and ramp limits), custom drive components can be tailored to exact plant specifications without unlocking factory models.

Table of Contents

Executive Summary

SIMIT Simulation Platform is widely used for virtual commissioning, operator training systems (OTS), and testing SIMATIC PCS 7 automation software against dynamic plant models. During simulation model engineering, automation specialists frequently create custom component libraries to reflect specialized field equipment. While many standard SIMIT components—such as mathematical blocks and FlowNet hydraulic elements—can be opened and edited freely in the Component Type Editor (CTE), attempting to inspect or modify components in the 'Drives' library (e.g., Drive, Valve, Pump) prompts for a password.

Because users cannot access the underlying source code of standard drive blocks, confusion arises regarding whether passwords can be obtained from Siemens. Siemens considers the mathematical algorithms inside factory drive models proprietary intellectual property and does not disclose passwords. However, creating high-fidelity, customized drive components in SIMIT CTE is straightforward and fully supported. This guide explains why factory drive components are protected and provides the complete architectural framework to design, code, and test custom drive models in SIMIT CTE.

Architecture and Fundamental Mechanics

The SIMIT Component Type Editor (CTE) operates as an object-oriented behavioral modeling environment:

  1. Purpose of Password Protection on Standard Drives:
    - SIMIT standard drive components contain complex numerical state machines handling PROFIdrive telegram parsing, torque-speed curves, friction limits, and fault injections.
    - Siemens locks these blocks to guarantee deterministic numerical stability across standard PCS 7 APL channel blocks (FbDrive, MotL, VlvL) and prevent accidental corruption of baseline libraries.

  2. SIMIT CTE Architectural Model:
    - SIMIT CTE allows users to define custom simulation components using an expressive behavioral language resembling structured text / C:

    • Connectors (Interface): Inputs (IN), Outputs (OUT), and In-Outs (INOUT).
    • Parameters: Static values entered by users (e.g., RampTime, MaxSpeed, RatedCurrent).
    • State Variables: Internal memory variables that retain values across calculation cycles.
    • Equations and Algorithms: Dynamic differential equations, first-order lag (PT1) filters, and boolean logic executed cyclically every simulation time step (_sim_time_step / _dt).
  3. Dynamic Response Mechanics for Custom Drives:
    - A realistic drive model requires modeling two primary characteristics:

    • Binary Interlocking: Command verification (Start -> RunningFeedback with delay).
    • Analog Dynamics: Speed response governed by a ramp generator or first-order lag filter: Speed_New := Speed_Old + (Speed_Target - Speed_Old) * (_dt / AccelerationTime).

Step-by-Step Implementation Procedure

Follow these steps to develop a custom drive component in SIMIT CTE:

  1. Launch SIMIT Component Type Editor (CTE):
    - In SIMIT Simulation Platform, select 'Tools > Component Type Editor' (or open CTE from the Windows Start menu).
    - Create a new component library or open an existing user library.
    - Click 'New Component' and name it (e.g., Custom_VFD_Drive).

  2. Define Graphical Symbol and Terminals:
    - In the Symbol Editor, draw the visual component body (e.g., rectangular drive symbol with motor icon).
    - Add input terminals on the left: Start (Boolean), Speed_SP (Real).
    - Add output terminals on the right: Running (Boolean), Speed_Act (Real), Fault (Boolean), Current_Act (Real).

  3. Declare Parameters and Internal State Variables:
    - Switch to the 'Variables' editor.
    - Define parameters:

    • RampUpTime (Real, default: 5.0 seconds).
    • RampDownTime (Real, default: 5.0 seconds).
    • MaxCurrent (Real, default: 100.0 Amperes).
    • Declare internal state variables:
    • CurrentSpeed (Real, initial: 0.0).
  4. Program Behavioral Equations:
    - Switch to the 'Behavior' editor and write the dynamic equations:
    ```text
    // Dynamic Speed Ramp
    IF Start THEN
    Running := TRUE;
    IF CurrentSpeed < Speed_SP THEN
    CurrentSpeed := CurrentSpeed + (100.0 / RampUpTime) * _dt;
    IF CurrentSpeed > Speed_SP THEN CurrentSpeed := Speed_SP; END_IF;
    ELSIF CurrentSpeed > Speed_SP THEN
    CurrentSpeed := CurrentSpeed - (100.0 / RampDownTime) * _dt;
    IF CurrentSpeed < Speed_SP THEN CurrentSpeed := Speed_SP; END_IF;
    END_IF;
    ELSE
    IF CurrentSpeed > 0.0 THEN
    CurrentSpeed := CurrentSpeed - (100.0 / RampDownTime) * _dt;
    IF CurrentSpeed < 0.0 THEN CurrentSpeed := 0.0; END_IF;
    ELSE
    Running := FALSE;
    END_IF;
    END_IF;

    Speed_Act := CurrentSpeed;
    Current_Act := (CurrentSpeed / 100.0) * MaxCurrent * (0.8 + 0.2 * SIN(_sim_time));
    ```

  5. Compile and Validate the Component:
    - Click 'Compile' in CTE.
    - Verify that the compiler reports 0 Errors.
    - Save and export the component to your SIMIT project library.

  6. Instantiate and Test in SIMIT Project:
    - Open your active SIMIT simulation project.
    - Drag Custom_VFD_Drive from the user library onto a simulation diagram.
    - Connect inputs to PCS 7 Virtual Controller signals (e.g., FbDrive.PZDOut1) and outputs to feedback signals (FbDrive.PZDIn1).
    - Start simulation: observe the smooth, dynamic ramping of speed and current.

Verification

  1. In SIMIT Runtime, toggle Start to TRUE: verify that Running feedback asserts and Speed_Act ramps from 0% to setpoint over the configured RampUpTime.
  2. Change Speed_SP online: verify that Speed_Act follows the setpoint smoothly without abrupt jumps.
  3. In SIMATIC Manager Test Mode: monitor the interconnected FbDrive block in CFC, confirming healthy status and active feedback matching SIMIT.
  4. Toggle Start to FALSE: verify that the drive decelerates to zero output and drops running feedback.

Limitations and Operational Precautions

Custom components built in CTE must adhere to numerical convergence rules; avoid dividing by zero or declaring infinite loops that can stall SIMIT calculation cycles. Ensure user components are backed up in source files (.simitcte), as compiled component binaries cannot be decompiled back into CTE source format if passwords are lost. SIMIT software packages and CTE engineering licenses should be verified through an authorized Siemens distributor or the Siemens Industry Mall.

Engineer FAQ

Can Siemens provide the password to unlock standard Drives components in SIMIT?

No. The standard Drives library components contain proprietary code and passwords are not disclosed by Siemens.

What tool allows creating custom components in SIMIT?

The SIMIT Component Type Editor (CTE), which provides a full graphical and algorithmic development environment.

What variable represents the simulation step time in SIMIT CTE?

_dt represents the calculation time slice (Delta T) of the simulation cycle in seconds.

Can custom components simulate electrical current and motor torque?

Yes. Any physical relationship (such as current, torque, slip, or pressure) can be programmed using mathematical expressions in CTE.

Are custom CTE components reusable across multiple SIMIT projects?

Yes. Components can be compiled into standalone user libraries (.slib) and imported into any SIMIT project.

Technical References

Related Articles

Related Tags

  • SIMIT
  • Component Type Editor
  • CTE
  • Custom Drive Models
  • Password Protection
  • SIMIT 10.2
20 respuestas