-
Injektoren sind Vorrichtungen zum
Verdrängen
von Flüssigkeiten,
wie strahlenundurchlässigen Medien
(Kontrastflüssigkeit),
die zur Verbesserung von Röntgenbildern
oder magnetischen Bildern verwendet werden, aus einer Spritze durch
eine Röhre und
in einen Tierkörper.
Injektoren bestehen in der Regel aus einer Injektorbaugruppe, die
verstellbar auf einem Ständer
oder einer Abstützung
befestigt ist und eine mit dem Kolben der Spritze verbundene Kolbenantriebsvorrichtung
aufweist, die den Kolben zum Verdrängen der Flüssigkeit aus der Spritze in
die Röhre
hinein nach vom bzw. zum Ansaugen von Flüssigkeit zum Füllen der
Spritze nach hinten bewegen kann.
-
Injektoren beinhalten oft Schaltkreise
zur Steuerung des Kolbenantriebs, so dass die Injektionsgeschwindigkeit
und die in den Körper
injizierte Flüssigkeitsmenge
kontrolliert werden können.
Normalerweise sind in dem Regelkreis ein oder mehrere manuelle Schalter
vorgesehen, die es dem Benutzer gestatten, den Kolbenantrieb von
Hand zu betätigen und
den Kolben in die Spritze hinein und aus ihr heraus zu bewegen.
In der Regel hält
der Benutzer einen „Vorwärts"- oder „Rückwärts"-Antriebsschalter niedergedrückt, um
den Kolben in die angegebene Richtung zu bewegen.
-
Zur Herabsetzung der Infektionsgefahr
wird die Spritze bei einem typischen Injektionsvorgang nur einmal
benutzt und nach der Verwendung entsorgt. In einigen Fällen wird
die Spritze leer in den Injektor eingesetzt. Zum Füllen der
leeren Spritze wird der Kolben zurückgezogen, während das
Innere der Spritze mit einem Kontrastmittelvorrat in Verbindung steht.
Diese Verbindung wird durch eine Injektionsröhre hergestellt, die den Kanülenansatz
der Spritze mit dem Kontrastmittelvorrat verbindet. Dann werden Blasen
aus der Spritze entfernt, und die Injektion wird vorgenommen. Am
Ende des Vorgangs befindet sich der Kolben der Spritze und damit
auch der Kolbenantrieb in der Regel in der vorderen Stellung.
-
Bei einigen Injektoren kann die Spritze
nur entfernt oder ausgetauscht werden, wenn der Kolbenantrieb vollständig in
den Injektor hereingezogen wurde. Entsprechend der Darstellung in 1A ist eine leere Spritze 10 im
Regelfall mit steriler Luft gefüllt,
und der Kolben 12 befindet sich in der dargestellten Position
am hinteren Ende der Spritze. Der Kolbenantrieb weist eine Klaue 18 auf,
die dazu vorgesehen ist, einen Ansatz 14 auf der Rückseite
des Kolbens zu fassen und freizugeben, wenn sich der Kolben an diesem
hinteren Ende der Spritze befindet. Bevor eine leere neue Spritze
gefüllt
werden kann, muss der Kolben über
den gesamten Weg in der Spritze nach vorn bewegt werden, damit die
Spritze durch das Zurückziehen
des Kolbens nach hinten gefüllt
werden kann. Demzufolge kann der Vorgang der Wiederbestückung mit
einer neuen Spritze Folgendes beinhalten: das völlige Zurückziehen des Kolbenantriebs,
damit die Spritze entfernt und ersetzt werden kann, dann die Vorwärtsbewegung
des Kolbenantriebs und des Kolbens zum Verdrängen der Luft aus der Spritze
in die vorderste Stellung und anschließend das Zurückziehen
des Kolbenantriebs und des Kolbens zum Füllen der Spritze. Diese langwierigen,
manuell gesteuerten Bewegungen des Kolbens und des Antriebs sind
zeitraubend.
-
Eine parallel anhängige Patentanmeldung in den
Vereinigten Staaten mit der Serien-Nummer 07/88172, die am 11. Mai 1992
eingereicht wurde, beschreibt einen Injektor mit Frontbestückung, bei dem
eine Spritze auch dann ausgetauscht werden kann, wenn der Kolbenantrieb
nicht vollständig
eingezogen ist. Dieser Injektor verringert die zur Vorbereitung
einer Spritze auf eine neue Injektion erforderliche Anzahl von Kolbenantriebsbewegungen
erheblich; nach einer Injektion kann die Spritze entfernt und ersetzt
werden, ohne dass der Antrieb aus seiner vorderen Stellung zurück bewegt
werden muss. (Die Kolbenantriebsklaue 18 kann den Ansatz 14 unabhängig von
der Position des Kolbens fassen.) Nach dem Austausch der Spritze
wird der Antrieb zum Füllen
der Spritze für
eine erneute Injektion eingezogen. Somit wird der Kolbenantrieb
zur Vorbereitung des Injektors auf eine erneute Injektion nicht
mehr dreimal, sondern nur noch einmal von Hand bewegt.
-
Die Patentschrift EP-A-0164904 beschreibt einen
Infusionsapparat zum Betätigen
einer Spritze, die eine zu verabreichende Flüssigkeit enthält. Der Durchmesser
der Spritze wird durch die Verwendung eines Spritzenhalters erkannt,
der die Spritze aufnimmt, und das Volumen der Spritze wird aus der Messung
des Durchmessers ermittelt. Die Position des Stellantriebs für die Spritze
wird überwacht.
Die Position des Stellantriebs am Ende des Wegs wird durch die Bestückung des
Apparats mit einer leeren Spritze ermittelt.
-
Die Patentschrift EP-A-0523343 bezieht
sich auf ein System zur Ermittlung der Stellung eines Spritzenkolbens
in einer Spritzenpumpe. Am distalen Ende des Kolbens ist eine Vorrichtung
zur Positionsmarkierung angebracht, die sich mit dem Kolben bewegt
und darüber
hinaus an eine stationäre
Vorrichtung zur Messwerterfassung angeschlossen ist. Die stationäre Vorrichtung
erzeugt ein Signal, das der Kolbenposition entspricht. Der Typ der
eingesetzten Spritze wird vom Bediener eingegeben.
-
Eine wertere neuere Entwicklung ist
die Verwendung von vorgefüllten
Wegwerfspritzen. Eine vorgefüllte
Spritze verringert ebenfalls die zur Vorbereitung des Injektors
auf eine erneute Injektion erforderliche Zahl von manuellen Bewegungen
des Kolbenantriebs. Nach einer Injektion wird der Kolbenantrieb
vollständig
zurückbewegt,
die benutzte Spritze wird entfernt und gegen die vorgefüllte Spritze
ausgetauscht, dann ist der Injektor wieder einsatzbereit für eine erneute
Injektion. Somit wird der Kolbenantrieb wiederum anstelle von dreimal
nur einmal von Hand bewegt.
-
Zur Vermeidung von Infektionen muss
das nach einer Injektion in einer Spritze verbleibende Kontrastmittel
verworfen werden. Kontrastmittel sind jedoch relativ kostspielig.
Aus diesem Grund wird eine leere Spritze bei der Vorbereitung einer
Injektion nur mit der für
die nächste
Injektion benötigten
Kontrastmittelmenge gefüllt.
Aus dem gleichen Grund werden vorgefüllte Spritzen mit einer Reihe
von Füllmengen
verkauft, z. B. von 60 bis zu 125 Milliliter, so dass der Bediener
bei der Vorbereitung einer Injektion eine Spritze auswählen kann,
die nur die Kontrastmittelmenge enthält, die für die Injektion benötigt wird.
-
Die 1B zeigt
eine typische vorgefüllte Spritze.
Die vorgefüllte
Spritze ist in vieler Hinsicht mit der in 1A dargestellten leeren Spritze identisch.
Die zylindrischen Mäntel 10 und
die Kolben 12 weisen bei beiden Spritzen die gleiche Größe und das
gleiche Profil auf (in die gegenwärtig verwendeten Injektoren
können
nur wenige vom FDA zugelassene Spritzengrößen eingesetzt werden, z. B.
eine Größe für 200 ml
und eine Größe für 125 ml;
demzufolge werden diese Größen bei
allen Spritzen verwendet). Darüber
hinaus weisen beide Spritzen einen Ansatz 14 auf , der
sich in der Ausgangsposition am Ende des Mantels 10 befindet
(damit sind beide Spritzen für
Injektoren geeignet, die für
das Fassen eines Ansatzes am Ende der Spritze ausgelegt sind). Der
Hauptunterschied besteht darin, dass sich die Ausgangsstellung des
Kolbens 12 bei der vorgefüllten Spritze der 1B in der Mitte der Spritze
befindet (wodurch das Anfangsvolumen der vorgefüllten Spritze geringer wird).
An dem Ansatz 14 des Kolbens ist ein Füllstoffelement 16 mit
einem zweiten Ansatz am Ende der Spritze befestigt, der von dem Injektor
gefasst werden kann.
-
Die vorliegende Erfindung beinhaltet
einen Injektor in Verbindung mit einer Spritze, wobei die Spritze
in ihrem Inneren einen Kolben und der Injektor ein Antriebselement
für den
Kolben und einen Motor aufweist und der Kolben über das Kolbenantriebselement
mit dem Motor verbunden ist, so dass der Kolben in Richtung auf
eine an der Vorderseite der Spritze vorgesehene Kanüle zur Flüssigkeitsinjektion in
ein Tier oder aus einem Tier bewegt und von dort zurückgezogen
werden kann, und wobei der Injektor weiterhin ein Kontrollsystem
aufweist, bestehend aus einem Regelkreis, der so betätigt werden
kann, dass der Motor in Drehbewegung versetzt wird und die Position
des Kolbens während
der Drehbewegung verfolgt werden kann, sowie einem Speicher, dadurch gekennzeichnet,
dass auf der Spritze körperliche Markierungen
vorgesehen sind und der Injektor Vorrichtungen zur Erkennung der
körperlichen
Markierungen aufweist und dass der Speicher genutzt werden kann,
um einen Verschiebungswert zu speichern, der mit der Ausgangsposition
des Kolbens in Bezug auf die Enden der Spritze im Zusammenhang steht,
und dass der Regelkreis zur Berechnung des Verschiebungswerts aus
der Erkennung der körperlichen
Markierungen auf der Spritze und zur Berechnung der Position des
Kolbens innerhalb der Spritze aus dem gespeicherten Verschiebungswert
und der Position des Kolbenantriebselements, die verfolgt wird,
sowie zum Beenden der Bewegung des Kolbens beim Erreichen eines
Endes der Spritze genutzt werden kann.
-
Der Erfindung beinhaltet auch ein
Verfahren zur Steuerung eines in Verbindung mit einer Spritze verwendeten
Injektors, wobei die Spritze in ihrem Inneren mit einem Kolben und
der Injektor mit einem Kolbenantriebselement und einem Motor ausgestattet
ist und der Kolben über
das Kolbenantriebselement mit dem Motor verbunden ist, so dass der
Kolben in Richtung auf eine an der Vorderseite der Spritze vorgesehene
Kanüle
zur Flüssigkeitsinjektion
in ein Tier bzw. aus einem Tier bewegt oder zurückgezogen werden kann, was
die Erzeugung einer Drehbewegung des Motors und die Verfolgung der
Position des Kolbenantriebselements während der Motorbewegung einschließt, dadurch
gekennzeichnet, dass auf der Spritze körperliche Markierungen vorgesehen
sind und der Injektor Vorrichtungen zur Erkennung der körperlichen
Markierungen aufweist und dass das Verfahren darüber hinaus die Berechnung eines
Verschiebungswerts aus der Erkennung der körperlichen Markierungen auf
der Spritze, die Speicherung des Verschiebungswerts, der die Ausgangsposition
des Kolbens in Bezug auf die Enden der Spritze darstellt, und die
Berechnung der Kolbenposition innerhalb der Spritze aus dem gespeicherten Verschiebungswert
und der Stellung des Kolbenantriebselements, die verfolgt wird,
sowie das Beenden der Kolbenbewegung beim Erreichen eines Ende der Spritze
beinhaltet.
-
Für
einen effektiven Betrieb muss das Kontrollsystem für den Kolbenantrieb
die Stellung des Kolbens 12 in Bezug auf die Enden der
Spritze 10 ermitteln, damit das Kontrollsystem beispielsweise
die Menge Kontrastmittel, die noch in der Spritze vorhanden ist,
bestimmen kann. Das kann mit einem Messfühler erfolgen, der die Position
der Kolbenantriebsklaue 18 erkennt, die direkt mit dem
Kolben verbunden ist und sich mit ihm bewegt. Eine vorgefüllte Spritze
weist jedoch möglicherweise
ein Füllstoffelement 16 auf,
durch das die relative Position des Kolbens 12 und der
Kolbenantriebsklaue 18 verändert wird, was zu einer Fehlfunktion
des Kolbenkontrollsystems führt.
Erfindungsgemäß wird die
Fehlfunktion dadurch vermieden, dass ein Verschiebungswert, der
sich auf die Ausgangsstellung der Kolbens bezieht, gespeichert wird
und dass dieser Verschiebungswert auf die errechnete Position der
Antriebsklaue bezogen wird.
-
Der Verschiebungswert wird durch
die Erkennung der körperlichen
Markierungen auf der Spritze automatisch errechnet.
-
Wie vorstehend beschrieben, erfordert
die Vorbereitung eines Injektors für eine Injektion beim gegenwärtigen Stand
der Technik mindestens eine manuelle Bewegung des Kolbenantriebs
in den Mantel der Spritze und aus ihm heraus und maximal drei derartige
Bewegungen. Dieser Vorgang ist mühsam und
uneffizient, nicht nur wegen des Zeitaufwands, sondern auch weil
der Bediener manuelle Bewegungsschalter betätigen und halten muss, um die
Bewegung hervorzurufen, und somit körperlich an den Injektor gebunden
ist und diese Zeit nicht nutzen kann, um andere Vorbereitungen zu
treffen.
-
Deshalb kann das Kontrollsystem für den Kolbenantrieb
eine Verriegelungsfunktion aufweisen, bei der die Bewegung, die
anfänglich
durch das Betätigen
eines manuellen Bewegungsschalters ausgelöst wurde, unabhängig davon,
ob der Bediener den Schalter werter betätigt oder nicht, fortgesetzt
wird, bis der Kolbenantrieb seine jeweilige Endstellung für die Vorwärts- oder
Rückwärtsbewegung
erreicht. Somit kann der Bediener, wenn das Kontrollsystem im Verriegelungsbetrieb
arbeitet, den manuellen Schalter loslassen, und die gewünschte Bewegung – vorwärts oder
rückwärts – wird fortgesetzt,
während
der Bediener andere Vorbereitungen für die nächste Injektion trifft.
-
Der Bediener kann die verriegelte
Betriebsweise des Kontrollsystems auch durch Betätigen des manuellen Bewegungsschalters über eine
vorbestimmte Zeitdauer erreichen. Aus Sicherheitsgründen kann
der manuelle Bewegungsschalter aus zwei Tastern bestehen, die gleichzeitig
betätigt
werden müssen,
damit die Bewegung hervorgerufen wird. Die Bewegung wird durch das
Betätigen
beider Taster ausgelöst.
Solange beide Taster niedergedrückt werden,
erhöht
das Kolbenkontrollsystem die Bewegungsgeschwindigkeit bis zum Erreichen
eines Höchstwerts,
dann schaltet das Kolbenkontrollsystem auf Verriegelungsbetrieb
um. Wird ein Taster losgelassen, bevor das Kontrollsystem die Höchstgeschwindigkeit
erreicht und die Verriegelungsfunktion wirksam wird, wird die Bewegung
fortgesetzt, aber die Geschwindigkeit bleibt konstant. Wird der
zweite Taster losgelassen, wird die Bewegung abgebrochen.
-
Alternativ wird die Bewegung nach
Erreichen der Höchstgeschwindigkeit
und Wirksamwerden der Verriegelungsfunktion auch dann fortgesetzt,
wenn beide Taster losgelassen werden; die Bewegung wird jedoch unterbrochen,
wenn anschließend
einer der Taster erneut betätigt
wird. Das Kontrollsystem kann eine optische Rückmeldung beinhalten, beispielsweise
mittels einer Anzeigeleuchte, die während der Bewegung blinkt und
die ständig
leuchtet, wenn das Kontrollsystem im Verriegelungsbetrieb arbeitet.
Diese Anzeigeleuchte kann sich als wertere Rückmeldung der Bewegungsgeschwindigkeit
auch selbst synchron mit dem Kolbenantrieb bewegen.
-
Wie bereits ausgeführt, erfolgt
die Steuerung des Kontrollsystems für den Kolbenantrieb in der
Regel von Hand mit Hilfe eines Schalters, dessen Betätigung dazu
führt,
dass der Kolbenantrieb sich in eine von zwei Richtungen bewegt.
Die Handsteuerung kann dadurch verbessert werden, dass eine Einstellung
vorgesehen wird, die es dem Bediener gestattet, die Geschwindigkeit
oder die Beschleunigung der Kolbenantriebsbewegung einzustellen.
-
Das erlaubt es dem Bediener, die
Funktionsweise des Kontrollsystems für den Kolbenantrieb bedarfsgerecht
zu gestalten, und verbessert die Bedienfreundlichkeit.
-
Die Handsteuerung kann ein Rad beinhalten, dessen
Drehbewegung dazu führt,
dass sich der Kolbenantrieb mit einer Geschwindigkeit bewegt, die
der Geschwindigkeit der Drehbewegung proportional ist. Alternativ
kann die Handsteuerung aus einem Vorwärts- und einem Rückwärtsschalter
bestehen, durch die eine Bewegung des Kolbenantriebs in die angezeigte
Richtung bei einer programmierbaren Geschwindigkeit oder Beschleunigung
ausgelöst
wird.
-
Ausführungsarten der Erfindung werden nachfolgend
anhand von Beispielen und unter Bezugnahme auf die beigefügten Zeichnungen
beschrieben. In den Zeichnungen zeigen:
-
Die 1A und 1B Seitenansichten mit teilweiser
Schnittdarstellung einer leeren bzw. einer vorgefüllten Spritze,
-
die 2A, 2B und 2C die Steuerkonsole, das Antriebs- und
Steuerteil bzw. das Netzteil eines Injektors,
-
die 3, 4 und 5 elektrische und elektromechanische
Blockschaltbilder des Netzteils, der Steuerkonsole bzw. des Antriebs-
und Steuerteils,
-
die 6A, 6B, 6C, 6D, 6E und 6F Darstellungen der Bildschirmanzeigen,
die beim Betrieb des Injektors auf der Steuerkonsole erzeugt werden,
-
die 7A, 7B, 7C, 7D, 7E, 7F und 7G Fließbilddarstellungen
der Software innerhalb des Netzteils.
-
Bezugnehmend auf die 2A, 2B und 2C wird ein Injektionssystem
dargestellt, das aus drei Hauptbestandteilen, einer Steuerkonsole 30,
einem Antriebs- und Steuerteil 40 und einem Netzteil 50,
besteht.
-
Die Steuerkonsole 30 besteht
aus einer Flüssigkristallanzeige 32,
wie sie in Notebook-Computern verwendet
wird (z. B. eine Anzeige, die von Sharp Electronics Corp. mit Sitz
in 5700 N. W. Pacific Rim Blvd., Camas, WA 98607 mit der Teilbezeichnung
Nr. LM64P62 vertrieben wird), verbunden mit einem 8-Tasten-Tastaturblock 34 in
einem Gehäuse 36.
Wie nachfolgend werter ausgeführt
wird, liefern die auf dem Bildschirm 32 erscheinenden Bilder
Informationen über
die Injektion und stellen dem Bediener Menüs für eine oder mehrere mögliche Bedienhandlungen
zur Verfügung,
wobei jede Bedienhandlung mit einer der Tasten auf dem Tastaturblock 34 verbunden ist.
-
Das Antriebs- und Steuerteil 40 besteht
aus einer Aufnahmevorrichtung 42 (wie die in der vorstehend
angeführten
Patentanmeldung beschriebene Aufnahme), in die für eine Injektion eine Spritze 10 eingesetzt
wird. Das Antriebs- und Steuerteil beinhaltet einen (nicht dargestellten)
Kolbenantriebsmotor, mit dem der Kolben 12 während eines
Injektionsvorgangs nach einer vorprogrammierten, vom Bediener durch
Tastenbetätigung
auf der Steuerkonsole 30 gewählten Folge, auch als Protokoll
bezeichnet, nach vom in die Spritze 10 hinein und nach
hinten aus der Spritze 10 heraus bewegt wird.
-
Die Position und die Bewegung des
Kolbenantriebs wird durch eine Lichtemitterdiode (LED) angezeigt,
die auf dem Kolbenantrieb befestigt und für den Bediener durch ein mit
Skala versehenes Fenster 44 an der Seite des Antriebs-
und Steuerteils 40 sichtbar ist. Wie nachstehend ausgeführt wird,
blinkt diese LED, wenn sich der Kolbenantrieb bewegt, und schaltet
auf Dauerlicht um, wenn die Vorwärts-
oder Rückwärtsbewegung
des Kolbenantriebs, wie nachstehend beschrieben, von Hand auf Verriegelungsbetrieb
umgeschaltet wurde.
-
An der Seite des Antriebs- und Steuerteils 40 befinden
sich sechs Drucktaster: ein Ein/Aus-Taster 45, ein Taster 46 für die handgesteuerte
Vorwärtsbewegung,
ein Taster 47 für
die handgesteuerte Rückwärtsbewegung
und ein Freigabe-/Beschleunigungstaster 48. Die drei Freigabe-/Beschleunigungstaster 48 erfüllen alle
die gleiche Funktion; es sind drei Taster anstelle nur eines Tasters
vorgesehen, um die Zugänglichkeit
für den
Bediener zu verbessern.
-
Der Ein/Aus-Taster 45 wird
verwendet, um ein auf dem Steuerpult ausgewähltes Injektionsprotokoll zu
starten oder um eine Injektion abzubrechen und neu zu starten. Während einer
Injektion erfüllen alle
der acht Taster auf dem Tastaturblock 34 des Steuerpults 30 die
gleiche Ein/Aus-Funktion.
-
Darüber hinaus kann zur Realisierung
einer Ein/Aus-Funktion ein (nicht dargestellter) manueller Fernbedienungsschalter
an das Netzteil 50 (siehe unten) angeschlossen sein. (Aus
diesem Grunde enthält
der Ein/Aus-Taster 45 ein Bild eines manuellen Schalters.)
Um den Kolbenantrieb über
die Handsteuerung in Bewegung zu setzen, muss der Bediener gleichzeitig
einen Bewegungstaster 46 oder 47 und einen Freigabetaster 48 betätigen. Dabei
handelt es sich um ein Sicherheitsmerkmal zur Herabsetzung der Gefahr,
dass es zu einer versehentlichen Kolbenbewegung kommt. Wenn der
Bediener den Vorwärtstaster 46 und
einen der drei Freigabetaster 48 betätigt, beginnt der Kolben sich
vorwärts
zu bewegen; umgekehrt wird eine Rückwärtsbewegung eingeleitet, wenn
der Bediener den Rückwärtstaster 47 und einen
der drei Freigabetaster 48 betätigt. Nach dem Auslösen der
Bewegung in die eine oder andere Richtung kann der Bediener einen
der Taster loslassen; die Bewegung wird mit einer konstanten Geschwindigkeit
in die gleiche Richtung fortgesetzt, solange einer der fünf Taster 46, 47 oder 48 niedergedrückt wird.
Wenn der Bediener andererseits nach dem Auslösen der Bewegung in eine Richtung
den Freigabetaster 48 und einen der Bewegungstaster 46 oder 47 weiter
drückt,
dauert die Bewegung in die gleiche Richtung nicht nur an, sondern
wird in die gewählte
Richtung beschleunigt, bis der Bediener entweder einen der Taster
loslässt
oder bis eine Höchstgeschwindigkeit
erreicht ist. Der Bediener kann während der Beschleunigung jederzeit
einen der Taster loslassen und den anderen weiter niederhalten – dann wird
die Bewegung bei dieser Geschwindigkeit ohne Beschleunigung fortgesetzt.
Danach kann der Bediener den losgelassenen Taster erneut betätigen, die
Beschleunigung wird dann von diesem Zeitpunkt an wieder aufgenommen.
-
Wenn die Bewegungsgeschwindigkeit
einen Höchstwert
erreich hat, schaltet die Kolbenantriebssteuerung in die Betriebsart „verriegelt" um. Bei diesem Verriegelungsbetrieb
setzt sich die Bewegung, auch wenn der Bediener alle Taster freigibt,
bei der Höchstgeschwindigkeit
in die gleiche Richtung fort. Damit steht es dem Bediener frei,
bei der Vorbereitung auf eine Injektion andere Aufgaben auszuführen, ohne
dass er gezwungen ist, manuelle Taster auf dem Injektor niederzudrücken, bis
der Kolbenantrieb seinen zeitraubenden Weg in die jeweilige Endposition
der Vorwärts-
bzw. Rückwärtsbewegung
zurückgelegt
hat.
-
Aus Sicherheitsgründen kann der Verriegelungsbetrieb
leicht beendet werden. Wenn der Bediener den Verriegelungsbetrieb
erreicht und anschließend
alle Taster losgelassen hat, kann die Verriegelung der Kolbenantriebssteuerung
durch Betätigen eines
der Taster jederzeit aufgehoben werden; die Bewegung wird dann unterbrochen.
-
An der Rückseite des Antriebs- und Steuerteils 40 zeigen
zwei Leuchten 49A und 49B den Betriebszustand
des Injektors an. Die Leuchte 49A ist eine Injektions-/Fehleranzeige.
Sie leuchtet, wenn eine Injektion abläuft. Sie beginnt zu blinken,
wenn ein Fehler erkannt wird. Die Leuchte 49B ist eine Freigabeanzeige.
Sie leuchtet, wenn der Injektor freigegeben wurde und bereit ist,
ein Injektionsprotokoll auszuführen.
-
Auf der Rückseite des Antriebs- und Steuerteils 40 (auf
der Seite, die der Aufnahme 42 gegenüber liegt) befindet sich auch
ein Rad oder ein Schalter für
Tippbetrieb (in der 2B nicht
dargestellt, siehe 163, 5),
der in der nachfolgend beschriebenen Art und Weise eingesetzt wird,
um die Bewegung des Kolbenantriebs von Hand zu erreichen.
-
Das in 2C dargestellte
Netzteil 50 enthält
die Elektronik, die in Verbindung mit der Steuerkonsole 30 und
dem Antriebs- und Steuerteil 40 die vorstehend beschriebenen
Funktionen ausführt.
Das Netzteil ist mit (nicht dargestellten) Standardcomputerverbindungskabeln
mit der Steuerkonsole 30 und dem Antriebs- und Steuerteil 40 verbunden.
Durch diese Kabel übertragene
Signale werden den Schaftkreisen innerhalb des Antriebs- und Steuerteils,
der Steuerkonsole und des Netzteils wie nachfolgend beschrieben
aufgegeben.
-
Wie in 3 dargestellt,
beinhalten die Schaltkreise im Netzteil eine Prozessorbaugruppe (CPU) 52,
von der die Abläufe
in dem Antriebs- und Steuerteil 40 und der Steuerkonsole 30 kontrolliert werden.
Die Prozessorbaugruppe ist vorzugsweise ein programmierbarer Mikroprozessor,
wie der Mikroprozessor MC68332FN, der von Motorola, 2110 East Elliot,
Tempe, Arizona 85284 hergestellt wird. Dieser Mikroprozessor gehört zur Mikroprozessor-Baureihe 68000 und
weist Multitasking-Unterstützung
auf. Er ist für
die Verwendung in so genannten „eingebetteten" Umgebungen, wie
der in dieser Patentschrift beschriebenen Schaltung, ausgelegt und
hat deshalb mehr als die übliche
Zahl direkt verdrahtete Eingangs- und
Ausgangskanäle.
-
Die Prozessorbaugruppe ist an einen Adressbus 54 zum
Ansprechen einer Reihe von Speicher- und Kommunikationsbaugruppen
und an einen Datenbus 56 zum Wiederauffinden und/oder Versenden
von Daten von und zu diesen Baugruppen angeschlossen. Die Zwischenspeicher 55 und 57 unterstützen die
CPU 52 bei der Herstellung der Verbindung zum Adressbus
bzw. zum Datenbus. Jedes der an den Adress- und den Datenbus angeschlossenen Bauteile
wird nachfolgend kurz beschrieben.
-
Ein löschbarer programmierbarer Festwertspeicher
(EPROM) 58, der an den Datenbus 56 angeschlossen
ist, enthält
die Programmsoftware, mit der die CPU 52 betrieben wird.
Der EPROM enthält ein
Betriebssystem, das auf unterer Ebene das Management der CPU und
ihre Kommunikation mit anderen Schaltkreisen übernimmt, sowie ein kundenspezifisches
Programm für
die Steuerung der Konsole und des Antriebs- und Steuerteils zur
Ausführung von
Injektionsprotokollen. Bei einer Ausführungsart wird als Betriebssystemsoftware
das Betriebssystem USX68K verwendet, ein Multitaskingbetriebssystem für Mikroprozessoren
der Baureihe 68000, das von U.S. Software mit Sitz in 14215 N. W.
Science Park Drive, Portland, Oregon, 97229 vertrieben wird. Das kundenspezifische
Programm ist in der „C"-Programmiersprache
geschrieben. Dieses kundenspezifische Programm wird nachstehend
beschrieben.
-
Ein zweiter EPROM 60, der
an den Datenbus 56 angeschlossen ist, enthält Sprachinformationen, die
von der Programmsoftware im EPROM 56 bei der Erzeugung
von Bildschirmanzeigen zur Darstellung auf dem Bildschirm 32 genutzt
werden (2A). Wie nachfolgend
werter ausgeführt
wird, enthalten die Bilddarstellungen auf dem Bildschirm 32 Textbeschreibungen
von Aktionen, die der Injektor ausführt, und bieten dem Bediener
Menüs an,
die er auswählen
kann. Die Textteile dieser Darstellungen auf dem Bildschirm sind
in dem Sprach-EPROM 56 gespeichert. Dorf werden sie aufgefunden
und in eine Schablone eingesetzt, wenn die CPU 52 eine
bildliche Darstellung auf dem Bildschirm erzeugt. Vorzugsweise enthält der Sprach-EPROM
mehrere Versionen jedes Texteinsatzes, die unterschiedliche Sprachen darstellen,
so dass der Bediener durch eine Menüwahl, die er auf dem Tastaturblock 34 des
Steuerpults vornimmt, eine bevorzugte Sprache wählen kann, in der die Darstellungen
auf dem Bildschirm erscheinen sollen. Beispielsweise wären die
Sprachen Englisch, Deutsch, Französisch und Spanisch eine Gruppe
von Sprachen, die für
den nordamerikanischen und europäischen
Markt geeignet wäre.
-
Weiterhin ist ein dritter elektrisch
löschbarer und
programmierbarer Festwertspeicher (EEPROM) 62 an den Datenbus
angeschlossen. EEPROM 62 speichert Daten energieunabhängig (so
dass sie nicht verloren gehen, wenn die Trennung vom Netz erfolgt.
Unter anderem speichert EEPROM 62 vorprogrammierte Injektionsprotokolle.
Diese Protokolle werden vom Nutzer nach Wunsch entwickelt und gespeichert
(Einzelheiten werden unter Bezugnahme auf 6A nachfolgend untersucht). Weiterhin
speichert EEPROM 62 Kalibrierungsinformationen, die von
der CPU 52 bei der Interpretation von Informationen über den
Flüssigkeitsdruck
und die Kolbenposition verwendet werden, die sie während der
Durchführung
einer Injektion erhält.
Darüber
hinaus speichert EEPROM 62 Informationen über die
zuletzt abgeschlossene Injektion, wie Injektionszeit und Injektionsvolumen,
so dass sie für
den Bediener wieder auffindbar sind. EEPROM 62 speichert
auch Vorzugsdaten des Bedieners, die er am Steuerpult eingegeben
hat (siehe die nachfolgende 6E).
Dazu gehören
die bevorzugte Sprache für
die Darstellung, sowie Zeit- und Datenformate. Weiterhin speichert EEPROM 62 Betriebsparameter,
wie eine programmierbare Druckbegrenzung, und ein (in der nachfolgend
beschriebenen Art und Weise verwendetes) Markierungszeichen, mit
dem angezeigt wird, ob der Injektor mit vorgefüllten Spritzen mit einer Teilfüllmenge
der Art, wie sie 1B zeigt,
bestückt
wird. Schließlich
speichert EEPROM 62 zur Erleichterung des Kundendiensts
und der Online-Hilfe für
den Kunden den eingetragenen Namen und/oder die Nummer des Gerätebesitzers.
-
Der Datenbus 56 ist auch
an einen Direktzugriffsspeicher (RAM) 64 angeschlossen,
der vom Betriebssystem zur Speicherung von bei CPU-Operationen erzeugten
Registerwertestacks und Informationen über den Gerätezustand für aktuell nicht aktive Prozesse,
die auf der CPU laufen, verwendet wird. Die Anwendungssoftware verwendet
den verbleibenden Platz im RAM 64 (der vom Betriebssystem
verwaltet und zugewiesen wird) zur Speicherung von Regelgrößen, die
während
des Injektorbetriebs berechnet und gestellt werden.
-
Die meisten Kommunikationen zwischen
der CPU 52 und dem Antriebs- und Steuerteil 40 sowie der
Steuerkonsole 30 erfolgen durch einen von zwei Eingabe-/Ausgabebausteinen
für asynchrone
Datenübertragung
(UARTs) 66 und 68, die an den Datenbus angeschlossen
sind. Ein UART ist ein Datenübertragungsschaftkreis,
der im Allgemeinen als integrierte Schaltung vorliegt und Eingangs-
und Ausgangsinfannationen erfasst und zwischenspeichert, damit asynchrone
Datenübermittlungen
zwischen Prozessoren oder Rechnersystemen über eine Datenverbindung möglich sind.
Ein geeigneter UART ist der Baustein MC68681, der von Motorola vertrieben wird.
Der erste UART 66 ist für
die Datenübermittlungen
zu den Schaltkreisen in dem Antriebs- und Steuerteil verantwortlich
(siehe die nachfolgende 5), die über eine
Schnittstelle 70 und ein an das Antriebs- und Steuerteil
angeschlossenes Datenübertragungskabel 71 erfolgen.
(Impulse von dem Drehgeber 166 in dem Antriebs- und Steuerteil
(nachfolgende 5) werden
jedoch über
die Leitung 71 von der Schnittstelle 70 direkt
zu einem Unterbrechereingang an die CPU 52 übertragen.)
UART 66 übernimmt
auch Datenübertragungen
zu einer Hilfsschnittstelle 72, die über ein Datenübertragungskabel 73 an
einen Drucker angeschlossen werden kann, damit die CPU 52 Injektionsprotokolle
ausdrucken kann. Alternativ kann die Schnittstelle 72 (oder eine
andere ähnliche
Schnittstelle) verwendet werden, um die CPU 52 an einen
an anderer Stelle befindlichen Computer oder ein anderes externes
Gerät anzuschließen, so
dass eine Fernüberwachung und/oder
Fernsteuerung des Injektors möglich
ist.
-
Der zweite UART 68 ist für die Datenübermittlung
zur Steuerkonsole 30 (2A)
zuständig. Über die
Kabel 75, 76 können
zwei Konsolen 30 an das Netzteil angeschlossen werden.
-
Die Kabel 75 und 76 übertragen
Daten, die Tastenbefehle und Bildschinnaktivitäten darstellen, zwischen dem
Netzteil 50 und der Steuerkonsole 30. Diese Daten
werden in einem Kommunikationsprotokoll verschlüsselt und entsprechend dem
Standard RS422 überragen.
Die verschlüsselten
Daten werden durch die Leitungen 75 und 76 zur
Schnittstelle 74 übermittelt,
die Übertragungen
für einen
zweiten UART 68 verschlüsselt
und entschlüsselt.
Der UART 68 leitet Tastenbefehle, die er von einer der
Konsolen über
die Schnittstelle 74 erhält, über den Datenbus 56 an
die CPU 52 werter. Darüber
hinaus übermittelt er
von der CPU 52 erzeugte Bildschirmanzeigeinformationen
an die Schnittstelle 74 zur Übertragung an die Konsolen über die
Leitungen 75A und 76A.
-
Die Kabel 75 und 76 enthalten
in Form von potenzialfreien Leitern auch die Leitungen 75B und 76B,
die logische Signale übertragen,
die der Taste 38 (2A)
auf jedem Tastaturblock einer Konsole entsprechen. Wie nachstehend
näher ausgeführt wird,
ist die Software, von der die Bildschirmanzeigen auf den Steuerkonsolen
erzeugt werden, so geschrieben, dass die Taste 38 die am
häufigsten
betätigte
Taste ist. In Abhängigkeit
von dem dargestellten Bild fungiert die Taste 38 als „Exit"-Taste zum Verlassen
des Bildschirms, als „Enter"-Taste zur Bestätigung eines
Werts oder einer Menüwahl
und zum Verlassen des Bildschirms oder als „Ausschalt"- bzw. „Abbruch"-Taste zum Beenden eines Vorgangs. (Beispiele
für Bildschirmanzeigen
werden nachstehend unter Verweis auf die 6A–6F diskutiert.) Da die Taste 38 die
am häufigsten
benutzte ist und da sie für zeitempfindliche
Eingaben wie Abbruchbefehle verwendet wird, ist die Taste 38 anders
mit der CPU 52 verbunden als die anderen Tasten. Die Taste 38 ist über eine
Unterbrecherleitung 79 direkt an die CPU 52 angeschlossen.
Wenn eine Tastenbetätigung
erkannt wird, setzt eine nicht überschreibbare
Unterbrecherschnittstelle (NMI) 78 (die im Wesentlichen aus
einem Sender und Empfänger
RS422 besteht, der das Signal in den Leitungen 75B und 76B in
ein rein logisches Signal in der Leitung 79 umwandelt)
einen Unterbrechungsbefehl auf Leitung 79, der sofort von
der CPU 52 erkannt und anschließend ausgeführt wird.
-
Eine ähnliche Schnittstelle wird
für den
manuellen Fernbedienungsschalter verwendet. Das Kabel 81,
das von dem Handschalter abgeht, stellt eine Verbindung zu dem Schnittstellenschaltkreis 80 des Handschalters
dar, der unter anderem den Handschalter elektrisch von der Erde
des Netzteils trennt und den Handschalter „entprellt" (elektrische Störungen beseitigt, die entstehen,
wenn der Schalter gedrückt
oder losgelassen wird), so dass ein rein logisches Signal entsteht,
das anzeigt, ob der Taster des manuellen Schalters betätigt ist
oder nicht. Dieses logische Signal wird über die Leitung 82 an
einen Eingang an der CPU 52 übermittelt, der ein Zeitverarbeitungsbaustein
(TPU) ist. Die CPU 52 liest das logische Signal an diesem
Zeitverarbeitungseingang und reagiert in Übereinstimmung mit der Software
im EPROM 58 entsprechend.
-
Der letzte Baustein auf dem CPU-Datenbus 56 ist
ein Analog/Digitalwandler (A/D) 84. Dieser Wandler wird
zur Erzeugung eines von dem Datenbus 56 lesbaren digitalen
Signals eingesetzt, das einem analogen Signal entspricht, das über die
Leitung 85 empfangen wird. Ein geeigneter A/D-Wandler ist der
Wandlertyp LT1094, der von Linear Technology mit Sitz in 1630 McCarthy
Blvd., Milpitas, CA 95035 vertrieben wird. Der A/D-Wandler 84 wird
für die nachfolgend
beschriebenen Servosteuerkreise des Motors verwendet. Die CPU hat
zwei zusätzliche Schnittstellen
zur Servorsteuerung des Motors: eine Schnittstelle in der Leitung 87 zu
einem Digital/Analog-Wandler (D/A) 86 (der in der Leitung 88 ein
analoges Signal erzeugt, das einem digitalen Signal entspricht,
das auf der Leitung 87 empfangen wird, zum Beispiel der
Wandler AD7245, der von Analog Devices of One Technology Way, P.
O. Box 9106, Norwood, MA 02062 vertrieben wird), und eine zweite Schnittstelle
in der Leitung 90 zu dem Druckbegrenzungsregelkreis 92.
Diese Schnittstellen (die Leitungen 87 und 90)
sind an synchrone periphere Schnittstellenkanäle (SPI-Kanäle) im Mikroprozessor angeschlossen
und werden entsprechend der Software im EPROM 58 gesteuert.
-
Die Wandler D/A 86, A/D 84, die Servosteuerung 94,
die Druckbegrenzungssteuerung 92 und die Druckerfassungsschaltkreise 96 bilden
gemeinsam einen Servosteuerkreis für den Motor 98, der den
Kolben der Spritze in der Spritze hin- und herbewegt. (Der Motor 98 ist
aus Gründen
der Verständlichkeit
dargestellt, es ist jedoch zu beachten, dass sich der Motor 98 als
körperliches
Bauteil in dem Antriebs- und Steuerteil 40 (2B, 5) befindet. Die Leitungen 91 und 93 sind
durch mehrere Leiter des Computerschnittstellenkabels, mit dem das
Antriebs- und Steuerteil 40 und das Netzteil verbunden
sind, an den Motor angeschlossen.)
-
Der Servosteuerkreis 94 spricht
auf eine analoge Spannung an, die von dem D/A-Wandler 86 in
der Leitung 88 erzeugt wird, und erzeugt zwischen den Leitungen 99 und 100 eine
Spannung, die dieser Spannung entspricht. Die Spannung zwischen
den Leitungen 99 und 100 wird von einem Transformator 102 auf
eine Spannungsebene transformiert, die ausreicht, um den Motor 98 über die
Leitungen 91 und 93 anzutreiben. Der Servosteuerkreis 94 enthält einen Rücklauftransformatorkreis,
der eine Ausgangsspannung erzeugt, die in einer Beziehung zu dem
Arbeitsspiel eines Schalt-FET steht. Dieses Arbeitsspiel wird durch
einen Impulsbreitenmodulationskreis (PWM-Kreis) UC3525 erzeugt – das ist
ein integrierter Schaltkreis, der ein digitales Ausgangssignal von 100
kHz mit einem Arbeitsspiel erzeugt, das sich in Abhängigkeit
von einer analogen Eingangsspannung in der Leitung 88 im
Bereich von 0% bis 50% ändert. Ein
geeigneter PWM-Schaltkreis ist der Schaltkreis UC3525, der von Unitrode
mit Sitz in 7 Continental Boulevard, Merrimack, NH 03054 vertrieben
wird. Somit steuert die CPU 52 die Drehzahl und die Leistungsabgabe
des Motors 98 durch das Schreiben eines digitalen Worts,
das eine Soll-Ausgangsspannung für
den Wandler D/A 86 über
die Leitungen 87 darstellt. Dieses digitale Wort wird dann
in ein analoges Signal umgewandelt, und das analoge Signal wird
in der Seroosteuerung in ein impulsbreitenmoduliertes Steuersignal
umgewandelt, das zu der gewünschten
Ausgangsspannung am Motor führt.
-
Die Druckerfassungsschaftung 96 beinhaltet einen
Schaltkreis zur Erkennung der Stromstärke, der den Stromfluss durch
die Leitung 93 (d. h. durch den Motor) erfasst und in den
Leitungen 104 und 85 analoge Signale erzeugt,
die dem erfassten Strom proportional sind. Im Wesentlichen besteht
dieser Schaltkreis zur Ermittlung der Stromstärke aus einem niederohmigen
Hochleistungswiderstand in Reihe mit der Leitung 93, die
an den Motor 98 angeschlossen ist. Ein Spannungsdifferenzverstärker (auf
der Grundlage eines fremdspannungsarmen Operationsverstärkers mit
hochgradiger Gleichtaktunterdrückung)
erfasst die Spannung über
den Widerstand und wandelt sie in eine analoge Spannung in den Leitungen 85 und 104 um.
Der Stromfluss durch den Motor ist proportional der von dem Motor
abgegebenen Kraft und damit proportional dem Injektionsdruck. Demzufolge
können
die von dem Druckerfassungskreis 96 erzeugten analogen
Signale verwendet werden, um daraus den Injektionsdruck abzuleiten.
-
Der Steuerkreis 92 zur Druckbegrenzung verwendet
das analoge Signal aus der Leitung 104 zur Realisierung
einer hardwareseitigen Druckregelfunktion. Der Schaltkreis 92 zur
Druckbegrenzung enthält
ein handelsübliches
digitales Potenziometer, das eingesetzt wird, um eine analoge Vergleichsspannung
zu erzeugen. Ein geeignetes Potenziometer ist das Potenziometer
DS1267, das von Dallas Semiconductor mit Sitz in 4350 Beltwood Parkway South,
Dallas, TX 75244 vertrieben wird. Die CPU 52 programmiert
(über die
Leitungen 90) dieses Potenziometer zur Erzeugung einer
Vergleichsspannung, die dem maximal zulässigen Druck entspricht. Der Steuerkreis 92 zur
Druckbegrenzung enthält
ein Grenzwertglied, von dem das durch den Druckerfassungsschaltkreis 96 erzeugte
analoge Signal in der Leitung 104 mit der Vergleichsspannung
verglichen wird. Wenn der Druck größer ist als der maximal zulässige Druck
(was auf einen Fehler in der CPU 52 hinweist, wird durch
die Leitung 105 ein digitales Signal an den Servosteuerkreis 94 übertragen,
der so anspircht, dass er das analoge Signal in der Leitung 88 ignoriert
und anstelle dessen die Spannung in den Leitungen 99 und 100 herabsetzt,
so dass der Motor angehalten wird. Somit lässt der Injektor, wenn die CPU 52 den
Steuerkreis 92 zur Druckbegrenzung einmal programmiert
hat, diesen Druck auch bei einem Ausfall der CPU 52 nicht über diesen
Grenzwert ansteigen.
-
Unter normalen Bedingungen wird diese hardwareseitige
Druckbegrenzung nicht betätigt,
da die CPU 52 ständig
Rückmeldeinformationen über die
Motorleistung und den erzeugten Druck erhält und den Motor über den
Wandler D/A 86 so regelt, dass das gewünschte Injektionsprotokoll
eingehalten wird. Die CPU 52 erhält aus drei Quellen Rückmeldeinfonnationen über einen
laufenden Injektionsvorgang: (1) Rückmeldeinformationen über den
Injektionsdruck liefert der Wandler A/D 84, der auf dem
Bus 56 ein digitales Wort erzeugt, das der in Leitung 85 durch
den Druckerfassungskreis 96 erzeugten analogen Spannung
entspricht, (2) Rückmeldeinformationen über die
Motordrehzahl liefert ein optischer Drehgeber 166, der
im Inneren des Antriebs- und Steuerteils 40 körperlich
an den Motor angeschlossen ist (worauf unter Bezugnahme auf 5 nachstehend näher eingegangen
wird), und (3) Rückmeldeinformationen über die
Position des Kolbens im Inneren der Spritze liefert ein lineares
Potenziometer 168, das körperlich an den Kolben angeschlossen
ist (siehe die nachfolgende 5).
Die CPU 52 verwendet diese Informationen zur sorgfältigen Steuerung
des Injektionsdrucks, der Menge und der Drehzahl entsprechend einem
vorprogrammierten Protokoll unter der Kontrolle der Software im
EPROM 58.
-
Die Energieversorgung des Netzteils,
des Antriebs- und Steuerteils und der Anzeige auf der Konsole erfolgt über die
WS-Kraftstromleitungen 107 und 108. Die Anpassung
der im Netz vorhandenen Wechselspannung wird von einer konventionellen Spannungsversorgungsschaltung 106 vorgenommen.
Diese Schaffung enthält
einen Transformator, der für
die Verwendung des Geräts
bei Netzspannungen, die nicht der in den Vereinigten Staaten üblichen Spannung
entsprechen, eingestellt werden kann, sowie eine Schaltung zur Spannungserkennung
für die Auswahl
des geeigneten Transformators auf der Grundlage der festgestellten
Netzspannung. Die Stromversorgung kann unterbrochen werden, indem der
Stecker des Injektors gezogen wird, oder vorzugsweise durch einen
Kippschalter, der ein Festkörperrelais
in dem Fernbedienungsschaltkreis 110 zum Ein- und Ausschalten öffnet und
schließt.
-
Wie die 4 zeigt, ist die Schaltung der Steuerkonsole
ebenfalls um eine Allzweck-CPU 120 herum
aufgebaut. Ein geeigneter Mikroprozessor ist das Gerät MC68332FN.
Der Adressbus 122 und der Datenbus 124, die an
die CPU 120 angeschlossen sind, stellen die Verbindung
zu einer Reihe von unterstützenden
Schaltkreisen her. Der Programm-ROM 126 enthält die Software
mit den Befehlen für
die CPU 120. (Diese Software ist in Assembly-Sprache geschrieben.)
Der Font-ROM 128 enthält
Font-Informationen, die von der CPU 120 bei der Erzeugung von
Fonts für
auf dem Bildschirm erscheinenden Text genutzt werden. Zu diesen
Fonts gehören
fremdsprachige Zeichen, wenn das zur Unterstützung von fremdsprachigen Texten
erforderlich ist. Der RAM 130 wird von dem Mikroprozessor
für die
Durchführung
von Anzeigeoperationen und das Wiederauffinden von Daten genutzt.
Der batteriegepufferte RAM 132 speichert die aktuelle Tageszeit,
so dass vom Netzteil ein mit Datums- und Uhrzeitstempel versehenes
Injektionsprotokoll erstellt werden kann.
-
Die wichtigste Funktion der Schaltkreise
der Steuerkonsole ist die Erzeugung von Bildern auf dem Bildschirm 32,
der Empfang von Tastenbefehlen von dem Acht-Tasten-Tastaturblock 34 (2A) sowie die Weiterleitung
der Tastenbefehle an das Netzteil. Die Bildschirmdarstellungen werden
von einem Bildsteuersystem 134 erzeugt, wie z. B. dem VGA-Controller
F82C455, der von Chips & Technologies
mit Sitz in 3050 Zanker Road, San Jose, CA 95134 vertrieben wird.
Der Informationsaustausch zwischen diesem VGA-Controller und der CPU 120 erfolgt über einen
Adresszwischenspeicher 136 und einen Datenzwischenspeicher 138.
Der VGA-Controller speichert weiterhin Bildschirminformationen in
einem dynamischen Direktzugriffsspeicher (DRAM) 140. Die Informationsübermittlung
an den Bildschirm 32 erfolgt über die Leitungen 142.
-
Tastenbefehle von dem Tastaturblock
werden von dem Tastaturschnittstellenskreis 144 empfangen,
von dem die Tastenbefehle „entprellt" und rein logische
Signale für
die Leitungen 146 erzeugt werden. Diese logischen Signale
werden an die CPU 120 zurückgemeldet, damit sie Tastatureingaben
dadurch bestätigen
kann, dass durch den Steuerkreis 150 für den Lautsprecher ein akustisches
Signal erzeugt wird. Der Steuerkreis für den Lautsprecher erzeugt
auch eindeutig zugeordnete akustische Meldesignale, mit denen andere
Vorgänge,
wie zum Beispiel die Einleitung einer Injektion oder eine Meldung an
den Bediener, dass die Aufnahme beginnen sollte, angezeigt werden.
Ein geeignetes Steuergerät
ist der von Motorola vertriebene Gerätetyp MC3487.
-
Die CPU 120 ist über eine
RS-422-Schnittstellenschaltung 148, die über die
Leitungen 75 und 76 digitale Signale versendet
und empfängt,
mit dem Netzteil verbunden. Die Schnittstellenschaltung 148 empfängt darüber hinaus
direkt von der Tastaturschnittstelle 144 Tastenbefehle
und leitet sie werter. Die acht Tasten auf der Konsole bilden ein
einzelnes 8-Bit-Informationsbyte
(bei dem jedes Bit anzeigt, ob die Taste betätigt ist oder nicht). Dieses
Byte ist über einen
logischen Zwischenspeicher Typ „245" direkt mit der CPU 120 verbunden.
-
Über
die Leitungen 152 erfolgt die Beaufschlagung mit einer
+28-Volt-Gleichspannung, die durch die Energieversorgung im Netzteil
bereitgestellt wird. Ein Steuerkreis 154 für die Stormversorgung
regelt diese +28-Volt-Gleichspannungsleitung so, dass sie eine Sammelleitung
für die
Spannungen ist, die von den verschiedenen Schaltkreisen in der Konsole
benötigt
werden. Darüber
hinaus wandelt eine Wechselrichterschaltung den vom Stromversorgungskreis 154 erzeugten
+12-Volt-Gleichstrom in 600-Volt-Wechselspannungseinspeisungen
mit geringer Stromstärke
für die
Spannungsbeaufschlagung der Flüssigkristallanzeige
um.
-
Wie in 5 dargestellt,
weist die Antriebs- und Steuereinheit auch eine Leiterplatte 160 auf,
die mit einem Mikroprozessor zur Datenübertragung an das Netzteil 50 (2C) bestückt ist. Ein geeigneter Mikroprozessor
ist der von Motorola vertriebene Mikroprozessor 68HC11E2, bei dem
es sich um einen kostengünstigen
Mikroprozessor mit Minimalfunktionalität aus der Baureihe 68000 handelt.
Die Leiterplatte empfängt
Tastenbefehle von den Tastern auf der (vorstehend beschriebenen)
Tastatur 162 sowie elektrische Impulse, die Bewegungen
des am hinteren Ende des Antriebs- und Steuerteils angebrachten handbetätigten Drehknopfs 163 entsprechen,
und leitet sie weiter. Ein geeigneter handbetätigter Drehknopf ist das Daumenrad
Modell 600, das von Clarostat mit Sitz in 1 Washington
Street, Dover, NH 03820 vertrieben wird. Die Leiterplatte schaltet
auch die Injektions-/Fehleranzeigeleuchte 49A und die Freigabeanzeigeleuchte 49B ein
und aus.
-
Der Motor 98 ist mit einem
Getriebe verbunden, das die Drehbewegung des Motors in eine lineare
Translationsbewegung des Kolbens umsetzt. Ein geeigneter Motor ist
der Motor CYMS A2774-2, der von Barber-Colman, P. O. Box 7040, Rockford,
IL 61125 vertrieben wird. Die Drehbewegung des Motors wird von einem
optischen Drehgeber 166 erfasst. (Der Drehgeber 166 besteht
im Wesentlichen aus einem Sprossenrad, das sich zur Erzeugung von
elektrischen Impulsen zwischen einer Lichtquelle und einem Lichtdetektor
dreht, beispielsweise der Drehgeber HEDS-9100, den Hewlett-Packard
mit Sitz in 3003 Scott Boulevard, Santa Clara, CA 95054 vertreibt.)
Der Drehgeber 166 übermittelt
elektrische Impulse an die Leiterplatte 160, die sie zum
Netzteil 50 weiterleitet, so dass die CPU 52 im
Netzteil die Motorbewegung überwachen
kann.
-
Die Stellung des Kolbens wird durch
ein lineares Potenziometer 168 erfasst, beispielsweise
das Potenziometer LCPL200, das von ETI Systems mit Sitz in 215 Via
Del Norte, Oceanside, CA 92054 vertrieben wird. Der Schleifkontakt 169 des
Potenziometers 168 ist mechanisch mit dem Kolben 12 verbunden
und bewegt sich mit ihm. Zwischen den Potenziometerklemmen 170 und 171 liegt
ein Gleichspannungsabfall vor, und dementsprechend wird an dem Schleifkontakt 169 eine
analoge Spannung erzeugt, die der Stellung des Kolbens und des Schleifkontakts 169 entspricht.
Ein A/D-Wandler auf der Leiterplatte 160 wandelt diese
analoge Spannung in ein digitales Signal um, das von der Leiterplatte 160 an
das Netzteil 50 weitergegeben wird.
-
Die Leiterplatte 160 erkennt
auch den Ausgang von zwei Hall-Gebern 172 und 174.
Das Antriebs- und Steuerteil weist eine abnehmbare Aufnahmeplatte 42 auf
(2B). Zur Zeit gibt
es zwei unterschiedliche Aufnahmeplatten mit unterschiedlich großen Öffnungen
zur Aufnahme von unterschiedlich großen Spritzen. Demzufolge muss
die Aufnahmeplatte zwar nicht demontiert werden, wenn die Spritze ausgetauscht
werden soll, sie kann aber demontiert werden, wenn eine andere Spritzengröße zum Einsatz
kommen soll. Der Signalgeber 172 erkennt, ob die Aufnahmeplatte 42 offen
ist. Wenn das der Fall ist, sendet die Leiterplatte 160 eine
Information an das Netzteil 50, das alle werteren Injektionsabläufe verhindert,
bis die Aufnahmeplatte geschlossen ist. Der Signalgeber 174 erkennt
die Größe der verwendeten
Aufnahmeplatte. Derzeit ist nur eine der beiden Aufnahmeplatten
mit einem Magneten versehen, der den Signalgeber 174 ansteuert.
Dementsprechend kann die Leiterplatte feststellen, welche Aufnahmeplatte
installiert wurde, indem sie feststellt, ob der Signalgeber 174 angesteuert
wurde. Diese Information wird ebenfalls an die CPU 52 im
Netzteil weitergeleitet, so dass die CPU 52 bei der (nachfolgend
beschriebenen) Steuerung des Motors 98 auch die unterschiedlichen
Spritzengrößen berücksichtigen kann.
-
Aufgrund von Befehlen von der CPU 52 steuert
die Leiterplatte 160 auch die Heizdecke 176, von der
das Kontrastmittel in der Spritze erwärmt wird. Darüber hinaus
steuert die Leiterplatte 160 die Bewegungsanzeige 178.
Die Bewegungsanzeige 178 ist mechanisch mit dem Kolben 12 verbunden
und weist zwei Lichtemissionsdioden LED 179 auf, die durch das
Fenster 44 in dem Antriebs- und Steuerteil (2B) zu sehen sind. Die LEDs 179 melden
dem Bediener die Kolbenstellung durch Herstellung einer Korrelation
zwischen der Position der Dioden und der Skaleneinteilung am Fenster 41
1. Die beiden Seiten des Fensters 41 weisen
unterschiedliche Skaleneinteilungen auf: eine für große Spritzen kalibrierte und eine
für kleine
Spritzen. In Abhängigkeit
von der vom Signalgeber 174 erkannten Spritzengröße leuchtet die
LED auf der Seite der entsprechenden Skaleneinteilung. Darüber hinaus
erhält
die Leiterplatte 160 von der CPU 52 auf die nachfolgend
ausführlicher beschriebene
Art und Weise den Befehl, die LED blinken zu lassen, solange sich
der Kolben bewegt. Weiterhin erteilt die CPU 52 der Leiterplatte 160 auch den
Befehl, die LED auf Dauerlicht zu schalten, wenn die CPU 52 (wie
vorstehend beschrieben) auf „Verriegelungsbetrieb" schaltet. Somit
melden die LEDs 179 dem Bediener die Kolbenstellung, die
Bewegungsrichtung und den „Verriegelungsbetrieb".
-
Unter Bezugnahme auf die 6A–6F wird ein
Injektionsprotokoll aus der Perspektive des Bedieners beschrieben.
Der Hauptbedienbildschirm ist in 6A dargestellt.
Das Feld 200, das mit einer bildlichen Darstellung 201 des
Antriebs- und Steuerteils verbunden ist, zeigt die aktuelle Menge
Kontrastmedium in der Spritze an. Das Feld 202, das mit
einer bildlichen Darstellung 203 der Spritze verbunden
ist, zeigt die Gesamtmenge an, die bei dem zur Zeit ausgewählten Protokoll
bisher verabreicht wurde. Das Feld 204 zeigt die vom Bediener
für den
Injektionsvorgang gewählte
Druckbegrenzung, und das Feld 206 zeigt eine Aufnahmeverzögerung (in
Sekunden). Bei dieser Aufnahmeverzögerung handelt es sich um den
zeitlichen Abstand zwischen dem Zeitpunkt, zu dem der Bediener die
Injektion einleitet (mit dem Handschalter, mit einem Tastenbefehl
auf der Konsole oder einem Taster auf dem Antriebs- und Steuerteil),
und dem Zeitpunkt, zu dem mit der Anfertigung der Röntgenaufnahme
oder mit der Magnetabtastung des untersuchten Tierkörpers begonnen
werden sollte. (Nach Ablauf dieser Verzögerungszeit erzeugt die CPU 120 einen
Ton, der dem Bediener anzeigt, dass mit der Anfertigung der Aufnahme
begonnen werden sollte; alternativ könnte die Aufnahme durch eine
geeignete elektrische Verbindung zwischen dem Aufnahmegerät und dem
Injektor automatisch ausgelöst werden.)
In dem dargestellten Fall enthält
die Spritze eine Flüssigkeitsmenge
von 180 ml, von der bei dem gewählten
Protokoll 30 ml eingesetzt werden, der Grenzwert für den Druck
beträgt
1,4 MPa (200 psi), und es ist keine Verzögerung für die Anfertigung der Aufnahme
vorgegeben.
-
Auf dem Bildschirm, der in 6A dargestellt ist, erscheinen
in den oberen Bereichen des Bildschirms gespeicherte Injektionsprotokolle.
Der Bereich 208 zeigt die Protokolle, die der Bediener auswählen kann,
und der Bereich 210 enthält Angaben zu dem zum aktuellen
Zeitpunkt ausgewählten Protokoll.
Wie der Bereich 210 zeigt, umfasst ein Protokoll eine Reihe
von Phasen; während
jeder Phase erzeugt der Injektor einen vorprogrammierten Mengenstrom,
so dass eine vorprogrammierte Gesamtflüssigkeitsmenge abgegeben wird.
Das gezeigte Protokoll „SERIO
VASCUL" hat nur
eine Phase; andere Protokolle, die vom Bediener ausgewählt werden
können,
weisen jedoch mehrere Phasen auf. Im Bereich 208 sind die
Protokolle mit ihren Namen und der Anzahl der Phasen aufgeführt; demzufolge
weist das „LEBER"-Protokoll entsprechend
der Darstellung 2 Phasen auf, und das Protokoll „ABDOMEN PI" weist drei Phasen
auf.
-
Der Nutzer kann Protokolle auswählen, eine Injektion
freigeben und sich anderweitig durch die Bildschirmanzeigen bewegen,
indem er die Taster auf dem Tastaturblock 34 neben dem
Bildschirm betätigt.
Der Bereich 212 auf dem Bildschirm ist für die Angabe
der Funktionen vorgesehen, die bei Betätigung der Taster im Tastaturblock 34 zur
Verfügung stehen.
Dementsprechend kann der Nutzer bei dem in 6A dargestellten Bild im Bereich 208 das
vorige oder das folgende Protokoll in der Liste dadurch auswählen, dass
er die Taster neben den Wörtern „VORIGES
PROTOKOLL" bzw. „NÄCHSTES PROTOKOLL" auf dem Bildschirm
drückt.
Der Nutzer kann darüber
hinaus die Werte für
den Mengenstrom, das Volumen und die Injektionsverzögerung für das aktuelle
Protokoll durch Betätigen
des Tasters neben „WERTE ÄNDERN" verändern. Wenn
dieser Taster betätigt
wird, wird die Funktion des Tastaturblocks und des Bereichs 212 auf
dem Bildschirm so verändert,
dass der Bediener einen Wert wählen,
den Wert erhöhen
oder verringern, Zeichen zum Erstellen oder Ausgeben eines Protokollnamens
wählen
und dann zu dem in 6A gezeigten
Bildschirm zurückkehren
kann. Ausgehend von der 6A kann
der Bediener auch zu einem Bild „Leitbedienfeld" gelangen (siehe 6E im Folgenden), auf dem
er Betriebsparameter und andere Daten anpassen kann. Weiterhin kann
der Bediener zu einem Protokollmanager überwechseln, in dem er Protokolle
umbenennen oder löschen
und die Reihenfolge der im Bereich 208 dargestellten Protokollliste
bestimmen kann. Schließlich kann
der Nutzer auch von dem in 6A dargestellten
Bildschirm aus eine Injektion freigeben, indem er den Taster neben „FREIGABE" betätigt.
-
Wie 6B zeigt,
erscheint auf dem Bildschirm nach der Erteilung einer Freigabe für eine Injektion
zunächst
ein Textfeld 214, das den Bediener fragt, ob alle Luft
aus der Spritze entfernt wurde. Der Bereich 212 des Bildschirms
enthält
nur die Wörter „JA" und „NEIN", was zeigt, dass
der Bediener die Frage mit ja oder nein beantworten muss. Wenn der Taster
neben „NEIN" betätigt wird,
wird die Injektion abgebrochen. Wenn die Antwort „JA" lautet, geht der Injektor
in den Freigabezustand über,
den die 6C zeigt. Hier
zeigt der Bereich 208 des Bilds die erwartete Dauer, und
der Bereich 212 enthält
die Wörter „START", „AUTO-FREIGABE" und „ABBRECHEN". Wenn der Bediener
den Taster neben „ABBRECHEN" betätigt, kehrt
der Injektor zu dem in 6A dargestellten
Zustand zurück.
Wenn der Bediener den Taster neben „AUTO-FREIGABE" drückt, schaltet
der Injektor auf die Betriebsart „AUTO-FREIGABE" um, was durch ein
Feld bestätigt
wird, das kurz in der Mitte des Bildschirms erscheint. Wenn der
Bediener den Taster neben „START" drückt, beginnt
die Injektion, und der Injektor erreich den in 6D gezeigten Betriebszustand.
-
Während
eine Injektion abläuft,
erscheint das in 6D gezeigte
Bild. Bei diesem Bild zeigt der Bereich 208 die Gesamtinjektionszeit
und das an den Patienten verabreichte Volumen (in ml). Der Bereich 212 enthält das Wort „STOP" neben jedem der
Taster im Tastaturblock 34, was zeigt, dass der Bediener
die Injektion abbrechen kann, indem er einen beliebigen Taster betätigt (oder
durch Betätigen
des Ein/Aus-Tasters 45 auf dem Antriebs- und Steuerteil bzw. durch Betätigen des
Handschalters). Zusätzlich verringert
sich die Anzeige des Gesamtvolumens Flüssigkeit in der Spritze im
Feld 200 in dem Maße, wie
Flüssigkeit
in den Körper
injiziert wird.
-
Nach der Abarbeitung des Injektionsprotokolls
kehrt der Injektor entweder in den in 6A oder
in den in 6C gezeigten
Betriebszustand zurück.
Wenn der Bediener durch Betätigen
von „AUTO-FREIGABE" in 6C die Betriebsart „AUTO-FREIGABE" eingegeben hat,
kehrt der Injektor zu dem in 6C dargestellten
Betriebszustand zurück.
Dagegen kehrt der Injektor zu dem in 6A gezeigten
Betriebszustand zurück,
wenn der Bediener die Betriebsart Auto-Freigabe nicht eingegeben hat.
Somit kann der Bediener durch Eingabe der Betriebsart Auto-Freigabe
ein Injektionsprotokoll leichter wiederholen. Das kann beispielsweise
dann sinnvoll sein, wenn sich das Kontrastmittel relativ schnell verteilt
und mehrere Aufnahmen vom gleichen Körperbereich gemacht werden.
Durch Verwendung der Betriebsart „AUTO-FREIGABE" kann der Bediener das
Kontrastmittel unmittelbar vor der Anfertigung jeder einzelnen Aufnahme
wieder auffüllen,
indem er nur eine einzige Taste (oder den Handschalter) betätigt, ohne
dass er eine erneute Freigabe des Injektors vornehmen muss.
-
Wie vorstehend bereits erwähnt, kann
es sein, dass Bediener bei Injektionen vorgefüllte Spritzen einsetzen möchten. Vorgefüllte Spritze
weisen jedoch oft Füllstoffelelemente
auf, mit denen das Füllvolumen
der Spritze verringert wird (Spritzen dieser Art sind unter der
Bezeichnung vorgefüllte
Spritzen „mit
Teilfüllmenge" bekannt). Der in
dieser Patentschrift beschriebene Injektor weist ein nachfolgend beschriebenes
Merkmal auf, mit dem das reduzierte Volumen in einer vorgefüllten Spritze
mit Teilfüllmenge
kompensiert wird.
-
Wie vorstehend bereits erwähnt, kann
der Bediener bei der Anfangseinrichtung des Injektors das „Leitbedienfeld" aufrufen, das in 6E dargesteltt ist. In dem
Leitbedienfeld zeigt der Bildschirm die aktuell gültigen Betriebseinstellungen
des Injektors. Dementsprechend enthält das Leitbedienfeld ein Feld 220,
das die aktuell gültige
Druckbegrenzung festlegt, ein Feld 222, das die aktuell
gültige
Sprache festlegt (wie vorstehend angegeben, kann der Bediener eine
Sprache für
die Textteile des Bildschirms wählen),
die Felder 226 und 228, von denen die aktuelle
Zeit und das Datum festgelegt werden, sowie ein Feld 230,
das den eingetragenen Namen und/oder die Nummer des Besitzers enthält. Diese Angaben
werden mit Hilfe des Tastaturblocks und des Bereichs 212 des
Bildschirms, wie vorstehend besprochen, eingegeben.
-
Ein weiteres Feld 232 auf
dem Bildschirm „Leitbedienfeld" wird genutzt, um
anzuzeigen, ob der Injektor mit vorgefüllten Spritzen, die nur eine
Teilfüllmenge
enthalten, bestückt
werden soll. Das Feld 232 enthält in Abhängigkeit von der Wahl, die
der Bediener vorgenommen hat, die Wörter „JA" oder „NEIN". (Wie in 6E gezeigt
wird, erscheint auf dem Bildschirm im Bereich 212 ein Menü mit den
Alternativen „JA" und „NEIN", wenn der Bediener
versucht, dieses Feld zu ändern.)
Wenn der Bediener das Feld 232 geändert hat, um anzuzeigen, dass
eine vorgefüllte Spritze
mit Teilfüllmenge
verwendet werden kann, (d. h. im Feld 232 steht „JA"), wird der vorstehend
beschriebene Ablauf zur Freigabe etwas veränder. Wenn vorgefüllte Spritzen,
die nur zum Teil gefüllt sind,
eingesetzt werden können,
erscheint nach der Freigabe der Injektion dadurch, dass der Bediener die „FREIGAGE"-Taste auf dem Bildschirm
der 6A betätigt, der
in 6F dargestellte Bildschirm,
auf dem der Bediener die Größe der vorgefüllten Spritze
festlegen muss, indem er einen Taster neben „50 ml", „65
ml", „75 ml", „100 ml" oder „125 ml" betätigt. Nachdem
der Bediener die Größe der vorgefüllten Spritze
eingegeben hat, kehrt der Injektor zu dem in 6B dargestellten Bild zurück. Die CPU 52 (3) nimmt dann in der nachfolgend
unter Bezugnahme auf 7E beschriebenen
Art und Weise einen Ausgleich für
das Füllstoffelement
in der Spritze vor.
-
Entsprechend 7A wird das Betriebsprogramm in der CPU 52 durch
den Programmschritt 240 aufgerufen, wenn die Spannungsbeaufschlagung
erfolgt. Das Programm initialisiert während des Schritts 242 zunächst die
Hardware und Software, die zum Netzteil 50, dem Antriebs-
und Steuerteil 40 und dem Bildschirm 30 gehören. Dann
nimmt die CPU 52 im Schritt 244 eine Diagnose
vor, um zu gewährleisten,
dass der Injektor richtig arbeitet; im Wesentlichen besteht diese
Diagnose dann, dass Prüfdaten
an verschiedene Hardware-Elemente versandt werden und dass der Empfang
der entsprechenden Antworten überprüft wird.
-
Nachdem diese Diagnosevorgänge abgelaufen
sind, leitet die CPU 52 eine Reihe von „Threads" oder parallel ablaufenden Prozessen
ein; anschließend
werden diese Prozesse auf der CPU 52 unter der Kontrolle
des zuvor beschriebenen Betriebssystems USX68K zeitlich vielfach übertragen.
Diese Threads kommunizieren mit dem Betriebssystem und untereinander
durch „Nachrichten" oder Semaphoren – im Wesentlichen
werden prozessübergreifende
Datenübermittlungen
in einen vom Betriebssystem verwalteten Bereich platziert, auf den
global zugegriffen werden kann und wo sie von anderen Threads später wieder
aufgefunden werden können. Das
Betriebssystem ordnet den Threads Verarbeitungszeit zu. Sehr häufig werden
Threads „inaktiv" sein, d. h. keine
anstehenden Operationen durchzuführen
haben. Die Threads sind im Allgemeinen so geschrieben, dass sie
dem Betriebssystem mitteilen, wenn der Thread inaktiv ist („Zeit" an das Betriebssystem „zurückgeben"), so dass das Betriebssystem einem
anderen Thread Verarbeitungszeit neu zuordnen kann.
-
Die Zuweisung von Verarbeitungszeit
an Threads durch das Betriebssystem erfolgt nach einer Zeitrasterfolge
unter Berücksichtigung
von Vorrangigkeiten. Dementsprechend stellt das Betriebssystem grundsätzlich jedem
einzelnen der Threads der Reihe nach Verarbeitungszeit zur Verfügung. Wenn ein
aktiver Thread mit einer niedrigen Priorität mehr als einen Höchstbetrag
Verarbeitungszeit verbraucht, unterbricht das Betriebssystem den
Thread und räumt
anderen Threads mit einer höheren
Priorität die
Möglichkeit
ein, Verarbeitungszeit zu nutzen. Ein Thread mit einer hohen Priorität wird jedoch
nicht von Threads mit niedrigeren Prioritäten unterbrochen, auch nicht,
wenn der Thread mit der hohen Priorität mehr als den Höchstbetrag
Verarbeitungszeit verbraucht. Im Normalbetrieb sind die meisten
der Threads inaktiv, und es treten zwischen den Threads keine Konflikte
wegen der Inanspruchnahme von Verarbeitungszeit auf. In Fällen, wo
ein Konflikt auftritt, gestattet es dieses nach dem Vorrangigkeitsprinzip
arbeitende System jedoch den wichtigsten Threads, ununterbrochen
weiterzuarbeiten, wenn das notwendig ist. Es ist zu beachten, dass
selbst der Thread mit der höchsten
Priorität
(der Servo-Thread 254) gelegentlich Zeit an das Betriebssystem
zurückgibt
(zu Zeitpunkten, zu denen eine Unterbrechung geduldet werden kann),
so dass andere Threads in der Lage sind, ihre Operationen selbst
dann fortzusetzen, wenn der Thread mit der höchsten Priorität aktiv
ist.
-
Die Threads, die in der CPU 52 arbeiten,
untergliedern sich grundsätzlich
in zwei Kategorien: „Übertragungs"-Threads, die Informationen
an das Netzteil und aus dem Netzteil 50 senden, und „Betriebs"-Threads, von denen
die vom Netzteil versandten oder empfangenen Informationen erzeugt
oder verarbeitet werden. Es gibt zwei Betriebs-Threads: den Gerätezustands-Thread 246 und
den Servo-Thread 254.
-
Der Gerätezustands-Thread 246 erteilt
der Steuerkonsole 30 die Befehle, Bildschirmansichten der
Art, wie sie in den 6A–6E dargestellt sind, zu erzeugen,
und verarbeitet darüber
hinaus die Tasterbetätigungen
durch den Nutzer. Der Thread 246 ist im Wesentlichen ein
Gerätezustand,
bei dem jeder „Zustand" einem Bild auf dem
Bildschirm entspricht und jeder Tastenbefehl des Bedieners zu einem Übergang
in einen anderen Zustand führt.
Die Software im Programm-EPROM 58 (3) ist im Wesentlichen die Festlegung
eines Diagramms für
den Zustandsübergang,
wobei spezifische Zustände, Bildschirmansichten
in Verbindung mit diesen Zuständen
sowie für
jeden Zustand die Tastenbefehle bzw. eine andere Handlung, die einen Übergang
in einen anderen Zustand bewirkt, festgelegt sind.
-
Wie die 7B zeigt, sucht der Thread 246, wenn
er gestartet wurde, in 270 nach einer Nachricht, beispielsweise
einer Nachricht von einem Übermittlungs-Thread,
die zeigt, dass auf der Konsole ein Taster betätigt wurde, oder nach einer
Nachricht vom Servo-Thread, die zeigt, dass der Bildschirm aktualisiert
werden sollte, damit er der neuesten Injektionsaktivität entspricht.
Wenn keine Nachricht vorliegt, gibt der Thread 272 Zeit
an das Betriebssystem zurück.
Wenn jedoch eine Nachricht eingegangen ist, nutzt der Thread die
Software im Programm-EPROM 58 zu ihrer Erkennung, und es
kommt in 274 zum Übergang
in den neuen Zustand, der dem erhaltenen Tastenbefehl oder einer
anderen Aktivität
zugeordnet ist. In einigen Fällen,
z. B. wenn der Bediener einen nicht gültigen Taster betätigt hat,
ist der neue Zustand der gleiche wie der alte; in anderen Fällen handelt
es sich bei dem neuen Zustand um einen, der sich von dem vorherigen
unterscheidet. Wenn sich der neue Zustand von dem alten unterscheidet,
versendet der Gerätezustands-Thread
Nachrichten an den entsprechenden Übermittlungs-Thread, so dass
in 276 der Bildschirm so geändert wird, dass er den neuen
Zustand wiedergibt. Zusätzlich
kann der Gerätezustands-Thread
in 278 Nachrichten an den Servo-Thread übermitteln, z. B. dem Servo-Thread
mitteilen, dass der Bediener einen Taster betätigt hat, mit dem ein Protokoll
gestartet wird. Wenn das abgeschlossen ist, kehrt der Gerätezustand
in 280 zum Betriebssystem zurück.
-
Wenn eine Start-Mitteilung an den
Servo-Thread versandt wird, initiiert der Thread, der die Mitteilung
versendet, eine oder mehrere Globalregelgrößen zur Angabe der Art der
verlangten Bewegung. Dazu werden acht Globalregelgrößen (Regelgrößen, die
vom Betriebssystem verwaltet werden und auf die alle Threads Zugriff
haben), die als vier Paare organisiert sind, verwendet. Jedes Paar
Regelgrößen legt
einen neuen Sollwert für
die Kolbenstellung sowie eine Geschwindigkeit fest, mit der sich der
Kolben in diese Position bewegen sollte. Mit den vier Paaren Regelgrößen können vier
Protokollphasen beschrieben und somit als eine Nachricht an den Servo-Thread
ausgeführt
werden. Wenn demzufolge der Gerätezustands-Thread
in 278 eine Nachricht an den Servothread übermittelt,
errechnet er aus dem ausgewählten
Protokoll einen oder mehrere Sollwerte für die Endstellung und Geschwindigkeit
und platziert die errechneten Werte in globale Regelgrößen.
-
Wie aus der 7C zu entnehmen ist, überprüft der Servothread 254 nach
seiner Initiierung durch das Betriebssystem zunächst in 282, ob eine Nachricht
vorliegt, die der Servosteuerung den Befehl erteilt, die Kolbenbewegung
zu starten. Wenn keine Nachricht vorliegt, gibt der Thread in 284 Zeit an
das Betriebssystem zurück.
Wenn jedoch eine Startnachricht vorliegt, startet der Servo-Thread
in 286 den Motor, so dass die in einer Globalregelgröße vorgegebene
Soll-Position bei der von einer weiteren Globalregelgröße vorgegebenen
Soll-Geschwindigkeit erreicht wird. An diesem Punkt beginnt im Servo-Thread
eine Schleife; bei jeder Iteration prüft die Schleife im Schritt 288,
ob der Kolben die Soll-Position
erreicht hat (die Kolbenstellung wird vom Empfangs-Thread 260 des
Antriebs- und Steuerteils, wie nachfolgend in 7E dargestellt, ermittelt), und wenn
das der Fall ist, endet die Schleife und der Servo-Thread stoppt
in 290 den Motor und kehrt zurück. Wenn der Kolben dagegen
die Soll-Position nicht erreicht hat, prüft der Servothread in 292,
ob die Motordrehzahl richtig ist (die Messung der Motordrehzahl übernimmt
ein nachfolgend in 7D dargestelltes Unterbrechungsprogramm).
Wenn die Drehzahl des Motors nicht richtig ist, wird sie in 294 durch
eine Anpassung der Motorspannung korrigiert. Wenn diese Schritte
abgeschlossen sind, räumt
der Servo-Thread in 296 dem Betriebssystem drei Zeitscheiben
(ca. 21 Millisekunden) ein, um andere Prozesse durchzuführen, dann
kehrt er zum Schritt 288 zurück, um die Schleife zu schließen.
-
Wie vorstehend bereits erwrähnt, wird
die Drehzahl des Motors durch ein Unterbrechungsprogramm, wie in 7D dargestellt, gemessen.
Wenn der an dem Motor 98 angebrachte optische Drehgeber 166 (5) einen Impuls erkennt,
bewirkt der Prozessor auf der Leiterplatte 160 im Antriebs-
und Steuerteil, dass ein Interrupt durch die Leitung 71 zur CPU 52 gelangt.
Wenn dieser Interrupt in 300 empfangen wird, errechnet
das Unterbrechungsprogramm in 302 die Zeit, die seit dem
vorigen Zähl-Interrupt
vergangen ist, und in 304 wird aus dieser abgelaufenen
Zeit die Geschwindigkeit des Kolbens errechnet. Der Wert dieser
Geschwindigkeit wird in 306 in einer Globalregelgröße gespeichert
(auf die das Servoprogramm zugreifen kann), und der Interrupt wird
in 308 ausgeführt.
-
Wie in 7E dargestellt,
ist der Empfangs-Thread 260 des Antriebs- und Steuerteils
für den
Empfang von Mitteilungen vom Antriebs- und Steuerteil sowie für die Ausführung einer
Reihe von Aufgaben aufgrund dieser Mitteilungen zuständig, wozu
auch die Weiterleitung von manuellen Kolbenbewegungen an den Servo-Thread
und (wie vorstehend ausgeführt)
die Weitergabe von Positionsmessungen, die während der Kolbenbewegung erfolgen, an
den Servo-Thread gehören.
-
Wenn das Betriebssystem in 260 den
Thread für
das Antriebs- und Steuerteil initiiert, nimmt der Thread zunächst in 310 eine Überprüfung auf
Nachrichten vor. Wenn keine eingegangen sind, gibt der Thread in 312 Zeit
an das Betriebssystem zurück. Wenn
der Thread jedoch eine Nachricht empfangen hat, ermittelt er in 312 den
Inhalt der Nachricht und handelt entsprechend. (Diese Ermittlung
ist zur besseren Verdeutlichung als Mehrwegzweig dargestellt, im
Code erfolgt sie jedoch als eine Reihe von Einzelprüfungen,
die nacheinander durchgeführt
werden.) Die Nachricht kann eine Fehlermeldung sein – 314 –, eine
Bewegung des handbetätigten
Drehschalters – 316 -,
ein Messwert des linearen Potenziometers – 318 – (diese
Werte werden in regelmäßigen Zeitabständen von
dem Antriebs- und Steuerteil erzeugt), ein Fülltastermesswert – 320 – (der in
regelmäßigen Zeitabständen vom
Antriebs- und Steuerteil erzeugt wird), eine Betätigung des Ein/Aus-Tasters – 322 – oder verschiedene
andere (es können
gleichzeitig mehrere Nachrichten empfangen werden).
-
Wenn die Nachricht einen Messwert
des linearen Potenziometers enthält – 318 – (dazu werden die
im EEPROM 62 gespeicherten Kalibrierungsablesungen verwendet),
wird dieser Messwert, wie in 7E dargestellt,
in 324 in ein entsprechendes Volumen umgewandelt. Dann
wird in 326 ein Korrekturwert (der das Vorhandensein des
Füllstoffelements
in einer vorgefüllten
Spritze mit einer Teilfüllmenge
ausgleicht) von dem errechneten Volumen abgezogen und das Ergebnis
in einer globalen Regelgröße gespeichert,
auf die der Servo-Thread
später
im Schritt 288 (7C)
zugreifen kann. Der im Schritt 326 verwendete Korrekturwert
wird erzeugt, wenn der Nutzer bei der Bearbeitung des in 6F dargestellten Bildschirms
die Festlegung „vorgefüllte Spritze
mit Teilfüllmenge" trifft. Wenn keine
vorgefüllten
Spritzen mit einer Teilfüllmenge
eingesetzt werden, wird der Korrekturwert auf einen konstanten Wert
null gesetzt. Wenn das angepasste Volumen gespeichert ist, gibt der
Thread für
das Antriebs- und Steuerteil in 328 Zeit an das Betriebssystem
zurück.
-
Entsprechend 7F wird beim Empfang eines Fülltastermesswerts
(d. h. bei Eingang einer Nachricht, die den Zustand der Taster 46, 47 und 48 auf
dem Tastaturblock 162 des Antriebs- und Steuerteils anzeigt),
von dem Thread für
das Antriebs- und Steuerteil im Schritt 330 zunächst ermittelt,
welcher Taster bzw. welche Taster betätigt sind.
-
Wenn in 332 ein „Schnell"-Taster 48 und
der Vorwärts-Taster 46 oder
der Rückwärts-Taster 47 niedergedrückt sind,
ermittelt der Thread in 334 zunächst, ob der Motor bei seiner
maximalen Verriegelungsdrehzahl arbeitet (durch Ablesung der globalen Regelgröße zur Angabe
der Motordrehzahl, die von dem in 7D dargestellten
Unterbrechungsprogramm erzeugt wurde). Wenn das nicht der Fall ist, erhöht der Thread
in 336 die Motordrehzahl in der angegebenen Drehrichtung – und zwar
dadurch, dass der Wert der globalen Regelgröße für die Solldrehzahl erhöht wird,
indem die Globalregelgröße, durch die
der Sollwert für
die Kolbenstellung festgelegt wird, auf das Ende der Spritze gesetzt
wird (und an den Servo-Thread
eine Nachricht zum Starten der Servosteuerung versendet wird, wenn
der Motor nicht bereits läuft) – und gibt
in 338 Zeit an das Betriebssystem zurück. Wenn der Motor jedoch seine Verriegelungsdrehzahl
erreicht hat, ermittelt der Thread in 340, ob die Taster
bei der letzten Verarbeitung eines Fülltastermesswerts betätigt waren.
Wenn das der Fall war, hat der Bediener den Motor auf seine maximale
Drehzahl beschleunigt und drückt
die Taster auch weiterhin. In diesem Fall soll der Motor weiterhin
bei seiner maximalen Drehzahl arbeiten; dementsprechend gibt der
Thread in 338 einfach Zeit an das Betriebssystem zurück. Wenn
die Taster jedoch bei der letzten Messweriverarbeitung nicht betätigt waren,
hat der Bediener den Motor bei der maximalen Drehzahl verriegelt,
die Taster losgelassen und einige Zeit später einen Taster betätigt, womit versucht
wurde, den Motor anzuhaften. In dieser Situation hält der Thread
in 342 den Motor an (indem er die Globalregelgröße für die Solldrehzahl
auf null setzt), und gibt in 338 Zeit an das Betriebssystem
zurück.
-
Wenn der Bediener in 344 nur
den Vorwärts- oder
den Rückwärtstaster
oder irgendeine andere Tasterkombination betätigt, ermittelt der Thread
in 346 zunächst,
ob der Motor läuft
(indem er den Wert der globalen Regelgröße für die Motordrehzahl prüft). Wenn
der Motor nicht in Betrieb ist, wird er durch nur eine Tasterbetätigung nicht
in Betrieb gesetzt, somit kehrt der Thread in 338 einfach
zum Betriebssystem zurück.
Wenn der Motor jedoch läuft,
ermitelt der Thread in 348, ob bei der letzten Verarbeitung
eines Fülltastermesswerts
Taster betätigt
waren. Wenn beim letzten Mal Taster betätigt waren, versucht der Bediener,
indem er einen Taster drückt,
einfach nur, den Motor weiterhin bei der vorliegenden Drehzahl laufen
zu lassen. Dementsprechend kehrt der Thread unter diesen Umständen einfach
in 338 zum Betriebssystem zurück und lässt den Motor weiterlaufen.
Wenn jedoch bei der letzten Verarbeitungsoperation keine Taster
betätigt
waren, hat der Bediener den Motor bei einer Höchstdrehzahl verriegelt, die
Taster losgelassen und einige Zeit danach versucht, den Motor anzuhalten,
indem er einen Taster betätigt
hat. Unter diesen Umständen
hält der
Thread dann in 342 den Motor an (indem er die globale Regelgröße für die Solldrehzahl
auf null setzt) und gibt in 338 Zeit an das Betriebssystem
zurück.
-
Wenn in 352 keine Taster
betätigt
sind, ermittelt der Thread in 354 einfach, ob der Motor
bei seiner Veriegelungsdrehzahl arbeitet. Wenn das nicht der Fall
ist, hält
der Thread in 356 den Motor an und gibt Zeit an das Betriebssystem
zurück.
Ansonsten kehrt der Thread in 338 unmittelbar zurück und lässt den Motor
bei der Verriegelungsdrehzahl weiterarbeiten.
-
Eine Kolbenbewegung kann, wie aus 7G hervorgeht, von Hand
auch dadurch hervorgerufen werden, dass der am hinteren Ende des
Antriebs- und Steuerteils vorgesehene Drehknopf 163 für Handsteuerung
(5) betätigt wird.
Vorstehend wurde bereits beschrieben, dass die CPU 160 des Antriebs-
und Steuerteils Bewegungen des Handdrehknopfs regelmäßig an die
CPU 52 des Netzteils meldet. Aus dieser Meldung geht die
Bewegungsrichtung und die Zahl der elektrischen Impulse hervor,
die seit der letzten Meldung von dem Drehknopf empfangen wurden
(wobei mehre Impulse eine größere Drehzahl
anzeigen). Wenn in 316 eine Nachricht von dem Handdrehknopf
eingegangen ist, errechnet der Empfangs-Thread des Antriebs- und Steuerteils
in 340 zunächst
aus der in der Nachricht angegebenen Impulszahl eine Sollgeschwindigkeit des
Kolbens und errechnet dann in 342 aus der Zahl der Impulse
und der Drehrichtung des Knopfs einen Sollwert für die Endposition. Diese werden
in 344 in globalen Regelgrößen gespeichert, auf die der
Servo-Thread wie
vorstehend beschrieben zugreifen kann. Wenn der Motor nicht bereits
läuft, übermittelt der
Empfangs-Thread des Antriebs- und Steuerteils weiterhin eine Servostart-Nachricht an den
Servo-Thread. Dann gibt der Thread in 346 Zeit an das Betriebssystem
zurück.
-
Es ist klar, dass an der vorstehend
beschriebenen spezifischen Ausführungsart
verschiedene Änderungen
und Veränderungen
vorgenommen werden können.
-
Beispielsweise kann der Drehknopf 163 für die Bewegung
des Kolbens von Hand durch ein beliebiges anderes Bedienelement
ersetzt werden, das eine Steuerung der Geschwindigkeit und der Richtung
gestattet, zum Beispiel durch einen Taster oder einen Knebel, die
in mehrere Stellungen gedreht bzw. gedrückt werden können, die
verschiedenen Bewegungsgeschwindigkeiten und Bewegungsrichtungen entsprechen,
oder durch eine Gruppe von Tastern oder Drehknöpfen, die es dem Bediener gestatten, mit
einem Taster oder Drehknopf eine Sollgeschwindigkeit und mit einem
anderen Taster oder Drehknopf eine gewünschte Richtung zu wählen.
-
FIGUREN
-
3 – Seite
3/11
- 52
- CPU
- 55
- Adresszwischenspeicher
- 57
- Datenzwischenspeicher
- 58
- Programm-EPROM
- 60
- Sprach-EPROM
- 62
- EEPROM
- 64
- RAM
- 68
- UART
Nr. 2
- 70
- Schnittstelle
Antriebs- und Steuerteil
- 72
- Hilfsschnittstelle
für Eingaben/Ausgaben
- 74
- Schnittstelle
- 78
- Schnittstelle
Tastatur
- 80
- Potenzialfreie
Schnittstelle Handschalter
- 84
- A/D
- 86
- UART
Nr. 1
- 86
- D/A
- 92
- Steuerung
Druckbegrenzung
- 94
- Servosteuerung
- 96
- Druckerfassung
- 106
- Energieeinspeisungen
- 110
- Fernbetätigung Ein/Aus
-
4 –Seite 4/11
- 120
- CPU
- 122
- Adressen
- 124
- Daten
- 126
- Programm-ROM
- 128
- Font-ROM
- 130
- RAM
- 132
- batteriegepufferter
RAM
- 134
- Bildschirmsteuerung
- 136
- Adresszwischenspeicher
- 138
- Datenzwischenspeicher
- 140
- DRAM
- 142
- Bildschirmanzeige
- 144
- Schnittstelle
Tastatur
- 148
- Schnittstelle
RS-422
- 150
- Steuerung
für Lautsprecher
- 154
- Energieeinspeisungen
- 156
- Wandler
- KEYBOARD
- Tastatur
-
5 – Seite
5/11
- 98
- Motor
- 160
- Hauptleiterplatte
- 162
- Tastenfeld
- 164
- Getriebe
- 166
- Drehgeber
- 170
- lineares
Poti
- 172
- Hall-Geber – Frontplatte
geschlossen
- 174
- Hall-Geber – Spritzengröße
- 176
- Heizdecke
- POWER
UP
- Energie – Sendeaufruf
ohne Folgenummer
-
6A – Seite
6/11
-
- BEREICH 208 Protokollspeicher
Brust Abdomen
Abdomen
PI
Leber
Serio Vascul
- BEREICH 210 Serio Vascul
Phase Mengenstrom (ml/s)
Volumen (ml) Injektionsverzögerung
(s)
- 203 Protokoll
- 204 Max. Druck (200 psi = 1,4 MPa)
- 206 CT
- BEREICH 212 Freigabe
Voriges Protokoll
Nächstes Protokoll
Werte ändern
Leitbedientafel
Protokollmanager
-
6B – Seite
6/11
-
- BEREICH 214 Wurde die gesamte Luft aus der XXX-ml-Spritze
und der Röhre
entfernt?)
- BEREICH 212 Ja – Nein
Die
restlichen Bereiche des Bildschirms sind identisch mit 6A
-
6C – Seite
7/11
-
- BEREICH 208 Bereit zur Injektion
Erwartete
Dauer: 0:15
- BEREICH 212 Start
Auto-Freigabe
Abbrechen
Die
restlichen Bereiche des Bildschirms sind identisch mit 6A
-
6D – Seite
7/11
-
- BEREICH 208 Vorgang eingeleitet
Injektionszeit:
0:06
Verabreichte Menge: 12
- BEREICH 212 8 × Stop
(für alle
8 Taster)
Die restlichen Bereiche des Bildschirms sind identisch
mit 6A
-
6E – Seite
8/11
-
- Leitbedienfeld
- 220
- Druckbegrenzung – (100 psi
= 0,7 MPa)
- 222
- Sprache
Englisch
- 226
- Zeit
- 232
- Werden
vorgefüllte
Spritzen mit Teilfüllmenge eingesetzt? – JA
- 228
- Datum:
2. Aug. 93
- 230
- Eingetragener
Name
-
- BEREICH 212 Ja
Nein
Abbrechen
-
6F – Seite
8111
-
Taste betätigen, die der Größe der vorgefüllten Spritze
entspricht Darunter liegende Bereiche des Bildschirms identisch
mit 6A
-
7A – Seite
5/11
- 240
- Energie – Sendeaufruf
ohne Folgenummer
- 242
- Hardware
und Software initialisieren
- 244
- Energie – Sendeaufruf
ohne Folgenummer – Diagnostik
- 246
- Gerätezustand
- 248
- Übertragung
Konsole 1
- 250
- Übertragung
Konsole 2
- 252
- Übertragung
Antriebs- und Steuerteil
- 254
- Servo
- 256
- Empfang
Konsole 1
- 258
- Empfang
Konsole 2
- 260
- Empfang
Antriebs- und Steuerteil
-
7B -
Seite 9/11
- 246
- Gerätezustand
- 270
- Nachricht
eingegangen?
- 272
- Zurück
- 274
- Übergang
zu einem neuen Zustand für
betätigten
Taster
- 276
- Bildschirm
zur Wiedergabe des neuen Zustands ändern (wenn erforderlich)
- 278
- Nachrichten
an Folgeregelung senden (nach Bedarf) und neuen Zielort
-
- speichern
- 280
- Zurück
-
7C -
Seite 9/11
- 254
- Folgeregelung
- 282
- Nachricht
,Folgeregelung starten' eingegangen?
- 284
- Zurück
- 286
- Motor
starten, damit Sollstellung bei Sollgeschwindigkeit angefahren wird.
- 288
- Hat
der Kolben die Sollstellung erreicht?
- 290
- Stopp
und zurück
- 292
- Ist
die gemessene Geschwindigkeit richtig?
- 294
- Motorspannung
korrigieren
- 296
- Drei
Zeitscheiben (21 ms) einräumen.
-
7D -
Seite 10/11
- 300
- Interrupt
für Zählung eingegangen?
- 302
- Seit
der letzten Zählung
vergangene Zeit ausrechnen
- 304
- Kolbengeschwindigkeit
berechnen
- 306
- Geschwindigkeit
in globaler Regelgröße speichern
- 308
- Erledigt
-
7E -
Seite 10/11
- 260
- Empfang
Antriebs- und Steuerteil
- 310
- Nachricht
eingegangen?
- 312
- Zurück
- 312
- Welche
Nachricht?
- 314
- Fehler
- 316
- Handdrehknopf
- 318
- Lineares
Potenziometer
- 320
- Fülltaster
- 322
- Ein/Aus-Taster
- 324
- Messwert
in entsprechendes Volumen umrechnen
- 326
- Verschiebung
für Füllstoffelement
abziehen und speichern
- 328
- Zurück
-
7F -
Seite 11/11
- 320
- Fülltaster
- 330
- Welche
Taster sind betätigt?
- 332
- Schnellvorlauf
vorwärts/rückwärts
- 334
- Verriegelungsdrehzahl
erreich?
- 336
- Drehzahl
erhöhen
- 338
- Zurück
- 340
- Waren
letztes Mal Taster betätigt?
- 342
- Bewegung
stoppen
- 344
- Vorwärts/Rückwärts/Anderer
- 346
- Läuft der
Motor?
- 348
- Waren
letztes Mal Taster betätigt?
- 350
- Bewegung
stoppen
- 352
- Keine
Taster betätigt
- 354
- Verriegelungsdrehzahl
erreich?
- 356
- Bewegung
stoppen
-
7G – Seite
11/11
- 316
- Handdrehknopf
- 340
- Drehzahl
aus Anzahl der empfangenen Zählungen
errechnen
- 342
- Endstellung
errechnen
- 344
- Sollstellung
und -drehzahl speichern
- 346
- Zurück