cab und die intelligente Fabrik:
Vernetzt kennzeichnen mit OPC UA

Anforderungen

In der Industrie basieren Produktions- und Logistikumgebungen immer mehr auf digitalen Prozessleitsystemen. Maschinen tauschen Informationen mit Menschen oder anderen Maschinen aus, verarbeiten produktionsrelevante Daten autonom, speisen diese ein oder leiten sie weiter. Individualisierung, Skalierbarkeit, schlanke und rückverfolgbare Prozesse sowie zuverlässige Geräte und Komponenten sind Schlüsselanforderungen.

Die den Leitsystemen zugrundeliegenden Applikationen oder Dienste werden mehrheitlich im Internet gehostet. Daten von Sensoren, Geräten oder Software landen in der Cloud und können so leicht zwischen Druckern oder Etikettierern, Robotern und IT-Systemen ausgetauscht werden – vorausgesetzt, diese sprechen alle dieselbe Sprache und verstehen einander.

Das Protokoll

Open Platform Communications Unified Architecture, kurz OPC UA, schafft die Voraussetzung für interagierende Maschinen und Komponenten unterschiedlicher Hersteller in einem industriellen Umfeld. Verschiedene Spezifikationen wurden in der OPC UA auf ein einheitliches Datenmodell portiert und so ein neuer Schnittstellenstandard geschaffen. OPC UA stößt Vernetzung, wie wir sie anhand von Netzwerk- und USB-Schnittstellen im Büro kennen, in der industriellen Fertigung an.

OPC UA

Vernetzung mit cab Geräten

Sie nehmen eine Produktionsanlage in Betrieb? Oder Sie planen, Ihre Materiallager entsprechend Industrie 4.0 zu vernetzen? Ist ein IP-fähiges Netzwerk vorhanden, kann OPC UA bereits als einheitliches Framework für den maschinenübergreifenden Informationszugriff genutzt werden. Für die Kennzeichnung von Bauteilen, Produkten oder Verpackungen innerhalb der Anlage sind cab Etikettendrucker der aktuellen Generation sowie die Etikettiergeräte IXOR bereits OPC UA-fähig. Sie sind dazu in der Lage, mit übergeordneten Steuerungen zu kooperieren.

Industrie 4.0
 

Highlights auf einen Blick

  • Fertigung auf Anforderung
  • Prozessautomation
  • Konfiguration von Geräten
  • Fernsteuerung von Geräten
  • Überwachung von Geräten
  • Interoperabilität
  • Prognosen und Analysen
  • Rückverfolgbarkeit
  • Vorrats- bzw. Bestandsoptimierung
  • Wegeverkürzung
  • Transparenz

Ereignisgesteuert kennzeichnen

Den Etikettendrucker per Tastendruck danach fragen, wie es ihm gerade geht, war gestern. Heute verständigen smarte Geräte automatisch darüber, dass sie gewartet werden wollen oder dass das zu bedruckende Material oder die Transferfolie im Gerät zur Neige gehen und ersetzt werden müssen. Etiketten lassen sich remote laden, ebenso Etiketteneigenschaften auslesen und Variablen für den Druck austauschen. Betriebsparameter wie die bisherige Laufleistung des Druckkopfs, dessen Temperatur oder die Zahl der im laufenden Auftrag noch zu druckenden Etiketten werden just in time mitgeteilt. Die Information wird vom Drucker an die Anlagensteuerung übergeben, von dieser erkannt und interpretiert und direkt die entsprechende Maßnahme initiiert.

OPC UA als übergeordnete Steuerung bietet hier den Vorteil, Produktionsdaten, Alarme, Ereignisse und historische Daten softwaregesteuert unter einem Dach zusammenzubringen. Sie integriert und vereinheitlicht die unterschiedlichen Adressräume und die Schnittstellen zum Zugriff.



Video zu dieser Anwendung

Vernetzt kennzeichnen mit OPC UA

Video ansehen


OPC UA mit cab Druckern

Nachfolgend OPC UA-Leistungsmerkmale, die von cab Geräten* aktuell unterstützt werden:

  •  Kommunikationsstack
         binäres OPC UA-Protokoll
  • Verschlüsselung
         ohne
         Basic128Rsa15
         Basic256Sha256
  • Authentifizierung
         anonym
         Benutzername/Passwort

