FB_VelocityRatioAlgorithm - Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.0.0

Übernommen aus

-

Implementiert

-

Versionen:

Aktuelle Version

Aufgabe

Algorithmus für den FB_Infeed-Baustein, der auf gleichmäßige Produktbewegung ausgelegt ist.

Beschreibung

Der Algorithmus errechnet für ein Produkt, das an das erste von ihm gesteuerte Band übergeben wird, eine möglichst flache Geschwindigkeitskurve, sodass das Produkt beim Verlassen des letzten von ihm gesteuerten Bands auf dem ihm zugeordneten Ziel liegt. Wenn das Produkt an das erste Band übergeben wird, wird ihm das Ziel zugeordnet, das dem Zielband am nächsten und mit den eingestellten Parametern erreichbar ist.

Der Algorithmus ist für außergewöhnliche, ungeordnete Produktströme gedacht. Um Leertakte aufgrund des unregelmäßigen eingehenden Produktstroms zu vermeiden, empfiehlt sich die Verwendung einer Geschwindigkeitsvorsteuerung der Folgemaschine. Diese kann mit dem Baustein FB_VelocityRatioFeedForward realisiert werden.

Die Produkte werden mit diesem Algorithmus nicht synchron von einen Band an das Nächste übergeben. Aufgrund der Geschwindigkeitsunterschiede der Bänder bei der Produktübergabe ist der Algorithmus nicht für sensible Produkte geeignet.

Der Algorithmus benötigt mindestens 3 Korrekturbänder, die alle mit dem Zielband als Masterband konfiguriert sein müssen.

HINWEIS: Die Methode IF_Infeed.EndOfAlgorithm muss nach dem Aufruf dieses Funktionsbau­steins zyklisch aufgerufen werden. Der Funktionsbaustein widerruft die Flags für die Produkterkennung wie xInkate nicht selbst.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_xEnable

BOOL

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

Wenn der Baustein abgeschaltet ist, führt er keine Aktionen aus.

i_xStart

BOOL

TRUE: Der Algorithmus wird gestartet.

i_xWsSelect

BOOL

Ist i_xWsSelect TRUE, wenn der Baustein über i_xStart gestartet wird, wird ein Warmstart ausgeführt.

i_xDiagQuit

BOOL

Eine steigende Flanke FALSE -> TRUE quittiert die Diagnosemeldungen des Bausteins.

i_ifInfeed

IF_Infeed

 Die Instanz des FB_Infeed-Bausteins, für den der Algorithmus ausgeführt werden soll.

Ausgang

Datentyp

Beschreibung

q_xActive

BOOL

TRUE: Der Baustein ist eingeschaltet und muss weiter ausgeführt werden.

FALSE: Der Baustein ist abgeschaltet.

q_xReady

BOOL

TRUE: Der Baustein ist betriebsbereit und kann Benutzerbefehle entgegennehmen.

FALSE: Der Funktionsbaustein ist nicht betriebsbereit und nimmt keine Benutzerbefehle an.

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Alle Werte außer GD.ET_Diag.Ok entsprechen einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

Bausteinspezifischer Ausgang des Diagnosegeräts.

q_etDiag = GD.ET_Diag.Ok -> Statusmeldung

q_etDiag <> GD.ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung, die mehr Informationen zum Diagnosezustand liefert.

Ein-/Ausgang

Datentyp

Beschreibung

iq_stParameter

ST_VelRatioParameter

Die Parameter des Bausteins

iq_stFeedback

ST_VelRatioFeedback

Die Rückgabewerte des Bausteins

Diagnosemeldungen

q_etDiag

q_etDiagExt

Aufzählungswert

Beschreibung

OK

Disabled

1

Der Baustein ist deaktiviert.

OK

Initializing

2

Der Baustein wird initialisiert.

OK

WaitForStart

3

Warten auf Startbefehl.

OK

WarmstartExecuting

5

Es wird ein Warmstart ausgeführt.

OK

Working

6

Der Baustein arbeitet.

ExecutionAborted

MaxNrOfTargetsReached

74

Die maximale Anzahl der verwaltbaren Ziele ist erreicht.

ExecutionAborted

NoTargetExisting

76

Es konnte kein Ziel gefunden werden.

InputParameterInvalid

AccRange

61

Acc ist außerhalb des gültigen Bereichs.

InputParameterInvalid

BackwardCorrectionAlarmWindowRange

106

BackwardCorrectionAlarmWindow ist außerhalb des gültigen Bereichs.

InputParameterInvalid

BeltTypeInvalid

77

BeltType ist ungültig.

InputParameterInvalid

