DE3787189T2 - Gesteuerter Roboter-Überwachungsprozess und Verfahren für Soll-Lage-Einstellung. - Google Patents

Gesteuerter Roboter-Überwachungsprozess und Verfahren für Soll-Lage-Einstellung.

Info

Publication number
DE3787189T2
DE3787189T2 DE87301574T DE3787189T DE3787189T2 DE 3787189 T2 DE3787189 T2 DE 3787189T2 DE 87301574 T DE87301574 T DE 87301574T DE 3787189 T DE3787189 T DE 3787189T DE 3787189 T2 DE3787189 T2 DE 3787189T2
Authority
DE
Germany
Prior art keywords
robot
time
sample
robot manipulator
sequence
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.)
Expired - Fee Related
Application number
DE87301574T
Other languages
English (en)
Other versions
DE3787189D1 (de
Inventor
William J Boute
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.)
Zymark Corp
Original Assignee
Zymark 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 Zymark Corp filed Critical Zymark Corp
Application granted granted Critical
Publication of DE3787189D1 publication Critical patent/DE3787189D1/de
Publication of DE3787189T2 publication Critical patent/DE3787189T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related 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/42Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
    • G05B19/425Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
    • 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/418Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM]
    • G05B19/4181Total factory control, i.e. centrally controlling a plurality of machines, e.g. direct or distributed numerical control [DNC], flexible manufacturing systems [FMS], integrated manufacturing systems [IMS] or computer integrated manufacturing [CIM] characterised by direct numerical control [DNC]
    • 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/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33125System configuration, reconfiguration, customization, automatic
    • 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/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34418Scheduler for sequential control, task planning, control sequence
    • 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/30Nc systems
    • G05B2219/45Nc applications
    • G05B2219/45083Manipulators, robot
    • 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • General Engineering & Computer Science (AREA)
  • Manufacturing & Machinery (AREA)
  • Quality & Reliability (AREA)
  • Manipulator (AREA)
  • General Factory Administration (AREA)