Vollständig authentifizierte Benutzer erhalten Zugriff auf alle bereitgestellten Leistungsmerkmale. Anonyme Benutzer erhalten Leserechte für die Druckerknoten, das Aufrufen von Methoden ist jedoch nicht möglich - auch dann nicht, wenn die Druckerkonfiguration/der Druckerstatus hiervon unbetroffen bleiben.

  • OPC UA Services
         SecureChannel Service Set
         Session Service Set
         Attribute Service Set: Lesen/Schreiben von Attributen, Ereignisse, keine Datenhistorie
         Method Service Set
         MonitoredItem Service Set
         Subscription Service Set
         View Service Set

Der OPC UA Server kann unter Einstellungen / Schnittstellen / Netzwerkdienste aktiviert werden.

* Etikettendrucker SQUIX, MACH 4S, EOS2, EOS5, HERMES Q, PX Q, AXON 2, Etikettiergeräte IXOR

Informationsmodell

cab Drucker implementieren das Informationsmodell OPC UA Device Integration (DI). Es stehen zwei Namensräume zur Verfügung:

http://cab.de/Printer für die Überwachung und Steuerung von Druckaufträgen
http://cab.de/Printer/Setup für die Gerätekonfiguration

Die Funktionen auf den nachfolgenden Seiten entsprechen dem gegenwärtigen Stand und werden fortlaufend weiterentwickelt.

Industrie 4.0

Namensraum http://cab.de/Printer

Dieser Namensraum ermöglicht den Zugriff auf den aktuellen Druckerstatus, einschließlich den Status der I/Os, Informationen zum Druckermodell oder jedwede Statusinformation zum laufenden Druckauftrag.

