Druckerstatus

Diese Aktion kommuniziert mit dem Drucker, um dessen Echtzeit-Status zu erhalten, und kontaktiert den Windows Spooler, um weitere Informationen über den Drucker und dessen Aufträge abzurufen.

So werden Informationen zu Fehlern, zum Spooler-Status und der Anzahl von Aufträgen im Spooler erhoben.. Auf diese Weise lassen sich potenzielle Fehler leicht auffinden.

Beispiele für Verwendungsmöglichkeiten. (1) Druckerstatus vor dem Drucken überprüfen. Falls der Drucker einen Fehlerstatus aufweist, wird das Etikett auf dem Backup-Drucker gedruckt. (2) Aufträge im Spooler des Hauptdruckers zählen. Falls sich zu viele darin befinden, drucken Sie das Etikett auf einem alternativen Drucker. (3) Sie verifizieren den Druckerstatus vor dem Drucken. Wenn der Drucker einen Fehlerstatus aufweist, drucken Sie keine Etiketten, sondern melden den Fehler anhand einer der ausgehenden Aktionen an das Hauptsystem, z. B. Daten an TCP/IP-Port senden , HTTP-Anfrage, SQL-Anweisung ausführen , Webdienst oder als Trigger-Antwort.

Voraussetzungen für Echtzeit-Druckerstatus

Um eine Überwachung des Druckerstatus in Echtzeit zu ermöglichen, folgen Sie diesen Anweisungen:

  • Verwenden Sie den Loftware Druckertreiber, um detaillierte Statusinformationen zu erhalten. Wenn Sie einen anderen Druckertreiber verwenden, können Sie nur die vom Windows Spooler abgerufenen Parameter überwachen.
  • Der Drucker muss in der Lage sein, seinen Echtzeitstatus zu melden. Für Druckermodelle mit Unterstützung für bidirektionale Kommunikation, siehe Loftware-Treiber.
  • Der Drucker muss mit einer Schnittstelle verbunden sein, die bidirektionale Kommunikation unterstützt.
  • Die bidirektionale Unterstützung muss unter Systemsteuerung > Hardware und Sound > Geräte und Drucker > Treiber > Druckereigenschaften > Anschlüsse-Registerkarte > Bidirektionale Unterstützung aktivieren aktiviert werden.
  • Wenn Sie einen mit dem Netzwerk verbundenen Etikettendrucker verwenden, stellen Sie sicher, dass Sie Advanced TCP/IP Port verwenden, nicht Standard TCP/IP Port.

Die Über-Gruppe gibt die ausgewählte Aktion an.

  • Name: ermöglicht es Ihnen, einen benutzerdefinierten Namen anzugeben. So können Sie Aktionen in der Liste der Aktionen in der Lösung leichter erkennen. Standardmäßig werden Aktionsnamen vom Typ der jeweiligen Aktion abgeleitet.
  • Beschreibung: benutzerdefinierte Informationen über die Aktion. Geben Sie eine Beschreibung ein, um den Zweck und die Rolle einer Aktion in einer Lösung zu erklären.
  • Aktionstyp: Nur-Lesen-Informationen über den ausgewählten Aktionstyp.

Die Gruppe Drucker wählt den Drucker aus.

  • Druckername: gibt den Namen des für den aktuellen Druckauftrag zu verwendenden Druckers an.

    Sie können einen Drucker aus der Liste lokal installierter Druckertreiber auswählen oder einen Druckernamen eingeben. „Datenquelle“ aktiviert den variablen Dateinamen. Wählen Sie nach Aktivierung eine Variable aus (oder erstellen Sie eine Variable), die den Druckernamen bereitstellt, wenn ein Trigger ausgeführt wird oder ein Ereignis eintritt. Normalerweise wird der Variablenwert durch einen Filter zugewiesen.

Die Gruppe Datenzuordnung legt die Parameter fest, die als Ergebnis der Aktion Druckerstatus ausgegeben werden.

Warnung:

