FB_PreCalcMultiCam

 

FB_PreCalcMultiCam - Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.3.0

Übernommen aus

-

Implementiert

-

Versionen:

Aktuelle Version

Aufgabe

Der Funktionsbaustein erhält die gleichen Eingangsdaten wie ein MultiCam-Funktionsbaustein und erzeugt die Daten für die intelligente Königswelle (Intelligent LineShaft), sodass die vom MultiCam-Funktionsbaustein bewegte Achse als ILS-Slaveachse überwacht werden kann.

Beschreibung

Der Funktionsbaustein erzeugt nach positiver Flanke an i_xEnable oder i_xNewCam aus den Daten von iq_stMultiCamDat  das Bewegungsprofil und berechnet die Skalierung (YMax) der Slaveachse der intelligenten Königswelle. Beides schreibt der Funktionsbaustein in die Datenstruktur iq_stIlsData, aus der sie der Funktionsbaustein FB_EndlessFeedIls ausliest.

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 abgeschaltet ist, führt sie keine Aktionen aus.

i_xNewCam

BOOL

Startet nach dem aktuellen Bewegungsprofil ein neues Bewegungsprofil.

i_diSlaveNumber

DINT

Nummer der zu überwachenden Slaveachse.

Ausgang

Datentyp

Beschreibung

q_xActive

BOOL

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

FALSE: Die POU ist abgeschaltet.

q_xReady

BOOL

TRUE: Die POU ist betriebsbereit und kann Anwenderbefehle entgegennehmen.

FALSE: Die POU ist nicht bereit, Anwenderbefehle entgegenzunehmen.

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer, diagnosebezogener Ausgang.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung mit detaillierten Informationen zum Diagnosezustand.

Ein-/Ausgang

Datentyp

Beschreibung

iq_stMultiCamData

ST_MultiCam

Informationen über den Kurvenverlauf (Struktur ST_MultiCam).

iq_stIlsData

ST_IlsData

Informationen über die Bewegungsabläufe der Slaveachsen sowie parametrierte Limits und Feedbackvariablen.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Disabled

9

Die POU ist deaktiviert.

OK

Initializing

4

Die POU wird initialisiert.

OK

Working

99

Die POU ist aktiv.

InputParameterInvalid

BoundaryConditionInvalid

125

Die Randbedingungen sind ungültig.

InputParameterInvalid

NumberOfCamPointsRange

121

NumberOfCamPoints ist außerhalb des gültigen Bereichs.

InputParameterInvalid

RangeK

129

K ist außerhalb des gültigen Bereichs.

InputParameterInvalid

RangeM

130

M ist außerhalb des gültigen Bereichs.

InputParameterInvalid

SlaveNumberRange

197

SlaveNumber ist außerhalb des gültigen Bereichs.

InputParameterInvalid

UnknownCamType

126

Der Kurventyp ist nicht bestimmbar.

InputParameterInvalid

XFactorTooSmall

122

XFactor ist zu klein.

InputParameterInvalid

YFactorTooSmall

124

YFactor ist zu klein.

UnexpectedProgramBehavior

ProfileAlreadyInUse

116

Das Profil wird bereits verwendet.

UnexpectedProgramBehavior

ProfileMemoryFull

127

Der Speicher für Tabellen aus Systemprofilen ist voll.

UnexpectedProgramBehavior

ProfileTableFull

123

Die Tabelle für Systemprofile ist voll.

UnexpectedProgramBehavior

UnexpectedFeedback

1

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

BoundaryConditionInvalid

Enumerationsname:

BoundaryConditionInvalid

Enumerationswert:

125

Beschreibung:

Die Randbedingungen sind ungültig.

Problem

Ursache

Lösung

-

Bei der Definition des Bewegungsprofils in iq_stMultiCamData können die vorgegebenen Randbedingungen der Segmente nicht eingehalten werden.

Prüfen Sie die Definition des Bewegungsprofils, insbesondere die Randbedingungen der Teilsegmente.

Wählen Sie alternativ andere Profile für die Teilsegmente, um alle gewünschten Randbedingungen einhalten zu können.

Disabled

Enumerationsname:

Disabled

Enumerationswert:

9

Beschreibung:

Die POU ist deaktiviert.

Der Funktionsbaustein ist deaktiviert und führt keinerlei Aktionen aus. i_xEnable und q_xActive werden auf FALSE gesetzt.

Initializing

Enumerationsname:

Initializing

Enumerationswert:

4

Beschreibung:

Die POU wird initialisiert.

Der Funktionsbaustein wird initialisiert und ist noch nicht bereit, Befehle an seinen Eingängen entgegenzunehmen.

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

NumberOfCamPointsRange

Enumerationsname:

NumberOfCamPointsRange

Enumerationswert:

121

Beschreibung:

NumberOfCamPoints ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang iq_stMultiCamData.diNumberOfCamPoints wurde ein ungültiger Wert übergeben.

Dem Eingang iq_stMultiCamData.diNumberOfCamPoints muss ein Wert größer als 0 und kleiner oder gleich SystemInterface.MAX_NO_OF_SEG + 1 übergeben werden.

ProfileAlreadyInUse

Enumerationsname:

ProfileAlreadyInUse

Enumerationswert:

116

Beschreibung:

Das Profil wird bereits verwendet.

Problem

Ursache

Lösung

-

Das Bewegungsprofil wird bereits verwendet.

Überprüfen Sie die Bewegungsdaten.

ProfileMemoryFull

Enumerationsname:

ProfileMemoryFull

Enumerationswert:

127

Beschreibung:

Der Speicher für Tabellen aus Systemprofilen ist voll.

Problem

Ursache

