FB_CTRL_STEPPING_MOTOR_OUT
Dieser Funktionsbaustein erzeugt eine Stellgröße für einen Schrittmotor.
Verhalten des Ausgangs
Eingänge
VAR_INPUT
fIn : FLOAT;
bUpperLimitSwitch : BOOL;
bLowerLimitSwitch : BOOL;
fManSyncValue : FLOAT;
bSync
: BOOL;
eMode : E_CTRL_MODE;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
fIn | FLOAT | Stellgröße des Reglers (Reglerausgang) |
bUpperLimit | BOOL | Endschalter, wird TRUE, wenn der obere Anschlag erreicht ist. |
bLowerLimit | BOOL | Endschalter, wird TRUE, wenn der untere Anschlag erreicht ist. |
fManSyncValue | FLOAT | Eingang, mit dem der interne Zustand der Motorstellung angepasst werden kann oder auf dessen Wert im Manual-Mode gefahren wird. |
bSync | BOOL | Mit einer steigenden Flanke an diesem Eingang wird der interne Schrittzähler auf den Schritt gesetzt, der dem Wert „fManSyncValue“ entspricht. |
eMode | E_CTRL_MODE | Eingang, der die Betriebsart des Bausteins festlegt. |
![]() | Dieser Baustein besitzt zur Synchronisation mit der aktuellen Ventilstellung den Mode eCTRL_MODE_SYNC_MOVEMENT. In diesem Mode werden solange Impulse zum Schließen des Ventils ausgegeben, bis das Ventil sicher geschlossen ist. Daran anschließend wird der Baustein auf diese Ventilstellung synchronisiert. Wenn der Synchronisierungsvorgang abgeschlossen ist, wird automatisch in den State eCTRL_STATE_ACTIVE geschaltet. |
Ausgänge
VAR_OUTPUT
bOutBitPos : BOOL;
bOutBitNeg : BOOL;
nActualStep : DINT;
eState : E_CTRL_STATE;
eErrorId : E_CTRL_ERRORCODES;
bError : BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bOutBitPos | BOOL | Ausgang, um den Motor in positiver Richtung zu verfahren. |
bOutBitNeg | BOOL | Ausgang, um den Motor in negativer Richtung zu verfahren. |
nActualStep | DINT | Aktueller Schritt, in dem der Motor steht. |
eState | E_CTRL_STATE | State des Funktionsbausteins |
eErrorId | E_CTRL_ERRORCODES | Liefert bei einem gesetzten |
bError | BOOL | Wird TRUE, sobald ein Fehler eintritt. |
Ein-/ Ausgänge
VAR_IN_OUT
stParams : ST_CTRL_STEPPING_MOTOR_OUT_PARAMS;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
stParams | ST_CTRL_STEPPING_MOTOR_ | Parameterstruktur des Funktionsbausteins |
stParams
besteht aus den folgenden Elementen:
TYPE
ST_CTRL_STEPPING_MOTOR_OUT_PARAMS:
STRUCT
tCtrlCycleTime : TIME := T#0ms;
tTaskCycleTime : TIME := T#0ms;
tOnTime : TIME;
tOffTime : TIME;
nMaxMovingPulses : DINT;
nMinMovingPulses : UINT := 0;
bHoldWithOutputOn : BOOL;
nAdditionalPulsesAtLimits : DINT;
bMoveOnLimitSwitch : BOOL;
fCtrlOutMax
: FLOAT := 100.0;
fCtrlOutMin : FLOAT := 0.0;
END_STRUCT
END_TYPE
Name | Typ | Beschreibung |
---|---|---|
tCtrlCycleTime | TIME | Zykluszeit, mit der der Regelkreis bearbeitet wird. Diese muss größer oder gleich der TaskCycleTime sein. Der Funktionsbaustein berechnet mit dieser Eingangsgröße intern, ob die Zustands- und Ausgangsgrößen in aktuellen Zyklus aktualisiert werden müssen. |
tTaskCycleTime | TIME | Zykluszeit, mit der der Funktionsbaustein aufgerufen wird. Diese entspricht der Task-Zykluszeit der aufrufenden Task, wenn der Baustein in jedem Zyklus aufgerufen wird. |
tOnTime | TIME | Impulslänge |
tOffTime | TIME | Pausenlänge |
nMaxMoving | DINT | Max. Anzahl Impulse, die benötigt werden, um von einem Limit zum anderen zu fahren. |
nMinMoving | UINT | Min. Anzahl Impulse, die benötigt werden, um von einem Limit zum anderen zu fahren. |
bHoldWith | BOOL | Wenn dieser Parameter auf TRUE gesetzt ist, bleibt im Stillstand des Antriebs ein Ausgang gesetzt. Dieser wird somit gebremst. |
nAdditionalPulsesAtLimits | DINT | Impulse, die zum sicheren Erreichen der Grenzen zusätzlich ausgegeben werden. |
bMoveOnLimit | BOOL | Wenn TRUE, werden bei 0% oder 100% Stellgröße solange Impulse ausgegeben, bis ein Endschalter erreicht wird. |
fCtrlOutMax | FLOAT | Stellgröße, bei der das Ventil auf 100% gefahren wird. |
fCtrlOutMin | FLOAT | Stellgröße, bei der das Ventil auf 0% gefahren wird. |