État de l'imprimante

Cette action communique avec l'imprimante pour récupérer en temps réel son état, et contacte le spouleur de Windows pour récupérer d'autres informations sur l'imprimante et les travaux en cours.

Il en résulte la collecte d'informations concernant les erreurs, l'état de la file d'attente, le nombre de travaux dans la file d'attente. ce qui révèle les erreurs potentielles et permet de les identifier facilement.

Scénarios possibles. (1) Vérification de l'état de l'imprimante avant l'impression. Si l'imprimante est en état d'erreur, imprimer l'étiquette sur l'imprimante en réserve. (2) Compter le nombre de travaux en attente dans le spouleur de l'imprimante principale. S'il y en a trop, imprimer sur une imprimante alternative. (3) Pour vérifier l'état de l'imprimante avant l'impression. Si l'imprimante est en état d'erreur, l'étiquette ne s'imprime pas, mais l'erreur est envoyée au système principal en utilisant une des actions de sortie, telles que Envoyer les données au port TCP/IP , Requête HTTP, Exécuter l'instruction SQL , Service Web , ou comme réponse du déclencheur.

Prérequis pour état de l'imprimante en temps réel

Pour pouvoir contrôler l'état de l'imprimante en temps réel, procéder comme suit :

  • Utiliser un pilote d'imprimante Loftware pour recevoir les informations détaillées sur le statut de l'imprimante. Avec un pilote d'imprimante différent, seules les informations provenant du spouleur Windows sont contrôlables.
  • L'imprimante doit être capable de rapporter son état en temps réel. Pour les modèles d'imprimantes supportant la communication bidirectionnelle, voir Pilotes Loftware .
  • L'imprimante doit être connectée à une interface bidirectionnelle.
  • Le mode bidirectionnel doit être activé dans le Panneau de configuration > Matériel et audio > Périphériques et Imprimantes > pilote > Propriétés de l'imprimante > Onglet Ports > Activer la gestion du mode bidirectionnel.
  • Avec une imprimante connectée au réseau, vérifier que le port utilisé est le Port TCP/IP Avancé et pas le Port TCP/IP Standard .

À propos : Ce groupe identifie l'action sélectionnée.

  • Nom : permet de définir un nom pour l'action. Cela permet de reconnaître plus facilement l'action dans la liste des actions de la solution. Par défaut, le nom de l'action provient de son type.
  • Description : Informations personnelles sur l'action. Mettre une description qui explique l'objectif et le rôle de l'action dans la solution.
  • Type d'action : Information en lecture seule sur le type d'action sélectionné.

Le groupe Imprimante sélectionne l'imprimante.

  • Nom de l'imprimante spécifie le nom de l'imprimante à utiliser pour l'impression en cours.

    Sélectionner l'imprimante dans la liste d'imprimantes installées localement, ou saisir le nom d'une imprimante. Une source de données active un nom d'imprimante variable. Dans ce cas, sélectionner ou créer une variable qui contient le nom de l'imprimante quand un déclencheur s'exécute ou qu'un événement survient. En général, la valeur de la variable est assignée par un filtre.

Le groupe Mappage de données détermine les paramètres qui sont renvoyés par l'action État de l'imprimante.

Avertissement :

