Diese Arbeit stellt das Gesamtkonzept für die Steuerung eines Bibliotheksroboters mittels einer speicherprogrammierbaren Steuerung (SPS) vor und präsentiert die Hardwarekonfiguration sowie das Softwaredesign. Die SPS steuert den Roboter, um das Einräumen von Büchern automatisch durchzuführen. Ursprünglich wurden Roboter entwickelt, um Menschen von schwerer und monotoner Arbeit zu befreien und sie in Gefahrenbereichen wie radioaktiven Umgebungen zu ersetzen. Daher wurden Roboter zunächst in der Automobil- und Nuklearindustrie eingesetzt. Mit der kontinuierlichen Weiterentwicklung der Robotertechnologie finden Roboter heute breite Anwendung in Industrieanwendungen wie Schweißen, Lackieren, Materialtransport und Montage. Industrieroboter werden hauptsächlich für einfache, monotone und schwere Aufgaben wie Be- und Entladen sowie die Handhabung eingesetzt. Sie können vorgegebene Aufgaben wiederholt gemäß einer festgelegten Reihenfolge, unter definierten Bedingungen und an bestimmten Positionen ausführen und so Arbeitskräfte einsparen und die Arbeitseffizienz steigern. Eine speicherprogrammierbare Steuerung (SPS) ist ein digitales elektronisches System, das speziell für industrielle Anwendungen entwickelt wurde. Aufgrund ihrer leistungsstarken Funktionen, hohen Zuverlässigkeit, kompakten Bauweise und Erweiterbarkeit mit verschiedenen intelligenten Modulen findet die SPS zunehmend Anwendung in der Automatisierung. Diese Arbeit beschreibt die Steuerung eines Bibliotheksroboters mithilfe einer SPS der FX-Serie. Dadurch kann der Roboter Bücher gemäß einer programmierten Abfolge automatisch einräumen. 1 Systemprinzip und -struktur1.1 Systemprinzip Das Schema des Bibliotheksrobotersystems ist in Abbildung 1 dargestellt. Die Länge l1 des Roboterkörpers entspricht der Breite l2 des Bücherregals. Der Roboterkörper ist mit einem Bücherregal und einer parallelen Stahlschiene ausgestattet. Der Roboterarm ist auf der Schiene montiert und kann sich entlang der X-Achse bewegen. Ein Scanner am oberen Ende des Roboterarms liest Buchinformationen aus und unterstützt so die Klassifizierung und das Einräumen der Bücher. Der Roboterkörper verfügt über einen Näherungssensor, der die Nähe des Roboters zu externen Objekten erfasst und durch Notbremsung Kollisionen mit Bücherregalen, Wänden und anderen Hindernissen verhindert. Nach Erhalt des Startsignals durch die SPS fährt der Roboter in Position A und stoppt dort. Der Roboterarm dreht sich um 180° im Uhrzeigersinn um die Z-Achse, bis er senkrecht zum Bücherregal steht, und beginnt, nach Büchern der Kategorie A1 zu suchen. Anschließend bewegt er sich entlang der positiven X-Achse zum Ende der Schiene, während das obere Scangerät gleichzeitig die Barcodes der einzusortierenden Bücher scannt, bis es kein Buch der Kategorie A1 mehr erfasst. Der Roboterarm fährt aus, greift das Buch und fährt wieder ein. Danach dreht er sich erneut um 180° gegen den Uhrzeigersinn um die Z-Achse, bis er senkrecht zum A1-Bereich des Bücherregals steht. Nun bewegt er sich entlang der gegenüberliegenden X-Achse zur Vorderseite der Schiene, während das obere Scangerät gleichzeitig die Barcodes der im A1-Bereich befindlichen Bücher scannt, bis es den fünften Barcode erreicht (d. h. den leeren Platz im A1-Bereich, an dem sich kein Buch befindet). Der Roboterarm fährt aus, um das Buch in das A1-Fach einzuordnen, und fährt dann wieder ein, womit das Einräumen eines Buches abgeschlossen ist. Da sich möglicherweise noch weitere Bücher des Typs A1 im Lagerbereich befinden, muss die Suche nach diesen fortgesetzt werden. Nun fährt der Roboterarm zum vorderen Ende der Schiene (d. h. zur Ausgangsposition) und dreht sich um 180° im Uhrzeigersinn um die Z-Achse, bis er senkrecht zur Lagerspalte steht. Anschließend wiederholt er die oben beschriebenen Schritte (Scannen des Zielbuchs, Entnehmen und Einräumen), bis er das Ende der Schiene erreicht und das letzte Buch in der Lagerspalte gescannt hat. Dies signalisiert, dass alle Bücher der Kategorie A1 in der Spalte gefunden wurden. Handelt es sich beim letzten Buch um ein Buch der Kategorie A1, setzt der Roboterarm den Einräumvorgang gemäß den oben beschriebenen Schritten fort und fährt dann zum vorderen Ende der Schiene, um die Bücher der Kategorie A2 einzuräumen. Handelt es sich nicht um ein Buch der Kategorie A1, fährt der Roboterarm sofort an die Vorderseite der Schiene, um Bücher der Kategorie A2 einzusortieren. Das Einsortieren von Büchern der Kategorien A2 und A3 erfolgt im Prinzip analog, nur dass der Roboterarm zum Einsortieren der Bücher bis zu einer bestimmten Höhe zu den Spalten A2 und A3 ausgefahren werden muss. So sortiert der Roboter die Bücher in Regal A nacheinander unter Steuerung der SPS ein. Anschließend fährt er zu Position B und stoppt dort, um die Einsortierungsarbeit fortzusetzen. 1.2 Systemstruktur 1.2.1 Manipulator Der Manipulator dieses Arbeitsroboters verfügt über vier Freiheitsgrade: horizontales Aus- und Einfahren, vertikales Heben und Senken, Drehung im und gegen den Uhrzeigersinn um die vertikale Z-Achse sowie Bewegung entlang der X-Achse auf der Schiene. Zusätzlich ist an seinem Ende ein Aktor – ein Greifer – angebracht, der zum Greifen und Loslassen dient. Alle diese Bewegungen werden pneumatisch angetrieben. Vier 2-Wege-Magnetventile (jedes Ventil verfügt über zwei Spulen, die zwei entgegengesetzten Funktionen entsprechen) steuern vier Zylinder und ermöglichen dem Roboter so Ausfahren, Einfahren, Heben, Senken, Drehen sowie das Greifen und Loslassen mit dem Greifer. Die Drehbewegung wird durch ein Zahnstangengetriebe realisiert, das die lineare Bewegung der Zylinder in eine Drehbewegung umwandelt. Der Greifer nutzt einen Gestängemechanismus, der das Ausfahren und Einfahren der Zylinder in die Greif- und Loslassbewegung des Greifers umwandelt. Die Bewegung des Manipulators auf der Schiene erfolgt über vier Räder (siehe Abbildung 2), die von einem Servomotor über Synchronriemenscheiben und einen Synchronriemen angetrieben werden. [align=center]Abbildung 1: Schematische Darstellung der Roboterstruktur. Abbildung 2: Schematische Darstellung des Bewegungsmechanismus des Roboterarms.[/align] 1.2.2 Bücherablage: Bevor der Roboter seine Arbeit aufnimmt, legt das Personal die einzusortierenden Bücher in die Bücherablage. Die Bücherablage ist am Roboterkörper befestigt und bewegt sich mit dem Roboter. Um dem Roboterarm das Entnehmen der benötigten Bücher aus dem Behälter zu erleichtern, müssen die Bücher mit ausreichend Abstand zueinander aufgestellt und aufrecht platziert werden. Daher haben wir den Bücherbehälter wie in Abbildung 3 dargestellt konstruiert. Zwei Trennwände unterteilen den Raum in einzelne Fächer. Jedes Buch wird in ein Fach gelegt, sodass es nicht umfällt und die Bücher einen bestimmten Abstand zueinander haben. So kann der Roboterarm das gewünschte Buch nach dem Scannen einfach und präzise entnehmen. [align=center]Abbildung 3 Bücherbehälter Abbildung 4 Schematische Darstellung der Führungsvorrichtung[/align] 1.2.3 Roboterführungsvorrichtung Diese Konstruktion nutzt eine elektromagnetische Führung, deren Prinzip in Abbildung 4 dargestellt ist. Der Roboter wird geradlinig entlang der Seite des Bücherregals geführt. Dazu wird ein mehrere Zentimeter tiefer Graben im Boden ausgehoben, ein Draht vergraben und ein Strom mit einer Frequenz von 3–10 kHz hindurchgeleitet. Eine im Robotergehäuse installierte empfindliche Spule erkennt den Abstand zwischen Roboter und Draht und führt den Roboter so präzise entlang des Drahtes. 2. SPS-Hardwareverdrahtung und Softwareprogrammierung: Diese Konstruktion erfordert eine große Anzahl von Ein- und Ausgängen zur Robotersteuerung. Daher wählten wir die speicherprogrammierbare Steuerung (SPS) F1-60MR der Mitsubishi Corporation (Japan). Sie verfügt über 36 Eingänge und 24 Ausgänge und erfüllt damit die Anforderungen dieser Konstruktion. [align=center] Abbildung 5: SPS-Kontaktplan Abbildung 6: Programmablaufdiagramm[/align] Um die Funktionsweise des SPS-gesteuerten Bibliotheksroboters genauer zu erläutern, haben wir den Programmabschnitt für das automatische Einordnen von Büchern der Typen A1 und A2 aufgeführt und den Abschnitt für das Einordnen von Büchern des Typs A1 detailliert erklärt. Abbildung 5 zeigt den SPS-Kontaktplan. Das Programmablaufdiagramm für das Einordnen von Büchern der Typen A1 und A2 ist in Abbildung 6 dargestellt. Das zugehörige Kontaktplanprogramm ist ebenfalls aufgeführt. Das Programm läuft wie folgt ab: (1) Befindet sich der Roboterarm am vorderen Anschlag der Schiene und steht senkrecht zum Regal, ist dies die Ausgangsposition. Der vordere Endschalter SQ2 wird aktiviert, der Arm dreht sich um 180° gegen den Uhrzeigersinn um die Z-Achse, der Endschalter SQ5 wird betätigt und die Kontakte x402 und x405 werden verbunden. Durch Drücken des Startknopfes SB1 wird der Kontakt X400 und die Spule Y430 verbunden, und der Roboter fährt vorwärts. (2) Sobald der Roboter Position A erreicht hat, wird der Endschalter SQ1 betätigt, der Kontakt x401 trennt die Spule Y430, der Roboter stoppt seine Vorwärtsbewegung und hält direkt vor dem Regal A an (die Länge des Roboterarms entspricht der Breite des Regals). (3) Der Arm dreht sich im Uhrzeigersinn um die Z-Achse, bis er den Endschalter SQ4 berührt. In diesem Moment trennt der Kontakt x404 die Spule Y433, und der Manipulator stoppt seine Rotation. Der Manipulator hat sich nun um 180° gedreht und steht senkrecht zur Buchablage. (4) Sobald Kontakt x404 die Spule Y431 verbindet, bewegt sich der Roboterarm entlang der positiven X-Achse auf der Schiene in Richtung des hinteren Endes und sucht nach Büchern des Typs A1. (5) Nach dem Scannen der Informationen zu Büchern des Typs A1 trennt Kontakt x412 die Spule Y431, der Roboterarm stoppt, Kontakt x412 verbindet sich mit dem Dateneingang des Schieberegisters, setzt M100 auf „1“, die Spule Y435 wird zugeschaltet, und der Roboterarm fährt aus. (6) Sobald der Arm den Endschalter SQ6 erreicht hat, verbinden sich die Kontakte X406 und M100 mit dem Eingangssignal des Schieberegisters und erzeugen ein Schaltsignal. Der Zustand „1“ von M100 wechselt zu M101. M101 verbindet sich mit der Spule M200, Kontakt M200 verbindet sich mit der Spule Y531, und der Greifer klemmt das Buch ein. Gleichzeitig startet der Timer T450 die Zeitmessung. M100 wird auf „0“ gesetzt, Y435 wird getrennt, und der Arm stoppt seinen Ausfahrvorgang. (7) Nach der Verzögerung von T450 verbindet sich T450 mit Kontakt M101 und erzeugt ein Schaltsignal. M102 ist „1“, und M100 bis M101 werden auf „0“ gesetzt. Kontakt M102 verbindet sich mit der Spule Y436, und der Roboterarm fährt ein. Da der S-Befehl verwendet wird, bleiben die Spule M200 und Y531 verbunden, sodass der Greifer das Buch weiterhin festhält. (8) Wenn der Arm den Endschalter SQ7 erreicht, verbindet sich Kontakt x407 mit Kontakt M102 und erzeugt ein Schaltsignal. M103 ist auf „1“ gesetzt, M100 bis M102 auf „0“. M102 trennt die Spule Y436 und stoppt so den Rückzug. Gleichzeitig verbindet sich M103 mit der Spule Y434, und der Roboterarm beginnt, sich gegen den Uhrzeigersinn um die Z-Achse zu drehen. (9) Sobald der Roboterarm den Endschalter SQ5 erreicht hat, werden die Kontakte X405 und M103 mit dem Schaltsignal verbunden, M104 ist auf „1“ gesetzt, und M100 bis M103 sind auf „0“. Der Kontakt M103 trennt die Spule Y434 und stoppt so die Drehung. Der Roboterarm hat sich nun um 180° gegen den Uhrzeigersinn gedreht und ist direkt auf das Bücherregal ausgerichtet. Gleichzeitig verbindet sich M104 mit der Spule Y432, und der Roboterarm beginnt, sich entlang der X-Achse auf der Schiene in Richtung des vorderen Endes zu bewegen. (10) Während der Bewegung beginnt das Scangerät an der Oberseite des Roboterarms, die Barcode-Informationen des Buches zu scannen. Wenn keine Barcode-Informationen vorliegen, werden die Kontakte X500 und M104 mit dem Schaltsignal verbunden, M105 ist auf „1“ gesetzt und M100–M104 auf „0“. Der Kontakt M104 trennt die Spule Y435, und der Roboterarm stoppt. Gleichzeitig verbindet der Kontakt M105 die Spule Y435, und der Roboterarm fährt aus. (11) Sobald der Arm den Endschalter SQ6 erreicht, werden die Kontakte X406 und M105 mit dem Schaltsignal verbunden, M106 ist auf „1“ gesetzt und M100–M105 auf „0“. Der Kontakt M105 trennt die Spule Y435, und der Arm stoppt. Gleichzeitig verbindet der Kontakt M106 die Spule M200, der Befehl R setzt M200 zurück, der Kontakt M200 trennt die Spule Y531, der Greifer wird freigegeben, und das Buch wird in das Buchregal A1 eingelegt. Gleichzeitig startet die Zeitmessung T451. (12) Nach der Verzögerung T451 werden die Kontakte T451 und M106 mit dem Schaltsignal verbunden, M107 ist „1“, M100 bis M106 sind „0“, die Spule Y436 wird angeschlossen und der Roboterarm fährt ein. (13) Sobald der Arm den Endschalter SQ7 erreicht hat, werden die Kontakte X407 und M107 mit dem Schaltsignal verbunden, M110 ist „1“, M100 bis M107 sind „0“, M107 trennt die Spule Y436 und der Arm stoppt den Einzug. Gleichzeitig wird die Spule Y432 über M110 angeschlossen und der Roboter beginnt, sich entgegen der Achsenrichtung auf der Schiene zu bewegen. (14) Sobald der Roboter den Endschalter SQ2 erreicht, werden die Kontakte X402 und M110 mit dem Schiebesignal verbunden, M111 ist auf „1“, M100–M110 auf „0“. Der Kontakt M110 trennt die Spule Y432, und der Roboter stoppt. Gleichzeitig wird der Kontakt M111 mit dem Reset-Eingang des Schieberegisters verbunden, und alle Register werden zurückgesetzt. Der Roboter befindet sich nun in seiner Ausgangsposition. Der Kontakt M111 verbindet sich mit der Spule Y433, und der Roboter beginnt erneut, sich im Uhrzeigersinn um die Z-Achse zu drehen, um die Suche nach Büchern des Typs A1 fortzusetzen. Dabei wiederholt er die oben beschriebenen Schritte. Die Programmbeschreibungen für die Schritte (1) bis (14) beziehen sich auf die Programmabschnitte A und B. Erreicht der Roboter den Endschalter der Schiene, bedeutet dies, dass alle Bücher, die in der Buchlagerspalte einsortiert werden sollen, gescannt wurden, d. h., die Bücher der Kategorie A1 wurden gefunden. An diesem Punkt springt das Programm direkt zu Punkt B, und der Roboter beginnt mit dem Suchen und automatischen Einordnen von Büchern der Kategorie A2. Beim Drücken der Stopptaste SB2 wird der Kontakt X501 aktiviert, wodurch der Roboter sofort anhält. 3. Fazit: Dieses System nutzt eine SPS der FX-Serie zur Steuerung eines Bibliotheksroboters, der die Einordnung der Bücher gemäß den programmierten Anweisungen automatisch durchführt. Der praktische Testbetrieb hat gezeigt, dass alle Funktionen die Anforderungen erfüllen und das Steuerungssystem eine hohe Zuverlässigkeit, geringe Fehleranfälligkeit, einfache Bedienung sowie Sicherheit und Zuverlässigkeit aufweist. Dadurch werden Arbeitskosten gespart und die Arbeitseffizienz gesteigert.