FB_PrintMarkControl - Allgemeine Informationen
Typ |
Funktionsbaustein |
Verfügbar ab |
V1.0.3.0 |
Übernommen aus |
- |
Implementiert |
- |
Messung der Druckmarken-Position. Bereitstellung der Werte, um die Produktlaufrichtung anzupassen. Der Funktionsbaustein wird benutzt, um eine tendenzielle Korrektur zu realisieren.
Die Druckmarke wird mit Touchprobe erkannt. Der Funktionsbaustein vergleicht die Position des angeschlossenen logischen Gebers mit einer Sollposition i_lrReferencePosition bei einer steigenden Flanke am Eingang i_ifTouchProbe. Anschließend berechnet der Funktionsbaustein Korrekturwerte für Kontrollzwecke.
Der Funktionsblock liefert die Druckmarken-Position q_lrPrintMarkPosition, den Abstand zwischen zwei Druckmarken q_lrPrintMarkDistance, die Abweichung q_lrPrintMarkDifference zur Sollposition i_lrReferencePosition und eine Korrekturgeschwindigkeit q_lrCorrVelocity, die als Offset-Geschwindigkeit dem Leitgeber übergeben werden kann. Die Werte, die Sie für Ihre Anwendung verwenden (getaktet oder synchron), sind abhängig von Ihren Anforderungen.
Touchprobe-Signale werden nur innerhalb des Bereichs i_lrReferencePositioni_lrWindow +/- akzeptiert.
Die POU führt keine aktive Korrektur durch, sondern liefert nur Größen, die für eine Korrektur benutzt werden können.
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_ifTouchProbe |
IF_TouchProbe |
Messeingang, über den die Druckmarken erfasst werden. Der Eingang erkennt die steigende Flanke vom Touchprobe. |
i_lrReferencePosition |
LREAL |
Sollposition der zu erfassenden Druckmarken in Einheiten, Wertebereich >= 0 und <= i_lrReferenceDistance. |
i_lrReferenceDistance |
LREAL |
Referenzabstand der zu erfassenden Druckmarken in Einheiten, Wertebereich > 0. Hier sollte der normale Druckmarkenabstand eingestellt werden, da dieser Wert intern für die Berechnung der q_ lrCorrVelocity und der Korrektur der q_lrPrintMarkPosition verwendet wird. |
i_lrWindow |
LREAL |
Fenster, innerhalb dessen Druckmarken akzeptiert werden. i_lrReferencePosition +/- i_lrWindow in Einheiten, Wertebereich > 0. |
i_lrMaxCorrVel |
LREAL |
Maximal erlaubte Korrekturgeschwindigkeit in Einheiten/sec, Wertebereich > 0. Zu große Werte können eine Überschreitung der maximalen Geschwindigkeit des Antriebs zur Folge haben. |
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 bereit für Tp-Signale. FALSE: Die POU ist nicht bereit. |
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. |
q_lrPrintMarkPosition |
LREAL |
Position einer gültigen Druckmarke in Einheiten. Wenn die i_lrReferencePosition am obereren oder unteren Rand des Wertebereichs ist, dann kann es vorkommen, dass die Druckmarke von der vorherigen oder nachfolgenen Periode kommt. Dies erkennt die POU und errechnet die korrekte Position. |
q_lrPrintMarkDifference |
LREAL |
Abweichung der erkannten, gültigen Druckmarke von der Sollposition i_lrReferencePosition in Einheiten. |
q_lrPrintMarkDistance |
LREAL |
Die Abweichung vom gemessenen Abstand zum Referenzabstand i_lrReferenceDistance in Einheiten. |
q_lrCorrVelocity |
LREAL |
Korrekturgeschwindigkeit, die als Offset-Geschwindigkeit genutzt werden kann. Diese ist so berechnet, dass die Korrektur in einem Zyklus ausgeführt wird. q_lrCorrVelocity:= q_lrPrintMarkDifference * iq_lencMaster.Velocity/i_lrReferenceDistance; |
q_xNoValidTp |
BOOL |
TRUE: Eine erkannte Druckmarke ist ungültig und liegt außerhalb des Fensters i_lrReferencePosition +/- i_lrWindow. Der Ausgang wird auf FALSE gesetzt, sobald ein neues, gültiges TP-Signal erkannt wurde. FALSE: Eine erkannte Druckmarke ist gültig und liegt im Fenster i_lrReferencePosition +/- i_lrWindow. |
q_udiNumberOfTps |
UDINT |
Anzahl der erkannten Druckmarken, in und außerhalb des i_lrWindow. In Verbindung mit q_xNoValidTp kann die Anwendung eine entsprechende Auswertung durchführen. Bei einer Wertebereichsüberschreitung beginnt die Zählung wieder bei 0. |
Ein-/Ausgang |
Datentyp |
Beschreibung |
---|---|---|
iq_lencMaster |
L_ENC |
Logischer Geber der an die Masterachse gekoppelt ist. |
Die folgenden Beispiele erläutern detailliert die Handhabung der Druckmarkenregelung über FB_PrintMarkControl:
oGetaktete Anwendung mit tendenzieller Korrektur
oSynchrone Anwendung mit tendenzieller Korrektur
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
9 |
Die POU ist deaktiviert. |
|
OK |
4 |
Die POU wird initialisiert. |
|
OK |
167 |
Warten auf das Touchprobe-Signal. |
|
InputParameterInvalid |
162 |
Der verbundene logische Geber ist ungültig. |
|
InputParameterInvalid |
163 |
Verbundener Touchprobe ist ungültig. |
|
InputParameterInvalid |
166 |
Touchprobe ist nicht aktiv. |
|
InputParameterInvalid |
165 |
Der angeschlossene Touchprobe ist virtuell. |
|
SercosConditionInvalid |
19 |
Der Sercos-Bus befindet sich nicht in Phase 4. |
|
UnexpectedProgramBehavior |
1 |
Es ist ein unbeabsichtigter Fehler während der Ausführung aufgetreten. |
|
UnexpectedProgramBehavior |
2 |
Die POU befindet sich in einem undefinierten Zustand. |
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: |
LencInvalid |
Enumerationswert: |
162 |
Beschreibung: |
Der verbundene logische Geber ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang iq_lencEncoder wurde kein Geber angelegt. |
Dem Eingang iq_lencEncoder muss ein eigener logischer Geber übergeben werden. |
Enumerationsname: |
SercosNotInPhaseFour |
Enumerationswert: |
19 |
Beschreibung: |
Der Sercos-Bus befindet sich nicht in Phase 4. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der Parameter State des Sercos-Busses ist nicht 4. |
Setzen Sie den Parameter Sercos des PhaseSet-Busses auf 4. Überprüfen Sie den Sercos-Bus auf Fehler. |
Enumerationsname: |
TouchProbeInvalid |
Enumerationswert: |
163 |
Beschreibung: |
Verbundener Touchprobe ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der Eingang i_ifTouchProbe ist nicht mit einem gültigen Touchprobe verbunden. |
Stellen Sie sicher, dass am Eingang i_ifTouchProbe ein Touchprobe-Objekt übergeben wurde. |
Enumerationsname: |
TouchProbeNotActive |
Enumerationswert: |
166 |
Beschreibung: |
Touchprobe ist nicht aktiv. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die Touchprobe-Funktionalität des Eingangs an einem Lexium 62 ist nicht aktiviert. |
Stellen Sie sicher, dass der Parameter IOx_Mode der Eingangsgruppe (LXM62IO_InOutTP) auf Touchprobe / 1 gesetzt ist. |
Enumerationsname: |
TouchProbeVirtual |
Enumerationswert: |
165 |
Beschreibung: |
Der angeschlossene Touchprobe ist virtuell. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der verwendete Touchprobe ist nicht real. |
Stellen Sie sicher, dass der Touchprobe nicht zu einem virtuellen Gerät gehört. (z. B. virtueller Lexium62) |
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: |
UnknownState |
Enumerationswert: |
2 |
Beschreibung: |
Die POU befindet sich in einem undefinierten Zustand. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Es ist ein Fehler in der internen Abarbeitung aufgetreten. |
Bitte informieren Sie das Supportteam über diesen Fehler. |
Enumerationsname: |
WaitForTouchProbeSignal |
Enumerationswert: |
167 |
Beschreibung: |
Warten auf das Touchprobe-Signal. |
Die Touchprobe-Signale werden gesucht und ausgewertet.