Bezeichnung des Knotens Knotenklasse Beschreibung
Printer Objekt Zentraler Einstiegspunkt zum Informationsmodell des Druckers
FPGARevision, Manufacturer, Model, SerialNumber,
SoftwareRevision,
HardwareRevisionSerial
Variable Informationen zu den verbauten Hardware- und Softwareversionen
Bitmap Methode Erlaubt den Zugriff auf das zuletzt gedruckte Etikett im .png-Format
Screen Methode Liefert ein Bildschirmfoto des Druckerdisplays im .png-Format
I/O Objekt Erlaubt den Zugriff auf die I/O-Schnittstelle des Druckers;
löst IOStatusChangeEvent aus
LBLWARN Variable Warnung vor Ende der Etiketten
RIBERR Variable Transferfolie zu Ende
RIBWARN Variable Warnung vor Ende Transferfolie
SetInput Methode Eingang der I/O-Schnittstelle setzen: PAUSE, LBLROT
LabelBitmap Methode Druckbild des aktuellen Etiketts im .png-Format. Im Gegensatz zur Bitmap-Methode sind hier Etikettenausrichtung und -größe berücksichtigt
ENDPOS Variable Applikator befindet sich in der Position, aus der die Etikettenübertragung zum Produkt stattfindet
ERROR Variable Fehler
FEEDON Variable Papiertransport EIN
HOMEPOS Variable Applikator befindet sich in der Position, aus der die Etikettenübernahme vom Drucker stattfindet
JOBRDY Variable Druckauftrag bereit
MEDERR Variable Papier- oder Transferfolienende
PEELPOS Variable Etikett in Spendeposition
READY Variable Drucker bereit
I/O Status Variable Ausgangsstatus der I/O-Schnittstelle, definiert durch eine Kombination folgender Werte:
RIBWARN 1  HOMEPOS  8  ERROR    64  RIBERR  512
ENDPOS  2  PEELPOS 16  READY   128  MEDERR 1024
FEEDON  4  JOBRDY  32  LBLWARN 256 
(z.T. nur HERMES Q)
TriggerInput Methode Eingang der I/O-Schnittstelle triggern: FSTLBL, REPRINT, START, LBLREM, JOBDEL, RSTERR, STOP, LBLFEED
Interpreter Objekt Informationen zum aktuellen Job-Status;
löst ErrorEvent, JobInfoEvent und JobFinishEvent aus
JPhase  Variable Aktueller Zustand des JScript Interpreters
QueryObject Methode Abfrage vorhandener JScript Objekte
Current Label Objekt Verfügbar, wenn ein Druckauftrag im Interpreter bearbeitet wird
Current Id Variable Eindeutige Kennung des aktuellen Druckauftrags
Current Name Variable Jobname; Name des aktuellen Druckauftrags gemäß Angabe im JScript j Kommando
Current Content Fields Objekt Root-Knoten der dynamischen Felder im aktuellen Etikett. Der Inhalt der Felder kann mittels Setzen neuer Werte auf dem entsprechenden Knoten ersetzt werden.
abc Status Variable Status des abc Basic Interpreters: Idle, Compiling, Running, RuntimeError oder SyntaxError
Active Variable Drucker ist aktiv, z. B. Druckdaten interpretieren oder drucken
Available Space Variable Für die Druckverarbeitung zur Verfügung stehender Speicherplatz in %
ESCs Variable Zeichenkette analog zu JScript ESCs
ESCz Variable Zeichenkette analog zu JScript ESCz
Error Variable Analog zu ESCs; der numerische Wert muss als ASCII-Zeichen interpretiert werden,
so bedeutet z. B. 45 == '-' Kein Fehler
Labels To Print Variable Anzahl der zu druckenden Etiketten im aktuellen Druckauftrag
Last Job Variable Name des zuletzt erfolgreich bearbeiteten Druckauftrags; vgl. das JScript-Kommando j
Online Variable Drucker befindet sich im Zustand ONLINE, d.h., am Display wird der Startbildschirm angezeigt
Paused Variable Drucker befindet sich im Zustand PAUSE
CancelJob Methode Erlaubt den Abbruch des aktuellen Druckauftrags
LoadLabel Methode Erlaubt das Laden einer Etikettendatei vom Speichermedium
PrintData Methode Erlaubt das direkte Verarbeiten von gesendeten JScript-Daten
TotalCancel Methode Erlaubt den Abbruch sämtlicher Druckaufträge
Ribbon Objekt  
Ribbon RibbonDiameter Variable Errechneter Durchmesser der Transferfolienrestmenge am Abwickler in Millimeter
Ribbon RibbonLow Variable Niedrige Transferfolienrestmenge gemäss Einstellung im Druckermenü
Statistics Objekt  
Statistics Labels Variable Anzahl der Etiketten, die seit der Inbetriebnahme gedruckt wurden
Statistics Operating Time Variable Betriebsdauer des Druckers in Minuten
Statistics Thermal Direct Variable Im Thermodirektverfahren bisher bedruckte Papierlänge in Millimeter
Statistics Thermal Transfer Variable Im Thermotransferverfahren bisher bedruckte Papierlänge in Millimeter
Paper    
Paper Diameter Variable Errechneter Durchmesser der Etikettenrestmenge am Abwickler in Millimeter (nur HERMES Q)
Paper Low Variable Niedrige Etikettenrestmenge gemäss Einstellung im Druckermenü (nur HERMES Q)
SubDevices Objekt  
Applicator* Objekt  
Barcode Verifier* Objekt  
Cutter* Objekt  
Cutter* Can Perforate Variable Ein Perforationsmesser ist angeschlossen.
Cutter* Has Stacking Box Variable Das angeschlossene Messer beinhaltet eine Stapelbox.
Demand Sensor* Objekt  
        Sensor Status Variable Aktueller Zustand der Lichtschranke
Rewinder* Objekt  
Ribbon Saver* Objekt  
Ribbon Sync Variable Das Transferfoliensparmodul ist vollständig initialisiert.
Ribbon Head State Variable Aktuelle Position des Druckkopfs, Printing oder Saving
Ribbon Synchronize Methode Löst eine Synchronisierung des Transferfoliensparmoduls aus; nur relevant zu Servicezwecken
Ribbon ToggleHead Methode Schaltet die Position des Druckkopfs um; nur relevant zu Servicezwecken
TPH 1 Objekt Druckkopfinformationen
TPH 1 Model Variable Typinformationen zum Druckkopf
TPH 1 SoftwareRevision Variable  
TPH 1 Open Variable Status, ob Druckkopf geöffnet ist
TPH 1 SerialNumber Variable Seriennummer des Druckkopfs
TPH 1 Temperature Variable Aktuelle Druckkopftemperatur in °C
TPH 1 Statistics Objekt Statistikinformationen zu diesem Druckkopf
Storage Objekt  
FileDelete Methode Löscht eine Datei auf einen Datenträger des Druckers
FileDownload Methode Lädt eine Datei auf einem Datenträger des Druckers zum Client herunter
FileList Methode Listet alle Dateien eines Datenträgers des Druckers
FileUpload Methode Lädt eine Datei des Clients auf einen Datenträger des Druckers
FontList Methode Abfrage der auf dem Drucker zur Verfügung stehenden Schriftarten
IFFS Objekt (I)nternal (F)lash (F)ile (S)ystem
         IFFS Available Space Variable Auf dem Dateisystem zur Verfügung stehender Speicherplatz in kB
         IFFS Capacity Variable Kapazität des Dateisystems in kB
