FB_PrintMarkControl

 

FB_PrintMarkControl - Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.3.0

Übernommen aus

-

Implementiert

-

Aufgabe

Messung der Druckmarken-Position. Bereitstellung der Werte, um die Produktlaufrichtung anzupassen. Der Funktionsbaustein wird benutzt, um eine tendenzielle Korrektur zu realisieren.

Beschreibung

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 Funktions­baustein Korrekturwerte für Kontrollzwecke.

Der Funktionsblock liefert die Druckmarken-Position q_lrPrintMarkPosition, den Abstand zwischen zwei Druckmarken q_lrPrintMarkDistance, die Abweichung q_lrPrintMark­Difference 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_lr­Window +/- akzeptiert.

Die POU führt keine aktive Korrektur durch, sondern liefert nur Größen, die für eine Korrektur benutzt werden können.

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

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.

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.

Beispiele

Die folgenden Beispiele erläutern detailliert die Handhabung der Druckmarkenregelung über FB_PrintMarkControl:

oGetaktete Anwendung mit tendenzieller Korrektur

oSynchrone Anwendung mit tendenzieller Korrektur

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Disabled

9

Die POU ist deaktiviert.

OK

Initializing

4

Die POU wird initialisiert.

OK

WaitForTouchProbeSignal

167

Warten auf das Touchprobe-Signal.

InputParameterInvalid

LencInvalid

162

Der verbundene logische Geber ist ungültig.

InputParameterInvalid

TouchProbeInvalid

163

Verbundener Touchprobe ist ungültig.

InputParameterInvalid

TouchProbeNotActive

166

Touchprobe ist nicht aktiv.

InputParameterInvalid

TouchProbeVirtual

165

Der angeschlossene Touchprobe ist virtuell.

SercosConditionInvalid

SercosNotInPhaseFour

19

Der Sercos-Bus befindet sich nicht in Phase 4.

UnexpectedProgramBehavior

UnexpectedFeedback

1

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

UnexpectedProgramBehavior

UnknownState

2

Die POU befindet sich in einem undefinierten Zustand.

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.

LencInvalid

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.

SercosNotInPhaseFour

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.

TouchProbeInvalid

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.

TouchProbeNotActive

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.

TouchProbeVirtual

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)

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.

UnknownState

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.

WaitForTouchProbeSignal

Enumerationsname:

WaitForTouchProbeSignal

Enumerationswert:

167

Beschreibung:

Warten auf das Touchprobe-Signal.

Die Touchprobe-Signale werden gesucht und ausgewertet.