FB_PreCalcMultiCam - Allgemeine Informationen
Typ |
Funktionsbaustein |
Verfügbar ab |
V1.0.3.0 |
Übernommen aus |
- |
Implementiert |
- |
Versionen: |
Aktuelle Version |
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.
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.
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 |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
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 |
Informationen über den Kurvenverlauf (Struktur ST_MultiCam). |
|
iq_stIlsData |
Informationen über die Bewegungsabläufe der Slaveachsen sowie parametrierte Limits und Feedbackvariablen. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
9 |
Die POU ist deaktiviert. |
|
OK |
4 |
Die POU wird initialisiert. |
|
OK |
99 |
Die POU ist aktiv. |
|
InputParameterInvalid |
125 |
Die Randbedingungen sind ungültig. |
|
InputParameterInvalid |
121 |
NumberOfCamPoints ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
129 |
K ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
130 |
M ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
197 |
SlaveNumber ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
126 |
Der Kurventyp ist nicht bestimmbar. |
|
InputParameterInvalid |
122 |
XFactor ist zu klein. |
|
InputParameterInvalid |
124 |
YFactor ist zu klein. |
|
UnexpectedProgramBehavior |
116 |
Das Profil wird bereits verwendet. |
|
UnexpectedProgramBehavior |
127 |
Der Speicher für Tabellen aus Systemprofilen ist voll. |
|
UnexpectedProgramBehavior |
123 |
Die Tabelle für Systemprofile ist voll. |
|
UnexpectedProgramBehavior |
1 |
Es ist ein unbeabsichtigter Fehler während der Ausführung aufgetreten. |
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. |
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.
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.
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. |
Enumerationsname: |
ProfileAlreadyInUse |
Enumerationswert: |
116 |
Beschreibung: |
Das Profil wird bereits verwendet. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Das Bewegungsprofil wird bereits verwendet. |
Überprüfen Sie die Bewegungsdaten. |
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. |
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. |
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. |
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. |
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. |
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. |
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. |
Enumerationsname: |
Working |
Enumerationswert: |
99 |
Beschreibung: |
Die POU ist aktiv. |
Die Vorberechnungen werden durchgeführt.
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. |
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. |