CamMasterMinVelocityRange

102

CamMasterMinVelocity ist außerhalb des gültigen Bereichs.

InputParameterInvalid

DecRange

62

Dec ist außerhalb des gültigen Bereichs.

InputParameterInvalid

FirstLastVelBeltIndexMissmatch

98

Die Angaben von FirstVelBeltIndex und LastVelBeltIndex widersprechen sich.

InputParameterInvalid

FirstVelBeltIndexRange

96

FirstVelBeltIndex ist außerhalb des gültigen Bereichs.

InputParameterInvalid

ForwardCorrectionLimitAlarmWindowRange

105

ForwardCorrectionLimitAlarmWindow ist außerhalb des gültigen Bereichs.

InputParameterInvalid

InfeedInvalid

94

Es wurde ein ungültiger Infeed Baustein übergeben.

InputParameterInvalid

LastVelBeltIndexRange

97

LastVelBeltIndex ist außerhalb des gültigen Bereichs.

InputParameterInvalid

MasterBeltIdRange

52

MasterBeltId ist außerhalb des gültigen Bereichs.

InputParameterInvalid

MaxVelocityDifferencePercentRange

103

MaxVelocityDifferencePercent ist außerhalb des gültigen Bereichs.

InputParameterInvalid

RefreshBeltIndexHigherLastBeltIndex

101

RefreshBeltIndex ist größer als LastBeltIndex.

InputParameterInvalid

RefreshBeltIndexLowerFirstBeltIndex

100

RefreshBeltIndex ist kleiner als FirstBeltIndex.

UnexpectedProgramBehavior

JobBufferOverflow

78

Es wurden zu viele Bewegungsbefehle abgesetzt.

UnexpectedProgramBehavior

MaxNrOfTargetsReached

74

Die maximale Anzahl der verwaltbaren Ziele ist erreicht.

UnexpectedProgramBehavior

UnknownCase

48

Der Baustein befindet sich in einem undefinierten Zustand.

UnexpectedProgramBehavior

UnknownFeedback

20

Während der Ausführung ist ein unbeabsichtigter Fehler aufgetreten.

AccRange

Aufzählungsname:

AccRange

Aufzählungswert:

61

Beschreibung:

Acc ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Der am Eingang i_ifInfeed übergebenen Infeed-Instanz wurde am Eingang FB_Infeed.ifVelRatio.lrAcc ein ungültiger Wert übergeben.

Am Eingang FB_Infeed.ifVelRatio.lrAcc der angeschlossenen Infeed-Instanz muss ein Wert größer 0 übergeben werden.

BackwardCorrectionAlarmWindowRange

Aufzählungsname:

BackwardCorrectionAlarmWindowRange

Aufzählungswert:

106

Beschreibung:

BackwardCorrectionAlarmWindow ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang iq_stParameter.lrBackwardCorrectionAlarmWindow wurde ein ungültiger Wert übergeben.

Es muss sichergestellt werden, dass am Eingang iq_stParameter.lrBackwardCorrectionAlarmWindow ein Wert größer oder gleich 0 übergeben wird.

BeltTypeInvalid

Aufzählungsname:

BeltTypeInvalid

Aufzählungswert:

77

Beschreibung:

BeltType ist ungültig.

Problem

Ursache

Lösung

-

Die Konfiguration der Bänder des am Eingang i_ifInfeed übergebenen Infeed-Bausteins, ist nicht korrekt.

Der am Eingang i_ifInfeed übergebene Infeed-Baustein muss mit Bändern des Typs ET_BeltType.Series von iq_stParameter.udiFirstVelBeltIndex bis iq_stParameter.udiLastVelBeltIndex parametriert werden.

CamMasterMinVelocityRange

Aufzählungsname:

CamMasterMinVelocityRange

Aufzählungswert:

102

Beschreibung:

CamMasterMinVelocity ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang iq_stParameter.lrCamMasterMinVelocity wurde ein ungültiger Wert übergeben.

Es muss sichergestellt werden, dass am Eingang iq_stParameter.lrCamMasterMinVelocity ein Wert größer oder gleich 1,0 übergeben wird.

DecRange

Aufzählungsname:

DecRange

Aufzählungswert:

62

Beschreibung:

Dec ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Der am Eingang i_ifInfeed übergebenen Infeed-Instanz wurde am Eingang FB_Infeed.ifVelRatio.lrDec ein ungültiger Wert übergeben.

Am Eingang FB_Infeed.ifVelRatio.lrDec der angeschlossenen Infeed-Instanz muss ein Wert größer 0 übergeben werden.

Disabled

Aufzählungsname:

Disabled

