DE112022002389T5 - Industrielles ethernet-konfigurationswerkzeug mit vorschaufähigkeiten - Google Patents

Industrielles ethernet-konfigurationswerkzeug mit vorschaufähigkeiten Download PDF

Info

Publication number
DE112022002389T5
DE112022002389T5 DE112022002389.9T DE112022002389T DE112022002389T5 DE 112022002389 T5 DE112022002389 T5 DE 112022002389T5 DE 112022002389 T DE112022002389 T DE 112022002389T DE 112022002389 T5 DE112022002389 T5 DE 112022002389T5
Authority
DE
Germany
Prior art keywords
image processing
representation
output
message
computing device
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.)
Pending
Application number
DE112022002389.9T
Other languages
English (en)
Inventor
David D. Landron
Christopher M. West
Matthew M. Degen
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.)
Zebra Technologies Corp
Original Assignee
Zebra Technologies Corp
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 Zebra Technologies Corp filed Critical Zebra Technologies Corp
Publication of DE112022002389T5 publication Critical patent/DE112022002389T5/de
Pending legal-status Critical Current

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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/056Programming the PLC
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0014Image feed-back for automatic industrial control, e.g. robot with camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Studio Devices (AREA)
  • Facsimiles In General (AREA)

Abstract

Ein industrielles Ethernet-Konfigurationswerkzeug mit Vorschaufähigkeiten wird hier offenbart. Eine Beispielimplementierung umfasst eine Rechenvorrichtung zum Ausführen einer Anwendung, wobei die Anwendung zum Konfigurieren eines Bildverarbeitungsauftrags betreibbar ist, wobei das Konfigurieren des Bildverarbeitungsauftrags umfasst: (1) Konfigurieren mindestens eines Werkzeugs, das von der Bildgebungsvorrichtung während einer Ausführung des Auftrags auszuführen ist; (2) Konfigurieren eines Ausgabedatenstroms auf der Grundlage des mindestens einen Werkzeugs, wobei der Ausgabedatenstrom für eine Kommunikation mit einer Fremd-Rechenvorrichtung formatiert ist; und (3) Anzeigen einer Darstellung einer Ausgabenachricht, wobei die Ausgabenachricht gebildet wird basierend auf: (i) dem Konfigurieren des Ausgabedatenstroms, und (ii) früher erfassten Auftragslaufdaten, wobei die Ausgabenachricht eine Darstellung einer Übertragung einer Nachricht von der Bildgebungsvorrichtung zu der Fremd-Rechenvorrichtung ist.

