PLC mittels Funktionsbausteinen verfahren

Achse bestromen

Ein FluidPower Achsobjekt wurde angelegt und der Positionsregler optimiert,
siehe Regelparameter für Positionsregelung einstellen
Das FluidPower Achsobjekt wurde mit der PLC verknüpft,
siehe Achsobjekte mit PLC verknüpfen
1. Doppelklick auf MAIN und anlegen einer Instanz von Tc3_Mc3Ptp.MC_Power,
siehe MC_Power
2. Implementierung eines zyklischen Aufrufs der angelegten Instanz
PLC mittels Funktionsbausteinen verfahren 1:
VAR
    FluidPowerAxis     : AXIS_REF;
    
    fbPower            : MC_Power;
    bEnable            : BOOL;
END_VAR
fbPower(
    Axis              := FluidPowerAxis,
    Enable            := bEnable,
    EnablePositive    := bEnable,
    EnableNegative    := bEnable,
    Status=> ,
    Error=> ,
    ErrorId=> );

Absolute Positionierung

3. Anlegen einer Instanz von Tc3_Mc3Ptp.MC_MoveAbsolute,
siehe MC_MoveAbsolute
4. Implementierung eines zyklischen Aufrufs der angelegten Instanz
PLC mittels Funktionsbausteinen verfahren 2:
→ Die Achse kann nun mittels PLC bestromt und in die Endlage bewegt werden.
    fbMoveAbsolute    : MC_MoveAbsolute;
    bMoveAbsolute     : BOOL;
    fPosition         : LREAL := 200.0;
    fVelocity         : LREAL := 50.0;
fbMoveAbsolute(
    Axis             := FluidPowerAxis,
    Execute          := bMoveAbsolute,
    Position         := fPosition,
    Velocity         := fVelocity,
    Acceleration     := 200.0,
    Deceleration     := 200.0,
    Jerk             := 500.0,
    BufferMode:= ,
    Done=> ,
    Busy=> ,
    Active=> ,
    CommandAborted=> ,
    Error=> ,
    ErrorId=> );

Druck-/Kraftregelung

5. Anlegen einer Instanz von Tc3_Mc3Ptp.MC_LoadControl,
siehe MC_LoadControl
6. Implementierung eines zyklischen Aufrufs der angelegten Instanz
PLC mittels Funktionsbausteinen verfahren 3:
→ Die Druck-/Kraftregelung der Achse kann nun mittels PLC angestoßen werden.
    fbLoadControl    : MC_LoadControl;
    bLoadControl     : BOOL;
    fLoad            : LREAL := 50.0;
    fLoadRamp        : LREAL := 100.0;
fbLoadControl(
    Axis                := FluidPowerAxis,
    Execute             := bLoadControl,
    Load                := fLoad,
    LoadRamp            := fLoadRamp,
    LoadRampDerivative  := 200.0,
    BufferMode:= ,
    InLoad=> ,
    Busy=> ,
    Active=> ,
    CommandAborted=> ,
    Error=> ,
    ErrorId=> );

Im nächsten Schritt erfolgt die Optimierung des Druckreglers,
siehe Druckregler einstellen