Aufzählungswert:

1

Beschreibung:

Der Baustein ist deaktiviert.

Der Funktionsbaustein ist deaktiviert, er führt keinerlei Aktionen aus. i_xEnable und q_xActive haben den Wert FALSE.

FirstLastVelBeltIndexMissmatch

Aufzählungsname:

FirstLastVelBeltIndexMissmatch

Aufzählungswert:

98

Beschreibung:

Die Angaben von FirstVelBeltIndex und LastVelBeltIndex widersprechen sich.

Problem

Ursache

Lösung

-

Die an den Eingängen iq_stParameter.udiFirstVelBeltIndex und iq_stParameter.udiLastVelBeltIndex übergebenen Werte passen nicht zueinander.

Es muss sichergestellt werden, dass der Wert des Eingangs iq_stParameter.udiLastVelBeltIndex größer oder gleich dem Wert von iq_stParameter.udiFirstVelBeltIndex plus zwei ist.

FirstVelBeltIndexRange

Aufzählungsname:

FirstVelBeltIndexRange

Aufzählungswert:

96

Beschreibung:

FirstVelBeltIndex ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang iq_stParameter.udiFirstVelBeltIndex wurde ein ungültiger Wert übergeben.

Es muss sichergestellt werden, dass am Eingang iq_stParameter.udiFirstVelBeltIndex ein Wert übergeben wird, der größer 0 ist und kleiner als die Anzahl der parametrierten Bänder der am Eingang i_ifInfeed übergebenen Infeed-Instanz.

ForwardCorrectionLimitAlarmWindowRange

Aufzählungsname:

ForwardCorrectionLimitAlarmWindowRange

Aufzählungswert:

105

Beschreibung:

ForwardCorrectionLimitAlarmWindow ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang iq_stParameter.lrForwardCorrectionLimitAlarmWindow wurde ein ungültiger Wert übergeben.

Es muss sichergestellt werden, dass am Eingang iq_stParameter.lrForwardCorrectionLimitAlarmWindow ein Wert größer oder gleich 0 übergeben wird.

InfeedInvalid

Aufzählungsname:

InfeedInvalid

Aufzählungswert:

94

Beschreibung:

Es wurde ein ungültiger Infeed Baustein übergeben.

Problem

Ursache

Lösung

-

Am Eingang i_ifInfeed wurde ein ungültiger Wert übergeben.

Es muss sichergestellt werden, dass die Instanz des FB_Infeed-Bausteins am Eingang i_ifInfeed übergeben wird, an dem der Algorithmus ausgeführt werden soll.

Initializing

Aufzählungsname:

Initializing

Aufzählungswert:

2

Beschreibung:

Der Baustein wird initialisiert.

Der Baustein wird initialisiert und ist daher noch nicht bereit, Befehle an den Eingängen entgegenzunehmen.

Der Baustein meldet seine Betriebsbereitschaft mit dem Signal q_xReady = TRUE.

JobBufferOverflow

Aufzählungsname:

JobBufferOverflow

Aufzählungswert:

78

Beschreibung:

Es wurden zu viele Bewegungsbefehle abgesetzt.

Problem

Ursache

Lösung

-

In der internen Ausführung ist ein Fehler aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.

LastVelBeltIndexRange

Aufzählungsname:

LastVelBeltIndexRange

Aufzählungswert:

97

Beschreibung:

LastVelBeltIndex ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang iq_stParameter.udiLastVelBeltIndex wurde ein ungültiger Wert übergeben.

Es muss sichergestellt werden, dass am Eingang iq_stParameter.udiLastVelBeltIndex ein Wert übergeben wird, der größer 0 ist und kleiner als die Anzahl der parametrierten Bänder der am Eingang i_ifInfeed übergebenen Infeed-Instanz.

MasterBeltIdRange

Aufzählungsname:

MasterBeltIdRange

Aufzählungswert:

52

Beschreibung:

MasterBeltId ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Die Konfiguration der Bänder des am Eingang i_ifInfeed übergebenen Infeed-Bausteins, ist nicht korrekt.

Die Bänder von iq_stParameter.udiFirstVelBeltIndex bis iq_stParameter.udiLastVelBeltIndex des am Eingang i_ifInfeed übergebenen Infeed-Bausteins müssen alle das letzte Band der Eintaktstrecke als Cam-Master zugewiesen bekommen haben.

MaxNrOfTargetsReached

Aufzählungsname:

MaxNrOfTargetsReached

Aufzählungswert:

74

Beschreibung:

Die maximale Anzahl der verwaltbaren Ziele ist erreicht.

Problem

Ursache

Lösung