Description

  • Diese Erfindung beruht auf einem Steuersystem für die Arbeitsvorgänge eines Roboters, wenn der Roboter serielle Prozesse an einer Anzahl Proben ausführt, d. h. Proben, wie sie beispielsweise in einem Chemielabor aufbereitet werden.
  • Serielle Verfahren sind dort gefordert, wo einer optimalen Nutzung der Verfahrenseinrichtung ein Minimum an Problemen entgegenstehen soll, Problemen, wie sie Stapelprozessen innewohnen. Beispielsweise sollte jede Probe in einem sorgfältig ausgeführten seriellen Verfahren einer identischen Verarbeitung unterworfen sein, um häufig auftretende Abweichungen der Meßergebnisse auszuschalten, die durch unterschiedlich lange Wartezeiten zwischen den Prozeßschritten entstehen können oder, schlimmer noch, Abweichungen bei den maßgeblichen Schritten (d. h. Erwärmung, Zentrifugieren), weil sich der Anwender um eine andere Serie von Proben kümmert.
  • Es hat den Anschein, als ob Laborroboter in ausgezeichneter Weise für die Automatisierung serieller Prozesse geeignet wären, weil sie in der Lage sind, programmierte Computersteuerung mit bestimmten nacheinanderfolgenden Verfahrensabläufen zu vereinen. Die Anwendung vielfaltiger Laborroboter-Verfahren ist in "Advances of Laboratory Automation Robotics 1984" von Gerald L. Hawk und Janet R. Strimatis (1984, Zymark Corporation, Inc., Hopkinton, Massachusetts) beschrieben. Einige spezifische Vorteile serieller Verfahren offenbart ein Artikel von Zenie in "Trends in Laboratory Automation", American Laboratory, Seite 51 bis 57 im Februar 1985.
  • Trotzdem können viele verhältnismäßig einfache serielle Verfahren für die Massenverarbeitung von Proben sehr wesentliche Anforderungen an die Computer-Steuerung eines Robotersystems stellen, wenn die Fähigkeiten des Systems am Grad der Serienverarbeitung gemessen wird und der Anwender von übermäßigem Programmierungsaufwand entlastet werden soll. Bedenklicher wird es, wenn dem Anwender eine Apparatur ohne die praktischen Hilfen in die Hand gegeben wird, die zum Erzielen der potentiellen Vorteile bei der Vorgabe serieller Prozesse nötig sind.
  • In einem automatisierten System, welches ein oder mehrere Mechanismen mit dem Computer steuert und in welchem Arbeit oder Aufgaben auf ein oder mehrere Objekte verteilt wird, ergeben sich eine Vielzahl von Zielen, auf die der computergesteuerte zeitliche Ablauf der Mechanismen gerichtet sein kann. Diese Ziele können beispielsweise sein: möglichst vielfaltiger Einsatz der Maschinerie; möglichst großer Durchlauf für im Prozeß befindliche Objekte; möglichst kurze Prozeßdauer für im Prozeß befindliche Objekte; schnelles Ansprechen auf eine nicht im Zeitplan vorgesehene Anfrage (Unterbrechungen, Störung) usw. Viele Systeme zur Koordinierung von Zeitabläufen wurden in der Vergangenheit entwickelt, die auf die Ziele gerichtet waren, möglichst großen Einsatz der Maschinerie mit möglichst kurzer Ansprechzeit bei Unterbrechungen zu verbinden. Ob es nun Thunfischdosen auf dem Verpackungsband oder am Computerterminal sitzende Menschen sind oder vor dem Fahrstuhl eines Hochhauses wartende Menschen, die im Verfahren befindlichen Objekte werden, wenn die Koordinierung der Abläufe von der Zeitablaufsteuerung bestimmt wird, die geforderte Dienstleistung erhalten.
  • Im Bereich der reinen Datensysteme kann der Betrieb der Maschine, d. h. des Computers fast völlig unterbrochen werden. Der Computer kann seinen "laufenden Status" im Falle einer Unterbrechung oder Störung aufrechterhalten und dies in fast allen kritischen Momenten und bei der Ausführung der meisten Aufgaben. Fahrt er nach Behebung der Störung mit einer zur ersten Aufgabe völlig beziehungslosen Aufgabe fort und kehrt einige Zeit später zum aufrechterhaltenen "laufenden Status" der ersten Aufgabe zurück, dann wird mit dieser Aufgabe genau von dem Punkt der Unterbrechung aus fortgefahren. In kritischen Momenten sind Unterbrechungen oder Störungen unerwünscht, weil bei der Bearbeitung der Anfrage zur Unterbrechungen Verzögerungen auftreten. In computergestützen Systemen gestalten sich diese Verzögerungen durch schnelle Rückgewinnung der erforderlichen Daten sehr kurz.
  • Wenn jedoch der Computer zur Anpassung an die Wirkungsweise einer physikalischen Maschinerie Einfluß nehmen muß, entstehen durch Unterbrechungen Probleme. Im typischen Umfeld robotergesteuerter Verfahren sind Unterbrechungen oder Störungen von Manipulatoren gewöhnlich schwer zu handhaben und ihre Beseitigung ist beim Entwurf festprogrammierter automatischer Systeme generell ausgeschlossen.
  • Bei der Verarbeitung von Proben mit relativ langen Perioden des Einsatzes von Roboter-Manipulatoren zur Verarbeitung der Materialien sind Unterbrechungen oder Störungen entweder nicht möglich oder nicht erwünscht. Dies hat zu Problemen bei der Forderungen nach Koordinierung der Operationsfolgen von unterschiedlichen Proben (Materialien oder Objekten) geführt, verbunden mit extremer Wiederholungsrate von Probe zu Probe bei der Forderung nach gleichmäßigem Durchlauf. Ebenfalls bereitet die Forderung nach möglichst großer Verarbeitungsrate der Proben pro Zeiteinheit ohne Auswirkungen auf gleichmäßige Verarbeitung der Proben Probleme.
  • Deshalb hat der Erfinder seine Anstrengungen auf die Lösung des Problems gerichtet, die computergesteuerte Koordinierung der zeitlichen Abläufe von Verfahrensschritten zu verbessern.
  • Ein die Selbstkonfiguration von Systemen zur Robotersteuerung versprechendes Steuersystem ist in unserem U.S.-Patent 4,578,764 offenbart, welches am 25. März 1986 veröffentlicht worden ist. Dieses Patent beruht auf Einrichtungen zur Robotersteuerung, welche die Fähigkeit der Zusammenarbeit einer Anzahl unabhängiger Werkzeuge oder Verarbeitungssysteme beinhaltet, wobei der Käufer vor Inbetriebnahme der Vorrichtung zur Robotersteuerung die Werkzeuge oder Verarbeitssysteme nicht bestimmen muß. Die diese Fähigkeiten einschließende Erfindung, wie im vorgenannten Patent offenbart, kann teilweise als eine Verbesserung beim Verfahren zum Betrieb selbstkonfigurierender Robotersysteme angesehen werden.
  • Diese Anmeldung bezieht sich auch auf unser U.S.-Patent 4,586,151; welches am 29. April 1986 veröffentlicht worden ist.
  • Das Verfahrensschema, das der vorliegenden Erfindung zugrunde liegt, kann bei jeder Anzahl Robotersystemen Verwendung finden, wie z. B. mit dem existierenden automatischen Labor-Prozeß-System ZYMATE, zu beziehen von der ZYMARK-Corporation in Hopkinton, Massachusetts. Aus diesem Grunde sind die folgende Offenbarung und die sich darauf beziehenden Abbildungen 1 bis 10 beigefügt, um die Arbeitsweise eines solchen Systems zu veranschaulichen, wie es in den hervorgehend angesprochenen Patenten beschrieben worden ist. In dieser Hinsicht enthalten die begleitenden Abbildungen folgende
  • Inhalte:
  • Fig. 1 stellt ein Blockdiagramm eines selbstkonfigurierenden Robotersystems dar;
  • Fig. 2 zeigt als Blockdiagramm die Details des Moduls aus Fig. 1;
  • Fig. 3 stellt ein Flußdiagramm dar, welches die Pfade des Datenflusses im selbstkonfigurierenden Robotersystem darstellt;
  • Fig. 4 stellt ein Ablaufdiagramm der Steuertüchtigkeit des Systems dar;
  • Fig. 5 zeigt in einem Ablaufdiagramm die Einzelheiten jener Funktionen, die mit der Operation eines Robotermoduls und dem Steuersystem zusammenhängen;
  • Fig. 6 stellt die zeitliche Folge der Funktionsabläufe dar, die sich auf das Erstellen einer rechnernahen "Verzeichnis-Eingabe" (Dictionary entry) beziehen, wenn eine bestimmte Aktion von einem Robotermodul ausgeführt werden soll. Wenn sich die Eingabe als speicherbar erweist, (keine Fehlfunktion, wie sie durch eine andere Eingabe mit gleichem Namen verursacht werden würde, usw.) wird die Eingabe dauerhaft im System-Verzeichnis gespeichert;
  • Fig. 7 zeigt ein Ablaufdiagramm für einen Programm-Schritt für ein einfaches Programmsegement für dies zeitliche Folge bestimmter Aktionen, d. h. Arbeitsaufgaben einer Anzahl Robotermodule;
  • Fig. 8 ist eine Darstellung der Folge der Programm-Schritte für die Ausführung des Steuerprozesses, wie in Fig. 4 bis 7 beschrieben;
  • Fig. 9 ist eine schematische Darstellung der Struktur eines Roboter-Steuersystems und
  • Fig. 10 ist ein Ablaufdiagramm, welches die Aktivierung einer Rückmelde-Funktion durch das Gerät zeigt.
  • Wenden wir uns jetzt den Fig. 1 und 3 zu, in denen in Form von Blockdiagrammen ein Robotersystem dargestellt ist, welches durchgehend mit der Referenz-Nr. (10) bezeichnet wird. Dieses System ist ein selbstkonfigurierendes Robotersystem' wie es vom Typ her in der vorliegenden Erfindung vorteilhaft zum Einsatz kommt. Das Robotersystem (10) nutzt einen konventionellen Computer (12), besteht aus einem Operationssystem, beinhaltet wenigstens einen Kern, eine Programmier-Einheit zur jeweiligen neuen Bestimmung der zeitlichen Abläufe und Hilfsmittel für die Aufgabenunterstützung. Der Datenbus (Sammelschiene) (14) enthält wenigstens Daten-, Adressen- und Lese-Schreib-Anschlüsse (16), welche durch physikalisch trennbare Verbindungen (18) mit einem Modul (M1) verbunden sind, wobei der Datenbus durchgehend mit der Referenz-Nr. (20) bezeichnet wird.
  • Die Struktur von Modul (20) wird anschließend in Zusammenhang mit Fig. 2 besprochen werden. Vorerst soll die Bemerkung ausreichen, daß Modul (20) mit einem Roboter (22) verbunden ist. Der Terminus "Roboter", wie hierin benutzt, bedeutet: "Ein wiederprogrammierbarer, multifunktioneller Manipulator, entworfen, um Materialien, Teile, Werkzeuge oder spezielle Vorrichtungen durch veränderlich programmierbare Bewegungsabläufe zu bewegen, wodurch eine Vielzahl von Aufgaben ausgeführt werden." Dies ist die Definition für den Terminus "Roboter", wie ihn das Amerikanische Roboter-Institut (The Robotics Institut of America) festgelegt hat.
  • Wie in Fig. 1 dargestellt, umfaßt das Robotersystem wenigstens ein anderes Modul (M2), welches elektrisch mit der Verarbeitungs-Station (24) verbunden ist. Die Verarbeitungs-Station (24) kann entweder einen anderen Roboter (22) aufweisen oder Mittel zur Ausführung von definierten Aufgaben. Eine Erweiterung des Robotersystems für den Einsatz zusätzlicher Verarbeitungs-Stationen und mit diesen in Verbindung stehenden Modulen, d. h. Module (Mn), ist vorgesehen.
  • Die Detailstruktur von Modul (20) ist im Blockdiagramm von Fig. 2 dargestellt. Jedes Modul enthält die komplette Geräte-Logik (device intelligence) (26) für die angeschlossene Station (28). Die Geräte-Logik wird über elektrische Leitungen (34) ausgesendet und empfangen. Die Station (28) stellt im allgemeinen den vorhergehend erwähnten Roboter (22) und die Verarbeitungs-Station (24) dar. Das Modul (20) enthält ebenfalls den Steuerblock (30) mit einem Steuerblock-Kennzeichen und einem Start-Offset-Signal für den Computer (12) sowie eine geeignete Eingang-Ausgang-Schnittstelle (32) zwischen Computer (12) und Station (28). Wenn gefordert, kann das Modul (20) auch einen Geräte-Speicher (36) enthalten, durch gestrichelte Linien in Fig. 2 dargestellt.
  • Die in Modul (20) enthaltene Geräte-Logik (26) kann in einer Vielzahl herkömmlicher Arten gespeichert werden. Beispielsweise kann die Geräte-Logik in ROM's (read-only memories) gespeichert werden.
  • Positiv zu bewerten ist, daß die vorhergehend beschriebene Hardware-Struktur des Robotersystems für jedes Gerät (28), ob Roboter (22) oder Verarbeitungs-Station (24), ein mit diesem Gerät verbundenes Modul (20) aufweist, welches die komplette Geräte-Logik für eine einzelne Station enthält. Das angeschlossene Modul stellt zusätzlich ein Steuerblock-Kennzeichen, ein Start-Offset-Signal für den Computer und eine Eingang-Ausgang-Schnittstelle zwischen Computer und Gerät (28) bereit. Mit dem vom Computer identifizierten Steuerblock-Kennzeichen wird die Anwesenheit des Roboters (22) und des angeschlossenen Moduls (20) festgestellt. Der Computer (12) ruft dann das auf dem Start-Offset-Signal gefundene Start-Programm auf, welches das System konfiguriert. Der einzelne Eingang-Ausgang-Mechanismus, Verbindungsglied zwischen Computer (12) und Roboter (22), stellt die endgültige Information dar, die im Steuerblock aufgefunden wird. Jedes Modul ist elektrisch an den gemeinsamen Computer-Datenbus (14) über eine Anzahl trennbarer elektrischer Verbindungen (18) angeschlossen. Bemerkenswert ist, daß sich die komplette Geräte-Logik auf der Stations-Seite der physikalischen Schnittstelle befindet, die aus einer trennbaren elektrischen Verbindung (18) besteht.
  • Deshalb ist die Konfigurierung oder andererseits die Zurücksetzung des Systems durch einfaches Stecken eines entsprechenden Stations-Moduls (20) an den Computer-Datenbus (14) möglich, weil das Modul die komplette entsprechenden Geräte-Logik, die entsprechende Steuerblock-Information für den Computer (12) und die Eingang-Ausgang-Schnittstelle zwischen Station und Computer enthält. Diese besondere Systemstruktur vereinfacht die Ausführung und Konfiguration eines bestimmten Robotersystems in hohem Maße und sie kommt den Bedürfnissen des Endverbrauchers entgegen. Da das Gerät und sein angeschlossenes Modul trennbare Einheiten darstellen, können eine Vielzahl von Geräte-Aufgabenstellungen durch Anschluß an das oder Trennung von dem Robotersystem (10) realisiert werden, wobei nur ein einfaches Stecken oder Herausziehen des entsprechenden Moduls 20) erforderlich ist.
  • Wenden wir uns jetzt Fig. 3 zu, welche ein Flußdiagramm für das Robotersystem zeigt. Station (28), in der unteren rechten Ecke von Fig. 3 angeordnet, ist für den Einsatz unter Verwendung der Geräte-Logik programmiert, mit welcher ein Datenblock erzeugt wird, der ein Vorzeichen zur Stations-Identifikation, einen vom "Endverbraucher" auszuwählenden Datenblock-Namen, und Geräte-Parameter für die jeweils bestimmte Station enthält. Der Datenblock ist in einem Verzeichnis abgespeichert, das eine Anzahl von Datenblöcken enthält, wobei jeder Datenblock mit Vorzeichen, Name und zugeordneten Geräte-Parametern versehen ist. Die Ablauf-Logik zur Steuerung zeitlich nacheinander ablaufender Operationen ist in einem Programm für den Computer (12) enthalten. Das Programm mit den Verzeichnis-Namen definiert die zeitliche Folge der Ausgabe der Datenblöcke aus dem Verzeichnis und deren Einsatz. Für die Ablauf-Logik und das Verzeichnis ist die Entschlüsselung der Geräte-Parameter nicht erforderlich. Beide sind durch die schraffierten Felder der Datenblöcke "Ablauf-Logik" und "Verzeichnis" in Fig 3 symbolisiert. Anhand der Abbildung Fig. 3 läßt sich der Datenfluß beschreiben, der sich für den Einsatz des Namens 3 aus dem Verzeichnis ergibt. Ein Befehl an die Geräte-Logik, die Geräte-Parameter für "Name 3" zur durch das Vorzeichen identifizierbaren Station (28) zu leiten, bewirkt in Übereinstimmung mit den gespeicherten Geräte-Parametern die Aufnahme der Arbeit der Station.
  • In Fig. 3 ist im Block (29) zusätzlich eine Rückmelde-Funktion vorgesehen. In dieser bevorzugten Ausführungsform kann die Station (28) durch ihren Datensatz diese Funktion aktivieren. Nach einer Wartezeit wird die Station (28) wieder aktiviert, selbst dann, wenn keine Eingabe des Steuersystem-Programms mit Namen vorliegt. Die Rückmeldung bewirkt eine Standzeit, bis die Station (28) nach Verstreichen einer bestimmten Zeitspanne reaktiviert wird. Die Station (28) kann sich selbst reaktivieren, sogar dann, wenn es sich im Ablauf einer Funktion mit anderem Namen befindet. Dies steigert in hohem Maße die Leistungsfähigkeit und Unkompliziertheit des Programms für das Steuersystems. Fig. 10 zeigt von selbst, wie das Aktivieren der Rückmelde-Funktion durch das Gerät abläuft. Bemerkenswert ist, daß der Aufruf der Namen-Funktion im Steuersystem irgendeine bereits früher aktivierte Rückmelde-Funktion beendet.
  • Bezüglich Fig. 4 ist erkennbar, daß der Steuerprozeß, im Gesamtzusammenhang gesehen, einen Schritt zur Unterweisung der Modul-Logik durch einen Anwender enthält, um über die Steuersysteme einen bestimmten Arbeitsgang auszuführen. Beispielsweise: gehe zu einem bestimmten Platz, hole ein Teströhrchen aus einem Gestell und bringe das Teströhrchen dann zu einer anderen Prozeß-Station A. Der Modulspeicher kann diese Unterweisung übernehmen, es wird aber der dem Modul innewohnenden Logik überlassen, wie diese Anweisung in einer folgenden Entscheidung umgesetzt wird. Deshalb wird ein Roboter, wenn man ihm sagt, er soll zu einem bestimmten Platz gehen, selbst entscheiden, wie er sein Ziel erreicht. Er kennt seinen Standort, wenn er die Anordnung erhält, er kennt die Hindernisse auf dem Weg und er weiß, ob eine früher eingeleitete Operation für ein anderes Teströhrchen in der Ausführung ist, usw.
  • Fig. 5 bis 8 leiten über zum Steuersystem und dem für seine Funktion notwendigen Programier-Code.
  • Aus Fig. 5 wird ersichtlich, daß während des Schrittes der Unterweisung die befehlsspezifischen Parameter für die Aufgabe oder die "Geräte-Aktion" in einem temporären (vorläufigen) Eingabebereich für das Daten-Verzeichnis gespeichert werden. Dieser Bereich kann sich im Modul selbst oder im Hauptsystem befinden. Oft kann es praktisch sein, einen Speicherbereich der Zentraleinheit des Computers durch ein bestimmtes Modul zu "besetzten", anstatt den im Modul befindlichen Speicher zu nutzen. Die Aufgabenparameter sollen ein Bestandteil einer Verzeichnis-Eingabe mit der Aufgabendefinition sein, das Modul soll die Aufgabe unter Einsatz seiner Logik interpretieren und der Anwender wählt den Namen, um die Aufgaben-Parameter unverwechselbar zu kennzeichnen. Die Speicherung wird in Fig 6 veranschaulicht.
  • In Fig. 6 wird auch dargestellt, wie nach Vervollständigung der temporären Verzeichnis-Eingabe die gesamte Eingabe vom temporären Pufferspeicher ins dauerhaftere Systemverzeichnis überführt wird.
  • In Fig. 7 wird dargestellt, wie eine Serie von Befehlseingängen, d. h. Aktions-Namen, zusammengefaßt wird, wenn eine komplette Folge von Modul-Operationen für gleiche oder unterschiedliche Module programmiert wird. Jedoch soll hier bemerkt werden, daß dieses Zusammenfassen der Befehlseingaben in einer sehr einfachen, anwenderfreundlichen Sprache abgefaßt ist, die sich sofort in hohen Maße als nutzbringend und vielseitig erweist.
  • In einer typischen Situation wird der Name für die Aktion eine stark eingrenzende Bedeutung für die Operation haben. Als Beispiel kann der Befehl "Röhrchen nach A" dienen. Wenn die Speicherung im System-Verzeichnis komplett ist, wird dieser einfache Befehl nach Verwendung des Aktions-Namen die Ausführung von "Röhrchen nach A" bewirken, wobei die Logik-Steuerung dem die Logik beinhaltenden Modul obliegt.
  • Fig. 8 zeigt, daß dieser Prozeß abläuft, wenn ein bestimmter Befehls-Name gegeben wird, wobei der Name aus dem Verzeichnis ausgewählt wird, wobei mit dem Namen die Eingabe der Identität des Moduls bestimmt wird und ebenfalls die aufgabendefinierten Parameter, die als ein Teil der Verzeichnis-Eingabe gespeichert sind. Das Modul führt dann jeden für sich definierten Vorgang nur unter Verwendung seiner eigenen Logik aus. Wenn daher der Auftrag lautet, zu einer gewissen Stelle im Raum zu gehen, wird die Wahl des sinnvollsten Weges dadurch gekennzeichnet sein, daß der kürzeste Weg eingeschlagen wird.
  • In der System-Beschreibung fällt auf, daß die befehlsspezifischen Parameter in einem temporären Puffer-Speicher geladen werden, bevor sie ins Verzeichnis überführt werden. Dies hat einen bedeutenden Vorteil für den hier beschriebenen Prozeß, weil dadurch die Übertragung zusätzlicher Information an den dauerhaften Speicher vermieden wird. Dazu ein einfaches Beispiel: wenn eine mit dem Namen "A" definierte Roboter-Position festgelegt wird, kann man "A" in den dauerhaften Speicher eingeben und sich anschließend durch eine Reihe von Zwischenschritten zu einer mit dem Namen "B" definierten Position bewegen. Die Zwischenschritte werden nicht in den Speicher aufgenommen, wenn der Name von "B" Aufnahme im dauerhaften Speicher findet.
  • Selbstverständlich kann eine Folge von Verzeichnis-Eingaben auch einen einzelnen Verzeichnis-Namen erhalten, wenn die Nutzung des Systems das fordert. Aus diesem Grunde kann diese Folge als unabhängiges Modul oder als "Arbeits-Station" arbeiten.
  • Für das Verständnis ist es wichtig, daß das zentrale Prozeß-System (der Computer) normalerweise keine Kontrolle darüber hat, wie das Modul die ihm zugewiesene Aufgabe ausführt, für deren Ausführung die relativ einfachen Anweisungen im Verzeichnis enthalten sind.
  • Ein wichtiger Aspekt beim Betrieb der Robotermodule liegt in der Tatsache, daß die benutzte einfache Computer-Sprache unabhängig von den Modulen oder der eingesetzten Roboter-Vorrichtungen ist. Deshalb steht der System-Anschluß sofort einsatzbereit zur Verfügung. Falls ein System aus mehreren Modulen besteht und mit Programm-Steuerung läuft, ist als Auflage Zeitfolge-Steuerung für die Arbeit zwischen den Modulen erforderlich.
  • Es ist auch vorstellbar, daß das hier beschriebene System ohne selbstkonfigurierende Roboter mit den in Fig. 1 bis 3 beschriebenen Vorteilen Anwendung findet. Gerade bei einem System mit fest vorgegebener Anzahl von Roboter-Modulen kann ein beträchtlicher Vorteil in der Anwendung des Verzeichnisses mit der Funktion "nenne einen Namen" und der einfachen Sprache für die Ablauf-Steuerung liegen.
  • Fig. 9 stellt ein allgemeines Steuersystem dar.
  • Daraus wird ersichtlich, daß das Verzeichnis in einem Hilfsmodul (90) verwaltet wird. Das Verzeichnis-Modul (90) liefert Funktionshilfen, um Daten in das Verzeichnis eingeben zu können, um Eingaben aufzurufen, um Eingaben zu löschen, um Eingaben zu aktualisieren und um das Verzeichnis in externen Daten zu speichern und und hieraus wieder aufzurufen.
  • Eingaben in das Verzeichnis bestehen aus drei Teilen: sie beinhalten einen Namen oder ein Kennzeichen, zugewiesen im Prozeß für "Unterweisung und Name", sie beinhalten einen Hinweis auf die Herkunft der Eingabe des betreffenden Roboter-Moduls und sie beinhalten die dem jeweiligen Roboter-Modul zugeordneten Parameter. Dadurch ist das Erkennen und Ausführen der jeweiligen Aufgabe gegeben. Die beiden ersten Teile der Verzeichnis-Eingabe definieren das ganze System. Der dritte Teil definiert nur das jeweilige Modul als "Adressat der Eingabe".
  • Das Verzeichnis-System (90) in der schematischen Darstellung von Fig. 9 ist der Schlußstein des Steuersystems.
  • Die Zentraleinheit (92) unterstützt die üblichen Funktionen der Datenverarbeitung, wie Aufgabe, Speicherung und Steuer-Management, Nachrichtenvermittlung und Zuordnung der Hilfsmittel.
  • Zu den Hilfsmitteln der Hardware gehören das Anwender-Terminal, das Anwender-Programm, das Datenspeicher-System und die abgesetzte Computer-Schnittstelle. Weiterhin wird die Eingabe des Anwender-Programms, die Druckersteuerung und die Interpretation durch das Sprachcode-Modul (98) unterstützt.
  • Die Arbeitsabläufe dieser Systeme, mit Ausnahme der selbstkonfigurierenden Aspekte, der Anwendung eines temporär-dauerhaften bimodalen Verzeichnisses und der Zeitfolge-Sprache, werden gemäß dem Stand der Technik in der Datenverarbeitung und Computer-Steuerung ausgeführt. Viele Sprachen und spezielle Strukturen können zur Konfiguration des Systems herangezogen werden. Programmierer und Ingenieure mit Erfahrung beim Entwurf computergestützter Steuersysteme für Roboter werden in der Lage sein, die vorangehend beschriebene Technik an jede Anzahl spezifischer Systeme anzupassen, passend für die bevorzugte Sprache und die Betriebserfordernisse.
  • Es ist das Hauptziel dieser Erfindung, verbesserte Steuereinrichtungen für Verfahren mit Roboter-Einsatz bereitzustellen, um hohe Wirtschaftlichkeit beim Durchlauf von einer Anzahl gleicher Proben in seriellen Verfahren zu erzielen, verbunden mit der Vorsorge, eine identische Entwicklungsgeschichte für die Proben im Prozeß zu gewährleisten.
  • Von einem Gesichtspunkt aus betrachtet, ist die vorliegende Erfindung auf ein Roboter-Verfahren ausgerichtet, wie es im wesentlichen in US-A-4,586,151 offenbart wird und in Anspruch 1 definiert ist.
  • Andererseits ist die Erfindung auf ein Roboter-System ausgerichtet, das in Anspruch 5 definiert ist.
  • In einer sehr einfachen Form eines seriellen Verfahrens würde der Roboter die folgenden Serie von Vorgängen für jede Probe erreichen:
  • a) bewege den Proben-Behälter in eine Position, z. B. tauche ihn in ein erwärmtes Wasserbad oder bringe ihn in den Wärmeschrank;
  • b) und nachdem eine vorbestimmte Zeit abgelaufen ist,
  • c) bewege die Probe von dieser Position weg, d. h. nimm sie aus dem erwärmten Wasserbad heraus und bewege sie zu einer anderen Verarbeitungs-Station.
  • Es muß erwogen werden, ob die Bewegung der Probe zu Schritt b) bestimmte zusätzliche Roboter-Manipulationen enthalten könnte, wie die Zuführung des Proben-Behälters zu einer robotergesteuerten Einrichtung zum Verschließen von Flaschen oder einem anderen mit der Weiterbewegung verbundenen Prozeß. Die Überlegungen gehen dahin, daß die Bewegungsschritte dieser Prozedur wirtschaftlich mit einer größeren Anzahl Proben in serieller Reihenfolge durchzuführen wären, um damit eine zufriedenstellende Auslastung des Wasserbades zu erreichen und gleichzeitig sicherzustellen, daß die Erwärmungszeit für jede Probe gleich ist.
  • Eine bevorzugte Ausführungsform dieser Erfindung wird im Anschluß mit Bezug auf Fig. 11 und 12 der begleitenden Abbildungen beschrieben,
  • wobei Fig. 11 grafisch veranschaulicht, wie ein darstellbarer Prozeß gemäß der Ausführungsform der vorliegenden Erfindung zeitlich abläuft und
  • wobei in Fig. 12 ein schematisches Diagramm den Vorgang veranschaulicht.
  • Angenommen, es besteht der folgende Ablaufplan für Operationen jeder Probe ein einer Serie von Proben:
  • 1. die Probe aufnehmen und in einen Wärmeschrank befördern, 2. die Probe im Wärmeschrank erwärmen und 3. die Probe herausnehmen, mit einem Stopfen versehen und zur Proben-Ablagen befördern, d. h. aus dem Verarbeitungsprozeß herausnehmen.
  • Betrachten wir dazu die folgende Ausführung durch den Roboter:
  • 1. Schritt
  • Nimm eine Probe aus dem Eingangsgestell, füge eine Lösungsflüssigkeit in einer durch ein Robotermodul gesteuerte Ausgabestation hinzu und mische die resultierende Flüssigkeit 10 Sekunden lang. Nimm die Probe aus der Mischvorrichtung. (Schritt beendet)
  • 2. Schritt
  • Bringe Probe in den Wärmeschrank und setzt sie ab. (Anschließend erfolgt eine Standzeit im Wärmeschrank ohne Einsatz des Roboters, z. B. 30 Minuten). Nimm Probe aus dem Wärmeschrank. (Schritt beendet) Anmerkung: der Roboter-Manipulator wurde nur zum Beladen und Entladen eingesetzt.
  • 3. Schritt
  • Bewege die Probe vom Wärmeschrank zum Ausgangsgestell und setzte die Probe ab. (Schritt beendet) Weiterhin angenommen, es ist ein Maschinensatz vorhanden, bestehend aus dem Hauptgerät (in diesem Falle dem Roboter-Manipulator), der alleine oder in gemeinsamen Einsatz mit anderen Stationen Arbeiten ausführt und es sind andere Stationen vorhanden, die selbständige Arbeiten ausführen, die aber zum Beladen und Entladen die Hilfe des Roboter-Manipulators benötigen. Auch angenommen, daß die Stationen, die Arbeiten selbständig ausführen (d. h. der Wärmeschrank, der zum Aufheizen die Hilfe des Roboters nicht benötigt), dies für die Anzahl Proben ausführen können, die zur Zeit in der Station bereitgehalten werden.
  • 1. Schritt
  • Einsatz von Station 1 und Roboter-Manipulator
  • 2. Schritt
  • nur Einsatz von Station 2, außer Beladen und Entladen mit Manipulator
  • 3. Schritt
  • Einsatz von Station 3 und Roboter-Manipulator
  • Auch angenommen, daß ein Platz vorhanden ist, von welchem die nächste Probe entnommen wird (eine Proben-Zuführung) und daß ein Platz vorhanden ist, an welchen nach abgeschlossenem Prozeß die Proben abgelegt werden (eine Proben-Ablage).
  • Das Hauptziel bei der Ablauf-Steuerung richtet sich auf präzise Zeitabläufe für die entsprechenden Schritte der Proben-Manipulation und einheitliche Zeitabläufe für die anderen Programm-Schritte und dies in gleicher Weise für jede Probe, wodurch jede Probe im Durchlauf-Prozeß die gleiche Entwicklungsgeschichte erfährt. Ein sekundäres Ziel bei der Ablauf-Steuerung richtet sich auf eine möglichst große Anzahl Proben pro Zeiteinheit, die den Prozeß durchlaufen können.
  • Die folgende vereinfachte Codier-Anleitung veranschaulicht den Vorgang der zum Erzielen optimaler Serien-Prozesse bei einer Anzahl Proben angewendet werden kann. Dieser Vorgang für die Bestimmung der zeitlichen Abläufe wird mit einem Code dem Computer eingegeben und ist in den Blöcken von Fig. 4 schematisch dargestellt, mit der Voraussetzung, daß das in Fig. 1-10 dargestellte System zum Einsatz kommt. In der Ausführung veranläßt diese Anweisung, die als ein "Verzeichnis-Name" für jeden Programm-Schritt vergeben wird, die zeitliche Steuerung der Abläufe und ersetzt früher verwendete Ablauf-Codes.
  • Fachkündige Anwender sollten in der Lage sein, die folgenden Codier-Anweisungen an die meisten gebräuchlichen Computer-Formate anzupassen zu können und sie sollten folglich auch in der Lage sein, die aus jeder Anzahl computergestützter Maschinen-Funktionen bestehende Vorrichtung zu beherrschen, um die Forderung nach Erzielung von Entwicklungsgeschichten für jede Anzahl Material-Proben und Objekten zu erfüllen und dies mit erfolgreichem Einsatz des Roboters und seiner Stationen.
  • Die vereinfachte Codier-Anweisungen für die zeitlichen Abläufe:
  • FÜHRE AUS, WENN PROBEN IN DER PROBEN-ZUFÜHRUNG VERFÜGBAR SIND ODER, WENN PROBEN IM PROZESS SIND: PROBEN-ZYKLUS-ZEIT = ROBOTER-STANDZEIT/KLEINERER BETRAG VOM GANZEN ANTEIL (ROBOTER-STANDZEIT/ROBOTER- OPERATIONSZEIT) ODER ANZAHL PLÄTZE IN ROBOTER-STANDZEIT. WENN ROBOTER VERFÜGBAR IST, DANN BEGINNE MIT LETZTEM PROGRAMM-SCHRITT NACH ERSTEM PROGRAMM-SCHRITT UND FALLS ROBOTER VERFÜGBAR IST WENN ROBOTER-PROGRAMM-SCHRITT IST NÖTIG NUR FÜR BELADEN ODER ENTLADEN UND WENN EINE PROBE IM PROGRAMM-SCHRITT IST BEREIT FÜR AUSGANG, DANN FÜHRE AUS. SETZE DEN PROBEN-PROGRAMM-SCHRITT AUF DIESEN PROGRAMM-SCHRITT. NIMM FERTIGE PROBE AUS PROGRAMM-SCHRITT. FÜHRE FERTIGSTELLUNG-OPERATIONEN AUS. SPEICHERE FERTIGSTELLUNG-ZEIT FÜR ROBOTER-ZEIT- EINSATZ. ROBOTER IST NICHT VERFÜGBAR. BEENDEN.
  • WENN PROGRAMM-SCHRITT EINE PROBE STARTET, DANN FÜHRE AUS. WENN PROBEN-ZYKLUS-ZEIT ABGELAUFEN IST, DANN FÜHRE AUS. FÜHRE PROGRAMM-SCHRITT-OPERATIONEN AUS SPEICHERE OPERATIONSZEIT FÜR ROBOTER-ZEIT-EINSATZ. ROBOTER IST NICHT VERFÜGBAR FÜGE 1 FÜR PROBEN IM PROZESS EIN. BEENDEN. BEENDEN. BEENDEN. FÜHRE ERSATZ AUS. SETZTE DEN PROBEN-PROGRAMM-SCHRITT AUF DEN NÄCHSTEN PROGRAMM-SCHRITT. FÜHRE PROGRAMM-SCHRITT-OPERATIONEN AUS. SPEICHERE OPERATIONSZEIT FÜR ROBOTER-ZEIT-EINSATZ. WENN ROBOTER-PROGRAMM-SCHRITT IST NÖTIG NUR FÜR BELADEN UND ENTLADEN, DANN IST ROBOTER VERFÜGBAR. WENN PROGRAMM-SCHRITT LETZTER PROGRAMM-SCHRITT FÜR PROBE IST, DANN FÜHRE AUS. ZIEHE 1 VON PROBEN IN PROZESS AB. ROBOTER IST VERFÜGBAR. BEENDEN. BEENDEN. BEENDEN.
  • Die sogenannte Roboter-Standzeit ist die, bei der keine Einsatzzeit für den Roboter anfallt. Roboter-Einsatzzeit fällt dann an, wenn verbunden mit einem Programm-Schritt eine Belade- oder Entlade-Zeit auftritt. "Operationen" sind Aktivitäten, die einen Einsatz des Roboter-Manipulators erforderlich machen.
  • Die Anweisungen zur Proben-Verarbeitung, wie sie in dem Verfahrens-Schema des vorhergehenden Codes als Befehle aufgeführt sind, setzen die Verfügbarkeit von Proben in der Proben-Zuführung voraus, wobei die Proben-Zuführung ein Gestell für Test-Röhrchen (301) sein kann, wie in Fig. 12 dargestellt oder die Anweisungen setzten voraus, daß sich Proben irgendwo zwischen Zuführung (301) und Ablage (303) (ein zusätzliches Gestell für verarbeitete Test-Röhrchen) im Prozeß befinden.
  • Die Proben-Zykluszeit (das ist die Folge-Zeit für die in den Prozeß eingebrachten oder geladenen Proben) wird wie folgt berechnet: die "Roboter-Standzeit" (hierin benutzt, um die Zeit zu kennzeichnen, in der der Roboter-Manipulator nicht für die Verarbeitung der Proben gebraucht wird und die in Schritt 2 durch die Aufwärm-Periode illustriert wird) geteilt durch den kleineren Betrag vom (a) ganzen Anteil des Verhältnisses der Roboter-Standzeit zur Roboter-Einsatzzeit (das ergibt im Beispiel Anhand der in Fig. 11 dargestellten Verarbeitungs-Schritte A, B, C und X das Resultat 4 und ergibt sich aus dem ganzen Anteil für 30 geteilt durch 2 plus 5 gleich 4,286) oder die Roboter-Standzeit wird geteilt durch die Anzahl der (b) während der Roboter-Standzeit verfügbaren Proben-Plätze, in diesem Fall 16 Plätze im Wärmegestell oder im Wärmeschrank (305). Der bestimmende kleinere Betrag ist 4 und nicht 16 und folglich ergibt sich die zu wählende Zykluszeit aus 30 geteilt durch 4 gleich 7,5 Minuten.
  • Nach der Bildung der Zykluszeit ist die Bestimmung erforderlich, ob der Roboter-Manipulator verfügbar ist. Wenn der Roboter-Manipulator verfügbar ist, wird der Vorgang vom letzten Schritt aus abgefragt (und, falls nötig, erfolgt ein Suchvorgang durch den Verfahrensablauf zum ersten Programm-Schritt)) und es wird nach einer Probe gesucht, die bereit steht, um im Prozeß vorzurücken.
  • Bei diesem Vorgang, d. h. bei Verfügbarbarkeit des Roboter-Manipulators, nimmt der Roboter die Probe auf, vorausgesetzt, der Programm-Schritt (z. B. Schritt 2) zum Beladen und Entladen der Probe ist abgefragt und die Probe steht zum Vorrücken (Entladen) bereit, der Proben-Programm-Schritt wird auf diesen Programm-Schritt gesetzt, eine Operation zur Fertigstellung wird eingeleitet (d. h. Beförderung der Probe vom Wärmebad zu einer Einrichtung zum Verschließen, wo der Behälter mit einem Stopfen versehen wird) und es erfolgt die Speicherung der bei der Operation des Entladens und Verschließens vergangenen Roboter-Einsatzzeit. Zu diesem Zeitpunkt wird der Roboter-Manipulator die dem Wärmebad entnommene Probe halten und nicht verfügbar sein.
  • Falls der abgefragte Programm-Schritt ein Programm-Schritt für den Start einer Probe war, d. h. das im Zeitablauf vorgesehene Einbringen einer Probe in den Prozeß, und falls die Proben-Zykluszeit (7,5 Minuten) abgelaufen war, dann wird der Manipulator die Operation des Start-Schrittes ausführen und die Länge der Operationszeit für den Schritt des Roboter-Einsatzes speichern. Der Roboter wird zu diesem Zeitpunkt nicht verfügbar sein, weil er noch die Probe hält.
  • Der Vorgang läßt jetzt eine weitere Zykluszeit zu (die Einrichtung für die zeitliche Entwicklungsgeschichte des Roboters erlaubt die Aktualisierung der Proben-Zykluszeit auf der Basis der jeweils neu gemachten Erfahrung über die Dauer des Roboter-Einsatzes).
  • Wenn sich nach Neuberechnung der Zeit herausstellt, daß der Roboter nicht verfügbar ist, wandelt sich der Vorgang zu einem Programm-Schritt "Führe Ersatz aus",, womit der Proben-Programm-Schritt, den der Roboter dann ausführen soll, auf den nächsten Programm-Schritt gesetzt wird. Der nächste Programm-Schritt wird dann ausgeführt und die Dauer, die der Roboter zur Durchführung dieser Operation benötigt, wird im Roboter-Zeit-Register gespeichert. Wenn bei diesem Programm-Schritt der Roboter zum Laden einer Station gebraucht worden ist, dann wird der Roboter verfügbar sein.
  • Wenn dieser Programm-Schritt der letzte Programm-Schritt für eine Probe war, d. h., wenn die Probe in der Proben-Ablage entladen worden ist, dann wird diese Tatsache durch Abziehen der Zahl "1" von der Anzahl der im Prozeß befindlichen Proben im computergesteuerten Verfahren notiert. Jedoch wird oft der Fall eintreten, daß dieser Programm-Schritt weder ein Programm-Schritt für Beladen oder Entladen, noch ein letzter Programm-Schritt war und in diesem Falle wird der Roboter noch nicht verfügbar sein und zur Steuerung des Verfahrens mit dem Befehl "führe Ersatz aus" zurückkehren.
  • Wenn die Roboter-Standzeit wirklich nur 27 Minuten dauert, wird die Ablauf-Steuerung das "wissen", da sie die Zeit der bestimmenden Programm-Schritte des Roboter registriert hat. Deshalb kann die Zyklus-Zeit der Dauer von 27 Minuten angepaßt werden. Normalerweise ist es jedoch die Roboter-Standzeit, die als Konstante für die Funktion der Ablauf-Steuerung dient und die Ablauf-Steuerung bestimmt selbst die Zeitspanne, d. h. die Proben-Prozeßdauer wird nach der Neuberechnung von 27 auf 30 Minuten verlängert.
  • Es muß besonders betont werden, daß die beschriebene Anwendung des Roboters Modifikationen zuläßt, (gewöhnlich dann) wenn durch Neuprogrammierung des Steuer-Systems einem bestimmten Modul oder einer bestimmten Station eine veränderte Aufgabe zugewiesen wird: z. B., wenn mehr oder weniger Roboter-Einsatzzeit erforderlich wird, um eine Probe an einem anderen Platz aufzunehmen oder abzusetzen oder vielleicht, um einen Vorgang zum Verschließen einzufügen oder zu überspringen mit dadurch veränderter Roboter-Einsatzzeit) ohne daß der serielle Prozeß im Detail beschrieben werden muß und ohne besondere Definition der Ablauf-Codierung, denn der Ablauf-Code steuert selbständig die ständige Überwachung und Angleichung der Zykluszeit, wenn dies auf der Basis neuer Roboter-Einsatzzeit für den Programm-Schritt erforderlich wird und dies mit der Auswirkung auf das System, daß die Verarbeitungszeit für jede Probe konstant bleibt.
  • Vergleichbar reagiert das System, wenn der Anwender bei der Einschätzung der Eingabe eines für einen bestimmten seriellen Vorgang erforderlichen Code völlig falsch in der Dauer für die Ausführung einer Roboter-Operation liegt, denn das hierin offenbarte Steuersystem wird schnell den Irrtum entdecken und Anhand der für die Roboter-Operation benötigten aktuellen Roboter-Einsatzzeit in einer Neuberechnung die erforderliche Zykluszeit veranlassen. Selbst wenn im genannten Beispiel bei der Veranschlagung der Dauer für die Roboter-Einsatzzeit, wie mit Symbol "C" in Fig. 11 dargestellt, ein beträchtlicher Fehler gemacht wird, wird vor der Neuberechnung des Zyklus nur bei wenigen Proben im Prozeß die optimale Zykluszeit nicht erreicht werden.
  • In einem integrierten Roboter-System, wie es in dieser Offenbarung beschrieben wird, ruft der System-Anwender zur Änderungen des Ablaufs der Vorgänge unterschiedliche Module und Stationen auf: Am Beispiel eines einfachen Vorgangs, bei dem der Anwender nicht auf die vorhandenen Ablauf-Steuer-Funktionen achtet, wird die Aufwärmezeit auf 20 Minuten geändert. In Ablauf-Plan wird diese Änderung erkannt und ein entsprechender neuer Ablauf-Plan errechnet, auf dessen Basis der Vorgang dann abläuft.
  • Das Roboter-System und sein Prozeß als Ausführungsbeispiel der Erfindung hierin veranschaulicht, zeichnet sich durch eine einzigartige Übersicht und Kontrolle über den Proben-Prozeß und die Roboter-Funktionen aus, gekennzeichnet durch die Vorteile der Abfrage der Verfügbarkeit des Roboters. Außerdem erfolgt die Aufteilung der Operationen des Prozesses vorrangig durch Module und die ihnen angeschlossenen Stationen und nicht durch den Roboter. Deshalb ist ein Programm-Schritt dann abgeschlossen, wenn die Probe für weitere Verarbeitung zur Verfügung steht (d. h., wenn diese durch den Roboter-Manipulator aus einer Station entnommen wird). Der Prozeß wird durch eine Beschreibung von Programm-Schritten gesteuert, die sich auf die Probe richtet und nicht auf eine Beschreibung von Operationsfolgen, die sich auf den Roboter richtet. Historisch gesehen, waren Roboter-Steuer-Systeme vorrangig auf die Steuerung des Roboter-Manipulators ausgerichtet. Bei diesem System kann der Anwender den Ablauf der Operationen für die einzelne Probe bestimmen und der Roboter wird nach den Erfordernissen agieren. Deshalb fragt das System die Ablauf-Steuerung nach der Anweisung für die Proben-Bearbeitung und alle Roboter-Operationen haben sich den Wünschen des Anwenders unterzuordnen. Deshalb ist der Manipulator nach Beendigung eines Programm-Schritts gewöhnlich nicht verfügbar. Dieser Aspekt ermöglicht, daß das System die traditionelle Kluft zwischen dem Datenverarbeitungssystem und den Modulen (Roboter-Arbeitsstationen, wie Misch-Vorrichtungen, Wärmeschränke usw.) überwindet und als Zusatz des Computers den Vorrang auf die Verarbeitung der Proben richtet und nicht auf die Funktion des Roboter-Manipulators.
  • In der Erörterung der Erfindung ist die Erwähnung wichtig, daß sich der Begriff "Programm-Schritt" auf die Probe bezieht und daß sich der Begriff "Operation" auf einen Programm-Schritt bezieht, der den Roboter-Manipulator in den Prozeß einbezieht, d. h. Gebrauch von Roboter-Einsatzzeit macht.
  • Fig. 11 ist eine Tabelle für einen Roboter-Einsatz-Zyklus, bei dem jede Probe die Programm-Schritte A, B und C bis zur Beendigung des Zyklus in der Zeit X durchläuft, wonach jede Probe ihren Anteil am Prozeß-Ablauf erreicht hat.
  • Obwohl das hier erörterte Programm zur seriellen Steuerung sehr einfach gestaltet ist, erlaubt die Kapazität der Prozessoren in modernen Computern die Ausführung von Hunderten von Programm-Schritten für die Zeit- und Ablauf-Steuerung in dem hier veranschaulichten Verfahren.
  • Aus den vorhergehenden Erörterungen wird ersichtlich, daß Vorrichtungen zur selbständigen Korrektur der Ablauf-Steuerung vorgesehen sind.
  • Außerdem ist ein verbessertes System zur Steuerung von Prozessen vorgesehen, um serielle Prozesse zu optimieren, in denen wenigstens eine der seriellen Operationen Zeit aufwendet, wobei dies nicht Zeit im Sinne erforderlicher Einsatzzeit für den Roboter-Manipulator ist.
  • Weiterhin sind Vorrichtungen vorgesehen, die sicherstellen, daß eine Folge von vergleichbaren Proben in möglichst kurzer Zeit verarbeitet werden, mit der Vorsorge, daß jede Probe im Prozeß eine identische Entwicklungsgeschichte erfährt.
  • Mit der vorhergehend erörterten Erfindung wird Zuverläßlichkeit und Leistungsfähigkeit erzielt, selbst dann, wenn die Anzahl der Prozeß-Schritte für eine Probe im Prozeß sehr hoch ist, z. B. wenn sie Hunderte von Schritten umfaßt.
  • Weiterhin spricht das Verfahren zur Koordinierung von Abläufen auf Änderung der Vorgänge an, wenn Umstände, wie beispielsweise die Änderung der Größe einer behandelten Probe eine Modifizierung des Prozesses nötig macht.