SD Card Objekt Abfrage der auf dem Drucker zur Verfügung stehenden Schriftarten
        SD Card Attached Variable Dateisystem ist eingehängt
USB Memory Objekt  

* Knoten als Option nur mit angeschlossenem Service Key

Wichtiger Hinweis: Methoden müssen gemäss der OPC UA Device Integration Spezifikation immer im MethodSet des Geräts aufgerufen werden, auch wenn sie zur besseren Zuordnung in separate FunctionalGroup verlinkt sind. Ein Aufruf über die Funktionsgruppe führt immer zu einem Fehler.

Namensraum http://cab.de/Printer/Setup

Dieser Namensraum bietet vollen Zugriff auf den Konfigurationsbaum des Druckers, der analog den Einstellungsebenen im Druckerdisplay aufgebaut ist. Die tatsächliche Position der Konfigurationsparameter innerhalb des Baums kann sich ändern, weshalb es unsicher ist, einen Knoten über seinen Stammpfad aufzurufen. Anstelle dessen sind Konfigurationsknoten am besten direkt über ihre eindeutige String-Kennung anzusprechen.

Bezeichnung des Knotens Knotenklasse Beschreibung
Setup Objekt Dieser Unterknoten des Knotens Printer stellt den zentralen Einstiegspunkt für den Zugriff auf die Druckereinstellungen dar; löst SetupValueChangeEvent und SetupVisibilityChangeEvent aus
SetOpcUaClientUrl Methode Speicherung einer OPC UA Serveradresse für die Benutzung im Standalone Modus.
ExportSettings Methode Exportiert Druckereinstellungen im .xml-Format
ImportSettings Methode Importiert Druckereinstellungen im .xml-Format
ImportCertificateTLS Methode Importiert ein TLS-Zertifikat
ResetSettings Methode Einstellungen auf Werkszustand zurücksetzen
ResetPasswords Methode Passwörter auf Werkszustand zurücksetzen
<setupfolder> Objekt Enthält Konfigurationsparameter oder weitere Ordner als Unterknoten
          <SetupValue> Objekt Erlaubt den Zugriff auf einen Konfigurationsparameter
                    IsActive Variable Zeigt an, ob dieser Konfigurationsparameter aktuell über die grafische Schnittstelle des Druckers zugreifbar ist

Für das Setup stehen die folgenden Werte zur Verfügung:

  • Boolesche Werte
  • Aufzählungen
  • String-Werte mit den Feldern
    MinLen
    MaxLen
    Regex, ein optionaler regulärer Ausdruck, der bei einem Schreibvorgang auf den Wert des Attributs angewendet wird
  • Numerische Werte mit den Feldern
    Range
    Step
    ToggleInt (optional, zum Zweck der Anzeige)
    Unit (optional, zum Zweck der Anzeige)
  • Passwörter schließen, wie die String-Werte, Attribute zur minimalen und maximalen Länge ein

Wichtiger Hinweis: Methoden müssen gemäss der OPC UA Device Integration Spezifikation immer im MethodSet des Geräts aufgerufen werden, auch wenn sie zur besseren Zuordnung in separate FunctionalGroup verlinkt sind. Ein Aufruf über die Funktionsgruppe führt immer zu einem Fehler.

Events

Neben OPC UA-Standardevents bieten cab Drucker die nachfolgenden ergänzenden Events.