La majorité des paramètres suivants est compatible seulement avec les pilotes d'imprimante de Loftware. Avec un autre pilote d'imprimante, seuls les paramètres relatifs au spouleur sont utilisables.

  • État de l'imprimante : Spécifie l'état de l'imprimante en temps réel comme une chaîne de caractères.

    Si l'imprimante rapporte plusieurs états, ils sont fusionnés ensemble dans une chaîne de caractères, délimités par des virgules ",". Si aucun problème d'imprimante n'est reporté, le champ est vide. L'état de l'imprimante peut être: Hors ligne, Plus d'étiquettes ou Ruban quasi fini. Les phrases de rapport ne sont pas normalisées, donc chaque marque d'imprimante peut utiliser des messages d'état différents.

  • Erreur d'impression : Spécifie la valeur booléenne (vrai/faux) de l'état d'erreur de l'imprimante.

  • Imprimante hors ligne : Spécifie la valeur booléenne (vrai/faux) de l'état de l'imprimante hors ligne.

  • Pilote en pause : Spécifie la valeur booléenne (vrai/faux) de l'état de pause du pilote.

  • Loftware pilote : spécifie la valeur booléenne (vrai/faux) de l'état du pilote de l'imprimante. Dit si le pilote sélectionné est un pilote d'imprimante Loftware.

  • État du spouleur : Spécifie l'état du spouleur sous forme de chaîne rapportée par Windows. Le spouleur peut être simultanément dans différents états. Dans ce cas, les états sont fusionnés avec des virgules ",".

  • ID de l'état du spouleur : Spécifie l'état du spouleur sous forme de numéro rapporté par Windows. Le spouleur peut être simultanément dans différents états. Dans ce cas, les ID d'état contiennent toutes les ID comme indicateurs. Par exemple, la valeur 5 représente les ID des états 4 et 1, ce qui se traduit par "Imprimante en erreur, Imprimante en pause". Se référer au tableau ci-dessous.

    Conseil

    L'action renvoie une valeur décimale, les valeurs dans le tableau ci-dessous sont en hexadécimales, il faut donc les convertir avant d'analyser la réponse.

  • Table d'ID d'états du spouleur et descriptions correspondantes

    ID d'état du spouleur (en hexadécimal)

    Description de l'état du spouleur

    0

    Pas d'état.

    1

    Imprimante en pause.

    2

    Imprimante en impression.

    4

    Imprimante en erreur.

    8

    Imprimante pas disponible.

    10

    L'imprimante n'a plus de papier.

    20

    Alimentation manuelle requise.

    40

    L'imprimante a un problème de papier.

    80

    Imprimante hors-ligne.

    100

    État Entrée/Sortie actif.

    200

    Imprimante occupée.

    400

    Blocage de papier.

    800

    Corbeille de sortie pleine.

    2000

    Imprimante en attente.

    4000

    Imprimante en cours d'exécution.

    10000

    Imprimante en pré-chauffage.

    20000

    Niveau d'encre bas.

    40000

    Plus d'encre dans l'imprimante.

    80000

    La page actuelle ne peut pas être imprimée.

    100000

    Une intervention de l'utilisateur est requise.

    200000

    L'imprimante n'a plus de mémoire disponible.

    400000

    Protection ouverte.

    800000

    Erreur inconnue.

    1000000

    L'imprimante est en mode de sauvegarde d'énergie.

  • Nombre de travaux dans le spouleur : Spécifie le nombre de travaux qui sont dans le spouleur pour l'imprimante sélectionnée.

  • Loftware état de l'imprimante étendue du pilote : renvoie l'état de l'imprimante et les données d'erreurs au format JSON. Les données comprennent également des paramètres d’imprimante tels que la version du micrologiciel, la distance de la tête d’impression et le niveau de l’encre.

    Note

    Il vous faut le dernier Loftware pilote pour obtenir l'état de l'imprimante étendu du Loftware pilote .

    Exemple

    Loftware Automation renvoie le contenu JSON suivant :

    {
    	"printerName":"Production_printer_09",
    	"version":"1",
    	"responseType":"status3",
    	"overallStatus":"error",
    	"operationState":"pause",
    	"printerType":"Thermal Transfer Label Printer",
    	"deviceStatus" :
    	[
    		{
    			"item" : "fatalError",
    			"type" : "string",
    			"internalId":"ERR_PAPER_OUT",
    			"shortString" :"Paper Out",
    			"longString" :"L'imprimante n'a plus de papier."
    		},
    		{
    			"item" : "error",
    			"type" : "string",
    			"internalId": "ERR_RIBBON_OUT",
    			"shortString": "Ruban sorti",
    			"longString" : "L'imprimante n'a plus de ruban."
    		}
    	],
    	"deviceParameters":
    	[
    		{
    			"item":"state",
    			"type":"float",
    			"internalId":"INFO_PRINTHEAD_DISTANCE",
    			"unit" : "meter",
    			"value" : 789,
    			"shortDescription" :"Distance de la tête d'impression",
    			"longDescription" :"Distance d'utilisation de la tête d'impression."
    		},
    		{
    			"item" : "state",
    			"type" : "string",
    			"internalId": "INFO_FW",
    			"unit" : "",
    			"value" : "FW27.3.13",
    			"shortDescription": "Version du micrologiciel",
    			"longDescription": "La version du firmware chargée sur l'imprimante."
    		},
    		{
    			"item" : "property",
    			"type" : "integer",
    			"internalId": "INFO_PRINT_DISTANCE",
    			"unit" : "seconds",
    			"value" : 16004,
    			"shortDescription": "Distance d'impression",
    			"longDescription": "Print Distance que l'imprimante a imprimée depuis la réinitialisation du compteur kilométrique."
    		}
    	]
    }

Exécution d'une action et traitement d'erreur

Chaque action peut être soumise à condition. Une action conditionnelle ne fonctionne que quand les conditions fournies lui permettent de fonctionner. Pour définir ces conditions, cliquer sur Afficher les options d'exécution et de gestion des erreurs.

Options d'exécution existantes :

  • Activée : Spécifie si l'action est activée ou désactivée. Seules les actions activées seront exécutées. Cette fonctionnalité est utilisable lors du test d'un formulaire.
  • Condition : définit une expression de programmation d'une ligne qui doit fournir une valeur booléenne (vrai ou faux). Quand le résultat de l'expression est vrai, l'action s'exécute. Une condition permet d'éviter que l'action soit exécutée chaque fois.

Options de Traitement d'erreurs :

  • Ignorer l'échec : Spécifie si une erreur doit être ignorée. Si elle est activée, l'exécution des actions continue même si l'action en cours a échoué.

    Remarque

    Les actions indentées qui dépendent de l'action actuelle ne seront pas exécutées en cas d'échec. L'exécution des actions continuera avec l'action suivante qui se trouve au même niveau que l'action actuelle. L'erreur est enregistrée dans le journal, mais elle n'interrompt pas l'exécution de l'action.

  • Exemple

    À la fin de l'impression, il est possible d'envoyer la mise à jour du statut à une application externe en utilisant l'action Requête HTTP . Si l'action d'impression échoue, le déclencheur arrête le traitement des actions. Pour effectuer le rapport, même après un échec d'impression, l'action Imprimer l'étiquette doit avoir l'option Ignorer l'échec activée.

  • Enregistrer l'erreur dans une variable : permet de définir une variable pour y enregistrer l'erreur. La raison de l'erreur est aussi enregistrée dans les variables internes ActionLastErrorId et ActionLastErrorDesc.