Claims (5)

1. Robotergesteuerter Prozeß, zur Koordinierung des zeitlichen Ablaufs von Bewegungsschritten einer Anzahl von Laborproben in einem seriellen Ablauf durch eine gleichförmige Sequenz von Prozeßschritten, für jede Probe identisch, unter Ausnutzung der Operationszeit eines Roboter-Manipulators, wobei wenigstens einer der Prozeßschritte ohne den Einsatz des Roboters auskommt (Standzeit), weil die Proben im Prozeß für einen Zeitraum nicht der Manipulation durch den Roboter bedürfen, dadurch gekennzeichnet, daß die Prozeßschritte, deren Abstand sich aus dem Eintritt der nacheinanderfolgenden Proben in dem Prozeß ergibt, dadurch definiert sind, daß
(a) ein zeitlicher Abstand der Zyklen festgelegt wird, der sich aus der Standzeit des Roboter-Manipulators ergibt, entweder (1) geteilt durch den kleineren Betrag vom ganzen Anteil des Verhältnisses der Standzeit innerhalb des Zeitablaufs zur Operationszeit innerhalb des Zeitablaufs oder (2) geteilt durch den Betrag der Anzahl der Abstände der entgegengenommenen Proben während der Standzeit;
(b) der Roboter-Manipulator veranlaßt wird, wenn verfügbar, jede vorbereitete Probe in den Prozeß einzubringen, wobei die Priorität der im Prozeß befindlichen Probe dadurch geregelt ist, daß dem letzten Prozeßschritt die höchste Priorität gegeben wird und daß dem letzten Prozeßschritt die niedrigste Priorität gegeben wird; und,
(c) wenn der Roboter-Manipulator nicht verfügbar ist, wird der nächste Schritt des Verfahrens ausgeführt, wobei der Roboter-Manipulator fortfährt eine Probe zu entnehmen.
2. Prozeß nach Anspruch 1 dadurch gekennzeichnet, daß die für robotergesteuerte Operationen genutzte Zeit während der Prozeßschritte dem Robotersteuerungssystem eingegeben wird und dazu dient, den zeitlichen Abstand der Zyklen neu zu bestimmen.
3. Prozeß nach Anspruch 1 und 2, dadurch gekennzeichnet, daß in Abhängigkeit vom tatsächlichen Zeitaufwand des Roboter-Manipulators bei jedem Prozeßschritt und in Abhängigkeit zur Standzeit bei jedem Prozeßschritt der zeitliche Abstand eines Zyklus für jede Probe neu berechnet wird und daß bei Bedarf die Ablaufkoordierung modifiziert wird.
4. Prozeß nach Anspruch 3, dadurch gekennzeichnet, daß jeder Prozeßschritt für jeden Gegenstand, außer dem letzten Schritt in einem Verfahren, als Abschluß für den Roboter-Manipulator definiert ist, wenn er einen im Prozeß befindlichen Gegenstand hält.
5. Roboter-System für die Ausführung von Prozessen, nach einem der vorgenannten Ansprüche,wobei das System Prozesse ausführt, bei denen eine Anzahl diskreter materieller Gegenstände hintereinander in den Prozeß einbracht werden durch eine Vorauswahl von Schrittfolgen, wobei die Folgen wenigstens einen Schritt aufweisen, in der Operationszeit des Roboter-Manipulators benötigt wird und wenigstens ein Schritt, in der der Gebrauch des Roboter-Manipulators nicht verlangt ist, wobei das System
(a) einen Roboter-Manipulator,
(b) Operationseinheiten zur Handhabung und Einbringung der materiellen Gegenstände in den Prozeß und
(c) computergesteuerte Einrichtungen aufweist, dadurch gekennzeichnet, daß die computergesteuerten Einrichtungen eine Steuerung der Ablaufkoordinierung beinhalten, welche
(d) sich bezieht (1) auf die Zeit für den geforderten Zeitablauf, in der Prozeßschritte ohne Operationszeit des Roboter-Manipulators ausgeführt werden zur (2) Zeit innerhalb des Zeitablaufs mit Operationszeit des Roboter-Manipulators und zur geringsten Anzahl von Prozeßabständen für Proben bei Prozeßschritten während der Standzeit des Roboter-Manipulators; und
(e) für eine zeitvorberechtigte Handlung des Roboter-Manipulators weitere Prozeßschritte vorsehen, in der Weise, daß eine fertige für die weitere Verarbeitung anstehende Probe, die am meisten im Zeitablauf fortgeschritten ist, für eine weitere Verarbeitung oder für die Vollendung des Prozesses genommen wird.
DE87301574T 1986-03-06 1987-02-24 Gesteuerter Roboter-Überwachungsprozess und Verfahren für Soll-Lage-Einstellung. Expired - Fee Related DE3787189T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/836,841 US4727494A (en) 1985-01-01 1986-03-06 Computerized robot control system with scheduling feature

