-
Die vorliegende Erfindung betrifft eine Mikroskopsteuerungseinheit mit Ein- und Ausgängen, welche mit einer oder mehreren elektrisch ansteuerbaren Mikroskopkomponenten oder anderen elektrisch ansteuerbaren Komponenten verbindbar sind, und ein automatisiertes Mikroskopsystem mit einer solchen Mikroskopsteuerungseinheit sowie ein Verfahren zum Betreiben einer solchen Mikroskopsteuerungs einheit.
-
Stand der Technik
-
Als automatisierte Mikroskope werden üblicherweise Mikroskope mit einer oder mehreren elektrisch ansteuerbaren Komponenten bezeichnet, bei denen beispielsweise eine Digitalkamera als Detektor fungiert und die Bilder auf einem Monitor angezeigt werden oder beispielsweise die Lichtquelle ansteuerbar ist. Dabei kann es sich auch um ein Digitalmikroskop handeln, welches sich dadurch auszeichnet, dass es auf einen Tubus für einen visuellen Einblick auf das Mikroskopbild verzichtet und ausschließlich ein digitales Mikroskopbild erzeugt und dieses auf einem Display oder Monitor anzeigt.
-
Solche automatisierten Mikroskope verfügen in der Regel über eine Mikroskopsteuerungseinheit, welche eine Elektronik-Einheit und ein Steuerprogramm, die sogenannte Firmware, umfasst. In der Firmware muss für jede Mikroskopkomponente, die elektrisch ansteuerbar sein soll, ein Programmteil vorhanden sein. Dies betrifft beispielweise Komponenten wie Kamera, x/y-Tisch, Zoom, Beleuchtung usw. Wenn weitere ansteuerbare Komponenten mit dem Mikroskop verbunden werden sollen, muss jeweils die Firmware geändert und nachträglich auf bereits vorhandenen Mikroskopen geändert werden. Die Mikroskopsteuerungseinheit kann dabei mit Eingabegeräten, wie z.B. Drehknöpfen, Schaltern oder Touchscreens, aber auch mit einer Benutzeroberfläche auf herkömmlichen PCs, die mittels sogenannter Mensch-Maschine-Schnittstelle (engl. HMI-Software für human machine interface) abläuft, in Verbindung stehen.
-
Beispielsweise zeigt die
DE 10 2010 063 392 A1 ein Digitalmikroskop, das auf einen visuellen Einblick verzichtet, und mit einer zur optischen und digitalen Erfassung eines Objekts unter Erzeugung eines Objektbildes eingerichteten Bilderfassungseinrichtung und mit einem zur Anzeige des Objektbildes in einem Anzeigebereich und zur Erfassung von Eingaben in dem Anzeigebereich ausgebildeten Sensorbildschirm ausgerüstet ist, wobei das Mikroskop zur Veränderung von Einstellungen von motorisierten und/oder elektrisch steuerbaren Mikroskopkomponenten am Mikroskop auf Grundlage der in dem Anzeigebereich des Sensorbildschirms erfassten Eingaben eingerichtet ist.
-
Insbesondere moderne Mikroskopsysteme verfügen über eine Mikroskopsteuerungseinheit, damit verbundene elektrisch ansteuerbare Mikroskopkomponenten und einen Computer (PC) zur Bedienung. Der PC kann dabei in Grenzen auch dazu genutzt werden, in einer Software dem Benutzer zur Auswahl automatisierte Abläufe und Randbedingungen anzubieten, welche dann von der Mikroskopsteuerungseinheit ausgeführt werden. Abläufe, die nicht angeboten werden, können demzufolge nicht ausgeführt werden.
-
Es ist wünschenswert, diese Grenzen in den vorgegebenen automatisierten Abläufen aufzubrechen und beliebige elektrisch ansteuerbare Komponenten mittels der Mikroskopsteuerungseinheit nutzbar zu machen.
-
Offenbarung der Erfindung
-
Erfindungsgemäß werden eine Mikroskopsteuerungseinheit mit Ein- und Ausgängen, die mit einer oder mehreren elektrisch ansteuerbaren Mikroskopkomponenten oder anderen elektrisch ansteuerbaren Komponenten verbindbar sind, ein Mikroskopsystem mit einer solchen Mikroskopsteuerungseinheit und ein Verfahren zum Betreiben einer solchen Mikroskopsteuerungseinheit mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Im Rahmen der Erfindung wird eine Mikroskopsteuerungseinheit mit Ein- und Ausgängen, die mit einer oder mehreren elektrisch ansteuerbaren Mikroskopkomponenten oder anderen elektrisch ansteuerbaren Komponenten verbindbar sind, vorgestellt, wobei auf der Mikroskopsteuerungseinheit mindestens ein Script mit Scriptbefehlen gespeichert ist, und wobei diesen Scriptbefehlen auswählbare Funktionen der Ein- und Ausgänge zugeordnet sind. Eine erfindungsgemäße Mikroskopsteuerungseinheit hat den Vorteil, dass die Ein- und Ausgänge für den Anwender zur freien Verwendung zur Verfügung stehen.
-
Frei bedeutet insbesondere, dass die betreffenden Ein- und Ausgänge keinem vorbestimmten Zweck dienen, sondern zweckfrei verwendbar und insbesondere auch in ihrer Funktion bzw. ihrem Protokoll frei definierbar sind, so dass mittels entsprechender Scriptbefehle gezielt Ein- und Ausgänge in einer zuvor definierten Weise verwendet werden können. Auf diese Weise können insbesondere beliebige elektrisch ansteuerbare Mikroskopkomponenten oder andere im Zusammenhang mit dem Mikroskop betriebene Komponenten von der Mikroskopsteuerungseinheit beim Ausführen des Scripts angesteuert werden.
-
So kann die Mikroskopsteuerungseinheit beispielsweise dazu eingerichtet sein, mittels der Scriptbefehle über die Ein- und Ausgänge eine beliebige Kombination einer oder mehrerer der nachfolgend genannten elektrisch ansteuerbaren Mikroskopkomponenten anzusteuern:
- - einen motorisierter XY-Tisch,
- - einen motorisierter Z-Trieb zur Verstellung des Abstandes zwischen einem Objektiv und einer Probe,
- - eine motorisierte Drehscheibe mit optischen Komponenten, beispielsweise eine Auflicht-Drehscheibe (engl.: IL Turret) mit mehreren wahlweise in den Strahlengang des Mikroskops einfügbaren Fluorenzfilter-Würfeln,
- - eine elektrisch schaltbare Lichtquelle,
- - einen Laser
- - einen akustooptischen Strahlteiler (AOBS)
- - einen akustooptischen Modulator (AOM)
- - eine Digitalkamera,
- - einen Detektor, beispielsweise einen Hybriddetektor oder einen PhotoMultiplier.
-
Alternativ oder zusätzlich kann die Mikroskopsteuerungseinheit dazu eingerichtet sein, mittels der Scriptbefehle die Ein- und Ausgänge anderer elektrisch ansteuerbarer Komponenten anzusteuern. Hierbei sind elektrisch ansteuerbare Komponenten denkbar, die im Zusammenhang mit dem Mikroskop und einem damit durchgeführten Versuch betrieben werden können. So kann der Versuchsaufbau um das Mikroskop herum beispielweise eine ansteuerbare Klimakammer oder eine Wasserzufuhr- oder Ableitung oder eine Gaszufuhr oder Gasableitung (z.B. Evakuierung auf einen bestimmten Unterdruck) erfordern. In diesem Fall könnten beispielsweise eine elektrisch ansteuerbare Wasserpumpe oder Gaspumpe oder Vakuumpumpe oder eine elektrisch ansteuerbare Klimaregelungseinheit von der Mikroskopsteuerungseinheit gesteuert werden.
-
Die Erfindung bietet den Vorteil, dass der Benutzer des Mikroskops selbst auswählen kann, welche elektrisch ansteuerbaren Komponenten er am Mikroskop verwenden und ankoppeln will. Diese freie Konfiguration des Mikroskops mit quasi neu an das Mikroskop adaptierten Mikroskopkomponenten und die Ansteuerung dieser Mikroskopkomponenten erfolgt unabhängig davon, ob diese zum Herstellungszeitpunkt des Mikroskops bereits bekannt waren oder von der Firmware des Herstellers der Mikroskopsteuerungseinheit routinemäßig unterstützt werden oder nicht. Ein Nachteil früherer Lösung liegt nämlich darin, dass jede anzusteuernde Komponente fest in der Mikroskopsteuerungseinheit implementiert sein musste. So zog jede kleinste Erweiterung des Versuchsaufbaus durch eine neu genutzte, elektrisch anzusteuernde Komponente eine Veränderung der Mikroskopsteuerungseinheit nach sich. Zum Beispiel erforderte ein neuer Kameratyp mit neuem Triggerverhalten zwangsläufig eine werksseitige Änderung an der Mikroskopsteuerungseinheit.
-
Im Unterschied zu herkömmlichen Mikroskopsystemen können somit im Rahmen von auf der Mikroskopsteuerungseinheit ablaufenden Scripten nicht mehr nur vorbestimmte Mikroskopkomponenten, sondern beliebige, neu hinzugefügte Mikroskopkomponenten oder andere Komponenten im Programmablauf benutzt werden, sofern sie mittels der Ein- und Ausgänge der Mikroskopsteuerungseinheit ansteuerbar sind.
-
In einer vorteilhaften Ausführungsform ist die Mikroskopsteuerungseinheit dazu eingerichtet, Scriptbefehle eines vorbestimmten Scriptbefehlssatzes verarbeiten zu können. Dies erleichtert die spätere Programmierung durch einen Benutzer. Vorzugsweise enthält der Scriptbefehlssatz auch Scriptbefehle, denen keine Funktionen der Ein- und Ausgänge, sondern andere Funktionen, insbesondere Programmflussoperationen (wie Warten, Wiederholen, Schleifen usw.), Rechenoperationen (wie Addieren, Multiplizieren usw.) usw., zugeordnet sind.
-
In einer weiteren vorteilhaften Ausführungsform der Mikroskopsteuerungseinheit sind von einem Benutzer die Scriptbefehle des mindestens einen Scripts aus dem Scriptbefehlssatz auswählbar, und deren Abfolge im Script ist von dem Benutzer vorgebbar. Mit anderen Worten kann der Benutzer das Script unter Verwendung des Befehlssatzes im Wesentlichen frei gestalten.
-
In einer weiteren Ausführungsform ist die Mikroskopsteuerungseinheit dazu eingerichtet, datenübertragend mit einem Benutzer-Interface verbunden zu werden, über welches von dem Benutzer die Scriptbefehle des mindestens einen Scripts aus dem Scriptbefehlssatz auswählbar sind und über welches deren Abfolge im Script von dem Benutzer vorgebbar ist.
-
Hierzu kann die Mikroskopsteuerungseinheit dergestalt ausgebildet sein, dass das Benutzer-Interface als eine hardware-basierte Eingabe-Einheit eines Programmiergeräts ausgebildet ist.
-
In einer anderen Ausgestaltung der Mikroskopsteuerungseinheit kann vorgesehen sein, dass das Benutzer-Interface als eine Benutzeroberfläche eines auf einer separaten Recheneinheit, insbesondere PC, laufenden Anwenderprogramms ausgebildet ist. Es kann sich bei dem Anwenderprogramm insbesondere um eine (reine) Programmierumgebung oder um ein Bedienprogramm für das Mikroskopsystem handeln.
-
Hierzu ist die Mikroskopsteuerungseinheit vorzugsweise dazu eingerichtet, mit einem PC datenübertragend verbunden zu werden. Auf dem PC kann insbesondere eine HMI-Software ausgeführt werden, die als Benutzer-Interface dient, indem sie als eine Benutzeroberfläche des Anwenderprogramms ausgebildet ist. Von dort erfolgt das Übermitteln des Scripts auf die Mikroskopsteuerungseinheit, mittels welcher das Mikroskopsystem bedienbar ist. Auf diese Weise wird die Programmierung und/oder Bedienung des Mikroskopsystems sehr komfortabel und einfach. Gleichzeitig kann der PC auch zur Visualisierung, beispielsweise von aufgenommenen Bildern bzw. von beliebigen Messwerten dienen.
-
Nach der Zusammenstellung des Scripts kann dieses auch in einem flüchtigen Speicher, zum Beispiel in einem Cache-Speicher, oder in einem nicht-flüchtigen Speicher des Bedien-PC oder der Mikroskopsteuerungseinheit oder einem externen Speicher oder einem Server gespeichert sein.
-
Eine weitere Variante der Mikroskopsteuerungseinheit kann so ausgestaltet sein, dass das Script als Text-Datei auf die Mikroskopsteuerungseinheit übertragbar ist. Dabei ist es vorteilhaft, wenn das Script in einem Textformat, beispielsweise ASCII, ANSI oder Unicode/UTF, empfangen wird, da dies große Kompatibilität gewährleistet.
-
Vorzugsweise ist die Mikroskopsteuerungseinheit für eine schnelle und anwenderfreundliche Konfiguration der Funktionen ihrer Ein- und Ausgänge ausgebildet, indem ihr ein Steuerprogramm mit einem Interpreter für das Script zugeordnet ist, der die Scriptbefehle in die Funktionen der Ein- und Ausgänge umsetzt. Dies bietet die Möglichkeit, das Script komfortabel in verständlicher bzw. lesbarer Form an die Mikroskopsteuerungseinheit zu übertragen, d.h. als Abfolge von textuellen Scriptbefehlen. Ein Kompilierschritt vor dem Übertragen kann unterbleiben, so dass insbesondere das Programmiergerät nicht zur Kompilierung für unterschiedliche Zielsysteme angepasst sein muss. Diesen Vorteil erzielt man, weil der im Steuerprogramm enthaltene Interpreter nicht Bestandteil des Anwenderprogramms ist.
-
In einer Ausgestaltung der Mikroskopsteuerungseinheit ist das Steuerprogramm in der Mikroskopsteuerungseinheit selbst abgelegt. Alternativ ist das Steuerprogramm in einer Baugruppe außerhalb der Mikroskopsteuerungseinheit abgelegt.
-
In einer weiteren Ausgestaltung der Mikroskopsteuerungseinheit weist diese eine Elektronik-Einheit auf und umfasst das zugeordnete Steuerprogramm mit einem Interpreter für das Script.
-
Die erfindungsgemäße Mikroskopsteuerungseinheit erlaubt nicht nur wesentliche einfachere Anpassungen der Funktionsbelegung ihrer Ein- und Ausgänge an neu adaptierte elektrisch ansteuerbare Mikroskopkomponenten oder andere elektrisch ansteuerbare Komponenten des Versuchsaufbaus. Durch den Wegfall des Kompilierens und den Einsatz des Scripts mit Hilfe des Interpreter sind zusätzlich deutlich höhere Geschwindigkeiten bei der Ansteuerung der Ein-und Ausgänge und der damit verbundenen elektrisch ansteuerbaren Mikroskopkomponenten oder Komponenten realisierbar. Hierzu sind in einer weiteren Ausgestaltung der Mikroskopsteuerungseinheit die Scriptbefehle als Echtzeit-Befehle für die auswählbaren Funktionen der Ein- und Ausgänge umgesetzt.
-
Durch die Auswahl der Scriptbefehle sind eine Vielzahl von Funktionsbelegungen der Ein- und Ausgänge der Mikroskopsteuerungseinheit realisierbar,
So sind beispielsweise für die Mikroskopsteuerungseinheit mittels der Scriptbefehle die Kanaltypen für die Ein- und Ausgänge festlegbar sind.
-
Ebenso ist es möglich, dass in der Mikroskopsteuerungseinheit mittels der Scriptbefehle wenigstens eine Variable und/oder wenigstens ein Befehl und/oder wenigstens ein Script und/oder wenigstens ein Funktionsblock mittels Kanälen zur Verfügung gestellt sind.
-
In der Mikroskopsteuerungseinheit kann vorgesehen sein, dass mittels der Scriptbefehle wenigstens ein Eingang der Ein- und Ausgänge als Analogeingang oder als Digitaleingang konfigurierbar ist und/oder wobei wenigstens ein Eingang der Ein-und Ausgänge ein Analogeingang und/oder wobei wenigstens ein Eingang der Ein-und Ausgänge ein Digitaleingang ist.
-
Ebenso kann in der Mikroskopsteuerungseinheit vorgesehen sein, dass mittels der Scriptbefehle wenigstens ein Ausgang der Ein- und Ausgänge wahlfrei als Analogausgang oder als Digitalausgang konfigurierbar ist und/oder wobei wenigstens ein Ausgang der Ein- und Ausgänge ein Analogausgang und/oder wobei wenigstens ein Ausgang der Ein- und Ausgänge ein Digitalausgang ist.
-
Mit anderen Worten sind also die Eingänge vorzugsweise wahlfrei sowohl als Analogeingänge als auch als Digitaleingänge konfigurierbar. In diesem Sinne handelt es sich um Universaleingänge, deren Verhalten und Funktionsbelegung frei vorgebbar ist. Eine solche Ausführungsform bietet eine große Flexibilität.
-
Alternativ oder zusätzlich können auch spezielle als Analogeingänge und spezielle als Digitaleingänge ausgebildete Eingänge vorhanden und über das Script nutzbar sein. Eine solche Ausführungsform ist einfacher in der Herstellung.
-
Entsprechendes gilt vorzugsweise auch für die Ausgänge. Vorzugsweise sind die Ausgänge wahlfrei sowohl als Analogausgänge als auch als Digitalausgänge konfigurierbar und ihr Verhalten und die Funktionsbelegung frei vorgebbar. Alternativ oder zusätzlich können auch spezielle als Analogausgänge und spezielle als Digitalausgänge ausgebildete Ausgänge vorhanden und über das Script nutzbar sein.
-
Gemäß einer weiteren Ausführungsform liegt zumindest ein Teil der Ein- und Ausgänge in Form von sog. Allzweckeingabe/-ausgabe-Anschlüssen (engl. GPIO - general purpose input/output) vor. Es handelt sich dann um einen Anschluss, dessen Verhalten, unabhängig ob als Eingang oder Ausgang, im Script frei bestimmbar ist. Eine solche Ausführungsform bietet eine große Flexibilität.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Es versteht sich, dass die vorstehend genannten und die nachstehend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Die Erfindung ist anhand eines Ausführungsbeispiels in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.
-
Figurenliste
-
- 1 zeigt schematisch in einem Blockdiagramm ein Mikroskopsystem gemäß einer bevorzugten Ausführungsform der Erfindung.
- 2 zeigt schematisch das Mikroskopsystem aus 1 in einer anderen schematischen Ansicht.
- 3 zeigt schematisch in einem Blockdiagramm einen Ablauf eines beispielhaften Experiments bei Verwendung eines nicht-erfindungsgemäßen Mikroskopsystems.
- 4 zeigt schematisch in einem Blockdiagramm den Ablauf des Experiments bei Verwendung eines Mikroskopsystems gemäß einer bevorzugten Ausführungsform der Erfindung.
-
In den 1 und 2 ist ein Mikroskopsystem gemäß einer bevorzugten Ausführungsform der Erfindung schematisch dargestellt. Das Mikroskopsystem weist eine Mikroskopsteuerungseinheit 100 gemäß einer bevorzugten Ausführungsform der Erfindung mit in einem auf der Mikroskopsteuerungseinheit 100 ablaufenden Script für die Nutzung von frei verwendbaren Ein- und Ausgänge 101 auf, mit welcher eine hier als Bedien-PC 10 ausgestaltete Mensch/Maschinenschnittstelle (HMI) und eine Vielzahl von Mikroskopkomponenten 200, 300 signalübertragend verbunden sind.
-
Die Mikroskopkomponenten lassen sich beispielsweise in interne Mikroskopkomponenten 300 und externe Mikroskopkomponenten 200 unterteilen. Diese Unterteilung ist jedoch für die Erfindung unwesentlich. Die internen Mikroskopkomponenten 300 zeichnen sich dadurch aus, dass sie am oder im Mikroskopchassis 1 montiert sind und als Teil des Mikroskops angesehen werden, wie zum Beispiel eine Auflicht-Drehscheibe (engl.: IL-Turret) 301, ein Z-Trieb 302, ein Objektivrevolver 303 usw., wohingegen als externe Mikroskopkomponenten 200 beispielsweise ein XY-Tisch 201, eine Beleuchtungseinrichtung (ggf. mit Shutter) 202, eine Kamera 203 usw. angesehen werden. Diese können zwar auch am Mikroskopchassis 1 montiert sein, werden jedoch üblicherweise nicht als Teil „des Mikroskops“ angesehen. Soweit die Mikroskopkomponenten 200, 300 je über einen ansteuerbaren Aktor (beispielsweise Elektromotor) verfügen, können sie im Rahmen der Erfindung in einem auf der Mikroskopsteuerungseinheit 100 ablaufenden Script angesteuert werden. Das Script umfasst eine Abfolge von ausgewählten Scriptbefehlen, denen Funktionen der Ein- und Ausgänge der Mikroskopsteuerungseinheit 100 zugeordnet sind. Solche Funktionen umfassen insbesondere Lese- und Schreibefunktionen.
-
Die Ansteuerung dieser Mikroskopkomponenten 200, 300 erfolgt somit über die Mikroskopsteuerungseinheit 100, welche auch als „Mikroskop-Master“ bezeichnet wird. Der Mikroskop-Master kann durch einen Mikrocontroller, DSP (Digitaler Signal Prozessor) oder FPGA (Field Programmable Gate Array) implementiert sein.
-
Komponenten besitzen zum Teil Abhängigkeiten gegenüber anderen Komponenten. Zum Beispiel kann es notwendig sein, dass der Z-Trieb vor dem Bewegen des Objektivrevolvers abgesenkt wird, damit eine Kollision von Objektiven mit dem XY-Tisch unterbunden wird. Die Abhängigkeiten, die zwingend notwendig sind, um die Betriebssicherheit zu gewährleisten, werden als kritische Abhängigkeiten bezeichnet und sind vorzugsweise fest im Mikroskop-Master implementiert. D.h. wenn eine Bewegung des Objektivrevolvers angesteuert wird, steuert der Mikroskop-Master automatisch auch den Z-Trieb entsprechend an. Dies kann ein Absenken des XY-Tischs, anschließendes Drehen des Objektivrevolvers und ggf. anschließendes Anheben des XY-Tisches umfassen.
-
Mit einer Lösung gemäß einer bevorzugten Ausführungsform der Erfindung ist es möglich, die Ansteuerung und Abhängigkeiten aller Komponenten (extern und intern) frei zu konfigurieren. Die Konfiguration erfolgt vorzugsweise über HMI, beispielsweise PC 10, wo die zu verwendenden Schnittstellen zu den anzusteuernden Komponenten deklariert und die Abhängigkeiten der Schnittstellen untereinander konfiguriert werden. Die Konfiguration kann vollständig aber auch in Teilen zur Laufzeit vorgenommen werden.
-
Zur Verwendung der einzelnen Ein- und Ausgänge (Schnittstellen) erhält gemäß der hier beschriebenen bevorzugten Ausführungsform jede Schnittstelle eine eindeutige Nummer, die Kanalnummer. Diese Kanalnummern werden durch entsprechende Scriptbefehle den Eingängen und/oder den Ausgängen der Mikroskopsteuerungseinheit 100 zugewiesen. Insbesondere kann jeder elektrisch ansteuerbaren Mikroskop-Komponente mindestens ein Kanal zugeordnet werden, wobei jeder Kanal in dem Script durch entsprechende Scriptbefehle als Ein- und/oder Ausgang zur sequentiellen oder parallelen Verarbeitung konfiguriert wird.
-
Über die Kanalnummer erfolgt der Zugriff aus dem Script, das als Teil des Steuerprogramms der Mikroskopsteuerungseinheit, also des Mikroskop-Masters 100, ausgebildet ist. Das Script definiert den Programmablauf unter Verwendung von Kanalnummern. Die zur Verfügung stehenden Scriptbefehle sind fest im Mikroskop-Master 100 implementiert, hier vorzugsweise in einem auf dem Steuerprogramm des Mikroskop-Masters 100 laufenden Interpreter, und stellen rudimentäre Anweisungen, beispielsweise ,Schreiben‘, ,Lesen‘, ,Addieren‘ oder ,Multiplizieren‘ dar, welche insbesondere zur Verarbeitung der definierten Kanäle dienen. Der zur Verfügung stehende Satz an Anweisungen wird als Befehlssatz/Instructionset bezeichnet. Beispielsweise kann der Mikroskop-Master dazu eingerichtet sein, einen oder mehrere der folgenden Befehle verarbeiten zu können, denen zum Teil Funktionen der Ein-und Ausgänge der Mikroskopsteuerungseinheit 100 zugeordnet sind.
- - NOP: Keine Operation ausführen. Diese Anweisung erzeugt eine minimale Verzögerung
- - SET CHANNEL: Setzt den Wert eines Kanals.
- - WAIT CHANNEL: Wartet bis der vorgegebene Wert erreicht ist
- - SET CHANNEL CONDITITIONAL: Setzt den Wert eines Kanals wenn eine Bedingung erfüllt ist.
- - COPY CHANNEL VALUE: Kopiert den Wert eines Kanals auf den Wert eines anderen Kanals
- - SET SCRIPT INSTRUCTION: Setzt den Befehlszähler (engl.: Instruction pointer) des Hauptprozessors der Mikroskopsteuerungseinheit 100 auf den vorgegebenen Wert
- - LOOP SCRIPT: Wiederholt das aktuelle Script so oft wie vorgegeben.
- - WAIT TIME: Wartet eine vorgegebene Zeit ab.
- - TIMESTAMP: Erzeugt einen Zeitstempel.
- - ADD CHANNEL: Addiert zwei Kanalwerte und weist das Ergebnis einem Kanal zu.
- - SUB CHANNEL: Subtrahiert zwei Kanalwerte und weist das Ergebnis einem Kanal zu.
-
Die Mikroskopsteuerungseinheit 100, also der Mikroskop-Master, führt Scripte in einem Timer mit zeitlichem Raster aus, wobei das Zeitintervall für das zeitliche Raster frei wählbar ist. Dies bietet eine Echtzeitfähigkeit für das ablaufende Steuerprogramm der Mikroskopsteuerungseinheit 100. Echtzeitsysteme zeichnen sich dadurch aus, dass ein Ergebnis einer Rechenoperation (z.B. Prozess oder Task) innerhalb eines definierten Zeitintervalls garantiert berechnet ist, also vor einer bestimmten Zeitschranke vorliegt. In einem Echtzeitsystem läuft hierzu beispielsweise auf dem Prozessor der Mikroskopsteuerungseinheit 100 ein sog. Echtzeit-Betriebssystem, das die unterschiedlichen Prozesse und Tasks regelt. Es sind auch alternative Lösungen bekannt, die kein Echtzeit-Betriebssystem erfordern. Dies wird zum Beispiel ermöglicht durch die Verwendung von Zustandsmaschinen (engl.: Statemachine) und Interrupts.
-
Die Anzahl der Scripte sowie die Anzahl der darin definierten Scriptbefehle sind gemäß der hier beschriebenen bevorzugten Ausführungsform nicht bzw. nur durch den Speicherplatz der Mikroskopsteuerungseinheit 100, also des Mikroskop-Masters, begrenzt. Weiterhin können Scripte gestartet und gestoppt werden, beispielsweise durch Benutzereingabe von dem PC 10 aus. Auch ist es gemäß der hier beschriebenen bevorzugten Ausführungsform möglich, ein Script von einem anderen Script zu starten. Das Script selbst besitzt ebenfalls ein Interface und eine frei zu definierende Kanalnummer, in Folge dessen kann ein Script wie jeder beliebige andere Kanal mit allen zur Verfügung stehenden Operationen angesehen werden.
-
Vorzugsweise ist die Mikroskopsteuerungseinheit 100 dazu eingerichtet, unterschiedliche Kanaltypen bereitzustellen, wie z.B. einen oder mehrere des Typs ,Variable‘, ,Hardware‘, ,Befehl‘, ,Script‘ und ,Funktionsblock‘. Jeder Instanz eines Kanaltyps wird eine eindeutige Kanalnummer zugeordnet. Nachfolgen werden einige Beispiele und Definitionen erläutert:
- - Variable: Eine Variable kann beschrieben und gelesen werden.
- - Hardware: Ein Hardwarekanal ist ein beliebiger analoger oder digitaler Ein-/ oder Ausgang. Dieser Kanaltyp wird zum Beispiel zum Triggern von externen Komponenten verwendet. Zur Synchronisierung mit einer externen Komponente, zum Beispiel einer Kamera, werden zum Beispiel ein digitaler Eingangshardwarekanal und ein digitaler Ausgangshardwarekanal definiert. Unter Verwendung beider Kanäle lassen sich Triggerbedingungen implementieren.
-
Ein weiteres Beispiel ist das Erzeugen einer beliebigen Ausgangsspannung um damit eine externe Komponente zu steuern, beispielsweise eine Lichtquelle. Der Wert der Ausgangsspannung wird aus einem Script heraus gesetzt.
- - Befehl: Ein Befehl beschreibt eine ASCII-Zeichenfolge zur Kommunikation mit einer Komponente. Die zu verwendende ASCII-Zeichenfolge wird vor der Verwendung definiert und kann einen statischen als auch dynamischen Teil besitzen, wobei der dynamische Teil immer dem Typ ,Variable‘ zugewiesen wird. Der dynamische Anteil kann z.B. zum Setzen der Position einer Komponente verwendet werden.
-
So wird zum Beispiel die Zeichenfolge „76022 position“ verwendet, um die Position des Objektivrevolvers zu setzen. Dabei kann die Position entweder dynamisch oder statisch sein.
-
Beispiel für eine statische Position:
- „76022 1“ => Setzen des Objektivrevolvers auf Position 1
- „76022 2“ => Setzen des Objektivrevolvers auf Position 2
-
Beispiel für eine dynamische Position:
- „76022 position“ => „position“ als Variable. Bei Verwendung des Befehls im Script wird der Wert der Variablen ausgelesen und als Positionsvorgabe übernommen.
- - Script: Ein Script besteht aus einer beliebigen Anzahl an sequentiellen Befehlen zur Verarbeitung von Kanälen.
- - Funktionsblock: Ein Funktionsblock beschreibt die Verknüpfung von Kanälen, wobei die Funktion eine logische, beispielsweise „AND“ oder „OR“ oder arithmetische „ADD“ oder „MULTIPLIER“ sowie fest definierte oder freidefinierbare LUT (Look-Up-Table) sein kann.
-
Zur Durchführung eines beispielhaften Experiments mittels eines auf der Mikroskopsteuerungseinheit 100, dem Mikroskop-Master, ablaufenden Steuerprogramms werden zunächst (während der Programmierung) die zu verwendenden Komponenten und Parameter ausgewählt und die zeitliche Abfolge konfiguriert Die Auswahl und Konfiguration der Scriptbefehle in der gewünschten Reihenfolge, also die Festlegung des Scripts, erfolgt beispielsweise über den PC 10 in einem dafür vorgesehenen Eingabe-Menü. Diese Eingabe-Menü stellt das Benutzer-Interface dar, das als eine Benutzeroberfläche eines Anwenderprogramms ausgebildet ist, mit welcher gewünschte Scriptbefehle aus dem Scriptbefehlssatz ausgewählt und deren Abfolge im Script vorgegeben werden kann.
-
In dem folgenden Beispiel wird der Ablauf eines Experiments aus den Komponenten XY-Tisch 301, Beleuchtung 302 und Kamera 303 gezeigt. Dieser Ablauf wird innerhalb eines Experiments n-mal wiederholt. Der Ablauf umfasst (nach der Konfiguration/Deklaration) beispielsweise die folgenden Schritte:
- 1. Positionierung XY-Tisch
- a) Positionierung starten
- b) Warten bis Positionierung beendet
- 2. Beleuchtungsintensität setzen
- 3. Kamerabelichtung
- a) Shutter öffnen
- b) Triggersignal an Kamera (vorzugsweise zeitgleich mit a), um Jitter zu vermeiden)
- c) Belichtungszeit abwarten
- d) Shutter schließen
- e) Triggersignal an Kamera (vorzugsweise zeitgleich mit d), um Jitter zu vermeiden)
- 4. Warten bis Kamera die Bilddaten an PC übertragen hat
- a) Warten auf Triggersignal von Kamera an Mikroskop-Master
-
Bei einem Verfahren gemäß einer bevorzugten Ausführungsform der Erfindung bedeutet dies, dass das Steuerprogramm nach Maßgabe des Scripts zunächst die zu verwendenden Komponenten XY-Tisch 301, Kamera 303, Beleuchtung 302 mit Shutter deklariert, indem der Interpreter in dem Steuerprogramm das Script in entsprechende (Maschinen-) Befehle an die Ein- und Ausgänge, d.h. in Befehle an die Schnittstellen, umsetzt. Die Schnittstellen bzw. Kanalnummern der Komponenten können zum Beispiel wie folgt aussehen:
- 1. XY-Tisch: Kommando zum Positionieren
- 2. Beleuchtung: Kommando zum Setzen der Intensität
- 3. Shutter: Hardware-I/O am Mikroskop-Master, als Digitalausgang
- 4. Kamera-Belichtung: Hardware-I/O am Mikroskop-Master, als Digitalausgang
- 5. Kamera-Bildübertragung: Hardware-I/O am Mikroskop-Master, als Digitaleingang
- 6. Belichtungszeit: Variable
-
Nachfolgend erstellt der Benutzer am PC über das Benutzer-Interface beispielsweise ein Script mit Anweisungen, um die zeitliche Abfolge zu bearbeiten. Das Script kann wie folgt aussehen:
- 1. SET CH1, Wert 0 => Setzt das Kommando zum XY-Tisch-Positionieren ab
- 2. WAIT CH1, Wert 1 => Wartet darauf, dass das Kommando ausgeführt wurde
- 3. SET CH2, Wert 0 => Setzt das Kommando zum Setzen der Beleuchtungsintensität ab
- 4. WAIT CH2, Wert 1=> Wartet darauf, dass das Kommando ausgeführt wurde
- 5. SET CH3, Wert 1 => Shutter öffnen
- 6. SET CH4, Wert 1 => Kamera-Belichtung starten
- 7. WAIT Time, Wert aus CH6 => Kamera Belichtung, Warten bis Zeit abgelaufen
- 8. SET CH3, Wert 0 => Shutter schließen
- 9. SET CH4, Wert 0 => Kamera-Belichtung stoppen
- 10. WAIT CH5, Wert 1 => Warten bis Kamera-Bildübertragung abgeschlossen
- 11. Loop, 100 => wiederholt die vorherigen Anweisungen 100 mal
-
Im Folgenden wird nun für das oben geschilderte Experiment eine nicht erfindungsgemäße Lösung (3) mit einer Lösung gemäß einer bevorzugten Ausführungsform der Erfindung (4) verglichen.
-
Nicht erfindungsgemäße Lösung
-
Nachteilig an einer solchen Lösung ist, dass in einem auf dem Mikroskop-Master ablaufenden Steuerprogramm kein Zugriff auf bestimmte Mikroskopkomponenten wie z.B. XY-Tischsteuerung, Z-Trieb, IL-Turret möglich ist. Diese müssen durch ein auf dem PC ablaufendes Anwenderprogramm gesteuert werden, so dass insgesamt kein Echtzeitexperiment möglich ist. Die Art und Anzahl der elektrisch ansteuerbaren Komponenten ist dabei durch die vom Hersteller des Mikroskopsystems bzw. der Mikroskopsteuerungseinheit vorgegebene Firmware beschränkt.
-
Start Loop
- 1. PC setzt Kommando zum Verfahren von XY-Tisch an Mikroskop.
- 2. PC wartet auf Ausführungsende
- 3. PC setzt Kommando zum Verfahren von Z-Trieb an Mikroskop.
- 4. PC wartet auf Ausführungsende
- 5. PC setzt Kommando zum Verfahren von IL-Turret an Mikroskop.
- 6. PC wartet auf Ausführungsende
- 7. PC setzt Kommando zum Starten eines Echtzeitexperiments ab.
=> Start von Echtzeitexperiment im Mikroskop.
- a) Mikroskop-Master führt aus
- i) Shutter
- ii) Kamera
- b) Mikroskop-Master Ausführungsende
- 8. PC wartet auf Ausführungsende
Ende Loop
-
Für die Schritte 1-8 wird eine Zeit T benötigt.
-
Lösung gemäß einer bevorzugten Ausführungsform der Erfindung
-
Da die Mikroskopsteuerungseinheit 100, der Mikroskop-Master, dazu eingerichtet ist, ein Script mit Scriptbefehlen auszuführen und mittels des Interpreters im Steuerprogramm der Mikroskopsteuerungseinheit 100 den Scriptbefehlen auswählbare Funktionen der Ein- und Ausgänge zuzuordnen, können nun alle Schritte des Experiments im Rahmen eines auf der Mikroskopsteuerungseinheit 100 ablaufenden Steuerprogramms durchgeführt werden.
-
Der Benutze legt vor dem Experiment das Script mit den Scriptbefehlen für die Zuordnung der Kanäle fest. Das vom Benutzer vorbereitete Script enthält die ausgewählten Scriptbefehle in der ausgewählten Reihenfolge. Durch den Interpreter des Steuerprogramms wird das Script in Befehle zur Festlegung der Kanäle der Ein- und Ausgänge der Mikroskopsteuerungseinheit 100 und somit in Befehle zur Steuerung aller elektrisch ansteuerbaren Komponenten umgesetzt. Damit startet die Ausführung als Echtzeitexperiment.
- 1. PC überträgt das vom Benutzer vorbereitete Script auf die Mikroskopsteuerungseinheit 100, den Mikroskop-Master
- 2. Mikroskop-Master startet Interpreter und Scriptausführung
- 3. Mikroskop-Master startet Interpreter zur Scriptausführung Start Loop
- a) Scriptbefehle steuern Komponenten direkt an
- i) XY-Tisch verfahren
- ii) Z-Trieb verfahren
- iii) Auflicht-Drehscheibe (IL-Turret) verfahren
- iv) Beleuchtung setzen
- v) Kamerabelichtung und Shuttersteuerung
- b) Script meldet an Mikroskop-Master: Ausführungsende
Ende Loop - 4. Rückmeldung an PC entfällt
-
Für die Schritte 1-3 wird eine Zeit T* benötigt, die aufgrund der vorab beschriebenen reduzierten Zuständigkeitswechsel deutlich kürzer als die Zeit T für das nichterfindungsgemäße Experiment ist.
-
Es ist also nicht erforderlich, dass der PC während des Experiments zunächst die Zuordnung der Kanäle für jeden einzelnen Experimentschritt nacheinander berechnet und die einzelnen, aktuellen Befehle nacheinander generiert. So wird jeder nachfolgende Steuerbefehl jeweils erst nach Rückmeldung über die Beendigung des jeweils vorhergehenden Experimentschritts vom PC an die Mikroskopsteuerungseinheit 100 übertragen. Dies führt, technisch gesehen, zu einem ständigen Zuständigkeitswechsel zwischen dem PC und der Mikroskopsteuerungseinheit 100, wodurch Zeit verbraucht wird. Bei Experimenten mit vielen einzelnen Experimentschritten, wie beispielsweise vielen Änderungen der Tischposition in der xy-Ebene, vielen Änderungen der Fokusposition durch Verstellen des z-Triebs und/oder vielen Belichtungszyklen mit Anschalten und Ausschalten der Lichtquelle und entsprechendes Triggern der Aufnahmezeiten der Kamera, addiert sich dies zu einem erheblichen Zeitverlust auf.
-
In der erfindungsgemäßen Mikroskopsteuerungseinheit 100 stehen durch das vor dem Experiment durch den Benutzer frei konfigurierbare Script nunmehr die Befehle in Form der Scriptbefehle in Echtzeit der Mikroskopsteuerungseinheit 100 und damit dem Mikroskopsystem zur Verfügung. Dies führt zu einem deutlich schnelleren Ablauf des Experiments. Durch das Bereitstellen eines Scripts außerhalb der Firmware kann der Benutzer darüber hinaus beliebige elektrisch ansteuerbare Komponenten in sein Experiment integrieren.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- DE 102010063392 A1 [0004]