Typ: |
Funktionsbaustein |
Verfügbar ab: |
V1.0.0.0 |
Übernommen aus: |
- |
Implementiert: |
- |
Versionen: |
Aktuelle Version |
Referenzfahrt eines MultiBelt mit Touchprobe-Signalen. Das Modul kann ein oder mehrere Signale pro Zug verarbeiten.
Das Modul fährt alle Züge an ihren Homing-Sensoren vorbei und registriert die Signale. Wurde die korrekte Anzahl Signale erkannt, werden die Positionen der Züge um den in iq_stMutliBelt.astTrain[x].lrHomeTPOffset angegebenen Wert zurückgesetzt. Jetzt werden die Züge in die angegebene Station gefahren. Nach Aufruf des Funktionsbausteins steht Zug 1 in i_stParameter.uiStation und die restlichen Züge stehen im definierten Abstand dahinter. Die Bewegungsparameter können über die entsprechenden Eingänge festgelegt werden. Haben alle Züge ihre Endposition erreicht, wird q_xHomeOk auf TRUE gesetzt. Danach kann das Modul deaktiviert werden.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_xEnable |
BOOL |
Eine steigende Flanke FALSE -> TRUE aktiviert die POU, eine fallende Flanke TRUE -> FALSE deaktiviert sie. Wenn die POU deaktiviert ist, führt sie keine Aktionen aus. |
i_xStart |
BOOL |
FALSE -> TRUE: Referenzfahrt wird gestartet |
i_stParameter |
Parameterstruktur zum Referenzieren des MultiBelt-Verbunds |
Ausgang |
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 |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
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. |
Eingang/Ausgang |
Datentyp |
Beschreibung |
---|---|---|
iq_stMultiBelt |
Parameterstruktur des MultiBelt-Verbunds |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
Disabled |
0 |
Der Baustein ist deaktiviert. |
OK |
WaitAllTrainsReady |
1 |
Warten bis alle Züge bereit sind. |
OK |
WaitAllTrainsStopped |
10 |
Warten bis alle Züge stillgesetzt wurden. |
OK |
WaitForCaptureOk |
12 |
Warten auf CaptureOk der Züge. |
OK |
WaitForHomeDone |
16 |
Warten bis das Referenzieren abgeschlossen ist. |
OK |
WaitForSortTrains |
13 |
Warten bis die Züge sortiert sind. |
OK |
WaitForStart |
2 |
Warten auf Startbefehl. |
OK |
WaitForStartOff |
11 |
Warten auf Rücksetzen des Starts. |
ControllerConditionInvalid |
SystemLibDiag |
21 |
Diagnose der SystemLib |
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 |
HomeTpNotSet |
82 |
HomeTp wurde nicht gesetzt. |
InputParameterInvalid |
HomeTPOffsetRange |
29 |
HomeTPOffset ist außerhalb des gültigen Bereichs. |
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 |
MaxTPSignalDistanceRange |
89 |
MaxTPSignalDistance ist außerhalb des gültigen Bereichs. |
InputParameterInvalid |
MinTPSignalDistanceRange |
90 |
MinTPSignalDistance ist außerhalb des gültigen Bereichs. |
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 |
TpInterfaceInvalid |
41 |
Die Schnittstelle des Touchprobe ist ungültig. |
InputParameterInvalid |
TPSignalsPerTrainRange |
88 |
TPSignalsPerTrain ist außerhalb des gültigen Bereichs. |
InputParameterInvalid |
TrainOrderInvalid |
31 |
Die Reihenfolge der Züge ist ungültig. |
LimitReached |
MaxTPSignalDistance |
37 |
Zu großer Abstand zwischen zwei Touchprobe-Signalen. |
LimitReached |
TpMissing |
38 |
Touchprobe nicht gefunden. |
SercosConditionInvalid |
SercosInterfaceInvalid |
24 |
Die Sercos-Schnittstelle ist ungültig. |
UnexpectedProgramBehavior |
UnknownState |
25 |
Nicht bestimmbarer Zustand. |
Enumerationsname: |
ControllerStopInterfaceInvalid |
Enumerationswert: |
101 |
Beschreibung: |
Das ControllerStopInterface ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
ControllerStopInterface ungültig. |
Ungültiger Antriebstyp. |
Wählen Sie einen gültigen Antriebstyp aus. |
Enumerationsname: |
Disabled |
Enumerationswert: |
0 |
Beschreibung: |
Der Baustein ist deaktiviert. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Statusmeldung - Funktionsbaustein ist nicht aktiviert. Der Eingang i_xEnable ist FALSE. |
Den Eingang i_xEnable auf TRUE setzen. |
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 belegt oder ein ungültiger Wert. |
Belegen oder ändern Sie stMultiBelt.astTrain[x].ifDrive.stLogAdr. |
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 belegt. |
Belegen Sie den Parameter stMultiBelt.astTrain[x].ifDrive. |
Enumerationsname: |
HomeAccelerationRange |
Enumerationswert: |
85 |
Beschreibung: |
Die Beschleunigung für das Referenzieren ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Parameter stHomeOnTpParameter.stMove.lrAcc ist ungültig. |
Der Parameter stHomeOnTpParameter.stMove.lrAcc liegt außerhalb seines Wertebereichs. |
Der Parameter stHomeOnTpParameter.stMove.lrAcc muss > Gc_lrMinAcceleration sein. |
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 stHomeOnTpParameter.stMove.lrDec ist ungültig. |
Der Parameter stHomeOnTpParameter.stMove.lrDec liegt außerhalb seines Wertebereichs. |
Der Parameter stHomeOnTpParameter.stMove.lrDec muss > Gc_lrMinAcceleration sein. |
Enumerationsname: |
HomeJerkRange |
Enumerationswert: |
87 |
Beschreibung: |
Der Ruck für das Referenzieren ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Parameter stHomeOnTpParameter.stMove.lrJerk ist ungültig. |
Der Parameter stHomeOnTpParameter.stMove.lrJerk liegt außerhalb seines Wertebereichs. |
Der Parameter stHomeOnTpParameter.stMove.lrJerk muss > Gc_lrMinJerk sein. |
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. |
Enumerationsname: |
HomeTpNotSet |
Enumerationswert: |
82 |
Beschreibung: |
HomeTp wurde nicht gesetzt. |
Problem |
Ursache |
Lösung |
---|---|---|
Touchprobe-Schnittstelle ist ungültig. |
Der Parameter stMultiBelt.astTrain[x].ifTpHome ist nicht belegt. |
Belegen Sie den Parameter stMultiBelt.astTrain[x].ifTpHome. |
Enumerationsname: |
HomeTPOffsetRange |
Enumerationswert: |
29 |
Beschreibung: |
HomeTPOffset ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Parameter stMultiBelt.astTrain[x].lrHomeTPOffset ist ungültig. |
Der Parameter stMultiBelt.astTrain[x].lrHomeTPOffset liegt außerhalb seines Wertebereichs. |
Der Wertebereich des Parameters stMultiBelt.astTrain[x].lrHomeTPOffset reicht von -stMultiBelt.stGeneral.lrBeltLength bis stMultiBelt.stGeneral.lrBeltLength. |
Enumerationsname: |
HomeVelocityRange |
Enumerationswert: |
84 |
Beschreibung: |
Die Geschwindigkeit für das Referenzieren ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Parameter stHomeOnTpParameter.stMove.lrVel ist ungültig. |
Der Parameter stHomeOnTpParameter.stMove.lrVel liegt außerhalb seines Wertebereichs. |
Der Parameter stHomeOnTpParameter.stMove.lrVel muss > Gc_lrMinVelocity sein. |
Enumerationsname: |
LimitInterfaceInvalid |
Enumerationswert: |
36 |
Beschreibung: |
Die Schnittstelle Limit ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Begrenzungsschnittstelle ist ungültig. |
Ungültiger Antriebstyp. |
Wählen Sie einen gültigen Antriebstyp aus. |
Enumerationsname: |
MaxTPSignalDistance |
Enumerationswert: |
37 |
Beschreibung: |
Zu großer Abstand zwischen zwei Touchprobe-Signalen. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Abstand zwischen zwei Touchprobe-Signalen ist ungültig. |
Der Abstand zwischen zwei Touchprobe-Signalen ist zu groß. |
Den Parameter stHomeOnTpParameter.lrMaxTPSignalDistance vergrößern. Verkleinern Sie die Abstände der Touchprobe-Signale. |
Enumerationsname: |
MaxTPSignalDistanceRange |
Enumerationswert: |
89 |
Beschreibung: |
MaxTPSignalDistance ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Parameter stHomeOnTpParameter.lrMaxTPSignalDistance ist ungültig. |
Der Parameter stHomeOnTpParameter.lrMaxTPSignalDistance liegt außerhalb seines Wertebereichs. |
Der Parameter stHomeOnTpParameter.lrMaxTPSignalDistance muss > 0 sein. |
Enumerationsname: |
MinTPSignalDistanceRange |
Enumerationswert: |
90 |
Beschreibung: |
MinTPSignalDistance ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Parameter stHomeOnTpParameter.lrMinTPSignalDistance ist ungültig. |
Der Parameter stHomeOnTpParameter.lrMinTPSignalDistance liegt außerhalb seines Wertebereichs. |
Der Parameter stHomeOnTpParameter.lrMinTPSignalDistance muss >= 0 sein. |
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. |
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. |
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 Controller. |
Ändern Sie den Antriebsbus oder den Controller. |
Enumerationsname: |
SetLimitInterfaceInvalid |
Enumerationswert: |
42 |
Beschreibung: |
Die Schnittstelle SetLimit ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Die SetLimit-Schnittstelle ist ungültig. |
Ungültiger Antriebstyp. |
Wählen Sie einen gültigen Antriebstyp aus. |
Enumerationsname: |
SystemLibDiag |
Enumerationswert: |
21 |
Beschreibung: |
Diagnose der SystemLib |
Problem |
Ursache |
Lösung |
---|---|---|
Diagnose der SystemLib |
Diagnosemeldung aus einer Systembibliothek. |
Weitere Informationen finden Sie unter q_sMsg. |
Enumerationsname: |
TpInterfaceInvalid |
Enumerationswert: |
41 |
Beschreibung: |
Die Schnittstelle des Touchprobe ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
Touchprobe-Schnittstelle ist ungültig. |
Ungültiger Touchprobe-Typ. |
Ändern Sie den Touchprobe-Typ. |
Enumerationsname: |
TpMissing |
Enumerationswert: |
38 |
Beschreibung: |
Touchprobe nicht gefunden. |
Problem |
Ursache |
Lösung |
---|---|---|
Touchprobe nicht gefunden. |
Kein Touchprobe-Signal erkannt. |
Es wird ein Touchprobe-Signal innerhalb der Strecke stMultiBelt.stGeneral.lrBeltLength erwartet. |
Enumerationsname: |
TPSignalsPerTrainRange |
Enumerationswert: |
88 |
Beschreibung: |
TPSignalsPerTrain ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Der Parameter stHomeOnTpParameter.uiTPSignalsPerTrain ist ungültig. |
Der Parameter stHomeOnTpParameter.uiTPSignalsPerTrain liegt außerhalb seines Wertebereichs. |
Der Parameter stHomeOnTpParameter.uiTPSignalsPerTrain muss >= 1 sein. |
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. |
Enumerationsname: |
UnknownState |
Enumerationswert: |
25 |
Beschreibung: |
Nicht bestimmbarer Zustand. |
Problem |
Ursache |
Lösung |
---|---|---|
Nicht bestimmbarer Zustand. |
Bei der Programmverarbeitung ist ein ungültiger Zustand aufgetreten. |
Wenden Sie sich an den für Sie zuständigen Kundendienst von Schneider Electric. |
Enumerationsname: |
WaitAllTrainsReady |
Enumerationswert: |
1 |
Beschreibung: |
Warten bis alle Züge bereit sind. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Statusmeldung - Beim Aktivieren wartet der Funktionsbaustein, bis alle Züge (Achsen) in Lageregelung sind. |
Die Achsen müssen extern aktiviert werden. Es dürfen keine Fehler anstehen. |
Enumerationsname: |
WaitAllTrainsStopped |
Enumerationswert: |
10 |
Beschreibung: |
Warten bis alle Züge stillgesetzt wurden. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Statusmeldung - Stopp beim Deaktivieren des Funktionsbausteins. Eingang i_xEnable = FALSE. |
Setzen Sie den Eingang i_xEnable auf TRUE. |
Enumerationsname: |
WaitForCaptureOk |
Enumerationswert: |
12 |
Beschreibung: |
Warten auf CaptureOk der Züge. |
Statusmeldung - Warten auf Touchprobe-Signal
Enumerationsname: |
WaitForHomeDone |
Enumerationswert: |
16 |
Beschreibung: |
Warten bis das Referenzieren abgeschlossen ist. |
Statusmeldung - Warten bis das Referenzieren abgeschlossen ist.
Enumerationsname: |
WaitForSortTrains |
Enumerationswert: |
13 |
Beschreibung: |
Warten bis die Züge sortiert sind. |
Statusmeldung - Interner Zustand.