DE112007001115T5 - Automatisiertes Programmiersystem, das eine textfreie Nutzerschnittstelle verwendet - Google Patents

Automatisiertes Programmiersystem, das eine textfreie Nutzerschnittstelle verwendet Download PDF

Info

Publication number
DE112007001115T5
DE112007001115T5 DE112007001115T DE112007001115T DE112007001115T5 DE 112007001115 T5 DE112007001115 T5 DE 112007001115T5 DE 112007001115 T DE112007001115 T DE 112007001115T DE 112007001115 T DE112007001115 T DE 112007001115T DE 112007001115 T5 DE112007001115 T5 DE 112007001115T5
Authority
DE
Germany
Prior art keywords
input
programming
job
user interface
module
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.)
Withdrawn
Application number
DE112007001115T
Other languages
English (en)
Inventor
Simon B. Bonney Lake Johnson
Lev M. Kirkland Bolotin
Roger Lake Forest Park Sharp
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.)
Data IO Corp
Original Assignee
Data IO 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 Data IO Corp filed Critical Data IO Corp
Publication of DE112007001115T5 publication Critical patent/DE112007001115T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • 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/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/4093Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by part programming, e.g. entry of geometrical information as taken from a technical drawing, combining this with machining and material information to obtain control information, named part programme, for the NC machine
    • 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/10Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches
    • G05B19/106Programme control other than numerical control, i.e. in sequence controllers or logic controllers using selector switches for selecting a programme, variable or parameter
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23168Display progress of program
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23258GUI graphical user interface, icon, function bloc editor, labview
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/20Pc systems
    • G05B2219/23Pc programming
    • G05B2219/23377Touch screen, with representation of buttons, machine on screen
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S715/00Data processing: presentation processing of document, operator interface processing, and screen saver display processing
    • Y10S715/977Dynamic icon, e.g. animated or live action

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Stored Programmes (AREA)
  • Programmable Controllers (AREA)

Abstract

Automatisiertes Programmiersystem (100), das Folgendes umfasst:
Konfigurieren des automatisierten Programmiersystems (100) derart, dass es ein Eingabe-Modul (108), ein Programmier-Modul (112) und ein Ausgabe-Modul (110) umfasst; und
Verwenden eines textfreien Nutzer-Schnittstellen-Systems (232) für eine Repräsentierung des Eingabe-Moduls (108), des Programmier-Moduls (112) und des Ausgabe-Moduls (110) in Echtzeit.

