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
Links
- 238000000034 method Methods 0.000 title claims description 110
- 238000012544 monitoring process Methods 0.000 title description 2
- 230000008569 process Effects 0.000 claims description 82
- 238000012545 processing Methods 0.000 claims description 31
- 230000009471 action Effects 0.000 claims description 7
- 239000000463 material Substances 0.000 claims description 6
- 230000033001 locomotion Effects 0.000 claims description 5
- 230000002123 temporal effect Effects 0.000 claims description 2
- 239000000523 sample Substances 0.000 claims 6
- 239000006101 laboratory sample Substances 0.000 claims 1
- 230000001105 regulatory effect Effects 0.000 claims 1
- 230000006870 function Effects 0.000 description 16
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 description 15
- 238000010438 heat treatment Methods 0.000 description 11
- 230000015654 memory Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000012360 testing method Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000018109 developmental process Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000010923 batch production Methods 0.000 description 1
- 230000002902 bimodal effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010792 warming Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording 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/425—Teaching successive positions by numerical control, i.e. commands being entered to control the positioning servo of the tool head or end effector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/418—Total 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/4181—Total 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]
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33125—System configuration, reconfiguration, customization, automatic
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34418—Scheduler for sequential control, task planning, control sequence
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/45—Nc applications
- G05B2219/45083—Manipulators, robot
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total 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:
- 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)
- 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.
- 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.
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)
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)
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 |
-
1986
- 1986-03-06 US US06/836,841 patent/US4727494A/en not_active Expired - Lifetime
-
1987
- 1987-02-24 EP EP87301574A patent/EP0240134B1/de not_active Expired - Lifetime
- 1987-02-24 DE DE87301574T patent/DE3787189T2/de not_active Expired - Fee Related
- 1987-03-05 CA CA000531204A patent/CA1274610A/en not_active Expired - Fee Related
- 1987-03-05 JP JP62051174A patent/JPS62282305A/ja active Pending
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 |