Tuning
![]() | Exklusive Funktion für Aktuatoren Diese Corefunction ist ausschließlich bei Aktuatoren verfügbar. |

Diese Corefunction dient der automatischen Optimierung eines Aktuators.
Syntax:
FUNCTION_BLOCK FB_ActuatorTuning EXTENDS FB_CorefunctionFeedback
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: |
Methoden
Name | Beschreibung |
---|---|
[ | Diese Methode wird zyklisch von der Achse aufgerufen. |
FB_ActuatorTuning | |
DoAbort( | Bricht die aktuelle Prozedur ab. |
DoTuneTimeout( | Startet eine Abfolge an Kommandos in die Endlagen des Aktuators und misst dabei die Zeit der Bewegung. |
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) |