Description

  • BEZUG ZU VERWANDTEN ANMELDUNGEN
  • Die vorliegende Anmeldung beansprucht die Priorität der U. S. Provisional Patent Application Nr. 60/797,462, die am 3. Mai 2006 eingereicht wurde.
  • Die Anmeldung beansprucht außerdem die Priorität der U. S. Patentanmeldung mit der Nr. 11/467,087, die am 24. August 2006 angemeldet wurde und deren Inhaberin die Data I/O Corporation ist.
  • Die vorliegende Erfindung enthält Gegenstände, die mit einer ebenfalls anhängigen U. S. Patentanmeldung Nr. 11/676,733 verwandt sind. Die Data I/O Corporation ist Inhaberin dieser verwandten Anmeldung.
  • Die vorliegende Erfindung enthält Gegenstände, die mit einer ebenfalls anhängigen U. S. Patentanmeldung Nr. 11/381,696 verwandt sind. Die Data I/O Corporation ist Inhaberin dieser verwandten Anmeldung.
  • Die vorliegende Erfindung enthält Gegenstände, die mit einer ebenfalls anhängigen U. S. Patentanmeldung Nr. 11/381,532 verwandt sind. Die Data I/O Corporation ist Inhaberin dieser verwandten Anmeldung.
  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft im Allgemeinen automatisierte Systeme, insbesondere automatisierte Programmiersysteme.
  • STAND DER TECHNIK
  • Bestehende Nutzer-Schnittstellen-Programmiersysteme gestatten keine sehr gute Integration mit automatisierten Programmiersystemen. Bestehende Nutzer-Schnittstellen-Programmiersysteme werden aufbauend auf Industriestandards gebaut, die entweder für manuelle Programmiersysteme oder automatische Handhabungsgeräte ausgelegt sind, die nicht dazu ausgelegt sind, Programmieraufgaben handzuhaben und zu integrieren. Dementsprechend fehlt bestehenden Nutzer-Schnittstellen-Programmiersystemen die Fähigkeit, Programmieroperationen effizient zu steuern, Aufgaben bzw. "Jobs" umfassend zu verwalten und eine nahtlose Kommunikationsintegration zwischen der Programmierausrüstung und der Nutzer-Eingabe-Schnittstelle bereitzustellen.
  • Zusätzliche Probleme, die mit existierenden Nutzer-Schnittstellen-Programmiersystemen assoziiert sind, umfassen die fehlende Möglichkeit, Programmiersysteme ohne Text-Sprache zu betreiben, die Unfähigkeit, eine Echtzeit-Repräsentierung des Programmiersystems anzuzeigen, um die Wirklichkeit des Arbeitsraums zu reflektieren, und die Unfähigkeit, eine graphische Fehlermeldung anzuzeigen. Beispielsweise könnte ein Nutzer-Schnittstellen-Programmiersystem, welches auf Text-Sprache (z. B. Englisch) basiert, nicht ohne Übersetzung effektiv global betrieben werden. Darüber hinaus macht die Unfähigkeit des Programmiersystems, eine Echtzeit-Repräsentierung des Arbeitsraums anzuzeigen, die Nutzerschnittstelle obsolet, weil diese unzutreffende Information anzeigen könnte.
  • Idealerweise sollte die Nutzerschnittstelle eines Programmiersystems die Handhabung der Vorrichtung und die Programmieroperationen eines automatisierten Programmiersystems effizient handhaben und steuern, indem wesentliche Betriebsinformation durch eine textfreie Nutzerschnittstelle bewahrt und kommuniziert wird, die durch eine Echtzeit-Repräsentierung des Programmier-Arbeitsraums unterstützt wird. Somit besteht immer noch ein Bedarf für eine textfreie Nutzerschnittstelle, die durch eine Echtzeit-Repräsentierung des Programmier-Arbeitsraums unterstützt wird. In Anbetracht der ständig zunehmenden Notwendigkeit, Kosten zu sparen und Effizienzen zu verbessern, ist es zunehmend dringend, dass Antworten für diese Probleme gefunden werden.
  • Lösungen für diese Probleme wurden lange gesucht, aber frühere Entwicklungen haben keine Lösungen gelehrt oder vorgeschlagen, somit wurden Lösungen für diese Probleme von Fachleuten auch nicht gefunden.
  • OFFENBARUNG DER ERFINDUNG
  • Die vorliegende Erfindung stellt ein automatisiertes Programmiersystem bereit, welches das Konfigurieren des automatisierten Programmiersystems derart, dass es ein Eingabe-Modul, ein Programmier-Modul und ein Ausgabe-Modul umfasst, und das Verwenden eines textfreien Nutzer-Schnittstellen-Systems für eine Echtzeit-Repräsentierung des Eingabe-Moduls, des Programmier-Moduls und des Ausgabe-Moduls umfasst. Bestimmte Ausführungsformen der vorliegenden Erfindung haben andere Aspekte zusätzlich zu oder anstelle der oben genannten. Diese Aspekte werden dem Fachmann nach Lektüre der folgenden detaillierten Beschreibung offensichtlich, wenn diese im Zusammenhang mit den beigefügten Zeichnungen betrachtet wird.
  • KURZE BESCHREIBUNG DER FIGUREN
  • 1 ist eine isometrische Ansicht eines automatisierten Programmiersystems gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 2 ist eine isometrische Aufsicht auf ein automatisiertes Programmiersystem mit einer Repräsentierung einer Arbeitsumgebung auf dem Monitor gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 3 ist eine Nutzer-Schnittstellen-High-Level-Architektur gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 4 ist ein Arbeitsfluss-Diagramm für ein automatisiertes Programmiersystem gemäß einer Ausführungsform der vorliegenden Erfindung; und
  • 5 ist ein Flussdiagramm für ein automatisiertes Programmiersystem zur Verwendung des automatisierten Programmiersystems gemäß einer Ausführungsform der vorliegenden Erfindung.
  • BESTE ART, DIE ERFINDUNG AUSZUFÜHREN
  • Die folgenden Ausführungsformen werden in ausreichendem Detail beschrieben, um den Fachmann in die Lage zu versetzen, die Erfindung zu nutzen, und es versteht sich, dass andere Ausführungsformen ausgehend von der vorliegenden Offenbarung evident sind und dass Änderungen am Prozess und mechanische Änderungen vorgenommen werden können, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
  • In der folgenden Beschreibung werden zahlreiche spezifische Details angegeben, um ein gründliches Verständnis der Erfindung zu vermitteln. Es ist jedoch offensichtlich, dass die Erfindung ohne diese spezifischen Details umgesetzt werden kann. Um eine Verschleierung der vorliegenden Erfindung zu vermeiden, werden manche wohlbekannten Systemrepräsentationen und Prozessschritte nicht im Detail offenbart. Außerdem sind die Zeichnungen, die Ausführungsformen der Erfindung zeigen, diagrammatischer Natur und nicht maßstabsgetreu, und insbesondere sind manche Abmessungen zum Zwecke der Klarheit der Darstellung in den Figuren übertrieben dargestellt. Wenn mehrere Ausführungsformen offenbart und beschrieben werden, die einige Merkmale gemeinsam haben, werden zum Zwecke der Klarheit und der Einfachheit der Darstellung, der Beschreibung und des Verständnisses derselben ähnliche und gleiche Merkmale üblicherweise mit gleichen Bezugszeichen beschrieben.
  • Der Begriff "horizontal", wie er hier verwendet wird, wird als eine Ebene definiert, die parallel zu der Ebene oder oberen Oberfläche eines automatisierten Programmiersystems ist, unabhängig von dessen Orientierung. Der Begriff "vertikal" bezieht sich auf eine Richtung, die senkrecht zu der soeben definierten Horizontalen ist. Begriffe wie beispielsweise "auf", "über", "unter", "unterer bzw. unteres", "oberer bzw. oberes", "Seit-" (wie beispielsweise in "Seitenwand"), "höher", "tiefer", "oberer" bzw. „oberes", "oberhalb" und "unterhalb" sind bezüglich der horizontalen Ebene definiert.
  • In 1 ist eine isometrische Ansicht eines automatisierten Programmiersystems 100 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Das automatisierte Programmiersystem 100 umfasst einen Rahmen 102, einen Monitor 104, eine Abdeckung 106, ein Eingabe-Modul 108, ein Ausgabe-Modul 110, ein oder mehrere Programmier-Module 112, eine Steuerelektronik 114 und einen Status-Anzeiger 116. Beispielsweise kann das automatisierte Programmiersystem 100 ein auf einer Arbeitsfläche zu benutzendes Handhabungssystem, ein so genanntes Desktop-Handhabungssystem enthalten, welches ein tragbares Programmiersystem ist. Um die Tragbarkeit des Desktop-Handhabungssystems zu verbessern, können Griffe 118 eingebaut sein.
  • Der Rahmen 102 bildet das Hauptgehäuse, welches sämtliche Elemente zusammenhält und einen strukturellen Halt bietet. Der Monitor kann an einem feststehenden Abschnitt der Abdeckung 106 montiert sein. Der Monitor 104 kann beispielsweise ein Touchscreen-Nutzer-Schnittstellen-System umfassen, welches der Bedienperson eine visuelle Rückmeldung liefert, ohne darauf beschränkt zu sein.
  • Die Abdeckung 106 ist an dem Rahmen 102 montiert und bedeckt den Arbeitsraum der Maschine. Die Abdeckung 106 bietet dem Eingabe-Modul 108, dem Ausgabe-Modul 110 und den Programmier-Modulen 112 Schutz vor Staub und Schmutz in dem Arbeitsraum. Darüber hinaus schützt die Abdeckung 106 die Bedienperson vor unbeabsichtigten Risiken im Betrieb.
  • Geräte und/oder Medien treten in das automatisierte Programmiersystem 100 über entnehmbare Module ein oder aus dem automatisierten Programmiersystem 100 aus, wie beispielsweise das Eingabe-Modul 108 oder das Ausgabe-Modul 110. Alternativ können die Geräte und/oder Medien in dem automatisierten Programmiersystem 100 platziert werden oder aus diesem entnommen werden, ohne das Eingabe-Modul 108 und das Ausgabe-Modul 110 aus dem automatisierten Programmiersystem 100 zu entfernen, indem Tabletts oder andere Aufnahmen verwendet werden, die beispielsweise mit den Standards des Joint Electron Device Engineering Council (JEDEC) übereinstimmen. Es versteht sich jedoch, dass die Erfindung nicht auf derartige Ausführungsformen beschränkt ist. Gemäß der vorliegenden Erfindung können das Eingabe-Modul 108 und das Ausgabe-Modul 110 irgendeine Geräte-Aufnahme beherbergen.
  • Die Programmier-Module 112 stellen die Kern-Verarbeitungs-Schnittstelle für das automatisierte Programmiersystem 100 bereit. Die Programmier-Module 112 umfassen ein oder mehrere entnehmbare Module, die eine Schnittstelle mit dem automatisierten Programmiersystem 100 bilden. Ein jedes der Programmier-Module 112 kann Socket-Adapter enthalten (die in 2 mehr im Detail beschrieben sind), einen oder mehrere Aktuatoren (die in 2 mehr im Detail beschrieben sind) und einen Ausschussbehälter (der in 2 mehr im Detail beschrieben ist), um Geräte aufzunehmen. Nachdem die Geräte, wie beispielsweise nicht- programmierte programmierbare Medien, innerhalb der Socket-Adapter angeordnet sind, schließen die Aktuatoren die Sockets, so dass die Geräte auf geeignete Weise mit den Programmier-Modulen 112 des automatisierten Programmiersystems 100 verbunden sind. Darüber hinaus können die Programmier-Module 112 durch das automatisierte Programmiersystem 100 gesteuert werden, um den Konfigurations-Setup und manuelle Operationen, wie beispielsweise das Platzieren und Entfernen von programmierbaren Medien, zu erleichtern.
  • Obwohl dies nicht gezeigt ist, kann das automatisierte Programmiersystem 100 darüber hinaus zusätzliche Module umfassen, wie beispielsweise ein Markierungsmodul, ein Tape-In-Modul und/oder ein Tape-Out-Modul.
  • Darüber hinaus kann ein jedes der Module innerhalb des automatisierten Programmiersystems 100 beispielsweise eine Modulsteuerung umfassen, die es einem jeden Modul gestattet, zum Zweck der Programmierung, der Konfiguration und Identifikation eingerichtet zu werden. Das Modul-Steuersystem und seine Funktion kann als Teil des Touchscreen-Nutzer-Schnittstellen-Systems integriert sein, welches von dem Monitor 104 angezeigt wird.
  • Die Steuerelektronik 114 ist ebenfalls an dem Rahmen 102 montiert. Die Steuerelektronik 114 stellt eine elektrische Schnittstelle für das automatisierte Programmiersystem 100 bereit. Beispielweise kann die Steuerelektronik 114 einen EIN-/AUS-Schalter für die Leistung und/oder digitale Eingangs-/Ausgangs-Karten umfassen. Die digitalen Eingangs-/Ausgangs-Karten können eine Schnittstelle für die Aktivierung von Indikatoren, Pumpen, Lichtern etc. innerhalb des automatisierten Programmiersystems 100 bereitstellen. Die digitalen Eingangs-/Ausgangskarten können außerdem eine Schnittstelle für das Erfassen des Zustandes verschiedener Sensoren bereitstellen. Darüber hinaus stellt die Steuerelektronik 114 eine Schnittstelle für Peripheriegeräte bereit, wie beispielsweise ein USB-Gerät, eine Tastatur, eine Maus etc.
  • Bemerkenswerterweise hängt das automatisierte Programmiersystem 100 nicht von externer Luft, einem externen pneumatischen System oder einem externen Vakuumsystem ab, was die Tragbarkeit der Maschine und die Einfachheit ihrer Installation stark erhöht. Das automatisierte Programmiersystem 100 verfügt über ein geräteinternes Vakuum-/Luftsystem, welches durch elektrischen Strom betrieben wird; daher ist das automatisierte Programmiersystem 100 ein autarkes System, welches zu seinem Betrieb lediglich elektrischen Strom benötigt. Dar über hinaus kann die Rückseite des automatisierten Programmiersystems 100 zusätzliche Leistungsmodule umfassen.
  • Der Zustands-Anzeiger 116 ist ebenfalls an dem Rahmen 102 montiert. Der Status-Anzeiger 116 liefert dem Nutzer über ein textfreies Fehlersignal eine visuelle Rückmeldung über den Zustand der Maschine. Beispielsweise kann der Status-Anzeiger 116 ein mehrfarbiges Schema verwenden, welche mehr als eine Lichtkombination einsetzt. Die spezielle Kombination kann beispielsweise so gewählt sein, dass ein grünes Licht anzeigt, dass die Maschine in Betrieb ist, ein gelbes Licht anzeigt, dass in Kürze Aufmerksamkeit benötigt werden könnte und ein rotes Licht anzeigt, dass ein Problem vorliegen könnte und die Maschine angehalten wurde oder dass der Auftrag („Job") auf normale Weise beendet wurde. Es versteht sich jedoch, dass irgendein Farbschema verwendet werden kann, um die Nachrichten bezüglich einer Betriebsbereitschaft, einer in Kürze benötigten Aufmerksamkeit und der Beendigung des Betriebs zu vermitteln.
  • In 2 ist eine isometrische Draufsicht auf ein automatisiertes Programmiersystem 100 gezeigt, mit einer Repräsentierung eines Arbeitsraums auf dem Monitor 104 gemäß einer Ausführungsform der vorliegenden Erfindung. Das automatisierte Programmiersystem 100 umfasst den Rahmen 102, den Monitor 104, die Abdeckung 106, das Eingabe-Modul 108, das Ausgabe-Modul 110, die Programmier-Module 112, die Steuerelektronik 114, den Status-Anzeiger 116, einen Roboterarm 202, eine Eingangsgeräte-Aufnahme 204, Socket-Adapter 206, 208, 210, 212, Aktuatoren 214, eine Ausgangsgeräte-Aufnahme 216, ein Eingangsgeräte-Aufnahme-Bild 218, Socket-Adapter-Bilder 220, 222, 224, 226, ein Ausgangsgeräte-Aufnahme-Bild 228, einen Job-Informationsbereich 230, ein textfreies Nutzer-Schnittstellensystem 232 und Ausschussbehälter 234. Obwohl dies nicht dargestellt ist, sind die Aktuatoren 214 an die Socket-Adapter 206, 208, 210, 212 angrenzend angeordnet.
  • Während des Betriebs holt der Roboterarm 202 eines oder mehrere Geräte aus der Eingangsgeräte-Aufnahme 204, welche über dem Eingabe-Modul 108 angeordnet ist. Der Roboterarm 202 transportiert dann das oder die Geräte zu den Programmier-Modulen 112, die die Socket-Adapter 206, 208, 210, 212 und die Aktuatoren 214 umfassen. Nachdem die Geräte mit den Socket-Adaptern 206, 208, 210, 212 in Eingriff sind, kann die Programmierung beginnen. Nachdem die Programmierung beendet ist, transportiert der Roboterarm 202 dann die guten Geräte in die Ausgangsgeräte-Aufnahme 216, welche über dem Ausgabe-Modul 210 angeordnet ist, und transportiert die schlechten Geräte in die Ausschuss-Behälter 234.
  • Während des Betriebs des automatisierten Programmiersystems 100 stellt der Monitor 104 ein Echtzeit-Bild des Arbeitsraums über ein textfreies Nutzer-Schnittstellen-System 232 bereit. Der Arbeitsraum umfasst das Eingabe-Modul 108, das Ausgabe-Modul 110, die Programmier-Module 112, die Eingangsgeräte-Aufnahme 204, die Socket-Adapter 206, 208, 210, 212 und die Ausgangsgeräte-Aufnahme 216. Das textfreie Nutzer-Schnittstellen-System 232 moduliert die Echtzeit-Repräsentation des Arbeitsraums derart, dass das Eingangsgeräte-Aufnahme-Bild 218 die Echtzeit-Repräsentierung der Eingangsgeräte-Aufnahme 204 reflektiert, die Socket-Adapter-Bilder 220, 222, 224 und 226, die Echtzeit-Repräsentierung der Socket-Adapter 206, 208, 210 bzw. 212 reflektieren und das Ausgangsgeräte-Aufnahme-Bild 228 die Echtzeit-Repräsentierung der Ausgangsgeräte-Aufnahme 216 reflektiert.
  • Durch das Modulieren der Echtzeit-Repräsentierung des Arbeitsraums hilft das textfreie Nutzer-Schnittstellen-System 232 dabei, Fehler durch eine Bedienperson während des Einrichtens, des sogenannten Setups, des automatisierten Programmiersystems 100 zu vermeiden. Darüber hinaus kann das Echtzeit-Bild, welches von dem textfreien Nutzer-Schnittstellen-System 232 präsentiert wird, die Produktivität der Bedienperson aufgrund der genauen Repräsentierung des Arbeitsraums erhöhen.
  • Das textfreie Nutzer-Schnittstellen-System 232 zeigt nicht nur ein Echtzeit-Bild des Arbeitsraums an, sondern es kann außerdem den Job-Informationsbereich 230 mit einer Vielzahl von Funktionen bereitstellen, wie beispielsweise Job-Statusanfragen, Job-Steuerung, Job-Werkzeuge, Socket-Verwendung, Job-Auswahl, Abbildung der Aufnahme und Messen der Aufnahme. Diese Funktionen, die Teil der Nutzer-Schnittstelle für das automatisierte Programmiersystem 100 sind, benötigen keine Text-Repräsentierung und gestatten daher eine globale Anwendung der Nutzer-Schnittstelle.
  • In 3 ist eine High-Level-Architektur 300 einer Nutzer-Schnittstelle gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Die High-Level-Architektur 300 der Nutzer-Schnittstelle umfasst mehrere Funktionen und/oder Eingaben, die einer Bedienperson in einem Nutzer-Schnittstellen-System zur Verfügung stehen, wie beispielsweise dem textfreien Nutzer-Schnittstellen-System 232 von 2, welches es der Bedienperson gestattet, Instruk tionen zu kommunizieren und ein Verarbeitungssystem vom Setup bis zur Programmierung zu steuern. Eine jede dieser Funktionen und/oder Eingänge sind mit gespeicherter Information assoziiert, die abzurufen das automatisierte Programmiersystem 100 von 1 und 2 zuvor programmiert wurde. Die gespeicherte Information kann durch das Verarbeitungssystem des automatisierten Programmiersystems 100 erzeugt werden.
  • Bemerkenswerterweise kommuniziert und interagiert die High-Level-Architektur 300 der Nutzer-Schnittstelle durch eine textfreie Schnittstelle (z. B. ohne geschriebene Worte) mit der Bedienperson. Die textfreien Kommunikationsausdrücke vermitteln Information an einen beliebigen Nutzer mit einer beliebigen Sprache, und gestatten damit eine weltweite Verwendbarkeit der vorliegenden Erfindung. Gemäß dem Rahmen der vorliegenden Erfindung benutzt das textfreie Nutzer-Schnittstellen-System 232 nur Zahlen, Buchstaben, bildhafte Repräsentationen und internationale Symbole, um Information an eine Bedienperson zu kommunizieren, aber keine geschriebenen Worte. Darüber hinaus kann dieses sprachenunabhängige Nutzer-Schnittstellen-System der Bedienperson über einen visuellen oder hörbaren Stimulus Rückmeldung geben. Dementsprechend macht diese sprachenunabhängige intuitive Nutzer-Schnittstelle eine Schulung der Bedienperson nahezu entbehrlich.
  • Beispielsweise kann die Nutzer-Schnittstellen-High-Level-Architektur 300 der Bedienperson über ein Nutzer-Schnittstellen-System auf dem Monitor 104 von 2 angezeigt werden, welche das automatisierte Programmiersystem 100 steuert. Das Nutzer-Schnittstellen-System kann sämtliche der verfügbaren Funktionen und Eingaben auf einem Bildschirm anzeigen. Alternativ kann das Nutzer-Schnittstellen-System nur die Funktionen anzeigen, und wenn eine Funktion ausgewählt wird, wird eine Liste von Eingaben verfügbar.
  • Im Allgemeinen umfasst das Nutzer-Schnittstellen-System der vorliegenden Erfindung die folgenden Funktionen und/oder Eingaben zum Steuern eines Programmiersystems: Job-Auswahl, Programmieren, Geräte- und Hardware-Erkennung, statistische Job-Rückmeldung und Hilfe.
  • Die Job-Auswahl beispielsweise gestattet es einer Bedienperson, auf ein Festplattenlaufwerk zuzugreifen und die Dateien zu partitionieren, die einen Programmier-Job haben, zeigt den Programmierprozess für einen ausgewählten Job an, zeigt Programmier-Hardware, die für einen ausgewählten Job benötigt wird, an, zeigt den Job-Namen an, zeigt eine Job-Prüfsumme an und zeigt den Fortschritt der Herunterladens eines Jobs an. Beispielsweise kann eine bildliche Repräsentierung des Herunterladens des Jobs den Fortschritt der Job-Daten anzeigen, die zu den installierten Programmierern übertragen werden, und ein bildlicher Fortschritts-Balken kann verwendet werden, um die verbleibende relative Zeit für das Setup des Jobs anzuzeigen.
  • Die Funktion Programmieren steuert beispielsweise den Beginn, das Anhalten, Pause und erneutes Starten des Programmiersystems, zeigt den Fortschritt an, während das Programmieren stattfindet, zeigt einen Job-Zählstand für zu programmierende Jobs an, zeigt einen Zähler-Resetknopf an, nachdem der Job beendet wurde und zeigt eine Echtzeit-Repräsentierung und den Zustand sämtlicher Geräte innerhalb des Arbeitsraums an.
  • Die Funktion der Geräte- und Hardware-Erkennung detektiert die Module, die in dem System installiert sind und zeigt die Resultate an, detektiert Gerätaufnahmen, die installiert sind und zeigt die Resultate an, detektiert fehlende Module und zeigt die Resultate an, detektiert fehlende Geräte-Aufnahmen und zeigt die Resultate an, zeigt einen Fortschrittsbalken oder ein abgetastetes Echtzeit-Bild an, während Module und Geräte-Aufnahmen gemessen werden und zeigt die Anzahl von Fächern auf den Geräte-Aufnahmen an.
  • Die Funktion statistische Job-Rückmeldung stellt Information bezüglich der geschätzten Zeit, die verbleibt, bis der Job beendet ist, bereit, zeigt einen Echtzeit-Job-Fortschrittsbalken an, zeigt eine Echtzeit-Job-Ausbeute an, zeigt die Anzahl von Job-Teilen pro Stunde in Echtzeit an und zeigt die Einstellungen der Sockets an.
  • Die Hilfefunktion liefert einer Bedienperson beispielsweise über ein sprachenunabhängiges Nutzer-Schnittstellen-System Unterstützung, beispielsweise weshalb ein bestimmter Fehler auftritt und welche Schritte benötigt werden, um den Fehler zu beseitigen.
  • Es versteht sich, dass 3 eine exemplarische Nutzer-Schnittstellen-Architektur für das automatisierte Programmiersystem 100 lediglich beispielsweise beschreibt, und nicht als beschränkend aufgefasst werden soll.
  • Gemäß einer Ausführungsform der vorliegenden Erfindung kann die Nutzer-Schnittstellen-High-Level-Architektur 300 ein Hauptfenster 302 mit den folgenden Funktionen umfassen: eine Job-Status und -Informationsfunktion 304, eine Job-Steuerungsfunktion 306, eine Job- Werkzeugefunktion 308, eine Socket-Verwendungsfunktion 310, eine Job-Auswahlfunktion 312, eine Aufnahmen-Abbildungsfunktion 314 und eine Aufnahmen-Messfunktion 308. Unter einer jeden Funktion gibt es viele nützliche Eingaben, die es einer Bedienperson gestatten, den Programmierprozess Schritt für Schritt zu visualisieren, was dabei hilft, das automatisierte Programmiersystem 100 rasch verstehen zu lernen. Darüber hinaus zwingt die Nutzer-Schnittstellen-High-Level-Architektur 300 die Bedienperson, die richtige Abfolge von Schritten zum Ansetzen eines Jobs zu wählen, wodurch erreicht wird, dass ein Job-Programm ohne Fehler laufen gelassen wird.
  • Unter der Job-Status- und -Informationsfunktion 304 umfassen die Eingaben Folgendes: eine Eingangsaufnahme-Eingabe 316, eine Ausgangsaufnahme-Eingabe 318, eine Programmier-Module-Eingabe 320, eine Job-Fortschritt-Eingabe 322, eine verbleibende Zeit-Eingabe 324, eine Eingabe 326 des Prozentsatzes genehmigter Geräte, eine Eingabe 328 bezüglich der Geräte pro Stunde, eine Eingabe 330 bezüglich der Anzahl von Ausfällen, eine Job-Namens-Eingabe 332, eine Job-Prüfsummen-Eingabe 334, eine Eingabe 336 bezüglich der vorliegenden/fehlenden Module, eine Eingabe 338 bezüglich vorliegender/fehlender Socket-Adapter, eine Abdeckungs-Status-Eingabe 340, eine Ausschussbehälter-Eingabe 342 und eine Eingabe 334 eines bildlichen Status. Nach Auswahl einer Eingabe durch eine Bedienperson wird die Information verfügbar.
  • Beispielsweise kann die Eingangsaufnahme-Eingabe 316 diagrammatisch anzeigen, wie viele Zeilen und Spalten die Eingangsvorrichtungs-Aufnahme 204 von 2 enthält und/oder den Ort der Eingangsgeräte-Aufnahme 204 anzeigen. Die Ausgangsaufnahme-Eingabe 318 kann ebenso diagrammatisch anzeigen, wie viele Zeilen und Spalten die Ausgangsgeräte-Aufnahme 216 von 2 enthält und/oder den Ort der Ausgangsgeräte-Aufnahme 216 anzeigen. Darüber hinaus kann die Eingangsaufnahme-Eingabe 316 die Anzahl von leeren und belegten Fächern der Eingangsgeräte-Aufnahme 204 anzeigen, und die Ausgangsaufnahme-Eingabe 318 kann die Anzahl von leeren und besetzten Fächern der Ausgangsgeräte-Aufnahme 216 anzeigen. Diese Rückmeldung kann Information bezüglich eines anstehenden Bedarfs für einen manuellen Austausch eines Tabletts bereitstellen.
  • Die Programmier-Module-Eingabe 320 zeigt diagrammatisch an, wie viele der Programmier-Module 112 in dem automatisierten Programmiersystem 100 installiert wurden, und wo sie sich befinden. Das automatisierte Programmiersystem 100 kann zwischen einem und drei Programmier-Module 112 beherbergen, in Abhängigkeit von den Job-Erfordernissen. Es versteht sich jedoch, dass das automatisierte Programmier-Modul 100 mehr als drei der Programmier-Module 112 beherbergen kann. Gemäß der Erfindung hängt die Anzahl von Programmier-Modulen 112 lediglich von den Designspezifikationen des automatisierten Programmiersystems 100 ab.
  • Die Job-Fortschritts-Eingabe 322 ist eine visuelle Darstellung, wie beispielsweise ein Balkendiagramm, welches den Fortschritt des Jobs im Detail anzeigt. Die Job-Fortschritts-Eingabe 322 erleichtert es einer Bedienperson festzustellen, welcher Anteil des Jobs fertiggestellt wurde. Die Job-Fortschritts-Eingabe 322 stellt eine dynamische Echtzeit-Repräsentierung des Arbeitsraums dar. Daher kann diese Eingabe zu jedem Zeitpunkt die Anzahl von bereits programmierten Geräten anzeigen.
  • Die Verbleibende-Zeit-Eingabe 324 zeigt eine geschätzte Zeit an, die bis zur Beendigung des Jobs verbleibt. Die Eingabe 326 bezüglich des Prozentsatzes genehmigter Geräte zeigt die prozentuale Ausbeute der Geräte an, die den Programmierjob erfolgreich durchlaufen haben (z. B. die erfolgreich programmiert wurden). Die Eingabe 328 bezüglich der Geräte pro Stunde zeigt den Durchsatz des Systems über eine geschätzte Anzahl von Geräten, wie beispielsweise programmierbare Medien, an, die in einer Stunde programmiert werden. Die Eingabe 330 bezüglich der Anzahl von Ausfällen zeigt die Anzahl von Geräten an, die von dem automatisierten Programmiersystem 100 aus verschiedenen Gründen ausgesondert wurden, beispielsweise weil sie nicht programmierbar waren.
  • Die Job-Namen-Eingabe 332 zeigt den anfänglichen Programmierjob an und die Job-Prüfsummen-Eingabe 334 verifiziert einen Job-Setup-Wert. Beispielsweise wertet die Job-Prüfsummen-Eingabe 334 einen Eingabewert der Bedienperson aus, der während des Setups gegeben wurde und vergleicht ihn mit einem Wert, der von dem automatisierten Programmiersystem 100 ermittelt wird, nachdem das Setup beendet ist. Wenn die Werte übereinstimmen, war der Setup korrekt.
  • Die Eingabe 336 bezüglich vorhandener/fehlender Module zeigt der Bedienperson an, welche Module in dem automatisierten Programmiersystem 100 installiert sind, und welche Module nicht installiert sind. Die Eingabe 338 bezüglich vorhandener/fehlender Socket-Adapter zeigt an, welche der Socket-Adapter 206, 208, 210, 212 von 2 vorhanden sind, und welche fehlen. Die Abdeckungs-Status-Eingabe 340 zeigt an, ob die Abdeckung 106 von 1 und 2 geöffnet oder geschlossen ist, und die Ausschuss-Behälter-Eingabe 342 zeigt der Bedienperson an, ob die Ausschussbehälter 234 von 2 installiert wurden oder nicht.
  • Darüber hinaus kann die Bildlicher-Status-Eingabe 343 Information über Rohlinge, verarbeitete und zurückgewiesene Geräte durch eine bildliche Darstellung bereitstellen. Beispielsweise können die Geräte-Rohlinge als ein Teil des Eingangsgeräte-Aufnahme-Bildes 218 von 2 erscheinen, und sie können beispielsweise grau sein, die verarbeiteten Geräte können als Teil des Ausgangsgeräte-Aufnahme-Bildes 228 von 2 erscheinen und können nach erfolgreicher Programmierung eine grüne Farbe aufweisen, und die zurückgewiesenen Geräte können als Teil der Ausschussbehälter 234 erscheinen und rot sein.
  • Unter der Job-Steuerungs-Funktion 306 umfassen die Eingaben Folgendes: eine Start-Eingabe 344, eine Stopp-Eingabe 346, eine Pause-Eingabe 348 und eine Reset-Eingabe 350. Die Start-Eingabe 344 startet einen Job, und die Stopp-Eingabe 346 beendet den Job vollständig. Die Pause-Eingabe 348 gestattet es einer Bedienperson, einen Job anzuhalten und dann zu einer späteren Zeit wieder aufzunehmen. Die Reset-Eingabe 350 gestattet es einer Bedienperson, einen vorhergehenden Job zu löschen und einen anderen Job laufen zu lassen oder denselben Job erneut laufen zu lassen.
  • Unter der Job-Werzeugefunktion 308 umfassen die Eingaben Folgendes: eine Geräte-Teile-Nummer-Eingabe 352, eine Socket-Adapter-Nummer-Eingabe 354 und eine Eingabe 355 für eine Aufnahme-Abbildungs-Datei. Die Geräte-Teile-Nummer-Eingabe 352 und die Socket-Adapter-Nummer-Eingabe 354 sind eindeutige Identifikationsnummern, die das automatisierte Programmiersystem 100 identifizieren kann, oder sie können Werte sein, die durch eine Bedienperson manuell eingegeben werden. Wenn der Programmier-Job eingerichtet wird, muss die Programm-Job-Information mit der Geräte-Teile-Nummer und der Socket-Adapter-Nummer übereinstimmen, um den Job laufen zu lassen. Die Geräte-Teile-Nummer-Eingabe 352 identifiziert die Art von Medium oder Gerät, die in dem automatisierten Programmiersystem 100 installiert sind, und die Socket-Adapter-Nummer-Eingabe 354 informiert das automatisierte Programmiersystem 100 bezüglich der korrekten Socket-Adapter-Einstellungen.
  • Die Aufnahme-Abbildungs-Datei-Eingabe 355 zeigt an, ob der gegenwärtig ausgewählte Job eine Aufnahme-Abbildungs-Datei hat, die mit diesem Job gespeichert ist. Die zuvor gespei cherte Aufnahme-Abbildungs-Datei kann für den aktuellen Job verwendet werden und dadurch das Einrichten des Systems (Setup) erleichtern.
  • Unter der Socket-Verwendungs-Funktion 310 umfassen die Eingaben Folgendes: eine Eingabe 356 bezüglich der Anzahl von Einsteckvorgängen und eine Eingabe 358 bezüglich der erwarteten Lebensdauer. Die Eingabe 356 bezüglich der Anzahl von Einsteckvorgängen zeigt an, wie viele Einsteckvorgänge an den Socket-Adaptern 204 von 2 vorgenommen wurden, und die Eingabe 358 bezüglich der erwarteten Lebensdauer zeigt eine geschätzte Anzahl von Einsteckvorgängen an, die die Socket-Adapter 204 durchlaufen können, bevor eine Abnahme in der Produktivitätsausbeute zu erwarten ist.
  • Unter der Job-Auswahlfunktion 312 umfassen die Eingaben Folgendes: eine Laufwerks-Eingabe 360 (drive input), eine Job-Listen-Eingabe 362, eine Job-Mengen-Eingabe 364 und eine Job-Funktionen-Eingabe 366. Die Laufwerks-Eingabe 360 zeigt die zur Verfügung stehenden Laufwerksoptionen zum Lesen und Schreiben des Jobs an. Beispielsweise kann eine Bedienperson den Job von dem Verarbeitungssystem des automatisierten Programmiersystems 100 auslesen bzw. in dieses schreiben, oder aus bzw. in entfernbare Medien lesen bzw. schreiben, wie beispielsweise ein USB-Flash-Laufwerk, oder er kann den Job von einer entfernten Stelle über eine Ethernet-/Internet-Verbindung auslesen bzw. auf diese schreiben. Die Job-Listen-Eingabe 362 zeigt eine potentielle Liste von unterschiedlichen Jobs an, aus denen ausgewählt werden kann.
  • Die Job-Mengen-Eingabe 364 zeigt Information beispielsweise bezüglich der Anzahl von Medien oder Geräten an, die programmiert werden müssen. Die Job-Funktionen-Eingabe 366 zeigt verschiedene Programmierfunktionen an. Beispielsweise kann die Job-Funktionen-Eingabe 366 den Status von zuvor ausgewählten Programmierfunktionen anzeigen.
  • Unter der Aufnahme-Abbildungs-Funktion 314 umfassen die Eingaben Folgendes: eine Zeilen-Eingabe 368, eine Spalten-Eingabe 370, eine Zeilen-Versatz-Eingabe 372, eine Zeilen-Abstands-Eingabe 374, eine Spalten-Versatz-Eingabe 376 und eine Spalten-Abstands-Eingabe 378. Die Aufnahme-Abbildungs-Funktion 314 gestattet es einer Bedienperson, physikalische Eigenschaften und die Geometrie einer Aufnahme manuell einzugeben. Beispielsweise kann die Anzahl von Zeilen und Spalten der Aufnahme in die Zeilen-Eingabe 368 bzw. die Spalten-Eingabe 370 eingegeben werden. Um die Diskussion zu erleichtern, kann eine jede Aufnahme als zweidimensionales Diagramm dargestellt werden, bei dem der Abstand zwischen Zeilen ein vertikaler Abstand und der Abstand zwischen Spalten ein horizontaler Abstand ist. die Zeilen-Versatz-Eingabe 372 gestattet es einer Bedienperson, den vertikalen Abstand zwischen der oberen linken Ecke einer Geräte-Aufnahme und des ersten Fachs einzugeben, und die Zeilen-Abstands-Eingabe 374 gestattet es einer Bedienperson, den vertikalen Abstand zwischen den Mittelpunkten von Fächern in benachbarten Zeilen einzugeben. Auf ähnliche Weise gestattet es die Spalten-Versatz-Eingabe 376 einer Bedienperson, den horizontalen Abstand zwischen der oberen linken Ecke einer Geräte-Aufnahme und dem ersten Fach einzugeben, und die Spalten-Abstands-Eingabe 378 gestattet es einer Bedienperson, den horizontalen Abstand zwischen den Mittelpunkten von Fächern in benachbarten Spalten einzugeben. Man beachte, dass die Aufnahme-Abbildungs-Funktion 314 eine Aufnahme-Abbildungs-Datei erzeugen kann, die mit einem aktuellen Job gespeichert wird, nachdem die Bedienperson die physikalischen Eigenschaften einer Aufnahme manuell eingegeben hat.
  • Unter der Aufnahme-Mess-Funktion 380 umfassen die Eingaben Folgendes: eine Auto-Messungs-Zeilen-Eingabe 382, eine Auto-Messungs-Spalten-Eingabe 384, eine Auto-Messungs-Zeilen-Versatz-Eingabe 386, eine Auto-Messungs-Zeilen-Abstands-Eingabe 388, eine Auto-Messungs-Spalten-Versatz-Eingabe 390, eine Auto-Messungs-Spalten-Abstands-Eingabe 292, eine Auto-Messungs-Spalten-Scan-Eingabe 394, eine Auto-Messungs-Zeilen-Scan-Eingabe 396 und eine Auto-Messungs-Eingabe 398. Die Aufnahme-Mess-Funktion 380 gestattet es der Bedienperson, die Auto-Messungs-Eingabe 398 auszuwählen, welche die physikalischen Eigenschaften und die Geometrie der Geräte-Aufnahme automatisch misst. Die Auto-Messungs-Eingabe 398 gestattet es einem automatischen Messsystem, welches optische Verfahren, die auf einer Änderung eines Zustands basieren, und speziell entworfene Algorithmen verwendet, um den Ort, die Geometrie und die physikalischen Eigenschaften einer Aufnahme zu berechnen.
  • Beispielsweise wird die Aufnahme-Mess-Funktion 380 automatisch die Zeilen und Spalten, den Zeilen-Versatz und -Abstand und den Spalten-Versatz und -Abstand berechnen, nachdem die Anzahl von Zeilen und Spalten manuell eingegeben wurden. Dies kann dadurch erreicht werden, dass die Auto-Messungs-Spalten-Scan-Eingabe 394 und die Auto-Messungs-Zeilen-Scan-Eingabe 396 ausgewählt werden. Die Auto-Messungs-Funktion kann verschiedene reflektive und nicht-reflektive Flächen verwenden, um ein relatives Koordinatensystem zu bestimmen, wobei Fächer einer Geräte-Aufnahme innerhalb des relativen Koordinatensystems angeordnet sind.
  • Die Auto-Messungs-Funktionalität hat drei primäre Funktionen: das Lokalisieren des Mittelpunkts eines Faches, das Bestimmen der Orte von Fächern entlang einer Zeile und das Bestimmen der Orte von Fächern entlang einer Spalte. Die Auto-Messungs-Funktionalität speichert die Orte der Fächer als Serie von X- und Y-Koordinaten, wobei der Ort eines Fachs "n" durch XnYn bestimmt ist. Nachdem sämtliche Fächer-Orte in die X- und Y-Tabelle abgebildet bzw. eingetragen wurden, werden die Zeilen- und Spalten-Versätze als Durchschnittswerte aus dieser X- und Y-Tabelle berechnet.
  • Die Auto-Messungs-Funktionalität ist so ausgelegt, dass sie der Bedienperson Zeit spart und Fehler verhindert, da manuelle Messungen zu schlechten Pick- und Place-Operationen führen. Ein kleiner Rundungsfehler, der während einer manuellen Messung auftritt, kann sehr groß werden, wenn der Pick- und Place-Kopf gegenüber diesem Punkt verschoben ist. Das Ergebnis der Auto-Messungs-Funktionalität kann in einer Aufnahme-Abbildungs-Datei gespeichert werden, die gemeinsam mit dem aktuellen Job gespeichert wird.
  • Unter Bezugnahme auf 4 ist ein Arbeitsablauf-Diagramm 400 für das automatisierte Programmiersystem 100 von 1 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Das Arbeitsablauf-Diagramm 400 umfasst einen System-Setup-Block 402, einen Programmier-Job-Setup-Block 404 und einen Job-Lauf-Block 406. Der System-Setup-Block 402 ist allgemein als das physische Einrichten bzw. Setup oder die physische Repräsentation des automatisierten Programmiersystems 100 definiert. Beispielsweise kann die Bedienperson Komponenten installieren, wie beispielsweise das Eingabe-Modul 108 von 2, das Ausgabe-Modul 110 von 2, die Programmier-Module 112 von 2, die Eingangsgeräte-Aufnahme 204 von 2, die Socket-Adapter 206, 208, 210, 212 von 2, die Aktuatoren 214 von 2 und die Ausgangsgeräte-Aufnahme 216 von 2.
  • Nachdem der physische Setup beendet ist, kann die Bedienperson die Programmierung über den Programmier-Job-Setup-Block 404 beginnen. Die Bedienperson kann den Job-Setup programmieren, indem er die Nutzer-Schnittstellen-High-Level-Architektur 300 von 3 oder eine äquivalente Nutzer-Schnittstellen-Architektur verwendet. Nachdem der Job-Setup beendet ist, kann die Bedienperson die Programmierung über den Job-Lauf-Block 406 beginnen.
  • In 5 ist ein Flussdiagramm für ein automatisiertes Programmiersystem 500 zur Verwendung des automatisierten Programmiersystems 100 gemäß einer Ausführungsform der vorliegenden Erfindung gezeigt. Das automatisierte Programmiersystem 500 umfasst in einem Block 502 das Konfigurieren des automatisierten Programmiersystems derart, dass es ein Eingabe-Modul, ein Programmier-Modul und ein Ausgabe-Modul umfasst, und das Verwenden eines textfreien Nutzer-Schnittstellen-Systems für eine Echtzeit-Repräsentierung des Eingabe-Moduls, des Programmier-Moduls und des Ausgabe-Moduls in einem Block 504.
  • Aus der obigen Beschreibung versteht es sich, dass die vorliegende Erfindung auf "Geräte" oder "Medien" angewendet werden kann. Geräte und/oder Medien können einen weiten Bereich von elektronischen und mechanischen Vorrichtungen einschließen. Die bevorzugte Ausführungsform beschreibt das Programmieren von Geräten und/oder Medien, die Flash-Speicher, mehrfach programmierbare Nur-Lese-Speicher (so genannte EEPROMs), programmierbare logische Bausteine (PLDs, programmable logical devices), field programmable gate arrays (FPGAs) und Mikrocontroller umfassen, ohne auf diese beschränkt zu sein. Die vorliegende Erfindung umfasst jedoch auch die Programmierung für sämtliche elektronische, mechanische, hybride oder andere Geräte oder Medien, die das Testen, Messen von Gerätecharakteristika, die Kalibration und andere Programmier-Operationen umfassen. Beispielsweise können diese Arten von Geräten und/oder Medien Mikroprozessoren, integrierte Schaltungen (ICs), anwendungsspezifische integrierte Schaltkreise (application specific integrated circuits, ASICs), mikro-mechanische Maschinen, mikro-elektrische mechanische Geräte (MEMs), Mikro-Module und fluidische Systeme umfassen, ohne auf diese beschränkt zu sein.
  • Es wurde festgestellt, dass die vorliegende Erfindung eine Vielzahl von Aspekten aufweist. Ein grundlegender Aspekt ist die Verwendung eines textfreien Nutzer-Schnittstellen-Systems, welches in einem automatisierten Programmiersystem angewendet wird. Beispielsweise kann das textfreie Nutzer-Schnittstellen-System die Modulerkennung, die Job-Auswahl, den Job-Setup, die Robotersteuerung, die Job-Status-Überwachung, die Job-Steuerung und die Job-Statistik für das automatisierte Programmiersystem handhaben.
  • Ein weiterer Aspekt der vorliegenden Erfindung besteht in der Echtzeit-Repräsentierung des Arbeitsraums durch das Nutzer-Schnittstellen-System. Durch das Nachbilden der Echtzeit-Repräsentierung des Arbeitsraumes wird die Häufigkeit von Bedienerfehlern verringert.
  • Noch ein weiterer Aspekt der Erfindung besteht darin, dass das Nutzer-Schnittstellen-System textfreie Fehlermeldungen an eine Bedienperson senden kann. Die Verwendung von textfreien Fehlermeldungen verbessert die Einfachheit der Bedienung des automatisierten Programmiersystems, indem Popup-Dialoge verwendet werden, die Information in einem bildlichen Format innerhalb des textfreien Nutzer-Schnittstellen-Systems vermitteln. Wenn beispielsweise die Eingangsgeräte-Aufnahme leer wird und der Status-Anzeiger ein rotes Licht anzeigt, kann ein Popup-Dialog die manuelle Entfernung und den Austausch der Eingangsgeräte-Aufnahme anzeigen.
  • Diese und andere wertvolle Aspekte der vorliegenden Erfindung heben den Stand der Technik zumindest auf die nächsthöhere Stufe.
  • Es wurde somit festgestellt, dass das automatisierte Programmiersystem der vorliegenden Erfindung wichtige und bisher unbekannte nicht verfügbare Lösungen, Fähigkeiten und funktionelle Aspekte bereitstellt. Beispielsweise verwendet das automatisierte Programmiersystem der vorliegenden Erfindung ein textfreies Nutzer-Schnittstellen-System, textfreie Fehlermeldungen und eine Echtzeit-Repräsentierung des Arbeitsraums, um die Bedienung durch einen Nutzer eines automatisierten Programmiersystems zu erleichtern. Die daraus resultierenden Prozesse und Konfigurationen sind einfach umzusetzen, kosteneffizient, unkompliziert, sehr vielseitig und effektiv, und sie können durch die Anpassung bekannter Technologien implementiert werden und sind daher sehr geeignet für eine effiziente und ökonomische Herstellung.
  • Obwohl die Erfindung in Verbindung mit einer bevorzugten Ausführungsform beschrieben wurde, versteht es sich, dass dem Fachmann Alternativen, Modifikationen und Abwandlungen im Lichte der vorhergehenden Beschreibung offensichtlich sind. Dementsprechend ist es beabsichtigt, sämtliche solcher Alternativen, Modifikationen und Abwandlungen mit zu umfassen, die in den Rahmen der beigefügten Ansprüche fallen. Sämtliche Gegenstände, die hier erwähnt wurden oder in den beigefügten Zeichnungen gezeigt wurden, sind als rein illustrativ und nicht beschränkend aufzufassen.
  • ZUSAMMENFASSUNG
  • Automatisiertes Programmiersystem (100), das Folgendes umfasst: Konfigurieren des automatisierten Programmiersystems (100) derart, dass es ein Eingabe-Modul (108), ein Programmier-Modul (112) und ein Ausgabe-Modul (110) umfasst; und Verwenden eines textfreien Nutzer-Schnittstellen-Systems (232) für eine Repräsentierung des Eingabe-Moduls (108), des Programmier-Moduls (112) und des Ausgabe-Moduls (110) in Echtzeit.

Claims (10)

  1. Automatisiertes Programmiersystem (100), das Folgendes umfasst: Konfigurieren des automatisierten Programmiersystems (100) derart, dass es ein Eingabe-Modul (108), ein Programmier-Modul (112) und ein Ausgabe-Modul (110) umfasst; und Verwenden eines textfreien Nutzer-Schnittstellen-Systems (232) für eine Repräsentierung des Eingabe-Moduls (108), des Programmier-Moduls (112) und des Ausgabe-Moduls (110) in Echtzeit.
  2. System nach Anspruch 1, das ferner Folgendes umfasst: Steuern des automatisierten Programmiersystems (100) mit dem textfreien Nutzer-Schnittstellen-System (232).
  3. System nach Anspruch 1, bei dem das Verwenden des textfreien Nutzer-Schnittstellen-Systems (232) für die Echtzeit-Repräsentierung das Modellieren einer Eingangsgeräte-Aufnahme (204) mit einem Eingangsgeräte-Aufnahme-Bild (218) umfasst.
  4. System nach Anspruch 1, bei dem das Verwenden des textfreien Nutzer-Schnittstellen-Systems (232) für die Echtzeit-Repräsentierung das Modellieren von Socket-Adaptern (206, 208, 210, 212) mit Socket-Adapter-Bildern (220, 222, 224, 226) umfasst.
  5. System nach Anspruch 1, bei dem das Verwenden des textfreien Nutzer-Schnittstellen-Systems (232) für die Echtzeit-Repräsentierung das Modellieren einer Ausgangsgeräte-Aufnahme (216) mit einem Ausgangsgeräte-Aufnahme-Bild (228) umfasst.
  6. Automatisiertes Programmiersystem (100), das Folgendes umfasst: das automatisierte Programmiersystem (100) zum Programmieren von Geräten, und ein textfreies Nutzer-Schnittstellen-System (232) zum Modellieren von Echtzeit-Repräsentierungen eines Eingabe-Moduls (108), eines Programmier-Moduls (112) und eines Ausgabe-Moduls (110).
  7. System nach Anspruch 6, bei dem das textfreie Nutzer-Schnittstellen-System (232) das automatisierte Programmiersystem (100) steuert.
  8. System nach Anspruch 6, bei dem die Echtzeit-Repräsentierungen das Eingabe-Modul (108) umfassen, welches durch ein Eingangsgeräte-Aufnahme-Bild (218) modelliert ist.
  9. System nach Anspruch 6, bei dem die Echtzeit-Repräsentierungen das Programmier-Modul (112) umfassen, welches durch Bilder der Socket-Adapter (220, 222, 224, 226) modelliert ist.
  10. System nach Anspruch 6, bei dem die Echtzeit-Repräsentierungen das Ausgabe-Modul (110) umfassen, welches durch ein Bild (228) der Ausgangsgeräte-Aufnahme modelliert ist.
DE112007001115T 2006-05-03 2007-03-30 Automatisiertes Programmiersystem, das eine textfreie Nutzerschnittstelle verwendet Withdrawn DE112007001115T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US79746206P 2006-05-03 2006-05-03
US60/797,462 2006-05-03
US11/467,087 US7818075B2 (en) 2006-05-03 2006-08-24 Automated programming system employing non-text user interface
US11/467,087 2006-08-24
PCT/US2007/065724 WO2007130767A2 (en) 2006-05-03 2007-03-30 Automated programming system employing non-text user interface

Publications (1)

Publication Number Publication Date
DE112007001115T5 true DE112007001115T5 (de) 2009-04-30

Family

ID=38662133

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112007001115T Withdrawn DE112007001115T5 (de) 2006-05-03 2007-03-30 Automatisiertes Programmiersystem, das eine textfreie Nutzerschnittstelle verwendet

Country Status (7)

Country Link
US (2) US7818075B2 (de)
JP (1) JP2009535741A (de)
KR (1) KR101404207B1 (de)
CN (1) CN101432670B (de)
DE (1) DE112007001115T5 (de)
TW (1) TWI438592B (de)
WO (1) WO2007130767A2 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818075B2 (en) * 2006-05-03 2010-10-19 Data I/O Corporation Automated programming system employing non-text user interface
JP6019968B2 (ja) * 2012-09-10 2016-11-02 株式会社リコー レポート作成システム、レポート作成装置及びプログラム
US9870487B2 (en) 2014-12-30 2018-01-16 Data I/O Corporation Automated manufacturing system with adapter security mechanism and method of manufacture thereof

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4413277A (en) * 1981-01-23 1983-11-01 Instant Replay Systems Instant replay productivity motivation system
DE59307083D1 (de) * 1993-11-18 1997-09-11 Siemens Ag Rechnergestütztes Entwurfsverfahren für ein programmierbares Automatisierungssystem
US6085407A (en) * 1997-08-21 2000-07-11 Micron Technology, Inc. Component alignment apparatuses and methods
JP4358991B2 (ja) * 1998-08-04 2009-11-04 サイバーオプティクス コーポレーション 強化されたセンサ
US6587743B1 (en) * 1999-01-29 2003-07-01 B P Microsystems, Inc. Pick and place teaching method and apparatus for implementing the same
US6487623B1 (en) * 1999-04-30 2002-11-26 Compaq Information Technologies Group, L.P. Replacement, upgrade and/or addition of hot-pluggable components in a computer system
US6140926A (en) * 1999-07-21 2000-10-31 Hewlett-Packard Company Redundant status indicators for fault tolerance
US6695205B1 (en) * 1999-09-23 2004-02-24 Datacard Corporation Integrated circuit card programming modules, systems and methods
US6449523B1 (en) * 1999-10-15 2002-09-10 Data I/O Corporation Feeder/programming/buffer operating system
US6647303B1 (en) * 1999-10-15 2003-11-11 Data I/O Corporation Feeder/programming/buffer control system and control method
US6538244B1 (en) * 1999-11-03 2003-03-25 Cyberoptics Corporation Pick and place machine with improved vision system including a linescan sensor
US6671564B1 (en) * 2000-10-03 2003-12-30 Data I/O Corporation Portable programming system and control method therefor
JP2003022139A (ja) 2001-07-06 2003-01-24 Nippon Telegr & Teleph Corp <Ntt> プログラムモジュール導入方法およびシステムおよびプログラム
TWI286785B (en) * 2002-03-29 2007-09-11 Tokyo Electron Ltd Method for interaction with status and control apparatus
EP1388769A1 (de) * 2002-08-05 2004-02-11 Peter Renner System zur Automatisierung, Überwachung, Steuerung, Messwerterfassung von technischen Prozessen
US20050235259A1 (en) * 2004-04-15 2005-10-20 Hermann Lueckhoff Designing a rule for automated computer process
US7720570B2 (en) * 2004-10-01 2010-05-18 Redzone Robotics, Inc. Network architecture for remote robot with interchangeable tools
DE102005061211B4 (de) * 2004-12-22 2023-04-06 Abb Schweiz Ag Verfahren zum Erzeugen einer Mensch-Maschine-Benutzer-Oberfläche
US7818075B2 (en) * 2006-05-03 2010-10-19 Data I/O Corporation Automated programming system employing non-text user interface

Also Published As

Publication number Publication date
CN101432670A (zh) 2009-05-13
US20070260339A1 (en) 2007-11-08
TW200821783A (en) 2008-05-16
WO2007130767A2 (en) 2007-11-15
KR20090037393A (ko) 2009-04-15
CN101432670B (zh) 2011-02-09
KR101404207B1 (ko) 2014-06-05
JP2009535741A (ja) 2009-10-01
US20110029104A1 (en) 2011-02-03
US8718801B2 (en) 2014-05-06
US7818075B2 (en) 2010-10-19
TWI438592B (zh) 2014-05-21

Similar Documents

Publication Publication Date Title
DE69828800T2 (de) Herstellungschnittstelle für ein integriertes schaltungsprüfsystem
DE102019114117B3 (de) Automatische Workflows basierend auf einer Erkennung von Kalibrierproben
DE19928518B4 (de) Host-unabhängiger Gelenkarm
DE10241400B4 (de) Verfahren zum Verwalten eines sequentiellen Prozesses unter Verwendung einer graphischen Benutzerschnittstelle
EP3092129B1 (de) Bearbeitungssystem für mehrere unterschiedliche werkstücke
DE102012220884A1 (de) Maschinensichtsystemprogramm-Bearbeitungsumgebung mit Echtzeitkontexterzeugungsmerkmalen
DE112007002538T5 (de) Verbesserte Kalibrierung eines Substrathandhabungsroboters
DE112011105151T5 (de) Roboterkontrollvorrichtung
EP3518055B1 (de) Überwachungs- und bediensystem für einen fertigungsarbeitsplatz und verfahren zum fertigen eines produkts oder teilprodukts
DE102012220759A1 (de) Programmbearbeitungsumgebung eines maschinell sehenden Systems mit synchronisierten Benutzerschnittstellenmerkmalen
EP2693218B1 (de) Verfahren und Vorrichtung zum Erfassen bzw. Überprüfen einer Anordnung von Laborartikeln auf einem Arbeitsfeld einer Labor-Arbeitsstation
DE112007001112T5 (de) Automatisiertes Verarbeitungssystem, das intelligente Module verwendet
DE10234135A1 (de) Systeme und Verfahren zum Verknüpfen einer Graphikanzeige und einer n-dimensionalen Datenstruktur in einer graphischen Benutzerschnittstelle
DE112021003127T5 (de) Programmiervorrichtung
DE112007001115T5 (de) Automatisiertes Programmiersystem, das eine textfreie Nutzerschnittstelle verwendet
EP3836019A1 (de) Verfahren und assistenzsystem zur überprüfung von mustern auf fehlerhaftigkeit
DE102009027267A1 (de) Verfahren und Vorrichtung zur vereinfachten Fehlerverarbeitung an einer Werkzeugmaschine
DE112007001096T5 (de) Auto-Einlern-System
DE102014104673A1 (de) Prozessunterstützungssystem und Verfahren zum Unterstützen eines Prozesses
AT514339A2 (de) Bearbeitungssystem für mehrere unterschiedliche Werkstücke
DE10013137B4 (de) Verfahren zur bildgesteuerten Prüfung und Bearbeitung von Produkten
DE112021002451T5 (de) Programmbearbeitungsvorrichtung
DE102019101755A1 (de) Substanzanhaftungs-simulationsvorrichtung
EP3582140A1 (de) System zur automatischen erkennung von laborarbeitsgegenständen sowie verfahren zum betrieb eines systems zur automatischen erkennung von laborgegenständen
DE19831573A1 (de) Prüfförderer für integrierte Schaltungen

Legal Events

Date Code Title Description
R005 Application deemed withdrawn due to failure to request examination

Effective date: 20140401