Tuning

Tuning 1:

Exklusive Funktion für Aktuatoren

Diese Corefunction ist ausschließlich bei Aktuatoren verfügbar.

Tuning 2:

Diese Corefunction dient der automatischen Optimierung eines Aktuators.

Syntax:

FUNCTION_BLOCK FB_ActuatorTuning EXTENDS FB_CorefunctionFeedback

Tuning 3: Eigenschaften

Name

Typ

Zugriff

Beschreibung

InitState

BOOL

Get, Set

Die Corefunction ist nicht vollständig und erfolgreich initialisiert.

FB_ActuatorTuning

TimeoutFactor

LREAL

Get, Set

Faktor (Multiplikator) für die Ermittlung des Timeouts der Bewegungszeit.

FB_CorefunctionFeedback

AbortedState

BOOL

Get, Set

Signalisiert den Abbruch eines Kommandos durch eine andere Corefunction.

BusyState

BOOL

Get, Set

Signalisiert die aktive Ausführung eines Kommandos.

DoneState

BOOL

Get, Set

Signalisiert die erfolgreiche Ausführung eines Kommandos.

IdleState

BOOL

Get, Set

Die Corefunction ist betriebsbereit und kommandierbar.

IsCommanded

BOOL

Get

Signalisiert das Anstehen eines Kommandos.

FB_Corefunction

FailedState

BOOL

Get, Set

Wenn gleichzeitig IsActivated TRUE ist: Signalisiert das Fehlschlagen eines akzeptierten Kommandos.

Wenn gleichzeitig IsActivated FALSE ist: Signalisiert die Ablehnung eines Kommandos.

HasFeedback

BOOL

Get

Die Corefunction hat auf ein anstehendes Kommando reagiert.

IsActivated

BOOL

Get

Die Corefunction hat ein akzeptiertes Kommando anstehen.

IsLocalCmd

BOOL

Get

Signalisiert, dass die Achse mit einem Kommando dieser Corefunction belegt ist.

ReadyState

BOOL

Get, Set

Die Corefunction ist betriebsbereit, aber zu diesem Zeitpunkt nicht kommandierbar.

Mögliche Gründe sind:
- Die Achse ist nicht freigegeben.
- Eine andere Corefunction ist aktiv.
- Die Corefunction unterstützt keine Kommandos.

Tuning 4: Methoden

Name

Beschreibung

[INTERN] Cyclic()

Diese Methode wird zyklisch von der Achse aufgerufen.

FB_ActuatorTuning

DoAbort(bExecute)

Bricht die aktuelle Prozedur ab.

DoTuneTimeout(bExecute)

Startet eine Abfolge an Kommandos in die Endlagen des Aktuators und misst dabei die Zeit der Bewegung.

Hinweis Stellen Sie sicher, dass die verbundenen Endlagen mechanisch erreicht werden können.

Tuning 5: Schnittstellen

Typ

Beschreibung

I_Corefunction

Standardschnittstelle auf FB_Corefunction.

I_ActuatorTuning

Standardschnittstelle auf FB_ActuatorTuning.

I_CorefunctionFeedback

Standardschnittstelle auf FB_CorefunctionFeedback.

Beispiel:

// Get specific interface I_ActuatorBase from general interface I_MotionBase
IF __QUERYINTERFACE(iMotionBase, iActuatorBase) THEN
    
    CASE nState OF
    0:  // Start the tuning
        iActuatorBase.Tuning.DoTuneTimeout(TRUE);
        
    1:  // observe or abort
        IF iActuatorBase.Tuning.FailedState THEN
            nState := -1;
        ELSIF iActuatorBase.Tuning.DoneState THEN
            nState := nState + 1;
        ELSIF bAbortTuning THEN
            iActuatorBase.Tuning.DoAbort(TRUE);
            nState := nState + 2;
        END_IF
    
    2,  // done
    3,  // aborted
    -1: // error
        iActuatorBase.Tuning.DoAbort(FALSE);
        iActuatorBase.Tuning.DoTuneTimeout(FALSE);
    
    END_CASE
ELSE
    // interface is not set to an instance of FB_ActuatorBase
    bIncompatible := TRUE;
END_IF

Voraussetzungen

Entwicklungsumgebung

Zielplattform

Einzubindende SPS-Bibliotheken

TwinCAT v3.1.4024.55

PC oder CX (x64, x86)

Tc3_PlasticFunctions (>= v3.12.5.0)