Lösung

-

Der Speicher für Systemprofile ist voll.

Löschen Sie nicht mehr benötigte Profile mit der Funktion SystemInterface.FC_ProfileDelete.

ProfileTableFull

Enumerationsname:

ProfileTableFull

Enumerationswert:

123

Beschreibung:

Die Tabelle für Systemprofile ist voll.

Problem

Ursache

Lösung

-

Die maximale Anzahl der Systemprofile wurde überschritten.

Löschen Sie nicht mehr benötigte Profile mit der Funktion SystemInterface.FC_ProfileDelete.

RangeK

Enumerationsname:

RangeK

Enumerationswert:

129

Beschreibung:

K ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang iq_stMultiCamData.astCamPoint[ ].lrK wurde ein ungültiger Wert angelegt.

Prüfen Sie die Werte für iq_stMultiCamData.astCamPoint[ ].lrK.

RangeM

Enumerationsname:

RangeM

Enumerationswert:

130

Beschreibung:

M ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang iq_stMultiCamData.astCamPoint[ ].lrM wurde ein ungültiger Wert angelegt.

Prüfen Sie die Werte für iq_stMultiCamData.astCamPoint[ ].lrM.

SlaveNumberRange

Enumerationsname:

SlaveNumberRange

Enumerationswert:

197

Beschreibung:

SlaveNumber ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Die Anzahl der Slaveachsen i_diSlavenumber ist kleiner als 1 oder:

Die Anzahl der Slaveachsen i_diSlavenumber ist größer als iq_stIlsData.i_stConfig.diNumberOfSlaves oder:

Die Anzahl der Slaveachsen iq_stIlsData.i_stConfig.diNumberOfSlaves ist größer als Gc_diMaxNumberOfSlaves.

Am Eingang i_diSlavenumber muss ein positiver Wert kleiner als iq_stIlsData.i_stConfig.diNumberOfSlaves und kleiner als Gc_diMaxNumberOfSlaves übergeben werden.

UnexpectedFeedback

Enumerationsname:

UnexpectedFeedback

Enumerationswert:

1

Beschreibung:

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

Problem

Ursache

Lösung

-

Es ist ein Fehler in der internen Abarbeitung aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.

UnknownCamType

Enumerationsname:

UnknownCamType

Enumerationswert:

126

Beschreibung:

Der Kurventyp ist nicht bestimmbar.

Problem

Ursache

Lösung

-

Der Kurventyp eines Punktes iq_stMultiCamData.astCamPoint ist mit einem ungültigen Kurvenprofil belegt.

Die Kurventypen etCamType aller verwendeten Kurvenpunkte am Eingang iq_stMultiCamData.astCamPoint müssen mit einem Element der Enumeration ET_CamType belegt werden.

Working

Enumerationsname:

Working

Enumerationswert:

99

Beschreibung:

Die POU ist aktiv.

Die Vorberechnungen werden durchgeführt.

XFactorTooSmall

Enumerationsname:

XFactorTooSmall

Enumerationswert:

122

Beschreibung:

XFactor ist zu klein.

Problem

Ursache

Lösung

-

Zwei aufeinanderfolgende Kurvenpunkte iq_stMultiCamData.astCamPoint[ ].lrX liegen weniger als 0,1 Einheiten auseinander.

Überprüfen Sie die Definition der Kurve und entfernen Sie gegebenenfalls zu kurze Kurvenprofile.

YFactorTooSmall

Enumerationsname:

YFactorTooSmall

Enumerationswert:

124

Beschreibung:

YFactor ist zu klein.

Problem

Ursache

Lösung

-

Ein Kurvenprofil, das eine Bewegung der Slaveachse erfordert, soll mit identischen Start- und Endpunkten gefahren werden.

Am Eingang iq_stMultiCamData.astCamPoint[i-1].etCamType wurde ein Kurvenprofil vom Typ ModSinCom angelegt. Der Betrag der Differenz aus dessen Startpunktiq_stMultiCamData.astCamPoint[i-1].lrY und dessen Endpunkt iq_stMultiCamData.astCamPoint[i].lrY ist kleiner als Gc_lrZeroTolerance. Dieser Profiltyp erfordert eine Bewegung der Slavekurve.

Am Eingang iq_stMultiCamData.astCamPoint[i-1].etCamType wurde ein Kurvenprofil vom Typ ModAccTrCom angelegt. Der Betrag der Differenz aus dessen Startpunktiq_stMultiCamData.astCamPoint[i-1].lrY und dessen Endpunkt iq_stMultiCamData.astCamPoint[i].lrY ist kleiner als Gc_lrZeroTolerance. Dieser Profiltyp erfordert eine Bewegung der Slavekurve.

Am Eingang iq_stMultiCamData.astCamPoint[i-1].etCamType wurde ein Kurvenprofil vom Typ HarmoComb angelegt. Der Betrag der Differenz aus dessen Startpunktiq_stMultiCamData.astCamPoint[i-1].lrY und dessen Endpunkt iq_stMultiCamData.astCamPoint[i].lrY ist kleiner als Gc_lrZeroTolerance. Dieser Profiltyp erfordert eine Bewegung der Slavekurve.

Am Eingang iq_stMultiCamData.astCamPoint[i-1].etCamType wurde ein Kurvenprofil vom Typ SinStraightComb angelegt. Der Betrag der Differenz aus dessen Startpunktiq_stMultiCamData.astCamPoint[i-1].lrY und dessen Endpunkt iq_stMultiCamData.astCamPoint[i].lrY ist kleiner als Gc_lrZeroTolerance. Dieser Profiltyp erfordert eine Bewegung der Slavekurve.