FB_HomePosToStation – Allgemeine Informationen

Überblick

Typ:

Funktionsbaustein

Verfügbar ab:

V1.0.0.0

Übernommen aus:

-

Implementiert:

-

Versionen:

Aktuelle Version

Task

Die Züge in eine Station fahren.

Beschreibung

Das Modul fährt die Züge in eine Station. Die Ausgangspositionen der Züge müssen dabei zwischen -lrBeltLength und +lrBeltLength liegen. Nach Aufruf des Funktionsbausteins steht Zug 1 in i_stParameter.uiStation und die restlichen Züge stehen im definierten Abstand lrTrainsDistance dahinter. Die Bewegungsparameter können über die entsprechenden Eingänge festgelegt werden. Ein Einsatzzweck des Bausteins ist das Homing mit Absolutwertgebern. Wenn alle Züge ihre Endposition erreicht haben, wird q_xHomeOk auf TRUE gesetzt. Danach kann das Modul deaktiviert werden.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_xEnable

BOOL

Eine steigende Flanke FALSE -> TRUE aktiviert den Baustein, eine fallende Flanke TRUE -> FALSE deaktiviert den Baustein.

Wenn die POU deaktiviert ist, führt sie keine Aktionen aus.

i_xStart

BOOL

FALSE -> TRUE: Referenzfahrt wird gestartet.

i_stParameter

ST_HomePosToStationParameter

Parameterstruktur zur Referenzierung des MultiBelt-Verbunds.

Ausgabe

Datentyp

Beschreibung

q_xActive

BOOL

TRUE: Die POU ist aktiv und muss weiter ausgeführt werden.

FALSE: Die POU ist inaktiv.

q_xReady

BOOL

TRUE: Die POU ist betriebsbereit und kann Benutzerbefehle entgegennehmen.

FALSE: Die POU ist nicht bereit, Anwenderbefehle entgegenzunehmen.

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer Ausgang zur Diagnose.

q_etDiag = GD.ET_Diag.Ok -> Statusmeldung

q_etDiag <> GD.ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung, die den Diagnosezustand konkretisiert.

q_xHomeOk

BOOL

TRUE: Die Referenzfahrt wurde erfolgreich abgeschlossen.

Ein-/Ausgang

Datentyp

Beschreibung

iq_stMultiBelt

ST_MultiBelt

Parameterstruktur des MultiBelt-Verbunds

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Disabled

0

Der Baustein ist deaktiviert.

OK

WaitAllTrainsStopped

10

Warten bis alle Züge stillgesetzt wurden.

OK

WaitForHomeDone

16

Warten bis das Referenzieren abgeschlossen ist.

OK

WaitForStart

2

Warten auf Startbefehl.

OK

WaitForStartOff

11

Warten auf Rücksetzen des Starts.

InputParameterInvalid

ControllerStopInterfaceInvalid

101

Das ControllerStopInterface ist ungültig.

InputParameterInvalid

DriveLogAdrInvalid

26

Die Schnittstelle der Achse ist ungültig.

InputParameterInvalid

DriveNotSet

81

Die Achse wurde nicht gesetzt.

InputParameterInvalid

HomeAccelerationRange

85

Die Beschleunigung für das Referenzieren ist außerhalb des gültigen Bereichs.

InputParameterInvalid

HomeDecelerationRange

86

Die Verzögerung für das Referenzieren ist außerhalb des gültigen Bereichs.

InputParameterInvalid

HomeJerkRange

87

Der Ruck für das Referenzieren ist außerhalb des gültigen Bereichs.

InputParameterInvalid

HomeOffsetInvalid

30

Der Abstand zweier Züge ist ungültig.

InputParameterInvalid

HomeVelocityRange

84

Die Geschwindigkeit für das Referenzieren ist außerhalb des gültigen Bereichs.

InputParameterInvalid

LimitInterfaceInvalid

36

Die Schnittstelle Limit ist ungültig.

InputParameterInvalid

NumOfStationsRange

43

NumOfStations ist außerhalb des gültigen Bereichs.

InputParameterInvalid

RefActValuesInterfaceInvalid

80

Die Schnittstelle RefActValues ist ungültig.

InputParameterInvalid

