FB_HomeOnTP – Allgemeine Informationen

Überblick

Typ:

Funktionsbaustein

Verfügbar ab:

V1.0.0.0

Übernommen aus:

-

Implementiert:

-

Versionen:

Aktuelle Version

Aufgabe

Referenzfahrt eines MultiBelt mit Touchprobe-Signalen. Das Modul kann ein oder mehrere Signale pro Zug verarbeiten.

Beschreibung

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.

HINWEIS: Nur Touchprobes der Steuerung OnBoard I/O und Antriebs-Touchprobes werden von den Funktionen dieser Bibliothek unterstützt. TM5-Modul-Touchprobes werden nicht unterstützt.

Schnittstelle

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

ST_HomeOnTpParameter

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

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.

Eingang/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

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.

ControllerStopInterfaceInvalid

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.

Disabled

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.

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 belegt 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 belegt.

Belegen Sie den Parameter stMultiBelt.astTrain[x].ifDrive.

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 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.

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 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.

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 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.

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.

HomeTpNotSet

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.

HomeTPOffsetRange

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.

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 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.

LimitInterfaceInvalid

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.

MaxTPSignalDistance

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.

MaxTPSignalDistanceRange

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.

MinTPSignalDistanceRange

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.

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 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 SetLimit-Schnittstelle ist ungültig.

Ungültiger Antriebstyp.

Wählen Sie einen gültigen Antriebstyp aus.

SystemLibDiag

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.

TpInterfaceInvalid

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.

TpMissing

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.

TPSignalsPerTrainRange

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.

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.

UnknownState

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.

WaitAllTrainsReady

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.

WaitAllTrainsStopped

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.

WaitForCaptureOk

Enumerationsname:

WaitForCaptureOk

Enumerationswert:

12

Beschreibung:

Warten auf CaptureOk der Züge.

Statusmeldung - Warten auf Touchprobe-Signal

WaitForHomeDone

Enumerationsname:

WaitForHomeDone

Enumerationswert:

16

Beschreibung:

Warten bis das Referenzieren abgeschlossen ist.

Statusmeldung - Warten bis das Referenzieren abgeschlossen ist.

WaitForSortTrains

Enumerationsname:

WaitForSortTrains

Enumerationswert:

13

Beschreibung:

Warten bis die Züge sortiert sind.

Statusmeldung - Interner Zustand.

WaitForStart

Enumerationsname:

WaitForStart

Enumerationswert:

2

Beschreibung:

Warten auf Startbefehl.

Problem

Ursache

Lösung

-

Statusmeldung - Der Funktionsbaustein wartet auf den Start.

Der Eingang i_xStart ist FALSE.

Den Eingang i_xStart auf TRUE setzen.

WaitForStartOff

Enumerationsname:

WaitForStartOff

Enumerationswert:

11

Beschreibung:

Warten auf Rücksetzen des Starts.

Problem

Ursache

Lösung

-

Statusmeldung - Warten auf i_xStart = FALSE.

Den Eingang i_xStart auf FALSE setzen.