Description

  • Diese Anmeldung beansprucht die Priorität der vorläufigen US-Patentanmeldung mit der Seriennummer 63/182,491 , die am 30. April 2021 eingereicht wurde und hierin durch Bezugnahme in vollem Umfang aufgenommen ist.
  • HINTERGRUND
  • Im Laufe der Jahre hat sich die industrielle Automatisierung stark auf Bildverarbeitungskomponenten gestützt, die die Bediener bei einer Vielzahl von Aufgaben unterstützen können. In einigen Anwendungen werden Bildverarbeitungskomponenten, wie z. B. Kameras, eingesetzt, um Objekte zu verfolgen, die sich z. B. auf einem Förderband an stationären Kameras vorbeibewegen. Häufig interagieren diese Kameras (auch als Bildgebungsvorrichtungen bezeichnet) mit Fremd-Rechenvorrichtungen wie programmierbaren Logiksteuerungen (PLC oder programmable logic controllers). Diese Interaktion kann jedoch problematisch sein, da die PLCs oft nur begrenzte Möglichkeiten haben und gemäß einem spezifischen Kommunikationsprotokoll programmiert werden müssen, das von der jeweiligen PLC verwendet wird. Daher werden die Ausgaben der Bildgebungsvorrichtungen in der Regel als binäre Darstellung der Ausgabedaten an eine PLC übertragen. Aufgrund ihrer Einfachheit können solche Ausgaben schwer zu entschlüsseln sein, um die PLC so zu programmieren, dass sie die Nachricht richtig akzeptiert. Daher besteht ein Bedarf an verbesserten Systemen, Vorrichtungen und Verfahren, die eine einfachere Programmierung von PLCs für den ordnungsgemäßen Empfang von Bildverarbeitungsdaten von Bildverarbeitungsvorrichtungen ermöglichen.
  • BESCHREIBUNG
  • In einer Ausführungsform ist die vorliegende Erfindung ein Verfahren zum Betreiben eines Bildverarbeitungssystems, wobei das Bildverarbeitungssystem eine Rechenvorrichtung zum Ausführen einer Anwendung und eine kommunikativ mit der Rechenvorrichtung gekoppelte Bildgebungsvorrichtung umfasst, wobei die Bildgebungsvorrichtung so betreibbar ist, dass sie mit einer Fremd-Rechenvorrichtung kommuniziert. Das Verfahren kann umfassen: Konfigurieren eines Bildverarbeitungsauftrags über die Anwendung, wobei das Konfigurieren des Bildverarbeitungsauftrags umfasst: Konfigurieren mindestens eines Werkzeugs, das von der Bildgebungsvorrichtung während einer Ausführung des Auftrags auszuführen ist; Konfigurieren eines Ausgabedatenstroms auf der Grundlage des mindestens einen Werkzeugs, wobei der Ausgabedatenstrom für eine Kommunikation mit der Fremd-Rechenvorrichtung formatiert ist; und Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung, wobei die Darstellung der Ausgabenachricht auf der Grundlage des Konfigurierens des Ausgabedatenstroms gebildet wird, wobei die Darstellung der Ausgabenachricht eine Darstellung einer Übertragung einer Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung ist. Das Verfahren kann ferner umfassen: Übertragen des Bildverarbeitungsauftrags von der Rechenvorrichtung an die Bildgebungsvorrichtung; und Ausführen des Bildverarbeitungsauftrags auf der Bildgebungsvorrichtung, wobei das Ausführen des Bildverarbeitungsauftrags das Übertragen der Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung umfasst.
  • In einer Variante dieser Ausführungsform ist die Darstellung der Ausgabenachricht eine binäre Darstellung des Ausgangsdatenstroms.
  • In einer anderen Variante dieser Ausführungsform erfolgt das Anzeigen der Darstellung der Ausgabenachricht als Reaktion auf das Konfigurieren des Ausgabedatenstroms.
  • In einer anderen Variante dieser Ausführungsform die Fremd-Rechenvorrichtung eine programmierbare Logiksteuerung (PLC oder programmable logic controller).
  • In einer anderen Variante umfasst das Konfigurieren eines Ausgabedatenstroms auf der Grundlage des mindestens einen Werkzeugs ferner: Anzeigen einer Vielzahl von Feldern zur Auswahl durch einen Benutzer auf der Grundlage des mindestens einen Werkzeugs; Empfangen einer Auswahl von mindestens einem Feld aus der Vielzahl von Feldern vom Benutzer; und Konfigurieren des mindestens einen Werkzeugs auf der Grundlage des ausgewählten mindestens einen Felds.
  • In einer anderen Variante umfasst das Konfigurieren eines Ausgabedatenstroms auf der Grundlage des mindestens einen Werkzeugs ferner: Anzeigen eines Größenfeldes für jedes Feld der Vielzahl von Feldern; Empfangen einer Eingabe von einem Benutzer für mindestens eines der Größenfelder; und Konfigurieren des Ausgabedatenstroms ferner auf der Grundlage der empfangenen Eingabe.
  • In einer anderen Variante umfasst das Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung ferner: Anzeigen der Darstellung der Ausgabenachricht in einem Eingabemodus durch Hinzufügen einer Kopfzeile mit Metadaten zu der Ausgabenachricht.
  • In einer anderen Variante umfasst das Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung ferner: Anzeigen der Darstellung der Ausgabenachricht in einem Rohdatenmodus durch Anzeigen von Rohdaten der Ausgabenachricht und Nichthinzufügen einer Kopfzeile mit Metadaten zu der Ausgabenachricht.
  • In einer anderen Variante umfasst das Konfigurieren des Ausgangsdatenstroms auf der Grundlage des mindestens einen Werkzeugs die Ausführung jedes des mindestens einen Werkzeugs mit einem entsprechenden Eingabedatensatz, um einen entsprechenden Ausgabedatensatz zu erhalten.
  • In einer anderen Variante wird die Darstellung der Ausgabenachricht zusätzlich auf der Grundlage eines früheren Bildes gebildet.
  • In einer anderen Ausführungsform ist die Erfindung ein Bildverarbeitungssystem, das eine Rechenvorrichtung zum Ausführen einer Anwendung umfasst, wobei die Anwendung so betreibbar ist, dass sie einen Bildverarbeitungsauftrag konfiguriert, wobei das Konfigurieren des Bildverarbeitungsauftrags umfasst: Konfigurieren mindestens eines Werkzeugs, das von der Bildgebungsvorrichtung während einer Ausführung des Auftrags auszuführen ist; Konfigurieren eines Ausgabedatenstroms auf der Grundlage des mindestens einen Werkzeugs, wobei der Ausgabedatenstrom für eine Kommunikation mit einer Fremd-Rechenvorrichtung formatiert ist; und Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung, wobei die Darstellung der Ausgabenachricht auf der Grundlage des Konfigurierens des Ausgabedatenstroms gebildet wird, wobei die Ausgabenachricht eine Darstellung einer Übertragung einer Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung ist, wobei die angezeigte Darstellung der Ausgabenachricht ferner gebildet wird auf der Grundlage von mindestens einem von: (i) von einem Benutzer eingegebenen Daten, (ii) früheren Bilddaten oder (iii) Standarddaten. Die Anwendung kann ferner so betreibbar sein, dass sie die Rechenvorrichtung veranlasst, den Bildverarbeitungsauftrag an eine Bildgebungsvorrichtung zu übertragen; und die Bildgebungsvorrichtung kann ferner so konfiguriert sein, dass sie den Bildverarbeitungsauftrag empfängt und den Bildverarbeitungsauftrag ausführt, was die Übertragung der Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung umfasst.
  • In einer Variante dieser Ausführungsform umfasst das Konfigurieren des Bildverarbeitungsauftrags ferner das Bilden der angezeigten Darstellung der Ausgabenachricht auf der Grundlage der vom Benutzer eingegebenen Daten.
  • In einer anderen Variante dieser Ausführungsform umfasst das Konfigurieren des Bildverarbeitungsauftrags ferner das Bilden der angezeigten Darstellung der Ausgabenachricht auf der Grundlage der früheren Bilddaten.
  • In einer anderen Variante ist die Darstellung der Ausgabenachricht eine binäre Darstellung des Ausgangsdatenstroms.
  • In einer anderen Variante erfolgt die Anzeige der Darstellung der Ausgabenachricht in Reaktion auf die Konfiguration des Ausgabedatenstroms.
  • In einer anderen Variante ist die Fremd-Rechenvorrichtung eine programmierbare Logiksteuerung (PLC).
  • In einer anderen Variante umfasst das Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung ferner: Anzeigen der Darstellung der Ausgabenachricht in einem Eingabemodus durch Hinzufügen einer Kopfzeile mit Metadaten zu der Ausgabenachricht.
  • In einer anderen Ausführungsform ist die Erfindung ein Bildverarbeitungssystem, das eine Rechenvorrichtung zum Ausführen einer Anwendung umfasst. Die Anwendung ist betreibbar, um einen Bildverarbeitungsauftrag zu konfigurieren, und die Anwendung ist ferner betreibbar, um eine Darstellung einer Eingabenachricht anzuzeigen durch: Konfigurieren eines Bildverarbeitungsauftrags über die Anwendung, wobei das Konfigurieren des Bildverarbeitungsauftrags das Konfigurieren mindestens eines Werkzeugs umfasst, das von einer Bildgebungsvorrichtung während einer Ausführung des Auftrags ausgeführt werden soll; Empfangen einer gewünschten Ausgabe des Bildverarbeitungsauftrags von einer Fremd-Rechenvorrichtung; Bestimmen, über die Anwendung, der Darstellung der Eingabenachricht auf der Grundlage von: (i) dem konfigurierten Bildverarbeitungsauftrag und (ii) der gewünschten Ausgabe des Bildverarbeitungsauftrags; und Anzeigen der bestimmten Darstellung der Eingabenachricht über die Anwendung.
  • Eine Variante dieser Ausführungsform umfasst ferner die Bildgebungsvorrichtung, wobei die Bildgebungsvorrichtung so konfiguriert ist, dass sie den Bildverarbeitungsauftrag empfängt und den Bildverarbeitungsauftrag ausführt, was die Übertragung der Nachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung umfasst.
  • In einer Variante dieser Ausführungsform umfasst die Fremd-Rechenvorrichtung eine programmierbare Logiksteuerung (PLC).
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die beigefügten Figuren, in denen gleiche Bezugszeichen identische oder funktional ähnliche Elemente in den einzelnen Ansichten bezeichnen, sind zusammen mit der nachfolgenden detaillierten Beschreibung in die Offenbarung inkorporiert und bilden einen Bestandteil der Offenbarung und dienen dazu, hierin beschriebene Ausführungsformen von Konzepten, die die beanspruchte Erfindung umfassen, weiter zu veranschaulichen und verschiedene Prinzipien und Vorteile dieser Ausführungsformen zu erklären.
    • 1 ist ein Beispielsystem zur Optimierung einer oder mehrerer Bildgebungseinstellungen für einen Bildverarbeitungsauftrag gemäß den hier beschriebenen Ausführungsformen.
    • 2 ist eine perspektivische Ansicht der Bildgebungsvorrichtung von 1 gemäß den hier beschriebenen Ausführungsformen.
    • 3 zeigt ein Beispiel für eine Anwendungsschnittstelle, die zur Optimierung eines oder mehrerer Aufträge verwendet wird, gemäß den hier beschriebenen Ausführungsformen.
    • 4 zeigt ein weiteres Beispiel für eine Anwendungsschnittstelle mit einer Anwendung des Binarisierungswerkzeugs.
    • 5 zeigt eine Beispielschnittstelle zur Angabe von Eingabe- und Ausgabeparametern für die Bildgebungsvorrichtung, die den zuvor erstellten Auftrag ausführen soll.
    • 6 zeigt eine Beispielschnittstelle, die sich aus der Auswahl von „HINZUFÜGEN“ aus 5 ergibt.
    • 7 zeigt einen Beispielbildschirm, der sich aus einer Auswahl der Ausgabe „Pixel_Anzahl“ ergibt.
    • 8 zeigt einen Beispielbildschirm, der sich aus einer Auswahl der Ausgabe „Pixel Anzahl_max“ ergibt.
    • 9 zeigt einen Beispielbildschirm, der sich aus einer Auswahl eines Werkzeugs „Lokalisieren von Objekt 1“ ergibt.
    • 10 zeigt einen Beispielbildschirm, der sich aus einer Auswahl von „VORLEGEN“ ergibt.
    • 11 zeigt einen Beispielbildschirm, auf dem das Werkzeug „Lesen von Strichcode 1“ ausgewählt wurde.
    • 12 zeigt einen Beispielbildschirm, auf dem das Werkzeug „Pixelanzahl 1“ ausgewählt wurde.
    • 13 zeigt einen Beispielbildschirm, auf dem die Darstellung einer in die Bildgebungsvorrichtung einzugebenden Eingabenachricht angezeigt wird.
    • 14A zeigt ein Beispiel für eine Bestimmung einer Vorschaunachricht von Ausga bedate n.
    • 14B zeigt ein Beispiel für eine Bestimmung einer Vorschaunachricht von Eingabedaten.
    • 15 zeigt ein Beispiel für ein Verfahren zur Darstellung einer Übertragung einer Nachricht, die von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung ausgegeben wird.
    • 16 zeigt ein Beispiel für ein Verfahren zur Darstellung einer Übertragung einer Nachricht, die von der Fremd-Rechenvorrichtung in die Bildgebungsvorrichtung eingegeben wird.
  • Fachleute werden erkennen, dass Elemente in den Figuren der Einfachheit und Klarheit halber dargestellt sind und nicht notwendigerweise maßstabsgetreu gezeichnet wurden. Zum Beispiel können die Dimensionen einiger der Elemente in den Figuren relativ zu anderen Elementen übertrieben sein, um das Verständnis von Ausführungsformen der vorliegenden Erfindung zu verbessern.
  • Die Vorrichtungs- und Verfahrenskomponenten wurden, wo es angemessen ist, durch herkömmliche Symbole in den Zeichnungen dargestellt, die nur jene spezifischen Details zeigen, die zum Verständnis der Ausführungsformen der vorliegenden Erfindung relevant sind, um somit die Offenbarung nicht mit Einzelheiten zu verdecken, die für die Fachleute auf dem Gebiet, die auf die vorliegende Beschreibung zurückgreifen, ohne weiteres ersichtlich sind.
  • AUSFÜHRLICHE BESCHREIBUNG
  • 1 zeigt ein Beispiel für ein Bildgebungssystem 100, das so konfiguriert ist, dass es Pixeldaten eines Bildes eines Zielobjekts analysiert, um einen Bildverarbeitungsauftrag auszuführen, gemäß verschiedenen hierin offenbarten Ausführungsformen. In dem Ausführungsbeispiel von 1 umfasst das Bildgebungssystem 100 eine Benutzerrechenvorrichtung 102 (z. B. einen Computer, ein Mobilgerät oder ein Tablet), eine Steuerrechenvorrichtung 105 (z. B. eine programmierbare Logiksteuerung (PLC)) und eine Bildgebungsvorrichtung 104, die über ein Netzwerk 106 mit der Benutzerrechenvorrichtung 102 und der Steuerungsrechenvorrichtung 105 kommunikativ gekoppelt ist. Im Allgemeinen können die Benutzerrechenvorrichtung 102 und die Bildgebungsvorrichtung 104 in der Lage sein, Befehle auszuführen, um beispielsweise Vorgänge der hier beschriebenen Beispielverfahren zu implementieren, wie dies in den Flussdiagrammen der Zeichnungen, die dieser Beschreibung beigefügt sind, dargestellt sein kann. Die Benutzerrechenvorrichtung 102 ist im Allgemeinen so konfiguriert, dass ein Benutzer/Bediener einen Bildverarbeitungsauftrag zur Ausführung auf der Bildgebungsvorrichtung 104 erstellen kann. Nach der Erstellung kann der Benutzer/Bediener dann den Bildverarbeitungsauftrag über das Netzwerk 106 an die Bildgebungsvorrichtung 104 übertragen/hochladen, wo der Bildverarbeitungsauftrag dann interpretiert und ausgeführt wird. Nach der Ausführung dieser Aufträge können die von der Bildgebungsvorrichtung 104 erzeugten Ausgabedaten zur weiteren Analyse und Verwendung an die Steuerungsrechenvorrichtung 105 übertragen werden. Die Benutzerrechenvorrichtung 102 kann eine oder mehrere Bedienerarbeitsplätze umfassen und einen oder mehrere Prozessoren 108, einen oder mehrere Speicher 110, eine Netzwerkschnittstelle 112, eine Eingabe-/Ausgabeschnittstelle 114 und eine intelligente Bildgebungsanwendung 116 enthalten. In ähnlicher Weise kann die Steuerungsrechenvorrichtung 105 einen oder mehrere Prozessoren 148, einen oder mehrere Speicher 150, eine Netzwerkschnittstelle 152, eine Eingabe/Ausgabe (E/A)-Schnittstelle 154 und Software (die möglicherweise in Form von Firmware ausgeführt wird) wie die intelligente Bildgebungsanwendung 156 umfassen.
  • Die Bildgebungsvorrichtung 104 ist über ein Netzwerk 106 mit der Benutzerrechenvorrichtung 102 verbunden und so konfiguriert, dass sie von der Benutzerrechenvorrichtung 102 empfangene Bildverarbeitungsaufträge interpretiert und ausführt. Im Allgemeinen kann die Bildgebungsvorrichtung 104 eine Auftragsdatei, die ein oder mehrere Auftragsskripte enthält, von der Benutzerrechenvorrichtung 102 über das Netzwerk 106 erhalten, die den Bildverarbeitungsauftrag definieren und die Bildgebungsvorrichtung 104 so konfigurieren können, dass sie Bilder gemäß dem Bildverarbeitungsauftrag erfasst und/oder analysiert. Beispielsweise kann die Bildgebungsvorrichtung 104 einen Flash-Speicher enthalten, der zum Ermitteln, Speichern oder anderweitigen Verarbeiten von Bilddaten/Datensätzen und/oder Post-Bildgebungsdaten verwendet wird. Die Bildgebungsvorrichtung 104 kann dann einen Auslöser empfangen, erkennen und/oder anderweitig interpretieren, der die Bildgebungsvorrichtung 104 veranlasst, ein Bild des Zielobjekts gemäß der über das eine oder die mehreren Auftragsskripte festgelegten Konfiguration zu erfassen. Nach der Erfassung und/oder Analyse kann die Bildgebungsvorrichtung 104 die Bilder und alle zugehörigen Daten über das Netzwerk 106 an die Benutzerrechenvorrichtung 102 zur weiteren Analyse und/oder Speicherung übertragen. In verschiedenen Ausführungsformen kann die Bildgebungsvorrichtung 104 eine „intelligente“ Kamera sein und/oder anderweitig so konfiguriert sein, dass sie automatisch ausreichende Funktionen der Bildgebungsvorrichtung 104 ausführt, um Auftragsskripte zu erhalten, zu interpretieren und auszuführen, die Bildverarbeitungsaufträge definieren, wie beispielsweise ein oder mehrere Auftragsskripte, die in einer oder mehreren Auftragsdateien enthalten sind, die beispielsweise von der Benutzerrechenvorrichtung 102 erhalten wurden.
  • Im Großen und Ganzen kann es sich bei der Auftragsdatei um eine JSON-Darstellung/ein Datenformat des einen oder der mehreren Auftragsskripte handeln, die vom Benutzerrechenvorrichtung 102 auf die Bildgebungsvorrichtung 104 übertragen werden können. Die Auftragsdatei kann außerdem von einer C++-Laufzeit-Maschine oder einer anderen geeigneten Laufzeit-Maschine geladen/gelesen werden, die auf der Bildgebungsvorrichtung 104 ausgeführt wird. Darüber hinaus kann auf der Bildgebungsvorrichtung 104 ein Server (nicht dargestellt) laufen, der so konfiguriert ist, dass er über das Netzwerk 106 Auftragsdateien von der Benutzerrechenvorrichtung 102 abhört und empfängt. Zusätzlich oder alternativ kann der Server, der zum Abhören und Empfangen von Auftragsdateien konfiguriert ist, als ein oder mehrere Cloud-basierte Server implementiert werden, wie z. B. eine Cloud-basierte Rechenplattform. Beispielsweise kann es sich bei dem Server um eine oder mehrere Cloud-basierte Plattform(en) wie MICROSOFT AZURE, AMAZON AWS oder dergleichen handeln.
  • In jedem Fall kann die Bildgebungsvorrichtung 104 einen oder mehrere Prozessoren 118, einen oder mehrere Speicher 120, eine Netzwerkschnittstelle 122, eine E/A-Schnittstelle 124 und eine Bildgebungsbaugruppe 126 umfassen. Die Bildgebungsbaugruppe 126 kann eine Digitalkamera und/oder eine digitale Videokamera zum Erfassen oder Aufnehmen von digitalen Bildern und/oder Einzelbildern umfassen. Jedes digitale Bild kann Pixeldaten enthalten, die von einem oder mehreren Werkzeugen analysiert werden können, die jeweils für die Durchführung einer Bildanalyseaufgabe konfiguriert sind. Die Digitalkamera und/oder die digitale Videokamera, z. B. der Bildgebungsbaugruppe 126, kann, wie hierin offenbart, so konfiguriert sein, dass sie digitale Bilder aufnimmt, erfasst oder anderweitig erzeugt, und kann, zumindest in einigen Ausführungsformen, solche Bilder in einem Speicher (z. B. einem oder mehreren Speichern 110, 120) einer jeweiligen Vorrichtung (z. B. Benutzerrechenvorrichtung 102, Bildgebungsvorrichtung 104) speichern.
  • Die Bildgebungsbaugruppe 126 kann beispielsweise eine fotorealistische Kamera (nicht abgebildet) zum Erfassen, Abtasten oder Scannen von 2D-Bilddaten enthalten. Die fotorealistische Kamera kann eine auf RGB (Rot, Grün, Blau) basierende Kamera zum Erfassen von 2D-Bildern mit RGB-basierten Pixeldaten sein. In verschiedenen Ausführungsformen kann die Bildgebungsbaugruppe zusätzlich eine dreidimensionale (3D) Kamera (nicht abgebildet) zum Erfassen, Abtasten oder Scannen von 3D-Bilddaten enthalten. Die 3D-Kamera kann einen Infrarot (IR)-Projektor und eine zugehörige IR-Kamera zum Erfassen, Abtasten oder Scannen von 3D-Bilddaten/Datensätzen umfassen. In einigen Ausführungsformen kann die fotorealistische Kamera der Bildgebungsbaugruppe 126 2D-Bilder und zugehörige 2D-Bilddaten zum gleichen oder einem ähnlichen Zeitpunkt wie die 3D-Kamera der Bildgebungsbaugruppe 126 erfassen, so dass der Bildgebungsvorrichtung 104 beide Sätze von 3D-Bilddaten und 2D-Bilddaten für eine bestimmte Oberfläche, ein Objekt, einen Bereich oder eine Szene zum gleichen oder einem ähnlichen Zeitpunkt zur Verfügung stehen. In verschiedenen Ausführungsformen kann die Bildgebungsbaugruppe 126 die 3D-Kamera und die fotorealistische Kamera als eine einzige Bildgebungsvorrichtung umfassen, die so konfiguriert ist, dass sie 3D-Tiefenbilddaten gleichzeitig mit 2D-Bilddaten erfasst. Folglich können die erfassten 2D-Bilder und die entsprechenden 2D-Bilddaten mit den 3D-Bildern und 3D-Bilddaten tiefenausgerichtet sein.
  • In einigen Ausführungsformen kann die Bildgebungsbaugruppe 126 so konfiguriert sein, dass sie Bilder von Oberflächen oder Bereichen eines vordefinierten Suchraums oder von Zielobjekten innerhalb des vordefinierten Suchraums erfasst. Beispielsweise kann jedes in einem Auftragsskript enthaltene Werkzeug zusätzlich einen Bereich von Interesse (ROI) enthalten, die einem bestimmten Bereich oder einem Zielobjekt entspricht, das von der Bildgebungsbaugruppe 126 abgebildet wird. Der zusammengesetzte Bereich, der durch die ROls für alle in einem bestimmten Auftragsskript enthaltenen Werkzeuge definiert ist, kann dadurch den vordefinierten Suchraum definieren, den die Bildgebungsbaugruppe 126 erfassen kann, um die Ausführung des Auftragsskripts zu erleichtern. Der vordefinierte Suchraum kann jedoch vom Benutzer so festgelegt werden, dass er ein Sichtfeld (FOV) umfasst, das größer oder kleiner ist als der zusammengesetzte Bereich, der durch die ROls aller im jeweiligen Auftragsskript enthaltenen Werkzeuge definiert ist. Es sei darauf hingewiesen, dass die Bildgebungsbaugruppe 126 2D- und/oder 3D-Bilddaten/Datensätze einer Vielzahl von Bereichen erfassen kann, so dass neben den vordefinierten Suchräumen weitere Bereiche in Betracht gezogen werden können. Darüber hinaus kann die Bildgebungsbaugruppe 126 in verschiedenen Ausführungsformen so konfiguriert werden, dass sie neben den 2D/3D-Bilddaten auch andere Bilddatensätze erfasst, wie z. B. Graustufenbilddaten oder Amplitudenbilddaten, die jeweils mit den 2D/3D-Bilddaten tiefenausgerichtet sein können.
  • Die Bildgebungsvorrichtung 104 kann auch die 2D-Bilddaten/Datensätze und/oder 3D-Bilddatensätze für die Verwendung durch andere Vorrichtungen (z. B. die Benutzerrechenvorrichtung 102, einen externen Server) verarbeiten. Beispielsweise können der eine oder die mehreren Prozessoren 118 die von der Bildgebungsbaugruppe 126 erfassten, gescannten oder abgetasteten Bilddaten oder Datensätze verarbeiten. Die Verarbeitung der Bilddaten kann Post-Bildgebungsdaten erzeugen, die Metadaten, vereinfachte Daten, normalisierte Daten, Ergebnisdaten, Statusdaten oder Alarmdaten enthalten können, die aus den ursprünglichen gescannten oder erfassten Bilddaten ermittelt wurden. Die Bilddaten und/oder die Post-Bildgebungsdaten können zur Ansicht, Bearbeitung und/oder anderweitigen Interaktion an die Benutzerrechenvorrichtung 102 gesendet werden, die die intelligente Bildgebungsanwendung 116 ausführt. In anderen Ausführungsformen können die Bilddaten und/oder die Post-Bildgebungsdaten zur Speicherung oder zur weiteren Bearbeitung an einen Server gesendet werden. Wie hierin beschrieben, können die Benutzerrechenvorrichtung 102, die Bildgebungsvorrichtung 104 und/oder ein externer Server oder eine andere zentralisierte Verarbeitungseinheit und/oder ein Speicher solche Daten speichern und auch die Bilddaten und/oder die Post-Bildgebungsdaten an eine andere Anwendung senden, die auf einer Benutzervorrichtung implementiert ist, wie z. B. ein Mobilgerät, ein Tablet, eine handgehaltene Vorrichtung oder ein Desktop-Gerät.
  • Jeder des einen oder der mehreren Speicher 110, 120, 150 kann eine oder mehrere Formen von flüchtigem und/oder nichtflüchtigem, festem und/oder entfernbarem Speicher umfassen, wie Festwertspeicher (ROM), elektronischer programmierbarer Festwertspeicher (EPROM), Direktzugriffsspeicher (RAM), löschbarer elektronischer programmierbarer Festwertspeicher (EEPROM) und/oder andere Festplatten, Flash-Speicher, MicroSD-Karten und andere. Im Allgemeinen kann ein Computerprogramm oder ein computergestütztes Produkt, eine Anwendung oder ein Code (z. B. die intelligente Bildgebungsanwendung 116 oder andere hier beschriebene Computeranweisungen) auf einem computerverwendbaren Speichermedium oder einem zugreifbaren, nicht transitorischen computerlesbaren Medium (z. B. Standard-Direktzugriffsspeicher (RAM), eine optische Disk, ein USB-Laufwerk (Universal Serial Bus) oder ähnliches) gespeichert werden, in dem ein solcher computerlesbarer Programmcode oder Computeranweisungen verkörpert sind, wobei der computerlesbare Programmcode oder die Computeranweisungen auf dem einen oder den mehreren Prozessoren 108, 118, 148 installiert oder anderweitig angepasst sein können, um von diesen ausgeführt zu werden (z. B. in Verbindung mit dem jeweiligen Betriebssystem in dem einen oder den mehreren Speichern 110, 120, 150), um die maschinenlesbaren Anweisungen, Verfahren, Prozesse, Elemente oder Beschränkungen zu erleichtern, zu implementieren oder auszuführen, wie sie in den verschiedenen Flussdiagrammen, Abbildungen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben werden. In dieser Hinsicht kann der Programmcode in jeder gewünschten Programmiersprache implementiert werden und kann als Maschinencode, Assemblercode, Bytecode, interpretierbarer Quellcode oder dergleichen implementiert werden (z. B. über Golang, Python, C, C++, C#, Objective-C, Java, Scala, ActionScript, JavaScript, HTML, CSS, XML usw.).
  • Der eine oder die mehreren Speicher 110, 120, 150 können ein Betriebssystem (OS) (z. B. Microsoft Windows, Linux, Unix usw.) speichern, das in der Lage ist, die hier beschriebenen Funktionalitäten, Anwendungen, Verfahren oder andere Software zu unterstützen. Der eine oder die mehreren Speicher 110 können auch die intelligente(n) Bildgebungsanwendung(en) 116 und/oder 156 speichern, die so konfiguriert sein können, dass sie die Konstruktion von Bildverarbeitungsaufträgen ermöglichen, wie hierin weiter beschrieben. Zusätzlich oder alternativ kann die intelligente Bildgebungsanwendung 116 auch in dem einen oder den mehreren Speichern 120 der Bildgebungsvorrichtung 104 und/oder in einer externen Datenbank (nicht dargestellt) gespeichert sein, die über das Netzwerk 106 zugänglich oder anderweitig kommunikativ mit der Benutzerrechenvorrichtung 102 verbunden ist. Zusätzlich oder alternativ können der eine oder die mehreren Speicher 150 die intelligente(n) Bildgebungsanwendung(en) 116 und/oder 156 speichern, die so konfiguriert sein können, dass sie die Konstruktion von Bildverarbeitungsaufträgen ermöglichen, wie hier weiter beschrieben. Zusätzlich oder alternativ kann die intelligente Bildgebungsanwendung 156 auch in dem einen oder den mehreren Speichern 120 der Bildgebungsvorrichtung 104 und/oder in einer externen Datenbank (nicht dargestellt) gespeichert sein, die über das Netzwerk 106 zugänglich oder anderweitig kommunikativ mit der Benutzerrechenvorrichtung 102 verbunden ist. In einigen Implementierungen sind die intelligenten Bildgebungsanwendungen 116 und 156 die gleiche Anwendung. In anderen Ausführungsformen sind die intelligenten Bildgebungsanwendungen 116 und 156 unterschiedliche Anwendungen. Der eine oder die mehreren Speicher 110, 120, 150 können auch maschinenlesbare Anweisungen speichern, einschließlich einer oder mehrerer Anwendungen, einer oder mehrerer Softwarekomponenten und/oder einer oder mehrerer Anwendungsprogrammierschnittstellen (APIs), die implementiert sein können, um die hierin beschriebenen Merkmale, Funktionen oder andere Offenlegungen zu erleichtern oder durchzuführen, wie etwa alle Verfahren, Prozesse, Elemente oder Beschränkungen, wie sie in den verschiedenen Flussdiagrammen, Abbildungen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben sind. Zum Beispiel können zumindest einige der Anwendungen, Softwarekomponenten oder APIs Teil einer auf maschinellem Sehen basierenden Bildgebungsanwendung sein, wie die intelligente Bildgebungsanwendung 116, 156, wobei jede so konfiguriert sein kann, dass sie ihre verschiedenen hierin besprochenen Funktionalitäten erleichtert. Es sollte gewürdigt werden, dass eine oder mehrere andere Anwendungen denkbar sind, die von dem einen oder mehreren Prozessoren 108, 118, 148 ausgeführt werden.
  • Der eine oder die mehreren Prozessoren 108, 118, 148 können mit dem einen oder den mehreren Speichern 110, 120, 150 über einen Computerbus verbunden sein, der für die Übertragung von elektronischen Daten, Datenpaketen oder anderen elektronischen Signalen zu und von dem einen oder den mehreren Prozessoren 108, 118, 148 und dem einen oder den mehreren Speichern 110, 120, 150 verantwortlich ist, um die maschinenlesbaren Anweisungen, Verfahren, Prozesse, Elemente oder Beschränkungen zu implementieren oder auszuführen, wie sie in den verschiedenen Flussdiagrammen, Illustrationen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben sind.
  • Der eine oder die mehreren Prozessoren 108, 118, 148 können mit dem einen oder den mehreren Speichern 110, 120, 150 über den Computerbus verbunden sein, um das Betriebssystem (OS) auszuführen. Der eine oder die mehreren Prozessoren 108, 118, 148 können auch mit dem einen oder den mehreren Speichern 110, 120, 150 über den Computerbus verbunden sein, um Daten zu erstellen, zu lesen, zu aktualisieren, zu löschen oder anderweitig auf die Daten zuzugreifen oder mit ihnen zu interagieren, die in dem einen oder den mehreren Speichern 110, 120, 150 und/oder externen Datenbanken (z. B. einer relationalen Datenbank, wie Oracle, DB2, MySQL oder einer NoSQL-basierten Datenbank, wie MongoDB) gespeichert sind. Die in dem einen oder den mehreren Speichern 110, 120, 150 und/oder einer externen Datenbank gespeicherten Daten können alle oder einen Teil der hierin beschriebenen Daten oder Informationen enthalten, einschließlich beispielsweise Bilder von Bildverarbeitungsaufträgen (z. B. Bilder, die von der Bildverarbeitungsvorrichtung 104 als Reaktion auf die Ausführung eines Auftragsskripts erfasst wurden) und/oder andere geeignete Informationen.
  • Die Netzwerkschnittstellen 112, 122, 152 können so konfiguriert sein, dass sie Daten über einen oder mehrere externe/Netzwerkanschlüsse mit einem oder mehreren Netzwerken oder lokalen Endgeräten, wie dem hier beschriebenen Netzwerk 106, kommunizieren (z. B. senden und empfangen). In einigen Ausführungsformen können die Netzwerkschnittstellen 112, 122, 152 eine Client-Server-Plattformtechnologie wie ASP.NET, Java J2EE, Ruby on Rails, Node.js, einen Webservice oder eine Online-API umfassen, die auf elektronische Anfragen reagieren und diese beantworten. Die Netzwerkschnittstellen 112, 122, 152 können die Client-Server-Plattformtechnologie implementieren, die über den Computerbus mit dem einen oder mehreren Speicher(n) 110, 120, 150 (einschließlich der darin gespeicherten Anwendungen, Komponenten, API(s), Daten usw.) interagieren kann, um die maschinenlesbaren Anweisungen, Verfahren, Prozesse, Elemente oder Beschränkungen zu implementieren oder auszuführen, wie sie in den verschiedenen Flussdiagrammen, Abbildungen, Diagrammen, Figuren und/oder anderen Offenbarungen hierin illustriert, dargestellt oder beschrieben sind.
  • Gemäß einigen Ausführungsformen können die Netzwerkschnittstellen 112, 122, 152 einen oder mehrere Sendeempfänger (z. B. WWAN-, WLAN- und/oder WPAN-Sendeempfänger) umfassen oder mit ihnen interagieren, die gemäß IEEE-Standards, 3GPP-Standards, 4G, 5G, 6G oder anderen Standards funktionieren und für den Empfang und die Übertragung von Daten über externe/Netzwerkanschlüsse, die mit dem Netzwerk 106 verbunden sind, verwendet werden können. In einigen Ausführungsformen kann das Netzwerk 106 ein privates Netzwerk oder ein lokales Netzwerk (LAN) umfassen. Zusätzlich oder alternativ kann das Netz 106 ein öffentliches Netz wie das Internet umfassen. In einigen Ausführungsformen kann das Netzwerk 106 Router, drahtlose Switches oder andere derartige drahtlose Verbindungspunkte umfassen, die mit der Benutzerrechenvorrichtung 102 (über die Netzwerkschnittstelle 112), der Steuerrechenvorrichtung 105 (über die Netzwerkschnittstelle 152) und der Bildgebungsvorrichtung 104 (über die Netzwerkschnittstelle 122) über drahtlose Kommunikation auf der Grundlage eines oder mehrerer verschiedener drahtloser Standards kommunizieren, einschließlich, als nicht einschränkendes Beispiel, IEEE 802.11a/b/c/g (WIFI), dem BLUETOOTH-Standard oder ähnlichem.
  • Die E/A-Schnittstellen 114, 124, 154 können Bedienerschnittstellen enthalten oder implementieren, die so konfiguriert sind, dass sie einem Verwalter oder Bediener Informationen präsentieren und/oder Eingaben vom Verwalter oder Bediener empfangen. Eine Bedienerschnittstelle kann einen Bildschirm bereitstellen (z. B. über die Benutzerrechenvorrichtung 102 und/oder die Bildgebungsvorrichtung 104), den ein Benutzer/Bediener verwenden kann, um beliebige Bilder, Grafiken, Texte, Daten, Merkmale, Pixel und/oder andere geeignete Visualisierungen oder Informationen zu visualisieren. Beispielsweise können die Benutzerrechenvorrichtung 102, die Steuerrechenvorrichtung 105 und/oder die Bildgebungsvorrichtung 104 zumindest teilweise eine grafische Benutzeroberfläche (GUI) zur Anzeige von Bildern, Grafiken, Text, Daten, Merkmalen, Pixeln und/oder anderen geeigneten Visualisierungen oder Informationen auf dem Bildschirm umfassen, implementieren, darauf zugreifen, sie rendern oder anderweitig offenbaren. Die E/A-Schnittstellen 114, 124, 154 können auch E/A-Komponenten umfassen (z. B. Anschlüsse, kapazitive oder resistive berührungsempfindliche Eingabefelder, Tasten, Knöpfe, Lichter, LEDs, eine beliebige Anzahl von Tastaturen, Mäusen, USB-Laufwerken, optischen Laufwerken, Bildschirmen, Touchscreens usw.), auf die direkt/indirekt über die Benutzerrechenvorrichtung 102, die Steuerrechenvorrichtung 105 und/oder die Bildgebungsvorrichtung 104 zugegriffen werden kann oder die daran angeschlossen sind. Gemäß einigen Ausführungsformen kann ein Administrator oder Benutzer/Bediener auf die Benutzerrechenvorrichtung 102, die Steuerrechenvorrichtung 105 und/oder die Bildgebungsvorrichtung 104 zugreifen, um Aufträge zu erstellen, Bilder oder andere Informationen zu überprüfen, Änderungen vorzunehmen, Antworten und/oder Auswahlen einzugeben und/oder andere Funktionen auszuführen.
  • Wie oben beschrieben, kann die Benutzerrechenvorrichtung 102 in einigen Ausführungsformen die hier beschriebenen Funktionen als Teil eines „Cloud“-Netzwerks ausführen oder anderweitig mit anderen Hardware- oder Softwarekomponenten innerhalb der Cloud kommunizieren, um hier beschriebene Daten oder Informationen zu senden, abzurufen oder anderweitig zu analysieren.
  • 2 ist eine perspektivische Ansicht der Bildgebungsvorrichtung 104 aus 1 gemäß den hier beschriebenen Ausführungsformen. Die Bildgebungsvorrichtung 104 umfasst ein Gehäuse 202, eine Bildgebungsöffnung 204, ein Benutzerschnittstellenetikett 206, einen Kuppelschalter/eine Taste 208, eine oder mehrere Leuchtdioden (LEDs) 210 und einen oder mehrere Befestigungspunkte 212. Wie bereits erwähnt, kann die Bildgebungsvorrichtung 104 Auftragsdateien von einer Benutzerrechenvorrichtung (z. B. der Benutzerrechenvorrichtung 102) erhalten, die die Bildgebungsvorrichtung 104 anschließend interpretiert und ausführt. Die in der Auftragsdatei enthaltenen Anweisungen können Vorrichtungskonfigurationseinstellungen (hier auch als „Bildgebungseinstellungen“ bezeichnet) enthalten, die dazu dienen, die Konfiguration der Bildgebungsvorrichtung 104 vor der Erfassung von Bildern eines Zielobjekts anzupassen.
  • Beispielsweise können die Vorrichtungskonfigurationseinstellungen Anweisungen zur Anpassung einer oder mehrerer Einstellungen in Bezug auf die Bildgebungsöffnung 204 enthalten. Zum Beispiel sei angenommen, dass zumindest ein Teil der beabsichtigten Analyse, die einem Bildverarbeitungsauftrag entspricht, erfordert, dass die Bildgebungsvorrichtung 104 die Helligkeit jedes erfassten Bildes maximiert. Um dieser Anforderung gerecht zu werden, kann die Auftragsdatei Vorrichtungskonfigurationseinstellungen enthalten, um die Öffnungsgröße der Bildgebungsöffnung 204 zu vergrößern. Die Bildgebungsvorrichtung 104 kann diese Anweisungen (z. B. über einen oder mehrere Prozessoren 118) interpretieren und die Öffnungsgröße der Bildgebungsöffnung 204 entsprechend vergrößern. Auf diese Weise kann die Bildgebungsvorrichtung 104 so konfiguriert werden, dass sie ihre eigene Konfiguration automatisch anpasst, um einer bestimmten Bildverarbeitungsauftrag optimal zu entsprechen. Darüber hinaus kann die Bildgebungsvorrichtung 104 beispielsweise einen oder mehrere Bandpassfilter, einen oder mehrere Polarisatoren, einen oder mehrere DPM-Diffusoren, eine oder mehrere C-Mount-Linsen und/oder eine oder mehrere C-Mount-Flüssigkeitslinsen über der Bildgebungsöffnung 204 enthalten oder anderweitig auf die empfangene Beleuchtung einwirken oder anpassbar sein.
  • Das Benutzerschnittstellenetikett 206 kann den Kuppelschalter/die Taste 208 und eine oder mehrere LEDs 210 enthalten und dadurch eine Vielzahl von interaktiven und/oder anzeigenden Funktionen ermöglichen. Im Allgemeinen kann das Benutzerschnittstellenetikett 206 es einem Benutzer ermöglichen, die Bildgebungsvorrichtung 104 auszulösen und/oder einzustellen (z. B. über den Kuppelschalter/die Taste 208) und zu erkennen, wenn eine oder mehrere Funktionen, Fehler und/oder andere Aktionen in Bezug auf die Bildgebungsvorrichtung 104 ausgeführt wurden oder stattgefunden haben (z. B. über die eine oder mehrere LEDs 210). Beispielsweise kann die Auslösefunktion eines Kuppelschalters/einer Taste (z. B. Kuppelschalter/Taste 208) es einem Benutzer ermöglichen, ein Bild mit der Bildgebungsvorrichtung 104 zu erfassen und/oder einen Auslösekonfigurationsbildschirm einer Benutzeranwendung (z. B. intelligente Bildgebungsanwendung 116) anzuzeigen. Der Auslösekonfigurationsbildschirm kann es dem Benutzer ermöglichen, einen oder mehrere Auslöser für die Bildgebungsvorrichtung 104 zu konfigurieren, die im Speicher (z. B. in einem oder mehreren Speichern 110, 120) zur Verwendung in später entwickelten Bildverarbeitungsaufträgen, wie hierin beschrieben, gespeichert sein können.
  • Als weiteres Beispiel kann die Abstimmfunktion eines Kuppelschalters/einer Taste (z. B. Kuppelschalter/Taste 208) es einem Benutzer ermöglichen, die Konfiguration der Bildgebungsvorrichtung 104 automatisch und/oder manuell gemäß einer bevorzugten/vorbestimmten Konfiguration einzustellen und/oder einen Bildgebungskonfigurationsbildschirm einer Benutzeranwendung (z. B. intelligente Bildgebungsanwendung 116) anzuzeigen. Der Bildkonfigurationsbildschirm kann es dem Benutzer ermöglichen, eine oder mehrere Konfigurationen der Bildgebungsvorrichtung 104 (z. B. Öffnungsgröße, Belichtungslänge usw.) zu konfigurieren, die im Speicher (z. B. einem oder mehreren Speichern 110, 120) zur Verwendung in später entwickelten Bildverarbeitungsaufträgen, wie hierin beschrieben, gespeichert werden können.
  • Um dieses Beispiel zu vertiefen und wie hier weiter ausgeführt, kann ein Benutzerden Bildschirm für die Bildgebungskonfiguration (oder allgemeiner die intelligenten Bildgebungsanwendungen 116, 156) verwenden, um zwei oder mehr Konfigurationen von Bildgebungseinstellungen für die Bildgebungsvorrichtung 104 festzulegen. Der Benutzer kann dann diese zwei oder mehr Konfigurationen der Bildgebungseinstellungen als Teil eines Bildverarbeitungsauftrags speichern, der dann in einer Auftragsdatei, die ein oder mehrere Auftragsskripte enthält, an die Bildgebungsvorrichtung 104 übertragen wird. Das eine oder die mehreren Auftragsskripte können dann die Prozessoren der Bildgebungsvorrichtung 104 (z. B. einen oder mehrere Prozessoren 118) anweisen, die Bildgebungseinstellungen der Bildgebungsvorrichtung automatisch und nacheinander gemäß einer oder mehreren der zwei oder mehreren Konfigurationen der Bildgebungseinstellungen nach jeder aufeinanderfolgenden Bilderfassung anzupassen.
  • Der/die Befestigungspunkt(e) 212 kann/können es einem Benutzer ermöglichen, die Bildgebungsvorrichtung 104 mit einer Befestigungsvorrichtung (z. B. einem Bildgebungsstativ, einer Kamerahalterung usw.), einer strukturellen Oberfläche (z. B. einer Lagerhauswand, einer Lagerhausdecke, einem strukturellen Trägerbalken usw.), anderen Zubehörelementen und/oder anderen geeigneten Verbindungsvorrichtungen, Strukturen oder Oberflächen zu verbinden und/oder lösbar zu befestigen. Beispielsweise kann die Bildgebungsvorrichtung 104 optimal auf einer Befestigungsvorrichtung in einem Distributionszentrum, einer Produktionsanlage, einem Lager und/oder einer anderen Einrichtung platziert werden, um die Qualität/Konsistenz von Produkten, Paketen und/oder anderen Gegenständen abzubilden und zu überwachen, während sie das Sichtfeld der Bildgebungsvorrichtung 104 passieren. Darüber hinaus können die Befestigungspunkte 212 es dem Benutzer ermöglichen, die Bildgebungsvorrichtung 104 mit einer Vielzahl von Zubehörteilen zu verbinden, einschließlich, aber nicht beschränkt auf eine oder mehrere externe Beleuchtungsvorrichtungen, eine oder mehrere Befestigungsvorrichtungen/Halterungen und dergleichen.
  • Darüber hinaus kann das Bildgebungsvorrichtung 104 mehrere Hardwarekomponenten im Gehäuse 202 enthalten, die eine Verbindung zu einem Computernetzwerk (z. B. Netzwerk 106) ermöglichen. Zum Beispiel kann die Bildgebungsvorrichtung 104 eine Netzwerkschnittstelle (z. B. Netzwerkschnittstelle 122) enthalten, die es der Bildgebungsvorrichtung 104 ermöglicht, sich mit einem Netzwerk zu verbinden, wie z. B. eine Gigabit-Ethernet-Verbindung und/oder eine Dual-Gigabit-Ethernet-Verbindung. Darüber hinaus kann die Bildgebungsvorrichtung 104 Sendeempfänger und/oder andere Kommunikationskomponenten als Teil der Netzwerkschnittstelle enthalten, um mit anderen Vorrichtungen (z. B. der Benutzerrechenvorrichtung 102) zu kommunizieren, z. B. über Ethernet/IP, PROFINET, Modbus TCP, CC-Link, USB 3.0, RS-232 und/oder jedes andere geeignete Kommunikationsprotokoll oder Kombinationen davon.
  • 3 zeigt eine Beispielanwendungsschnittstelle 300, die zur Optimierung eines oder mehrerer Aufträge gemäß den hier beschriebenen Ausführungsformen verwendet wird. Im Allgemeinen kann die Beispielanwendungsschnittstelle 300 eine Schnittstelle einer intelligenten Bildgebungsanwendung (z. B. die intelligente Bildgebungsanwendung 116) darstellen, auf die ein Benutzer über eine Benutzerrechenvorrichtung (z. B. die Benutzerrechenvorrichtung 102) zugreifen kann. Insbesondere kann die Beispielanwendungsschnittstelle 300 einem Benutzer eine Reihe von Menüs zum Erstellen eines neuen Auftrags oder zum Bearbeiten eines aktuellen Auftrags präsentieren. Bei der Erstellung eines neuen Auftrags kann der Benutzer aus einer Vielzahl von Werkzeugen auswählen, die einen bestimmten Auftrag bilden. Zu diesen Werkzeugen gehören u. a. (i) ein Strichcode-Scan-/Lesewerkzeug, (ii) ein Mustervergleichswerkzeug, (iii) ein Kantenerkennungswerkzeug, (iv) ein semantisches Segmentierungswerkzeug, (v) ein Objekterkennungswerkzeug, (vi) ein Objektverfolgungswerkzeug, (vii) ein Binarisierungswerkzeug, usw. Darüber hinaus sind verschiedene Beispiele von Werkzeugen im linken Bereich 302 der Schnittstelle 300 sichtbar.
  • In einigen Ausführungsformen wählt der Benutzer zum Erstellen eines Auftrags die Registerkarte „AUFBAUEN“ 304 aus, um mit der Schnittstelle 300 in Kontakt zu treten. Von diesem Punkt aus kann der Benutzer eine beliebige Anzahl von Werkzeugen aus dem Fenster 302 auswählen, indem er jedes Werkzeug in das mittlere Fenster 306 zieht. Bei der Ausführung wird der Auftrag in der Regel so ausgeführt, dass jedes Werkzeug der Reihe nach ausgeführt wird, wie es in der allgemeinen Auftragsskizze vorgesehen ist. Im Beispiel von 3 ist ersichtlich, dass drei Werkzeuge für den Auftrag ausgewählt wurden: (1) Lokalisieren von Objekt 1; (2) Helligkeit 1; und (3) Pixelanzahl 1. Falls gewünscht, kann jedes Werkzeug weiter angepasst werden, um verschiedene Parameter zu spezifizieren, die mit jedem dieser Werkzeuge verbunden sind. Um mit der nächsten Phase der Auftragserstellung fortzufahren, kann der Benutzer „ENDE“ wählen.
  • 4 zeigt ein weiteres Beispiel einer Anwendungsschnittstelle 400, die zur Optimierung eines oder mehrerer Aufträge gemäß den hier beschriebenen Ausführungsformen verwendet wird. Das Beispiel in 4 beinhaltet eine Anwendung des Binarisierungswerkzeugs 404. In einigen Ausführungsformen nimmt das Binarisierungswerkzeug den Teil des Bildes, der von dem ROI erfasst wurde, und konvertiert ihn entweder in ein schwarzes oder ein weißes Pixel. Wenn es sich bei dem Fokusbereich um ein Graustufenfoto handelt, kann die im Werkzeug eingestellte Toleranz mit den Pixelwerten im Bild abgeglichen werden, und alles, was über dieser Toleranz liegt, wird zu einem weißen Pixel, und jeder schwarze Wert (0-255), der darunter liegt, wird in Schwarz umgewandelt.
  • Nach der Erstellung eines Auftrags kann der Benutzer dann die Registerkarte „VERBINDEN“ 500 auswählen, wie in 5 dargestellt, die eine beispielhafte Schnittstelle 502 zur Angabe von Eingabe- und Ausgabeparametern für die Bildgebungsvorrichtung zeigt, die den zuvor erstellten Auftrag ausführen soll.
  • Wie bereits erwähnt, überträgt die Bildgebungsvorrichtung (z. B. 104 in 1), die den Auftrag ausführt, die Ergebnisse dieses Auftrags häufig an eine Fremd-Rechenvorrichtung (z. B. 105 in 1), wie eine PLC. Aufgrund der begrenzten Verarbeitungs- und Programmiermöglichkeiten einertypischen PLC können praktisch nur bestimmte Daten an die PLC übertragen werden. Die Bezeichnung der zu übertragenden Daten kann durch Auswahl von „HINZUFÜGEN“ 504 im Ergebnisdatenbereich der Schnittstelle 502 festgelegt werden. Durch diese Auswahl wird die in 6 dargestellte Schnittstelle 600 aufgerufen. Hier stehen dem Benutzer drei Hauptfenster zur Verfügung: das Werkzeugfenster 602, das Ausgabedatenfenster 604 und das Vorschaunachrichtenfenster 606. Es sei darauf hingewiesen, dass diese Bezeichnungen lediglich beispielhaft sind und dazu dienen, den Sinn des Vorgangs zu vermitteln.
  • Im Werkzeugfenster 602 wählt der Benutzer einen der zuvor konfigurierten Aufträge aus, für die bestimmte Informationen an eine Fremd-Vorrichtung übertragen werden sollen. Im Beispiel von 6 wird der Auftrag „Pixelanzahl 1“ ausgewählt. Nach der Auswahl werden die entsprechenden Datenausgaben für den jeweiligen Auftrag im Ausgabedatenfenster 604 als Liste von auswählbaren Elementen bereitgestellt.
  • Von diesem Punkt aus kann der Benutzer eine beliebige der Datenausgaben auswählen, die an eine Fremd-Vorrichtung ausgegeben werden sollen. Unter Bezugnahme auf die 6-8 kann man eine Abfolge der Auswahl der gewünschten Ausgaben sehen, wobei in 6 der Benutzer die „Pixel_Anzahl“-Ausgabe 620 auswählt, in der beispielhaften Schnittstelle 700 von 7 wählt der Benutzer die „Pixel Anzahl_min“-Ausgabe 720 aus, und in der beispielhaften Schnittstelle 800 von 8 wählt der Benutzer die „Pixel_Anzahl_max“-Ausgabe 820 aus.
  • Bei Auswahl eines jeden Ausgabeparameters liefert das Vorschaunachrichtenfeld 606 in einigen Ausführungsformen eine Vorschaunachricht 610, 710, bei der es sich um den Ergebnisdatenwert von einem oder mehreren der ausgewählten Ergebnisparameter handeln kann. Auf diese Weise kann ein Benutzer genau bestimmen, welcher Datenstrom von der Bildgebungsvorrichtung an die Fremd-Vorrichtung (z. B. eine PLC) gesendet werden soll. Wie im Verlauf der 6-7 verfolgt werden kann, ändert sich die Vorschaunachricht von Vorschaunachricht 610 zu Vorschaunachricht 710 mit der Auswahl der einzelnen Ergebnisparameter. In einigen Ausführungsformen, wie in den Beispielen der 6-7, ist die Vorschaunachricht 610, 710 eine dezimale Darstellung der von der Bildgebungsvorrichtung 104 an die Steuerrechenvorrichtung 105 zu übertragenden Nutzdatennachricht. Die Vorschaunachricht 610, 710 kann jedoch in jeder geeigneten Form für ein Protokoll zwischen der Bildgebungsvorrichtung 104 und der Steuerrechenvorrichtung 105 erstellt werden. Beispielsweise kann die Vorschaunachricht 610, 710 statt in dezimaler Form in einer beliebigen alphanumerischen Form (z. B. binär, hexadezimal usw.) erfolgen.
  • In einigen Ausführungsformen kann die Vorschaunachricht als ein ununterbrochener Datenstrom angezeigt werden, der von der Bildgebungsvorrichtung ausgegeben wird. In einigen Ausführungsformen kann jeder Teil der Vorschaunachricht, der einem ausgewählten Ergebnisdatenwert entspricht, visuell von jedem anderen Teil der Vorschaunachricht getrennt werden. Beispielsweise können Leerzeichen, Bindestriche, Schrägstriche usw. verwendet werden, um die einzelnen Abschnitte der Vorschaunachricht 610, 710 visuell zu kennzeichnen. In einigen Ausführungsformen kann jeder Teil der Vorschaunachricht mit einer bestimmten Farbe hervorgehoben werden, die einer Auswahl eines bestimmten Ergebnisdatenfeldes entspricht. Zum Beispiel kann bei der Auswahl von „Pixel_Anzahl“ 620 jeder Teil dieser Zeile mit einer bestimmten Farbe hervorgehoben werden. Gleichzeitig wird die Vorschaunachricht 610, 710 so geändert, dass sie eine entsprechende binäre Darstellung enthält, die ebenfalls (entweder durch einen Hintergrund oder durch eine Textfarbe) mit derselben Farbe hervorgehoben werden kann. In einigen Ausführungsformen kann, wenn der Mauszeiger über einen bestimmten Teil der Vorschaunachricht 610, 710 bewegt wird, ein schwebendes Fenster erscheinen, in dem angezeigt wird, welchem Ergebnisdatenparameter dieserTeil entspricht. In gleicher Weise kann in einigen Ausführungsformen ein schwebendes Fenster erscheinen, das anzeigt, welcher Teil der Vorschaunachricht 610, 710 diesem Ergebnisdatenparameter entspricht, wenn der Mauszeiger über einen Ergebnisdatenparameter bewegt wird.
  • Außerdem kann ein Benutzer zwischen dem Eingabemodus (z. B. durch Drücken der Eingabemodus-Taste 625) und dem Rohdatenmodus (z. B. durch Drücken der Rohdatenmodus-Taste 630) wählen. Im Eingabemodus wird in einigen Ausführungsformen der Ausgabenachricht eine Kopfzeile mit Metadaten hinzugefügt. In einigen Ausführungsformen umfassen die Metadaten Informationen zur Nachrichtengröße. Im Rohdatenmodus wird der angezeigten Ausgabenachricht in einigen Ausführungsformen keine Kopfzeile hinzugefügt.
  • In einigen Ausführungsformen kann ein Bild (z. B. ein früheres Bild oder ein Testbild) geladen werden, bevor mit dem Teil der Anwendung zur Konfiguration der Ergebnisdaten fortgefahren wird. Auf diese Weise können Musterdaten in den verschiedenen Werten, die mit den Ergebnisdatenwerten verbunden sind, gesehen werden. Darüber hinaus können bei der Auswahl der einzelnen Ergebnisdaten die Ergebniswerte manuell bearbeitet werden, um zu bestimmen, wie sich diese Bearbeitungen auf die Vorschaunachricht auswirken können. Darüber hinaus kann der Benutzer die Standardwerte bearbeiten und diese Standardwerte mit dem Auftrag für eine spätere Bearbeitung speichern. Der Benutzer kann auch (z. B. im Größenfeld 615) die Größe der gesendeten Vorgaben sowie die maximale Größe des Arrays im Falle von Sammlungen von Ergebnisdaten (mehrere Strichcodes), die über die PLC gesendet werden, bearbeiten.
  • Zur weiteren Erläuterung, um die Vorschaunachricht 610, 710 zu erzeugen, kann in einigen Ausführungsformen ein Bild (z. B. das frühere Bild oder Testbild) in den Speicher 120 geladen werden. Das Bild kann aus jeder geeigneten Quelle stammen. So kann der Benutzer beispielsweise ein Bild von seinem Smartphone hochladen, oder das frühere Bild kann ein Bild aus einem früheren Auftragslauf, ein simuliertes Bild, ein Standardbild usw. sein. Anschließend erstellt der Prozessor 118 aus dem Bild den Datensatz, der zur Erstellung der Vorschaunachricht 610, 710 verwendet wird. In einigen Ausführungsformen können stattdessen Standarddaten verwendet werden, wenn einige oder alle Daten, die zur Erstellung der Vorschaunachricht 610, 710 erforderlich sind, nicht im Bild (oder im Datensatz, der aus dem Bild erstellt wird) enthalten sind. Wenn das in den Speicher 120 geladene Bild beispielsweise keinen Strichcode enthält, können stattdessen Standarddaten verwendet werden, um die Vorschaunachricht 610, 710 zu erstellen (wenn der Auftrag Informationen zu einem Strichcode erfordert).
  • Sobald der Auswahlprozess für ein bestimmtes Werkzeug abgeschlossen ist, kann der Benutzer zu einem anderen Werkzeug innerhalb des Werkzeugfensters 602 wechseln. Ein solcher Übergang ist in 9 dargestellt, wo die beispielhafte Schnittstelle 902 zeigt, dass der Benutzer zum Werkzeug 910 „Lokalisieren von Objekt 1“ gewechselt hat. Wie bei dem vorherigen Werkzeug kann der Benutzer wieder jeden gewünschten Ergebnisdatenparameter auswählen, der in die Ausgabe der Bildgebungsvorrichtung aufgenommen werden soll. Insbesondere werden die in der ursprünglichen (oder einer anderen) Werkzeugkonfiguration getroffenen Auswahlen nicht ignoriert. Stattdessen wird die Vorschaunachricht weiterhin auf der Grundlage aller ausgewählten Ergebnisdatenfelder geändert.
  • Nach Abschluss der Auswahl aller erforderlichen Ergebnisdatenfelder wählt der Benutzer „VORLEGEN“ 900, damit die Einstellungen gespeichert werden und die Anwendung zum vorherigen Bildschirm zurückkehrt, wie in der beispielhaften Schnittstelle 1000 von 10 dargestellt. Wie darin zu sehen ist, wurde zu diesem Zeitpunkt der Bereich „Ergebnisdaten“ 1010 auf der Grundlage der zuvor getroffenen Auswahlen ausgefüllt, und es wird eine Vorschaunachricht für diese Auswahlen angezeigt.
  • Die 11 und 12 zeigen weitere Beispiele. 11 zeigt insbesondere einen Beispielbildschirm 1100, auf dem das Werkzeug 1110 „Lesen von Strichcode 1“ ausgewählt und die Feldspalte entsprechend ausgefüllt wurde (z. B. mit „Dekodieren.Vergeich_Modus“, „Dekodieren.Vergeich_Folge“ und „Dekodieren.nicht_Lesen_Modus“). 12 zeigt einen Beispielbildschirm 1200, auf dem das Werkzeug 1210 „Pixelanzahl 1“ ausgewählt wurde und die Feldspalte 1220 entsprechend ausgefüllt wurde (z. B. mit „Pixel_Bereich_niedrig“, „Pixel_Bereich_groß“, „Pixel_Anzahl_niedrig“ und „Pixel_Anzahl_groß“).
  • Ein ähnlicher Ansatz kann auf der Eingabeseite der Bildgebungsvorrichtung 104 implementiert werden, wobei ein Benutzer angeben kann, welche Eingaben an der Bildgebungsvorrichtung 104 empfangen werden sollen. Die Spezifikation dieser Eingaben kann in ähnlicher Weise eine Vorschaunachricht liefern, die von der PLC (oder einer Fremd-Rechenvorrichtung) ausgegeben werden muss, damit eine ordnungsgemäße Kommunikation stattfinden kann. Dieser „umgekehrte“ Prozess ist nützlich, wenn die Steuerrechenvorrichtung 105 zur Steuerung der Bildgebungsvorrichtung 104 verwendet wird (z. B. wenn die Steuerrechenvorrichtung 105 Daten an die Bildgebungsvorrichtung 104 sendet, um den Auftrag „eilig“ zu ändern).
  • In diesem Zusammenhang zeigt 13 einen Beispielbildschirm 1300, der eine Darstellung einer in die Bildgebungsvorrichtung einzugebenden Eingabenachricht anzeigt. In dem Beispielbildschirm 1300 wurde das Werkzeug „Lesen von Strichcode“ ausgewählt, und die Vorschaueingabenachricht 1310 wird angezeigt.
  • 14A zeigt ein Beispiel für die Bestimmung einer Beispielvorschau von Ausgabedaten, während 14B ein Beispiel für die Bestimmung einer Beispielvorschau von Eingabedaten illustriert. In dem Beispielverfahren 1400 von 14A wird in Block 1405 ein Auftrag mit Standardausgabedaten erstellt (z. B. Daten, die von der Bildgebungsvorrichtung 104 an die Steuerrechenvorrichtung 105 ausgegeben würden). In Block 1410 wird festgestellt, ob benutzerdefinierte Daten vorhanden sind (z. B. vom Benutzer eingegebene Daten). In diesem Zusammenhang ist zu verstehen, dass der Benutzer Daten auf jede geeignete Weise eingeben kann. So kann der Benutzer beispielsweise Daten in den Ausgabebereich 604 eingeben und damit die zuvor im Ausgabebereich 604 angezeigten Standardwerte „überschreiben“. Wenn benutzerdefinierte Daten vorhanden sind, werden diese anstelle der Standardausgabedaten in Block 1420 bei der Berechnung der Nachrichtenvorschau verwendet.
  • Wenn keine benutzerdefinierten Daten vorhanden sind, wird in Block 1415 ermittelt, ob Auftragsdaten vorhanden sind (z. B. von einem Auftrag, der auf dem oben beschriebenen früheren Bild ausgeführt wurde, oder von einem zuvor ausgeführten Auftrag usw.). Ist dies der Fall, werden die Daten des Auftragslaufs bei der Bestimmung der Nachrichtenvorschau in Block 1425 verwendet. Ist dies nicht der Fall, werden die Standarddaten bei der Bestimmung der Nachrichtenvorschau in Block 1430 verwendet.
  • In Block 1435 wird die Nachrichtenprobenvorschau zusammengestellt. Es versteht sich, dass in einigen Ausführungsformen die Blöcke 1410-1430 iterativ durch jedes der Felder (z. B. jede der Zeilen im Ausgabefenster 604) durchgeführt werden können, bevor die vollständige Nachrichtenprobenvorschau in Block 1435 zusammengestellt wird. Auf diese Weise können für einige Felder die Standardwerte verwendet werden, während für andere Felder die vom Benutzer eingegebenen Daten und/oder für wieder andere Felder die zuvor erfassten Auftragsdaten verwendet werden.
  • 14B zeigt ein Beispiel für die Bestimmung einer Vorschaunachricht von Daten, die von der Steuerrechenvorrichtung 105 in die Bildgebungsvorrichtung 104 eingegeben werden würden. Wie bereits erwähnt, ist dieser „umgekehrte“ Prozess in der Situation nützlich, in der die Steuerrechenvorrichtung 105 zur Steuerung der Bildgebungsvorrichtung 104 verwendet wird (z. B. wenn die Steuerrechenvorrichtung 105 Daten an die Bildgebungsvorrichtung 104 sendet, um den Auftrag „eilig“ zu ändern). In Block 1455 wird ein Auftrag mit Standardeingabedaten erstellt. In Block 1460 wird bestimmt, ob benutzerdefinierte Daten vorhanden sind (z. B. vom Benutzer eingegebene Daten). In diesem Zusammenhang ist zu verstehen, dass der Benutzer die Daten auf jede geeignete Weise eingeben kann. Zum Beispiel kann der Benutzer Daten an der Steuerrechenvorrichtung 105, der Bildgebungsvorrichtung 104 und/oder der Benutzerrechenvorrichtung 102 eingeben.
  • Wenn benutzerdefinierte Daten vorhanden sind, werden diese bei der Bestimmung der Vorschaunachricht in Block 1465 verwendet. Wenn keine benutzerdefinierten Daten vorhanden sind, werden die Standarddaten bei der Bestimmung der Vorschaunachricht in Block 1470 verwendet. In Block 1475 wird die Vorschau des Nachrichtenmusters zusammengestellt. Es versteht sich, dass in einigen Ausführungsformen die Blöcke 1460-1470 iterativ für jedes der Felder der Eingabemeldung durchgeführt werden können, bevor die vollständige Vorschau des Nachrichtenmusters in Block 1475 zusammengestellt wird. Auf diese Weise können die Standardwerte für einige Felder verwendet werden, während die vom Benutzer eingegebenen Daten für andere Felder verwendet werden.
  • Die Vorschaunachricht kann auf der Grundlage eines Standardformatierungsschemas oder auf der Grundlage des erwarteten Protokolls formatiert werden, das für die Kommunikation zwischen der Bildgebungsvorrichtung und der Fremd-Steuerrechenvorrichtung 105, z. B. einer PLC, verwendet werden soll. So kann die Vorschaunachricht in einigen Fällen eine binäre Nachricht sein, sie kann eine dezimale Nachricht sein, sie kann alphanumerische Zeichen enthalten, oder sie kann auf jede beliebige Weise formatiert sein, die mit dem implementierten Protokoll kompatibel ist.
  • Der hier beschriebene Ansatz kann besonders vorteilhaft sein, da er einen Einblick in die spezifische Nachricht gibt, die von der Bildgebungsvorrichtung an eine Fremd-Rechenvorrichtung übertragen wird, und hilft, verschiedene Teile dieser Nachricht abzugrenzen. Mit diesen Informationen ist es möglich, die Fremd-Steuerrechenvorrichtung 105 (z. B. eine SPS) mit wesentlich größerer Leichtigkeit zu programmieren, da der Inhalt der Nachricht nicht mehr unbekannt ist. Mit anderen Worten: Während der PLC-Programmierer normalerweise den allgemeinen Inhalt der an ihn übertragenen Nutzdaten kennt (z. B. die Tatsache, dass die Nachricht eine Pixelzahl enthält), ist ihm normalerweise nicht bekannt, welcher Teil der Nachricht diese Pixelzahl darstellt. Diese Unkenntnis behindert eine effiziente Programmierung der PLC und eine effektive Kommunikation zwischen den Bildgebungsvorrichtungen und der PLC. Die hier offenbarten Ansätze helfen, diese Schwierigkeit zu überwinden.
  • BEISPIELMETHODEN
  • 15 zeigt ein Beispielverfahren 1500 zum Anzeigen einer Darstellung einer Übertragung einer Nachricht, die von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung ausgegeben wird. Das Beispielverfahren 1500 beginnt mit dem Konfigurieren (z. B. über die Anwendung(en) 116 und/oder 156) des Bildverarbeitungsauftrags (z. B. durch Ausführen einer Reihe von Blöcken 1510). Genauer gesagt kann in einigen Ausführungsformen das Konfigurieren des Bildverarbeitungsauftrags das Konfigurieren mindestens eines Werkzeugs umfassen, das von der Bildgebungsvorrichtung während der Ausführung des Auftrags ausgeführt wird (z. B. Block 1520). In einigen Implementierungen umfasst das Konfigurieren des mindestens einen Werkzeugs: (i) das Anzeigen, basierend auf dem mindestens einen Werkzeug, einer Vielzahl von Feldern (z.B. Feldspalten 1120, 1220) zur Auswahl durch einen Benutzer; (ii) das Empfangen, von dem Benutzer, einer Auswahl von mindestens einem Feld der Vielzahl von Feldern; und (iii) das Konfigurieren des mindestens einen Werkzeugs ferner basierend auf dem ausgewählten mindestens einen Feld.
  • In Block 1530 kann das Konfigurieren des Bildverarbeitungsauftrags ferner das Konfigurieren eines Ausgabedatenstroms auf der Grundlage des mindestens einen Werkzeugs umfassen, wobei der Ausgabedatenstrom für die Kommunikation mit der Fremd-Rechenvorrichtung formatiert wird. In Block 1540 kann das Konfigurieren des Bildverarbeitungsauftrags ferner das Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung 116, 156 umfassen, wobei die Darstellung der Ausgabenachricht auf der Grundlage des Konfigurierens des Ausgabedatenstroms gebildet wird, wobei die Darstellung der Ausgabenachricht eine Darstellung einer Übertragung einer Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung ist. In einigen Ausführungsformen wird die angezeigte Ausgabenachricht auf der Grundlage der vom Benutzer eingegebenen Daten gebildet, wenn es vom Benutzer eingegebene Daten gibt (z. B. wie in Block 1410 von 14A bestimmt). Es versteht sich, dass die Art der verwendeten Daten (z. B. vom Benutzer eingegebene Daten, zuvor erfasste Auftragsdaten oder Standarddaten, wie im Beispiel von 14A dargestellt) für jedes Werkzeug oder jedes Feld unterschiedlich sein kann. Wenn ein Benutzer in dem Beispielbildschirm 1200 von 12 die Felder „Pixel Anzahl_niedrig“ und „Pixel Anzahl_groß“ auswählt und dann nur für „Pixel Anzahl_niedrig“ Daten eingibt, werden für „Pixel_Anzahl_groß“ die vom Benutzer eingegebenen Daten verwendet, für „Pixel Anzahl_groß“ jedoch zuvor erfasste Auftragsdaten oder Standarddaten. In diesem Zusammenhang ist zu verstehen, dass in einigen Implementierungen einige oder alle Blöcke des Beispielverfahrens 1400 von 14A im Block 1540 von 15 auftreten, um zu bestimmen, welche Daten für die Berechnung der Darstellung der Ausgabenachricht verwendet werden.
  • In Block 1550 wird der Bildverarbeitungsauftrag (z. B. von der BenutzerRechenvorrichtung oder der Steuerrechenvorrichtung) an die Bildgebungsvorrichtung übertragen. In Block 1560 wird der Bildverarbeitungsauftrag auf der Bildgebungsvorrichtung ausgeführt, was die Übertragung der Nachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung beinhalten kann.
  • 16 zeigt ein Beispielverfahren 1600 zur Anzeige einer Darstellung einer Übertragung einer Nachricht, die von einer Fremd-Rechenvorrichtung in die Bildgebungsvorrichtung eingegeben wurde. Das Beispielverfahren 1600 beginnt in Block 1610 mit dem Konfigurieren (z. B. über die Anwendung(en) 116 und/oder 156) des Bildverarbeitungsauftrags. In Block 1620 wird eine gewünschte Ausgabe des Bildverarbeitungsauftrags von einer Fremd-Rechenvorrichtung empfangen.
  • In Block 1630 wird die Darstellung der Eingabenachricht auf der Grundlage von: (i) dem konfigurierten Bildverarbeitungsauftrag und (ii) der gewünschten Ausgabe des Bildverarbeitungsauftrags bestimmt. In einigen Ausführungsformen wird die gewünschte Ausgabe des Bildverarbeitungsauftrags ganz oder teilweise wie in dem Beispielverfahren 1450 von 14B berechnet.
  • In Block 1640 wird die ermittelte Darstellung der Eingabenachricht angezeigt.
  • Es versteht sich, dass die Beispielverfahren 1500, 1600 ganz oder teilweise von jeder geeigneten, in 1 dargestellten Komponente(n) durchgeführt werden können. Beispielsweise kann jedes der Beispielverfahren von einer oder beiden der intelligenten Bildgebungsanwendung(en) 116 und/oder 156 ausgeführt werden.
  • Darüber hinaus kann jede der in den Beispielverfahren 1500, 1600 beschriebenen Aktionen in beliebiger Reihenfolge, Anzahl oder in jeder anderen geeigneten Kombination durchgeführt werden. Zum Beispiel können einige oder alle Blöcke der Verfahren 1500, 1600 einmal oder mehrmals vollständig ausgeführt werden. In einigen Beispielimplementierungen mögen einige der Blöcke nicht ausgeführt werden, während die hierin beschriebenen Operationen dennoch durchgeführt werden.
  • ZUSÄTZLICHE ÜBERLEGUNGEN
  • Die obige Beschreibung bezieht sich auf ein Blockdiagramm in den beigefügten Zeichnungen. Alternative Ausführungsformen des im Blockdiagramm dargestellten Beispiels umfassen ein oder mehrere zusätzliche oder alternative Elemente, Verfahren und/oder Vorrichtungen. Zusätzlich oder alternativ können einer oder mehrere der Beispielblöcke des Diagramms kombiniert, geteilt, neu angeordnet oder weggelassen werden. Die durch die Blöcke des Diagramms dargestellten Komponenten werden durch Hardware, Software, Firmware und/oder eine beliebige Kombination von Hardware, Software und/oder Firmware implementiert. In einigen Beispielen wird mindestens eine der durch die Blöcke dargestellten Komponenten durch eine Logikschaltung implementiert. Wie hierin verwendet, ist der Begriff „Logikschaltung“ ausdrücklich als eine physische Vorrichtung definiert, die mindestens eine Hardwarekomponente enthält, die so konfiguriert ist (z. B. durch den Betrieb gemäß einer vorbestimmten Konfiguration und/oder durch die Ausführung gespeicherter maschinenlesbarer Anweisungen), dass sie eine oder mehrere Maschinen steuert und/oder Vorgänge einer oder mehrerer Maschinen durchführt. Beispiele für Logikschaltungen sind ein oder mehrere Prozessoren, ein oder mehrere Coprozessoren, ein oder mehrere Mikroprozessoren, ein oder mehrere Controller, ein oder mehrere digitale Signalprozessoren (DSPs), ein oder mehrere anwendungsspezifische integrierte Schaltungen (ASICs), ein oder mehrere feldprogrammierbare Gate-Arrays (FPGAs), ein oder mehrere Mikrocontroller-Einheiten (MCUs), ein oder mehrere Hardware-Beschleuniger, ein oder mehrere Spezial-Computerchips und ein oder mehrere System-on-Chip-Bauteile (SoC). Einige Beispiel-Logikschaltungen, wie ASICs oder FPGAs, sind speziell konfigurierte Hardware zur Durchführung von Vorgängen (z. B. eine oder mehrere der hierin beschriebenen und in den Flussdiagrammen dieser Offenbarung dargestellten Vorgänge, falls solche vorhanden sind). Einige Beispiel-Logikschaltungen sind Hardware, die maschinenlesbare Befehle ausführt, um Operationen durchzuführen (z. B. eine oder mehrere der hierin beschriebenen und durch die Flussdiagramme dieser Offenbarung dargestellten Vorgänge, falls solche vorhanden sind). Einige Beispiel-Logikschaltungen umfassen eine Kombination aus speziell konfigurierter Hardware und Hardware, die maschinenlesbare Befehle ausführt. Die obige Beschreibung bezieht sich auf verschiedene hierin beschriebene Vorgänge und Flussdiagramme, die zur Veranschaulichung des Ablaufs dieser Vorgänge angehängt sein können. Alle derartigen Flussdiagramme sind repräsentativ für die hier offenbarten Beispielverfahren. In einigen Beispielen implementieren die durch die Flussdiagramme dargestellten Verfahren die durch die Blockdiagramme dargestellten Vorrichtungen. Alternative Implementierungen der hier offenbarten Beispielverfahren können zusätzliche oder alternative Vorgänge umfassen. Darüber hinaus können Vorgänge alternativer Implementierungen der hier offenbarten Verfahren kombiniert, aufgeteilt, neu angeordnet oder weggelassen werden. In einigen Beispielen werden die hier beschriebenen Vorgänge durch maschinenlesbare Anweisungen (z. B. Software und/oder Firmware) implementiert, die auf einem Medium (z. B. einem zugreifbaren maschinenlesbaren Medium) zur Ausführung durch eine oder mehrere Logikschaltungen (z. B. Prozessor(en)) gespeichert sind. In einigen Beispielen werden die hier beschriebenen Vorgänge durch eine oder mehrere Konfigurationen von einem oder mehreren speziell entwickelten Logikschaltungen (z. B. ASIC(s)) implementiert. In einigen Beispielen werden die hier beschriebenen Vorgänge durch eine Kombination von speziell entwickelten Logikschaltungen und maschinenlesbaren Anweisungen, die auf einem Medium (z. B. einem zugreifbaren maschinenlesbaren Medium) zur Ausführung durch Logikschaltungen gespeichert sind, implementiert.
  • Wie hierin verwendet, ist jeder der Begriffe „zugreifbares maschinenlesbares Medium“, „nichttransitorisches maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“ ausdrücklich definiert als ein Speichermedium (z. B. eine Platte eines Festplattenlaufwerks, eine Digital Versatile Disc, eine Compact Disc, ein Flash-Speicher, ein Festwertspeicher, ein Speicher mit wahlfreiem Zugriff usw.), auf dem maschinenlesbare Anweisungen (z. B. Programmcode in Form von z. B. Software und/oder Firmware) für eine beliebige geeignete Zeitdauer (z. B. dauerhaft, für einen längeren Zeitraum (z. B. während der Ausführung eines mit den maschinenlesbaren Anweisungen verbundenen Programms) und/oder für einen kurzen Zeitraum (z. B. während der Zwischenspeicherung der maschinenlesbaren Anweisungen und/oder während eines Pufferungsprozesses)) gespeichert werden. Darüber hinaus sind die Begriffe „zugreifbares, maschinenlesbares Medium“, „nichttransitorisches, maschinenlesbares Medium“ und „maschinenlesbares Speichervorrichtung“ hier ausdrücklich so definiert, dass sie die Übertragung von Signalen ausschließen. Das heißt, dass keiner der Begriffe „zugreifbares maschinenlesbares Medium“, „nichttransitorisches maschinenlesbares Medium“ und „maschinenlesbare Speichervorrichtung“, wie sie in den Ansprüchen dieses Patents verwendet werden, so gelesen werden kann, dass sie durch ein sich ausbreitendes Signal implementiert werden.
  • In der vorstehenden Beschreibung sind bestimmte Ausführungsformen beschrieben worden. Einem Fachmann ist jedoch klar, dass verschiedene Modifikationen und Änderungen vorgenommen werden können, ohne vom Anwendungsbereich der Erfindung, wie er in den nachstehenden Ansprüchen dargelegt ist, abzuweichen. Dementsprechend sind die Beschreibung und die Figuren eher illustrativ als einschränkend zu verstehen, und alle derartigen Modifikationen sollen in den Anwendungsbereich der vorliegenden Lehren einbezogen werden. Darüber hinaus sind die beschriebenen Ausführungsformen/Beispiele/Implementierungen nicht als sich gegenseitig ausschließend zu verstehen, sondern vielmehr als potentiell kombinierbar, wenn solche Kombinationen in irgendeiner Weise permissiv sind. Mit anderen Worten kann jedes Merkmal, das in einer der vorgenannten Ausführungsformen/Beispiele/Implementierungen offenbart wird, in jeder der anderen vorgenannten Ausführungsformen/Beispiele/Implementierungen enthalten sein.
  • Der Nutzen, die Vorteile, die Problemlösungen und alle Elemente, die dazu führen können, dass ein Nutzen, ein Vorteil oder eine Lösung eintritt oder stärker ausgeprägt wird, sind nicht als kritische, erforderliche oder wesentliche Merkmale oder Elemente eines oder aller Ansprüche zu verstehen. Die beanspruchte Erfindung wird ausschließlich durch die beigefügten Ansprüche definiert, einschließlich aller Änderungen, die während der Anhängigkeit dieser Anmeldung vorgenommen wurden, und aller Äquivalente dieser Ansprüche in der erteilten Fassung.
  • Darüber hinaus können in diesem Dokument relationale Begriffe wie erster und zweiter, oberer und unterer und dergleichen lediglich verwendet sein, um eine Entität oder Aktion von einer anderen Entität oder Aktion zu unterscheiden, ohne notwendigerweise eine tatsächliche derartige Beziehung oder Reihenfolge zwischen solchen Entitäten oder Aktionen zu erfordern oder zu implizieren. Die Ausdrücke „umfasst“, „umfassend“, „hat“, „haben“, „aufweist“, „aufweisend“, „enthält“, „enthaltend“ oder jede andere Variation davon sollen eine nicht-ausschließliche Einbeziehung abdecken, derart, dass ein Prozess, Verfahren, Produkt oder Vorrichtung, das eine Liste von Elementen umfasst, hat, aufweist, enthält, nicht nur diese Elemente aufweist, sondern auch andere Elemente aufweisen kann, die nicht ausdrücklich aufgelistet sind oder einem solchen Prozess, Verfahren, Produkt oder Vorrichtung inhärent sind. Ein Element, dem „umfasst ... ein“, „hat ... ein“, „aufweist ... ein“ oder „enthält ...ein“ vorausgeht, schließt ohne weitere Einschränkungen die Existenz zusätzlicher identischer Elemente in dem Prozess, dem Verfahren, dem Produkt oder der Vorrichtung, die das Element umfasst, hat, aufweist oder enthält, nicht aus. Die Begriffe „ein“ und „eine“ sind als eine oder mehrere definiert, sofern es hierin nicht ausdrücklich anders angegeben wird. Die Begriffe „im Wesentlichen“, „im Allgemeinen“, „ungefähr“, „etwa“ oder jede andere Version davon sind so definiert, dass sie von einem Fachmann auf diesem Gebiet nahekommend verstanden werden, und in einer nicht-einschränkenden Ausführungsform ist der Ausdruck definiert als innerhalb von 10%, in einer weiteren Ausführungsform als innerhalb von 5%, in einer weiteren Ausführungsform als innerhalb von 1% und in einer weiteren Ausführungsform als innerhalb von 0,5%. Der Ausdruck „gekoppelt“, wie er hierin verwendet wird, ist als verbunden definiert, jedoch nicht notwendigerweise direkt und nicht notwendigerweise mechanisch. Eine Vorrichtung oder eine Struktur, die auf eine bestimmte Art „konfiguriert“ ist, ist zumindest auch so konfiguriert, kann aber auch auf Arten konfiguriert sein, die nicht aufgeführt sind.
  • Die Zusammenfassung der Offenbarung wird bereitgestellt, um es dem Leser zu ermöglichen, schnell das Wesen der technischen Offenbarung zu ermitteln. Sie wird mit dem Verständnis bereitgestellt, dass sie nicht zur Auslegung oder Einschränkung des Umfangs oder der Bedeutung der Ansprüche verwendet wird. Ferner kann der vorangehenden detaillierten Beschreibung entnommen werden, dass verschiedene Merkmale in verschiedenen Ausführungsformen zum Zwecke der Verschlankung der Offenbarung zusammengefasst sind. Diese Art der Offenbarung ist nicht so auszulegen, dass sie die Absicht widerspiegelt, dass die beanspruchten Ausführungsformen mehr Merkmale erfordern, als ausdrücklich in jedem Anspruch angegeben sind. Vielmehr ist es so, wie die folgenden Ansprüche zeigen, dass der erfinderische Gegenstand in weniger als allen Merkmalen einer einzigen offenbarten Ausführungsform liegt. Somit werden die folgenden Ansprüche hiermit in die detaillierte Beschreibung inkorporiert, wobei jeder Anspruch für sich als ein separat beanspruchter Gegenstand steht.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 63/182491 [0001]

Claims (20)

  1. Verfahren zum Betreiben eines Bildverarbeitungssystems, wobei das Bildverarbeitungssystem eine Rechenvorrichtung zum Ausführen einer Anwendung und eine Bildgebungsvorrichtung umfasst, die kommunikativ mit der Rechenvorrichtung gekoppelt ist, wobei die Bildgebungsvorrichtung so betreibbar ist, dass sie mit einer Fremd-Rechenvorrichtung kommuniziert, wobei das Verfahren umfasst: Konfigurieren eines Bildverarbeitungsauftrags über die Anwendung, wobei das Konfigurieren des Bildverarbeitungsauftrags umfasst: Konfigurieren mindestens eines Werkzeugs, das von der Bildgebungsvorrichtung während einer Ausführung des Auftrags ausgeführt werden soll; Konfigurieren eines Ausgabedatenstroms basierend auf dem mindestens einen Werkzeug, wobei der Ausgabedatenstrom für eine Kommunikation mit der Fremd-Rechenvorrichtung formatiert ist; und Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung, wobei die Darstellung der Ausgabenachricht basierend auf der Konfiguration des Ausgabedatenstroms gebildet wird, wobei die Darstellung der Ausgabenachricht eine Darstellung einer Übertragung einer Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung ist; Übertragen des Bildverarbeitungsauftrags von der Rechenvorrichtung an die Bildgebungsvorrichtung; und Ausführen des Bildverarbeitungsauftrags auf der Bildgebungsvorrichtung, wobei das Ausführen des Bildverarbeitungsauftrags das Übertragen der Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung umfasst.
  2. Verfahren nach Anspruch 1, wobei die Darstellung der Ausgabenachricht eine binäre Darstellung des Ausgangsdatenstroms ist.
  3. Verfahren nach Anspruch 1, wobei das Anzeigen der Darstellung der Ausgabenachricht als Reaktion auf das Konfigurieren des Ausgabedatenstroms erfolgt.
  4. Verfahren nach Anspruch 1, wobei die Fremd-Rechenvorrichtung eine programmierbare Logiksteuerung (PLC) ist.
  5. Verfahren nach Anspruch 1, wobei das Konfigurieren eines Ausgabedatenstroms basierend auf dem mindestens einen Werkzeug ferner umfasst: Anzeigen, basierend auf dem mindestens einen Werkzeug, einer Vielzahl von Feldern zur Auswahl durch einen Benutzer; Empfangen einer Auswahl von mindestens einem Feld aus der Vielzahl von Feldern durch den Benutzer; und Konfigurieren des mindestens einen Werkzeugs basierend auf dem ausgewählten mindestens einen Feld.
  6. Verfahren nach Anspruch 5, wobei das Konfigurieren eines Ausgabedatenstroms basierend auf dem mindestens einen Werkzeug ferner umfasst: Anzeigen eines Größenfeldes für jedes Feld der Vielzahl von Feldern; Empfangen, von einem Benutzer, einer Eingabe für mindestens eines der Größenfelder; und Konfigurieren des Ausgangsdatenstroms ferner basierend auf der empfangenen Eingabe.
  7. Verfahren nach Anspruch 1, wobei das Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung ferner umfasst: Anzeigen der Darstellung der Ausgabenachricht in einem Eingabemodus durch Hinzufügen einer Kopfzeile mit Metadaten zu der Ausgabenachricht.
  8. Verfahren nach Anspruch 1, wobei das Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung ferner umfasst: Anzeigen der Darstellung der Ausgabenachricht in einem Rohdatenmodus durch Anzeigen von Rohdaten der Ausgabenachricht, und Nichthinzufügen einer Kopfzeile mit Metadaten zu der Ausgabenachricht.
  9. Verfahren nach Anspruch 1, wobei das Konfigurieren des Ausgabedatenstroms basierend auf dem mindestens einen Werkzeug das Ausführen jedes des mindestens einen Werkzeugs mit einem jeweiligen Eingabedatensatz umfasst, um einen entsprechenden Ausgabedatensatz zu empfangen.
  10. Verfahren nach Anspruch 1, wobei die Darstellung der Ausgabenachricht ferner basierend auf einem früheren Bild gebildet wird.
  11. Bildverarbeitungssystem, umfassend: eine Rechenvorrichtung zum Ausführen einer Anwendung, wobei die Anwendung zum Konfigurieren eines Bildverarbeitungsauftrags betreibbar ist, wobei das Konfigurieren des Bildverarbeitungsauftrags umfasst: Konfigurieren mindestens eines Werkzeugs, das von der Bildgebungsvorrichtung während einer Ausführung des Auftrags ausgeführt werden soll; Konfigurieren eines Ausgabedatenstroms basierend auf dem mindestens einen Werkzeug, wobei der Ausgabedatenstrom für eine Kommunikation mit einer Fremd-Rechenvorrichtung formatiert ist; und Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung, wobei die Darstellung der Ausgabenachricht basierend auf dem Konfigurieren des Ausgabedatenstroms gebildet wird, wobei die Ausgabenachricht eine Darstellung einer Übertragung einer Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung ist, wobei die angezeigte Darstellung der Ausgabenachricht ferner basierend auf mindestens einem gebildet wird von: (i) von einem Benutzer eingegebenen Daten, (ii) früheren Bilddaten oder (iii) Standarddaten; wobei die Anwendung ferner betreibbar ist, um die Rechenvorrichtung zu veranlassen, den Bildverarbeitungsauftrag an eine Bildgebungsvorrichtung zu übertragen; und wobei die Bildgebungsvorrichtung so konfiguriert ist, dass sie den Bildverarbeitungsauftrag empfängt und den Bildverarbeitungsauftrag ausführt, was das Übertragen der Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung umfasst.
  12. System nach Anspruch 11, wobei das Konfigurieren des Bildverarbeitungsauftrags ferner das Bilden der angezeigten Darstellung der Ausgabenachricht basierend auf den vom Benutzer eingegebenen Daten umfasst.
  13. System nach Anspruch 11, wobei das Konfigurieren des Bildverarbeitungsauftrags ferner das Bilden der angezeigten Darstellung der Ausgabenachricht ferner basierend auf den früheren Bilddaten umfasst.
  14. System nach Anspruch 11, wobei die Darstellung der Ausgabenachricht eine binäre Darstellung des Ausgangsdatenstroms ist.
  15. System nach Anspruch 11, wobei das Anzeigen der Darstellung der Ausgabenachricht als Reaktion auf das Konfigurieren des Ausgabedatenstroms erfolgt.
  16. System nach Anspruch 11, wobei die Fremd-Rechenvorrichtung eine programmierbare Logiksteuerung (PLC) ist.
  17. System nach Anspruch 11, wobei das Anzeigen einer Darstellung einer Ausgabenachricht über die Anwendung ferner umfasst: Anzeigen der Darstellung der Ausgabenachricht in einem Eingabemodus durch Hinzufügen einer Kopfzeile mit Metadaten zu der Ausgabenachricht.
  18. Bildverarbeitungssystem, umfassend: eine Rechenvorrichtung zum Ausführen einer Anwendung, wobei die Anwendung betreibbar ist, um einen Bildverarbeitungsauftrag zu konfigurieren, und die Anwendung ferner betreibbar ist, um eine Darstellung einer Eingabenachricht anzuzeigen durch: Konfigurieren eines Bildverarbeitungsauftrags über die Anwendung, wobei das Konfigurieren des Bildverarbeitungsauftrags das Konfigurieren mindestens eines Werkzeugs umfasst, das von einer Bildgebungsvorrichtung während einer Ausführung des Auftrags ausgeführt werden soll; Empfangen einer gewünschten Ausgabe des Bildverarbeitungsauftrags von einer Fremd-Rechenvorrichtung; Bestimmen der Darstellung der Eingabenachricht über die Anwendung basierend auf: (i) dem konfigurierten Bildverarbeitungsauftrag, und (ii) der gewünschten Ausgabe des Bildverarbeitungsauftrags; und Anzeigen der bestimmten Darstellung der Eingabenachricht über die Anwendung.
  19. System nach Anspruch 18, ferner umfassend die Bildgebungsvorrichtung, wobei die Bildgebungsvorrichtung so konfiguriert ist, dass sie den Bildverarbeitungsauftrag empfängt und den Bildverarbeitungsauftrag ausführt, was das Übertragen einer Nutzdatennachricht von der Bildgebungsvorrichtung an die Fremd-Rechenvorrichtung umfasst.
  20. System nach Anspruch 18, wobei die Fremd-Rechenvorrichtung eine programmierbare Logiksteuerung (PLC) umfasst.
DE112022002389.9T 2021-04-30 2022-04-22 Industrielles ethernet-konfigurationswerkzeug mit vorschaufähigkeiten Pending DE112022002389T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163182491P 2021-04-30 2021-04-30
US63/182,491 2021-04-30
US17/389,078 US20220350620A1 (en) 2021-04-30 2021-07-29 Industrial ethernet configuration tool with preview capabilities
US17/389,078 2021-07-29
PCT/US2022/026009 WO2022231979A1 (en) 2021-04-30 2022-04-22 Industrial ethernet configuration tool with preview capabilites

Publications (1)

Publication Number Publication Date
DE112022002389T5 true DE112022002389T5 (de) 2024-02-29

Family

ID=83807549

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112022002389.9T Pending DE112022002389T5 (de) 2021-04-30 2022-04-22 Industrielles ethernet-konfigurationswerkzeug mit vorschaufähigkeiten

Country Status (4)

Country Link
US (1) US20220350620A1 (de)
DE (1) DE112022002389T5 (de)
GB (1) GB2620535A (de)
WO (1) WO2022231979A1 (de)

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI102869B (fi) * 1996-02-26 1999-02-26 Nokia Mobile Phones Ltd Laite, menetelmä ja järjestelmä eri sovelluksiin liittyvien tietojen l ähettämiseksi ja vastaanottamiseksi
US7743362B2 (en) * 1998-02-17 2010-06-22 National Instruments Corporation Automatic generation of application domain specific graphical programs
US8127247B2 (en) * 2004-06-09 2012-02-28 Cognex Corporation Human-machine-interface and method for manipulating data in a machine vision system
US7660037B2 (en) * 2006-06-06 2010-02-09 Seiko Epson Corporation Screen, projector, and image display device
KR101377864B1 (ko) * 2007-05-15 2014-03-25 엘지전자 주식회사 영상표시장치 및 그 제어방법
JP2009077362A (ja) * 2007-08-24 2009-04-09 Sony Corp 画像処理装置、動画再生装置、これらにおける処理方法およびプログラム
US9268483B2 (en) * 2008-05-16 2016-02-23 Microsoft Technology Licensing, Llc Multi-touch input platform
US9405426B2 (en) * 2010-03-01 2016-08-02 Salesforce.Com, Inc. Method and system for providing an adaptive input user interface for data entry applications
US9811933B2 (en) * 2014-06-20 2017-11-07 Google Inc. Image editing using selective editing tools
JP6648581B2 (ja) * 2016-03-22 2020-02-14 コニカミノルタ株式会社 画像処理装置およびプログラム
KR20170112497A (ko) * 2016-03-31 2017-10-12 엘지전자 주식회사 이동 단말기 및 그 제어방법
US9846577B1 (en) * 2016-06-03 2017-12-19 Afero, Inc. Integrated development tool with preview functionality for an internet of things (IoT) system
JP6624046B2 (ja) * 2016-12-28 2019-12-25 京セラドキュメントソリューションズ株式会社 画像処理装置
JP7201981B2 (ja) * 2017-06-30 2023-01-11 学校法人 明治薬科大学 予測装置、予測方法および予測プログラム
EP3575898B1 (de) * 2018-06-01 2021-08-04 Selectron Systems AG Speicherprogrammierbare steuerung und betriebsverfahren für virtuelle speicherprogrammierbare steuerung und computerprogrammprodukt
US11231911B2 (en) * 2020-05-12 2022-01-25 Programmable Logic Consulting, LLC System and method for using a graphical user interface to develop a virtual programmable logic controller

Also Published As

Publication number Publication date
WO2022231979A1 (en) 2022-11-03
GB202316423D0 (en) 2023-12-13
US20220350620A1 (en) 2022-11-03
GB2620535A (en) 2024-01-10

Similar Documents

Publication Publication Date Title
DE102018102688A1 (de) Bildverarbeitungsvorrichtung, Bildverarbeitungsprogramm und Bildverarbeitungssystem
DE102012201823A1 (de) Verfahren zur Klassifizierung eines Pixels eines hyperspektralen Bildes in einer Fernerfassungsanwendung
DE102013217354B4 (de) Kantenmessungs-videowerkzeug und schnittstelle mit automatischen parametersatzalternativen
DE112020003158T5 (de) Trainingsverfahren für ein Zielerfassungsmodell, Verfahren und Vorrichtung zur Kennzeichnung der Daten
DE112020003332B4 (de) Dreidimensionale (3D) Tiefenbildgebungssysteme und -Verfahren zur dynamischen Container-Autokonfiguration
DE10260608A1 (de) System und Verfahren zum Modifizieren einer Bildverarbeitungssoftware ansprechend auf visuelle Testergebnisse
DE102017005964A1 (de) Techniken zum Auswählen von Objekten in Bildern
DE102013017099A1 (de) Auf interpolation inverser brennpunktstatistiken basierende tiefenschätzung
DE112022001743T5 (de) Systeme und verfahren zur optimierung der bildgebungseinstellungen und der bilderfassung für einen bildverarbeitungsauftrag
DE102020001437A1 (de) Verwendung kontextsensitiver Sensoren und multidimensionaler Gesteneingaben zum effizienten Generieren von nachbearbeiteten Digitalbildern
DE112020003085T5 (de) System, Verfahren und Vorrichtung zur Kennzeichnung von Daten in aufeinanderfolgenden Rahmen
DE102018109276A1 (de) Bildhintergrundsubtraktion für dynamische beleuchtungsszenarios
DE102014007023A1 (de) Bildeffektextraktion
BE1029597B1 (de) Bildverarbeitungssysteme und -verfahren zum automatischen Erzeugen eines oder mehrerer Bildverarbeitungsaufträge auf Grundlage interessierender Regionen (ROIs) digitaler Bilder
BE1029610B1 (de) Systeme und Verfahren zum Verbessern einer Performanz einer trainierbaren optischen Zeichenerkennung (OCR)
DE102022124537A1 (de) Verfahren zur erstellung eines optimierten/adaptiven bereichs von interesse (roi) basierend auf einer erkennung einer strichcodeposition im sichtfeld (fov)
BE1029306B1 (de) Industrielles ethernet-konfigurationswerkzeug mit vorschaufunktionen
DE112022002389T5 (de) Industrielles ethernet-konfigurationswerkzeug mit vorschaufähigkeiten
DE112022001773T5 (de) Systeme und Verfahren zur Bestimmung eines adaptiven Bereichs von Interesse (ROI) für die Berechnung von Bildmetriken
DE102013005658A1 (de) Erfassung eines dokuments
DE102015009894A1 (de) Ausrichten von Mehrfachansichtsabtastungen
BE1029311B1 (de) Systeme und verfahren zur interaktion mit überlappenden interessierenden regionen in bildverarbeitungsanwendungen
BE1029310B1 (de) Systeme und verfahren zum anreichern eines von einer maschinensicht-kamera aufgenommenen bildinhalts
DE102021119123A1 (de) SYSTEME UND VERFAHREN ZUM ERZEUGEN VON BILDVERARBEITUNGSAUFTRÄGEN EINSCHLIEßLICH STRICHCODESCANNEN
DE112021004030T5 (de) Automatische identifizierung und darstellung von kanten, formen und eindeutigen objekten in einem bild, das zur einstellung eines bildverarbeitungsauftrags verwendet wird

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R083 Amendment of/additions to inventor(s)