DE102014114586B4 - Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem - Google Patents

Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem Download PDF

Info

Publication number
DE102014114586B4
DE102014114586B4 DE102014114586.0A DE102014114586A DE102014114586B4 DE 102014114586 B4 DE102014114586 B4 DE 102014114586B4 DE 102014114586 A DE102014114586 A DE 102014114586A DE 102014114586 B4 DE102014114586 B4 DE 102014114586B4
Authority
DE
Germany
Prior art keywords
browser
control panel
user interface
main computer
web
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102014114586.0A
Other languages
English (en)
Other versions
DE102014114586A1 (de
Inventor
Andreas Haas
Harald Keicher
Norbert Linkel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Production Printing Germany GmbH and Co KG
Original Assignee
Canon Production Printing Germany GmbH and Co KG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Production Printing Germany GmbH and Co KG filed Critical Canon Production Printing Germany GmbH and Co KG
Priority to DE102014114586.0A priority Critical patent/DE102014114586B4/de
Priority to JP2015200237A priority patent/JP6605286B2/ja
Priority to US14/878,426 priority patent/US9395943B2/en
Publication of DE102014114586A1 publication Critical patent/DE102014114586A1/de
Application granted granted Critical
Publication of DE102014114586B4 publication Critical patent/DE102014114586B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1246Job translation or job parsing, e.g. page banding by handling markup languages, e.g. XSL, XML, HTML
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1282High volume printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • H04N1/00236Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer
    • H04N1/00238Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server using an image reading or reproducing device, e.g. a facsimile reader or printer, as a local input to or local output from a computer using an image reproducing device as a local output from a computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00464Display of information to the user, e.g. menus using browsers, i.e. interfaces based on mark-up languages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

Verfahren zum Betreiben eines Bedienfeldes für ein Produktionssystem, insbesondere für ein Drucksystem, wobei das Produktionssystem eine Steuervorrichtung (2) aufweist, die einen Hauptcomputer (10) umfasst, und der Hauptcomputer (10) mit einer Datenverbindung mit einem oder mehreren Client-Computern (14, 15, 17) verbunden ist, auf welchen ein Browser (23) installiert ist und ausgeführt wird,wobei am Hauptcomputer (10) eine Bedienfeld-Modulbibliothek (20) installiert ist und ausgeführt wird, mit welcher ein Bedienfeld für das Produktionssystem erzeugt und bereitgestellt wird, das als Auszeichnungssprachen-Datei vom Hauptcomputer (10) zum jeweiligen Browser (23) übermittelt und im Browser (23) zur Darstellung des Bedienfelds ausgeführt wird, wobei die Auszeichnungssprachen-Datei mittels einem am Hauptcomputer (10) installierten und ausgeführten Web-Benutzerinterface (21) vom Hauptcomputer (10) an einen der Client-Computer (14, 15, 17) übermittelt wird,wobei eine Betätigung eines Benutzers am Bedienfeld eine Aktions-Anforderung an das Web-Benutzerinterface (21) auslöst, mit welcher eine Aktion am Hauptcomputer (10) angefordert wird, undbei jeder Aktions-Anforderung das Web-Benutzerinterface (21) nach vorbestimmten Regeln prüft, ob diese Aktion erlaubt ist und die Aktion blockiert, wenn sie nicht erlaubt ist.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie eine Steuervorrichtung für ein Produktionssystem. Insbesondere betrifft die vorliegende Erfindung ein Verfahren zum Betreiben eines Bedienfelds für ein Drucksystem sowie eine Steuervorrichtung für ein Drucksystem.
  • Aus der DE 297 20 991 U1 geht ein Rechner für eine Druckmaschine, insbesondere Bogen-Offset-Druckmaschine, hervor, bei dem die Druckmaschine mehrere Rechner aufweist, welche über einen Bus miteinander verbunden sind. Wenigstens einer der Rechner weist eine Anzeige- und Eingabevorrichtung auf. Dieser eine Rechner ist ein tragbarer Rechner, der mittels einer Funk-Schnittstelle mit der Druckmaschine verbunden ist und zur Ansteuerung der Druckmaschine dient.
  • Aus der DE 36 14 744 C2 geht eine weitere Vorrichtung zum Steuern einer Druckmaschine hervor, bei der eine elektronische Steuerungseinheit tragbar ausgebildet ist. Die Signale zwischen der tragbaren elektronischen Steuerungseinheit und einem stationären Empfänger der Druckmaschine werden codiert übermittelt.
  • Aus der US 2014/0126715 A1 geht die Verwendung eines WebRTC-Servers (Web real-time communication system) hervor, der es einem Browser ermöglicht in Echtzeit mittels eines Java-Script-API (Java-Script application programming interface) einen bidirektionalen medialen Datenaustausch durchzuführen. Hiermit können Mikrofone, Kameras und Lautsprecher zum Austausch von Audio- und Videoinformationen über das Internet angesteuert werden. Ein Benutzer braucht keine zusätzliche Software laden und im Browser ausführen.
  • In der US 2012/0131473 A1 ist beschrieben, wie an einem Client-Computer ein Web-Service-Script manipuliert werden kann, wobei dann dementsprechend an einem Server ein entsprechend abgeänderter Web-Service in einen ausführbaren Code kompiliert wird. Dieser ausführbare Code wird ausgeführt und erzeugt eine entsprechende Web-Seite, die zurück an den Client-Computer geschickt wird.
  • Die US 2003/0014368 A1 offenbart eine Vorrichtung und ein Verfahren zum sicheren Drucken von übertragbaren Wertpapieren, wie Bankschecks, Banküberweisungen und anderen Handelspapieren. Der Ausdruck dieser Wertpapiere findet dabei an lokalen Druckern von Client-Computern statt, die mit einem Server über das Internet oder ein anderes Netzwerk verbunden sind. Die Verbindung zu dem zentralen Server wird dabei über einen Internetbrowser an einem der Client-Computer ermöglicht. Ein Benutzer am Client-Computer authentifiziert sich, um eine sichere Verbindung zwischen dem Server und dem Client-Computer aufzubauen. Über diese sichere Verbindung können Druckaufträge vom Client-Computer an den Server oder genehmigte Druckaufträge von dem Server an den Client-Computer übertragen werden. Bevor die übertragbaren Wertpapiere am Client-Computer ausgedruckt werden, fordert der Server eine Identifikation vom lokalen Drucker an und verifiziert, dass der Benutzer autorisiert ist, den entsprechenden Drucker zu nutzen. Falls der Benutzer autorisiert ist, wird das übertragbare Wertpapier an dem lokalen Drucker ausgedruckt.
  • Es gibt unterschiedliche textbasierte Auszeichnungssprachen zur Strukturierung und semantischen Auszeichnung von Inhalten, wie Texten, Bildern und Hyperlinks in Dokumenten. Eine solche Auszeichnungssprache ist z. B. HTML 4.01, deren Spezifikation im Dezember 1999 veröffentlicht worden ist. Die Version HTML 5 ist in Bearbeitung.
  • Dokument WO 1997/043720 A1 offenbart ein Verfahren zum Betreiben eines Bedienfeldes, bei dem ein Hauptcomputer mit mehreren Clientcomputern verbunden ist und der Hauptcomputer ein Bedienfeld über ein Webbedieninterface bereitstellt.
  • Dokument US 2009/0313657 A1 offenbart ein Verfahren zum Betreiben eines Bedienfeldes, wobei bei einer ersten Aktionsanforderung über ein Web-Benutzerinterface geprüft wird, ob diese Aktion erlaubt ist.
  • Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem und eine Steuervorrichtung für ein Produktionssystem zu schaffen, mit welchen ein Bedienfeld über eine Datenverbindung mit geringer Übertragungsrate zuverlässig betrieben werden kann, wobei insbesondere mehrere Bedienfelder gleichzeitig vorgesehen werden können.
  • Die Aufgabe wird durch die unabhängigen Ansprüche gelöst. Vorteilhafte Ausgestaltungen sind in den jeweiligen Unteransprüchen angegeben.
  • Das erfindungsgemäße Verfahren zum Betreiben eines Bedienfeldes ist für ein Produktionssystem, insbesondere für ein Drucksystem, vorgesehen. Das Produktionssystem weist eine Steuervorrichtung auf, die einen Hauptcomputer umfasst. Der Hauptcomputer ist mit einer Datenverbindung mit einem oder mehreren Client-Computern verbunden, auf welchen ein Browser ausgeführt wird. Am Hauptcomputer ist eine Bedienfeld-Modulbibliothek installiert und wird dort ausgeführt, mit welcher ein Bedienfeld für das Produktionssystem erzeugt und bereitgestellt wird. Das Bedienfeld wird als Auszeichnungssprachen-Datei vom Hauptcomputer zum jeweiligen Browser übermittelt und im Browser zur Darstellung des Bedienfelds ausgeführt.
  • Ein erster Aspekt der vorliegenden Erfindung zeichnet sich dadurch aus, dass das Bedienfeld ein oder mehrere Anzeigeobjekte aufweist, die jeweils ein in sich abgeschlossenes Element des Bedienfelds sind, die zur Anzeige eines bestimmten Wertes eines Parameters dienen. Am Hauptcomputer wird eine Referenztabelle vorgehalten, mit welcher ein Bezug zwischen einem jeden Anzeigeobjekt und einer Datenquelle für einen im Anzeigeobjekt dargestellten Wert hergestellt wird. Bei einer Änderung des Wertes der Datenquelle übermittelt der Hauptcomputer nur diesen Wert an das entsprechende Anzeigeobjekt.
  • Da nur ein Wert anstelle der gesamten Auszeichnungssprachen-Datei vom Hauptcomputer zum jeweiligen Browser übermittelt wird, wenn sich der entsprechende Wert ändert, ist das zu übertragende Datenvolumen sehr gering, wenn ein entsprechender Wert an dem Bedienfeld aktualisiert wird.
  • Bei herkömmlichen Verfahren, bei welchen Auszeichnungssprachen-Dateien an einem Browser zur Darstellung einer Oberfläche ausgeführt werden, erfolgt eine Aktualisierung der Oberfläche durch Übermittlung der gesamten Auszeichnungssprachen-Datei. Durch das Vorsehen der mehreren, individuell austauschbaren Anzeigeobjekte und der Referenztabelle, mit der eine Beziehung zwischen dem Anzeigeobjekt und einer entsprechenden Datenquelle hergestellt wird, kann bei einer Änderung des Wertes der Datenquelle dieser geänderte Wert dem Anzeigeobjekt zugeordnet werden und es genügt lediglich diesen geänderten Wert zu übertragen, der dann entsprechend im Bedienfeld aktualisiert wird.
  • Vorzugsweise kann eine Änderung eines Anzeigeobjektes unabhängig von Änderungen an anderen Anzeigeobjekten ausgeführt werden.
  • Ein Bedienfeld ist eine auf einer Anzeigeeinrichtung eines Computers angezeigte Benutzeroberfläche zum Bedienen eines Produktions systems.
  • Nach einem zweiten Aspekt der vorliegenden Erfindung wird ein Verfahren zum Betreiben eines Bedienfeldes für ein Produktionssystem, insbesondere ein Drucksystem, vorgesehen. Das Produktionssystem weist eine Steuervorrichtung auf, die einen Hauptcomputer umfasst. Der Hauptcomputer ist mit einer Datenverbindung mit einem oder mehreren Client-Computern verbunden, auf welchen jeweils ein Browser installiert und ausführbar ist. Am Hauptcomputer ist eine Bedienfeld-Modulbibliothek installiert und wird ausgeführt, um ein Bedienfeld für das Produktionssystem zu erzeugen und bereitzustellen, wobei das Bedienfeld als Auszeichnungssprachen-Datei vom Hauptcomputer zum jeweiligen Browser übermittelt und im Browser zur Darstellung des Bedienfelds ausgeführt wird. Werte der an dem Bedienfeld angezeigten Parameter werden jeweils nur nach Ablauf vorbestimmter Wartezeiten aktualisiert.
  • Durch das Vorsehen von Wartezeiten zum Übertragen von Werten bestimmter Parameter wird nicht jede Änderung eines Wertes eines Parameters sofort übermittelt, sondern lediglich nach Ablauf der Wartezeit. Sollte sich ein Wert eines Parameters mehrfach innerhalb der Wartezeit ändern, dann wird lediglich der Wert gemäß der letzten Änderung innerhalb der Wartezeit übertragen. Diesem Verfahren liegt die Erkenntnis zugrunde, dass die meisten Sensoreinrichtungen Werte mit einer Abtastfrequenz erfassen, die wesentlich höher ist, als die eines Benutzers, der mit den menschlichen Sinnen die Werte erfasst. Eine Verzögerung durch eine Wartezeit von 0,1 bis 0,3 s ist für einen Benutzer kaum merkbar. Andererseits wird die Anzahl der zu übertragenden Werte erheblich reduziert, sodass das zu übertragende Datenvolumen entsprechend vermindert wird. Werden Parameter dargestellt, wie z.B. Temperaturen, die sich grundsätzlich langsam verändern, dann genügt auch eine Wartezeit von einigen Sekunden. Hierdurch können einfach mehrere Client-Computer an einen Hauptcomputer über eine Datenverbindung mit geringer Übertragungsrate verbunden werden, wobei sichergestellt ist, dass an allen Client-Computern die aktualisierten Werte mit der gewünschten Frequenz entsprechend der vorgegebenen Wartezeit übermittelt werden. Dies erlaubt ein zuverlässiges Aktualisieren einer Vielzahl von Werten auf einem oder mehreren Client-Computern.
  • Vorzugsweise werden die Werte mit Ablauf der Wartezeit nur übertragen, wenn eine Änderung des entsprechenden Wertes vorliegt.
  • Die Werte unterschiedlicher Parameter werden vorzugsweise mit unterschiedlichen Wartezeiten aktualisiert, wobei sich schnell ändernde Parameter mit entsprechend kürzeren Wartezeiten als langsam ändernde Parameter aktualisiert werden. Die Wartezeiten liegen typischerweise im Bereich von 0,1 s bis 10 s.
  • Am Hauptcomputer wird vorzugsweise für einen jeden aktiven Browser ein Browserpuffer vorgehalten. Im Browserpuffer gespeicherte Werte für einen bestimmten Parameter werden mit sich ändernden Werten dieses Parameters überschrieben. Hierdurch enthält der Browserpuffer für einen jeden Parameter lediglich einen einzigen Wert, nämlich den zuletzt von der entsprechenden Datenquelle gelieferten Wert.
  • In der Referenztabelle kann zu einem jeden Anzeigeobjekt eine Sitzungs-ID gespeichert werden, wobei die Sitzungs-ID jeweils eine Sitzung einer der Client-Computer referenziert, in der einer der Browser, der das jeweilige Anzeigeobjekt darstellt, ausgeführt wird. Hierdurch ist eine eindeutige Beziehung zwischen den Anzeigeobjekten und den Sitzungen bzw. den entsprechenden Browsern hergestellt.
  • Vorzugsweise weist die Referenztabelle Fenster-IDs auf, die jeweils eindeutig ein Fenster eines der Browser referenzieren, der in der Sitzung, die durch die Sitzungs-ID bestimmt ist, ausgeführt wird, wobei in dem Fenster das jeweilige Anzeigeobjekt dargestellt wird. Eine solche Referenztabelle erlaubt eine eindeutige Zuordnung der Anzeigeobjekte zu unterschiedlichen Fenstern (Tabs) eines Browsers.
  • Weiterhin kann in der Referenztabelle zu einem jeden Anzeigeobjekt gespeichert werden, ob der das Anzeigeobjekt darstellende Browser oder das das Anzeigeobjekt darstellende Fenster des Browsers das Anzeigeobjekt im Vordergrund darstellt und/oder der Fokus, der in einem Browser oder dem Fenster eines Browsers als aktiv markiert, auf dem Browser oder dem Fenster des Browsers liegt. Hierdurch ist in der Referenztabelle angegeben, welche Anzeigeobjekte im Vordergrund bzw. mit dem Fokus dargestellt werden, sodass diese Anzeigeobjekte mit einer höheren Priorität als die anderen Anzeigeobjekte aktualisiert werden können. Es kann auch zweckmäßig sein, lediglich die Anzeigeobjekte, die im Vordergrund dargestellt werden, oder auf welchen der Fokus liegt, zu aktualisieren und die anderen Anzeigeobjekte nicht zu aktualisieren. Auch hierdurch kann die zu übertragende Datenmenge reduziert werden.
  • Bei einer Änderung des Wertes eines Parameters durch eine Datenquelle wird der geänderte Wert an alle mit der Datenquelle verknüpften Anzeigeobjekte übermittelt.
  • Die Auszeichnungssprachen-Datei kann mittels eines am Hauptcomputer installierten und ausführbaren Web-Benutzerinterfaces vom Hauptcomputer an einen der Client-Computer übermittelt werden. Die Aktualisierungen von Anzeigeobjekten, wobei das gesamte Anzeigeobjekt als auch lediglich einzelne Werte der Anzeigeobjekte aktualisiert werden können, werden mittels Befehle vom Web-Benutzerinterface an die Client-Computer übermittelt, wobei die Befehle von einem am Client-Computer vorliegenden mit der Auszeichnungssprachen-Datei übermittelten, eingebetteten Programmcode ausgeführt werden. Diese Befehle können Anweisungen zur Darstellung bestimmter graphischer Objekte der entsprechenden Anzeigeobjekte als auch Anzeigeparameter bzw. Anzeigewerte bzw. wiederzugebende, von den Datenquellen erfasste Werte umfassen. Sowohl die Befehle als auch der Programmcode können Elemente einer Skript-Sprache, insbesondere Java-Script-Elemente, enthalten.
  • Das Bedienfeld ist vorzugsweise zur Durchführung von Änderungen am Produktionssystem ausgebildet. Diese Änderungen können die Einstellung bestimmter Parameter, insbesondere Produktionsparameter, betreffen, als auch die Ausführung von Aktions-Anforderungen oder Steuerbefehlen, wie z.B. das Hochfahren bzw. Abschalten einzelner Elemente des Produktions systems.
  • Ein dritter Aspekt der Erfindung zeichnet sich dadurch aus, dass mit dem im Browser ausgeführten Bedienfeld eine Ticket-Anfrage an das Web-Benutzerinterface abgesetzt werden kann, wobei bei einer Ticket-Anfrage das Web-Benutzerinterface prüft, ob es berechtigt ist, ein Sitzungsticket an einen Browser zu vergeben und ob das Sitzungsticket verfügbar ist, und wenn beides der Fall ist, dann vergibt das Web-Benutzerinterface das Sitzungsticket an den die Ticket-Anfrage stellenden Browser.
  • Bei diesem Verfahren prüft das Web-Benutzerinterface zunächst, ob es überhaupt berechtigt ist, das Sitzungsticket zu vergeben und nur wenn dies der Fall ist, dann vergibt es das Sitzungsticket an einen der Browser.
  • Ob das Web-Interface berechtigt ist, ein Sitzungsticket zu vergeben, kann davon abhängen, ob ein Ticket-Server am Hauptcomputer ein Zugriffsticket vergibt, das dazu berechtigt mittels einer mit dem Hauptcomputer verbundenen Eingabeeinrichtung Änderungen am Produktionssystem einzustellen, wobei das Web-Benutzerinterface eine solche Eingabeeinrichtung darstellt. Bei der Überprüfung ob das Web-Benutzerinterface berechtigt ist, ein Sitzungsticket zu vergeben, prüft es, ob es das Zugriffsticket besitzt oder vom Ticket-Server erhalten kann.
  • Andererseits kann das Web-Interface auch berechtigt sein, ein Sitzungsticket zu vergeben, wenn das Produktionssystem sich in einem Stand-by-Modus befindet. Bei der Überprüfung, ob das Web-Benutzerinterface berechtigt ist, ein Sitzungsticket zu vergeben, prüft es somit, ob das Produktionssystem sich in einem Stand-by-Modus befindet, in dem nur Grundeinstellungen des Produktionssystems einstellbar sind, und bei dem ein Sitzungsticket an einen Browser zum Einstellen dieser Grundeinstellungen vergeben werden dürfen. Derartige Grundeinstellungen umfassen allgemeine Einstellungen zum Bedienfeld selbst. Sie können auch grundlegende Einstellungen zum Produktionsgerät betreffen, die nicht in unmittelbaren Zusammenhang zum Produktionsvorgang stehen.
  • Einer jeden in einem Browser ausgeführten Auszeichnungssprachen-Datei wird ein Sitzungs-ID zugeordnet und das Web-Benutzerinterface überprüft anhand der Sitzungs-IDs zyklisch, ob der jeweilige Browser noch geöffnet und reaktionsfähig ist, und wenn es feststellt, dass ein Browser, dem das Sitzungsticket zugewiesen ist, nicht mehr reagiert oder geschlossen wird, dann wird das Sitzungsticket diesem Browser entzogen. Hierdurch wird sichergestellt, dass bei einem Absturz eines Browsers das Sitzungsticket unverzüglich an einen weiteren Browser weitergegeben werden kann, so dass der Zugriff auf das Produktionsgerät gesichert ist.
  • Können an einem Client-Computer mehrere Fenster geöffnet werden, in welchen jeweils ein Browser ausgeführt wird, dann wird ein jedes Fenster durch eine Fenster-ID identifiziert, und das Sitzungsticket einem einzelnen Fenster zugeordnet, so dass alleine aus diesem Fenster Änderungen am Produktionssystem vermittels dem Web-Benutzerinterface vorgenommen werden können.
  • Vorzugsweise wird das Web-Benutzerinterface anhand der Fenster-IDs zyklisch überprüft, ob die Fenster noch geöffnet und reaktionsfähig sind, und wenn es feststellt, dass ein Fenster, dem das Sitzungsticket zugewiesen ist, nicht mehr reagiert oder geschlossen wird, dann wird das Sitzungsticket diesem Fenster entzogen. Hierdurch wird sichergestellt, dass bei einem Absturz eines Fensters das Sitzungsticket unverzüglich weitergegeben werden kann, so dass der Zugriff auf das Produktionsgerät gesichert ist.
  • Vorzugsweise kommunizieren das Web-Benutzerinterface und der jeweilige Browser mittels Web-Sockets, wobei an das Web-Benutzerinterface eines der Web-Sockets und an den Browser ein weiteres der Web-Sockets gekoppelt ist, so dass eine permanente logische Datenverbindung zwischen dem Web-Benutzerinterface und dem jeweiligen Browser ausgebildet ist. Hierdurch besteht eine permanente logische Datenverbindung, so dass die Informationen zwischen dem Web-Benutzerinterface und dem jeweiligen Browser ohne nennenswerte Verzögerung ausgetauscht werden können.
  • Vorzugsweise prüft bei jeder Ticket-Anfrage das Web-Benutzerinterface, ob das Sitzungsticket vergeben ist und falls dies der Fall ist, dann wird die Ticket-Anfrage zurück gewiesen, und falls dies nicht der Fall ist, dann prüft das Web-Benutzerinterface, ob es das Zugriffsticket besitzt oder vom Ticket-Server erhalten kann, und wenn dies der Fall ist, weist es dem die Ticket-Anfrage stellenden Browser das Sitzungsticket zu, ansonsten wird die Ticket-Anfrage zurück gewiesen.
  • Eine Betätigung eines Benutzers am Bedienfeld kann eine Aktions-Anforderung an das Web-Benutzerinterface auslösen, mit welcher eine Aktion am Hauptcomputer angefordert wird.
  • Ein Ticket ist eine logische Markierung, die eine Berechtigung zum steuernden bzw. schreibenden Zugriff auf eine Ressource kennzeichnet. Ein Ticket ist an eine Sitzung, an ein Fenster eines Browsers, an eine Softwarekomponente, wie z.B. an einen Browser, oder an eine Hardwarekomponente, wie z.B. an ein Gerät, eine Vorrichtung oder Einrichtung, gebunden. Ein Ticket kann vergeben, entzogen oder zurückgegeben bzw. freigegeben werden. Von einem Ticket existiert nur eine Instanz.
  • Ein vierter Aspekt der Erfindung zeichnet sich dadurch aus, dass bei jeder Aktions-Anforderung das Web-Benutzerinterface nach vorbestimmten Regeln prüft, ob diese Aktion erlaubt ist und die Aktion blockiert, wenn sie nicht erlaubt ist. Ein in einem Browser dargestelltes Bedienfeld kann einfach manipuliert bzw. kopiert werden, da die Auszeichnungssprachen-Datei dem Benutzer des Browsers einfach zugänglich ist. Dadurch, dass jedoch eine jede Aktions-Anforderung am Hauptcomputer überprüft wird, ist eine Manipulation am Client-Computer ohne Wirkung, wenn die Berechtigung zur Ausführung der Aktion nicht vorhanden ist. Daher sind Manipulationen am Client-Computer in der Regel ohne Wirkung. Manipulationen am Hauptcomputer sind hingegen wesentlich schwieriger. Hierdurch wird eine hohe Sicherheitsstufe erzielt, obwohl Browser zur Darstellung des Bedienfelds verwendet werden.
  • Die Aktionen können sowohl Menüaktionen, die am Web-Benutzerinterface ausgeführt werden, als auch Steueraktionen, mit welchen Einstellungen am Druckgerät verändert werden können, umfassen.
  • Vorzugsweise prüft bei jeder Aktions-Anforderung das Web-Benutzerinterface, ob diese Aktions-Anforderung über das im Browser dargestellte Bedienfeld möglich ist und blockiert die Aktion, wenn die Aktions-Anforderung über das Bedienfeld nicht möglich ist.
  • Die Bedienfeld-Modulbibliothek kann anhand eines Regelwerks überprüfen, ob bestimmte Steueraktionen in dem jeweils aktuellen Zustand des Produktionssystems ausgeführt werden dürfen und falls dies nicht der Fall ist, dann werden diese Steueraktionen blockiert.
  • Die vorbestimmten Regeln umfassen eine oder mehrere der folgenden Sicherheitsregeln:
    • - Aktions-Anforderung dürfen nur von autorisierten Personen bzw. Geräten gestellt werden;
    • - Aktions-Anforderung dürfen nur von Personen bzw. Geräten, die über hinreichende Zugriffsrechte verfügen, gestellt werden;
    • - Aktions-Anforderung dürfen nur gestellt werden, wenn der jeweilige Browser ein für die Ausführung der Aktion geeignetes Anzeigeobjekt darstellt;
    • - Aktions-Anforderung dürfen nur gestellt werden, wenn der Produktionsgerätestatus dieses erlaubt.
  • Beim Überprüfen einer Aktions-Anforderung kann eine die Identifikation des Browsers, eines Benutzers, einer Sitzung und/oder eines Fensters in dem das Bedienfeld ausgeführt wird, extrahiert werden, und anhand dieser Identifikation ein Benutzer identifiziert werden, der die Aktions-Anfrage ausgelöst hat, wobei die dem Benutzer zugeordneten Rechte ermittelt werden und anhand dieser Rechte überprüft wird, ob die angeforderte Aktion ausgeführt werden kann.
  • Bei jeder Initialisierung des Bedienfelds im Browser hat sich vorzugweise jeweils ein Benutzer zu registrieren bzw. zu autorisieren, wobei beim Überprüfen einer Aktions-Anforderung eine die Identifikation des Browsers, eines Benutzers, einer Sitzung und/oder eines Fensters in dem das Bedienfeld ausgeführt wird, extrahiert wird, und anhand dieser Identifikation der Benutzer identifiziert wird, der die Aktions-Anfrage ausgelöst hat, wobei überprüft wird, ob der Benutzer an sich ordnungsgemäß registriert bzw. autorisiert ist. Das Registrieren oder Autorisieren kann mittels eines Benutzernamens und eines Passwortes erfolgen. Es ist jedoch auch möglich andere Methoden zum registrieren und Autorisieren, wie z.B. auf biometrischen Daten beruhende Methoden, zu verwenden.
  • Das Bedienfeld kann ein oder mehrere Anzeigeobjekte aufweisen, die jeweils ein in sich abgeschlossenes Element des Bedienfelds sind, die zur Anzeige eines bestimmten Wertes eines Parameters dienen. Am Hauptcomputer wird dann eine Referenztabelle vorgehalten, mit welcher ein Bezug zwischen einem jeden Anzeigeobjekt und einem Browser und/oder Fenster und/oder Sitzung hergestellt wird. Anhand der Referenztabelle wird überprüft, welche Anzeigeobjekte in dem jeweiligen Browser angezeigt werden und somit bedienbar sind, und wird festgestellt, dass das Anzeigeobjekt, von dem die Aktions-Anfrage ausgeht, nicht dargestellt wird, wird die Aktion blockiert.
  • Es kann eine Fehler- bzw. Warnmeldung an den Browser, von dem die Aktions-Anforderung initiiert worden ist, und/oder an ein anderes Bedienfeld, insbesondere eines Nutzers mit höheren Rechten als derjenige, der die Aktions-Anforderung initiiert hat, übermittelt werden. Werden die Sicherheitsregeln nicht eingehalten, dann kann es zweckmäßig sein, vorbestimmte Personen, wie z.B. einen Operator oder einen Administrator hierüber zu unterrichten. Dies kann über das Bedienfeld erfolgen oder auch über ein anderes Nachrichtenmittel (email, SMS, etc.).
  • Die unterschiedlichen Aspekte können einzeln oder in Kombination in einem Verfahren ausgeführt werden.
  • Eine erfindungsgemäße Steuervorrichtung für ein Produktionssystem, insbesondere für ein Drucksystem, weist einen Hauptcomputer auf. Der Hauptcomputer ist mit einer Datenverbindung mit einem oder mehreren Client-Computern verbunden, auf welchen jeweils ein Browser installiert und ausführbar ist. Am Hauptcomputer ist eine Bedienfeld-Modulbibliothek installiert und ausführbar, mit welcher ein Bedienfeld für das Produktionssystem erzeugt und bereitgestellt wird. Das Bedienfeld wird als Auszeichnungssprachen-Datei vom Hauptcomputer zum jeweiligen Browser übermittelt und im Browser zur Darstellung des Bedienfelds ausgeführt. Die Steuervorrichtung ist zur Durchführung der oben erläuterten Verfahren ausgebildet.
  • Weiterhin betrifft die Erfindung ein Produktionssystem mit einer solchen Steuervorrichtung und einem Produktionsgerät. Das Produktionsgerät ist vorzugsweise ein Druckgerät. Das Druckgerät ist insbesondere ein digitales Hochleistungsdruckgerät. Digitale Hochleistungsdruckgeräte können als elektrofotografische Druckgeräte, Tintenstrahldruckgeräte, als auch Flüssigtoner-Druckgeräte ausgebildet sein.
  • Flüssigtoner-Druckgeräte sind Druckgeräte, bei welchen auf einen zu bedruckenden Aufzeichnungsträger Tonerpartikel mithilfe eines Flüssigentwicklers aufgetragen werden. Hierzu wird ein latentes Ladungsbild eines Ladungsbildträgers mithilfe eines Flüssigentwicklers mittels Elektrophorese eingefärbt. Das so entstandene Tonerbild wird mittelbar über ein Transferelement oder unmittelbar auf den Aufzeichnungsträger übertragen. Der Flüssigentwickler weist in einem gewünschten Verhältnis Tonerpartikel und Trägerflüssigkeit auf. Als Trägerflüssigkeit wird vorzugsweise Mineralöl verwendet. Um die Tonerpartikel mit einer elektrostatischen Ladung zu versehen, werden dem Flüssigentwickler Ladungssteuerstoffe hinzugefügt. Zusätzlich werden weitere Additive zugegeben, um beispielsweise die gewünschte Viskosität oder ein gewünschtes Trocknungsverhalten des Flüssigentwicklers zu erhalten.
  • Solche Digitaldrucker sind beispielsweise aus der DE 10 2010 015 985 A1 , der DE 10 2008 048 256 A1 , der DE 10 2009 060 334 A1 bzw. der DE 10 2012 111 791 A1 bekannt.
  • Die Erfindung wird nachfolgend beispielhaft anhand der Zeichnungen erläutert. Die Zeichnungen zeigen in:
    • 1 schematisch in einem Blockschaltbild ein Druckgerät, eine Steuervorrichtung und damit verbundene Geräte,
    • 2 schematisch in einem Blockschaltbild einen Hauptcomputer einer Steuervorrichtung und mit dem Hauptcomputer verbundene Client-Computer,
    • 3 bis 13 schematisch Hardware- und Softwarekomponenten einer Steuervorrichtung bzw. von Client-Computern,
    • 14 eine Referenztabelle,
    • 15 ein Verfahren zum Aktualisieren einer Referenztabelle in einem Flussdiagramm,
    • 16 ein Verfahren zur Vorbereitung einer selektiven Übertragung eines geänderten Werts in einem Flussdiagramm,
    • 17 ein Verfahren zur zusammengefassten Übertragung von Daten an vorbestimmten Zeitpunkten in einem Flussdiagramm,
    • 18 ein Verfahren zur Zuordnung einer Fenster-ID zu einem Fenster eines Browsers in einem Flussdiagramm,
    • 19 ein Verfahren zum Überprüfen einer Aktions-Anforderung hinsichtlich der Systemsicherheit in einem Flussdiagramm,
    • 20 ein Verfahren zum Einbinden von Testmenüs in einem Flussdiagramm und
    • 21 eine Ansicht eines Digitaldruckers mit einer beispielhaften Konfiguration des Digitaldruckers.
  • Ein Ausführungsbeispiel eines digitalen Drucksystems umfasst ein Druckgerät 1 und eine Steuervorrichtung 2 (1).
  • Gemäß 21 ist als Druckgerät 1 ein Digitaldrucker zum Bedrucken eines Aufzeichnungsträgers 120 ein oder mehrere Druckwerke 111a - 111d und 112a - 112d auf, die ein Tonerbild (Druckbild) auf den Aufzeichnungsträger 120 drucken. Als Aufzeichnungsträger 120 ist - wie dargestellt - ein bahnförmiger Aufzeichnungsträger 120 von einer Rolle 121 mit Hilfe eines Abwicklers 6 abgewickelt und dem ersten Druckwerk 111a zugeführt. In einer Fixiereinheit 130 wird das Druckbild auf den Aufzeichnungsträger 120 fixiert. Anschließend kann der Aufzeichnungsträger 120 auf eine Rolle 128 mit Hilfe eines Aufwicklers 7 aufgewickelt werden. Eine solche Konfiguration wird auch als Rolle-Rolle-Drucker be-zeichnet.
  • In der in 21 dargestellten, bevorzugten Konfiguration wird der bahnförmige Aufzeichnungsträger 120 mit vier Druckwerken 111a bis 111d auf der Vorderseite und mit vier Druckwerken 112a bis 112d auf der Rückseite vollfarbig bedruckt (eine sogenannte 4/4-Konfiguration). Hierzu wird der Aufzeichnungsträger 120 von dem Abwickler 6 von der Rolle 121 abgewickelt und über ein optionales Konditionierwerk 123 dem ersten Druckwerk 111a zugeführt. In dem Konditionierwerk 123 kann der Aufzeichnungsträger 120 mit einem geeigneten Stoff vorbehandelt oder beschichtet werden. Als Beschichtungsstoff (auch als Primer bezeichnet) können vorzugsweise Wachs oder chemisch gleichwertige Stoffe verwendet werden.
  • Dieser Stoff kann vollflächig oder nur auf die später zu bedruckenden Stellen des Aufzeichnungsträgers 120 aufgetragen werden, um den Aufzeichnungsträger 120 für das Bedrucken vorzubereiten und/oder das Saugverhalten des Aufzeichnungsträgers 120 beim Aufbringen des Druckbildes zu beeinflussen. Damit wird verhindert, dass die später aufgebrachten Tonerpartikel oder die Trägerflüssigkeit nicht zu sehr in den Aufzeichnungsträger 120 eindringen, sondern im Wesentlichen an der Oberfläche verbleiben (Farb- und Bildqualität wird dadurch verbessert).
  • Anschließend wird der Aufzeichnungsträger 120 zunächst der Reihe nach den ersten Druckwerken 111a bis 111d zugeführt, in denen nur die Vorderseite bedruckt wird. Jedes Druckwerk 111a - 111d bedruckt den Aufzeichnungsträger 120 üblicherweise in einer anderen Farbe oder auch mit anderem Tonermaterial, wie z.B. MICR-Toner, der elektromagnetisch gelesen werden kann.
  • Nach dem Bedrucken der Vorderseite wird der Aufzeichnungsträger 120 in einer Wendeeinheit 124 gewendet und den restlichen Druckwerken 112a - 112d zum Bedrucken der Rückseite zugeführt. Optional kann im Bereich der Wendeeinheit 124 ein weiteres Konditionierwerk (nicht dargestellt) angeordnet sein, durch das der Aufzeichnungsträger 120 für den Rückseitendruck vorbereitet wird, wie beispielsweise ein Anfixieren (teilweises Fixieren) oder sonstiges Konditionieren des zuvor bedruckten Vorderseitendruckbildes (bzw. der gesamten Vorderseite oder auch Rückseite). Somit wird verhindert, dass das Vorderseitendruckbild beim weiteren Transport durch die nachfolgenden Druckwerke mechanisch beschädigt wird.
  • Um einen Vollfarbendruck zu erzielen, werden zumindest vier Farben (und damit zumindest vier Druckwerke 111, 112) benötigt, und zwar beispielsweise die Grundfarben YMCK (Gelb, Magenta, Cyan und Schwarz). Es können auch noch weitere Druckwerke 111, 112 mit speziellen Farben (z.B. kundenspezifische Farben oder zusätzliche Grundfarben, um den druckbaren Farbraum zu erweitern) verwendet werden.
  • Nach dem Druckwerk 112d ist eine Registereinheit 125 angeordnet, durch die Passermarken, die auf den Aufzeichnungsträger 120 unabhängig vom Druckbild (insbesondere außerhalb des Druckbildes) gedruckt werden, ausgewertet werden. Damit lässt sich der Quer- und Längspasser (die Grundfarbpunkte, die einen Farbpunkt bilden, sollten übereinander oder örtlich sehr nahe beieinander angeordnet sein; dies wird auch als Farbpasser oder Vierfarbpasser bezeichnet) sowie das Register (Vorderseite und Rückseite müssen örtlich genau übereinstimmen) einstellen, damit ein qualitativ gutes Druckbild erzielt wird.
  • Nach der Registereinheit 125 ist die Fixiereinheit 130 angeordnet, durch die das Druckbild auf den Aufzeichnungsträger 120 fixiert wird. Bei elektrophoretischen Digitaldruckern wird als Fixiereinheit 130 vorzugsweise ein Thermotrockner verwendet, der die Trägerflüssigkeit weitgehend verdampft, damit nur noch die Tonerpartikel auf dem Aufzeichnungsträger 120 verbleiben. Dies geschieht unter Einwirkung von Wärme. Dabei können auch die Tonerpartikel auf den Aufzeichnungsträger 120 aufgeschmolzen werden, sofern sie ein infolge Hitzeeinwirkung schmelzbares Material, wie beispielsweise Harz, aufweisen.
  • Nach der Fixiereinheit 130 ist ein Zugwerk 126 angeordnet, das den Aufzeichnungsträger 20 durch alle Druckwerke 111a - 112d und die Fixiereinheit 130 zieht, ohne dass ein weiterer Antrieb in diesem Bereich angeordnet ist. Denn durch einen Friktionsantrieb für den Aufzeichnungsträger 120 bestünde die Gefahr, dass das noch nicht fixierte Druckbild verwischt werden könnte.
  • Das Zugwerk 126 führt den Aufzeichnungsträger 120 dem Aufwickler 7 zu, der den bedruckten Aufzeichnungsträger 120 aufrollt.
  • Zentral bei den Druckwerken 111, 112 und der Fixiereinheit 130 sind sämtliche Versorgungseinrichtungen für den Digitaldrucker 1 angeordnet, wie Klimatisierungsmodule 140, Energieversorgung 150, Steuervorrichtung 2 (Controller), Module des Flüssigkeitsmanagements 170, wie Flüssigkeitssteuereinheit 171 und Vorratsbehälter 172 der verschiedenen Flüssigkeiten. Als Flüssigkeiten werden insbesondere reine Trägerflüssigkeit, hochkonzentrierter Flüssigentwickler (hoher Anteil von Tonerpartikeln im Verhältnis zur Trägerflüssigkeit) und Serum (Flüssigentwickler plus Ladungssteuerstoffe) benötigt, um den Digitaldrucker 1 zu versorgen, sowie Abfallbehälter für zu entsorgende Flüssigkeiten oder Behältern für Reinigungsflüssigkeit.
  • Der Digitaldrucker 1 ist mit seinen baugleichen Druck-werken 111, 112 modular aufgebaut. Die Druckwerke 111, 112 unterscheiden sich mechanisch nicht, sondern lediglich durch den darin verwendende Flüssigentwickler (Tonerfarbe oder Tonerart) .
  • Ein solches Druckwerk 111, 112 basiert auf dem elektrofotografischen Prinzip, bei dem ein photoelektrischer Bildträger mit Hilfe eines Flüssigentwicklers mit geladenen Tonerpartikeln eingefärbt wird und das so entstandene Bild auf den Aufzeichnungsträger 20 übertragen wird.
  • Das Druckwerk 111, 112 besteht im Wesentlichen aus einer Elektrofotografiestation, einer Entwicklerstation und einer Transferstation.
  • Derartige Hochleistungsdigitaldrucker erstrecken sich je nach Modell und Konfiguration über eine Länge von 10 m bis 30 m.
  • Deshalb ist zweckmäßig mehrere Bedienfelder vorzusehen, die es mehreren Personen gleichzeitig erlauben Daten des Digitaldruckers zu lesen und an mehreren Stellen Bedienfelder in Augenschein nehmen zu können.
  • Das Druckgerät 1 weist interne Steuereinrichtungen auf, die eine Druckgerätsteuerung 4 und mehrere Druckwerksteuerungen 5 (BDB: bar-driving-board) umfassen (1). Die Druckwerksteuerungen 5 übermitteln die gerasterten Druckdaten an die entsprechenden Druckwerke. Diese gerasterten Druckdaten sind meistens binäre Druckdaten, wobei ein jedes Bit einen Druckpunkt darstellt. Ist das Bit gesetzt, dann wird der entsprechende Druckpunkt gedruckt. Ist das Bit nicht gesetzt, dann wird der entsprechende Druckpunkt nicht gedruckt.
  • Die Druckgerätsteuerung 4 steuert das Hauptmodul des Druckgerätes 1, den Papiertransport und allgemeine Steueraufgaben bzgl. der Druckwerke 3. Die Druckgerätsteuerung 4 weist Schnittstellen zu Vor- und Nachverarbeitungsgeräten auf, die insbesondere den Abwickler 6 und den Aufwickler 7 umfassen. Es können weitere Vor- und Nachbearbeitungsgeräte, wie z. B. ein Schneidegerät, Kuvertiergerät oder dergleichen angeschlossen sein.
  • Die Steuervorrichtung 2 dient zur Verarbeitung von Druckaufträgen, welche der Steuervorrichtung 2 von einem Druckserver 8 übermittelt werden. Ein solcher Druckauftrag besteht in der Regel aus den Druckdaten und einem Jobticket. Das Jobticket enthält Anweisungen, wie die Druckdaten zu verarbeiten sind. Die Steuervorrichtung 2 weist mehrere Computereinheiten auf, die über ein internes LAN 9 miteinander verbunden sind. Das LAN kann beispielsweise als Ethernet oder Infiniband ausgebildet sein. Die Computereinheiten umfassen einen Hauptcomputer 10, mehrere Rastercomputer 11 und mehrere Interfacecomputer 12.
  • Der Hauptcomputer 10 nimmt die Druckaufträge entgegen und verteilt Teile der Druckaufträge auf die Rastercomputer 11 zum Rastern der Druckdaten. Der Hauptcomputer 10 versucht hierbei die Rastercomputer 11 möglichst gleichmäßig auszulasten. Die Rastercomputer 11 setzen die Druckdaten in die zum Ansteuern der Druckwerke 3 geeigneten gerasterten Druckdaten um. Die gerasterten Druckdaten werden von den Rastercomputern 11 an die Interfacecomputer 12 über das interne LAN 9 weitergeleitet. An den Interfacecomputern 12 werden die gerasterten Druckdaten zwischengespeichert. Ein jeder Interfacecomputer 12 ist jeweils mit einer Lichtwellenleitung 13 mit einer der Druckwerksteuerungen 5 verbunden und überträgt über die Lichtwellenleitung 13 die gerasterten Druckdaten an die entsprechende Druckwerksteuerung 5.
  • Die Druckgerätsteuerung 4 ist an eine externe Schnittstelle des internen LAN 9 der Steuervorrichtung 2 angeschlossen und erhält von dem Hauptcomputer 10 der Steuervorrichtung 2 Steuerbefehle zum Ansteuern des Druckgerätes und der Vor- und Nachbearbeitungsgeräte.
  • Das interne LAN 9 der Steuervorrichtung 2 kann weitere externe Schnittstellen zum Anschließen eines oder mehrerer Bedienfeldcomputer 14 und/oder eines oder mehrerer Servicecomputer 15 aufweisen.
  • Weiterhin weist die Steuervorrichtung 2 einen Router 16 auf, an den über ein WAN ein Servicecomputer 17 angeschlossen werden kann.
  • Ein Drucker-Bedienfeld-Computer 18 ist über ein SPO-LAN (Service Panel Operator-LAN) direkt mit dem Hauptcomputer 10 der Steuervorrichtung 2 verbunden. Der Drucker-Bedienfeld-Computer 18 dient zum Kontrollieren und Steuern der Druckdaten. Dieser Drucker-Bedienfeld-Computer 18 wird typischerweise von einem Operator benutzt, der den Ablauf der unterschiedlichen Druckvorgänge am Drucksystem steuert. Die Bedienfeldcomputer 14 bzw. Servicecomputer 15 werden hingegen von Operatoren oder Servicetechnikern verwendet, die für den kontinuierlichen Betrieb des Drucksystems an sich verantwortlich sind.
  • Das Drucksystem kann mehrere Bedienfeldcomputer 14 und/oder mehrere Servicecomputer 15 aufweisen und auch mit mehreren Drucker-Bedienfeld-Computern 18 verbunden sein.
  • Die Servicecomputer 15, 17 unterscheiden sich von den Bedienfeldcomputern 14 in ihren Zugriffsrechten, wobei die Servicecomputer 15, 17 mehr Einstellungen am Drucksystem als die Bedienfeldcomputer 14 vornehmen dürfen, wie es weiter unten erläutert ist. An Servicecomputern kann man bspw. am Drucksystem auch eine Installation von Softwarekomponenten vornehmen, was bei Bedienfeldcomputern 14 nicht möglich ist.
  • Die Steuervorrichtung 2 weist ein Fernwartungsmodul (PCI: Power Control Interface) 19 auf. Mit diesem Fernwartungsmodul 19 kann die Steuervorrichtung 2 ferngesteuert hoch- bzw. heruntergefahren werden. Darüber hinaus liefert dieses Fernwartungsmodul 19 weitere Funktionen zum Fernsteuern der Steuervorrichtung 2.
  • Bei diesem Drucksystem sind mehrere Bedienfelder auf den Computern 14, 15, 17, 18 vorgesehen.
  • Am Hauptcomputer 10 der Steuervorrichtung 2 ist eine Bedienfeld-Modulbibliothek 20 vorgesehen, welche mehrere Bedienfeld-Module umfasst, mit welchen ein Bedienfeld für das Druckgerät an der Computeranzeige darstellbar ist (2). Die Bedienfeld-Module erlauben auch eine Steuerung des Druckgerätes 1 über das an der Computeranzeige dargestellte Bedienfeld.
  • Der Drucker-Bedienfeld-Computer 18 ist über das SPO-LAN mit der Bedienfeld-Modulbibliothek 20 verbunden. Am Drucker-Bedienfeld-Computer 18 ist ein Client-Programm vorgesehen, mit welchem das Bedienfeld dargestellt und die entsprechenden Steuerfunktionen ausgeführt werden.
  • Die Bedienfeld-Modulbibliothek 20 ist mit einem Web-Benutzerinterface 21 verbunden, das ein Web-Server ist, mit welchem die Bedienfeld-Module der Bedienfeld-Modulbibliothek 20 in einem Browser verfügbar gemacht werden. Im vorliegenden Ausführungsbeispiel ist das Web-Benutzerinterface 21 durch einen Apache-Tomcat-Server realisiert worden. Grundsätzlich sind hier auch andere Web-Server geeignet.
  • Dieses Web-Benutzerinterface 21 kann direkt mit einem auf dem gleichen Computer vorgesehenen Browser 22 kommunizieren, wobei die Kommunikation über Websockets 24, 25 durchgeführt wird. Für die Kommunikation mit „externen“ Browsern 23, welche auf weiteren Computern 14, 15 vorgesehen sind, ist das Web-Benutzerinterface 21 mit jeweils einem weiteren der Web-Sockets 24 gekoppelt. Das Web-Socket 24, 25 ist ein Softwaremodul, das eine Schnittstelle bildet, welche eine permanente logische Internetverbindung zu einem Browser herstellen kann, der über eine Datenverbindung mit dem Computer verbunden ist, an dem das Web-Socket 24, 25 angeordnet ist. Hierbei ist die Datenverbindung bspw. ein Datennetzwerk.
  • Der Browser 22 am Hauptcomputer 10 und die Browser 23 an den Computern 14, 15 können somit permanent mit Informationen vom Web-Benutzerinterface 21 versorgt werden bzw. jederzeit Informationen und insbesondere Nachrichten an das Web-Benutzerinterface 21 übermitteln. Die Browser 22, 23 weisen hierzu jeweils einen korrespondierenden Web-Socket 25 auf.
  • Im Folgenden werden die einzelnen Softwaremodule, die an den unterschiedlichen Computern vorgesehen sind, näher erläutert.
  • Am Hauptcomputer 10 sind neben der bereits erläuterten Bedienfeld-Modulbibliothek 20, dem Web-Benutzerinterface 21 und dem Browser 22 ein Betriebssystem 26, ein Funktionscode 27, ein Infrastrukturmanager 28 für Schnittstellen zur Hardware, eine Web-Benutzerinterface-Datenbank 29, Web-Benutzerinterface-Plugins 30 und ein Trace-Modul 31 vorgesehen (3).
  • Das Trace-Modul 31 dient zur Aufzeichnung von Fehlerprotokollen aller im Druckgerät 1 und/oder in der Steuervorrichtung 2 ausgeführten Softwarekomponenten und/oder von „externen“ Softwarekomponenten, die auf anderen Computern 8, 14, 15, 16, 17, 18 ausgeführt werden.
  • Der Funktionscode 27 ist zum Ausführen von vor allem druckrelevanten Softwareroutinen ausgebildet, wie z.B. eine Lastverteilung der Druckdaten vom Hauptcomputer 10 auf die Rastercomputer 11, Rasterberechnungen auf den Rastercomputern 11 für eine Rasterung der Druckdaten und Steuerung einer Zwischenspeicherung (Caching) der gerasterten Druckdaten auf den Interfacecomputern 12. Mit dem Funktionscode 27 werden die eingehenden Druckaufträge so verarbeitet, dass sie am Druckgerät 1 ausgedruckt werden können.
  • Die Web-Benutzerinterface-Datenbank 29 umfasst alle persistenten Daten zum Betrieb des Web-Benutzerinterfaces 21, wie z.B. Langzeitdaten, Daten zur Benutzerkonfiguration, Einstellungen, Initialisierungsdaten bspw. für Sensoren, Daten für Kontrollstrukturen, die weiter unten erläutert sind, sowie weitere Daten, die zum Betrieb des Web-Benutzerinterfaces 21 notwendig sind.
  • Die Web-Benutzerinterface-Plugins 30 dienen zur Kommunikation mit dem lokalen oder weiteren externen Computern, an welchen korrespondierende Web-Benutzerinterface-Plugins vorgesehen sind. In einem Web-Benutzerinterface-Plugin 30 sind vordefinierte Aufgaben bzw. Applikationen hinterlegt.
  • Die Bedienfeld-Modulbibliothek 20 umfasst eine Vielzahl von Bedienfeld-Modulen, die im Folgenden näher erläutert werden (4):
    • Ein DE-Agent (Device Agent) 32 erstellt eine Datenverbindung für die Kommunikation zwischen dem Bedienfeld und dem Drucksystem und stellt das Bindeglied zwischen dem Bedienfeld und dem Drucksystem dar. Weiter stellt der DE-Agent 32 eine standardisierte Schnittstelle bereit, um den Druckerstatus zur Verfügung zu stellen.
  • Ein RMI-Server (Remote Method Invocation Server) 33 weist Funktionen auf, die von einem externen Computer aufgerufen werden können und die auf dem Computer ausgeführt werden, auf dem der RMI-Server ausgeführt wird, z.B. für die Weiterverarbeitung von Events. Weiterhin stellt er Funktionen zur Verfügung, die einen solchen Fernzugriff erleichtern bzw. ermöglichen. Solche Funktionen sind z.B. die Vergabe von Zugriffstickets, wie es unten näher erläutert wird.
  • Ein ORS-Agent (OCE Remote Service Agent) 34 sammelt Hardwaredaten und Daten von Software-Ereignissen und überträgt diese Daten vom Hauptcomputer 10 zu einem Computer (nicht dargestellt) einer Servicezentrale über ein WAN (Wide Area Network).
  • Ein Trace-Agent 35 ermöglicht das Aufzeichnen bzw. Logging von Tracedaten anderer Module und Aufbereitung dieser Daten.
  • Ein Webserver 36 ermöglicht das Herunterladen von Programmierbibliotheken, wie z.B. von Java-Programmierbibliotheken, vom Hauptcomputer 10 auf den Computer 14, um das Bedienfeld auf diesem Computer 14 darstellen und steuern zu können. Weiter stellt der Webserver 36 eine Web Start-Funktion, wie z.B. eine Java Web Start-Funktion, bereit, um das Bedienfeld auf dem Computer 14 zu initialisieren. Im vorliegenden Ausführungsbeispiel ist der Web-Server 36 durch einen Apache-Tomcat-Server realisiert. Grundsätzlich ist dazu auch jeder andere Web-Server, jede andere Programmierbibliothek und/oder jede andere Web Start-Funktion geeignet.
    Ein System-Parameter-Manager 37 (SPManager) dient zur Datenverteilung zwischen den Modulen.
  • Ein SEA-Agent (Service Eventlog Agent) 38 führt ein Protokoll bzw. eine Logdatei der aufgetretenen Ereignisse.
  • Ein OP-Master 39 stellt ein Netzwerkinterface zur Verfügung, beispielsweise ein SNMP-Gateway zur Übertragung von Parametern zu und von dem Druckgerät 1.
  • Ein UIC-Agent (User Interface Controller Agent) 40 ermöglicht die Steuerung vorbestimmter Abläufe bzw. die Einstellung bestimmter Zustände von mit dem Hauptcomputer 10 verbundenen Drucksystemen. Z.B. kann das Hochfahren des Druckgerätes 1 hiermit automatisch ausgeführt werden.
  • Ein TR-File-Collector 41 ist ein Agent, der als Ergänzung zum Trace-Agent 35 Tracedaten von auf dem Hauptcomputer ausgeführten Programmen, die von Fremdherstellern zur Verfügung gestellt worden sind, sammelt und aufbereitet.
  • Ein Ops-PAC (Ops Privileged Access Service) 42 dient dazu, privilegierte Rechte (Administratorrechte) an andere Agenten bzw. Applikationen zur Durchführung bestimmter Funktionen zuzuweisen. Diese privilegierten Rechte sind vorübergehend notwendig, um die Agenten bzw. Applikationen mit der gewünschten Wirkung auszuführen.
  • Ein RDP-Agent (Remote Diagnosis Prozess Agent) 43 stellt eine interne Serviceschnittstelle zur Verfügung.
  • Ein Error-Agent 44 dient dazu, Fehler zu setzen, zu sammeln, zu verteilen, darzustellen und zurückzusetzen.
  • Ein CDC-Agent 45 dient zur normierten Weitergabe von Druckparametern an andere Agenten bzw. Module an andere Steuervorrichtungen 2 anderer Druckgeräte 1. Diese Druckparameter sind z.B. Papierbreite, Farbe etc.
  • Das Web-Benutzerinterface 21 umfasst eine Vielzahl von Web-Benutzerinterface-Modulen, die im Folgenden näher erläutert werden (5):
    • Ein Web-Servermodul 46, beispielsweise ein Apache Tomcat, stellt die bereits oben erläuterten Web-Server-Funktionen des Web-Benutzerinterface 21 zur Verfügung. Das Web-Servermodul 46 und der oben erläuterte Webserver 36 können auch in einem Webserver zusammengefasst sein, der auf dem Hauptcomputer 10 ausführbar ist bzw. ausgeführt wird.
  • Auf dem Web-Server 46 liegt ein Framework 47, das Regeln, Methoden, Funktionen, Klassen und/oder Strukturen für die Steuerung des Web-Servermoduls 46, insbesondere bezüglich Datenobjekten, mit welchen ein Bedienfeld beschrieben wird, bereitstellt. Im vorliegenden Ausführungsbeispiel ist das Framework 47 ein Grails-Framework. Grundsätzlich sind hier auch andere Frameworks geeignet.
  • Die Programmierung der Steuerung des Web-Servermoduls 46 bzw. des Web-Benutzerinterfaces 21 erfolgt mit Hilfe eines Programmcodes 48. Weiter werden Programmroutinen, die Teil des Programmcodes 48 sind, bei Bedarf an die Browser 22, 23 zur Ausführung übermittelt, wobei durch diese übermittelten Programmroutinen die Browser 22, 23 gesteuert werden, vorzugsweise in einer Bedienfelddatei, wie es weiter unten erläutert ist. Der Programmcode 48 ist in einer oder mehreren (Script-)Programmiersprachen erstellt. Im vorliegenden Ausführungsbeispiel sind die verwendeten (Script-)Programmiersprachen Java und Groovy. Grundsätzlich sind hier auch andere Programmiersprachen oder Script-Programmiersprachen geeignet. Der Programmcode 48 umfasst druckerspezifische Programme, Programmroutinen, Methoden, Funktionen, Klassen, Strukturen und/oder Erweiterungen.
  • Externe Plug-Ins 49 und externe Bibliotheken 50 werden verwendet, um weitere Funktionen für die Programmierung und/oder Steuerung des Web-Benutzerinterfaces 21 zur Verfügung zu stellen.
  • Webserver-Dienste (engl.: services) 51 werden vom Web-Benutzerinterface 21 externen Kommunikationspartnern zur Verfügung gestellt, wobei externe Kommunikationspartner Geräte, Einrichtungen, Vorrichtungen oder Software-Module sind, die sich außerhalb des Web-Benutzerinterfaces befinden und mit dem Web-Benutzerinterface 21 kommunizieren. Die Webserver-Dienste 51 werden von den externen Kommunikationspartnern initiiert und führen Funktionen innerhalb des Web-Benutzerinterfaces 21 aus.
  • Mit Hilfe von Sichten (engl.: views) 52 werden Daten für die Darstellung auf der Benutzeroberfläche des Bedienfelds verarbeitet.
    Kontrollstrukturen 53 (engl.: controllers) übernehmen Kontrollfunktionen innerhalb des Web-Benutzerinterfaces 21, bereiten die darzustellenden Daten inhaltlich auf, stellen Funktionen und Daten bereit, wobei insbesondere auf Anfragen der Browser 22, 23 anzuzeigende Daten den Sichten 52 bereitgestellt werden.
  • Die Webserver-Dienste 51 umfassen eine Vielzahl von Dienstkomponenten, die nachfolgend erläutert werden (6).
  • Ein IsMa-Dienst (Infrastrukturmanager-Dienst) 54 dient dazu, Plug-Ins aufrufen zu können und mit anderen IsMa-Diensten 28 auf „externen“ Systemen, z.B. auf anderen Computern 11, 12, zu kommunizieren.
  • Über einen Menüdienst 55 werden Menüstrukturen erzeugt und verwaltet. Es können bspw. auf „externen“ Systemen Menüs dynamisch nachgeladen werden.
  • Ein PushHelper-Dienst 56 ermöglicht eine Lastverteilung und kontrollierte, zeitlich gestaffelte Übergabe von Daten an „externe“ Systeme.
  • Ein RMI-Dienst 57 ermöglicht die Kommunikation zwischen dem Web-Benutzerinterface 21 und dem RMI-Server 33 der Bedienfeld-Modulbibliothek 20.
  • Ein Scheduler-Dienst 58 reagiert auf Software-Ereignisse und erfüllt zeitlich vorgeplante Aufgaben, wie z.B. eine Bereinigung einer Datenbank.
  • Die Browser 22, 23 umfassen verschiedene Browserkomponenten, die nachfolgend erläutert werden (7).
  • Ein (Script-)Programmiersprachenmodul 59 dient zur Steuerung der Browser 22, 23 und zur Steuerung deren Kommunikation mit dem Web-Benutzerinterface 21. Das (Script-)Programmiersprachenmodul 59 ist ein Interpreter oder ein Compiler für eine Script-Programmiersprache oder eine Programmiersprache. Im vorliegenden Ausführungsbeispiel wird Java Script als Script-Programmiersprache verwendet. Grundsätzlich sind hier auch andere (Script-)Programmiersprachen geeignet.
  • Ein Auszeichnungssprachenmodul 60 ermöglicht die Interpretation und Darstellung der an die Browser 22,23 übermittelten Auszeichnungssprache-Dateien, wobei die Auszeichnungssprache zur Strukturierung von digitalen Inhalten, wie Texten, Bildern und Hyperlinks, in elektronischen Dokumenten dient, wie es bereits oben erläutert ist. Im vorliegenden Ausführungsbeispiel ist die Auszeichnungssprache gemäß dem Standard „HTML5“ (engl.: Hypertext Markup Language) realisiert, der z.Z. vom World Wide Web Consortium erarbeitet wird. Grundsätzlich sind hier auch andere Auszeichnungssprachen geeignet.
  • Eine Dokumentenzugriffschnittstelle 61 ist eine Schnittstelle, die den Zugriff auf strukturierte elektronische Dokumente, wie die an die Browser 22,23 übermittelten Auszeichnungssprache-Dateien, ermöglicht. Hierbei kann deren Datenstruktur in Form einer Baumstruktur dargestellt werden. Im vorliegenden Ausführungsbeispiel wird eine Dokumentenzugriffschnittstelle nach dem Standard „DOM Level 3“ (engl.: Document Object Model) verwendet, der vom World Wide Web Consortium definiert worden ist. Grundsätzlich sind hier auch andere Dokumentenzugriffsschnittstellen geeignet.
  • Ein Gestaltungssprachenmodul 62 stellt eine textbasierte Gestaltungssprache für die Formatierung bzw. deklarative Programmiersprache für Stilvorlagen der strukturierten elektronischen Dokumente zur Verfügung. Mit Hilfe des Gestaltungssprachenmoduls 62 wird die Darstellung der an die Browser 22,23 übermittelten Auszeichnungssprache-Dateien formatiert. Im vorliegenden Ausführungsbeispiel ist die Gestaltungssprachegemäß dem Standard „CSS3“ (engl.: Cascading Style Sheets) realisiert, der vom World Wide Web Consortium definiert worden ist. Grundsätzlich sind hier auch andere Gestaltungssprachen geeignet.
  • Ein Rastercomputer 11 umfasst verschiedene Softwarekomponenten (8). Im vorliegenden Ausführungsbeispiel sind diese Softwarekomponenten ein Betriebssystem 26, der Funktionscode 27, der Infrastrukturmanager 28 und Web-Benutzerinterface-Plugins 30, die bereits oben erläutert sind.
  • Ein Interface-Computer 12 umfasst verschiedene Softwarekomponenten (9). Im vorliegenden Ausführungsbeispiel sind diese Softwarekomponenten ein Betriebssystem 26, der Funktionscode 27, der Infrastrukturmanager 28 und Web-Benutzerinterface-Plugins 30, die bereits oben erläutert sind. Zusätzlich zu diesen Softwarekomponenten ist noch ein Druckwerksteuerungstreiber 63 vorhanden, der es ermöglicht, dass der Interface-Computer 12 der Druckwerksteuerung 5 Druckdaten übermittelt.
  • Die Druckgerätsteuerung 4 umfasst verschiedene Softwarekomponenten (10), die nachfolgend erläutert werden.
  • Ein Hauptmodul 64 dient zum Steuern und Überwachen weiterer Softwarekomponenten der Druckgerätsteuerung 4.
  • Ein Papiertransport-Modul 65 steuert den Papiertransport des Druckgeräts 1, indem es den Abwickler 6, den Aufwickler 7 und weitere Antriebswalzen (nicht dargestellt) im Druckgerät 1 ansteuert.
  • Ein Druckeinheit-Modul 66 erfasst über Sensoren (nicht gezeigt) verschiedene Parameter des Druckwerks 4, wie z.B. Temperatur, Luftfeuchtigkeit, Vorhandensein von Papier etc., die das Druckvermögen und/oder die Druckqualität direkt oder indirekt beeinflussen. Aus den erfassten Sensordaten ermittelt das Druckeinheit-Modul 66 einen Druckerstatus, indem es die erfassten Parameter auswertet. Diese Auswertung geschieht durch ein Überprüfen, ob sich die jeweiligen Parameterwerte innerhalb vorgegebener Wertebereiche befinden, die einen regulären Betrieb des Druckwerks 4 definieren. Der Druckerstatus wird an den Hauptcomputer 10 übermittelt.
  • Das Fernwartungsmodul 19 umfasst als Softwarekomponenten ein Betriebssystem 26 und einen SNMP-Dienst (Simple Network Management Protocol) 67 (11). Der SNMP-Dienst 67 dient zur einfachen Netzwerkkommunikation des Fernwartungsmoduls 19 mit anderen Vorrichtungen der Steuervorrichtung 2.
  • Der Bedienfeldcomputer 14 umfasst als Softwaremodule ein Betriebssystem 26, einen Browser 23 und eine Bedienfeld-Benutzeroberfläche 68 (12). Die Bedienfeld-Benutzeroberfläche 68 ermöglicht es, auf dem Bedienfeldcomputer 14 Bedienfelder zum Bedienen des Druckgeräts 1 und/oder der Steuervorrichtung 2 anzuzeigen und Einstellungen in diesen vorzunehmen. Die Bedienfeld-Benutzeroberfläche 68 wird mit Hilfe der vom Webserver 36 auf den Bedienfeldcomputer 14 heruntergeladenen Java-Programmierbibliotheken und der Java Web Start-Funktion initialisiert, dargestellt und gesteuert, wie bereits oben erläutert.
  • Der Servicecomputer 15, 17 umfasst als Softwarekomponenten ein Betriebssystem 26, einen Browser 23 und ein Servicemodul (CoDi: Configuration and Diagnostics) 69 (13). Mit Hilfe des Servicemoduls 69 kann die Konfiguration des Druckgeräts 1 und/oder der Steuervorrichtung 2 geändert werden sowie vom Druckgerät 1 oder der Steuervorrichtung 2 Informationen zur Software- und/oder Hardware-Diagnose empfangen werden.
  • Das vorliegende Ausführungsbeispiel (1) weist verschiedene Computer 14, 15, 17, 18, 19 auf, über die mittels jeweils eines Bedienfelds Einstellaufgaben am Druckgerät 1 und/oder der Steuervorrichtung 2 vorgenommen und das Druckgerät 1 und/oder die Steuervorrichtung 2 überwacht werden. Insbesondere kann für diese Zwecke eine Vielzahl von Bedienfeldcomputern 14 und/oder Servicecomputern 15, 17 an der Steuervorrichtung 2 angeschlossen sein.
  • Der Hauptcomputer 10 ist dazu ausgebildet die Bedienfelder für die angeschlossenen Computer 14, 15, 17, 18, 19 mit Hilfe der auf ihm ausgeführten Bedienfeld-Modulbibliothek 20 zu erzeugen. Jedes der Bedienfelder wird durch einen Satz Parameter und Befehle definiert, die an die Computer 18, 19 übermittelt und dort mit einem speziellen Client-Programm in ein Bedienfeld umgesetzt werden können. Für die Computer 14, 15, 17 wird dieser Satz Parameter und Befehle, die das Bedienfeld des jeweiligen Computers 14, 15, 17 definieren, zusammen mit weiteren Informationen, die weiter unten erläutert sind, als eine Bedienfeldstruktur vom Web-Benutzerinterface 21 entgegen genommen und in die Bedienfelddatei umgesetzt. Dabei erfolgt die Umsetzung in die Bedienfelddatei gemäß einer vorbestimmten Auszeichnungssprache. Im vorliegenden Ausführungsbeispiel wird als Auszeichnungssprache HTML5 verwendet und mit Hilfe der Dokumentenzugriffschnittstelle 61 wird auf die Bedienfelddatei zugegriffen. Weiter enthält die Bedienfelddatei im vorliegenden Ausführungsbeispiel Programmcode 48, der in Java-Script erstellt ist, und wird mit Hilfe des Gestaltungssprachenmoduls 62 gemäß dessen Regeln formatiert. Die Bedienfelddatei wird dann und über die bestehenden Datenverbindungen an den jeweiligen Computer 14, 15, 17 übertragen.
  • Ein jeder der Browser 22, 23 kann die Bedienfelddatei interpretieren. Hierdurch wird das Bedienfeld auf der Benutzeroberfläche (engl. GUI: graphical user interface) angezeigt. Ein jedes Bedienfeld weist zumindest ein Anzeigeobjekt auf. Ein solches Anzeigeobjekt, das zur Anzeige eines bestimmten Parameters, Wertes oder Ausschnittes der Bedienoberfläche dient, ist ein Teil des Bedienfelds und ist ein in sich abgeschlossenes Element dieses Bedienfelds. Die Anzeigeobjekte eines Bedienfelds sind unabhängig voneinander und können somit unabhängig voneinander übertragen bzw. aktualisiert werden. Typische Anzeigeobjekte sind GUI-Elemente, die einem Anzeigeobjekt-Typ entsprechen, wie bspw. ein Listenfeld, eine Schaltfläche, eine Checkbox, ein Fortschrittsbalken, ein Wertefeld etc. Ein Anzeigeobjekt kann Eigenschaften aufweisen und/oder einen Wert einer Datenquelle darstellen, wie z.B. eine Temperatur, eine Schalterstellung, einen Text, eine Grafik, eine Liste etc. Die Eigenschaften umfassen Basiseigenschaften des Anzeigeobjekts, wie z.B. ob das Anzeigeobjekt nur ausgelesen (engl.: read-only) oder beschrieben werden kann (engl.: writeable), und wertspezifische Eigenschaften, wie Grenzwerte, Schwellenwerte etc.
  • Ein Beispiel für ein Anzeigeobjekt eines Anzeigeobjekt-Typs und dessen Eigenschaften sowie eine zugeordnete Datenquelle ist eine nicht vom Nutzer steuerbare Checkbox, die als Eigenschaften markiert und nicht markiert besitzt und mit einem Schalter als Datenquelle verknüpft ist. Ist der Schalter offen, dann ist die Checkbox nicht markiert, ist der Schalter geschlossen, dann ist die Checkbox markiert bzw. angekreuzt. Das Umschalten zwischen den beiden Zuständen der Checkbox erfolgt über deren Eigenschaften (markiert bzw. nicht markiert). Ein weiteres Beispiel ist eine Temperaturanzeige in Form eines Textfeldes, in dem der Wert einer Temperatur als eine Zahl angezeigt wird. In den Eigenschaften des Textfelds ist ein Temperaturschwellenwert für die Temperatur hinterlegt. Liegt der Temperaturwert unterhalb des Temperaturschwellenwerts, wird die Zahl in schwarzer Schrift, die in den Stilvorlagen des Gestaltungssprachenmoduls 62 festgelegt ist, angezeigt. Überschreitet der Temperaturwert diesen vorbestimmten Temperaturschwellenwert, dann wird gemäß den Stilvorlagen des Gestaltungssprachenmoduls 62 für das Textfeld eine rote Schrift eingestellt, sodass die Zahl im Textfeld in roter Schrift angezeigt wird und damit das Überschreiten des Temperaturschwellenwerts signalisiert wird.
  • Eine Datenquelle (nicht gezeigt) ist eine Vorrichtung oder Einrichtung, die dazu ausgebildet ist, Daten zu erfassen bzw. zu übermitteln, wie z.B. ein Sensor (Temperatursensor, Drehzahlmesser, optischer Sensor, etc.), ein Schaltkontakt, eine Datenbank etc. des Druckgeräts 1 oder der Steuervorrichtung 2. Eine Datenquelle übermittelt zu einem Zeitpunkt genau einen Wert (z.B. 3 Grad Celsius) zu einem Parameter (z.B. Temperatur). Eine Datenquelle kann mit einem Anzeigeobjekt verknüpft bzw. diesem zugeordnet sein, d.h. das Anzeigeobjekt ist dazu ausgebildet, den Wert der Datenquelle darzustellen.
  • Jeder Browser 23 wird auf einem der Computer 14, 15, 17 in einer Sitzung (engl.: session) ausgeführt. Mit einer Sitzung wird grundsätzlich eine stehende Verbindung eines Clientcomputers mit einem Servercomputer bezeichnet, wobei hier der Begriff „Sitzung“ dahingehend verwendet wird, dass am Client-Computer 14, 15, 17 im Browser 23 eine das Bedienfeld definierende Auszeichnungssprachen-Datei ausgeführt wird.
  • Auch der Browser 22 wird auf dem Hauptcomputer 10 in einer Sitzung ausgeführt, wobei auch hier der Begriff „Sitzung“ dahingehend verwendet wird, dass am Hauptcomputer 10 im Browser 22 eine das Bedienfeld definierende Auszeichnungssprachen-Datei ausgeführt wird.
  • Der jeweiligen Sitzung wird bei einer erstmaligen Verbindungsanforderung eines der Computer 14, 15, 17 an den Hauptcomputer 10 durch die externen Plug-Ins 49 eine eindeutige Sitzungs-ID (engl.: session-id) zugeordnet. Diese Sitzungs-ID wird am Web-Benutzerinterface 21 in einer entsprechenden Sitzungstabelle gespeichert und vom Hauptcomputer 10 an die Computer 14, 15, 17 übermittelt. Mit der Sitzungs-ID wird die Kommunikation zwischen dem Web-Benutzerinterface 21 des Hauptcomputers 10 und den Browsern 23 der Computer 14, 15, 17 gesteuert. Zusammen mit der Sitzungs-ID wird in der Sitzungstabelle am Hauptcomputer 10 eine Websocket-ID des jeweiligen Websockets 24 verknüpft gespeichert, so dass das Web-Benutzerinterface 21 ermitteln kann, mit welcher Sitzung es über welchen Websocket 24 kommunizieren kann.
  • Browser können eine Darstellung mit mehreren Fenstern bzw. Registerkarten (engl.: tabs) innerhalb des Browsers aufweisen. Da das Web-Benutzerinterface 21 grundsätzlich nur eine Sitzungs-ID kennt, wird bei einem erstmaligen Aufruf des Bedienfelds in einem Fenster bzw. in einer Registerkarte eines Browsers 23 durch den beim Aufruf übermittelten Programmcode 48 im Browser 23 die Erzeugung einer Fenster-ID (engl.: tab-id) im Web-Benutzerinterface 21 angestoßen und auf dem Hauptcomputer 10 in einer Referenztabelle (14), die unten genauer erläutert wird, gespeichert. Mit der Fenster-ID kann das Web-Benutzerinterface 21 10 ein jedes Fenster eines jeden Browsers 23 eindeutig identifizieren. Die Fenster-ID übermittelt das Web-Benutzerinterface 21 an den jeweiligen Computer 14, 15, 17, so dass diese dort dem jeweiligen Fenster dauerhaft durch Speichern zugeordnet werden kann. Die eindeutige Zuordnung einer Fenster-ID zu einem der Browser 23 wird weiter unten erläutert.
  • Jedes Anzeigeobjekt weist eine eindeutige Anzeigeobjekt-ID auf, mit der die Anzeigeobjekte eindeutig zu identifizieren sind. Die Anzeigeobjekt-ID wird von der Bedienfeld-Modulbibliothek 20 bei Initialisierung des jeweiligen Anzeigeobjekts für die Anzeige, d.h. bei der Erzeugung eines Bedienfelds, generiert und in der Referenztabelle am Hauptcomputer 10 gespeichert. Die Referenztabelle enthält somit alle Anzeigeobjekte die aktuell in allen Browsern 23 dargestellt werden.
  • Die Anzeigeobjekt-ID wird an den darstellenden Browser 23 in der Bedienfelddatei, die das Bedienfeld definiert, über die bestehende Datenverbindung übergeben, so dass der Browser 23 die Anzeigeobjekt-ID ebenfalls in einer lokalen Datenstruktur am Computer 14, 15, 17 speichern und dem jeweiligen Anzeigeobjekt zuordnen kann.
  • Eine jede Datenquelle weist eine Datenquellen-ID auf, über die die jeweilige Datenquelle eindeutig zu identifizieren ist. Die Datenquellen-ID wird in der Konfiguration des Hauptcomputers 10 bei der Installation der jeweiligen Datenquelle gespeichert. Sie kann aber auch dynamisch bei Initialisierung des Druckgeräts 1 und/oder der Steuervorrichtung 2 erzeugt werden, indem die angeschlossenen Datenquellen ermittelt werden und diesen automatisch eine Datenquellen-ID zugeordnet wird.
  • Mit der Vielzahl an Computern 14, 15, 17 steigt der Bandbreitenbedarf der entsprechenden Datenverbindungen und die Reaktionszeiten. Eine Reduktion der an die Computer 14, 15, 17 übertragenen Daten, die die im Browser 23 angezeigten Anzeigeobjekte, Anzeigeobjekteigenschaften und Werte darstellen, sowie eine Verteilung der zur Verfügung stehenden Verbindungskapazität auf die einzelnen Computer 14, 15, 17 ist daher wünschenswert.
  • Um die zu übertragende Datenmenge zu reduzieren, wird ein Anzeigeobjekt, das einen Wert anzeigt, mit der Datenquelle, aus der der anzuzeigende Wert resultiert, derart verknüpft, dass es möglich wird, bei einer Änderung eines in einem Anzeigeobjekts dargestellten Werts nur den geänderten Wert, anstatt das ganze Anzeigeobjekt mit den enthaltenen Werten, zu übertragen.
  • Hierfür wird auf dem Hauptcomputer 10 die Referenztabelle vorgehalten und aktualisiert, die den Bezug zwischen einem Anzeigeobjekt, das einen Wert einer Datenquelle anzeigt, einer Sitzung in einem Browserfenster, und der einen Datenquelle, aus der der Wert stammt, herstellt. Durch die Referenztabelle ist der das Web-Benutzerinterface 21 jederzeit über die aktuell in jedem der Browser 23 dargestellten Anzeigeobjekte, insbesondere über die Anzeigeobjekte, die Werte von Datenquellen anzeigen, informiert.
  • Die Referenztabelle umfasst als Einträge die Anzeigeobjekt-ID, die Sitzungs-ID, die Fenster-ID, die Benutzer-ID und die Datenquellen-ID. Hierin werden die Informationen über ein dargestelltes Anzeigeobjekt mit der Sitzungs-ID und der Fenster-ID des das Anzeigeobjekt darstellenden Browsers 23 mit der Benutzer-ID des den Browser 23 bedienenden Benutzers verknüpft. Zusätzlich wird eine mit dem Anzeigeobjekt verknüpfte Datenquelle spezifiziert, falls das Anzeigeobjekt mit einer solchen Datenquelle verknüpft ist.
  • Die Referenztabelle gemäß 14 ist ein Ausführungsbeispiel einer Datenstruktur, welche die Beziehung zwischen den einzelnen Einträgen beschreibt. Die Datenstruktur kann auch anders ausgebildet sein. Insbesondere können statt einer Tabelle mehrere Teiltabellen vorgesehen sein, die zueinander in Beziehung stehen.
  • Grundsätzlich werden Daten innerhalb des Druckgeräts 1 oder der Steuervorrichtung 2 als Datenobjekte gespeichert. Diese Datenobjekte können Beziehungen zueinander aufweisen. Solche Beziehungen zwischen Datenobjekten werden als Relationen gespeichert. Für eine anschauliche Erläuterung werden nachfolgend, statt derartige abstrakte Relationen zu beschreiben, Tabellen verwendet.
  • Tritt eine Änderung eines Werts einer Datenquelle auf, dann wird von der jeweiligen Datenquelle ein Wertänderungs-Event mit dem geänderten Wert und der Datenquellen-ID erzeugt, der an den Hauptcomputer 10 gesendet wird. Der Hauptcomputer 10 nimmt im DE-Agent 32 den Wertänderungs-Event entgegen, der diesen an den RMI-Server 33 weiterleitet. Der RMI-Server 33 gibt den Wertänderungs-Event an die Webserver-Dienste 51 des Web-Benutzerinterfaces 21 weiter. Die Webserver-Dienste 51 ermitteln dann aus der Referenztabelle alle Anzeigeobjekt-IDs, die mit der Datenquellen-ID verknüpft sind, und die zugehörigen Sitzungs-IDs und Fenster-IDs. Danach sendet das Web-Benutzerinterface 21 nur an die Browser 23 der ermittelten Sitzungen die jeweilige Fenster-ID(s) und die jeweilige Anzeigeobjekt-ID(s) mit dem geänderten Wert. Jeder adressierte Browser 23 stellt dann im entsprechenden Fenster im entsprechenden Anzeigeobjekt den geänderten Wert dar. Der Wert kann hierbei eine Zahl, ein Text, eine Eigenschaft des Anzeigeobjekts, eine Grafik etc. sein.
  • Ein GUI-Änderungsevent wird immer dann ausgelöst, wenn in einem Browser 23 eine Benutzeraktion aufgetreten ist, die eine Änderung an der Benutzeroberfläche (engl.: graphical user interface, abgekürzt GUI) durchführt, wie z.B. ein Menüaufruf, ein Webseitenaufruf, eine Änderung des Focus etc. Der GUI-Änderungsevent wird vom Browser 23 an das Web-Benutzerinterface 21 gesendet und umfasst die Sitzungs-ID, die Fenster-ID, die Art der im Browser 23 durchgeführten Aktion, die Anzeigeobjekt-ID des mit der Änderung im Zusammenhang stehenden Anzeigeobjekts und weitere Informationen, die das Anzeigeobjekt betreffen, wie z.B. Eigenschaften des Anzeigeobjekts etc.
  • Empfängt das Web-Benutzerinterface 21 einen GUI-Änderungsevent, dann reicht er diesen an die Bedienfeld-Modulbibliothek 20 weiter. Die Bedienfeld-Modulbibliothek 20 ermittelt aus dem GUI-Änderungsevent die an den jeweiligen Computer 14, 15, 17 zu übertragenden Anzeigeobjekte, deren Anzeigeobjekt-IDs, deren Anzeigeobjekt-Typ, deren Eigenschaften sowie die mit ihnen verknüpften Datenquellen, um die Darstellung der Benutzeroberfläche zu aktualisieren bzw. zu ändern. Die Bedienfeld-Modulbibliothek 20 übergibt diese Informationen zusammen mit der Sitzungs-ID, der Fenster-ID und mit weiteren Parametern und Befehlen als Bedienfeldstruktur an das Web-Benutzerinterface 21, das daraus die Bedienfelddatei erzeugt, wie es oben erläutert ist. Das Web-Benutzerinterface 21 überprüft die übergebenen Anzeigeobjekte und aktualisiert die Referenztabelle entsprechend. Hierbei entfernt das Web-Benutzerinterface 21 nicht mehr im Fenster des Browsers 23 dargestellte Anzeigeobjekte aus der Referenztabelle, indem es alle Einträge von Anzeigeobjekten löscht, die der Sitzungs-ID und Fenster-ID des Browsers 23 zugeordnet sind, und fügt dann der Referenztabelle die im Fenster des Browsers 23 neu darzustellenden Anzeigeobjekte hinzu.
  • Das Web-Benutzerinterface 21 überträgt dann die erzeugte Bedienfelddatei an das Fenster der entsprechenden Sitzung, in dem die GUI-Änderung aufgetreten ist, und der empfangende Browser 23 stellt die Anzeigeobjekte mit Eigenschaften und Werten dar. Beispielsweise übermittelt der Hauptcomputer 10 bei einem Menüaufruf das Menü mit seinen Menüeinträgen und deren Eigenschaftseinstellungen an den entsprechenden Browser 23.
  • Werden in einem Anzeigeobjekt eines Browsers 23 durch den Nutzer eine Steueraktion vorgenommen, d.h. ein Wert geändert oder eine Einstellung vorgenommen, die sich auf das Druckgerät 1 oder die Steuervorrichtung 2 auswirken, dann wird eine Steuerungsnachricht an das Web-Benutzerinterface 21 übermittelt, damit dieses entsprechend reagieren kann.
  • Die Fenster-ID in der Referenztabelle kann auch weggelassen werden, wenn die Browser 23 nicht dazu ausgebildet sind, mehrere Fenster mit verschiedenen Bedienfeldern darzustellen, oder auf den Computern 14, 15, 17 nicht mehrfach ausgeführt werden und mehrere verschiedene Bedienfelder anzeigen. Das Web-Benutzerinterface 21 überträgt geänderte Werte dann nur an das einzelne Bedienfeld einer jeweiligen Sitzung.
  • Optional kann die Referenztabelle auf dem Hauptcomputer 10 zusätzlich Informationen dazu enthalten, welches Fenster eines jeden Browsers 23 aktiv ist bzw. den Focus besitzt, d.h. im Vordergrund angezeigt wird und bedienbar ist. Der Hauptcomputer 10 wird hierfür von den Client-Computern 14, 15, 17 darüber informiert, welches Fenster aktiv ist. Dieses kann beispielsweise dadurch geschehen, dass mit einer Steueraktion oder einem GUI-Änderungsevent eine Fenster-ID übermittelt wird, auf dem die GUI-Änderung oder die Steueraktion erfolgt ist, oder wenn der Nutzer den Focus auf einen Fenster des jeweiligen Browsers 23 ändert, indem er ein Fenster in den Vordergrund holt. Das Web-Benutzerinterface 21 berücksichtigt bei einem Wertänderungs-Event dann bei der Ermittlung der Sitzungen, Fenster und Anzeigeobjekte, an die Werte zu übertragen sind, aus der Referenztabelle die Focus-Information mit. Nur an mit der jeweiligen Datenquelle verknüpfte Anzeigeobjekte, die in aktiven Fenstern dargestellt werden, werden geänderte Werte übertragen. Dadurch werden die zu übertragenden Daten weiter reduziert.
  • Um die zur Verfügung stehende Verbindungskapazität zwischen dem Hauptcomputer 10 und den weiteren mit dem Hauptcomputer 10 verbundenen Computern 14, 15, 17 effektiv zu nutzen, werden Daten zusammengefasst an die einzelnen Computer 14, 15, 17 an vorbestimmten Zeitpunkten übertragen.
  • Das Übertragen der Daten an den vorbestimmten Zeitpunkten wird durch eine Wartezeit nach einer Übertragung realisiert, d.h. es tritt nach jeder Datenübertragung an einen Browser 23 einer Sitzung eine Wartezeit auf. Erst nach Ablauf der Wartezeit können erneut Daten an den gleichen Browser 23 übertragen werden. Ändert sich ein Wert während der Wartezeit mehrfach, so wird dieser Wert nicht mehrfach an den Browser 23 übertragen, sondern nur einmal nach Ablauf der Wartezeit. Dieses reduziert die zu übertragenden Daten. Auch ist durch die Wartezeit sichergestellt, dass an andere Browser 23 während der Wartezeit Übertragungen durchgeführt werden können. Die Wartezeit wird mit Hilfe eines Timers erzeugt.
  • Nachfolgend wird ein im Web-Benutzerinterface 21 auf dem Hauptcomputer 10 ausführbares Verfahren zum Aktualisieren der Referenztabelle erläutert (15). Zusätzlich werden durch das Verfahren Anzeigeobjekte, sofern diese in der Bedienfeldstruktur enthalten sind, im Browserpuffer für die Übertragung an den Browser 23 abgelegt. Ist das Anzeigeobjekt mit einer Datenquelle verknüpft, dann wird der Wert der Datenquelle gelesen und in den Browserpuffer eingetragen.
  • Das Verfahren beginnt in Schritt S1. Im Schritt S2 wird die von der Bedienfeld-Modulbibliothek 20 neu erzeugte Bedienfeldstruktur, mit deren Hilfe ein neues Bedienfeld in einem der Browser 23 dargestellt wird, vom Web-Benutzerinterface 21 empfangen. Die Bedienfeldstruktur enthält Informationen, die zur Darstellung des Bedienfelds auf der Benutzeroberfläche geeignet sind, wie die Anzeigeobjekt-IDs der darzustellenden Anzeigeobjekte, die Sitzungs-ID des Browsers 23, die Fenster-ID des Browsers 23 und weitere Informationen, die die jeweiligen Anzeigeobjekte betreffen, wie z.B. die Eigenschaften des Anzeigeobjekts, der Anzeigeobjekt-Typ und die Datenquellen-ID der mit dem jeweiligen Anzeigeobjekt verknüpften Datenquelle.
  • Im darauffolgenden Schritt S3 werden sämtliche in der Referenztabelle eingetragenen Anzeigeobjekte des Fensters des Browsers 23, für den die neue Bedienfeldstruktur erzeugt wurde, aus der Referenztabelle entfernt. Dies bedeutet, dass die bisher im Fenster des Browsers 23 dargestellten Anzeigeobjekte in der Referenztabelle gelöscht werden.
  • Danach folgt die Ausführung des Schritts S4, in dem überprüft wird, ob eine Anzeigeobjekt-ID eines Anzeigeobjekts in der empfangenen Bedienfeldstruktur enthalten ist.
  • Wird im Schritt S4 festgestellt, dass ein Anzeigeobjekt enthalten ist, dann wird Schritt S5 ausgeführt, in dem das erste in der Bedienfeldstruktur enthaltene Anzeigeobjekt als ein neues Anzeigeobjekt in die Referenztabelle zusammen mit der Sitzungs-ID und der Fenster-ID und, falls vorhanden, der Datenquellen-ID, die das Anzeigeobjekt mit einer Datenquelle logisch verknüpft, eingetragen wird. Ist ein Anzeigeobjekt mit keiner Datenquelle verknüpft, dann wird in das Feld für die Datenquelle ein Wert eingetragen, der „Keine verknüpfte Datenquelle“ signalisiert, wie z.B. eine „0“.
  • Dann folgt die Ausführung von Schritt S6, in dem das Anzeigeobjekt in den zum Fenster des Browsers 23 zugehörigen Browserpuffer eingetragen wird. Der Browserpuffer dient zur Pufferung der Daten, die an den jeweiligen Browser 23 übergeben werden sollen, wie z.B. Anzeigeobjektdaten, Werte, etc., und ist mit Hilfe der Sitzungs-ID und Fenster-ID genau einem Browser 23 zugeordnet.
  • Danach wird Schritt S7 ausgeführt, in dem überprüft wird, ob das Anzeigeobjekt mit einer Datenquelle verknüpft ist.
  • Wird im Schritt S7 festgestellt, dass das Anzeigeobjekt mit einer Datenquelle verknüpft ist, dann wird der Schritt S8 ausgeführt, in dem der Wert der Datenquelle, die mit dem Anzeigeobjekt verknüpft ist, von der Datenquelle gelesen und im darauffolgenden Schritt S9 in den Browserpuffer eingetragen wird. Dieses dient dazu, dass das Anzeigeobjekt beim ersten Erscheinen auf der Benutzeroberfläche einen Wert anzeigt.
  • Dann folgt die Ausführung von Schritt S10, in dem überprüft wird, ob ein weiteres Anzeigeobjekt in der empfangenen Bedienfeldstruktur enthalten ist.
  • Wird im Schritt S10 festgestellt, dass ein weiteres Anzeigeobjekt enthalten ist, geht der Verfahrensablauf erneut auf den Schritt S5 über, in dem das weitere Anzeigeobjekt in die Referenztabelle eingetragen wird.
  • Wird im Schritt S10 festgestellt, dass kein weiteres entsprechendes Anzeigeobjekt enthalten ist, dann folgt die Ausführung von Schritt S11, in dem überprüft wird, ob der Betrieb fortzusetzen ist. Ist der Betrieb nicht fortzusetzen, dann folgt Schritt S12, in dem das Verfahren endet. Falls jedoch der Betrieb fortzusetzen ist, geht der Verfahrensablauf nach der Ausführung des Schritts S11 auf den Schritt S2 über.
  • Wird im Schritt S4 festgestellt, dass kein Anzeigeobjekt in der Bedienfeldstruktur empfangen wurde, dann geht der Verfahrensablauf direkt auf den Schritt S11 über.
  • Wird im Schritt S7 festgestellt, dass das Anzeigeobjekt nicht mit einer Datenquelle verknüpft ist, dann geht der Verfahrensablauf direkt auf den Schritt S10 über.
  • Alternativ kann das oben erläuterte Verfahren zum Aktualisieren der Referenztabelle dadurch erweitert werden, dass das Web-Benutzerinterface 21 die Focus-Information, die mit einem GUI-Änderungsevent übertragen werden, eines Fensters des jeweiligen Browsers 23 mit berücksichtigt, indem das Web-Benutzerinterface 21 diese Focus-Information in der Referenztabelle aktualisiert. Dieses kann bspw. dadurch geschehen, dass das Web-Benutzerinterface in die Focus-Information für neu eingetragene Anzeigeobjekte eines Fensters bzw. einer Sitzung des Browsers 23 „wahr“ einträgt, und in die Focus-Information in der Referenztabelle für alle anderen Anzeigeobjekte, d.h. alle Anzeigeobjekte aller anderen Fenster des Browsers 23, „falsch“ einträgt.
  • Durch die Aktualisierung der Focus-Information in der Referenztabelle wird die Voraussetzung dafür geschaffen, dass nur die Werte der Anzeigeobjekte übertragen werden, die in einem Fenster dargestellt werden, das den Focus besitzt bzw. sich im Vordergrund befindet, und das Übertragen von Werten von Anzeigeobjekten, die in einem Fenster dargestellt werden, das den Focus nicht besitzt bzw. sich im Hintergrund befindet, unterbleibt, wie es weiter unten erläutert ist. Dadurch wird die übertragene Datenmenge weiter reduziert.
  • Mit dem Verfahren zum Aktualisieren einer Referenztabelle, die insbesondere einen Bezug eines in einem Browser 23 dargestellten Anzeigeobjekts und einer Datenquelle herstellt, wird die Voraussetzung geschaffen, um bei einer Wertänderung einer Datenquelle die zu übertragenden Daten durch selektives Übertragen des geänderten Werts an das darstellende Anzeigeobjekt des jeweiligen Browsers 23 reduzieren zu können.
  • Ein im Web-Benutzerinterface 21 auf dem Hauptcomputer 10 ausführbares Verfahren zur Vorbereitung einer selektiven Übertragung eines geänderten Werts nur an die Browser 23, die laut Referenztabelle den Wert aktuell in einem Anzeigeobjekt darstellen, wird nachfolgend erläutert (16).
  • Das Verfahren setzt voraus, dass auf dem Hauptcomputer 10 eine Referenztabelle vorgehalten und aktualisiert wird, wie es oben erläutert ist.
  • Das Verfahren beginnt im Schritt S21. Dann wird im Schritt S22 festgestellt, ob ein Wertänderungs-Event aufgetreten ist. Der Wertänderungs-Event wird immer dann ausgelöst, wenn sich der Wert einer Datenquelle geändert hat. Der Wertänderungs-Event wird von der Datenquelle an den Hauptcomputer 10 übermittelt und umfasst eine Datenquellen-ID und den Wert der mit der Datenquellen-ID referenzierten Datenquelle.
  • Ist ein Wertänderungs-Event aufgetreten, dann wird Schritt S23 ausgeführt, in dem anhand der Datenquellen-ID sämtliche Anzeigeobjekt-IDs der Anzeigeobjekte, die den Wert der Datenquelle anzeigen, und die zugehörigen Sitzungs-IDs sowie zugehörigen Fenster-IDs der Browser 23, die die mittels der Anzeigeobjekt-IDs referenzierten Anzeigeobjekte darstellen, aus der Referenztabelle ermittelt werden.
  • Danach wird Schritt S24 ausgeführt, in dem die ermittelten Anzeigeobjekt-IDs und der im Wertänderungs-Event enthaltene Wert in sämtliche Browserpuffer, die jeweils einem das Anzeigeobjekt darstellenden Browser 23 über die Sitzungs-ID und Fenster-ID zugeordnet sind, eingetragen werden. Hierbei überschreibt ein neuerer Wert einer Datenquelle einen älteren, noch im Browserpuffer vorhandenen Wert derselben Datenquelle. Hierdurch ist sichergestellt, dass für ein bestimmtes Anzeigeobjekt eines Browserfensters nur der aktuellste Wert, der darzustellen ist, im Browserpuffer gespeichert ist.
  • Dann folgt die Ausführung von Schritt S25, in dem überprüft wird, ob der Betrieb fortzusetzen ist. Ist der Betrieb nicht fortzusetzen, dann folgt Schritt S26, in dem das Verfahren endet. Falls jedoch der Betrieb fortzusetzen ist, geht der Verfahrensablauf nach der Ausführung des Schritts S25 auf den Schritt S22 über.
  • Alternativ kann das oben erläuterte Verfahren zur Vorbereitung einer selektiven Übertragung eines geänderten Werts erweitert werden, indem bei einer Wertänderung einer Datenquelle das Web-Benutzerinterface 21 die zuvor in der Referenztabelle gespeicherte Focus-Information der Fenster mit berücksichtigt und nur die Werte der Anzeigeobjekte, die in einem Fenster dargestellt werden, das den Focus besitzt bzw. sich im Vordergrund befindet, in den jeweiligen Browserpuffer einträgt und die Werte der Anzeigeobjekte, die in einem Fenster dargestellt werden, das den Focus nicht besitzt bzw. sich im Hintergrund befindet, nicht einträgt. Dadurch wird die übertragene Datenmenge weiter reduziert.
  • Mit dem Verfahren zur Vorbereitung einer selektiven Übertragung eines geänderten Werts nur an die Browser 23, die laut Referenztabelle den Wert aktuell in einem Anzeigeobjekt darstellen, werden die vom Hauptcomputer 10 an die entsprechenden Browser 23 zu übertragenden Daten reduziert.
  • Ein Verfahren zur Zusammenfassung von Daten, die von dem Web-Benutzerinterface 21 des Hauptcomputers 10 an ein Fenster eines der Browser 23 zu übertragen sind, wobei die Übertragung nur an vorbestimmten Zeitpunkten durchgeführt wird, wird nachfolgend erläutert (17). Für jedes ein Bedienfeld anzeigende Fenster eines der Browser 23 auf einem Computer 14, 15, 17 wird das Verfahren auf dem Hauptcomputer 10 ausgeführt.
  • Das Verfahren setzt voraus, dass wie bei dem oben erläuterten und in 16 gezeigten Verfahren geänderte Werte in die Browserpuffer, die den jeweiligen Fenstern der Browser 23 zugeordnet sind, eingetragen werden. Hierbei überschreiben Werte bestimmter Parameter ältere in dem jeweiligen Browserpuffer vorhandene Werte desselben Parameters. Hierdurch ist sichergestellt, dass für einen bestimmten Parameter nur der aktuellste Wert im Browserpuffer gespeichert ist.
  • Das Verfahren beginnt in Schritt S31. Im Schritt S32 wird ein Timer, der über die Sitzungs-ID und Fenster-ID dem Browserpuffer zugeordnet ist, initialisiert. Mit der Initialisierung wird der Timer auf einen Wert gesetzt, der einem Zeitabschnitt entspricht, nachdem nach dem Übertragen von Daten zu warten ist, bevor neue Daten übertragen werden können. Beispielsweise wird der Timer mit einem Wert, der 200 ms entspricht, geladen.
  • Im Schritt S33 wird überprüft, ob der Browserpuffer, der dem jeweiligen Browserfenster des Browsers 23 über die Sitzungs-ID und Fenster-ID zugeordnet ist, zu übertragende Daten enthält.
  • Ist dieses der Fall, dann folgt die Ausführung von Schritt S34, in dem die Daten aus dem Browserpuffer an das Fenster des zum Browserpuffer zugeordneten Browsers 23 übertragen werden. Die Datenübertragung findet dabei derart statt, dass der Browserpuffer für andere Zugriffe gesperrt wird, der Hauptcomputer 10 über die Web-Sockets 24, 25 ein Push-Event an den entsprechenden Browser 23 sendet, und der Browser 23 die Daten aus dem Browserpuffer über die Web-Sockets 24, 25 ausliest und die geänderten Anzeigeobjekte, Daten und/oder Werte in seinem dem Browserpuffer zugeordneten Fenster darstellt. Der Push-Event dient dazu, dem Browser 23 anzuzeigen, dass Daten für das zugeordnete Browserfenster aus dem Browserpuffer auszulesen sind.
  • Nach Abschluss der Übertragung wird Schritt S35 ausgeführt, in dem der Browserpuffer geleert wird und, wenn er leer ist, wieder für andere Zugriffe freigegeben wird, indem die zuvor erfolgte Sperrung aufgehoben wird. Alternativ kann der Browserpuffer auch automatisch durch das Auslesen geleert werden.
  • Danach wird der Timer freigegeben und läuft los (Schritt S36) .
  • Im darauffolgenden Schritt S37 wird auf einen Timerinterrupt gewartet, der vom Timer nach Ablauf des Zeitabschnitts von beispielsweise 200 ms ausgelöst wird. Das Warten im Schritt S37 ist derart ausgeführt, dass am Hauptcomputer 10 parallel andere Prozesse ausgeführt werden können. Insbesondere können andere Prozesse während des Ablaufs des Timers schreibend auf den zugehörigen Browserpuffer zugreifen.
  • Ist der Timerinterrupt aufgetreten, dann wird Schritt S38 ausgeführt, in dem überprüft wird, ob der Betrieb fortzusetzen ist. Ist der Betrieb nicht fortzusetzen, dann folgt Schritt S39, in dem das Verfahren endet. Falls jedoch der Betrieb fortzusetzen ist, geht der Verfahrensablauf nach der Ausführung des Schritts S38 auf den Schritt S32 über.
  • Wird im Schritt S33 festgestellt, dass der Browserpuffer keine Daten enthält, dann wird der Verfahrensablauf direkt mit der Ausführung des Schritts S38 fortgesetzt.
  • Der Zeitabschnitt, nachdem nach dem Übertragen von Daten zu warten ist, bevor neue Daten übertragen werden können, ist im obigen Beispiel auf 200 ms gesetzt. Dieser Zeitabschnitt liegt typischerweise im Bereich 10 ms bis 20 s und insbesondere von 10 ms bis 1 s. Vorzugsweise kann für unterschiedliche Browserpuffer und damit für unterschiedliche Datenquellen unterschiedlich lang eingestellt sein. Es gibt bspw. Parameter, die sich grundsätzlich langsam ändern, wie z.B. Temperaturwerte, bei welchen eine Abtastung in Zeitabschnitten von 10 ms keinen Sinn macht. Hier genügen bspw. Zeitabschnitte von einigen Sekunden, insbesondere von bis zu 10 s. Andere Parameter sollten hingegen in kürzeren Zeitabschnitten abgetastet und entsprechend häufiger übertragen werden. Die Länge der Zeitabschnitte wird daher vorzugsweise anhand der dem jeweiligen Browser zugeordneten Datenquellen bestimmt, wobei bei mehreren Datenquellen, die Datenquelle, die die kürzesten Zeitabschnitt erfordert, ausschlaggebend für die Bestimmung des Zeitabschnittes für den jeweiligen Browserpuffer ist. Alternativ kann die Länge der Zeitabschnitte auch von der zur Verfügung stehenden Verbindungskapazität der Verbindung zwischen dem Hauptcomputer 10 und den Computern 14, 15, 17 bestimmt sein. Steht weniger Verbindungskapazität zur Verfügung, dann werden die Zeitabschnitte länger eingestellt, sodass weniger oft Daten übertragen werden. Steht hingegen mehr Verbindungskapazität zur Verfügung, dann können die Zeitabschnitte kürzer eingestellt werden.
  • Weiter kann die Länge der Zeitabschnitte auch anhand der zu übertragenden Datenmenge bestimmt werden. Sind mehr Daten zu übertragen, so werden kürzere Zeitabschnitte für die Übertragung eingestellt. Sind hingegen weniger Daten zu übertragen, so können längere Zeitabschnitte eingestellt werden.
  • Die Kriterien, nach denen die Länge der Zeitabschnitte eingestellt werden, können einzeln, wie oben beschrieben, oder in Kombination mehrerer dieser Kriterien miteinander verwendet werden.
  • Im beschriebenen Verfahren bemisst sich das Zeitraster an der Übertragungszeit der Daten aus dem Browserpuffer, die einen variablen Wert in Abhängigkeit der Menge an Übertragungsdaten hat, addiert zur Ablaufzeit des Timers, bei deren Ende ein Interrupt ausgelöst wird, wodurch die Datenübertragung erneut startet.
  • Alternativ zu dieser Vorgehensweise kann auch ein Timer als Zeitgeber verwendet werden, der nach einer vorbestimmten Zeit einen Interrupt auslöst, wodurch die Datenübertragung startet, d.h. das Zeitraster bemisst sich nur an der Ablaufzeit des Timers. Hierbei ist zu berücksichtigen, dass das Timerintervall hinreichend groß gewählt wird, dass alle Daten aus dem Browserpuffer übertragen werden.
  • Als weitere Alternative kann ein Scheduler verwendet werden, der es ermöglicht, bei der Datenübertragung Prioritäten der verschiedenen zu übertragenden Werte der Parameter und/oder Prioritäten der verschiedenen ausgeführten Browser 23 anhand der an diesen angemeldeten Nutzer zu berücksichtigen, indem der Scheduler die Datenübertragung nach Prioritäten von der höchsten zur niedrigsten Priorität steuert. Der Scheduler kann auch den Füllstand der verwendeten Browserpuffer in Verbindung mit der Netzwerkgeschwindigkeit und/oder Latenz der angebundenen Computer 14, 15, 17 berücksichtigen, so dass der Scheduler an Computer 14, 15, 17, die über eine langsamere Anbindung und/oder größere Latenz verfügen, öfter und länger Daten überträgt, als an Computer 14, 15, 17, die über eine schnellere Anbindung und/oder geringere Latenz verfügen.
  • Mit dem Verfahren zur Zusammenfassung von an ein Fenster eines Browsers 23 zu übertragende Daten und Übertragung an vorbestimmten Zeitpunkten wird die zur Verfügung stehende Verbindungskapazität auf mehrere Fenster von Browsern 23 aufgeteilt, indem ein Fenster eines Browsers 23, nachdem an es Daten übertragen worden sind, auf eine weitere Datenübertragung warten muss und in der Zwischenzeit an andere Fenster von Browsern 23 Daten übertragen werden können.
  • Um sicherzustellen, dass das Druckgerät 1 bzw. die Steuervorrichtung 2 nur von einer Benutzeroberfläche aus bedient bzw. eingestellt wird, wird ein sogenanntes „Zugriffsticket“ verwendet. Nur der Nutzer, der das Zugriffsticket besitzt, darf Einstellungen vornehmen. Das Zugriffsticket existiert im Hauptcomputer 10 nur einmal.
  • Das Zugriffsticket wird vom RMI-Server 33 verwaltet. Das Zugriffsticket wird dem Web-Benutzerinterface 21, dem RMI-Server 33 oder einem angeschlossenen Computer 18, 19, auf dem das Bedienfeld nicht-Browser-gestützt dargestellt wird, zugeordnet. Das Zugriffsticket kann nur einer dieser Komponenten zu einer Zeit zugeordnet sein.
  • Lediglich wenn sich das Druckgerät 1 in einem Stand-by-Modus befindet, in dem die produzierenden Elemente, wie die Druckwerke, ausgeschaltet sind, jedoch bestimmte Steuerelemente noch in Betrieb sind, kann auf die Steuervorrichtung 2 mittels eines Bedienfeldes zugegriffen werden, ohne dass das Zugriffsticket vorhanden sein muss.
  • Mit dem Hauptcomputer 10 ist das Web-Benutzerinterface 21 verbunden, das das Zugriffsticket besitzen darf und Funktionalität für die Bedienung des Druckgerät 1 bzw. der Steuervorrichtung 2 über die Browser 23 zur Verfügung stellt. Da es mehrere an das Web-Benutzerinterface 21 angebundene Browser 23 gibt, die in Sitzungen jeweils ein oder mehrere Bedienfelder darstellen können, ist, um Konflikte zu vermeiden ein „Sitzungsticket“ vorgesehen.
  • Das Sitzungsticket wird ausschließlich vom Web-Benutzerinterface 21 vergeben und kann nur einem Browser 23 der Computer 14, 15, 17, in einer Sitzung zugeordnet sein und ist an die jeweilige Sitzung, in der der Browser 23 ausgeführt wird, gebunden.
  • Das Web-Benutzerinterface 21 erhält das Zugriffsticket nur, wenn dieses über einen Browser 23 angefordert wird. Erhält das Web-Benutzerinterface 21 das Zugriffsticket, dann erhält der anfordernde Browser 23 ein Sitzungsticket. Damit ist eindeutig ein Browser 23 identifiziert, der über das Web-Benutzerinterface 21 das Druckgerät 1 bzw. die Steuervorrichtung 2 einstellen bzw. bedienen kann. Solange das Web-Benutzerinterface 21 das Zugriffsticket besitzt, kann einer der Browser 23 ein Sitzungsticket besitzen und das Sitzungsticket kann einem Browser 23 entzogen und einem anderen Browser 23 zugeordnet werden. Zur Vermeidung von Konflikten zwischen Bedienfeldern auf unterschiedlichen Browsern wird somit eine hierarchisch strukturierte Ticketverwaltung mit dem untergeordneten Sitzungsticket und dem übergeordneten Zugriffsticket bereitgestellt. Dass dem Web-Benutzerinterface 21 das Zugriffsticket zugeordnet ist, ist Voraussetzung dafür, dass das Sitzungsticket vergeben werden kann. Die einzige Ausnahme hiervon ist, dass sich das Druckgerät 1 im Stand-by-Modus befindet, in dem kein Zugriffsticket vergeben wird, sondern nur ein Sitzungsticket.
  • Browser können eine Darstellung mit mehreren Fenstern bzw. Registerkarten (engl.: tabs) innerhalb des Browsers aufweisen. Dieses stellt ein Problem dar, da zwar die Websockets 24, 25 und nach der Initialisierung, d.h. nach dem ersten Anzeigen der Bedienfelds, auch die Sitzung und somit der Browser 23 identifizierbar sind, aber ein im Browser 23 geöffnetes einzelnes Fenster nicht. Um dieses Problem zu lösen, wird dem einzelnen Fenster jeweils eine eindeutige Fenster-ID zugeordnet. Hierbei wird dann das Sitzungsticket dem Fenster der Sitzung zugeordnet.
  • Nachfolgend wird ein Verfahren erläutert, mit dem einem Fenster eines Browsers 23 eine eindeutige Fenster-ID zugeordnet wird (18).
  • Das Verfahren beginnt in Schritt S51. Im Schritt S52 wird überprüft, ob der Nutzer mit seinem Browser 23 aus einem Fenster heraus eine vom Web-Benutzerinterface 21 generierte Einstiegswebseite in das Bedienfeld aufgerufen hat. Die Einstiegswebseite ist die erste Webseite, die aufzurufen ist, um den Browser 23 mit dem Web-Benutzerinterface 21 zu verbinden. Ein Aufrufen der Einstiegswebseite erfolgt durch Eingeben einer vorbestimmten Netzwerkadresse in eine Adresszeile des Browsers 23, z.B. in Form einer URL (engl.: uniform resource locator) oder IP-Adresse. Auf der Einstiegswebseite kann die Authentifizierung des Nutzers in Form eines Benutzerlogins durchgeführt werden. Mit dem Aufrufen der Einstiegswebseite werden auch die Websockets 24, 25 initialisiert.
  • Ist im Schritt S52 festgestellt worden, dass die Einstiegswebseite aufgerufen wurde, dann übermittelt das Web-Benutzerinterface 21 die aufgerufene Webseite, d.h. die Einstiegswebseite, als Auszeichnungssprachen-Datei mit dem eingebetteten Programmcode 48, der von dem (Script-)Programmiersprachenmodul 59 ausgeführt wird. Im Ausführungsbeispiel ist dieser eingebettete Programmcode 48 ein Java-Code (Schritt S53).
  • Dann folgt Schritt S54, in dem der Browser 23 des Nutzers die übermittelte Einstiegswebseite empfängt, darstellt und den eingebetteten Programmcode 48 ausführt.
  • Danach wird Schritt S55 ausgeführt, in dem überprüft wird, ob der Code innerhalb der Sitzung zum ersten Mal ausgeführt wird. Dieses kann bspw. durch einen Zugriff auf ein dafür vorgesehenes Datenobjekt im Browser 23 erfolgen, wobei das Datenobjekt erst nach einem ersten Zugriff initialisiert wird. Dies hat zur Folge, dass beim ersten Zugriff auf das Datenobjekt ein Fehler ausgelöst wird, der aufgenommen und ausgewertet wird. Bei jedem weiteren Zugriff wird kein Fehler generiert. Das Datenobjekt wird im Browser 23 erst entfernt, wenn der Browser 23 geschlossen wird.
  • Falls der Code das erste Mal ausgeführt wird, folgt Schritt S56, in dem die Nutzerauthentifizierung durchgeführt wird. Sämtlichen autorisierten Nutzern sind zumindest eine Benutzerkennung bzw. Benutzer-ID, ein zugehöriges Passwort oder ein anderes Authentifizierungsmittel, wie z.B. ein auf einer Chipkarte gespeicherter Code, biometrische Eigenschaften etc., und eine Benutzerrolle bzw. Benutzergruppe zugewiesen. Die Benutzerrolle bzw. Benutzergruppe ist mit Benutzerrechten, die definieren, welche Aktionen dem Benutzer erlaubt sind und welche nicht, versehen. Der Hauptcomputer 10 kann unterschiedliche Benutzerrollen und/oder Benutzergruppen mit unterschiedlichen Benutzerrechten für die Zuordnung zu einem Benutzer vorhalten. Diese Informationen sind am Hauptcomputer 10 in einer oder mehreren Benutzertabellen gespeichert. Die Benutzertabelle(n) umfasst/umfassen dabei Informationen, die mit dem Benutzer, dessen Rechten und dessen Authentifikation verknüpft sind, wie bspw. Benutzer-ID, Benutzername, Benutzerkennung, Passwort, Benutzerrolle bzw. Benutzergruppe, Benutzerrechte. Auf diese Benutzertabelle(n) können die Bedienfeld-Modulbibliothek 20 und/oder das Web-Benutzerinterface 21 zugreifen. Die Nutzerauthentifizierung geschieht, indem der Nutzer in die Einstiegswebseite des Bedienfelds im Browser 23 seine Benutzerkennung und das zugehörige Passwort eingibt. Das Web-Benutzerinterface 21 empfängt und überprüft diese Eingabe anhand der Informationen, die in der/den Benutzertabellen gespeichert sind. Gibt der Nutzer seine Benutzerkennung mit dem korrekten Passwort ein, d.h. ist der Nutzer autorisiert, dann ordnet das Web-Benutzerinterface 21 dem Benutzer die vorbestimmte Benutzerrolle und damit die vorbestimmten Benutzerrechte zu, indem es diese Information aus der/den gespeicherten Benutzertabelle(n) bestimmt.
  • Danach folgt Schritt S57, in dem die Sitzungs-ID ausgehandelt, bzw. für die Sitzung eindeutig festgelegt wird. Falls in Zukunft eine Kommunikation durchgeführt wird, kann über die Sitzungs-ID die Sitzung und somit der Browser 23 eindeutig identifiziert werden. Hierbei wird die Sitzungs-ID im Web-Benutzerinterface 21 mit dem Benutzernamen bzw. der Benutzer-ID zusammen verknüpft gespeichert. Dieses ermöglicht dem Web-Benutzerinterface 21 eine Sitzung einem Benutzer zuzuordnen, um auf diesem Wege auf die Benutzerrolle bzw. Benutzerrechte der Sitzung schließen zu können.
  • Dann folgt Schritt S58, in dem der in der Webseite eingebettete Code die ausgehandelte Sitzungs-ID liest, diese mit der Aufforderung, eine eindeutige Fenster-ID zu generieren, an das Web-Benutzerinterface 21 sendet, die eindeutige Fenster-ID, die vom Web-Benutzerinterface 21 generiert wurde, empfängt und in einem an das Fenster gebundenen Speicherbereich speichert. Dieser Speicherbereich kann beispielsweise ein unsichtbares Anzeigeobjekt in der im Fenster geöffneten Webseite sein. Bei sämtlicher zukünftiger Kommunikation, deren Kommunikationskanal bzw. Websocket über die Sitzungs-ID referenziert wird, wird die Fenster-ID mitgesendet. Dadurch erkennt das Web-Benutzerinterface 21 genauso wie der in der Webseite eingebettete Code auf den Computern 14, 15, 17, für welches Fenster bzw. von welchem Fenster des Browsers 23 die übermittelten Informationen sind. Hierbei wird die Fenster-ID, ebenso wie oben für die Sitzungs-ID erläutert, im Web-Benutzerinterface 21 mit dem Benutzernamen bzw. der Benutzer-ID verknüpft gespeichert, sodass das Web-Benutzerinterface 21 über die Fenster-ID den Benutzer des Fensters der Sitzung und somit dessen Benutzerrolle bzw. Benutzerrechte ermitteln kann.
  • Danach folgt Schritt S59, in dem überprüft wird, ob der Betrieb fortzusetzen ist. Ist der Betrieb nicht fortzusetzen, so folgt Schritt S60, in dem das Verfahren endet. Falls jedoch der Betrieb fortzusetzen ist, geht der Verfahrensablauf nach der Ausführung des Schritts S59 auf den Schritt S52 über.
  • Falls im Schritt S55 festgestellt wird, dass der Code nicht das erste Mal ausgeführt wird, dann geht der Verfahrensablauf direkt auf den Schritt S58 über.
  • Mit dem oben erläuterten Verfahren zur Zuordnung einer eindeutige Fenster-ID zu einem Fenster eines Browsers 23 wird sichergestellt, dass ein Fenster in einer Webseite, die in einer Sitzung auf den Computern 14, 15, 17 dargestellt wird, eine eindeutige Fenster-ID erhält. Mithilfe der eindeutigen Fenster-ID ist es möglich, ein Sitzungsticket eindeutig einem Fenster eines Browsers 23 zuzuordnen. Zusätzlich werden Informationen darüber gespeichert, welcher Benutzer in welchem Fenster einer Sitzung am System angemeldet ist.
  • Bei der Verwendung von Fenstern in Browsern 23 ergibt sich das Problem, dass, falls ein Fenster geschlossen wird oder nicht mehr reaktionsfähig ist, d.h. z.B. der eingebettete Code abgestürzt ist, wobei dem Fenster auch das Sitzungsticket in diesem Moment zugeordnet sein kann, das Web-Benutzerinterface 21 darüber informiert werden muss, dass das jeweilige Fenster mit der eindeutigen Fenster-ID nicht mehr vorhanden ist.
  • Dieses Problem wird dadurch gelöst, dass das Web-Benutzerinterface 21 anhand der zuvor in der Referenztabelle gespeicherten eindeutigen Fenster-IDs zyklisch überprüft, ob die Fenster noch geöffnet und reaktionsfähig sind. Dazu sendet das Web-Benutzerinterface 21 an den eingebetteten Programmcode 48 sämtlicher Fenster der Browser 23, die in allen Browsern 23 in allen Sitzungen dem Web-Benutzerinterface 21 bekannt sind, eine Aufforderung, sich zu melden (Ping). Das Web-Benutzerinterface 21 erwartet als Antwort ein Echo von dem eingebetteten Programmcode 48, der in dem jeweiligen Fenster des Browsers 23 ausgeführt wird, mit der eindeutigen Fenster-ID des Fensters. Bleibt diese Antwort mit der eindeutigen Fenster-ID nach einer vorbestimmten Wartezeit aus, so entfernt das Web-Benutzerinterface 21 diese eindeutige Fenster-ID aus der Referenztabelle. Dadurch ist sichergestellt, dass Fenster, die geschlossen werden oder nicht mehr reaktionsfähig sind, aus der Referenztabelle entfernt werden.
  • Hat ein Fenster, das nicht mehr geöffnet oder reaktionsfähig ist, ein Sitzungsticket besessen, kann das Web-Benutzerinterface 21 entscheiden, wie weiter zu verfahren ist. Dafür gibt es mehrere Möglichkeiten, die nachfolgend erläutert werden:
    1. 1. Das nun freigewordene Sitzungsticket wird automatisch an einen anderes Fenster des gleichen Browsers 23 vergeben, der das Sitzungsticket vorher hatte, falls der Browser 23 in der entsprechenden Sitzung aktiv ist und ein Bedienfeld für das Druckgerät 1 oder die Steuervorrichtung 2 darstellt (gleicher Nutzer, gleiche Sitzung, gleicher Browser 23).
    2. 2. Das nun freigewordene Sitzungsticket wird an einen anderen Browser 23 des Benutzers vergeben, der das Sitzungsticket vorher hatte, falls ein anderer Browser 23 innerhalb der entsprechenden Sitzung aktiv ist und ein Bedienfeld darstellt (gleicher Nutzer, gleiche Sitzung, anderer Browser 23).
    3. 3. Das nun freigewordene Sitzungsticket wird an einen anderen Browser 23 des gleichen Benutzers vergeben, der das Sitzungsticket hatte, wobei der Browser 23 in einer anderen Sitzung läuft, falls ein solcher Browser 23 in einer anderen Sitzung aktiv ist und ein Bedienfeld darstellt (gleicher Nutzer, andere Sitzung, anderer Browser 23).
    4. 4. Das nun freigewordene Sitzungsticket wird an einen anderen Nutzer vergeben, der gegebenenfalls nach einer Nutzerpriorität ausgewählt wird. Die Nutzer werden z.B. danach priorisiert, wann sie eine Anfrage nach einem Sitzungsticket abgesendet haben, wobei die jüngste oder älteste Anfrage die höhere Priorität haben kann (anderer Nutzer, andere Sitzung, anderer Browser 23).
    5. 5. Das nun freigewordene Sitzungsticket wird in einen Wartebereich bzw. einen Wartepool für eine erneute Anforderung des Sitzungstickets gegeben und somit an das Web-Benutzerinterface 21 zurückgegeben.
  • Wird ein Browser verwendet, der nur ein einziges Fenster zulässt, dann sind keine Fenster-IDs notwendig. Dann kann an Stelle der Fenster-ID die Sitzungs-ID zyklisch überwacht werden, wobei bei einem nicht mehr geöffneten Browser oder nicht mehr reaktionsfähigen Browser das Sitzungsticket gleichermaßen, wie es oben beschrieben ist, vergeben bzw. zurückgehalten wird.
  • Der Zugriff auf das Druckgerät 1 oder die Steuervorrichtung 2 geschieht, wie oben bereits erläutert, von einem Browser, der auf einem der Computer 14, 15, 17 ausführbar ist, auf das Web-Benutzerinterface 21 über Datenverbindungen, d. h. gleichzeitig von verschiedenen Computern 14, 15, 17 und von unterschiedlichen Benutzern. Hierbei ist darauf zu achten, dass nachfolgend erläuterte Sicherheitsregeln eingehalten werden, die bei vom Clientcomputer 14, 15, 17 übermittelten Aktions-Anforderungen (engl.: request) an den Hauptcomputer 10 geprüft werden:
    • - Aktions-Anforderung nur von autorisierten Personen bzw. Geräten,
    • - Aktions-Anforderung nur von Personen bzw. Geräten, die über hinreichende Zugriffsrechte verfügen,
    • - Aktions-Anforderung nur falls der jeweilige Browser 23 ein für die Ausführung der Aktions-Anforderung geeignetes Anzeigeobjekt darstellt und
    • - Aktions-Anforderung nur wenn der Druckerstatus dieses erlaubt.
  • Die Prüfung der Aktions-Anforderung von autorisierten Personen bzw. Geräten bedeutet, dass eine in der Aktions-Anforderung enthaltene Identifikation der Person bzw. des Gerätes dahingehend überprüft wird, ob die Person und/oder das Gerät vorab ordnungsgemäß am Hauptcomputer 10 autorisiert worden ist. Wenn eine solche geforderte Autorisierung nicht vorliegt, dann wird die Aktions-Anforderung zurückgewiesen.
  • Weiterhin kann geprüft werden, ob die Aktions-Anforderung nur von Personen bzw. Geräten stammt, die über hinreichende Zugriffsrechte verfügen. Hierbei werden die in der Aktions-Anforderung aufgeführten Personen bzw. Geräte ausgelesen und die in ihrer jeweiligen Rolle hinterlegten Zugriffsrechte abgefragt. Aktions-Anforderungen, die nicht von den Zugriffsrechten gedeckt sind, werden zurückgewiesen.
  • Die autorisierten Geräte und/oder die Geräte, die über hinreichende Zugriffsrechte verfügen, umfassen insbesondere die Servicecomputer 15, 17. Dadurch wird sichergestellt, dass Aktions-Anforderungen, die sicherheitskritisch sind, nur von den Servicecomputern 15, 17 aus möglich sind, und sicherheitskritische Aktions-Anforderungen, die von den Bedienfeldcomputern 14 stammen, zurückgewiesen werden. Sicherheitskritische Aktions-Anforderungen werden Anforderungen von Aktionen genannt, die die Sicherheit des Drucksystems, sowohl der Hardware als auch der ausführbaren Software, und/oder der daran arbeitenden Personen beeinträchtigen.
  • Durch die Überprüfung der Autorisation und/oder der hinreichenden Zugriffsrechte der Personen, die sicherheitskritische Aktions-Anforderungen auslösen, wird sichergestellt, dass nur die Aktions-Anforderungen berechtigter Personen ausgeführt werden, wobei sicherheitskritische Aktions-Anforderungen nicht berechtigter Personen zurückgewiesen werden.
  • Es kann auch überprüft werden ob die Aktions-Anforderung von einem Anzeigeobjekt stammt, das tatsächlich in dem jeweiligen Browser 23 dargestellt wird. In der Referenztabelle sind die Anzeigeobjekte mit der Zuordnung zu den jeweiligen Browsern bzw. Sitzungen hinterlegt. In der Aktions-Anforderung ist die Anzeigeobjekt-ID enthalten. Diese wird dahingehend überprüft, ob sie dem entsprechenden Browser 23 bzw. der entsprechenden Sitzung und dem Fenster zugeordnet ist. Falls dies nicht der Fall ist, dann bedeutet dies, dass das Anzeigeobjekt nicht dargestellt und die Aktions-Anforderung nicht berechtigt ist.
  • Weiterhin kann überprüft werden, ob die Aktions-Anforderung im Hinblick auf den aktuellen Druckerstatus möglich ist. In Abhängigkeit vom Druckerstatus können bestimmte Aktionen nicht erlaubt sein, wie z.B. das Starten des Papiertransportes, wenn das Gehäuse für Servicearbeiten geöffnet ist.
  • Vorzugsweise werden alle diese unterschiedlichen Überprüfungen bei einer jeden Aktions-Anforderung, die von einem der Client-Computer 14, 15, 17 an den Hauptcomputer 10 übermittelt wird, durchgeführt. Grundsätzlich ist es jedoch auch möglich, lediglich eine oder mehrere der Sicherheitsregeln zu prüfen. Wird bei einer Überprüfung eine Verletzung einer der Sicherheitsregeln festgestellt, dann wird die entsprechende Aktion blockiert.
  • Mithilfe dieses mehrstufigen Sicherheitskonzepts werden zugleich Manipulationen, die an den Webseiten bzw. Auszeichnungssprachen-Dateien, die vom Web-Benutzerinterface 21 des Hauptcomputers 10 an den jeweiligen Browser 23 übermittelt werden, verhindert, da bei jeder erfolgenden Aktions-Anforderung die oben aufgeführten Sicherheitsregeln überprüft werden. Insbesondere werden manipulative Änderungen am Programmcode 48 der im Cache eines jeden Browsers 23 gespeicherten Webseiten bzw. Auszeichnungssprachen-Dateien erkannt, da das Web-Benutzerinterface 21 jederzeit über die im jeweiligen Browser 23 dargestellten Anzeigeobjekte informiert ist und somit überprüfen kann, ob eine Aktions-Anforderung überhaupt plausibel ist.
  • Nachfolgend wird ein Verfahren zum Überprüfen einer Aktions-Anforderung hinsichtlich der Systemsicherheit erläutert, das das oben aufgeführte Sicherheitskonzept umsetzt (19).
  • Das Verfahren beginnt in Schritt S71. Im Schritt S72 wird überprüft, ob das Web-Benutzerinterface 21 eine Aktions-Anforderung eines der Browser 23 erhalten hat. Hierbei umfasst eine Aktions-Anforderung z.B. einen Steuerbefehl für das Druckgerät 1 oder die Steuervorrichtung 2, einen Befehl, einen Wert zu ändern oder einen Befehl, um Daten zu lesen, wobei diese Daten des Druckgeräts 1, der Steuervorrichtung 2 oder des Web-Benutzerinterfaces 21, insbesondere Webseiten bzw. Auszeichnungssprachen-Dateien, umfassen. Eine von einem der Browser 23 gesendete Aktions-Anforderung enthält die Sitzungs-ID des sendenden Browsers 23, die Fenster-ID der jeweiligen Sitzung, die dem Fenster, aus dem heraus die Aktions-Anforderung gesendet wird, zugeordnet ist, das Anzeigeobjekt, über das die Aktions-Anforderung ausgelöst wurde, einen Befehlscode und weitere Parameter, wie z.B. Werte, in Verbindung mit der Aktions-Anforderung stehende Datenobjekte etc.
  • Hat das Web-Benutzerinterface 21 eine Aktions-Anforderung erhalten, dann folgt die Ausführung des Schritts S73, in dem überprüft wird, ob der Benutzer des Browsers 23 für die Aktions-Anforderung autorisiert ist. Diese Überprüfung geschieht mithilfe der Referenztabelle und der Benutzertabelle(n), die oben bereits erläutert sind. In der Referenztabelle ist der jeweiligen Sitzungs-ID eines der Browser 23 und der Fenster-ID der jeweiligen Sitzung eine Benutzer-ID zugeordnet, über die der Benutzer des Browsers 23 referenziert ist. Der Benutzer-ID ist in der/den Benutzertabelle(n) im Hauptcomputer 10 eine Benutzerrolle zugeordnet, wobei die jeweilige Benutzerrolle definiert, welche Benutzerrechte vorhanden sind. Über die in der Aktions-Anforderung übergebenen Parameter, Sitzungs-ID und Fenster-ID, ermittelt das Web-Benutzerinterface 21 aus der Referenztabelle die Benutzer-ID. Anhand der Benutzer-ID ermittelt das Web-Benutzerinterface 21 aus der/den Benutzertabelle(n) die Benutzerrolle und mit Hilfe der Benutzerrolle die Benutzerrechte, d.h. ob der Benutzer für die Aktions-Anforderung autorisiert ist.
  • Ist dieses der Fall, dann folgt die Ausführung des Schritts S74, in dem anhand der Referenztabelle überprüft wird, ob das Initiieren der Aktions-Anforderung im Browser 23 über eines der dargestellten Anzeigeobjekte möglich ist. Die Referenztabelle wird vom Web-Benutzerinterface 21 immer dann aktualisiert, wenn ein GUI-Änderungsevent aufgetreten ist, wie oben bereits erläutert. Mithilfe der Referenztabelle stellt das Web-Benutzerinterface 21 fest, welche Anzeigeobjekte in dem jeweiligen Fenster des Browsers 23 aktuell angezeigt werden und somit bedienbar sind. Somit kann das Web-Benutzerinterface 21 überprüfen, ob das Initiieren der Aktions-Anforderung im Fenster des Browsers 23 möglich ist oder nicht.
  • Ist das Initiieren der Aktions-Anforderung im Browser 23 möglich, dann geht der Verfahrensablauf auf die Ausführung des Schritts S75 über, in dem die Bedienfeld-Modulbibliothek 20 überprüft, ob die Ausführung der Aktions-Anforderung bezüglich des Druckerstatus erlaubt ist oder nicht. Diese Überprüfung dient insbesondere dazu, die Ausführung einer Aktions-Anforderung zu verhindern, die zu einer gefährlichen Situationen für Personal, das am Druckgerät 1 oder an der Steuervorrichtung 2 arbeitet, und/oder für das Druckgerät 1 oder die Steuervorrichtung 2 führt. Beispielsweise dürfen der Abwickler 6 und/oder der Aufwickler 7 nicht in Betrieb gesetzt werden, wenn die Papierrolle gewechselt wird. Ein weiteres Beispiel ist eine Reparatur durch eine Reparaturfachkraft im Inneren des Druckgeräts 1, bei der es für die Reparaturfachkraft gefährlich wäre, elektrische Motoren, die dem Transport des Aufzeichnungsträgers dienen, in Betrieb zu setzen.
  • Wird im Schritt S75 festgestellt, dass die Ausführung der Aktions-Anforderung bezüglich des Druckerstatus erlaubt ist, dann folgt Schritt S76, in dem die Aktions-Anforderung ausgeführt wird.
  • Dann wird der Verfahrensablauf mit der Ausführung des Schrittes S77 fortgesetzt, in dem das Web-Benutzerinterface 21 das Bedienfeld bzw. deren Anzeigeobjekte und/oder angezeigten Werte des Browsers 23, von dem aus die Aktions-Anforderung erteilt wurde, derart ansteuert, dass dem Benutzer die Ausführung der Aktions-Anforderung rückgemeldet wird, indem dieses auf dem Bedienfeld angezeigt wird. In diesem Schritt können auch Bedienfelder anderer Browser 23, die z.B. für die Ausführung der Aktions-Anforderung relevante Anzeigeobjekte darstellen, aktualisiert werden.
  • Dann folgt die Ausführung von Schritt S78, in dem überprüft wird, ob der Betrieb fortzusetzen ist. Ist der Betrieb nicht fortzusetzen, dann folgt Schritt S79, in dem das Verfahren endet. Falls jedoch der Betrieb fortzusetzen ist, geht der Verfahrensablauf nach der Ausführung des Schritts S78 auf den Schritt S72 über.
  • Ist im Schritt S72 festgestellt worden, dass keine Aktions-Anforderung erhalten wurde, dann geht der Verfahrensablauf direkt auf den Schritt S78 über.
  • Ist im Schritt S73 festgestellt worden, dass der Benutzer nicht für die Aktions-Anforderung autorisiert ist oder im Schritt S74 festgestellt worden, dass das Initiieren der Aktions-Anforderung im Browser nicht möglich ist, oder im Schritt S75 festgestellt worden, dass die Ausführung der Aktions-Anforderung bezüglich des Druckerstatus nicht erlaubt ist, dann geht der Verfahrensablauf auf den Schritt S77 über, in dem als Rückmeldung eine Fehlermeldung erzeugt wird, die an den Computer 14, 15, 17, der die Aktions-Anforderung übermittelt hat, zum Anzeigen gesendet wird. In diesem Schritt können auch Bedienfelder anderer Browser 23, die z.B. für die Ablehnung der Aktions-Anforderung relevante Anzeigeobjekte darstellen, aktualisiert werden.
  • Mit dem oben erläuterten Verfahren zum Überprüfen einer Aktions-Anforderung hinsichtlich der Systemsicherheit überprüft das Web-Benutzerinterface 21, ob der Benutzer für eine Aktions-Anforderung autorisiert ist, ob das Initiieren der Aktions-Anforderung im Browser 23 über eines der dargestellten Anzeigeobjekte möglich ist und ob die Ausführung der Aktions-Anforderung bezüglich des Druckerstatus erlaubt ist. Im vorliegenden Ausführungsbeispiel wird, nur wenn alle die überprüften Kriterien zutreffen, die übermittelte Aktions-Anforderung ausgeführt. Trifft nur eines der überprüften Kriterien nicht zu, dann wird die Ausführung der Aktions-Anforderung blockiert. Zusätzlich ermöglicht das Verfahren die Aktualisierung der Benutzeroberflächen von Browsern 23, die von der Ausführung der Aktions-Anforderung oder deren Blockierung betroffen sind, insbesondere des Browsers 23, über den die Aktions-Anforderung initiiert wurde.
  • Bei der Entwicklung von Hochleistungsdigitaldruckern kommen verschiedene Software-Testwerkzeuge zum Einsatz, die vom entwickelnden Unternehmen bereitgestellt werden. Diese Software-Testwerkzeuge werden teilweise vom entwickelnden Unternehmen selbst erstellt. Die Software-Testwerkzeuge können dazu ausgebildet sein, Aktions-Anforderungen an das Druckgerät 1 und/oder die Steuervorrichtung 2 zu stellen, z.B. zum Ausführen von Aktionen oder zum Einstellen von Parametern. Weiter können Parameterwerte von Datenquellen durch die Software-Testwerkzeuge gelesen und angezeigt werden, wie z.B. Temperaturwerte eines Temperaturfühlers. In der Regel müssen ab einem bestimmten Stand der Entwicklung des Druckgeräts diese Software-Testwerkzeuge oder Teile davon in den Entwicklungsprozess der Systemsoftware des Drucksystems eingeführt werden, d.h. dass die Software-Testwerkzeuge in die Bedienfeld-Modulbibliothek 20 und/oder in das Servicemodul 69 übernommen werden, um diese auf korrekte Funktion testen zu können.
  • Hierbei ergibt sich das Problem, dass eine solche Übernahme in die Systemsoftware Schwierigkeiten erzeugt, weil
    • - oftmals die Software-Testwerkzeuge und die Systemsoftware des Drucksystems mit bzw. in unterschiedlichen Programmiersprachen erstellt sind,
    • - die Software-Testwerkzeuge und die Systemsoftware des Druckgeräts unterschiedliche Schnittstellen zum Drucksystem verwenden,
    • - die Bedienbarkeit der Software-Testwerkzeuge nicht an die Richtlinien der Systemsoftware des Druckersystems angepasst ist, z.B. bezüglich des Designs der Benutzeroberfläche, des Komponentenverhaltens, der Sprache etc. und/oder
    • - die oben erläuterten Sicherheitsregeln (teilweise) umgangen werden können, da nicht die standardisierten Schnittstellen genutzt werden.
  • Daher müssen in der Regel, um die Übernahme der durch die Software-Testwerkzeuge bereitgestellten Funktionalitäten in die Systemsoftware des Drucksystems zu ermöglichen, die Softwareroutinen und/oder die Benutzeroberfläche an die Anforderungen angepasst bzw. gemäß den Anforderungen erneut erstellt werden.
  • Um dieses Problem zu lösen, wird ein Verfahren zur Einbindung externer Testmenüs bereitgestellt. Hierbei werden Testmenüs je nach Bedarf, auch während die Systemsoftware des Drucksystems ausgeführt wird, nachinstalliert, verändert bzw. angepasst oder entfernt. Testmenüs sind Menüs, welche im Rahmen der Software-Entwicklung von verschiedenen Abteilungen eines entwickelnden Unternehmens erstellt werden. Der Begriff „extern“ bedeutet, dass die Ressourcen, die die Testmenüs bereitstellen, nicht Bestandteil der Systemsoftware des Drucksystems sind. Die Testmenüs werden auf der Basis des Frameworks 47 erstellt.
  • Nachfolgend wird ein Verfahren zur automatischen Einbindung von Testmenüs in die Systemsoftware des Drucksystems erläutert (20).
  • Das Verfahren beginnt in Schritt S91. Im Schritt S92 wird überprüft, ob eine Testmenü-Beschreibungsdatei am Hauptcomputer 10 vorhanden ist, z.B. weil sie dort erstellt wurde oder auf einen am Hauptcomputer 10 angeschlossenen Datenträger kopiert wurde. Hierbei wird die Testmenü-Beschreibungsdatei in einem vorbestimmten Speicherbereich, z.B. in einem Datenverzeichnis eines Speichermediums, abgelegt. Alternativ kann der Speicherbereich für jeden Browser 22, 23, für jedes Fenster eines Browsers 22, 23, für jede Sitzung, in der ein Browser 22, 23 ausgeführt wird, für jeden Nutzer und/oder für jeden der Computer 14, 15, 17 vorbestimmt sein, z.B. indem einem bestimmten Browser, einem bestimmten Fenster eines Browsers, einer Sitzung, einem Nutzer und/oder einem Computer 14, 15, 17 ein Datenverzeichnis des Speichermediums zugeordnet ist.
  • Die Testmenü-Beschreibungsdatei enthält Einträge, die den Aufbau eines oder mehrerer Testmenüs beschreiben. Die Testmenü-Einträge umfassen dabei eine Testmenü-ID und/oder einen Testmenünamen und den Namen und/oder die ID eines Menüeintrags des Bedienfelds, an den das Testmenü anzuhängen ist, d.h. einen Einhängepunkt, sowie die Menüeinträge des Testmenüs und die damit verknüpften Softwarekomponenten und/oder Ressourcen. Ein Testmenü-Eintrag beschreibt den Aufbau eines kompletten Testmenüs. In der Testmenü-Beschreibungsdatei ist die Beschreibung für ein oder mehrere Testmenü(s) enthalten, d.h. die Testmenü-Beschreibungsdatei umfasst ein oder mehrere Testmenü-Einträge. Der Aufbau der Testmenü-Beschreibungsdatei ist dabei gemäß den Regeln und Methoden, die das Framework 47 definiert, bzw. gemäß den Methoden, Funktionen, Klassen, Strukturen und/oder Erweiterungen, die der Programmcode 48 definiert, gestaltet.
  • Ist eine Testmenü-Beschreibungsdatei vorhanden, so wird Schritt S93 ausgeführt, in dem alle angezeigten Testmenüs aus der Menüstruktur entfernt werden. Die Menüstruktur ist eine Datenstruktur am Hauptcomputer 10, die den Menüaufbau repräsentiert. Vorzugsweise ist eine solche Menüstruktur in einer Tabelle oder in mehreren Tabellen, deren Einträge Beziehungen zueinander aufweisen, gespeichert. Sie kann jedoch auch in einer anderen geeigneten Datenstruktur gespeichert sein, wie z.B. als verkettete Liste, in einer Baumstruktur etc.
  • Dann folgt der Schritt S94, in dem ein (erster) Testmenü-Eintrag aus der Testmenü-Beschreibungsdatei eingelesen wird. Wird der Schritt S94 nach dem Schritt S93 ausgeführt, dann wird ein erster Eintrag eines Testmenüs aus der Testmenü-Beschreibungsdatei eingelesen. Ist jedoch der Ausführung des Schritts S94 die Ausführung eines anderen Schritts vorausgegangen, so ist dieses weiter unten erläutert.
  • Danach folgt die Ausführung des Schritts S95, in dem das im Schritt S94 gelesene Testmenü mit seinen Komponenten gemäß dem Testmenü-Eintrag erzeugt und in die bestehende Menüstruktur eingebunden wird. Hierbei wird das Testmenü an dem in der Testmenü-Beschreibungsdatei spezifizierten Einhängepunkt an die bestehende Menüstruktur angehängt bzw. am Einhängepunkt mit der bestehenden Menüstruktur verbunden.
  • Dann geht der Verfahrensablauf auf den Schritt S96 über, in dem überprüft wird, ob ein weiterer Testmenü-Eintrag in der Testmenü-Beschreibungsdatei vorhanden ist. Ist ein weiterer Testmenü-Eintrag vorhanden, dann wird erneut der Schritt S94 ausgeführt. Hierbei wird im Schritt S94 der nächste Testmenü-Eintrag aus der Testmenü-Beschreibungsdatei eingelesen. Ist jedoch ein weiterer Testmenü-Eintrag nicht vorhanden, dann folgt die Ausführung des Schritts S97, in dem die Anzeige aktualisiert wird. Beim Aktualisieren der Anzeige wird die Menüstruktur vollständig gelesen und in die Bedienfeldstruktur eingefügt, die vom Web-Benutzerinterface 21 entgegen genommen und in eine Bedienfelddatei umgesetzt wird, wie bereits oben erläutert. Hierdurch wird die Menüstruktur Teil der Bedienfelddatei, die in der vorbestimmten Auszeichnungssprache an den entsprechenden Browser 22, 23 zum Anzeigen des Bedienfelds übermittelt wird.
  • Dann wird Schritt S98 ausgeführt, in dem ein Timer initialisiert wird, der einer Sitzung, in der der Browser 22, 23 ausgeführt wird, und falls vorhanden dem entsprechenden Fenster des Browsers 22, 23, zugeordnet ist. Mit der Initialisierung wird der Timer auf einen Wert gesetzt, der einem Zeitabschnitt entspricht, der zu warten ist, bevor erneut geprüft wird, ob eine Testmenü-Beschreibungsdatei vorhanden ist. Der Wert der Wartezeit kann hierbei zwischen 1 ms und 1 min liegen. Beispielsweise wird der Timer mit einem Wert, der 1 s entspricht, geladen.
  • Danach wird der Timer freigegeben und läuft los (Schritt S99) .
  • Im darauffolgenden Schritt S100 wird auf einen Timerinterrupt gewartet, der vom Timer nach Ablauf des Zeitabschnitts von z.B. 1 s ausgelöst wird. Das Warten im Schritt S100 ist derart ausgeführt, dass am Hauptcomputer 10 parallel andere Prozesse ausgeführt werden können.
  • Ist der Timerinterrupt aufgetreten, dann wird Schritt S101 ausgeführt, in dem überprüft wird, ob der Betrieb fortzusetzen ist. Ist der Betrieb nicht fortzusetzen, dann folgt Schritt S102, in dem das Verfahren endet. Falls jedoch der Betrieb fortzusetzen ist, geht der Verfahrensablauf nach der Ausführung des Schritts S101 auf den Schritt S92 über.
  • Wird im Schritt S92 festgestellt, dass keine Testmenü-Beschreibungsdatei vorhanden ist, dann folgt die Ausführung des Schritts S103, in dem überprüft wird, ob Testmenüs in dem Browser 22, 23 angezeigt werden. Dieses wird anhand der Einträge in der Menüstruktur, die die Testmenüs repräsentieren, überprüft.
  • Sind solche Einträge für Testmenüs in der Menüstruktur vorhanden, dann werden im Schritt S104 alle solchen Einträge aus der Menüstruktur entfernt. Dann geht der Verfahrensablauf auf den Schritt S97 über.
  • Wird jedoch im Schritt S103 festgestellt, dass keine Testmenüs angezeigt werden, d.h. in der Menüstruktur befinden sich keine Einträge, die die Testmenüs repräsentieren, dann folgt die Ausführung des Schritts S98.
  • Mit dem oben erläuterten Verfahren zum Einbinden von Testmenüs in eine Menüstruktur, die in dem vom Browser 22, 23 angezeigten Bedienfeld dargestellt wird, können ursprünglich als Software-Testwerkzeuge entwickelte Softwareroutinen ausführbar in die Systemsoftware des Drucksystems zur Laufzeit unkompliziert eingebunden werden, sodass Softwareroutinen über die angezeigte Menüstruktur aufrufbar sind. Hierdurch wird erreicht, dass
    • - die Softwareentwicklung durch einfaches und schnelles Testen von Softwareroutinen erheblich vereinfacht wird,
    • - verwendete Schnittstellen, insbesondere durch das Erstellen der Testmenüs gemäß dem Framework 47, standardisiert sind,
    • - die angezeigten Testmenüs und die über deren Menüeinträge ausführbaren Softwarekomponenten den oben erläuterten Sicherheitsregeln unterworfen sind bzw. diesen, sofern sie sicherheitskritische Aktions-Anforderungen auslösen, unterworfen werden können,
    • - die Änderung bzw. Einbindung einer Menüstruktur, da diese zentral am Hauptcomputer 10 stattfindet, für die Browser 22, 23 im Sinne eines Fernzugriffs erfolgt,
    • - die durch die Testmenüs verwendeten Ressourcen dynamisch zur Laufzeit eingebunden werden und
    • - auch Testmenüs von an der Softwareentwicklung beteiligten Partnerfirmen inklusive deren Softwareroutinen einfach einzubinden sind, falls die Programmierung der Testmenüs von Partnerfirmen gemäß der entsprechenden Programmiervorgaben, nach denen die Testmenüs zu erstellen sind, erfolgt.
  • Die Überprüfung, ob darzustellende Testmenüs vorhanden sind, wird dabei zyklisch in bestimmten Zeitabständen durchgeführt. Besonders vorteilhaft ist es, dass erstellte Softwarekomponenten in einem produktiven Drucksystem oder in einem Drucksystem, das zu Testzwecken betrieben wird, eingebunden und getestet werden können, und dass Softwarekomponenten, die später in die Systemsoftware des Drucksystems übernommen wird, bereits vorab auf korrekte Funktion getestet sind.
  • In den oben erläuterten Ausführungsbeispielen werden als Datenstrukturen Tabellen verwendet. Diese Tabellen sind Beispiele. Die Tabellen können auch anders strukturiert sein, wobei Tabellen in mehrere Tabellen aufgeteilt sind oder mehrere Tabellen zu einer gemeinsamen Tabelle zusammengefasst sind oder bestimmte Parametersätze in einer anderen Tabelle gespeichert sind. Wesentlich für die Erfindung sind die Beziehungen bzw. Relationen der bei den Ausführungsbeispielen verwendeten Parameter zueinander. Anstelle von Tabellen können auch beliebige andere Datenstrukturen, wie z.B. Datenbanken, Listen oder hierarchische Datenstrukturen, wie z.B. Baumstrukturen, hierfür verwendet werden.
  • Grundsätzlich können alle in den oben für den bzw. mit dem Browser 23 erläuterten Verfahrensschritte auch für den bzw. mit dem Browser 22 am Hauptcomputer 10 ausgeführt werden.
  • Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben eines Bedienfeldes für ein Produktionssystem, insbesondere für ein Drucksystem. Das Produktionssystem weist eine Steuervorrichtung (2) auf, die einen Hauptcomputer (10) umfasst. Der Hauptcomputer (10) ist mit einer Datenverbindung mit einem oder mehreren Client-Computern (14, 15, 17) verbunden, auf welchen ein Browser (23) ausgeführt wird. Im jeweiligen Browser (23) wird das Bedienfeld für das Produktionssystem angezeigt. Durch eine Betätigung eines Benutzers am Bedienfeld wird eine Aktions-Anforderung an ein Web-Benutzerinterface (21) ausgelöst, mit welcher eine Aktion am Hauptcomputer (10) angefordert wird. Bei jeder Aktions-Anforderung prüft das Web-Benutzerinterface (21) nach vorbestimmten Regeln, ob diese Aktion erlaubt ist und blockiert die Aktion, wenn sie nicht erlaubt ist.
  • Bezugszeichenliste
  • 1
    Druckgerät
    2
    Steuervorrichtung
    3
    Druckwerk
    4
    Druckgerätsteuerung
    5
    Druckwerksteuerung
    6
    Abwickler
    7
    Aufwickler
    8
    Druckserver
    9
    Internes LAN
    10
    Hauptcomputer
    11
    Rastercomputer
    12
    Interfacecomputer
    13
    Lichtwellenleitung
    14
    Bedienfeldcomputer
    15
    Servicecomputer
    16
    Router
    17
    Servicecomputer
    18
    Drucker-Bedienfeld-Computer
    19
    Fernsteuerungsmodul
    20
    Bedienfeld-Modulbibliothek
    21
    Web-Benutzerinterface
    22
    Browser
    23
    Browser
    24
    Web-Socket
    25
    Web-Socket
    26
    Betriebssystem
    27
    Funktionscode
    28
    Infrastrukturmanager
    29
    Web-Benutzerinterface-Datenbank
    30
    Web-Benutzerinterface-Plugins
    31
    Trace-Modul
    32
    DE-Agent
    33
    RMI-Server
    34
    ORS-Agent
    35
    Trace-Agent
    36
    Webservermodul
    37
    System-Parameter-Manager
    38
    SEA-Agent
    39
    OP-Master
    40
    UIC-Agent
    41
    TR-File-Collector
    42
    Ops-PAC
    43
    RDP-Agent
    44
    Error-Agent
    45
    CDC-Agent
    46
    Webserver
    47
    Framework
    48
    Programmcode
    49
    externe Plug-Ins
    50
    externe Bibliotheken
    51
    Webserver-Dienste
    52
    Sichten
    53
    Kontrollstrukturen
    54
    IsMa-Dienst
    55
    Menüdienst
    56
    PushHelper-Dienst
    57
    RMI-Dienst
    58
    Scheduler-Dienst
    59
    (Script-)Programmiersprachenmodul
    60
    Auszeichnungssprachenmodul
    61
    Dokumentenzugriffschnittstelle
    62
    Gestaltungssprachenmodul
    63
    Druckwerksteuerungstreiber
    64
    Hauptmodul
    65
    Papiertransport-Modul
    66
    Ein Druckeinheit-Modul
    67
    SNMP-Dienst
    68
    Bedienfeld-Benutzeroberfläche
    69
    Servicemodul
    111, 111a - 111d
    Druckwerk (Vorderseite)
    112, 112a - 112d
    Druckwerk (Rückseite)
    120
    Aufzeichnungsträger
    121
    Rolle (Eingabe)
    123
    Konditionierwerk
    124
    Wendeeinheit
    125
    Registereinheit
    126
    Zugwerk
    128
    Rolle (Ausgabe)
    130
    Fixiereinheit
    140
    Klimatisierungsmodul
    150
    Energieversorgung
    170
    Flüssigkeitsmanagement
    171
    Flüssigkeitssteuereinheit
    172
    Vorratsbehälter

Claims (12)

  1. Verfahren zum Betreiben eines Bedienfeldes für ein Produktionssystem, insbesondere für ein Drucksystem, wobei das Produktionssystem eine Steuervorrichtung (2) aufweist, die einen Hauptcomputer (10) umfasst, und der Hauptcomputer (10) mit einer Datenverbindung mit einem oder mehreren Client-Computern (14, 15, 17) verbunden ist, auf welchen ein Browser (23) installiert ist und ausgeführt wird, wobei am Hauptcomputer (10) eine Bedienfeld-Modulbibliothek (20) installiert ist und ausgeführt wird, mit welcher ein Bedienfeld für das Produktionssystem erzeugt und bereitgestellt wird, das als Auszeichnungssprachen-Datei vom Hauptcomputer (10) zum jeweiligen Browser (23) übermittelt und im Browser (23) zur Darstellung des Bedienfelds ausgeführt wird, wobei die Auszeichnungssprachen-Datei mittels einem am Hauptcomputer (10) installierten und ausgeführten Web-Benutzerinterface (21) vom Hauptcomputer (10) an einen der Client-Computer (14, 15, 17) übermittelt wird, wobei eine Betätigung eines Benutzers am Bedienfeld eine Aktions-Anforderung an das Web-Benutzerinterface (21) auslöst, mit welcher eine Aktion am Hauptcomputer (10) angefordert wird, und bei jeder Aktions-Anforderung das Web-Benutzerinterface (21) nach vorbestimmten Regeln prüft, ob diese Aktion erlaubt ist und die Aktion blockiert, wenn sie nicht erlaubt ist.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Aktionen sowohl Menüaktionen, die am Web-Benutzerinterface (21) ausgeführt werden, als auch Steueraktionen, mit welchen Einstellungen am Produktionssystem verändert werden können, umfassen.
  3. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass bei jeder Aktions-Anforderung das Web-Benutzerinterface (21) prüft, ob diese Aktions-Anforderung über das im Browser (23) dargestellte Bedienfeld möglich ist und die Aktion blockiert, wenn die Aktions-Anforderung über das Bedienfeld nicht möglich ist.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Bedienfeld-Modulbibliothek (20) anhand eines Regelwerks überprüft, ob bestimmte Steueraktionen in dem jeweils aktuellen Zustand des Produktionssystems ausgeführt werden dürfen und falls dies nicht der Fall ist, dann werden diese Steueraktionen blockiert.
  5. Verfahren nach Anspruch 4, dadurch gekennzeichnet, dass die vorbestimmten Regeln des Regelwerks eine oder mehrere der folgenden Sicherheitsregeln umfasst: - Aktions-Anforderungen dürfen nur von autorisierten Personen bzw. Geräten gestellt werden; - Aktions-Anforderungen dürfen nur von Personen bzw. Geräten, die über hinreichende Zugriffsrechte verfügen, gestellt werden; - Aktions-Anforderungen dürfen nur gestellt werden, wenn der jeweilige Browser (23) ein für die Ausführung der Aktion geeignetes Anzeigeobjekt darstellt; - Aktions-Anforderungen dürfen nur gestellt werden, wenn der Produktionsgerätestatus dieses erlaubt.
  6. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass beim Überprüfen einer Aktions-Anforderung eine Identifikation des Browsers (23), des Benutzers, einer Sitzung und/oder eines Fensters, in dem das Bedienfeld ausgeführt wird, extrahiert wird, und anhand dieser Identifikation der Benutzer identifiziert wird, der die Aktions-Anfrage ausgelöst hat, wobei die dem Benutzer zugeordneten Rechte ermittelt werden und anhand dieser Rechte überprüft wird, ob die angeforderte Aktion ausgeführt werden darf.
  7. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass bei jeder Initialisierung des Bedienfelds im Browser (23) sich jeweils der Benutzer registrieren bzw. autorisieren muss, beim Überprüfen einer Aktions-Anforderung die Identifikation des Browsers, des Benutzers, der Sitzung und/oder des Fensters, in dem das Bedienfeld ausgeführt wird, extrahiert wird, und anhand dieser Identifikation der Benutzer identifiziert wird, der die Aktions-Anfrage ausgelöst hat, wobei überprüft wird, ob der Benutzer an sich ordnungsgemäß registriert bzw. autorisiert ist.
  8. Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass das Bedienfeld ein oder mehrere Anzeigeobjekte aufweist, die jeweils ein in sich abgeschlossenes Element des Bedienfelds sind, die zur Anzeige eines bestimmten Wertes eines Parameters dienen, und am Hauptcomputer (10) eine Referenztabelle vorgehalten wird, mit welcher ein Bezug zwischen einem jeden Anzeigeobjekt und einem der Browser (23) und/oder Fenster und/oder einer der Sitzungen hergestellt wird, wobei anhand der Referenztabelle überprüft wird, welche Anzeigeobjekte in dem jeweiligen Browser (23) angezeigt werden und somit bedienbar sind, und wird festgestellt, dass das Anzeigeobjekt, von dem die Aktions-Anfrage ausgeht, nicht dargestellt wird, wird die Aktion blockiert.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass eine Fehler- bzw. Warnmeldung an den Browser (23), von dem die Aktions-Anforderung initiiert worden ist, und/oder an ein anderes Bedienfeld, insbesondere eines Nutzers mit höheren Rechten als derjenige, der die Aktions-Anforderung initiiert hat, übermittelt wird.
  10. Verfahren nach einem der Ansprüche 1 bis 9, dadurch gekennzeichnet, dass das Web-Benutzerinterface (21) und der jeweilige Browser (23) mittels Web-Sockets (24, 25) kommunizieren, wobei an das Web-Benutzerinterface (21) eines der Web-Sockets (24) und an den Browser (23) ein weiteres der Web-Sockets (25) gekoppelt ist, so dass eine permanente logische Datenverbindung zwischen dem Web-Benutzerinterface (21) und dem jeweiligen Browser (23) ausgebildet ist.
  11. Steuervorrichtung für ein Produktionssystem, insbesondere für ein Drucksystem, wobei die Steuervorrichtung (2) einen Hauptcomputer (10) umfasst, und der Hauptcomputer (10) mit einer Datenverbindung mit einem oder mehreren Client-Computern (14, 15, 17) verbunden ist, auf welchen ein Browser (23) installiert und ausführbar ist, wobei am Hauptcomputer (10) eine Bedienfeld-Modulbibliothek (20) installiert und ausführbar ist, mit welcher ein Bedienfeld für das Produktionssystem erzeugt und bereitgestellt wird, das als Auszeichnungssprachen-Datei vom Hauptcomputer (10) zum jeweiligen Browser (23) übermittelt und im Browser (23) zur Darstellung eines Bedienfelds ausgeführt wird, wobei die Steuervorrichtung zur Durchführung eines Verfahrens nach einem der Ansprüche 1 bis 10 ausgebildet ist.
  12. Produktionssystem mit einer Steuervorrichtung nach Anspruch 11 und einem Produktionsgerät, insbesondere einem Druckgerät, das mit der Steuervorrichtung verbunden ist.
DE102014114586.0A 2014-10-08 2014-10-08 Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem Active DE102014114586B4 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102014114586.0A DE102014114586B4 (de) 2014-10-08 2014-10-08 Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem
JP2015200237A JP6605286B2 (ja) 2014-10-08 2015-10-08 生産システムのための操作フィールドを操作する方法並びに生産システムのための制御装置
US14/878,426 US9395943B2 (en) 2014-10-08 2015-10-08 Method to operate a control panel for a production system, as well as a control system for a production system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102014114586.0A DE102014114586B4 (de) 2014-10-08 2014-10-08 Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem

Publications (2)

Publication Number Publication Date
DE102014114586A1 DE102014114586A1 (de) 2016-04-14
DE102014114586B4 true DE102014114586B4 (de) 2020-08-20

Family

ID=55643887

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102014114586.0A Active DE102014114586B4 (de) 2014-10-08 2014-10-08 Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem

Country Status (3)

Country Link
US (1) US9395943B2 (de)
JP (1) JP6605286B2 (de)
DE (1) DE102014114586B4 (de)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020243942A1 (en) * 2019-06-06 2020-12-10 Entit Software Llc Recording test usage of graphical user interface with blocked inputs
US11856118B1 (en) * 2022-09-29 2023-12-26 The Toronto-Dominion Bank Methods for configuring server communications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997043720A1 (en) * 1996-05-14 1997-11-20 Ricoh Company, Ltd. Java printer
US20030014368A1 (en) * 2001-07-09 2003-01-16 Travelers Express Inc. Systems, methods and apparatus for secure printing of negotiable instruments
US20090313657A1 (en) * 2008-06-11 2009-12-17 At&T Intellectual Property I, L.P. System and Method for Scheduling a Remote Recording

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3614744C2 (de) 1986-04-30 1994-11-10 Koenig & Bauer Ag Vorrichtung zum Steuern einer Rotationsdruckmaschine
DE29720991U1 (de) 1997-11-27 1998-01-15 MAN Roland Druckmaschinen AG, 63075 Offenbach Rechner für eine Druckmaschine
JP2002359718A (ja) * 2001-03-02 2002-12-13 Canon Inc 画像処理装置、情報処理方法、制御プログラム
JP2002351629A (ja) * 2001-05-29 2002-12-06 Canon Inc プリントシステム及び情報処理装置
US20030204593A1 (en) * 2002-04-25 2003-10-30 International Business Machines Corporation System and method for dynamically altering connections in a data processing network
JP4956176B2 (ja) * 2006-12-21 2012-06-20 キヤノン株式会社 監視ホスト装置、画像形成装置及びその制御方法、プログラム
US8051379B2 (en) * 2007-06-08 2011-11-01 Canon Kabushiki Kaisha System, apparatus, method and computer readable storage medium for displaying information related to an image-forming apparatus connected to a network
JP5137641B2 (ja) * 2008-03-19 2013-02-06 キヤノン株式会社 情報処理装置、画像処理システム及び画像処理方法並びにプログラム
DE102008048256B4 (de) 2008-09-22 2016-06-02 Océ Printing Systems GmbH & Co. KG Elektrophoretisches Druck- oder Kopiergerät
DE102009060334B4 (de) 2009-12-23 2012-02-16 OCé PRINTING SYSTEMS GMBH Vorrichtung zum Entwickeln von auf einem Ladungsbildträger erzeugten Ladungsbildern bei einem elektrophoretischen Druckgerät
JP2011192250A (ja) * 2010-02-22 2011-09-29 Canon Inc クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法
DE102010015985B4 (de) 2010-03-16 2015-11-12 Océ Printing Systems GmbH & Co. KG Anordnung zur Reinigung eines Transportmittels für Flüssigentwickler von einer an dessen Oberfläche haftenden Flüssigentwicklerschicht bei einem elektrophoretischen Druckgerät
EP2402860B1 (de) * 2010-06-29 2020-10-07 Brother Kogyo Kabushiki Kaisha Datenverarbeitungsvorrichtung
US8689181B2 (en) 2010-11-23 2014-04-01 Axeda Corporation Scripting web services
JP2014017563A (ja) * 2012-07-05 2014-01-30 Fujitsu Ltd 通信制御方法、通信制御プログラムおよび通信制御装置
US8867731B2 (en) 2012-11-05 2014-10-21 Genesys Telecommunications Laboratories, Inc. System and method for web-based real time communication with optimized transcoding
DE102012111791B4 (de) 2012-12-05 2015-01-22 Océ Printing Systems GmbH & Co. KG Digitaldrucker zum Bedrucken eines Aufzeichnungsträgers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997043720A1 (en) * 1996-05-14 1997-11-20 Ricoh Company, Ltd. Java printer
US20030014368A1 (en) * 2001-07-09 2003-01-16 Travelers Express Inc. Systems, methods and apparatus for secure printing of negotiable instruments
US20090313657A1 (en) * 2008-06-11 2009-12-17 At&T Intellectual Property I, L.P. System and Method for Scheduling a Remote Recording

Also Published As

Publication number Publication date
JP6605286B2 (ja) 2019-11-13
DE102014114586A1 (de) 2016-04-14
US20160103643A1 (en) 2016-04-14
JP2016074217A (ja) 2016-05-12
US9395943B2 (en) 2016-07-19

Similar Documents

Publication Publication Date Title
DE102014114585A1 (de) Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem
DE4143697B4 (de) System zum Überwachen, Steuern und Kommunizieren mit einem oder mehreren Bürogeräten
DE69820855T2 (de) Automatische Konfiguration eines Netzwerkdruckers
DE69835658T2 (de) Netzwerkdrucker und Verfahren
DE102012213795B4 (de) Durch einen Computer implementiertes Verfahren, das es einer Web-Anwendung ermöglicht, mindestens eine native Funktion einer mobilen Einheit aufzurufen
DE69838262T2 (de) Allgemeine benutzer-authentifizierung für netz-rechner
DE60130341T2 (de) Fernnetzwerkdrucken
DE10024715B4 (de) Verfahren und Vorrichtung zum Einrichten einer Zwei-Wege-Übertragung zwischen einem Host-System und einer Vorrichtung
DE10034841B4 (de) Vorrichtung und Verfahren zur Überwachung und Aufzeichnung der Verwendung von Druckern in einem System
DE10245479B4 (de) Druckserver zum Verarbeiten eines Druckauftrags, Verfahren zum Drucken eines Dokuments und prozessorlesbares Medium
DE112015005673B4 (de) Verfahren zum Ermöglichen von Kommunikation zwischen einem Benutzergerätebrowser und einem lokalen Gerät
DE19954533A1 (de) Grafisches Schnittstellenverfahren und -System, um Einstellungen an mehrere Netzwerkeinheiten zu kopieren
DE102010037750A1 (de) Dynamische Hyperlinks für Prozessregelsysteme
DE102014118293A1 (de) System und Verfahren zur Überwachung eines Produktionssystems
DE102014118290A1 (de) Verfahren zum Konfigurieren einer Steuerungseinrichtung für ein Produktionssystem und ein solches Produktionssystem
DE112012004247T5 (de) Passives Überwachen virtueller Systeme unter Verwendung einer erweiterbaren Indexierung
DE10051022B4 (de) Verfahren, System und Computerprogrammprodukt für die Neukonfiguration logischer Drucker in einem Druckernetzsystem beim Wechsel von einem Überwachungsprogramm zu einem zweiten Überwachungsprogramm
DE112014007224T5 (de) Drucksystem, Verfahren und Programm
DE102014114586B4 (de) Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem
DE102007009737B4 (de) Verfahren, Drucksystem und Computerprogramm zum automatischen Bearbeiten von Auftragsbegleitdaten eines Druckauftrages
DE102014114584A1 (de) Verfahren zum Betreiben eines Bedienfelds für ein Produktionssystem sowie Steuervorrichtung für ein Produktionssystem
DE10253174A1 (de) Vorrichtung zur Entwicklung und/oder Konfiguration eines Automatisierungssystems
DE102015117479B4 (de) Verfahren zum Synchronisieren von Bedienfeldern eines Produktionssystems
EP2418556B1 (de) Internetbasiertes Füllstandmesswert- und Diagnoseinformationsabfragesystem und entsprechendes Verfahren
DE10315516A1 (de) Gesichertes Drucken

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SCHAUMBURG UND PARTNER PATENTANWAELTE MBB, DE

R016 Response to examination communication
R016 Response to examination communication
R081 Change of applicant/patentee

Owner name: CANON PRODUCTION PRINTING GERMANY GMBH & CO. K, DE

Free format text: FORMER OWNER: OCE PRINTING SYSTEMS GMBH & CO. KG, 85586 POING, DE

R082 Change of representative

Representative=s name: SCHAUMBURG UND PARTNER PATENTANWAELTE MBB, DE

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final