Die meisten der folgenden Parameter werden nur mit dem Loftware Druckertreiber unterstützt. Wenn Sie einen anderen Druckertreiber nutzen, können Sie nur die Spooler-bezogenen Parameter verwenden.

  • Druckerstatus gibt den Echtzeitstatus des Druckers als Zeichenfolge formatiert an.

    Gibt der Drucker mehrere Status aus, werden alle davon, durch Kommas („,“) getrennt, zu einer Zeichenfolge verbunden. Werden keine Druckerstatus gemeldet, bleibt dieses Feld leer. Mögliche Druckerstatus sind Offline, Keine Etiketten oder Farbband fast verbraucht. Da es kein standardisiertes Meldungsprotokoll gibt, nutzt jeder Druckeranbieter eigene Statusmeldungen.

  • Druckerfehler: boolescher Wert (wahr/falsch) des „Druckerfehler“-Status.

  • Drucker offline: boolescher Wert (wahr/falsch) des „Drucker offline“-Status.

  • Treiber angehalten: boolescher Wert (wahr/falsch) des „Treiber angehalten“-Status.

  • Loftware Treiber: boolescher Wert (wahr/falsch) des „Druckertreiber“ -Status. Gibt an, ob es sich beim ausgewählten Treiber um einen Loftware Treiber handelt.

  • Spoolerstatus: gibt den Spoolerstatus in Form einer Zeichenfolge gemäß der Meldung des Windows-Systems an. Der Spooler kann mehrere Status gleichzeitig melden. In diesem Fall werden die Status durch Kommas „,“) getrennt.

  • Spoolerstatus-ID: gibt den Spoolerstatus in Form einer Zahl gemäß der Meldung des Windows-Systems an. Der Spooler kann mehrere Status gleichzeitig melden. In diesem Fall enthält die ausgegebene Statusmeldung alle zutreffenden IDs als Zahlenwerte. Der Wert 5 zum Beispiel steht für die Status-IDs 4 und 1, d. h.: Drucker weist einen Fehler auf, Drucker ist angehalten. Siehe folgende Tabelle.

    Tipp

    Die Aktion gibt dezimale Werte aus, während die Werte in der folgenden Tabelle hexadezimal sind; sie müssen sie also konvertieren, bevor Sie die Antwort parsen.

  • Tabelle mit Spoolerstatus-IDs und ihren Beschreibungen

    Spoolerstatus-ID (als Hexadezimalwert).

    Spoolerstatus-Beschreibung

    0

    Kein Status.

    1

    Drucker ist angehalten.

    2

    Drucker druckt.

    4

    Drucker weist einen Fehler auf.

    8

    Drucker ist nicht verfügbar.

    10

    Drucker hat kein Papier mehr.

    20

    Manuelle Zufuhr erforderlich.

    40

    Drucker hat ein Papierproblem.

    80

    Drucker ist offline.

    100

    Aktiver Eingabe-/Ausgabestatus.

    200

    Drucker ist beschäftigt.

    400

    Papierstau.

    800

    Ausgabeschacht ist voll.

    2000

    Drucker wartet.

    4000

    Drucker verarbeitet Daten.

    10000

    Drucker fährt hoch.

    20000

    Toner-/Tintenstand ist niedrig.

    40000

    Kein Toner im Drucker.

    80000

    Aktuelle Seite kann nicht gedruckt werden.

    100000

    Benutzereingriff erforderlich.

    200000

    Druckerspeicher voll.

    400000

    Klappe geöffnet.

    800000

    Unbekannter Fehler.

    1000000

    Drucker ist im Energiesparmodus.

  • Anzahl von Aufträgen im Spooler: gibt die Anzahl von Aufträgen an, die sich im Spooler für den ausgewählten Drucker befinden.

  • Loftware Treiber erweiterter Druckerstatus: liefert Druckerstatus- und Fehlerdaten im JSON-Format. Zu den Daten gehören auch Druckerparameter wie Firmware-Version, Druckkopfabstand und Tintenstand.

    Hinweis

    Sie benötigen den neuesten Loftware Treiber, um den Loftware Treiber erweiterter Druckerstatus abrufen zu können.

    Beispiel

    Loftware Automation liefert den folgenden JSON-Inhalt:

    {
    	"printerName":"Production_printer_09",
    	"version":"1",
    	"responseType":"status3",
    	"overallStatus":"error",
    	"operationState":"pause",
    	"printerType":"Thermotransfer-Etikettendrucker",
    	"deviceStatus":
    	[
    		{
    			"item": "fatalError",
    			"type": "string",
    			"internalId":"ERR_PAPER_OUT",
    			"shortString":"Paper Out",
    			"longString":"Drucker hat kein Papier mehr."
    		},
    		{
    			"item": "Fehler",
    			"type": "string",
    			"internalId": "ERR_RIBBON_OUT",
    			"shortString": "Ribbon Out",
    			"longString": "Drucker hat kein Band mehr."
    		}
    	],
    	"deviceParameters":
    	[
    		{
    			"item":"Zustand",
    			"type":"float",
    			"internalId":"INFO_PRINTHEAD_DISTANCE",
    			"unit": "meter",
    			"value": 789,
    			"shortDescription":"Druckkopfabstand",
    			"longDescription":"Abstand der Druckkopfnutzung."
    		},
    		{
    			"item": "Zustand",
    			"type": "string",
    			"internalId": "INFO_FW",
    			"unit": "",
    			"value": "FW27.3.13",
    			"shortDescription": "Firmware-Version",
    			"longDescription": "Die Version der auf dem Drucker geladenen Firmware."
    		},
    		{
    			"item": "Eigenschaft",
    			"type": "integer",
    			"internalId": "INFO_PRINT_DISTANCE",
    			"unit": "seconds",
    			"value": 16004,
    			"shortDescription": "Druckabstand",
    			"longDescription": "Druckdistanz, die der Drucker seit dem Zurücksetzen des Kilometerzählers gedruckt hat."
    		}
    	]
    }