SetLimitInterfaceInvalid

42

Die Schnittstelle SetLimit ist ungültig.

InputParameterInvalid

TrainOrderInvalid

31

Die Reihenfolge der Züge ist ungültig.

SercosConditionInvalid

SercosInterfaceInvalid

24

Die Sercos-Schnittstelle ist ungültig.

ControllerStopInterfaceInvalid

Enumerationsname:

ControllerStopInterfaceInvalid

Enumerationswert:

101

Beschreibung:

Das ControllerStopInterface ist ungültig.

Problem

Ursache

Lösung

Das ControllerStopInterface ist ungültig.

Ungültiger Antriebstyp.

Wählen Sie einen gültigen Antriebstyp aus.

Disabled

Enumerationsname:

Disabled

Enumerationswert:

0

Beschreibung:

Der Baustein ist deaktiviert.

Problem

Ursache

Lösung

Der Baustein ist deaktiviert.

Statusmeldung – Funktionsbaustein ist nicht aktiviert.

Der Eingang i_xEnable ist FALSE.

Setzen Sie den Eingang i_xEnable auf TRUE.

DriveLogAdrInvalid

Enumerationsname:

DriveLogAdrInvalid

Enumerationswert:

26

Beschreibung:

Die Schnittstelle der Achse ist ungültig.

Problem

Ursache

Lösung

Die Antriebsschnittstelle ist ungültig.

stMultiBelt.astTrain[x].ifDrive.stLogAdr ist nicht zugewiesen oder ein ungültiger Wert.

Belegen oder ändern Sie stMultiBelt.astTrain[x].ifDrive.stLogAdr.

DriveNotSet

Enumerationsname:

DriveNotSet

Enumerationswert:

81

Beschreibung:

Die Achse wurde nicht gesetzt.

Problem

Ursache

Lösung

Die Antriebsschnittstelle ist ungültig.

Der Parameter stMultiBelt.astTrain[x].ifDrive ist nicht zugewiesen.

Weisen Sie den Parameter stMultiBelt.astTrain[x].ifDrive zu.

HomeAccelerationRange

Enumerationsname:

HomeAccelerationRange

Enumerationswert:

85

Beschreibung:

Die Beschleunigung für das Referenzieren ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Parameter stHomePosToStationParameter.stMove.lrAcc ist ungültig.

Der Parameter stHomePosToStationParameter.stMove.lrAcc liegt außerhalb seines Wertebereichs.

Der Parameter stHomePosToStationParameter.stMove.lrAcc muss > Gc_lrMinAcceleration sein.

HomeDecelerationRange

Enumerationsname:

HomeDecelerationRange

Enumerationswert:

86

Beschreibung:

Die Verzögerung für das Referenzieren ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Parameter stHomePosToStationParameter.stMove.lrDec ist ungültig.

Der Parameter stHomePosToStationParameter.stMove.lrDec liegt außerhalb seines Wertebereichs.

Der Parameter stHomePosToStationParameter.stMove.lrDec muss > Gc_lrMinAcceleration sein.

HomeJerkRange

Enumerationsname:

HomeJerkRange

Enumerationswert:

87

Beschreibung:

Der Ruck für das Referenzieren ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Parameter stHomePosToStationParameter.stMove.lrJerk ist ungültig.

Der Parameter stHomePosToStationParameter.stMove.lrJerk liegt außerhalb seines Wertebereichs.

Der Parameter stHomePosToStationParameter.stMove.lrJerk muss > Gc_lrMinJerk sein.

HomeOffsetInvalid

Enumerationsname:

HomeOffsetInvalid

Enumerationswert:

30

Beschreibung:

Der Abstand zweier Züge ist ungültig.

Problem

Ursache

Lösung

Der Abstand zweier Züge ist ungültig.

Der Abstand zwischen zwei Zügen ist kleiner als die Zuglänge.

Die Züge müssen referenziert werden. Die Positionen der Züge sind verloren gegangen (Retain-Variablen) und müssen neu festgelegt werden.

HomeVelocityRange

Enumerationsname:

HomeVelocityRange

Enumerationswert:

84

Beschreibung:

Die Geschwindigkeit für das Referenzieren ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Parameter stHomePosToStationParameter.stMove.lrVel ist ungültig.