Publications (2)

Publication Number Publication Date
DE3787189D1 DE3787189D1 (de) 1993-10-07
DE3787189T2 true DE3787189T2 (de) 1993-12-16

Family

ID=25272865

Family Applications (1)

Application Number Title Priority Date Filing Date
DE87301574T Expired - Fee Related DE3787189T2 (de) 1986-03-06 1987-02-24 Gesteuerter Roboter-Überwachungsprozess und Verfahren für Soll-Lage-Einstellung.

Country Status (5)

Country Link
US (1) US4727494A (de)
EP (1) EP0240134B1 (de)
JP (1) JPS62282305A (de)
CA (1) CA1274610A (de)
DE (1) DE3787189T2 (de)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3720733A1 (de) * 1987-03-31 1988-10-13 Lufthansa Service Gmbh Verfahren zur mikrobiologischen untersuchung von proben
US4890241A (en) * 1987-10-26 1989-12-26 Megamation Incorporated Robotic system
GB8820780D0 (en) * 1988-09-02 1988-10-05 Valiant Technology Ltd Programmable robot device
DE68910304T2 (de) * 1989-03-15 1994-02-24 Hewlett Packard Co Folgeregeln zum Voreinspritzen von durch Chromatographie zu analysierenden Proben.
US5150452A (en) * 1989-07-28 1992-09-22 Megamation Incorporated Method and apparatus for anti-collision and collision protection for multiple robot system
US5093772A (en) * 1989-08-09 1992-03-03 Kao Corporation Method of sequence control
US5299115A (en) * 1989-09-12 1994-03-29 Mrs. Fields Software Group Inc. Product demand system and method
US5160578A (en) * 1990-04-23 1992-11-03 Phillips Petroleum Company Separating of fibers from a fiber-containing solid sample
US5345540A (en) * 1991-07-12 1994-09-06 Hewlett-Packard Company Methods for automatically programming spatial information in robotic systems
US5355439A (en) * 1991-08-05 1994-10-11 Bio Tek Instruments Method and apparatus for automated tissue assay
US5696887A (en) * 1991-08-05 1997-12-09 Biotek Solutions, Incorporated Automated tissue assay using standardized chemicals and packages
JPH06309011A (ja) * 1993-04-08 1994-11-04 Internatl Business Mach Corp <Ibm> Faシステムの生産セル制御装置
DE19527541A1 (de) * 1995-07-27 1997-01-30 Siemens Ag Vorrichtung zur Erzeugung von Steuersignalen
US20020108857A1 (en) * 2000-12-18 2002-08-15 Michael Paschetto Automated laboratory system and method
US6678636B1 (en) 2001-01-18 2004-01-13 Honda Giken Kogyo Kabushiki Kaisha Cycle time analyzer
EP1248170B1 (de) * 2001-04-05 2009-09-16 INPECO IP Ltd. Verfahren zur Verwaltung von Arbeitszellensystemen mit einem Automatisierungsverwaltungssystem
US7270785B1 (en) * 2001-11-02 2007-09-18 Ventana Medical Systems, Inc. Automated molecular pathology apparatus having fixed slide platforms
US7468161B2 (en) 2002-04-15 2008-12-23 Ventana Medical Systems, Inc. Automated high volume slide processing system
JP4299150B2 (ja) * 2002-04-15 2009-07-22 ベンタナ・メデイカル・システムズ・インコーポレーテツド 大容量のスライドを自動染色するシステム
US11249095B2 (en) 2002-04-15 2022-02-15 Ventana Medical Systems, Inc. Automated high volume slide processing system
JP4091599B2 (ja) * 2002-04-26 2008-05-28 ヴェンタナ メディカル システムズ インコーポレイテッド 固定スライドプラットホームを有する自動化された分子病理学装置
US8000837B2 (en) * 2004-10-05 2011-08-16 J&L Group International, Llc Programmable load forming system, components thereof, and methods of use
WO2010056883A1 (en) 2008-11-12 2010-05-20 Ventana Medical Systems, Inc. Methods and apparatuses for heating slides carrying specimens
EP2521587B1 (de) * 2010-01-08 2020-04-08 Wake Forest University Health Sciences Freisetzungssystem
AU2012225644B2 (en) 2011-03-07 2017-05-04 Wake Forest University Health Sciences Delivery system
ITUD20120037A1 (it) * 2012-03-07 2013-09-08 Luca Gianaroli "macchina e metodo per la produzione di terreni di coltura"
ITUD20120038A1 (it) * 2012-03-07 2013-09-08 Luca Gianaroli "metodo e macchina per la produzione di terreni di coltura"
AU2014363717B2 (en) 2013-12-13 2016-12-22 Ventana Medical Systems, Inc. Automated histological processing of biological specimens and associated technology
US10482232B2 (en) 2017-08-16 2019-11-19 Bank Of America Corporation Robotic process automation using controller execution model
CN112508446A (zh) * 2020-12-18 2021-03-16 北京百度网讯科技有限公司 机器人的调度方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5789106A (en) * 1980-11-25 1982-06-03 Hitachi Ltd Nc data dividing and editing device of nc working device
JPS57207908A (en) * 1981-06-17 1982-12-20 Hitachi Ltd Robot controller
US4577284A (en) * 1982-03-31 1986-03-18 International Business Machines Corporation Adaptive robot batch assembly system
US4578764A (en) * 1983-03-07 1986-03-25 Zymark Corporation Self-configuring robotic system and method
JPH065482B2 (ja) * 1983-06-22 1994-01-19 株式会社日立製作所 ロボット装置
JPH06303B2 (ja) * 1983-07-15 1994-01-05 株式会社日立製作所 分散処理システムを用いたジョブショップスケジューリング方法
US4586151A (en) * 1983-09-02 1986-04-29 Zymark Corporation Self-configuring computerized robot control system

