cab et l'usine intelligente : marquage en réseau avec OPC UA
Exigences
Dans les secteurs industriels, de plus en plus d'environnements de production et de logistique sont basés sur des systèmes de contrôle de processus numériques. Les machines échangent des informations avec des humains ou avec d'autres machines, traitent des données relatives à la fabrication de manière autonome, les utilisent ou les transmettent. L'individualisation, l'évolutivité, des processus allégés et traçables ainsi que des dispositifs et des composants fiables sont des exigences clés.
La plupart des applications ou des services sur lesquels reposent les systèmes de contrôle sont hébergés sur Internet. Les données provenant de capteurs, d'appareils ou de logiciels sont transférées sur le Cloud et peuvent facilement être échangées entre imprimantes ou systèmes d'étiquetage, robots et systèmes informatiques, à condition que tous parlent le même langage et se comprennent.
Protocole
Open Platform Communications Unified Architecture, raccourci OPC UA, crée la base pour l'interaction de machines et de composants de différents fabricants dans un environnement industriel. Avec l'OPC UA, diverses spécifications ont été réunies dans un modèle de données cohérent, créant ainsi une nouvelle norme d'interface. OPC UA déclenche la mise en réseau dans la fabrication industrielle, telle que nous la connaissons avec les interfaces réseau et USB dans les bureaux.
Connexion avec les appareils cab
Vous mettez une usine en production ? Ou vous envisagez de mettre en réseau vos entrepôts de matériaux conformément à l'Industrie 4.0 ? Si un réseau compatible IP est disponible, OPC UA peut déjà être utilisé comme infrastructure cohérente pour l'accès aux informations entre ordinateurs. Pour le marquage des composants, des produits ou des emballages dans l'usine, les imprimantes d'étiquettes cab de la génération actuelle ainsi que les étiqueteuses IXOR sont déjà compatibles OPC UA. Ils sont capables de coopérer avec des unités de contrôle supérieures.
Les points forts en un coup d'oeil
- Production à la demande
- Processus automatisés
- Configuration d'appareils
- Contrôle à distance d'appareils
- Surveillance d'appareils
- Interopérabilité
- Pronostics et analyses
- Traçabilité
- Inventaire et optimisation des stocks
- Réduction des distances
- Transparence
Marquage événementiel
Demander à une imprimante d'étiquettes son état en appuyant sur un bouton est démodé. Aujourd'hui, les appareils intelligents indiquent automatiquement qu'ils souhaitent être révisés ou que la matière à imprimer ou le ruban transfert arrive à bout doit être remplacé. Les étiquettes peuvent être chargées à distance, de même que leurs caractéristiques peuvent être lues et que des données variables peuvent être échangées pour être imprimées. Les paramètres de fonctionnement, tels que les performances de la tête d'impression, sa température ou le nombre d'étiquettes restant à imprimer dans la tâche en cours sont affichés juste à temps. Les informations sont transférées par l'imprimante au système de contrôle de l'usine, qui les identifie et les interprète et lance directement la mesure appropriée.
OPC UA en tant que système de contrôle supérieur, offre l'avantage de rassembler les données de production, les alarmes, les événements et l'historique des données contrôlés par un logiciel sous un même toit. Il intègre et unifie divers espaces d'adresses et les interfaces à utiliser.
OPC UA avec les imprimantes cab
Les fonctions OPC UA actuellement prises en charge par les appareils de cab* sont les suivantes :
- Pile de communication
Protocole binaire OPC UA - Cryptage
Aucun
Basic128Rsa15
Basic256Sha256 - Authentification
Anonyme
Identifiant / Mot de passe
Les utilisateurs entièrement authentifiés ont accès à toutes les fonctionnalités fournies. Les utilisateurs anonymes obtiennent un accès en lecture seule aux nœuds d'imprimante, sans possibilité d’appeler de méthodes - même si celles-ci ne modifient ni la configuration ni l'état de l'imprimante.
- Services OPC UA
Ensemble de services SecureChannel
Ensemble de services Session
Ensemble de services Attribute : lecture/écriture d'attributs, d'événements, pas d'accès aux historiques de données
Ensemble de services Method
Ensemble de services MonitoredItem
Ensemble de services Subscription
Ensemble de services View
Le serveur OPC UA peut être activé sous Configuration / Interfaces / Services réseau.
* Imprimantes d'étiquettes SQUIX, MACH 4S, EOS2, EOS5, HERMES Q, PX Q, étiqueteuses IXOR
Modèle d'information
Les imprimantes cab implémentent le modèle d'information OPC UA Device Integration (DI). Deux espaces de noms sont disponibles :
http://cab.de/printer pour la surveillance et le contrôle des tâches d'impression
http://cab.de/printer/setup pour la configuration des appareils
Les fonctions affichées sur les pages suivantes correspondent à l'état actuel et continuent d'être développées en permanence.
Espace de noms http://cab.de/Printer
Cet espace de noms permet d'accéder à l'état actuel de l'imprimante, y compris à l'état des E/S, aux informations sur le modèle d'imprimante ou à toute information d'état relative à la tâche d'impression en cours.
Nom du nœud | Classe du nœud | Description |
---|---|---|
Printer | Objet | Point d'entrée central dans le modèle d'information de l'imprimante |
FPGARevision, Manufacturer, Model, SerialNumber, SoftwareRevision, HardwareRevision |
Variable | Informations sur les versions de matériel et de logiciel installées |
Bitmap | Méthode | Permet d'accéder à la dernière étiquette imprimée au format .png |
Screen | Méthode | Fournit une capture d'écran de l'afficheur de l'imprimante au format .png |
I/O | Objet | Permet d'accéder à l'interface E/S de l'imprimante et déclenche IOStatusChangeEvent |
LBLWARN | Variable | Pré-alarme de fin d'étiquettes |
RIBERR | Variable | Fin de ruban transfert |
RIBWARN | Variable | Pré-alarme de fin du ruban de transfert |
Status | Variable | État des sorties de l'interface E/S, défini par une combinaison des valeurs suivantes : RIBWARN 1 HOMEPOS 8 ERROR 64 RIBERR 512 ENDPOS 2 PEELPOS 16 READY 128 MEDERR 1024 FEEDON 4 JOBRDY 32 LBLWARN 256 (uniquement HERMES Q) |
SetInput | Méthode | Définir l'état de l'entrée de l'interface E/S : PAUSE, LBLROT |
TriggerInput | Méthode | Déclencher l'entrée de l'interface E/S : FSTLBL, REPRINT, START, LBLREM, JOBDEL, RSTERR, STOP, LBLFEED |
LabelBitmap | Méthode | Image de l'étiquette actuelle au format .png. Contrairement à la méthode Bitmap, l'orientation et la taille des étiquettes sont ici prises en compte |
ENDPOS | Variable | L'applicateur est en position d'étiquetage, à partir de laquelle se fait le transfert de l'étiquette vers le produit |
ERROR | Variable | L'imprimante est en erreur |
FEEDON | Variable | Avance papier MARCHE |
HOMEPOS | Variable | L'applicateur est en position initiale, à partir de laquelle se fait le transfert de l'étiquette depuis l'imprimante |
JOBRDY | Variable | Tâche d'impression prête |
MEDERR | Variable | Fin de papier ou de ruban transfert |
PEELPOS | Variable | Étiquette en position de pré-décollement |
READY | Variable | Imprimante prête |
Interpreter | Objet | Informations sur le statut actuel de la tâche ; déclenche ErrorEvent, JobInfoEvent et JobFinishEvent |
JPhase | Variable | État actuel de l'interpréteur JScript |
QueryObject | Méthode | Requête d'objets JScript existants |
Current Label | Objet | Disponible lorsqu'une tâche d'impression est exécutée par l'interpréteur |
Current Id | Variable | Identifiant unique de la tâche d'impression en cours |
Current Name | Variable | Nom de la tâche. Nom de la tâche d'impression en cours spécifiée dans la commande JScript j |
Current Content Fields | Objet | Noeud racine des champs dynamiques dans l'étiquette actuelle. Le contenu des champs peut être remplacé en définissant de nouvelles valeurs sur le noeud correspondant. |
abc Status | Variable | Statut de l'interpréteur basic abc : Idle, Compiling, Running, RuntimeError ou SyntaxError |
Active | Variable | L'imprimante est active, par exemple interprétation ou impression des données |
Available Space | Variable | Mémoire disponible pour le traitement des tâches d'impression en % |
ESCs | Variable | Chaîne de caractères analogue à la commande JScript ESCs |
ESCz | Variable | Chaîne de caractères analogue à la commande JScript ESCz |
Error | Variable | Analogue à ESCs La valeur numérique doit être interprétée comme un caractère ASCII, ainsi par exemple 45 == '-' No error |
Labels To Print | Variable | Nombre d'étiquettes à imprimer dans la tâche d'impression en cours |
Last Job | Variable | Nom de la dernière tâche d'impression traitée avec succès ; voir la commande JScript j |
Online | Variable | L'imprimante est dans l'état ONLINE, c'est-à-dire que l'afficheur affiche l'écran de démarrage |
Paused | Variable | L'imprimante est dans l'état PAUSE |
CancelJob | Méthode | Permet d'annuler la tâche d'impression en cours |
LoadLabel | Méthode | Permet de charger un fichier d'étiquette à partir d'un support mémoire |
PrintData | Méthode | Permet le traitement direct des données JScript envoyées |
TotalCancel | Méthode | Permet l'annulation de toutes les tâches d'impression |
Ribbon | Objet | |
Ribbon RibbonDiameter | Variable | Diamètre calculé du ruban transfert restant sur le dérouleur (en millimètres) |
Ribbon RibbonLow | Variable | Ruban transfert restant faible selon le réglage dans le menu de l'imprimante |
Statistics | Objet | |
Statistics Labels | Variable | Nombre d'étiquettes imprimées depuis la mise en service |
Statistics Operating Time | Variable | Durée de fonctionnement de l'imprimante (en minutes) |
Statistics Thermal Direct | Variable | Longueur totale de papier imprimé (en millimètres) en mode thermique direct |
Statistics Thermal Transfer | Variable | Longueur totale de papier imprimé (en millimètres) en mode transfert thermique |
Paper | ||
Paper Diameter | Variable | Diamètre calculé de la quantité d'étiquettes restante sur le dérouleur, en millimètres (uniquement HERMES Q) |
Paper Low | Variable | Quantité d'étiquettes restante minimale selon le réglage dans le menu de l'imprimante (uniquement HERMES Q) |
SubDevices | Objet | |
Applicator* | Objet | |
Barcode Verifier* | Objet | |
Cutter* | Objet | |
Cutter* Can Perforate | Variable | Un massicot de perforation est connecté. |
Cutter* Has Stacking Box | Variable | Le massicot connecté contient un empileur. |
Demand Sensor* | Objet | |
Sensor Status | Variable | État actuel de la cellule de détection |
Rewinder* | Objet | |
Ribbon Saver* | Objet | |
Ribbon Sync | Variable | Économiseur de ruban initialisé et fonctionnel. |
Ribbon Head State | Variable | Position actuelle de la tête d'impression, Printing ou Saving |
Ribbon Synchronize | Méthode | Déclenche une synchronisation de l'économiseur de ruban ; nécessaire uniquement pour la maintenance |
Ribbon ToggleHead | Méthode | Bascule la position de la tête d'impression ; nécessaire uniquement pour la maintenance |
TPH 1 | Objet | Informations sur la tête d'impression |
TPH 1 Model | Variable | Informations sur le type de tête d'impression |
TPH 1 SoftwareRevision | Variable | |
TPH 1 Open | Variable | Statut si la tête d'impression est ouverte |
TPH 1 SerialNumber | Variable | Numéro de série de la tête d'impression |
TPH 1 Temperature | Variable | Température actuelle de la tête d'impression en °C |
TPH 1 Statistics | Objet | Informations statistiques sur la tête d'impression |
Storage | Objet | |
FileDelete | Méthode | Supprime un fichier d'un support mémoire de l'imprimante |
FileDownload | Méthode | Télécharge un fichier d'un support mémoire de l'imprimante vers le client |
FileList | Méthode | Liste tous les fichiers d'support mémoire de l'imprimante |
FileUpload | Méthode | Charge un fichier du client vers un support mémoire de l'imprimante |
FontList | Méthode | Requête sur la liste de polices disponibles sur l'imprimante |
IFFS | Objet | (I)nternal (F)lash (F)ile (S)ystem |
IFFS IFFS Available Space | Variable | Espace disponible (en Ko) sur le système de fichiers |
IFFS Capacity | Variable | Capacité du système de fichiers (en Ko) |
SD Card | Objet | |
SD Card SD Card Attached | Variable | Système de fichiers de la carte SD monté |
USB Memory | Objet |
* Noeud en option uniquement lorsqu'une clé de service est connectée
Note importante : Conformément à la spécification OPC UA Device Integration, les méthodes doivent toujours être appelées dans le MethodSet de l'appareil, même si elles sont liées dans un FunctionalGroup distinct pour une meilleure affectation. Un appel via FunctionalGroup provoque toujours une erreur.
Espace de noms http://cab.de/Printer/Setup
Cet espace de noms fournit un accès complet à l'arborescence de configuration de l'imprimante, il est construit de manière analogue aux réglages disponibles sur l'afficheur de l'imprimante. La position réelle des paramètres de configuration dans l'arborescence est sujette à modification. Il est donc dangereux de rechercher un noeud via son chemin de navigation. Au lieu de cela, les noeuds de configuration peuvent être directement accédés par leur identificateur de chaîne unique.
Nom du noeud | Classe du noeud | Description |
---|---|---|
Setup | Objet | Ce sous-noeud du noeud Printer représente le point d'entrée central pour accéder aux paramètres de l'imprimante ; déclenche SetupValueChangeEvent et SetupVisibilityChangeEvent |
SetOpcUaClientUrl | Méthode | Stockage d'une adresse de serveur OPC UA pour une utilisation en mode autonome |
Export | Méthode | Exporte les paramètres de l'imprimante au format .xml |
Import | Méthode | Importe les paramètres d'imprimante au format .xml |
ImportCertificateTLS | Méthode | Importe un certificat TLS |
Reset | Méthode | Réinitialiser les paramètres aux paramètres d'usine |
ResetPasswords | Méthode | Réinitialiser les mots de passe aux paramètres d'usine |
< SetupFolder> |
Objet | Contient des paramètres de configuration ou d'autres dossiers en tant que sous-noeuds |
< SetupValue> |
Objet | Permet d'accéder à un paramètre de configuration |
IsActive | Variable | Indique si ce paramètre de configuration est actuellement accessible via l'interface graphique de l'imprimante. |
Les valeurs suivantes sont disponibles pour la configuration :
- Valeurs booléennes
- Énumérations
- Valeurs chaînes avec les champs
MinLen
MaxLen
Regex, expression régulière optionnelle appliquée à la valeur de l'attribut lors d'une opération d'écriture - Valeurs numériques avec les champs
Range
Step
ToggleInt (facultatif, pour l'affichage)
Unit (facultatif, pour l'affichage) - Les mots de passe contiennent des attributs de longueur minimale et maximale, tout comme les valeurs chaînes
Note importante : Conformément à la spécification OPC UA Device Integration, les méthodes doivent toujours être appelées dans le MethodSet de l'appareil, même si elles sont liées dans un FunctionalGroup distinct pour une meilleure affectation. Un appel via FunctionalGroup provoque toujours une erreur.
Événements
En plus des événements OPC UA standards, les imprimantes cab offrent également les événements supplémentaires suivants.
Nom de l'événement | Type | Description |
---|---|---|
ErrorEvent | Déclenché pendant la transition vers un état d'erreur ; déclenché par le noeud Interpreter | |
Message | LocalizedText | Message d'erreur |
Detail1 | LocalizedText | Informations d'erreur plus détaillées |
Detail2 | LocalizedText | Informations encore plus détaillées |
JobInfoEvent | Déclenché au début de l'impression pour chaque étiquette à imprimer ; déclenché par le noeud Interpreter | |
LabelNo | Int32 | Numéro de l'étiquette dans la tâche d'impression en cours |
JobSize | Int32 | Nombre d'étiquettes à imprimer dans la tâche d'impression en cours |
IsTestPrint | Boolean | Indique que cette tâche est une impression test |
JobFinishEvent | Déclenché à la fin de la tâche dès que l'imprimante revient en mode Idle; déclenché par le noeud Interpreter | |
pas d'autres champs | ||
SetupValueChangeEvent | Déclenché dès que la valeur d'un paramètre de configuration change ; déclenché par le noeud Setup | |
SourceName | String | Nom du paramètre de configuration affecté |
SetupVisibilityChangeEvent | Déclenché dès que la visibilité d'un paramètre de configuration change, généralement en raison d'interdépendances ; déclenché par le noeud Setup | |
SourceName | String | Nom du paramètre de configuration affecté |
IOStatusChangeEvent | Déclenché lorsque l'état des entrées / sorties de l'appareil change ; déclenché par le noeud I/O | |
Status | UInt32 | Nouvel état de l'imprimante, comme décrit sous Printer->IO->Status |
Restrictions : actuellement, le serveur OPC UA ne prend pas en charge les fonctions suivantes :
- Certains types de Monitored items - soit Change notify ou Event notify - dans un seul abonnement même lorsque Monitored items est autorisé dans un abonnement
- Where clauses dans les requêtes Monitored items
- Alarms and conditions
Support OPC UA Client dans l'imprimante
À l'aide de la commande JScript spéciale [OPCUA], l'imprimante peut lire les données des serveurs OPC UA en mode autonome et les insérer dans la mise en page de l'étiquette :
m m
J
H 75,0
S l1;0,0,25,29,50
E OPCUA;opc.tcp://192.168.200.71:4840
T 20,20,0,3,10;[OPCUA:2:DeviceSet,3:Printer,2:SoftwareRevision]
A 1
Afin de pouvoir adresser plusieurs serveurs OPC UA, le concept de slot est utilisé. Un numéro de slot peut être ajouté au mot-clé 'OPCUA', de sorte que jusqu'à cinq serveurs différents peuvent être interrogés :
m m
J
H 75,0
S l1;0,0,25,29,50
; Connexion à l'aide d'un nom d'utilisateur et d'un mot de passe
E OPCUA-0;opc.tcp://opcuser:opcpass@192.168.200.71:4840
; Connexion anonyme
E OPCUA-1;opc.tcp://192.168.200.53:4840
T 10,10,0,3,10;SW Rev Imprimante 1: [OPCUA-0:2:DeviceSet,3:Printer,2:SoftwareRevision]
T 20,20,0,3,10;SW Rev Imprimante 2: [OPCUA-1:2:DeviceSet,3:Printer,2:SoftwareRevision]
A 1
Au lieu de spécifier le chemin de navigation, les ID de nœud peuvent également être spécifiés pour la requête de données dans la commande spéciale OPCUA :
m m
J
H 75,0
S l1;0,0,25,29,50
E OPCUA;opc.tcp://192.168.200.71:4840
T 20,20,0,3,10;[OPCUA:ns=3;i=50723]
T 10,10,0,3,10;[OPCUA:ns=4;s=ID_BACKFEED]
A 1
Les types de données suivants sont pris en charge :
- entiers numériques
- valeurs en virgule flottante
- chaînes, ByteString, XmlElement
- valeurs booléennes
- LocalizedText
- date heure
- Range
- EUInformation
- Enumerations
Les informations de connexion ne doivent pas nécessairement être enregistrées dans l'étiquette, mais peuvent à la place être stockées dans la configuration globale de l'imprimante. La fonction OPC UA 'SetOpcUaClientUrl' est utilisée pour cela. En spécifiant l'emplacement souhaité et l'adresse à utiliser, jusqu'à 5 informations de connexion différentes peuvent également être enregistrées ici. Dans ce cas, la commande E dans l'étiquette peut être omise.
Janvier 2021