-

Es wurden mehr Produkte erkannt, als Ziele zur Verfügung stehen.

Die Methode IF_Infeed.EndOfAlgorithm muss nach dem Aufruf dieses Funktionsbausteins zyklisch aufgerufen werden.

Der Wert von Gc_udiMaxNumberOfTargets muss erhöht werden.

Es muss sichergestellt werden, dass sich immer weniger als Gc_udiMaxNumberOfTargets Produkte auf den Bändern von iq_stParameter.udiFirstVelBeltIndex bis iq_stParameter.udiLastVelBeltIndex befinden.

MaxVelocityDifferencePercentRange

Aufzählungsname:

MaxVelocityDifferencePercentRange

Aufzählungswert:

103

Beschreibung:

MaxVelocityDifferencePercent ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang iq_stParameter.lrMaxVelocityDifferencePercent wurde ein ungültiger Wert übergeben.

Es muss sichergestellt werden, dass am Eingang iq_stParameter.lrMaxVelocityDifferencePercent ein Wert größer als 0 und kleiner als 100 übergeben wird.

NoTargetExisting

Aufzählungsname:

NoTargetExisting

Aufzählungswert:

76

Beschreibung:

Es konnte kein Ziel gefunden werden.

Problem

Ursache

Lösung

-

Das einem Produkt zugewiesene Ziel wurde gelöscht.

Es muss sichergestellt werden, dass Ziele erst gelöscht werden, wenn das ihnen zugewiesene Produkt das letzte Band verlassen hat, das durch den Algorithmus gesteuert wird.

RefreshBeltIndexHigherLastBeltIndex

Aufzählungsname:

RefreshBeltIndexHigherLastBeltIndex

Aufzählungswert:

101

Beschreibung:

RefreshBeltIndex ist größer als LastBeltIndex.

Problem

Ursache

Lösung

-

Die an den Eingängen iq_stParameter.udiRefreshVelRatioBeltIndex und iq_stParameter.udiLastVelBeltIndex übergebenen Werte passen nicht zueinander.

Es muss sichergestellt werden, dass der Wert des Eingangs iq_stParameter.udiLastVelBeltIndex größer oder gleich dem Wert von iq_stParameter.udiRefreshVelRatioBeltIndex ist.

RefreshBeltIndexLowerFirstBeltIndex

Aufzählungsname:

RefreshBeltIndexLowerFirstBeltIndex

Aufzählungswert:

100

Beschreibung:

RefreshBeltIndex ist kleiner als FirstBeltIndex.

Problem

Ursache

Lösung

-

Die an den Eingängen iq_stParameter.udiRefreshVelRatioBeltIndex und iq_stParameter.udiFirstVelBeltIndex übergebenen Werte passen nicht zueinander.

Es muss sichergestellt werden, dass der Wert des Eingangs iq_stParameter.udiFirstVelBeltIndex kleiner oder gleich dem Wert von iq_stParameter.udiRefreshVelRatioBeltIndex ist.

UnknownCase

Aufzählungsname:

UnknownCase

Aufzählungswert:

48

Beschreibung:

Der Baustein befindet sich in einem undefinierten Zustand.

Problem

Ursache

Lösung

-

In der internen Ausführung ist ein Fehler aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.

UnknownFeedback

Aufzählungsname:

UnknownFeedback

Aufzählungswert:

20

Beschreibung:

Während der Ausführung ist ein unbeabsichtigter Fehler aufgetreten.

Problem

Ursache

Lösung

-

In der internen Ausführung ist ein Fehler aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.

WaitForStart

Aufzählungsname:

WaitForStart

Aufzählungswert:

3

Beschreibung:

Warten auf Startbefehl.

Der Baustein hat seine Initialisierung abgeschlossen und wartet auf eine positive Flanke am Eingang i_xStart, bevor die Verarbeitung fortgesetzt wird.

WarmstartExecuting

Aufzählungsname:

WarmstartExecuting

Aufzählungswert:

5

Beschreibung:

Es wird ein Warmstart ausgeführt.

Es wird ein Warmstart ausgeführt.

Working

Aufzählungsname:

Working

Aufzählungswert:

6

Beschreibung:

Der Baustein arbeitet.

Der Algorithmus steuert die Bänder.

Methoden

Bezeichnung

Beschreibung

RegisterLoggerPoint

Registriert den internen Logger-Punkt im Application Logger.

Eigenschaften

Name

Datentyp

Zugriff

Beschreibung

lrDeltaXMax

LREAL

Lesen

 

lrDeltaXMin

LREAL

Lesen

 

lrNextTargetDistance

LREAL

Lesen