Also Published As

Publication number Publication date
EP0240134B1 (de) 1993-09-01
EP0240134A2 (de) 1987-10-07
US4727494A (en) 1988-02-23
DE3787189D1 (de) 1993-10-07
EP0240134A3 (en) 1989-04-12
CA1274610A (en) 1990-09-25
JPS62282305A (ja) 1987-12-08

Similar Documents

Publication Publication Date Title
DE3787189T2 (de) Gesteuerter Roboter-Überwachungsprozess und Verfahren für Soll-Lage-Einstellung.
DE3146342C3 (de) Datenaufbereitungseinrichtung für ein Werkzeugmaschinensystem
DE1953662C2 (de) Elektrisches Steuersystem für die numerische Steuerung von mindestens einer Werkzeugmaschine
DE3854594T2 (de) Programmierbare Steuerung mit parallelen Prozessoren.
DE3300261C2 (de)
DE3587034T3 (de) Verfahren und Einrichtung zur Steuerung automatischer Geräte.
DE69224568T2 (de) Multiprozessorvorrichtung
DE2904080A1 (de) Werkzeugmaschinen-steueranordnung
DE2839726A1 (de) Datenverarbeitungsanlage mit verteilter steuerarchitektur in einem multiprozessor-system
DE1524209B2 (de) Programmgesteuerte datenverarbeitungsanlage
DE2839866A1 (de) System zur automatischen aufhebung eines totlaufzustandes in einem datenverarbeitungssystem
DE4431315A1 (de) Steuerungsverfahren und Steuerungsvorrichtung für Fabrik-Automatisierungssystem
CH668834A5 (de) Verfahren zum kanalisieren des datenstroms von einer mehrzahl datenquellen an einen datenschreiber und einrichtung zur ausfuehrung dieses verfahrens.
DE1908757B2 (de) Steuersystem fuer eine werkzeugmaschine mit einer werkzeugmaschinensteuerung zum auswerten von teilbefehlen zur steuerung der betriebsweise der werkzeugmaschine
DE2720842A1 (de) Daten-uebertragungssystem
EP2090948B1 (de) Verfahren zum Betrieb eines Automatisierungssystems
DE102019007392A1 (de) Numerisches Steuersystem
DE2028345C3 (de) Verfahren zur Verteilung von Ablaufanforderungen in einer programmgesteuerten Datenvermittlungsanlage
DE3311805C3 (de) Vefahren zum Betreiben einer speicherprogrammierbaren Steuerung
DE3545957A1 (de) Verfahren und schaltungsanordnung zur automatischen abarbeitung von einrichtefunktionen in numerischen steuerungen
DE3534465A1 (de) Verbundsystem speicherprogrammierbarer steuerungen
DE69028811T2 (de) Extern erweiterbare speicherprogrammierbare steuerung
DE2359037A1 (de) Mikroprogrammrechnereinrichtung
EP0535265A1 (de) Verfahren zur Erstellung einer ablauffähigen Konfiguration eines in einen Systemspeicherbereich eines Prozessorsystems ladbaren Systemprogramms
EP0654155B1 (de) Einrichtung zum steuern des überganges von prozessor-betriebszuständen von einem momentanzustand in einen folgezustand

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee