FB_CTRL_SERVO_MOTOR_SIMULATION
Mit diesem Funktionsbaustein kann das Verhalten eines Stellantriebs simuliert werden.
Verhalten des Ausgangs
VAR_INPUT
VAR_INPUT
bMovePos : BOOL;
bMoveNeg : BOOL;
fManSyncValue : FLOAT;
bSync : BOOL;
eMode : E_CTRL_MODE;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
bMovePos | BOOL | Eingang, der den simulierten Stellantrieb in positive Richtung fährt. |
bMoveNeg | BOOL | Eingang, der den simulierten Stellantrieb in negative Richtung fährt. |
fManSyncValue | FLOAT | Eingang, mit dem die simulierte Motorstellung gesetzt werden kann, oder auf dessen Wert im Manual-Mode gefahren wird. |
bSync | BOOL | Mit einer steigenden Flanke an diesem Eingang wird die simulierte Motorposition auf den Wert „fManSyncValue“ gesetzt. |
eMode | E_CTRL_MODE | Eingang, der die Betriebsart des Bausteins festlegt. |
VAR_OUTPUT
VAR_OUTPUT
fMotorPositon : FLOAT;
fMotorState : FLOAT;
bUpperLimitSwitch : BOOL;
bLowerLimitSwitch : BOOL;
eState : E_CTRL_STATE;
eErrorId : E_CTRL_ERRORCODES;
bError : BOOL;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
fMotorPositon | FLOAT | Simulierte Motorstellung im Intervall [ fMovingRangeMin ... fMovingRangeMax ] |
fMotorState | FLOAT | Simulierte Motorstellung im Intervall [ 0 ... 100.0 ] |
bUpperLimit | BOOL | Simulierter Endschalter am positiven Anschlag des Stellantriebs |
bLowerLimit | BOOL | Simulierter Endschalter am negativen Anschlag des Stellantriebs. |
eState | E_CTRL_ | State des Funktionsbausteins |
eErrorId | E_CTRL_ERRORCODES | Liefert bei einem gesetzten |
bError | BOOL | Wird TRUE, sobald ein Fehler eintritt. |
VAR_IN_OUT
VAR_IN_OUT
stParams : ST_CTRL_SERVO_MOTOR_SIMULATION_PARAMS;
END_VAR
Name | Typ | Beschreibung |
---|---|---|
stParams | ST_CTRL_ | Parameterstruktur des Funktionsbausteins |
stParams
besteht aus den folgenden Elementen:
TYPE ST_CTRL_SERVO_MOTOR_SIMULATION_PARAMS:
STRUCT
tCtrlCycleTime : TIME := T#0ms;
tTaskCycleTime : TIME := T#0ms;
fMovingRangeMin : FLOAT := 0;
fMovingRangeMax : FLOAT := 0;
tMovingTime : TIME := T#0ms;
tDeadTime : TIME := T#0ms;
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. |
fMovingRange | FLOAT | Minimale Position des simulierten Stellantriebs |
fMovingRange | FLOAT | Maximale Position des simulierten Stellantriebs |
tMovingTime | TIME | Die Zeit, die benötigt wird, um den simulierten Stellantrieb von einem Anschlag zum anderen zu fahren. |
tDeadTime | TIME | Totzeit des simulierten Stellantriebs |