Der Parameter stHomePosToStationParameter.stMove.lrVel liegt außerhalb seines Wertebereichs.

Der Parameter stHomePosToStationParameter.stMove.lrVel muss > Gc_lrMinVelocity sein.

LimitInterfaceInvalid

Enumerationsname:

LimitInterfaceInvalid

Enumerationswert:

36

Beschreibung:

Die Schnittstelle Limit ist ungültig.

Problem

Ursache

Lösung

Die Schnittstelle Limit ist ungültig.

Ungültiger Antriebstyp.

Wählen Sie einen gültigen Antriebstyp aus.

NumOfStationsRange

Enumerationsname:

NumOfStationsRange

Enumerationswert:

43

Beschreibung:

NumOfStations ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

Der Parameter stMultiBelt.stGeneral.uiNumOfStations ist ungültig.

Der Parameter stMultiBelt.stGeneral.uiNumOfStations liegt außerhalb seines Wertebereichs.

Der Parameter stMultiBelt.stGeneral.uiNumOfStations muss im Bereich von 1 bis Gc_uiMaxNumberOfStations liegen.

RefActValuesInterfaceInvalid

Enumerationsname:

RefActValuesInterfaceInvalid

Enumerationswert:

80

Beschreibung:

Die Schnittstelle RefActValues ist ungültig.

Problem

Ursache

Lösung

Die Schnittstelle RefActValues ist ungültig.

Ungültiger Antriebstyp.

Wählen Sie einen gültigen Antriebstyp aus.

SercosInterfaceInvalid

Enumerationsname:

SercosInterfaceInvalid

Enumerationswert:

24

Beschreibung:

Die Sercos-Schnittstelle ist ungültig.

Problem

Ursache

Lösung

Die globale Sercos-Schnittstelle ist ungültig.

Falscher Antriebsbus oder falscher Controller.

Ändern Sie den Antriebsbus oder den Controller.

SetLimitInterfaceInvalid

Enumerationsname:

SetLimitInterfaceInvalid

Enumerationswert:

42

Beschreibung:

Die Schnittstelle SetLimit ist ungültig.

Problem

Ursache

Lösung

Die Schnittstelle SetLimit ist ungültig.

Ungültiger Antriebstyp.

Wählen Sie einen gültigen Antriebstyp aus.

TrainOrderInvalid

Enumerationsname:

TrainOrderInvalid

Enumerationswert:

31

Beschreibung:

Die Reihenfolge der Züge ist ungültig.

Problem

Ursache

Lösung

Die Reihenfolge der Züge stimmt nicht.

Die Züge müssen hintereinander stehen.

Die Züge müssen referenziert werden.

WaitAllTrainsStopped

Enumerationsname:

WaitAllTrainsStopped

Enumerationswert:

10

Beschreibung:

Warten bis alle Züge stillgesetzt wurden.

Problem

Ursache

Lösung

Warten bis alle Züge stillgesetzt wurden.

Statusmeldung – Stopp beim Deaktivieren des Funktionsbausteins.

Eingang i_xEnable = FALSE.

Setzen Sie den Eingang i_xEnable auf TRUE.

WaitForHomeDone

Enumerationsname:

WaitForHomeDone

Enumerationswert:

16

Beschreibung:

Warten bis das Referenzieren abgeschlossen ist.

Statusmeldung - Warten bis das Referenzieren abgeschlossen ist.

WaitForStart

Enumerationsname:

WaitForStart

Enumerationswert:

2

Beschreibung:

Warten auf Startbefehl.

Problem

Ursache

Lösung

Warten auf Startbefehl.

Statusmeldung - Der Funktionsbaustein wartet auf den Start.

Der Eingang i_xStart ist FALSE.

Setzen Sie den Eingang i_xStart auf TRUE.

WaitForStartOff

Enumerationsname:

WaitForStartOff

Enumerationswert:

11

Beschreibung:

Warten auf Rücksetzen des Starts.

Problem

Ursache

Lösung

Warten auf Rücksetzen des Starts.

Statusmeldung – Warten auf i_xStart = FALSE.

Setzen Sie den Eingang i_xStart auf FALSE.