Aktionsausführung und Fehlerhandhabung

Jede Aktion kann als bedingungsabhängige Aktion festgelegt werden. Bedingungsabhängige Aktionen werden nur ausgeführt, wenn die festgelegten Bedingungen erfüllt sind. Um diese Bedingungen zu definieren, klicken Sie auf Optionen für Ausführung und Fehlerhandhabung anzeigen.

Die Ausführungsoptionen sind:

  • Aktiviert: gibt an, ob die Aktion aktiviert oder deaktiviert ist. Nur aktivierte Aktionen werden ausgeführt. Diese Funktion kann beim Testen einer Druckmaske verwendet werden.
  • Bedingung: definiert einen einzeiligen Programmierausdruck, welcher einen booleschen Wert bereitstellen muss (wahr oder falsch). Ist das Ergebnis des Ausdrucks wahr, wird die Aktion ausgeführt. Bedingungen sorgen dafür, dass Aktionen nicht jedes Mal ausgeführt werden müssen.

Die Fehlerhandhabung-Optionen sind:

  • Fehler ignorieren : gibt an, ob ein Fehler ignoriert werden soll. Wenn aktiviert, wird die Ausführung von Aktionen selbst dann fortgesetzt, wenn die aktuelle Aktion fehlschlägt.

    Hinweis

    Geschachtelte Aktionen, die von der aktuellen Aktion abhängig sind, werden im Fall eines Fehlers nicht ausgeführt. Die Aktionsausführung wird bei der nächsten Aktion fortgesetzt, die sich auf derselben Ebene wie die aktuelle Aktion befindet. Der Fehler wird protokolliert, führt aber nicht zu einer Unterbrechung der Ausführung von Aktionen.

  • Beispiel

    Am Ende des Druckvorgangs möchten Sie eventuell mittels der Aktion HTTP-Anfrage einen Statusbericht an eine externe Anwendung senden. Wenn die Druckaktion fehlschlägt, wird die Aktionsverarbeitung angehalten. Um die Berichterstellung trotz fehlgeschlagener Druckaktion auszuführen, muss für die Aktion Etikett drucken die Option Fehler ignorieren aktiviert sein.

  • Fehler in Variable speichern : ermöglicht Ihnen, eine Variable auszuwählen oder zu erstellen, in der der Fehler gespeichert werden soll. Dieselbe Fehlerbeschreibung wird zudem in den internen Variablen ActionLastErrorId und ActionLastErrorDesc gespeichert.