Bezeichnung des Knotens Typ Beschreibung
ErrorEvent   Wird beim Übergang in einen Fehlerzustand ausgelöst; ausgelöst durch den Knoten Interpreter
Message LocalizedText Fehlermeldung
Detail1 LocalizedText Detailliertere Fehlerinformationen
Detail2 LocalizedText Noch detailliertere Informationen
JobInfoEvent   Wird für jedes zu druckende Etikett zu Druckbeginn ausgelöst; ausgelöst durch den Knoten Interpreter
LabelNo Int32 Nummer des Etiketts im aktuellen Druckauftrag
JobSize Int32 Anzahl zu druckender Etiketten im aktuellen Druckauftrag
IsTestPrint Boolean Zeigt an, dass es sich bei diesem Auftrag um einen Testdruck handelt
JobFinishEvent   Wird am Auftragsende ausgelöst, sobald der Drucker zurück in den Idle-Zustand geht; ausgelöst durch den Knoten Interpreter
keine weiteren Felder    
SetupValueChangeEvent   Wird ausgelöst, sobald sich der Wert eines Konfigurationsparameters ändert;
ausgelöst durch den Knoten Setup
SourceName String Der Bezeichner des sich ändernden Konfigurationsparameters
SetupVisibilityChangeEvent   Wird ausgelöst, sobald sich die Sichtbarkeit eines Konfigurationsparameters ändert, üblicherweise aufgrund von Äbhangigkeiten untereinander; ausgelöst durch den Knoten Setup
SourceName String Der Bezeichner des sich ändernden Konfigurationsparameters
IOStatusChangeEvent   Wird bei Änderung des I/O-Status des Geräts ausgelöst; ausgelöst durch den Knoten I/O
Status UInt32 Neuer Druckerstatus wie beschrieben unter Printer->IO->Status

Einschränkungen: Aktuell unterstützt der OPC UA-Server nicht die folgenden Funktionen:

  • Monitored items - entweder Change notify oder Event notify - innerhalb einer einzelnen Subscription, auch wenn Monitored items in einer Subscription erlaubt sind
  • Where clauses in Monitored items requests
  • Alarms and conditions

OPC UA Client Support im Drucker

Mithilfe des JScript Spezialkommandos OPCUA kann der Drucker im Standalone Modus Daten von OPC UA Servern auslesen und in das Etikettenlayout einfügen:

   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

Um mehrere OPC UA Server ansprechen zu können wird das Konzept eines Slots verwendet. An den Token OPCUA kann noch eine Slotnummer angefügt werden, so können bis zu fünf verschiedene Serversysteme abgefragt werden:

   m m
   J
   H 75,0
   S l1;0,0,25,29,50

   ; Verbindung mithilfe eines Benutzernamens und Passworts
   E OPCUA-0;opc.tcp://opcuser:opcpass@192.168.200.71:4840

   ; anonyme Verbindung
   E OPCUA-1;opc.tcp://192.168.200.53:4840

   T 10,10,0,3,10;SW Rev Drucker 1: [OPCUA-0:2:DeviceSet,3:Printer,2:SoftwareRevision]
   T 20,20,0,3,10;SW Rev Drucker 2: [OPCUA-1:2:DeviceSet,3:Printer,2:SoftwareRevision]
   A 1

Alternativ zur Angabe des Browsepath können für die Datenabfrage im OPCUA Spezialbefehl auch Node-IDs angegeben werden:

   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

Folgende Datentypen werden unterstützt:

  •  ganzzahlige numerische Datentypen
  •  Fließkommawerte
  •  String, ByteString, XmlElement
  •  Boolesche Werte
  •  LocalizedText
  •  DateTime
  •  Range
  •  EUInformation
  •  Enumerationen

Die Verbindungsinformationen müssen nicht zwangsläufig im Etikett gespeichert werden sondern können stattdessen in der globalen Konfiguration des Druckers hinterlegt werden. Hierzu dient die OPC UA Funktion SetOpcUaClientUrl. Unter Angabe des gewünschten Slots und der zu verwendenden Adresse können auch hier bis zu 5 verschiedene Verbindungsinformationen gespeichert werden. In diesem Fall kann auf den E Befehl im Etikett verzichtet werden.

Für Entwickler

Unser GitHub-Repository enthält detaillierte technische Informationen und Beispielcode für unseren OPC UA Server. Verfügbar sind Implementierungen in C++ (mit der open62541 Bibliothek) und Python (mit der python-opcua Bibliothek).

Industrie 4.0 mit cab Geräten


Anschließen und loslegen mittels OPC UA

cab modelliert Schnittstelle für Robotikanwendungen von morgen.

Videos ansehen

Januar 2021

cab Produkttechnik GmbH & Co KG

Wilhelm-Schickard-Str. 14
76131 Karlsruhe

Anrufen
Schreiben Sie uns
Support anfordern

cab Newsletter

Mit dem cab Newsletter informieren wir Sie regelmäßig per E-Mail rund um das Thema Kennzeichnung. Sie können den Newsletter jederzeit abbestellen.

Jetzt abonnieren!
Newsletter abbestellen

cab finden Sie auch auf:

Kununu Top Company TOP100 Auszeichnung

Live Chat