-
Hintergrund der Erfindung:
-
Die
vorliegende Erfindung betrifft das Gebiet des Systemdesigns und
der dezentralisierten Softwareprogrammierung und -Anwendung, und
insbesondere ein System und ein Verfahren, um es einem Anwender
zu erlauben, leichter verteilte Systeme und/oder Anwendungen unter
Verwendung eines Konfigurationsdiagramms zu spezifizieren oder zu erzeugen.
Die vorliegende Erfindung betrifft weiter Techniken zur graphischen
Verteilung oder Anwendung von Programmen unter einer Mehrzahl von
unterschiedlichen Einrichtungen oder Knoten in einem verteilten
System.
-
Beschreibung des Standes der Technik:
-
Mit
dem Aufkommen von vernetzten Computersystemen kam ein Trend bei
der Computersoftware auf, mehr verteilte Softwareanwendungen bereitzustellen.
Zum Beispiel versuchen in einigen Gebieten Entwickler Softwareanwendungen
unter zwei oder mehr Knoten oder Computersystemen in einem Netzwerk
zu verteilen, wobei die Anwendung eine Mehrzahl von unterschiedlichen
Softwareprogrammen umfassen kann, die auf einer Mehrzahl von unterschiedlichen
Computersystemen ausgeführt
werden.
-
Mess-
und Automatisierungssysteme entwickeln sich zu computerbasierten
Systemen, in denen ein Computersystem einen großen Anteil der Verarbeitung,
Analyse oder Steuerung für
Mess- und Automatisierungsanwendungen durchführt. Mess- und Automatisierungssysteme
entwickeln sich außerdem zu
netzwerkbasierten oder verteilten Systemen (distributed systems),
bei denen eine Mehrzahl von netzwerkbasierten Einrichtungen zusammen
arbeiten, um eine gewünschte
Messung und/oder Automatisierungsfunktion auszuführen. Verschiedene neue intelligente
Einrichtungen treten ebenfalls in Mess- und Automatisierungssystemen
neuerdings in Erscheinung, wie z. B. intelligente Sensoren, intelligente
Kameras, intelligente Bewegungssteuerungseinrichtungen, intelligente
Einrichtungen zur verteilten Datensammlung, computerbasierte Instrumentenkarten, PXI
und VXI Systeme, die intelligente Steuerungen oder konfigurierbare
Einrichtungen umfassen können,
reprogrammierbare Logiksteuerungen (reprogrammable logic controllers,
PLCs), etc.
-
Computerbasierte
Mess- und Automatisierungssysteme, welche intelligente Einrichtungen
verwenden, werden verstärkt
gewünscht
im Hinblick auf die erhöhte
Komplexität
von Mess- und Automatisierungsaufgaben, und im Hinblick auf die
Vielzahl von intelligenten oder programmierbaren Instrumenten und
Einrichtungen, die für
Anwendungen verfügbar sind.
Allerdings ist es aufgrund der breiten Vielzahl von möglichen
Test- und Steuersituationen und -Umgebungen, und auch aufgrund der
breiten Streuung von Instrumenten oder verfügbaren Einrichtungen, es häufig für einen
Anwender notwendig, maßgefertigte
Programme zu entwickeln, um ein gewünschtes System zu steuern.
-
Zunehmend
wird von Computer erwartet, dass sie von Personen verwendet und
programmiert werden können,
die keine hoch spezialisierte Ausbildung in Computerprogrammiertechniken
haben. Dies ist insbesondere in der Mess- und Automatisierungstechnik
der Fall, wo häufig
von Ingenieuren erwartet wird, eine Test-, Mess- oder Automatisierungsanwendung
zu entwickeln, um ein bestimmtes Ziel zu erreichen. Als ein Ergebnis
ist es in vielen Fällen
für einen Anwender
extrem schwierig, in der Lage zu sein, verschiedene Computerprogramme
zu erzeugen und diese Programme und Einrichtungen in einem verteilten
System zu verteilen.
-
Die
Software LabVIEW von National Instruments Corporation, wie sie z.
B. in dem LabVIEW User Manual von Juli 2000 und in dem LabVIEW Real
Time User Manual von April 2001 beschrieben ist, unterstützt den
Anwender bei diesen Aufgaben, in dem Programm-Piktogramme und Einrichtungs-Piktogramme
verwen det werden. Es ist jedoch immer noch wünschenswert in der Lage zu
sein, einem Anwender oder Entwickler die Fähigkeit bereit zu stellen,
einfach Anwendungen unter verschiedenen Komponenten in einem verteilten
System erzeugen, verteilen und/oder anwenden zu können.
-
Zusammenfassung der Erfindung:
-
Gemäß der Erfindung
wird ein Verfahren zur Anwendung eines Programms in einem System
gemäß dem unabhängigen Anspruch
1 bereitgestellt. Bevorzugte Ausführungsformen sind in den abhängigen Ansprüchen definiert.
-
Eine
Ausführungsform
umfasst ein System und ein Verfahren zur Erzeugung und Anwendung von
Konfigurationsdiagrammen zum Konfigurieren von Systemen. Die hierin
beschriebenen Verfahren können
für verschiedene
Arten von Anwendungen beim Konfigurieren, Managen und Spezifizieren
von Systemen und Einrichtungen verwendet werden, inklusive dem Erzeugen
von Programmen, dem Managen von Programmen in dem System, dem Einsetzen von
Programmen in verschiedene verteilte Einrichtungen, der Konfiguration
von fernausgelösten
Ausführungen
oder dem Zusammenwirken von verteilten Programmen und dem Ausüben von
verteilten Anwendungen. Ausführungsformen
können
auch für
die Einrichtungskonfiguration verwendet werden, die Datenverteilung
zwischen oder unter Einrichtungen, die System- und I/O-Konfiguration,
die Datenspeicherung/Management und zum Debuggen und der Leistungsanalyse.
Ausführungsformen
können
graphische, piktogrammbasierte Techniken zur Durchführung der
obigen Handlungen verwenden.
-
In
einer Ausführungsform
kann der Anwender ein Konfigurationsdiagramm auf einem Computersystem
(z. B. dem „Haupt" Computersystem),
erzeugen oder zusammensetzen, welches ein System, wie z. B. ein
verteiltes System, darstellt. Das Konfigurationsdiagramm kann Einrichtungs-Piktogramme umfassen,
die Einrichtungen in dem System repräsentieren. Die Einrichtungs-Piktogramme
weisen vor zugsweise ein Aussehen auf, welches der Einrichtung entspricht,
das sie repräsentieren.
Dies erlaubt es dem Betrachter leicht zu sehen und zu erkennen, welche
Einrichtungen in dem System vorhanden sind. Somit kann das Konfigurationsdiagramm
in einem System, welches zwei oder mehr Einrichtungen miteinander
koppelt, wie beispielsweise durch ein Netzwerk, eine serielle oder
parallele Schnittstelle, oder durch drahtlose Mittel etc., ein Einrichtungs-Piktogramm
für jede
der in dem System vorhandenen Einrichtungen umfassen. Der Anwender
kann zumindest teilweise das Konfigurationsdiagramm erzeugen oder
zusammensetzen, oder das Konfigurationsdiagramm kann zumindest teilweise
automatisch oder mittels Programmen erzeugt werden, oder auch beides.
-
Eine
oder mehrere der Einrichtungs-Piktogramme können auch Informationen speichern,
die ihrer jeweiligen Einrichtung zugeordnet sind, wie z. B. Informationen
hinsichtlich der I/O Kanäle,
Datenpunkte, der aktuellen Konfiguration, Kalibrierungsinformationen,
etc. Der Anwender kann ein Einrichtungs-Piktogramm auswählen um
I/O Kanäle,
Datenpunkte und/oder andere Informationen oder Elemente, die der
Einrichtung zugeordnet sind, zu konfigurieren oder anzuschauen.
-
Das
Konfigurationsdiagramm kann Verbindungen zwischen den Einrichtungs-Piktogrammen anzeigen.
Die angezeigten Verbindungen können Koppelungen
zwischen der Mehrzahl von Einrichtungen entsprechen. In einer Ausführungsform
weisen die angezeigten Verbindungen zwischen jeweiligen Einrichtungs-Piktogrammen ein
Aussehen auf, um visuell den Verbindungstyp zwischen den Einrichtungen
anzuzeigen, welche den jeweiligen Einrichtungs-Piktogrammen entsprechen.
Zum Beispiel können
die angezeigten Verbindungen ein Aussehen haben, das hinsichtlich
einem oder mehreren der Merkmale Farbe, Größe oder Schattierung variiert, um
den Verbindungstyp zwischen den Einrichtungen anzuzeigen. Das Aussehen
der jeweiligen Verbindungen kann anzeigen, ob die Verbindung eine
Netzwerkverbindung ist, eine interne Busverbindung, eine externe
parallele Busverbindung, eine externe serielle Busverbindung (wie
z. B. USB oder IEEE 1394) oder eine drahtlose Verbindung ist. Bei
einem Messsystem kann das Aussehen die jeweilige Verbindung unter
GPIB, PXI, VXI und anderen Arten von Messbustypen anzeigen. Das
Aussehen der jeweiligen Verbindungen kann auch, oder stattdessen,
die Art von Daten- oder Materialfluss zwischen den Einrichtungen
anzeigen. In einer weiteren Ausführungsform kann
das Konfigurationsdiagramm Beschriftungen umfassen, die nahe an
den Verbindungen angezeigt werden, um visuell Verbindungsarten anzuzeigen. Die
angezeigten Verbindungen oder die angezeigten Informationen können auch
dazu dienen, Verkabelungs- oder Verbindungsanforderungen anzuzeigen, oder
Verkabelungs- oder Verbindungstypen zwischen Einrichtungen zu empfehlen.
-
Das
Konfigurationsdiagramm kann auch Programm-Piktogramme anzeigen,
die Programmen entsprechen, die in dem System vorhanden sind, wie z.
B. Programme, die in den verschiedenen Einrichtungen angesiedelt
sind, oder Programme, die für den
Einsatz in den verschiedenen Einrichtungen verfügbar sind. Die Programm-Piktogramme
können
zugeordnet zu oder nahe zu den jeweiligen Einrichtungs-Piktogrammen
angezeigt werden, die den jeweiligen Einrichtungen entsprechen,
in denen die Programme angesiedelt sind. Der Anwender kann auch
zumindest ein oder mehrere Programme erzeugen, die eine gewünschte Funktion
innerhalb des Systems ausüben.
Zum Beispiel kann der Anwender ein Programm erzeugen (oder ein existierendes
Programm auswählen),
ein Programm-Piktogramm für das
Programm erzeugen, falls notwendig, und symbolhaft das Programm-Piktogramm einer
Einrichtung zuordnen. Wie unten beschrieben kann der Anwender unter
Verwendung des Konfigurationsdiagramms Programme erzeugen oder modifizieren.
Die Programm-Piktogramme können
mit Verbindungen angezeigt werden, um sichtbar ihre Beziehungen
anzuzeigen, wie beispielsweise ihre Aufrufbeziehungen (wie z. B.
Anrufer/Angerufener). Somit kann das Konfigurationsdiagramm eine
symbolische Beziehungsansicht der verschiedenen Programme anzeigen,
die innerhalb des Systems vorhanden sind. Die symbolische Beziehungsansicht
kann eine objektorientierte Ansicht umfassen, eine hierarchische
Ansicht, eine Baumstrukturansicht, eine Datenflussansicht, eine Ausführungs flussansicht,
eine Steuerungsflussansicht oder Kombinationen davon. Somit kann
das System in dem Fall eines Programms, welches als eine Hierarchie
von einem Hauptprogramm und einem oder mehrerer Unterprogramme konfiguriert
ist, eine Hierarchieansicht anzeigen, die ein Piktogramm umfasst,
welches das Hauptprogramm darstellt und ein Piktogramm, welches
jedes von dem einen oder mehreren Unterprogrammen darstellt, wobei
die Piktogramme so angeordnet und/oder gezeigt sind, wie sie in
der jeweiligen Hierarchie verbunden sind. In dem Fall einer Mehrzahl
von Softwareobjekten, die konfiguriert sind, um gegenseitig Verfahren
aufzurufen und Ereignisse auszulösen,
kann das System eine objektorientierte Ansicht zeigen, die ein Piktogramm
umfasst, welches jedes der Programme darstellt und möglicherweise
Verbindungen, die das Aufrufen des Verfahrens und/oder das Mitteilen
von Ereignissen anzeigen. In dem Fall eines graphischen Programms,
welches als eine Hierarchie eines graphischen Hauptprogramms und
eines oder mehrerer graphischen Unterprogramme konfiguriert ist
(wie z. B. ein Haupt-VI und ein oder mehrere Unter-VIs) kann das
System eine hierarchische Ansicht zeigen, die ein Piktogramm umfasst,
welches das graphische Hauptprogramm repräsentiert, ein Piktogramm, welches
jedes von der ein- oder mehreren graphischen Unterprogramme repräsentiert,
und Verbindungen zwischen den Programm-Piktogrammen, die visuell die
Hierarchie anzeigen.
-
Die
symbolische Beziehungsansicht der verschiedenen Softwareprogramme
kann in dem Konfigurationsdiagramm angezeigt werden, oder in einem separaten
Fenster an der Anzeige dargestellt werden. In einer Ausführungsform
sind die Programm-Piktogramme in dem Konfigurationsdiagramm nahe
bzw. benachbart zu (oder verbunden mit) den Einrichtungs-Piktogrammen
der Einrichtungen, in denen sie gespeichert sind, angezeigt. Verbindungen
werden zwischen den verschiedenen Programm-Piktogrammen angezeigt,
um visuell ihre Aufrufbeziehungen anzuzeigen. Als ein weiteres Bespiel können die
Programm-Piktogramme in einem separaten Fenster angezeigt werden
um ein Überfrachten des
Konfigurationsdiagramms zu vermeiden.
-
Das
Konfigurationsdiagramm kann auch eine graphische Benutzeroberfläche (graphical
user interface GUI) oder eine Palette von Programm-Piktogrammen
anzeigen, die Programmen entsprechen, die in dem System des Anwenders
umfasst sein können.
Zum Beispiel kann der Anwender des Hauptcomputersystems auf einen
Server zugreifen und eine Palette von Programm-Piktogrammen betrachten,
von denen der Anwender Programm-Piktogramme auswählen kann, um diese seinem/ihrem
Konfigurationsdiagramm hinzuzufügen.
-
Das
Konfigurationsdiagramm kann verschiedene Arten von Ansichten unterstützen, wie
z. B. eine Ansicht des Gesamtsystems, eine Ansicht eines Untersystems,
eine Einrichtungsansicht, eine Programmansicht, etc. Zum Beispiel
kann sich der Anwender in dem Konfigurationsdiagramm nach „unten
graben" um einen
ausgewählten
Bereich des Diagramms anzusehen, wie z. B. ein ausgewähltes Untersystem von
Einrichtungen, eine einzelne Einrichtung, die Programme, die mit
einer Einrichtung assoziiert sind, die Datenpunkte, die mit einer
Einrichtung assoziiert sind, die I/O Kanäle, die mit einer Einrichtung
assoziiert sind, etc.
-
In
einer Ausführungsform
kann das Konfigurationsdiagramm zumindest teilweise automatisch oder
mittels Programmen von dem Computersystem erzeugt werden, basierend
auf einer automatischen Entdeckung von Einrichtungen, Programmen, und/oder
anderen Elementen, die in dem System vorhanden sind. Zum Beispiel
kann eine Plug and Play Software oder eine andere Entdeckungssoftware Einrichtungen
entdecken, die in dem System vorhanden sind, ihre Zwischenverbindungen
oder Kopplungen, Informationen, die mit den verschiedenen Einrichtungen
assoziiert sind und Programme, die in den verschiedenen Einrichtungen
vorhanden sind, und automatisch einen Teil oder das gesamte Konfigurationsdiagramm
anzeigen. Zum Beispiel kann das Computersystem eine automatische
Entdeckung durchführen
und automatisch Einrichtungs-Piktogramme, die entdeckten Geräten entsprechen,
und Verbindungen (wie z. B. „Verbindungspiktogramme" oder „Drähte") zwischen jeweiligen
Einrichtungs-Piktogrammen anzeigen, die den Kopplungen zwischen Einrichtungen,
die automatisch in dem System entdeckt wurden, entsprechen. Die
Verbindungen zwischen Einrichtungs-Piktogrammen, die automatisch angezeigt
werden, können
mit einem Aussehen angezeigt werden, das die Art der entdeckten
Verbindung anzeigt. Die Entdeckungssoftware kann auch automatisch
Programme entdecken, die in dem System vorhanden sind und entsprechende
Programm-Piktogramme anzeigen. In einer ähnlichen Weise kann Software
die Beziehungen (wie z. B. die Aufrufbeziehungen) zwischen Programmen
entdecken, die in den verschiedenen Einrichtungen in dem System
vorhanden sind und automatisch Verbindungen zwischen den Programm-Piktogrammen
anzeigen, um visuell die entdeckten Beziehungen anzuzeigen. Die
Entdeckungssoftware kann auch andere Elemente in dem System entdecken
(wie z. B. Datenpunkte, I/O Kanäle)
und entsprechende Piktogramme in dem Konfigurationsdiagramm anzeigen.
-
Das
Konfigurationsdiagramm kann auch zumindest teilweise basierend auf
manuellen Eingaben des Anwenders erzeugt werden. Zum Beispiel kann der
Anwender manuell Einrichtungs-Piktogramme und/oder Programm-Piktogramme
von einer Palette oder einem Menü ziehen
und fallenlassen („Drag
and Drop"), um zumindest
teilweise das Konfigurationsdiagramm zu erzeugen. In einer Ausführungsform kann
der Anwender manuell Einrichtungs-Piktogramme in dem Konfigurationsdiagramm
verbinden, wie z. B. unter Verwendung einer Zeigevorrichtung. Der
Anwender kann z. B. mit dem Erzeugen oder Modifizieren eines Konfigurationsdiagramms
durch beispielsweise Drag and Drop, oder durch ein anderes Verknüpfungsverfahren
ein erstes Einrichtungs-Piktogramm einem zweiten Einrichtungs-Piktogramm zuordnen.
Zum Beispiel kann der Anwender eine Zeigevorrichtung (wie z. B.
eine Maus) verwenden und möglicherweise
ein „Verdrahtungswerkzeug"-Piktogramm auf der
Anzeige verwenden, um ein erstes Einrichtungs-Piktogramm mit einem zweiten Einrichtungs-Piktogramm
zu verbinden. Dies kann dazu führen,
dass eine Verbindung, wie z. B. ein Draht, zwischen den Einrichtungs-Piktogrammen
auftaucht, um die Kopplungsbeziehung zwischen den zwei (oder mehr)
Einrichtungs-Piktogrammen anzuzeigen. Die zwischen zwei Einrichtungs-Piktogrammen
angezeigte Verbindung kann kontextsensitiv sein, wie es oben beschrieben
wurde. Mit anderen Worten, die Verbindung, die auf der Anzeige angezeigt
oder erzeugt wurde, kann einen Kontext oder ein Aussehen haben,
das mit den Arten von Einrichtungen assoziiert ist, die verbunden
werden, der Art der physischen Verbindung zwischen den jeweiligen
Einrichtungen, und/oder der Art von Daten oder Materialflüssen zwischen
den Einrichtungen.
-
In
einer Ausführungsform
kann der Anwender manuell Programm-Piktogramme auf dem Konfigurationsdiagramm
verbinden, wie z. B. unter Verwendung einer Zeigevorrichtung und/oder
einem „Verdrahtungswerkzeug"-Piktogramm, um eine
Aufrufbeziehung (Anrufer/Angerufener) zwischen den Programmen zu
spezifizieren. Der Anwender kann auch Verbindungen zwischen Programm-Piktogrammen modifizieren,
um die Aufrufbeziehung unter Programmen zu modifizieren. Zum Beispiel
kann der Anwender graphisch (z. B. unter Verwendung einer Zeigevorrichtung)
die Verbindung modifizieren, die zwischen einem ersten Programm
und einem zweiten Programm dargestellt ist, so dass die Verbindung zwischen
dem ersten Programm und einem dritten Programm dargestellt wird.
Diese graphische Betätigung
durch den Anwender kann dazu führen,
die Aufrufbeziehung zwischen diesen Programmen zu ändern (inklusive Änderungen
der Programme selbst), so dass das erste Programm nun das dritte
Programm anstelle des zweiten Programms aufruft. Mit anderen Worten,
diese graphische Betätigung
kann eine Modifikation oder Hinzufügung von Kode in einem oder
mehreren dieser Programme verursachen, um die Änderung in der Aufrufbeziehung
umzusetzen.
-
In
einer Ausführungsform
kann das Konfigurationsdiagramm (d. h. Software) ausgeübt werden um
die Verbindungstypen zwischen Einrichtungs-Piktogrammen zu überprüfen. Das
Konfigurationsdiagramm kann auch ausgeübt werden um eine Überprüfung des
Typs der Verbindung zwischen Programm-Piktogrammen durchzuführen, z.
B. um zu verifizieren, dass ein erstes Programm, welches einem ersten
Programm-Piktogramm entspricht, ein zweites Programm aufrufen kann (oder
durch dieses aufgerufen werden kann), welches einem zweiten Programm-Piktogramm entspricht.
-
Der
Anwender kann verschiedene Operationen unter Verwendung des Konfigurationsdiagramms
durchführen.
-
In
einer Ausführungsform
kann der Anwender es nutzen, um Einrichtungen Programme auf Einrichtungen
anzuwenden, in dem graphisch Programm-Piktogramme Einrichtungs-Piktogrammen zugeordnet
werden. Der Anwender kann z. B. verschiedene Programm-Piktogramme
auswählen,
z. B. aus der Beziehungsansicht (innerhalb oder außerhalb
des Konfigurationsdiagramms), oder von einer Palette oder einer
anderen graphischen Benutzerschnittstelle und diese mit verschiedenen
Einrichtungs-Piktogrammen (oder anderen Programm-Piktogrammen) assoziiert, die in dem
Konfigurationsdiagramm enthalten sind. Dieser Vorgang des Zuordnens
von Programm-Piktogrammen zu Einrichtungs-Piktogrammen (oder anderen Programm-Piktogrammen)
in dem Konfigurationsdiagramm kann dazu genutzt werden um entweder
direkt oder wenn der Anwender den Befehl „Anwenden" wählt
die entsprechenden Programme auf den verschiedenen Einrichtungen
anzuwenden, welche den Einrichtungs-Piktogrammen entsprechen (oder
innerhalb einer Programmbeziehung oder Hierarchie, die durch die
Programm-Piktogramme dargestellt wird). Das Anwenden eines Programms
(z. B. das graphische Zuordnen eines Programm-Piktogramms, welches einem
Programm entspricht, das in einer ersten Einrichtung eingerichtet
ist zu einem Einrichtungs-Piktogramm, das einer zweiten Einrichtung
entspricht) kann folgendes umfassen:
- 1. Bewegen
des Programms von der ersten Einrichtung zu der zweiten Einrichtung
(wobei das Programm von der ersten Einrichtung gelöscht wird),
- 2. Kopieren des Programms von der ersten Einrichtung zu der
zweiten Einrichtung (wobei das Programm auf der ersten Einrichtung
gespeichert verbleibt);
- 3. Übertragen
des Programms von der ersten Einrichtung zu der zweiten Einrichtung
zur ferngesteuerten Ausübung
an der zweiten Einrichtung, wobei das Programm auf der zweiten Einrichtung durch
ein Programm auf der ersten Einrichtung zur Ausführung aufgerufen wird, und
wobei zumindest ein Programm auf der ersten Einrichtung konfiguriert
oder modifiziert sein kann, um das Programm auf der zweiten Einrichtung
aufzurufen;
- 4. Bewegen der Fernausführung
des Programms von der ersten Einrichtung zu der zweiten Einrichtung,
wobei das Programm ursprünglich
an der ersten Einrichtung fernaufgerufen werden sollte und nach
dem Vorgang das Programm auf der zweiten Einrichtung fernaufgerufen
wird, wobei die Fernaufrufung durch ein Programm oder eine Anwendung
auf einer anderen Einrichtung durchgeführt wird (anders als die erste
Einrichtung oder die zweite Einrichtung), wie z. B. dem Hauptcomputersystem;
oder
- 5. Erzeugen eines Rufs oder eines Aufrufens in einem Programm
auf der zweiten Einrichtung, um das Programm auf der ersten Einrichtung
aufzurufen, wobei das Programm auf der ersten Einrichtung verbleibt
und wobei zumindest ein Programm auf der zweiten Einrichtung so
konfiguriert oder modifiziert sein kann, um das Programm auf der ersten
Einrichtung aufzurufen. Verschiedene andere Anwendungsmöglichkeiten
sind ebenfalls angedacht.
-
Der
Betrieb von zugehörigen
Programm-Piktogrammen mit Einrichtungs-Piktogrammen (oder mit anderen Programm-Piktogrammen)
in dem Konfigurationsdiagramm kann dazu dienen, die jeweiligen Programme
auf den verschiedenen Einrichtungen, die den Einrichtungs-Piktogrammen
entsprechen, anzuwenden, oder dazu zu bringen, dass diese angewendet
werden. Wenn z. B. der Anwender ein erstes Programm-Piktogramm auswählt und
dieses erste Programm-Piktogramm
einem ersten Einrichtungs-Piktogramm, welche eine erste Einrichtung darstellt,
zuordnet (z. B. durch Drag and Drop), und wenn der Anwender optional „Anwenden" wählt, kann
dies dazu führen,
dass ein erstes Programm angewandt wird, welches dem ersten Programm-Piktogramm
auf der ersten Einrichtung entspricht, welche dem ersten Einrichtungs-Piktogramm
entspricht. Dies bietet einen erheblich vereinfachten Mechanismus
zum Anwenden von Programmen auf verschiedenen Einrichtungen in einem
verteilten System.
-
Die
graphische Zuordnung oder Anwendung, die durch den Anwender durchgeführt wird,
wie hierin beschrieben, wird vorzugsweise graphisch oder visuell
ausgeführt
und in dem Konfigurationsdiagramm dargestellt. Somit kann das Konfigurationsdiagramm visuell
aktualisiert werden, um die durch den Anwender durchgeführten Aktionen
wiederzugeben. Anders gesagt, das Konfigurationsdiagramm kann in
Realzeit aktualisiert werden, während
der Anwender Piktogrammanwendungen, wie sie hierin beschrieben werden,
durchführt,
wie z. B. die Anwendungshandlungen, die oben diskutiert wurden.
Somit kann das Konfigurationsdiagramm eine aktuelle, mittels Piktogrammen
dargestellte Beziehungsansicht der Einrichtungen und verteilten
Programme anzeigen, während
der Anwender die Programm-Piktogramme den Einrichtungs-Piktogrammen
zuordnet (z. B. durch Drag and Drop), die Programm-Piktogramme anderen
Programm-Piktogrammen zuordnet, die Einrichtungs-Piktogramme anderen
Einrichtungs-Piktogrammen zuordnet, etc. Während z. B. der Anwender mittels
Drag and Drop Programm-Piktogramme
(z. B. von dem Konfigurationsdiagramm) verschiedenen Einrichtungs-Piktogrammen
auf dem Konfigurationsdiagramm zuordnet kann das System dazu dienen, die
angezeigte Beziehung (z. B. die Hierarchie) von Programmen nahe
zu, wie z. B. darunter, dem jeweiligen Einrichtungs-Piktogramm zu
der Stelle, zu der sie angewandt wurde, um die Erscheinung von Piktogrammen
zu modifizieren, etc.
-
In
einer Ausführungsform
wird das Konfigurationsdiagramm sofort entsprechend aktualisiert, wenn
der Anwender Programm-Piktogramme verschiedenen Einrichtungs-Piktogrammen
zuordnet, die in dem Konfigurationsdiagramm enthalten sind, aber
dieser Betrieb des Zuordnen dient zu diesem Zeitpunkt nicht dazu,
Programme anzuwenden. Stattdessen kann von dem Anwender verlangt
werden ein „Anwenden" Merkmal auszuwählen, damit die
Anwendung tatsächlich
stattfindet. Dies ermöglicht
es dem Anwender verschiedene Konfigurationsdiagrammoptionen anzuschauen,
bevor eine Anwendung tatsächlich
stattfindet. In einer weiteren Ausführungsform kann ein Vorschaufenster
verwendet werden, um es dem Anwender zu erlauben, vorgeschlagene Änderungen
an einem Konfigurationsdiagramm anzuschauen, bevor die Änderung
durchgeführt
oder angewandt wird.
-
In
einer Ausführungsform
kann der Anwender Programm-Piktogramme graphisch manipulieren, um
Programmkode in den Programmen hinzuzufügen oder zu modifizieren. Zum
Beispiel kann der Anwender ein erstes Programm-Piktogramm oder eine
Verknüpfung
auswählen,
die mit (z. B. darauf speichert) einer Einrichtung zugeordnet ist
(z. B. einer ersten Einrichtung), und dieses erste Programm-Piktogramm einem
zweiten Programm-Piktogramm (z. B. durch Drag and Drop) einer zweiten Einrichtung
(oder der ersten Einrichtung) zuordnen. Dies kann veranlassen, dass
der Kode (Quellkode) des zweiten Programms angezeigt wird. Alternativ kann
der Anwender zuerst veranlassen, dass der Quellkode des zweiten
Programms angezeigt wird und dann das Programm-Piktogramm mittels
Drag and Drop in den angezeigten Quellkode zuzuordnen. Der Anwender
kann dann weiter graphisch navigieren, z. B. durch Bewegen oder
Ziehen des ersten Programm-Piktogramms
innerhalb des Quellkodes, der angezeigt wurde, und das erste Programm-Piktogramm
an einer jeweiligen Stelle in dem angezeigten Quellkode platzieren
oder loslassen. Als ein Ergebnis kann das erste Programm, welches
dem ersten Programm-Piktogramm entspricht, innerhalb des zweiten
Programms angewandt werden, z. B. kann das zweite Programm automatisch
modifiziert werden, um das erste Programm zu enthalten. Alternativ
kann das zweite Programm modifiziert werden um das erste Programm
aufzurufen. Das erste Programm kann an der zweiten Einrichtung angewandt
werden, um mit dem zweiten Programm auf der zweiten Einrichtung
ausgeführt
zu werden. Alternativ kann auf Wahl des Anwenders das erste Programm
auf der ersten Einrichtung verbleiben und das zweite Programm auf der
zweiten Einrichtung kann konfiguriert oder modifiziert werden. um
das erste Programm auf der ersten Einrichtung aus der Ferne aufzurufen.
-
Wenn
das zweite Programm-Piktogramm einem graphischen Programm entspricht,
kann diese Zuordnung veranlassen, dass das Blockdiagramm, welches
diesem Programm-Piktogramm entspricht automatisch angezeigt wird.
In diesem Fall kann der Anwender weiter graphisch navigieren, z.
B. durch Bewegen oder Ziehen des ersten Programm-Piktogramms innerhalb
des Blockdiagramms das angezeigt wurde und das erste Programm-Piktogramrn
an einer jeweiligen Stelle in dem graphischen Programm ablegen oder
platzieren. Dies kann dazu führen,
dass das erste Programm-Piktogramm in dem angezeigten Blockdiagramm
an der ausgewählten
Stelle kopiert oder eingesetzt wird. Alternativ kann eine graphische
Programmverknüpfung
in dem Diagramm angezeigt werden, die mit dem ersten Programm zugeordnet
ist oder in der Lage ist, das erste Programm aufzurufen, und der
Anwender kann graphisch diese Verknüpfung an einer gewünschten
Stelle in dem Blockdiagramm positionieren. Der Anwender kann einen
Fließpfad
wählen,
wie z. B. einen Datenflusspfad, indem das erste Programm-Piktogramm
(oder die Verknüpfung)
positioniert oder „fallengelassen" wird. Als ein Ergebnis
kann das erste Programm-Piktogramm (oder die Verknüpfung) auf
oder in den Ausführungs-
oder Datenpfad des ausgewählten
Drahts in dem Blockdiagramm des graphischen Programms eingesetzt
werden und konfiguriert werden um ausgeübt zu werden. Wo z. B. das
erste Programm selbst ein graphisches Programm ist, kann das erste Programm-Piktogramm
als ein Unter-VI in dem zweiten graphischen Programm oder Blockdiagramm
eingesetzt werden. Alternativ kann das erste Programm-Piktogramm
(oder die Verknüpfung)
auftauchen oder in einer Stelle des Blockdiagramms platziert werden
und der Anwender kann dann manu ell das erste Programm-Piktogramm
(oder die Verknüpfung)
mit anderen Verknüpfungen
in dem Blockdiagramm verknüpfen
oder „verdrahten" (Wire up).
-
Das
erste Programm-Piktogramm, welches in das Blockdiagramm gezogen
und fallengelassen wurde, kann auch von unterschiedlichem Typ sein wie
z. B. ein DLL oder ein ausführbares
Programm. das aus einer textbasierten Programmsprache kompiliert
wurde, etc. Wenn der Anwender dieses erste Programm-Piktogramm in das
Blockdiagramm mittels Drag and Drop einsetzt, welches dem Zielprogramm-Piktogramm
entspricht, und auf einen jeweiligen Datenflusspfad, kann das erste
Programm-Piktogramm (oder eine andere Verknüpfung) automatisch in dem jeweiligen
Datenflusspfad erzeugt werden, der in der Lage ist dieses erste
Programm aufzurufen oder zu rufen, oder welcher ansonsten die Ausführung des
ersten Programms repräsentiert.
Wenn das erste Programm z. B. ein DLL ist und der Anwender das erste
Programm-Piktogramm auf einen Datenflusspfad eines Blockdiagramms
zieht, kann eine Verknüpfung
in dem Blockdiagramm eingesetzt werden, die konfiguriert ist um
das erste Programm als ein DLL aufzurufen. Die Verknüpfung kann
die Erscheinung des ersten Programm-Piktogramms haben. Alternativ
kann das erste Programm mittels geeigneter Programmierung in ein
graphisches Kode-Format konvertiert werden, wie z. B. einen LabVIEW
Kode.
-
Wenn
das zweite Programm-Piktogramm in diesem Beispiel einem Programm
auf Basis einer Textprogrammiersprache entspricht, kann diese Zuordnung
des ersten Programm-Piktogramms zu dem zweiten Programm-Piktogramm
dazu führen,
dass der Textquellkode, der dem zweiten Programm-Piktogramm entspricht,
automatisch angezeigt wird. Der Anwender kann dann das erste Programm-Piktogramm innerhalb
des Textquellkodes der angezeigt wurde graphisch navigieren, z.
B. durch Bewegen oder Ziehen, und das erste Programm-Piktogramm an
einer entsprechenden Stelle in dem Textquellkode fallenlassen oder
platzieren. Dies kann dazu (ihren, dass ein Ruf oder ein Aufruf
(wie z. B. ein Funktionsruf) des ersten Programms in den angezeigten
Textquellkode des zweiten Programms an der ausgewählten Stelle
kopiert oder eingesetzt wird. Mit anderen Worten, der Textquellkode
kann automatisch dem zweiten Programm hinzugefügt werden. Die Art von Ruf,
der in dem angezeigten Textquellkode des zweiten Programms eingesetzt
wird, kann davon abhängen,
ob das erste Programm ein graphisches Programm ist oder eine andere
Art von Programm. Das erste Programm, welches dem ersten Programm-Piktogramm
entspricht, kann dann auf der zweiten Einrichtung angewandt werden,
um mit dem Blockdiagramm auf der zweiten Einrichtung ausgeführt zu werden.
Alternativ, nach Wahl des Anwenders, kann das erste Programm auf
der ersten Einrichtung verbleiben und durch das Textquellkodeprogramm
(nach der Kompilierung) auf der zweiten Einrichtung zur Fernaufrufung
konfiguriert sein.
-
In
einer Ausführungsform
kann der Anwender (z. B. durch Drag and Drop) einem Einrichtungs-Piktogramm
einen Quellkode eines Programms zuordnen. Zum Beispiel kann der
Anwender ein erstes Einrichtungs-Piktogramm auswählen, welches einer Einrichtung
entspricht und dieses Einrichtungs-Piktogramm einem (z. B. durch
Drag and Drop) Programm-Piktogramm zuordnen. Dies kann dazu führen, dass
der Kode (Quellkode, Source-Code) des entsprechenden Programms angezeigt
wird. Alternativ kann der Anwender zuerst veranlassen, dass der Quellkode
des Programms angezeigt wird und er kann dann das Einrichtungs-Piktogramm
in den angezeigten Quellkode ziehen und fallenlassen („Drag and
Drop"). Als ein
Ergebnis kann das Einrichtungs-Piktogramm in dem angezeigten Quellkode
erscheinen. Der Anwender kann dann weiter, z. B. durch Bewegen oder
Ziehen, das Einrichtungs-Piktogramm innerhalb des Quellkodes der
angezeigt wurde graphisch navigieren und das erste Einrichtungs-Piktogramm
an einer entsprechenden Stelle in dem Quellkode fallenlassen oder
platzieren. In Antwort auf diese Handlung, wie z. B. das Platzieren
des Einrichtungs-Piktogramms in den Programmquellkode, kann zusätzlicher
Programmkode in dem Programm eingefügt werden, der Funktionalitäten durchführt, die
der Einrichtung zugeordnet sind.
-
Wo
das Programm-Piktogramm einem graphischen Programm entspricht, kann
diese Zugehörigkeit
dazu führen,
dass das Blockdiagramm, welches diesem Pro gramm-Piktogramm entspricht,
automatisch angezeigt wird. In diesem Fall kann der Anwender weiter,
z. B. durch Bewegen oder Ziehen, das Einrichtungs-Piktogramm innerhalb
des Blockdiagramms, das angezeigt wurde, graphisch navigieren und
das Einrichtungs-Piktogramm an einer entsprechenden Stelle in dem
graphischen Programm fallenlassen oder platzieren. Dies führt dazu,
dass das Einrichtungs-Piktogramm in dem angezeigten Blockdiagramm
an der gewählten
Stelle kopiert oder eingesetzt wird. Alternativ kann eine graphische
Programmverknüpfung
in dem Diagramm angezeigt werden, die mit Funktionalitäten der
Einrichtung verknüpft
ist bzw. in der Lage ist, Funktionalitäten aufzurufen oder auf diese
zuzugreifen, und der Anwender kann diese Verknüpfung an einer geeigneten Stelle
in dem Blockdiagramm positionieren. Der Anwender kann einen Fließpfad auswählen, wie
z. B. einen Datenflussdraht, in dem das Einrichtungs-Piktogramm (oder
die Verknüpfung)
positioniert oder „fallengelassen" wird. Das Einrichtungs-Piktogramm kann dann auf
oder in dem Ausführungs-
oder Datenpfad des ausgewählten
Drahts in dem Blockdiagramm des graphischen Programms eingesetzt
werden und zur Ausführung
konfiguriert werden. Der Anwender kann auch manuell das Einrichtungs-Piktogramm
mit anderen Verknüpfungen
in dem Diagramm verbinden oder verdrahten.
-
Der
Anwender kann optional eine Handlung anzeigen, die hinsichtlich
einer Einrichtung in dem Blockdiagramm gewünscht ist. In einer Ausführungsform
kann eine graphische Benutzerschnittstelle (graphical user interface
GUI) oder ein Konfigurationsdialog erscheinen, in dem der Anwender
Eingaben bereitstellen kann, die die gewünschte Handlung angeben. Zum
Beispiel kann der Anwender ein Einrichtungs-Piktogramm einer ersten
Einrichtung in ein Blockdiagramm ziehen und fallenlassen und Anwendereingaben
bereitstellen, die angeben, dass das Blockdiagramm Kode und/oder
Datenstrukturen erzeugen soll, und/oder ein Verknüpfungspiktogramm in
dem Diagramm vorsehen soll, welches dazu dient, mittels eines Programms
auf diese Einrichtung zuzugreifen, um Daten zu oder von der Errichtung
zu veröffentlichen
und/oder vorzumerken.
-
Der
Anwender kann z. B. ein graphisches Programm erzeugen, welches mit
einem oder mehreren Messgeräten
kommuniziert, indem er entsprechende Einrichtungs-Piktogramme in das
graphische Programmdiagramm zieht und fallen lässt. Als ein Beispiel kann
der Anwender ein LabVIEW Blockdiagramm öffnen und eine „While
Loop" Struktur erzeugen.
Der Anwender kann dann Einrichtungs-Piktogramme, die den Sensoren entsprechen,
in die While Loop Struktur ziehen und fallenlassen. Dies kann dazu
führen,
dass das graphische Programmdiagramm konfiguriert wird, um auf diese
Sensoren zuzugreifen und um Daten zu lesen, die von diesen Sensoren
erzeugt werden.
-
In
einer Ausführungsform
kann der Anwender graphisch ein Programm konfigurieren oder anwenden.
Der Anwender kann das Computersystem dazu veranlassen, den Quellkode
(Source Kode) eines Programms anzuzeigen. Das Programm kann in einer
textbasierten Programmsprache geschrieben sein oder ein graphisches
Programm sein. Die Anzeige des Computersystems kann auch ein Konfigurationsdiagramm
umfassen, das ein erstes Einrichtungs-Piktogramm anzeigt, das einer
ersten Einrichtung entspricht. Der Anwender kann dann einen Teil des
Quellkodes des Programms auswählen
und den Teil des Quellkodes mit dem ersten Einrichtungs-Piktogramm
graphisch assoziieren. Wo das Programm in einer textbasierten Programmsprache
geschrieben ist, kann der Anwender den gewünschten Teil des Quellkodes
hervorheben (z. B. den C-Kodeabschnitt, wie z. B. eine Unterroutine
(sub routine)) und diesen Kodeabschnitt auf das Einrichtungs-Piktogramm ziehen
und fallenlassen. Wo das Programm in einer graphischen Programmiersprache
geschrieben ist, kann der Anwender eine oder mehrere Verknüpfungen
in dem graphischen Programm auswählen
und diese auf eine oder mehrere Einrichtungs-Piktogramme ziehen
und fallenlassen. Diese graphische Zuordnung kann die Anwendung
des Quellkodeabschnitts auf der ersten Einrichtung dazu veranlassen,
auf der ersten Einrichtung ausgeführt zu werden. Zusätzlich kann
das System das Programm modifizieren, um das Programm zu konfigurieren,
um eine Ausführung des
Quellkodeabschnitts auf der ersten Einrichtung aufzurufen. Somit
ruft das Programm, wenn das Programm ausgeführt wird, die Ausführung des
Abschnitts des Quellkodes auf der ersten Einrichtung auf.
-
Als
ein Beispiel der oben beschriebenen Ausführungsform kann der Anwender
graphisch Verknüpfungen
in einem graphischen Programm zur Fernausführung konfigurieren. Wo das
Programm beispielsweise ein graphisches Programm ist, wie z. B.
ein LabVIEW VI, kann das System das Blockdiagramm des graphischen
Programms anzeigen. Der Anwender kann Verknüpfungen in dem graphischen Programm
auswählen
und diese graphischen Programmverknüpfungen, z. B. durch Ziehen
und Fallenlassen oder Menüauswahltechniken,
mit Einrichtungs-Piktogrammen
(oder Programm-Piktogrammen) in dem Konfigurationsdiagramm zuordnen.
Als ein Ergebnis werden die Funktionalitäten (Programmanweisungen und/oder
Datenstrukturen) der Verknüpfung
(oder Verknüpfungen)
an den ausgewählten
entfernten Einrichtungen angewandt. Ein neues Piktogramm kann in
dem Blockdiagramm angezeigt werden, um dem Anwender visuell anzuzeigen,
dass diese Verknüpfung
fern ausgeführt
wird. Das neue Piktogramm kann ein modifiziertes Verknüpfungspiktogramm
sein, welches zumindest einen Teil des Aussehens der Originalverknüpfung umfasst,
sowie einen zusätzlichen
Bildabschnitt, um die Fernausführung
anzuzeigen. Das Piktogramm in dem Blockdiagramm kann beispielsweise
sein Aussehen ändern, um
visuell einem Anwender anzuzeigen, dass diese Verknüpfung (bzw.
der durch diese Verknüpfung
repräsentierte
Kode) auf einer entfernten Einrichtung angewandt wird und auf der
entfernten Einrichtung ausgeführt
wird. Die Anwendung eines Unterprogramms eines graphischen Programmblockdiagramms
auf einer entfernten Einrichtung ist besonders nützlich, wenn mehrere Instanzen
desselben Unterprogramms in dem Hauptgraphikprogramm vorliegen und
der Anwender wünscht,
ein bestimmtes Unterprogramm für
die Anwendung auszuwählen.
-
Diese
graphische Zuordnung kann das Bestimmen umfassen, ob die Einrichtung
in der Lage ist, einen graphischen Programmkode auszuführen. Wenn
die Einrichtung nicht in der Lage ist, einen graphischen Programmkode
auszuführen,
kann der graphische Programmkode, der dieser Verknüpfung entspricht,
automatisch zu einer DLL konvertiert werden, einem Hardware Konfigurationsprogramm
oder einem anderen geeigneten Softwareformat.
-
Daher,
wie es oben beschrieben wurde, wenn ein Programm-Piktogramm auf
dem Konfigurationsdiagramm einem graphischen Programm entspricht,
kann der Anwender verschiedene zusätzliche Handlungen durchführen. Wenn
der Anwender, als ein weiteres Beispiel, auswählen möchte, dass eine spezielle Stelle
in dem graphischen Programm eine entfernte Einrichtung rufen soll,
kann dies graphisch innerhalb des graphischen Programms durchgeführt werden.
Mit anderen Worten, wenn der Anwender wünscht, dass eine bestimmte
Funktionsverknüpfung
in dem graphischen Programm ein Programm auf einer entfernten Einrichtung,
(wie z. B. einem unterschiedlichen Computer) anrufen oder aufrufen
soll, kann dies leicht durchgeführt
werden, indem das Blockdiagramm des graphischen Programms verwendet
wird und die hierin beschriebenen graphischen Zuordnungstechniken.
Zusätzlich, wie
es oben beschrieben wurde, wenn der Anwender wünscht, dass eine oder mehrere
Verknüpfungen oder
Unterprogramme in dem graphischen Programm auf einer entfernten
Einrichtung ausgeführt werden,
kann dies ebenfalls leicht unter Verwendung der hierin beschriebenen
graphischen Zuordnungstechniken durchgeführt werden. Der Anwender kann weiter
Einrichtungs-Piktogramme
oder Programm-Piktogramme direkt in einer gewünschten Stelle in einem graphischen
Programm einbauen unter Verwendung der hierin beschriebenen graphischen
Zuordnungstechniken. Dies bietet einen einfachen graphischen Mechanismus
zur Verteilung der Funktionalität
eines graphischen Programms unter verschiedene Einrichtungen in
einem System. Der Anwender kann einfach Verknüpfungen in dem graphischen
Programm auf verschiedene Einrichtungs-Piktogramme ziehen und fallenlassen
(Drag and Drop), um die Funktionalitäten, die von diesen Verknüpfungen
repräsentiert
werden, unter den verschiedenen Einrichtungen zu verteilen.
-
Das
Vornehmen der Verknüpfung
von Piktogrammen mit anderen Piktogrammen (wie z. B. das Zuordnen
von Programm-Piktogrammen mit Einrichtungs-Piktogrammen, Programm-Piktogrammen
mit anderen Programm-Piktogrammen, Einrichtungs-Piktogrammen mit
Programm-Piktogrammen, etc.) in dem Konfigurationsdiagramm kann
mittels „Drag
and Drop" Techniken
durchgeführt
werden, mit menübasierten
Techniken, mit Dialogboxtechniken, mit Spracherkennungstechniken,
oder auch mit anderen Techniken.
-
In
einer Ausführungsform
kann der Anwender in der Lage sein, eine asynchrone Datenflussverknüpfung oder
ein asynchrones Datenflusspiktogramm in zwei oder mehr Blockdiagrammen
oder graphischen Programmen einzufügen, um eine verteilte Ausführung unter
den zwei oder mehr Blockdiagrammen oder graphischen Programmen zu
ermöglichen.
Ein asynchrones Datenflusspiktogramm kann zwei Teile umfassen, die
derselben Warteschlange (queue) oder demselben Speicher zugeordnet
sind. Ein Teil des asynchronen Datenflusspiktogramms kann ein Leseteil
sein und das andere Teil kann ein Schreibteil sein. Der Anwender
kann die Lese- und Schreibteile auf unterschiedliche Einrichtungen
oder unterschiedliche Programme verteilen, indem er z. B. die oben
beschriebenen Verknüpfungstechniken
verwendet. Somit kann z. B. ein Schreibteil der asynchronen Datenflussverknüpfung in
einem ersten Blockdiagramm dazu dienen, Daten zu der Warteschlange
zu schreiben, und ein Leseteil der asynchronen Datenflussverknüpfung (oder
einer anderen Datenflussverknüpfung)
in einem zweiten, unterschiedlichen Blockdiagramm kann dazu dienen,
Daten von dieser Warteschlange zu lesen. Diese Lese- und Schreibvorgänge können asynchron
voneinander stattfinden. Dies erlaubt es, einem ersten Blockdiagramm
Daten zu einem zweiten Blockdiagramm zu übertragen, wobei die Daten
asynchron hinsichtlich des zweiten Blockdiagramms übertragen
werden können.
Dieser asynchrone Datenfluss kann auch für eine bidirektionale Kommunikation
konfiguriert sein, d. h. mit Leser und Schreibern in sowohl den
ersten und zweiten Blockdiagrammen oder graphischen Programmen.
Dieser asynchrone Datenfluss kann insbesondere zwischen einem Computersystem
und einer entfernten Einrichtung wünschenswert sein.
-
In
einer weiteren Ausführungsform
kann ein aus der Ferne betriebenes Debugging von graphischen Blockdiagrammen
in einem verteilten System durchgeführt werden. Wo z. B. ein graphisches
Programm auf einem entfernten Gerät angewandt wird, kann der
Anwender an dem Hauptcomputer in der Lage sein, das Einrichtungs-Piktogramm
auszuwählen
und/oder ein entsprechendes Programm-Piktogramm auszuwählen, das mit der Einrichtung
verbunden ist und das Blockdiagramm des graphischen Programms betrachten.
Der Anwender kann somit in der Lage sein, das Blockdiagramm auf
der Anzeige des Hauptcomputersystems zu betrachten, wobei dieses
Blockdiagramm tatsächlich
auf einer entfernten Einrichtung ausgeführt wird. Der Anwender kann dann
in der Lage sein, verschiedene Debugging-Werkzeuge zu verwenden,
die hinsichtlich der Blockdiagramme nützlich sein können, wie
z. B. Brake Points, Single Stepping und Ausführungshervorhebungen.
-
Der
Anwender kann somit in der Lage sein, das angezeigte Blockdiagramm
als eine graphische Benutzerschnittstelle zum Debugging des Blockdiagramms
zu verwenden, das auf der entfernten Einrichtung ausgeführt wird.
Der Anwender kann im Einzelschritt (Single Step) durch das Blockdiagramm
gehen, welches auf der entfernten Einrichtung ausgeführt wird
unter Verwendung der graphischen Benutzerschnittstelle des Blockdiagramms,
die auf der Anzeige des Hauptcomputersystems angezeigt wird. Ebenso
kann der Anwender, wenn ein Blockdiagramm auf einer entfernten Einrichtung
ausgeführt wird,
in der Lage sein, das Blockdiagramm auf dem Hauptcomputersystem
anzuschauen, wobei die jeweiligen Verknüpfungen in dem Blockdiagramm,
das auf dem Hauptcomputersystem angezeigt wird, hervorgehoben sind,
während
diese Verknüpfungen
auf der entfernten Einrichtung ausgeführt werden. Der Anwender kann
auch in der Lage sein, die Datenausgabe von jedem der jeweiligen
Verknüpfungen
auf dem Blockdiagramm, das auf dem Hauptcomputersystem angezeigt
wird, anzusehen, wenn die jeweiligen Verknüpfungen Daten erzeugen, die
auf der entfernten Einrichtung ausgeführt werden.
-
Der
Anwender kann das Konfigurationsdiagramm verwenden, um die Ausführung der
Programme, die in den Einrichtungen enthalten sind, zu starten.
Während
die verschiedenen Programme ausgeführt werden, kann die Konfiguration
dazu gebracht werden, visuell anzuzeigen, welche Programme und/oder
Einrichtungen ausgeführt
werden. Zum Beispiel können
die verschiedenen Programm-Piktogramme
und/oder Einrichtungs-Piktogramme hervorgehoben werden, um visuell
anzuzeigen, welche Programme und/oder welche Einrichtungen jeweils ausgeführt werden.
-
Der
Anwender kann in dem Konfigurationsdiagramm Programme von jeder
beliebigen Einrichtung einfügen,
inklusive entfernten Servern, die mit einem Netzwerk gekoppelt sind,
wie z. B. dem Internet. In einer Messanwendung kann z. B. ein Server bei
National Instruments verschiedene Messanwendungen oder Programme
speichern oder vorhalten, die von irgendeinem Anwender, oder von
registrierten Anwendern, verwendet werden können. Der Anwender kann sich
dazu entscheiden, mit einem Server zu verbinden und Piktogramme
anzuschauen, die den Programmen entsprechen, den Anwendungen, oder
den Projekten, die auf dem Server vorliegen, und diese Programm-Piktogramme
(oder Anwendungs-Piktogramme
oder Projekt-Piktogramme) in das Konfigurationsdiagramm unter Verwendung
der hierin beschriebenen graphischen Zuordnungstechniken einbauen.
Die in dem Konfigurationsdiagramm verwendeten oder dargestellten
Programme können beliebiger
Art sein, inklusive Softwareprogramme beliebiger Art, Hardwarekonfigurationsprogramme
etc. Der Anwender kann auch ein gesamtes Konfigurationsdiagramm
von dem Server wählen.
-
Der
Anwender kann das Konfigurationsdiagramm als ein Mechanismus zur
Spezifizierung von Einrichtungen verwenden, die von einem Verkäufer zu
erwerben sind. Zum Beispiel kann der Anwender ein Konfigurationsdiagramm
zusammensetzen, welches Einrichtungs-Piktogramme umfasst, die Einrichtungen
und/oder Programme repräsentieren,
die der Anwender für
sein/ihr System zu verwenden oder zu kaufen wünscht. Der Anwender kann sich
dann mit einem Servercomputersystem verbinden und das Konfigurationsdiagramm
als eine Spezifikation für
die Einrichtungen und/oder Programme bereitstellen, die der Anwender
zu kaufen wünscht.
Das Servercomputersystem, welches beim Hersteller vorgesehen sein
kann, kann das Konfigurationsdiagramm empfangen, die gewünschten
Einrichtungen von dem Konfigurationsdiagramm bestimmen und dem Anwender
Informationen bereitstellen, welche die Gesamtkosten für die nachgefragten
Einrichtungen anzeigen. Der Anwender kann dann entscheiden, ob er eine
oder mehrere der empfohlenen Einrichtungen von dem Servercomputersystem
kaufen will. Diese Einrichtungen können dann zu dem Anwender versandt
werden. In einer anderen Ausführungsform kann
der Server über
ein Programm die Einrichtungen und/oder Programme abfragen, die
in dem System des Anwenders vorhanden sind, und ein Konfigurationsdiagramm
erzeugen, das auf dem Computersystem des Anwenders angezeigt wird
und den aktuellen Stand des Systems des Anwenders darstellt. Der
Anwender kann dann Einrichtungs-Piktogramme und/oder Programm-Piktogramme
von einer Palette auf dem Server oder dem Client Computer hinzufügen, um
gewünschte
Modifikationen des Systems des Anwenders anzuzeigen. Dieses aktualisierte
Konfigurationsdiagramm kann dann wieder zurück zu dem Server bereitgestellt
werden als eine Kaufanfrage, wie es oben beschrieben wurde.
-
Kurze Beschreibung der Zeichnungen:
-
Ein
besseres Verständnis
der vorliegenden Erfindung kann erreicht werden, wenn die folgende detaillierte
Beschreibung der bevorzugten Ausführungsform im Zusammenhang
mit den folgenden Zeichnungen betrachtet wird, in denen:
-
1 ein
Netzwerksystem darstellt, welches zwei oder mehr Computersysteme
umfasst, die eine Ausführungsform
der vorliegenden Erfindung implementieren können;
-
2A ein Instrumentensystem gemäß einer Ausführungsform
der Erfindung darstellt;
-
2B ein industrielles Automatisierungssystem gemäß einer
Ausführungsform
der Erfindung darstellt;
-
3 ein
beispielhaftes verteiltes Messsystem gemäß einer Ausführungsform
der Erfindung darstellt;
-
4 ein
beispielhaftes Blockdiagramm des Computersystems der vorhergehenden
Figuren ist;
-
5 ein
Blockdiagramm einer beispielhaften Entwicklungsumgebung zur Erzeugung
und Verwendung von Konfigurationsdiagrammen ist;
-
6 ein
Flussdiagramm ist, welches die Erzeugung eines Konfigurationsdiagramms
darstellt und die Verwendung des Konfigurationsdiagramms darstellt,
um graphisch Programmentwicklungen und/oder Anwendungen zu konfigurieren,
um z. B. Programme auf Einrichtungen in dem System anzuwenden;
-
7 ein
Flussdiagramm ist, welches die Erzeugung eines Konfigurationsdiagramms
gemäß einer
Ausführungsform
der Erfindung darstellt;
-
8 ein
Flussdiagramm ist, welches das Anzeigen von Programm-Piktogrammen oder
Elementpiktogrammen darstellt, die Programmen oder Elementen entsprechen,
die in einer Einrichtung umfasst sind;
-
9 ein
Flussdiagramm ist, welches das Anwenden eines Programms auf eine
Einrichtung gemäß einer
Ausführungsform
der Erfindung darstellt;
-
10 ein Flussdiagramm ist, welches das Untersuchen
eines Programmtyps eines Programms darstellt und das selektive Konvertieren
des Programms zu einem Typ, welcher mit der gewünschten Einrichtung kompatibel
ist;
-
11 ein Flussdiagramm ist, welches verschiedene
Operationen darstellt, die durchgeführt werden können, wenn
ein Programm-Piktogramm von einem Quelleinrichtungs-Piktogramm zu
einem Zieleinrichtungs-Piktogramm bewegt wird;
-
12 ein Flussdiagramm ist, welches das Zuordnen
eines Programm-Piktogramms
von einer entfernten Einrichtung zu dem Hauptcomputersystem darstellt,
um das Hauptcomputersystem zu konfigurieren, um das Programm aufzurufen;
-
13A ein Flussdiagramm ist, welches verschiedene
Operationen darstellt, die auf einem Programm-Piktogramm durchgeführt werden
können;
-
13B ein Flussdiagramm ist, welches die Ausführung einer
Anwendung darstellt;
-
14 einen Konfigurationsdialog zeigt, welcher beim
Erzeugen eines Konfigurationsdiagramms verwendet werden kann;
-
15–18, 19A, B und C sind Bildschirmkopien, die eine graphische
Entwicklung oder das Aufrufen von Änderungen von Programmen in beispielhaften
einfachen Konfigurationsdiagrammen zeigen;
-
20A das Auswählen
von Optionen in dem Konfigurationsdiagramm darstellt;
-
20B das Auswählen
eines „remote
call" Merkmals darstellt.
-
21A, 21B und 21C beispielhafte Konfigurationsdiagramme für ein Messsystem
darstellen;
-
21D einen alternativen Typ eines Konfigurationsdiagramms
darstellt;
-
22 ein Flussdiagramm ist. welches die Erzeugung
eines graphischen Programms darstellt;
-
23 ein Flussdiagramm ist, welches eine Konfiguration
einer Verknüpfung
in einem graphischen Programm zur entfernten Ausführung darstellt;
-
24A ein beispielhaftes Blockdiagramm eines graphischen
Programms darstellt, wenn der Anwender einen entfernten Ruf einer
Verknüpfung konfiguriert;
-
24B das beispielhafte Blockdiagramm von 24A zeigt, nachdem der Anwender die Verknüpfung an
einer entfernten Einrichtung angewandt hat zur entfernten Ausführung;
-
25 ein Flussdiagramm ist, welches das graphische
Einsetzen eines Programm-Piktogramms von
einer entfernten Einrichtung in ein anderes Programm zeigt;
-
26 ein Flussdiagramm ist, welches die Erzeugung
eines graphischen Programms zeigt, welches das Einarbeiten von Einrichtungs-Piktogrammen
in das graphische Programm umfasst;
-
27A–E
Bildschirmkopien sind, die eine Sequenz zeigen, wo der Anwender
ein Einrichtungs-Piktogramm auf ein anderes Konfigurationsdiagramm
zieht, ein bestimmtes Einrichtungs-Piktogramm in dem Konfigurationsdiagramm
auswählt, ein
bestimmtes Programm-Piktogramm auswählt und das Einrichtungs-Piktogramm in das
Programm einsetzt, welches von dem Programm-Piktogramm repräsentiert
wird;
-
28A und 28B Bildschirmkopien sind,
die das Einfügen
eines Programm-Piktogramms
von einem Konfigurationsdiagramm in ein graphisches Programm zeigen;
-
29 ein einfaches Konfigurationsdiagramm zeigt.
in dem der Anwender ein Einrichtungs-Piktogramm ausgewählt hat,
um die Einrichtung zu konfigurieren;
-
30 das Konfigurationsdiagramm von 30 zeigt, wenn der Anwender eine Option gewählt hat
um I/O Kanäle
und Datenpunkte eines Einrichtungs-Piktogramms zu betrachten, und ein kontextsensitives
Hilfefenster angezeigt wird;
-
31 den Betrieb zeigt, wenn ein Anwender ein Programm-Piktogramm
von einem ersten Einrichtungs-Piktogramm auf ein zweites Einrichtungs-Piktogramm
zieht und fallen lässt;
-
32 einen Betrieb zeigt, wobei ein Anwender ein
Datenpunktelement von dem Konfigurationsdiagramm auswählt und
das Datenpunktelement von dem Konfigurationsdiagramm zu dem vorderen Panel
eines graphischen Programms zieht und fallen lässt;
-
33A einen Betrieb zeigt, wobei ein Anwender ein
Datenpunktelement von dem Konfigurationsdiagramm auswählt und
das Datenpunktelement von dem Konfigurationsdiagramm zu dem Blockdiagramm
eines graphischen Programms zieht und fallen lässt;
-
33B einen Betrieb zeigt, wobei ein Anwender ein
Piktogramm, welches das Datenpunktelement repräsentiert, mit anderen Verknüpfungen oder
graphischen Programmelementen in dem Blockdiagramm „verdrahtet";
-
34 zeigt einen Vorgang, wenn ein Anwender ein
Programm-Piktogramm auswählt,
um Vorgänge
zu starten;
-
35 zeigt beispielhafte Dienstpiktogramme, die
verwendet werden können
um die Einrichtungsausführung
zu steuern;
-
36 zeigt Vorgänge,
wobei ein Anwender Einstellungen von einem Einrichtungs-Piktogramm zu
einem anderen Einrichtungs-Piktogramm kopieren möchte.
-
Während die
Erfindung verschiedenen Modifikationen und alternativen Formen unterworfen
werden kann, sind spezifische Ausführungsformen derselben beispielhaft
in den Zeichnungen gezeigt und hierin detailliert beschrieben. Es
sollte verstanden werden, dass die Zeichnungen und die dazugehörige detaillierte
Beschreibung allerdings nicht dazu gedacht sind, die Erfindung auf
die im einzelnen offenbarte Form zu beschränken.
-
Detaillierte Beschreibung der bevorzugten
Ausführungsformen:
-
1 – Computernetzwerk:
-
1 zeigt
ein beispielhaftes System umfassend ein erstes Computersystem 82,
das mit einem zweiten Computersystem 90 über ein
Netzwerk verbunden ist. Das Computersystem 82 kann durch
ein Netzwerk 84 (oder einen Computerbus) mit dem zweiten
Computersystem 90 gekoppelt werden. Die Computersysteme 82 und 90 können jeweils
von unterschiedlichem Typ sein, ganz wie gewünscht. Auch das Netzwerk 84 kann
aus beliebigen unterschiedlichen Typen bestehen, inklusive ein LAN-Netzwerk (local
area network), WAN (wide area network), dem Internet oder einem
Intranet, u. a.
-
Die
ersten und zweiten Computersysteme 82 und 90 können Einrichtungen
oder Geräte
umfassen, die zumindest einen Teil eines Systems bilden, wie z. B.
einem verteilten System. Alternativ kann das Computersystem 82 einen
Teil des Systems umfassen und das Servercomputersystem 90 kann
verschiedene Dienste dem System bereitstellen, wie z. B. eine Auswahl
von Programmen und/oder Einrichtungen für das System oder es kann ein
Konfigurationsdiagramm für
das System, wie es hierin beschrieben wird, erzeugen.
-
Außerdem können zusätzliche
Computersysteme (nicht gezeigt) mit den ersten und/oder zweiten
Computersystemen 82 und 90 verbunden werden. Verschiedene
andere Einrichtungen können
mit einem oder mehreren der Computersysteme 82 und 90 verbunden
oder gekoppelt sein oder mit anderen Computersystemen in dem System.
Zum Beispiel kann jedes oder mehrere der in den 2A und 2B gezeigten
Einrichtungen mit einem oder beiden der Computersysteme 82 und 90 verbunden sein.
Zusätzlich
kann das System ein einzelnes Computersystem umfassen, wie z. B.
ein Computersystem 82, welches mit einen oder mehreren
anderen Einrichtungen gekoppelt ist.
-
Wie
hierin verwendet, soll der Begriff „System" ein System umfassen, welches zwei oder
mehr miteinander verbundene oder gekoppelte Einrichtungen umfasst,
d. h. zwei oder mehr Einrichtungen, die in irgendeiner Weise miteinander
gekoppelt sind. Die zwei oder mehr Einrichtungen können über verdrahtete
oder drahtlose Mittel miteinander gekoppelt sein. Verdrahtete Mittel
können
ein Netzwerk umfassen, wie z. B. ein Netzwerk für den Nahbereich (local area network,
LAN) und/oder ein großräumiges Netzwerk (wide
area network, WAN), wie z. B. das Internet, einen Computerbus, einen
seriellen oder parallelen Bus oder andere verdrahtete Kommunikationsmethoden.
Beispielhafte Netzwerke für
den Nahbereich umfassen Ethernet Netzwerke, Token Ring Netzwerke
und verschiedene industrielle Kommunikationsnetzwerke wie z. B.
Foundation Field Bus, Device Net und CAN (Controller Area Network)
Netzwerke. Beispiele für
parallele Busse umfassen den PCI Bus, PXI Bus, GPIB und VXI Bus
u. a. Beispiele für
serielle Busse umfassen USB (universal serial bus), IEEE 1394, RS-242
und RS-485 u. a. Draht lose Mittel können drahtlose Protokolle wie
z. B. IEEE 802.11 (drahtloses Ethernet), Blue Tooth und andere Arten von
drahtloser Kommunikation umfassen.
-
Wie
hierin verwendet, hat der Begriff „Einrichtung" seine übliche Bedeutung
als irgendeine Art von Gerät,
Einheit oder Komponente. Der Begriff „Einrichtung" soll außerdem „programmierbare
Einrichtungen" und „nicht
programmierbare Einrichtungen" umfassen.
-
Wie
hierin verwendet, soll der Begriff „programmierbare Einrichtung" jede Art von verschiedenen
Typen von Einrichtungen umfassen, die eines oder mehrere der folgenden
Elemente umfassen:
- 1. einen Prozessor und Speicher;
oder
- 2. ein programmierbares Hardware-Element; oder
- 3. ein rekonfigurierbarer Logikschaltkreis.
-
Beispielhafte
Typen von Prozessoren umfassen einen konventionellen Mikroprozessor
oder Hauptprozessor (central processing unit, CPU) (wie z. B. ein
X 86, Power PC, Sunspark, etc.), einen digitalen Signalprozessor
(digital signal processor, DSP), Mikrocontroller oder andere Arten
von Prozessoren. Beispielhafte Typen von programmierbaren Hardwareelementen
umfassen programmierbare Logikbausteine (programmable logic device,
PLD), wie z. B. ein FPGA (Field Programmable Gate Array) oder andere
Arten von rekonfigurierbaren Logikbausteinen. Es sollte angemerkt
werden, dass ein Programm typischerweise nur auf einer programmierbaren
Einrichtung angewendet oder gespeichert werden kann. In der folgenden
Beschreibung betreffen Bezugnahmen auf Einrichtungen im Zusammenhang mit
dem Anwenden, Speichern oder Modifizieren von Programmen auf der
Einrichtung allgemein programmierbare Einrichtungen.
-
Beispielhafte
Typen von programmierbaren Einrichtungen umfassen Computersysteme;
Netzwerkeinrichtungen; Personal Digital Assistants (PDAs); Televisi onssysteme,
Messeinrichtungen (umfassend Instrumente, industrielle Automatisierungseinrichtungen,
Prozesssteuerungseinrichtungen, intelligente Datenerfassungseinheiten,
intelligente Sensoren (inklusive intelligenten Kameras), intelligente
Stellmittel, Videoeinrichtungen (wie z. B. Digitalkameras, digitale
Videokameras); Audiogeräte, Zusatzgeräte für Computer,
Telefone; Apparate; oder andere prozessorbasierte oder auf programmierbarer
Hardware basierende Einrichtungen. Beispielhafte Mess- und Automatisierungseinrichtungen
umfassen jedes der in den 2A und 2B gezeigten Einrichtungen.
Beispielhafte Netzwerkeinrichtungen umfassen Netzwerkschnittstellenkarten,
Router, Bridges, Schalter, Verteiler (Hoop), usw.
-
Der
Begriff „nicht
programmierbare Einrichtung" soll
jede Art von unterschiedlichen Komponenten umfassen, wie z. B: Messwertgeber,
Sensoren, Verbindungsblöcke,
Verkabelungen und andere nicht programmierbare Einrichtungen.
-
Wie
hierin verwendet, soll der Begriff „Computersystem" jede Art von Computersystem
umfassen, inklusive einem Personal-Computersystem, einem Main-Frame Computersystem,
einer Workstation, einem Netzwerkapparat, einem Internetapparat, etc.
Allgemein kann der Begriff „Computersystem" in einer breiten
Definition jede Einrichtung umfassen, die zumindest einen Prozessor
hat, der Befehle von einem Speichermedium ausführt.
-
Wie
hierin verwendet, umfasst der Begriff „Anwendungen" ein oder mehr Programme.
Eine Anwendung kann eine Mehrzahl von Programmen umfassen, die zusammen
arbeiten um eine Funktion auszuführen
oder ein bestimmtes Ergebnis zu erzielen. Die Mehrzahl von Programmen
kann in einem System zusammenwirken, wobei verschiedene Programme
auf verschiedene Einrichtungen in dem System für eine verteilte Ausführung angewendet
werden können.
Eine Anwendung kann somit eine Mehrzahl von Programmen umfassen,
die über
eine Mehrzahl von Einrichtungen zur verteilten Ausführung verteilt
sind. Eine Anwendung kann auch andere Datenstrukturen umfassen,
wie z. B. Konfigurationsdateien zur Kon figurierung von Hardwareeinrichtungen,
Hilfedateien, Support-Dokumente, etc. Der Begriff „Projekt" kann ähnlich wie „Anwendung" verwendet werden.
-
Wie
hierin verwendet, soll der Begriff „Programm"
- 1. ein Softwareprogramm,
welches in einem Speicher gespeichert sein kann und durch einen
Prozessor ausführbar
ist, oder
- 2. ein Hardwarekonfigurationsprogramm sein, welches für die Konfiguration
eines programmierbaren Hardwareelements oder eines rekonfigurierbaren
Logikbausteins verwendbar ist, umfassen. Ein Softwareprogramm kann
jede Art von Kode, Schrift und/oder Daten sein, die in einem Speichermedium
gespeichert sind und von einem Prozessor ausgeführt werden. Beispielhafte Softwareprogramme
umfassen Programme, die in textbasierten Programmsprachen geschrieben sind,
wie z. B. C, C ++; Pascal, Fortran, Cobol, Java etc.; Programme,
die in Assemblersprache geschrieben sind; Programme, die in graphischen Programmiersprachen
geschrieben sind; Programme, die in Maschinensprache kompiliert sind;
Skriptsprache; und andere Arten von ausführbarer Software. Beispielhafte
Hardwarekonfigurationsprogramme umfassen Netzlisten oder Bit-Dateien
für Elemente
wie z. B. FPGAs und andere rekonfigurierbare Hardware.
-
Wie
hierin verwendet, soll der Begriff „graphisches Programm" oder „Blockdiagramm" ein Programm umfassen,
welches graphischen Kode umfasst, wie z. B. zwei oder mehr miteinander
verbundener Verknüpfungen
oder Piktogramme, wobei die miteinander verbundenen Verknüpfungen
oder Piktogramme visuell die Funktionalität des Programms anzeigen. Die
Knoten können
auf eine oder mehrere der folgenden Weisen verbunden sein: Datenfluss, Steuerungsfluss
und/oder execution flow-Format. Die Knoten können auch in einem „Signalfluss"-Format verbunden
sein, welches eine Untergruppe des Datenflusses ist. Somit sind
die Begriffe „graphisches Programm" oder „Blockdiagramm" jeweils gedacht, um
ein Programm zu umfassen, welches eine Mehrzahl von miteinander
verbundenen Knoten oder Piktogrammen umfasst, die visuell die Funktionalität des Programms
anzeigen.
-
Ein „Datenfluss" graphisches Programm oder
Diagramm bezeichnet eine Mehrzahl von miteinander verbundenen Knoten
oder Piktogrammen, wobei die Verbindungen unter den Knoten visuell
anzeigen, dass Daten, die von einem Knoten erzeugt werden von einem
anderen Knoten verwendet werden. Ein „Datenfluss" graphisches Programm
oder Diagramm kann auch eine oder mehrere Steuerungsflusskonstruktionen
oder andere Nichtdatenflusskonstruktionen umfassen.
-
Ein
graphisches Programm kann auch optional eine Nutzerschnittstelle
oder ein Frontpaneel haben. Die Benutzerschnittstelle kann in dem
Blockdiagramm des graphischen Programms enthalten sein oder in einem
oder mehreren separaten Paneelen oder Fensters (oder beides) enthalten
sein. Die Benutzerschnittstelle eines graphischen Programms kann
verschiedene graphische Benutzerschnittstellenelemente oder Front
Panel-Objekte umfassen, wie z. B. Benutzerschnittstellensteuerungen und/oder
Anzeigen, die den jeweiligen Eingang und Ausgang repräsentieren
und darstellen, der von dem graphischen Programm oder VI verwendet
werden wird, und kann weitere Piktogramme umfassen, welche die gesteuerten
Einrichtungen repräsentieren. Die
Benutzerschnittstelle bzw. das Front Panel können in einem einzigen Fenster
von Benutzerschnittstellenelementen umfasst sein, oder sie können eine Vielzahl
von individuellen Fenstern umfassen, wobei jedes eine oder mehrere
Benutzerschnittstellenelemente aufweist, wobei die individuellen
Fenster optional zusammengefasst sein können. Als ein weiteres Beispiel
kann die Benutzerschnittstelle bzw. das Front Panel eine Benutzerschnittstelle
oder Frontpaneelobjekte umfassen, wie z. B: die graphische Benutzerschnittstelle
(graphical user interface, GUI), die in dem Blockdiagramm eingebettet
ist. Die Benutzerschnittstelle eines graphischen Programms kann
nur Ausgaben anzeigen, nur Eingaben, oder sowohl Eingaben als auch
Ausgaben.
-
Der
Begriff „Front
Panel" bezeichnet
eine Benutzerschnittstelle, wobei der Benutzer in der Lage ist,
interaktiv die Eingaben zu steuern oder zu manipulieren, die dem
graphischen Programm zugeführt werden
und die resultierenden Ausgaben zu betrachten. Jedes von einer Vielzahl
von möglichen
Programmen kann eine Benutzerschnittstelle oder ein Front Panel
umfassen, inklusive graphischen Programmen, textbasierten Programmen,
etc.
-
Beispiele
für Entwicklungsumgebungen
von graphischen Programmen, die verwendet werden können, um
graphische Programme zu erzeugen umfassen LabVIEW, DasyLap, und
DiaDem von National Instruments, VEE von Agilent, WiT von Coreco, Vision
Programme Manager von PPT Vision, SoftWIRE von Measurement Computing,
Simuling von MathWorks, Sanscript von Northwoods Software, Khoros
von Khoaol Research, SnapMaster von HEM Data, VisSim von Visual
Solutions, ObjectBench von SES (Scientific and Engineering Software)
und VisiDAQ von Advantech u. a. In der bevorzugten Ausführungsform
verwendet das System das graphische Programmiersystem LabVIEW, welches
von National Instruments erhältlich
ist.
-
Ein
Programm zur Durchführung
einer Instrumentierung, Messung, Automatisierungs- oder Simulierungsfunktion,
wie z. B. dem Messen von Phänomenen
eines Geräts
(oder Einrichtung) unter Tests (Unit under test, UUT), dem Steuern
oder Modellieren von Instrumenten, dem Steuern oder Messen eines
Systems oder Prozesses oder zum Modellieren oder Simulieren von
Geräten
können
als ein virtuelles Instrument (virtual instrument, VI) bezeichnet
werden.
-
Wie
in 1 gezeigt, kann zumindest eines der Computersysteme 82 und/oder 90 als
das „Hauptcomputersystem" bezeichnet werden,
d. h. das Computersystem, welches von dem Anwender beim Erzeugen,
Verwenden und/oder Ausführen
eines Konfigurationsdiagramms verwendet wird. Zum Beispiel kann
das Computersystem 82 als das Hauptcomputersystem bezeichnet
werden. Somit kann das Computersystem 82 eine Anzeigevorrichtung
umfassen, die in der Lage ist, eine graphische Benutzerschnittstelle
(graphical user interface, GUI) anzuzeigen. Die graphische Benutzerschnittstelle kann
jede Art von graphischer Benutzerschnittstelle umfassen, beispielsweise
in Abhängigkeit
von der Computerplattform. Die GUI kann beim Zusammenfügen, Erzeugen,
Verwenden und/oder Ausführen
eines Konfigurationsdiagramms nützlich
sein, wie es hierin beschrieben ist. Mehrere Computersysteme können auch
beim Zusammensetzen eines Konfigurationsdiagramms verwendet werden.
-
Wie
unten beschrieben kann ein Konfigurationsdiagramm ein oder mehrere
Einrichtungs-Piktogramme umfassen, die jeweils einer Einrichtung
in dem System entsprechen. Ein Konfigurationsdiagramm kann auch
ein oder mehrere Programm-Piktogramme umfassen, welche jeweils einem
Programm in dem System entsprechen. Ein Konfigurationsdiagramm kann
auch eine oder mehrere System-Piktogramme
umfassen und/oder eine oder mehrere Anwendungs-Piktogramme oder
Projekt-Piktogramme. Ein Konfigurations-Piktogramm kann verschiedene
andere Piktogramme umfassen, wie z. B. I/O Kanäle, oder Datenpunkte einer
Eirichtung. Ein Konfigurationsdiagramm kann auch Verbindungen zwischen
Piktogrammen anzeigen, wie z. B. die physischen Verbindungen zwischen
Einrichtungs-Piktogrammen und/oder Aufruf- oder Anrufer/Angerufener-Verbindungen
zwischen Programm-Piktogrammen.
-
Wie
unten beschrieben kann das Konfigurationsdiagramm nützlich beim
Darstellen der Konfiguration eines Systems sein, z. B. für Zwecke
der Dokumentation oder Spezifikation. Das Konfigurationsdesign kann
auch beim Anwenden von Programmen unter einer Vielzahl von Einrichtungen
in dem System nützlich
sein. Das Konfigurationsdiagramm kann auch beim Erzeugen von einem
oder mehreren Programmen nützlich
sein und beim Anwenden dieser erzeugten Programme in dem System.
Das Konfigurationsdiagramm kann weiter beim Anzeigen und/oder Ausführen einer
Anwendung nützlich
sein, die eine Mehrzahl von Programmen umfasst, die unter einer
Vielzahl von Einrichtungen in einem System verteilt sind. Das Konfigurationsdiagramm
kann weiter beim Steuern einer Einrichtung oder einer Programmausführung nützlich sein.
Das Konfigurationsdiagramm kann auch für andere Zwecke verwendet werden.
Die Anzeigevorrichtung kann auch in der Lage sein, ein graphisches
Programmblockdiagramm eines angewendeten Programms anzuzeigen, oder
einen anderen Quellkode eines angewandten Programms. Die Anzeigevorrichtung
kann auch verwendet werden um eine graphische Benutzerschnittstelle
anzuzeigen oder ein Front Panel eines angewandten Programms, wobei
die graphische Benutzerschnittstelle oder das Front Panel von angewandten
Programmen selektiv unter Verwendung des Konfigurationsdiagramms
angezeigt werden kann.
-
Die
Computersysteme 82 und/oder 90 können ein
Speichermedium (Speichermedien) umfassen, auf denen ein oder mehr
Computerprogramme oder Softwarekomponenten gemäß einer Ausführungsform
der vorliegenden Erfindung gespeichert sein können. Zum Beispiel kann das
Speichermedium ein oder mehrere Programme speichern, die ausführbar sind
um ein Konfigurationsdiagramm, wie hierin beschrieben, zu erzeugen,
darzustellen und/oder die Verwendung eines solchen zu ermöglichen.
Außerdem
kann das Speichermedium eine Programmierentwicklungsumgebungsanwendung speichern,
die zum Erzeugen und/oder Ausführen von
Programmen verwendet wird. Zum Beispiel kann das Speichermedium
eine graphische Programmierentwicklungsumgebungsanwendung speichern,
die verwendet wird um graphische Programme zu erzeugen und/oder
auszuführen,
wie z. B: LabVIEW. Das Speichermedium kann auch verschiedene Programme
in dem System speichern. Das Speichermedium kann auch Betriebssystemsoftware
speichern, sowie andere Software zum Betrieb des Computersystems.
-
Der
Begriff „Speichermedium" soll hierin ein Installationsmedium,
wie z. B. eine CD Rom, eine Floppy Disc 104 oder ein Bandgerät umfassen;
einen Computersystemspeicher oder Random Access Memory wie z. B.
DRAM, SRAM, EDORAM, Rambus RAM, etc.; oder einen nichtflüchtigen
Speicher wie z. B. ein Magnetmedium, wie z. B. eine Festplatte oder ein
optisches Speichermedium. Das Speichermedium kann auch andere Arten
von Speicher umfassen oder Kombina tionen davon. Zusätzlich kann
das Speichermedium in einem ersten Computer angeordnet sein, in
dem die Programme ausgeführt
werden, oder es kann in einem zweiten unterschiedlichen Computer
angeordnet sein, der sich mit dem ersten Computer über ein
Netzwerk, wie z. B. dem Internet, verbindet. Im letzteren Fall kann
der zweite Computer Programmanweisungen dem ersten Computer zur Ausführung bereitstellen.
-
Die
Softwareprogramme, welche Ausführungen
der vorliegenden Erfindung implementieren, können in einem Speichermedium
auf dem jeweiligen Computer 82 gespeichert sein, oder in
einem Speichermedium eines anderen Computers, und durch die CPU
ausgeführt
werden. Die CPU, welche Befehle und Daten von dem Speichermedium
ausführt, kann
somit ein Mittel zur Durchführung
der hierin beschriebenen Verfahren umfassen. Beispielsweise kann
die CPU, welche Befehle und Daten von dem Speichermedium ausführt, ein
Mittel zur graphischen Spezifizierung oder Erzeugung eines Konfigurationsdiagramms
umfassen, zum Erzeugen von Anwendungen oder Programmen, die ein
Konfigurationsdiagramm verwenden und/oder Mittel, die es einem Anwender
ermöglichen,
graphisch Programme zu verteilen, anzuwenden, zu konfigurieren und/oder
auszuführen
unter einer Vielzahl von verschiedenen Einrichtungen oder Knoten
in einem System, gemäß der hier
gegebenen Beschreibung.
-
2A und 2B – instrumentelle
Ausrüstung
und industrielle Automatisierungssysteme
-
Das
Folgende beschreibt Ausführungsformen
der vorliegenden Erfindung, die mit dem Erzeugen von verteilten
Anwendungen verbunden sind, welche Test-, Mess- und/oder Automatisierungsfunktionen
durchführen,
inklusive die Steuerung und/oder Modellierung von Instrumenten oder
industrieller Automatisierungshardware. Es sollte allerdings angemerkt
werden, dass die vorliegende Erfindung für eine Fülle von Anwendungen verwendet
werden kann und nicht auf instrumentelle Ausrüstung oder industrielle Automatisierungsanwendungen
beschränkt
ist. Mit anderen Worten, die folgende Beschreibung ist rein exemplarisch
und die folgende Erfindung kann in einer Vielzahl von verschiedenen
Arten von Systemen verwendet werden. Daher sind die Systeme und
Verfahren der vorliegenden Erfindung in der Lage, in jeder Art von
verschiedenen Arten von Anwendungen verwendet zu werden, inklusive
verteilten Systemen, die andere Arten von Einrichtungen umfassen.
wie z. B. Multimediageräte,
Videogeräte, Audiogeräte, Telefongeräte, Internetgeräte, Netzwerkeinrichtungen,
etc.
-
2A zeigt ein beispielhaftes Instrumentierungssystem 100,
welches Ausführungsformen
der Erfindung implementieren kann. Das System 100 umfasst
einen Host Computer 82, der mit einem oder mehreren Messinstrumenten
oder Geräten
verbunden ist. Der Host Computer 82 kann eine CPU umfassen,
einen Anzeigeschirm, Speicher und eine oder mehrere Eingabegeräte, wie
z. B. eine Maus oder eine Tastatur, wie es gezeigt ist. Jedes der
(oder zumindest eine Untergruppe von) Messgeräte kann einen Prozessor und/oder
ein programmierbares Hardwareelement umfassen und kann in der Lage
sein, in einer verteilten Anwendung Programme zu empfangen und auszuführen. Der
Computer 82 kann einen oder mehrere andere Computer über ein
Netzwerk miteinander koppeln, z. B. Computer 90, wobei
der eine oder die mehreren anderen Computer einen Teil des verteilten
Systems formen können.
Der Computer 82 kann mit dem einen oder mehreren Messgeräten zusammen
arbeiten um eine Einheit unter Test (unit under test, UUT) oder
einen Prozess 150 zu analysieren, zu messen oder zu steuern,
oder um eine Simulation eines Systems durchzuführen, wie z. B. eine „Hardware
in the Loop" Simulation.
-
Das
eine oder die mehreren Messgeräte oder
Instrumente können
ein GPIB-Instrument 112 umfassen
und eine zugehörige
GPIB Schnittstellenkarte 122, eine Datenerfassungskarte 114 und
zugehörige
Signalverarbeitungsschaltkreise 124, ein VXI-Instrument 116,
ein PXI-Instrument 118, ein Videogerät oder eine Kamera 132 und
eine zugehörige Bilderfassungs-(oder
Maschinensicht-)Karte 134, ein Bewegungssteuerungsgerät 136 und
eine zugehörige
Bewegungssteuerungs schnittstellenkarte 138, und/oder eine
oder mehrere computerbasierte Instrumentenkarten 142, um
nur einige Typen von Geräten zu
nennen. Das GPIB-Instrument 112 kann
mit dem Computer 82 über
die GPIB-Schnittstellenkarte 122 gekoppelt werden, die
von dem Computer 82 bereitgestellt wird. Auf ähnliche
Weise kann das Videogerät 132 mit
dem Computer 82 über
die Bilderfassungskarte 134 gekoppelt werden. und das Bewegungssteuerungsgerät 136 kann
mit dem Computer 82 über
die Bewegungssteuerungsschnittstellenkarte 138 gekoppelt
werden. Die Datenerfassungskarte 114 kann mit dem Computer 82 gekoppelt
werden und sie kann eine Schnittstelle über den Signalverarbeitungsschaltkreis 124 mit
der UUT bilden. Der Signalverarbeitungsschaltkreis 124 kann
einen SCXI-Unterbau umfassen (Signal Conditioning Extensions for
Instrumentation), der einen oder mehrere SCXI Module 126 umfasst.
-
Die
GPIB Karte 122, die Bilderfassungskarte 134, die
Bewegungssteuerungsschnittstellenkarte 138, und die Datenerfassungskarte 114 sind
typischerweise in einen I/O-Schlitz in dem Computer 82 eingesteckt,
wie z. B. einen PCI-Bus-Schlitz,
einen PC-Kartenschlitz, oder einen ISA, EISA oder Microchannel Bus-Schlitz, der von
dem Computer 82 bereitgestellt ist. Allerdings sind diese
Karten 122, 134, 138 und 114 zur
vereinfachten Darstellung als extern von Computer 82 dargestellt.
Diese Geräte
können auch
mit dem Computer 82 über
einen seriellen Bus oder über
andere Mittel verbunden sein.
-
Der
VXI-Unterbau oder das Instrument 116 kann mit dem Computer 82 über einen
VXI-Bus, MXI-Bus, oder einen anderen seriellen oder parallelen Bus
gekoppelt sein, der von dem Computer 82 bereitgestellt
ist. Der Computer 82 kann eine VXI-Schnittstellenlogik
umfassen, wie z. B. eine VXI, MXI oder GPIB-Schnittstellenkarte (nicht gezeigt), die
eine Schnittstelle zu dem VXI-Unterbau 116 bildet. Der
PXI-Unterbau oder Instrument kann mit dem Computer 82 durch
den PCI-Bus des Computers gekoppelt werden.
-
Ein
serielles Instrument (nicht gezeigt) kann auch mit dem Computer 82 über einen
seriellen Eingang gekoppelt werden, wie z. B. einen RS 232 Eingang,
USB (Universal Serial Bus) oder IEEE 1394 oder 1394.2 Bus, der von
dem Computer 82 bereitgestellt wird. In typischen Instrumentenkontrollsystemen
wird kein Instrument von jedem Schnittstellentyp vorhanden sein,
und tatsächlich
können
viele Systeme nur ein oder mehrere Instrumente eines einzigen Schnittstellentyps
aufweisen, wie z. B. nur GPIB Instrumente.
-
Die
Messgeräte
oder Messinstrumente können
mit einer Einheit unter Test (Unit Under Test, UUT) oder Prozess 150 gekoppelt
sein, oder sie können
gekoppelt sein, um Feldsignale zu empfangen, die typischerweise
durch Messwertgeber (Transducers) erzeugt werden. Das System 100 kann
in einer Datenerfassungs- und
Steuerungsanwendung verwendet werden, in einer Test- und Messanwendung, einer
Bilddatenverarbeitungs- oder Maschinensichtanwendung, einer Prozesssteuerungsanwendung, einer
Mensch-Maschine-Schnittstellenanwendung, einer Simulationsanwendung
oder einer Validierungsanwendung von „Hardware in the Loop".
-
2B zeigt ein beispielhaftes industrielles Automatisierungssystem 160,
welches Ausführungsformen
der Erfindung implementieren kann. Das industrielle Automatisierungssystem 160 ist ähnlich zu dem
Instrumentierungs- oder Test- und
Messsystem 100, welches in 2A gezeigt
ist. Elemente, die ähnlich
oder identisch zu Elementen in 2A sind, haben
zur Vereinfachung dasselbe Bezugszeichen. Das System 160 kann
einen Computer 82 umfassen, der mit einem oder mehreren
Geräten
oder Instrumenten verbunden ist. Der Computer 82 kann eine CPU
umfassen, einen Anzeigeschirm, Speicher, und ein oder mehrere Eingabegeräte, wie
beispielsweise eine Maus oder eine Tastatur, wie gezeigt. Jedes
der in 2B gezeigten Geräte kann
einen Prozessor und/oder ein programmierbares Hardwareelement umfassen,
und kann in der Lage sein, Programme in einer verteilten Anwendung
zu empfangen und auszuführen.
Der Computer 82 kann über
ein Netzwerk einen oder mehrere andere Computer koppeln, wie z. B.
Com puter 90, wobei der eine oder die mehreren anderen Computer
einen Teil des verteilten Systems bilden können. Der Computer 82 kann
mit dem einen oder den mehreren Geräten zusammenarbeiten, um einen
Prozess oder ein Gerät 150 zu
messen oder zu steuern. Das verteilte System kann eine Automatisierungsfunktion
durchführen,
wie z. B. MMI (man machine Interface, Mensch-Maschine-Schnittstelle), SCADA
(Supervisory Control and Data Acquisition), tragbare oder verteilte
Datenerfassung, Prozesssteuerung, fortgeschrittene Analyse oder
andere Steuerungsarten.
-
Das
eine oder die mehreren Geräte
können eine
Datenerfassungskarte 114 umfassen und eine zugehörige Signalverarbeitungsschaltung 124,
ein PXI-Instrument 118, ein Videogerät 132 und eine zugehörige Bilderfassungskarte 134,
ein Bewegungs-Steuerungsgerät 136 und
eine zugehörige
Bewegungssteuerungsschnittstellenkarte 138, ein Feldbusgerät 170 und
zugehörige
Feldbusschnittstellenkarte 172, ein PLC (programmable logic
controller) 176, ein serielles Instrument 182 und
eine zugehörige
serielle Schnittstellenkarte 184, oder ein verteiltes Datenerfassungssystem 185,
wie z. B. das so genannte Field Point System, das von National Instruments
verfügbar
ist, um nur einige Arten von Typen von Geräten zu nennen.
-
Die
Datenerfassungskarte 114, der PXI Unterbau 118,
das Videogerät 132,
und die Bilderfassungskarte 134 können mit dem Computer 82,
wie oben beschrieben wurde, verbunden sein. Das serielle Instrument 182 kann
mit dem Computer 82 über eine
serielle Schnittstellenkarte 184 gekoppelt sein, oder über einen
seriellen Eingang, wie z. B. einen RS-232 Eingang, der von dem Computer 82 bereitgestellt
wird. Der PLC 176 kann mit dem Computer 82 über einen
seriellen Eingang verbunden sein, einen Ethernet-Eingang oder eine
Proprietäre
Schnittstelle. Die Feldbusschnittstellenkarte 172 kann
in dem Computer 82 umfasst sein und über ein Feldbusnetzwerk zu
einem oder mehreren Feldbusgeräten
gekoppelt sein. Die Datenerfassungskarte 114, die serielle
Karte 184, die Feldbuskarte 172, die Bilderfassungskarte 134,
und die Bewegungssteuerungskarte 138 sind alle typischerweise
in einen 110 Schlitz in dem Computer 82 wie oben
beschrieben einge steckt. Allerdings sind diese Karten 114, 184, 172, 134 und 138 als
extern von Computer 82 für illustrative Zwecke gezeigt.
In typischen, industriellen Automatisierungssystemen wird nicht
von jedem Schnittstellentyp ein Gerät vorliegen und tatsächlich können viele Systeme
nur eines oder mehrere Geräte
eines einzigen Schnittstellentyps aufweisen, wie z. B. nur PLCs. Die
Geräte
können
mit dem Gerät
oder Prozess 150 gekoppelt sein.
-
Wie
hierin verwendet, soll der Begriff „Messgerät" oder „Instrument" dazu gedacht sein,
alle Geräte
zu umfassen, die eingerichtet sind um mit einem Computersystem verbunden
zu werden, wie es in den 2A, 2B und 3 gezeigt
ist, traditionelle „stand
alone" Instrumente
sowie andere Typen von Mess- und Steuerungsgeräten. Der Begriff „Messfunktion" kann jede Art von
Datenerfassung umfassen, Mess- oder Steuerungsfunktion, wie die, welche
durch die Instrumente implementiert wird, die in den 2A, 2B und 3 gezeigt
sind. Zum Beispiel umfasst der Begriff „Messfunktion" Erfassung und/oder
Verarbeitung eines Bildes. Wie unten beschrieben kann ein verteiltes
Programm (wie z. B. ein verteiltes graphisches Programm) erzeugt
werden, welche seine Messfunktion implementiert. Zum Beispiel kann
das Programm verwendet werden, um ein Signal zu erfassen und die
Messfunktion an dem erfassten Signal durchzuführen.
-
In
den Ausführungsformen
der 2A und 2B oben
kann eines oder mehrere der verschiedenen Instrumente mit dem Computer 82 über ein Netzwerk,
wie z. B. dem Internet, verbunden sein. In einer Ausführungsform
wählt der
Anwender ein oder mehrere Zielinstrumente oder Geräte aus einer Mehrzahl
von möglichen
Zielgeräten
aus zur Programmierung oder Konfiguration gemäß den hierin beschriebenen
Verfahren. Somit kann der Anwender ein Programm auf einem Computer,
wie z. B. auf Computer 82, erzeugen und das Programm in
Verbindung mit einem oder mehreren Zielgeräten oder Instrumenten verwenden,
die entfernt von dem Computer 82 angeordnet sind und mit
dem Computer 82 über
ein Netzwerk verbunden sind. Wie unten beschrieben, kann der Anwender,
gemäß einer
Ausführungsform
der Erfindung, ein Konfigurationsdiagramm verwenden, um gra phisch
Programme unter einer Mehrzahl von unterschiedlichen Geräten in einem
verteilten System zu erzeugen und zu verteilen oder anzuwenden.
Das Konfigurationsdiagramm kann auch dazu verwendet werden, um eine
Ausführung
der Programme zu initiieren und optional, um die Ausführung der
Programme zu steuern und/oder zu überwachen. Softwareprogramme,
die Datenerfassung durchführen,
Analysen und/oder Präsentationen,
z. B. für
Messungen, Instrumentensteuerung, industrielle Automatisierung oder
Simulationen, wie etwa in den Anwendungen, die in den 2A und 2B gezeigt
sind, können
als virtuelle Instrumente bezeichnet werden.
-
Obwohl
in der bevorzugten Ausführungsform die
hierin beschriebenen Verfahren mit Mess- und Automatisierungsanwendungen
befasst sind, inklusive der Datenerfassung/-Erzeugung, Analyse und/oder
Anzeige, und zur Steuerung oder Modellierung von instrumenteller
Ausrichtung oder industrieller Automatisierungshardware, kann die
vorliegende Erfindung, wie es oben bereits angemerkt wurde, für eine Fülle von
Anwendungen verwendet werden und ist nicht auf Mess-, Instrumentierung
oder industrielle Automatisierungsanwendungen beschränkt. Mit
anderen Worten, die 2A und 2B sind
rein beispielhaft und die vorliegende Erfindung kann in einer Vielzahl
von verschiedenen Typen von Systemen verwendet werden. Somit kann
das System und das Verfahren verwendet werden, um Konfigurationsdiagramme
zu erzeugen und zu verwenden, um Programme in verteilten Systemen
für jede
Art von unterschiedlichen Arten von Anwendungen anzuwenden.
-
Netzwerksystem:
-
Als
ein Beispiel können
die Ausführungsformen
der Erfindung verwendet werden um Programme für Netzwerksysteme zu erzeugen,
zu konfigurieren, anzuwenden und/oder auszuführen. Beispielhafte Netzwerksysteme
können
ein Hauptcomputersystem umfassen, das mit einem oder mehreren Netzwerkgeräten gekoppelt
ist, z. B. mit Schaltern, Brücken,
Routern, Hubs, Netzwerkprozessoren etc. Ein Konfi gurationsdiagramm
für ein
Netzwerksystem kann Gerätepiktogramme
umfassen, welche die verschiedenen Netzwerkgeräte darstellen, sowie Programm-Piktogramme, die
Programme in dem System darstellen. Programme können unter den Netzwerkgeräten erzeugt,
konfiguriert und/oder angewandt werden (inklusive der Änderungen
ihrer Aufrufbeziehungen) unter Verwendung des Konfigurationsdiagramms
und der Verfahren. die hierin beschrieben sind.
-
3 – Verteiltes
Messsystem
-
3 ist
ein Blockdiagramm eines beispielhaften verteilten Messsystems. Wie
gezeigt, kann ein beispielhaftes Messsystem ein Computersystem 82 umfassen,
das eine Anzeige aufweist. Das Computersystem 82 kann über ein
oder mehrere Netzwerke oder Busse mit verschiedenen Messgeräten gekoppelt
sein.
-
In
dieser beispielhaften Ausführungsform kann
der Computer 82 über
das Internet mit einem zweiten Computer 90 und einer Datenbank 92 verbunden
sein. Der Computer 82 kann mit einem PCI-PXI-Unterbau 118 verbunden
sein, der eine oder mehrere Datenerfassungskarten umfasst, welche wiederum
zu einem oder mehreren Plug and Play Analogsensoren 123 verbunden
sind oder mit anderen Sensoren 127. Der Computer 82 kann
mit einem verteilten I/O-System 185 (oder einem verteilten
Datenerfassungssystem) gekoppelt sein, wie z. B. dem Field Point
System, das von National Instruments erhältlich ist, welches wiederum
mit einem oder mehreren Plug and Play Analogsensoren 123 gekoppelt
ist oder mit anderen Sensoren 127. Der Computer 82 kann
mit einem PCI-PXI-Unterbau 118 gekoppelt sein, der eine
oder mehrere industrielle Netzwerkkarten umfasst, wie z. B. eine
CAN-Schnittstellenkarte 173 und eine serielle Schnittstellenkarte 184,
welche wiederum mit einem oder mehreren vernetzten intelligenten
Sensoren 125 gekoppelt ist. Der Computer 82 kann
mit einem PXI-System 118 und/oder verteilten I/O-System 185 gekoppelt
sein, welches wiederum mit einem oder mehreren Datenerfassungsmodulen 115 gekoppelt
ist, die in einer verdrahteten Weise, wie z. B. durch einen seriellen,
parallelen oder Netzwerk-Bus verbunden sind. Die Datener fassungsmodule 115 können mit
einem oder mehreren Plug-and Play Analogsensoren 123 gekoppelt
sein, intelligenten Sensoren 125 oder anderen Sensoren 127.
Das PXI-System 118 und/oder das verteilte I/O System 185 kann
auch mit einem oder mehreren drahtlosen Datenerfassungsmodulen 117 gekoppelt
sein, die in einer drahtlosen Weise verbunden sind. Das drahtlose
Datenerfassungsmodul 117 kann mit einem oder mehreren Plug-and
Play Analogsensoren 123 und/oder anderen Sensoren 127 gekoppelt
sein.
-
Das
beispielhafte verteilte Messsystem kann ein RIO (reconfigurable
I/O, rekonfigurierbare Eingabe/Ausgabe) System umfassen, wie es
in der provisorischen US Patentanmeldung mit der Nummer 60/312,242
und dem Titel „System
and method for graphically creating, deploying and executing programmes
in a distributed system" beschrieben
ist, die am 14. August 2001 eingereicht wurde.
-
Das
Computersystem 82 kann als die zentrale Konsole (oder als
Hauptcomputersystem) des verteilten Messsystems dienen. Die Anzeige
des Computersystems 82 kann verwendet werden um ein Konfigurationsdiagramm
des verteilten Messsystems zusammenzufügen. Das Konfigurationsdiagramm kann
verschiedene Gerätepiktogramme
umfassen, die verschiedene physische (d. h. „reale" Geräte) darstellen
bzw. diesen entsprechen, und möglicherweise
virtuellen oder simulierten Geräten,
die in den verteilten Messsystemen vorhanden sind. Das auf der Anzeige
gezeigte Konfigurationsdiagramm kann außerdem verwendet werden, um
Programme auf jedem der verschiedenen Geräte in dem verteilten Messsystem
zu erzeugen, zu konfigurieren und/oder anzuwenden.
-
Das
Hauptcomputersystem 82 kann Teil des Systems sein, das
Programme während
eines Betriebs des Systems ausführt.
Alternativ kann das Hauptcomputersystem 82 nur dafür verwendet
werden, um ein Konfigurationsdiagramm zu erzeugen und Programme
auf die verschiedenen Geräte
zu verteilen, zu konfigurieren oder anzuwenden. In dieser letzten
Ausführungsform
können
die verschiedenen Pro gramme, nach der Anwendung, ohne weiteren Einfluss
des Hauptcomputersystems 82 ausgeführt werden.
-
In
einer Ausführungsform
würde das
Konfigurationsdiagramm für
das in 3 gezeigte System dem Blockdiagramm,
welches in 3 gezeigt ist, ähnlich sehen,
d. h., gleich oder identisch im Aussehen sein. Für das physische System, welches
durch das Blockdiagramm in 3 dargestellt
ist, würde das
Konfigurationsdiagramm für
dieses System, welches auf einer Computeranzeige dargestellt ist,
somit die Erscheinung von 3 haben.
Somit ist es ein Ziel des Konfigurationsdiagramms für ein System, das
System, welches durch das Konfigurationsdiagramm repräsentiert
wird, in einer intuitiven Weise darzustellen. Andere Beispiele von
Konfigurationsdiagrammen sind in den 21A, 21B und 21C gezeigt.
Einfache Konfigurationsdiagramme, die verwendet werden, um eine
graphische Anwendung von Programmen darzustellen, sind in den 15–20 gezeigt. Die 21A, 21B und 21C zeigen
komplexere Konfigurationsdiagramme. Die 21D zeigt
einen alternativen Typ von Konfigurationsdiagramm (hier sind die
Gerätepiktogramme
einfach als Kreise gezeigt), welches einen Fluss von Temperatur-
und Druckwerte zeigt.
-
4 – Blockdiagramm
des Computersystems
-
4 ist
ein Blockdiagramm, das eine Ausführungsform
des Computersystems 82 und/oder 90, das in den 1, 2A, 2B oder 3 gezeigt
ist, darstellt. Es wird angemerkt, dass jede Art von Computersystemkonfiguration
oder Architektur wie gewünscht
verwendet werden kann und dass 4 eine
repräsentative
PC-Ausführungsform
darstellt. Es sollte außerdem
angemerkt werden, dass das Computersystem ein Computersystem für allgemeine
Zwecke sein kann, ein Computer, der auf einer VXI-Karte implementiert
ist, die auf einem VXI-Unterbau installiert ist, ein Computer, der
auf einer PXI-Karte implementiert ist, die in einem PXI-Unterbau
installiert ist, oder andere Arten von Ausführungsformen. Elemente eines
Computers, die zum Verständnis
der vorliegenden Beschreibung nicht not wendigerweise verstanden
werden müssen,
wurden aus Gründen
der Vereinfachung weggelassen.
-
Der
Computer kann zumindest eine zentrale Verarbeitungseinheit oder
CPU 160 umfassen, die mit einem Prozessor oder Host-Bus 162 gekoppelt ist.
Die CPU 160 kann aus einer Vielzahl von verschiedenen Typen
gewählt
sein, inklusive einem x86 Prozessor, wie z. B. einem Pentium, einem
Power PC-Prozessor, einer CPU von der SPARC-Familie von RISC Prozessoren
sowie von anderen. Der Hauptspeicher 166 ist mit dem Host-Bus 162 mittels eines
Speichercontrollers 164 gekoppelt. Der Hauptspeicher 166 kann
eines oder mehrere Programme speichern, die eine Ausführungsform
der Erfindung implementieren und er kann auch einen oder mehrere
Programme speichern, die an Geräten
in einem verteilten System gemäß einer
Ausführungsform
der Erfindung angewandt werden können.
Der Hauptspeicher kann außerdem
eine Programmentwicklungsumgebung speichern, Betriebssystemsoftware, sowie
andere Arten von Software zum Betrieb des Computersystems.
-
Der
Host-Bus 162 kann mit einem Erweiterungs-Bus oder einem
Input/Output-Bus 170 mittels eines
Bus-Controllers 168 oder einer Bus-Bridge-Logik gekoppelt
sein. Der Expansion-Bus 170 kann der PCI (peripheral component
interconnect) Expansions-Bus sein, obwohl andere Arten von Bus-Typen verwendet
werden können.
Der Computer 82 umfasst ein Videoanzeigeuntersystem 180,
eine Festplatte 182, eine Netzwerkschnittstelle 181,
die mit dem Expansions-Bus 170 gekoppelt ist. Der Expansions-Bus 170 kann
außerdem
verschiedene beispielhafte Geräte
umfassen, wie z. B. eine Datenerfassungskarte 114 und ein
rekonfigurierbares Messgerät
oder Messinstrument 190. Jede von sowohl der Datenerfassungskarte 114 und
dem rekonfigurierbaren Messgerät
oder Messinstrument 190 kann einen Prozessor und Speicher
umfassen und/oder ein programmierbares Hardwareelement zum Empfangen und
Ausführen
von angewandten Programmen.
-
5 – System
zur Erzeugung und Verwendung von Konfigurationsdiagrammen
-
5 illustriert
die Softwareprogramme eines beispielhaften Systems zum Erzeugen
und Verwenden von Konfigurationsdiagrammen gemäß einer Ausführungsform
der Erfindung. 5 illustriert ein beispielhaftes
System, welches die verteilte integrierte LabVIEW Entwicklungsumgebung
(integrated development environment, IDE) umfasst. Das in 5 gezeigte
System kann zum Verwalten eines verteilten Systems verwendet werden,
wie es hierin beschrieben ist.
-
Wie
gezeigt, umfasst das System einen graphischen Programmeditor oder
eine graphische Programmentwicklungsumgebung, wie z. B. einen LabVIEW
Editor 704. Das System kann auch ein oder mehrere graphische
Programme umfassen, es kann zum Beispiel ein Blockdiagramm und/oder
ein Frontpaneel 706 eines graphischen Programms umfassen.
Das Blockdiagramm und das Frontpaneel können in einer von einer Vielzahl
von graphischen Programmentwicklungsumgebungen erzeugt werden.
-
Das
System kann auch einen Systemeditor 732 umfassen. Der Systemeditor
kann zur Erzeugung eines Konfigurationsdiagramms 712 verwendet werden,
das auch als ein Systempaneel bezeichnet wird. In der vorliegenden
Anmeldung werden die Begriffe „Systempaneel" und „Konfigurationsdiagramm" austauschbar verwendet.
Das Konfigurationsdiagramm 712 kann eine Mehrzahl von Knoten
oder Piktogrammen 714 umfassen, die Gegenstände 718 in einem
System repräsentieren,
wie zum Beispiel Geräte,
Maschinen, Programme, Anwendungen, Projekte oder andere Elemente
in dem Konfigurationsdiagramm 712. Das Konfigurationsdiagramm 712 kann auch
die Beziehung zwischen Knoten illustrieren unter Verwendung von
Verbindungen oder Verknüpfungen 716,
wie es hierin beschrieben ist.
-
Der
Systemeditor 732 kann auch Konfigurationspaneele 734 umfassen,
die ähnlich
zu Eigenschaftsseiten sind. Die Konfigurationspaneele 734 können Systemkonfigurationspaneele 736 zum
Konfigurieren von unterschiedlichen Systemkonfigurationsgegenständen umfassen,
wie zum Beispiel Netzwerkparameter 738, zum Beispiel IP,
Sicherheit, etc. 740. Die Konfigurationspaneele 734 können auch
Input/Output Konfigurationspaneele 742 umfassen, um I/O-Punkte
zu konfigurieren. Die Konfigurationspaneele können auch die Fähigkeit
zur Konfigurierung von Datenpunkten (wie zum Beispiel Tags) 744 umfassen,
inklusive Verfahren, Eigenschaften und Paneelen 746. Die
Konfigurationspaneele 734 können auch Dienst-Konfigurationspaneele 750 umfassen, um
verschiedene Dienste, wie unten beschrieben, zu konfigurieren.
-
Das
in 5 beschriebene System kann für eine Mehrzahl von unterschiedlichen
Zwecken verwendet werden. Das System kann verwendet werden, um ein
System zu repräsentieren,
Programme in dem System anzuwenden, Daten unter Geräten oder Programmen
in dem System zu verteilen, und verschiedene andere Funktionen auszuführen. Das
System kann verschiedene Ansichtsebenen bereitstellen. Zum Beispiel
kann das Konfigurationsdiagramm des Systems eine Ansicht des Gesamtsystems
bieten, das heißt,
eine Gesamtsystemansicht; eine individuelle Systemansicht, das heißt, eine
Ansicht eines individuellen Systems innerhalb des Gesamtsystems;
eine Anwendungsansicht, das heißt,
eine Ansicht der verschiedenen Programme oder Softwareanwendungen,
die in dem System vorliegen; und eine Programmentwicklungsansicht,
wie zum Beispiel eine Ansicht einer Programmentwicklungsumgebung,
wie zum Beispiel LabVIEW, Visual Basic, etc. In einer Ausführungsform
umfasst das System eine enge Integration mit graphischen Programmentwicklungsumgebungen,
wie zum Beispiel LabVIEW. Das Konfigurationsdiagramm kann das System
auch in einer hierarchischen Weise darstellen und der Anwender kann
in dem Konfigurationsdiagramm in der Lage sein, nach „unten
zu bohren", um größere Details
von verschiedenen Untersystemen oder Einrichtungen zu betrachten.
-
Flussdiagramme:
-
Die
hierin beschriebenen Flussdiagramme zeigen verschiedene Ausführungsformen
der vorliegenden Erfindung und verschiedene andere Ausführungsformen sind
ebenfalls angedacht. Es sollte angemerkt werden, dass verschiedene
Schritte in den hierin beschriebenen Flussdiagramme gleichzeitig oder
in anderer Reihenfolge stattfinden können, als sie hier gezeigt
sind. Weiter sind einige Schritte optional und können weggelassen werden und/oder
zusätzliche
Schritte, die nicht gezeigt sind, können wie gewünscht hinzugefügt werden.
Allgemein, wenn der Zusammenhang es so anzeigt, können Schritte
in den Flussdiagrammen unten automatisch oder über Programme durchgeführt werden,
d. h. durch ein Softwareprogramm, und nicht durch ein manuelles Einschreiten
eines Anwenders.
-
6 – Flussdiagramm
-
6 ist
ein Flussdiagramm, das einen Betrieb des Anwenders illustriert beim
Erzeugen oder Zusammensetzen eines Konfigurationsdiagramms, das
ein verteiltes System repräsentiert,
und zeigt Programm-Piktogramme an, die Programmen entsprechen, die
in dem verteilten System vorliegen und das Konfigurieren oder Anwenden
von einem oder mehreren Programmen an verschiedenen Einrichtungen
in dem verteilten System. 6 zeigt
eine Ausführungsform
der Erfindung und es sollte angemerkt werden, dass verschiedene
Ausführungsformen
der Erfindung verwendet werden können,
um Konfigurationsdiagramme zu erzeugen, zu betrachten und zu Verwenden
unter Verwendung der Konzepte oder Methoden, die hierin beschrieben
sind.
-
Wie
gezeigt, kann ein Anwender oder Entwickler in Schritt 202 ein
Konfigurationsdiagramm zusammensetzen oder erzeugen, welches Einrichtungs-Piktogramme umfasst,
die Einrichtungen in dem verteilten System repräsentieren. Somit kann der Anwender
in einem System, welches zwei oder mehr Einrichtungen umfasst, die
miteinander gekoppelt sind, wie zum Beispiel durch ein Netzwerk,
einen seriellen oder parallelen Bus oder durch drahtlose Mittel
etc., ein Konfigurationsdiagramm erzeugen oder zusammenbauen, welches
ein Einrichtungs-Piktogramm für
jede der Einrichtungen umfasst, oder eine Untergruppe der Einrichtungen,
die in dem System vorhanden sind. Das Konfigurationsdiagramm kann
auch Programm-Piktogramme umfassen, die Programmen entsprechen,
die in dem System vorhanden sind, wie zum Beispiel in den verschiedenen
Einrichtungen.
-
In
einer Ausführungsform
kann der Anwender manuell Einrichtungs-Piktogramme von einer graphischen Benutzerschnittstelle
auswählen,
zum Beispiel aus einer Palette oder einem Menü, um in dem Konfigurationsdiagramm
angezeigt zu werden. Der Anwender kann auch die Einrichtungs-Piktogramme
an dem Konfigurationsdiagramm verbinden, wie zum Beispiel durch
Nutzung eines Zeigegeräts. Zum
Beispiel kann der Anwender beim Erzeugen oder modifizieren eines
Konfigurationsdiagramms, zum Beispiel durch Drag and Drop, ein erstes
Einrichtungs-Piktogramm mit einem zweiten Einrichtungs-Piktogramm
zuordnen oder sonst wie verbinden. Zum Beispiel kann der Anwender
ein Zeigegerät (wie
zum Beispiel eine Maus) verwenden und möglicherweise ein „Verdrahtungswerkzeug-Piktogramm" auf der Anzeige
verwenden, um ein erstes Einrichtungs-Piktogramm mit einem zweiten Einrichtungs-Piktogramm
zu verbinden. Dies kann dazu führen,
dass eine Verbindung, zum Beispiel ein Draht, zwischen den Einrichtungs-Piktogrammen
erscheint, um eine Beziehung oder eine Kopplung zwischen den zwei
(oder mehr) Einrichtungs-Piktogrammen anzuzeigen.
-
In
einer Ausführungsform
kann das Konfigurationsdiagramm automatisch oder über ein
Programm durch das Computersystem 82 oder durch ein separates
Serversystem 90 erzeugt werden, basierend auf einer automatischen
Erkennung von Einrichtungen, die mit dem Computersystem 82 gekoppelt sind.
Wie hierin verwendet, bedeuten die Begriffe „durch ein Programm" oder „automatisch", dass die bestimmte
Funktion durch Software durchgeführt wird,
im Gegensatz zu Funktionen, die manuell durch den Anwender durchgeführt werden.
Zum Beispiel kann eine Plug and Play Software oder eine ähnliche Entdeckungssoftware
Einrichtungen entdecken, die in dem System vorhanden sind und automatisch
Einrichtungs-Piktogramme in dem Konfigurationsdiagramm anzeigen,
welche diese entdeckten Geräte repräsentieren.
Die Software kann auch automatisch Verbin dungen oder Verknüpfungen
zwischen den Einrichtungs-Piktogrammen anzeigen, welche die entdeckten
Busse oder Schnittstellen anzeigen, mit denen die Einrichtungen
verbunden sind. In einer weiteren Ausführungsform kann zumindest ein
Teil des Konfigurationsdiagramms automatisch oder durch ein Programm
erzeugt werden und ein Teil des Konfigurationsdiagramms kann zumindest
teilweise durch eine manuelle Eingabe des Anwenders erzeugt werden.
Software kann zum Beispiel Einrichtungs-Piktogramme und Verknüpfungen,
die einer Untergruppe der Einrichtungen in dem System entsprechen,
entdecken und anzeigen, und der Anwender kann Einrichtungs-Piktogramme
auswählen
(und „verdrahten" oder verbinden),
die anderen (zum Beispiel nicht entdeckten oder virtuellen) Einrichtungen aus
einer Palette oder einem Menü entsprechen.
-
Die
Einrichtungs-Piktogramme haben vorzugsweise ein Aussehen, welches
mit demjenigen der Einrichtung korrespondiert, das sie darstellen. Dies
erlaubt es dem Betrachter leicht zu erkennen und zu verstehen, welche
Einrichtungen in dem verteilten System vorhanden sind. In einer
Ausführungsform
können
Informationen in der Nähe
der verschiedenen Einrichtungs-Piktogramme angezeigt werden, um
Informationen über
die Einrichtungen anzuzeigen, wie zum Beispiel den Typ der Einrichtung,
den geographischen Ort der Einrichtung, Kalibrierungsinformationen,
etc. Diese Informationen können
selektiv angezeigt werden, wenn der Anwender ein entsprechendes
Einrichtungs-Piktogramm auswählt (zum
Beispiel durch einen rechten Mausklick).
-
Die
Verbindung, die zwischen zwei Einrichtungs-Piktogrammen angezeigt
wird, kann kontextsensitiv sein. Mit anderen Worten, die Verbindung, die
angezeigt ist oder auf der Anzeige erzeugt wird, kann einen Kontext
oder ein Aussehen haben, welches mit der Art der Einrichtungen verknüpft ist,
die verbunden werden oder die mit der Art der physischen Verbindung
zwischen den jeweiligen Einrichtungen verknüpft ist. Beispielsweise kann
der PCI-Bus mit einer ersten Art von visueller Darstellung gezeigt
sein, eine USB-Verbindung (universal serial bus) kann mit einer
zweiten Art von visueller Darstellung gezeigt sein und eine Ethernet- Verbindung kann mit
einer dritten Art von visueller Darstellung gezeigt sein. Die 21C zeigt ein beispielhaftes Konfigurationsdiagramm
mit einer kontextsensitiven Verbindungsdarstellung. Alternativ oder
zusätzlich
kann die Verbindung, welche angezeigt oder auf der Anzeige erzeugt
wird, einen Kontext oder ein Aussehen haben, das mit der Datenart
der Daten verbunden ist oder dem Typ von Material, welches zwischen
den Einrichtungen übertragen
wird. In einer Ausführungsform
kann eine Plug- and Play-Software oder eine andere ähnliche
Entdeckungssoftware Programme entdecken, die in dem System vorhanden
sind und automatisch oder durch ein Programm in dem Konfigurationsdiagramm
Programm-Piktogramme anzeigen, welche diese entdeckten Programme
darstellen. Die Software kann auch automatisch Verbindungen oder
Verknüpfungen
zwischen den Programm-Piktogrammen anzeigen, welche die entdeckten
Anwendungsbeziehungen der Programme anzeigen. In einer weiteren
Ausführungsform
können
entsprechende Teile des Konfigurationsdiagramms automatisch oder
durch ein Programm erzeugt werden und ein Teil des Konfigurationsdiagramms
kann zumindest teilweise basierend auf einer manuellen Eingabe des Anwenders
erzeugt werden. Beispielsweise kann Software Programm-Piktogramme
und Verknüpfungen,
die einer Untergruppe der Programme in dem System entsprechen, entdecken
und anzeigen und der Anwender kann eine graphische Benutzeroberfläche nutzen,
um andere Programme zu registrieren, die in dem System vorhanden
sind. Die Programm-Piktogramme können
direkt in dem Konfigurationsdiagramm angezeigt werden, zum Beispiel nahe
der Geräte
in der sie vorhanden sind. Alternativ können die Programm-Piktogramme
zuerst auf einer separaten Palette oder einem Fenster erscheinen, zum
Beispiel zur Anwendung auf die verschiedenen Einrichtungen. Der
Anwender kann manuell „Verbinde-" oder „Verdrahte-" Verknüpfungen
zwischen verschiedenen Programm-Piktogrammen verwenden, um Aufrufbeziehungen
unter den Programmen herzustellen oder zu modifizieren, wie es weiter
unten beschrieben werden wird.
-
In
einer Ausführungsform
kann das Konfigurationsdiagramm betrieben werden, um eine Typüberprüfung von
Verbindungen zwischen Einrichtungs- Piktogrammen durchzuführen, um
zum Beispiel zu verifizieren, dass eine erste Einrichtung, die einem
ersten Einrichtungs-Piktogramm entspricht, mit einer zweiten Einrichtung,
die einem zweiten Einrichtungs-Piktogramm entspricht, zusammenarbeiten
kann. Wenn der Anwender zum Beispiel eine Verknüpfung zwischen einem ersten
Einrichtungs-Piktogramm und einem zweiten Einrichtungs-Piktogramm zieht,
kann eine Software den Schnittstellentyp der zwei Einrichtungen
analysieren, um sicherzustellen, dass die Verbindung in Ordnung
ist. Das Konfigurationsdiagramm kann auch eingerichtet sein, um
eine Typüberprüfung von
Verbindungen zwischen Programm-Piktogrammen durchzuführen, um
zum Beispiel zu verifizieren, dass ein erstes Programm, welches
einem ersten Programm-Piktogramm entspricht, ein zweites Programm
aufrufen kann (oder von diesem aufgerufen werden kann), welches
einem zweiten Programm-Piktogramm entspricht. Wenn der Anwender
zum Beispiel eine Verknüpfung zwischen
einem ersten Programm-Piktogramm und einem zweiten Programm-Piktogramm
zieht, kann eine Software die Programmtypen der zwei Programme analysieren
um sicherzustellen, dass der Aufruf durchgeführt werden kann.
-
Zusätzlich können Programm-Piktogramme auch
ein Aussehen haben, welches den Typ von Programm anzeigt, zum Beispiel
ein graphisches Programm, ein textbasiertes Programm, ein Hardwarekonfigurationsprogramm,
etc. Außerdem
kann die Verbindung, welche zwischen zwei Programm-Piktogrammen
angezeigt ist, kontextsensitiv sein. Zum Beispiel kann die Verbindung
zwischen zwei Programm-Piktogrammen einen Kontext oder ein Aussehen
haben, der mit der Art der Verbindung zwischen den Programmen assoziiert
ist, zum Beispiel Anrufer/Angerufener und Richtung (zum Beispiel
unter Verwendung eines Pfeils), Weiterleiten von Ereignissen, etc.
-
Das
Konfigurationsdiagramm kann verwendet werden, um alle gewünschten
Systemkomponenten zu definieren, inklusive den Messphänomenen, den
Signalwertgebern, Verbindungsblöcken,
Verkabelungen, Messhardware und Programmkomponenten. Das Konfigurationsdiagramm
kann außerdem verwendet
werden, um ein verteiltes Verwalten der Systemkomponenten zu ermöglichen,
inklusive der verteilten Definierung von Komponenten, der Entdeckung
von lokalen und entfernten Komponenten, die vorhanden sind und virtuell
sind, Webdienst basierte Interaktionen, etc.
-
In
einer Ausführungsform
kann der Anwender ein Konfigurationsdiagramm zusammensetzen, welches
ein System repräsentiert,
das von dem Anwender gewünscht
ist. Somit kann der Anwender unter Einrichtungs-Piktogrammen aus
einer Palette wählen
und ein Konfigurationsdiagramm erzeugen, welches ein gewünschtes
System repräsentiert.
In dieser Ausführungsform
ist das Konfigurationsdiagramm eine Spezifikation eines gewünschten
Systems. Ein Konfigurationsdiagramm kann außerdem einen ersten Teil umfassen,
der ein tatsächliches System
repräsentiert
(mit einem oder mehreren physisch vorhandenen Einrichtungen) und
einen zweiten Teil, der ein gewünschtes
System repräsentiert
(mit einem oder mehreren nicht vorhandenen Einrichtungen).
-
In
einer Ausführungsform
kann der Anwender das Konfigurationsdiagramm als ein Mechanismus
zum Spezifizieren von Einrichtungen verwenden, die von einem Verkäufer zu
kaufen sind. Zum Beispiel kann der Anwender ein Konfigurationsdiagramm
zusammensetzen, welches Einrichtungs-Piktogramme umfasst (und/oder
Programm-Piktogramme), welche Einrichtungen und/oder Programme repräsentieren,
die der Anwender zu verwenden oder für sein/ihr System zu kaufen
wünscht.
Der Anwender kann dann mit einem Servercomputersystem eine Verbindung
aufbauen und das Konfigurationsdiagramm als eine Spezifikation für die Einrichtungen und/oder
Programme bereitstellen, die der Anwender zu kaufen wünscht. Das
Servercomputersystem, welches an einer Herstellungseinrichtung angeordnet sein
kann, kann das Konfigurationsdiagramm empfangen, die gewünschten
Einrichtungen (und/oder Programme) aus dem Konfigurationsdiagramm
bestimmen und dem Anwender Informationen bereitstellen, die die
Gesamtkosten für
die angefragten Einrichtungen (und/oder Programme) anzeigen. Der Anwender
kann dann entscheiden, ob er eine oder mehrere der empfohlenen Einrichtungen
(und/oder Programme) von dem Servercomputersystem kaufen möchte. Diese
Einrichtungen können
dann zu dem Anwender gesandt werden. In einer weiteren Ausführungsform
kann der Server programmgesteuert die Einrichtungen und/oder Programme
abfragen, die in dem System des Anwenders vorhanden sind und ein Konfigurationsdiagramm
erzeugen, das auf dem Computersystem des Anwenders angezeigt wird
und den aktuellen Zustand des Systems des Anwenders darstellt. Der
Anwender kann dann Einrichtungs-Piktogramme und/oder Programm-Piktogramme
von einer Palette auf dem Server oder dem Client Computer hinzufügen, um
gewünschte
Modifikationen des Systems des Anwenders anzuzeigen. Dieses aktualisierte
Konfigurationsdiagramm kann dann zurück zu dem Server als eine Kaufanfrage,
wie oben beschrieben, bereitgestellt werden.
-
In
Schritt 204 kann der Anwender ein oder mehrere Programme
erzeugen, welche eine gewünschte
Funktion innerhalb des verteilten Systems durchführen. Alternativ oder zusätzlich kann
eines oder mehrere Programme automatisch oder durch ein Programm
erzeugt werden (durch ein Softwareprogramm erzeugt werden), basierend
auf den Eingaben des Anwenders oder bestimmten Anforderungen. Beispielsweise
kann das Computersystem eine graphische Benutzerschnittstelle anzeigen,
die von dem Anwender verwendet wird, um Anforderungen oder einen
gewünschten
Betrieb eines Programms einzugeben. Das System kann dann mittels
eines Programms ein Programm basierend auf diesen Anforderungen
erzeugen. Diese durch ein Programm erzeugten Programme können von
dem Computersystem 82 des Anwenders ausgeführt werden,
oder von einem separaten Servercomputersystem 90.
-
Der
Anwender (oder das Computersystem) kann eines oder mehrere textbasierte
Programme in textbasierten Programmiersprachen wie zum Beispiel
C, C++, Fortran, Basic, Kobol, Java, etc. erzeugen. Softwareprogramme
können
erzeugt oder verwendet werden, welche Softwareobjekte oder Softwarekomponenten,
wie zum Beispiel C++ Objekte, Aktiv X-Steuerungen, Java-Objekte,
etc. sind. Der Anwender kann auch ein oder mehrere graphische Programme
in verschiedenen graphi schen Programmentwicklungsumgebungen erzeugen.
In der bevorzugten Ausführungsform
umfasst das Computersystem das graphische Programmierentwicklungssystem
von LabVIEW zur Erzeugung von LabVIEW Programmen. Wie unten beschrieben,
kann der Anwender Programme erzeugen und/oder modifizieren unter
Verwendung des Konfigurationsdiagramms. Dieser Betrieb ist unter
Bezugnahme auf 26, 27, 32 und 33 diskutiert.
-
Alternativ
kann der Anwender einfach eines oder mehrere zuvor existierende
Programme verwenden, die zuvor erzeugt wurden. Der Anwender kann
Programm verwenden, die auf dem Computersystem 82 gespeichert
sind, oder auf irgendeinem der verschiedenen entfernten Einrichtungen
gespeichert sind. Zusätzlich,
wo das Computersystem 82 an ein Netzwerk gekoppelt ist,
wie zum Beispiel dem Internet, kann der Anwender Programme verwenden, die
auf einem Server (wie zum Beispiel Server 90) gespeichert
sind, der mit dem Netzwerk gekoppelt ist.
-
In
einer Messanwendung kann beispielsweise ein Server bei National
Instruments verschiedene Messanwendungen oder Programme speichern, oder
beherbergen, die von jedem Anwender, oder nur von registrierten
Anwendern, verwendet werden können.
Der Anwender kann sich dazu entscheiden, mit einem Server zu verbinden
und Piktogramme zu betrachten, die den Programmen, Anwendungen oder Projekten
entsprechen, die auf dem Server vorliegen und diese Programm-Piktogramme (oder
Anwendungs- oder Projekt-Piktogramme) in dem Konfigurationsdiagramm
unter Verwendung von graphischen Zuordnungstechniken, die hierin
beschrieben sind einbauen. Der Anwender kann ein Programm durch Ziehen
und Fallenlassen (Drag and Drop) eines Programm-Piktogramms von
einer Palette kaufen, die von dem Server 90 auf dem Konfigurationsdiagramm des
Anwenders angezeigt wird. Der Anwender kann dazu veranlasst werden,
eine Zahlung zu veranlassen, um Programme von einem Server einer
dritten Person zu kaufen. Wie oben beschrieben, kann der Anwender
außerdem
wählen,
sich mit einem Server zur programmgesteuerten Erzeugung von Programmen
zu verbinden.
-
Der
Anwender kann auch ein oder mehrere Programme erzeugen, welche eine
gewünschte Funktion
innerhalb des verteilten Systems durchführen unter Verwendung des Konfigurationsdiagramms.
Zum Beispiel kann der Anwender ein graphisches Programm erzeugen,
welches mit einem oder mehreren Messgeräten kommuniziert, indem er entsprechende
Einrichtungs-Piktogramme in das graphische Programmdiagramm (oder
der Benutzerschnittstelle) durch Ziehen und Fallenlassen überführt. Als
ein Beispiel kann der Anwender ein LabVIEW Blockdiagramm öffnen und
eine „While
Loop" Struktur erzeugen.
Der Anwender kann dann Einrichtungs-Piktogramme, die Sensoren entsprechen,
in die „While
Loop" Struktur ziehen
und fallenlassen. Dies kann dazu führen, dass das graphische Programmdiagramm
konfiguriert wird, um auf diese Sensoren zuzugreifen und Daten auszulesen,
die von diesen Sensoren produziert werden. Dieser Betrieb wird unter
Bezugnahme auf die 26 und 27A–E beschrieben.
Der Anwender kann auch Piktogramme, welche Datenpunkte oder I/O
Kanäle repräsentieren,
in das graphische Programmdiagramm ziehen und fallenlassen (oder
die Benutzerschnittstelle), um das graphische Programm so zu konfigurieren,
dass dieses auf die Datenpunkte oder I/O-Kanäle zugreift (d. h. liest oder
schreibt). Programme können
auch in Antwort auf andere Handlungen, die von dem Anwender durchgeführt werden, erzeugt
und/oder modifiziert werden, wie es hierin beschrieben ist.
-
In
Schritt 206 kann das System eine über Piktogramme angezeigte
Beziehungsansicht der verschiedenen Programme anzeigen, wie zum
Beispiel graphische Programme, die in dem System vorhanden sind.
Die Piktogrammbeziehungsansicht kann Piktogramme umfassen („Programm-Piktogramme"), die verschiedene
Programme repräsentieren,
wobei die Programm-Piktogramme mit Verknüpfungen angeordnet und/oder
verbunden sind, die ihre Beziehung anzeigen. Die Programm-Piktogramme
können nahe
zu und/oder durch eine Verknüpfung
mit den jeweiligen Einrichtungs-Piktogrammen verbunden sein, die
den Einrichtungen entsprechen, in denen die Programme gespeichert
sind. Dies kann visuell anzeigen, welche Programme auf welchen Einrichtungen
gespeichert sind. Alternativ kann die Piktogramm-Beziehungsansicht
der verschiedenen Programme separat angezeigt werden ohne die Einrichtungs-Piktogramme.
Die Piktogrammbeziehungsansicht kann eine objektorientierte Ansicht
umfassen, eine hierarchische Ansicht, eine Baumstrukturansicht,
eine Datenflussansicht, eine Ausführungsflussansicht, eine Steuerungsflussansicht
oder Kombinationen davon.
-
In
dem Fall eines Programms, welches als eine Hierarchie eines Hauptprogramms
und einer oder mehrere Unterprogramme konfiguriert ist, kann das
System somit eine Hierarchieansicht anzeigen, die ein Piktogramm
umfasst, welches das Hauptprogramm repräsentiert und ein Piktogramm,
welches jedes der ein oder mehreren Unterprogramme repräsentiert.
Die Verhältnisansicht
kann auch Verbindungen oder Verknüpfungen zwischen den Programm-Piktogrammen
anzeigen. In der Hierarchieansicht sind die Programm-Piktogramme
so angeordnet und vorzugsweise verbunden, um visuell die Hierarchie
anzuzeigen. In dem Fall einer Mehrzahl von Softwareobjekten, die
konfiguriert sind, um Verfahren aufzurufen und Ereignisse aneinander
auszulösen,
kann das System eine objektorientierte Ansicht anzeigen, die ein
Piktogramm umfasst, welches jedes der Programme repräsentiert
und möglicherweise
Verbindungen, welche das Aufrufen des Verfahrens und/oder Ereignisbenachrichtigungen
anzeigen. In dem Fall eines graphischen Programms, welches als eine
Hierarchie eines graphischen Hauptprogramms und ein oder mehrerer
graphischer Unterprogramme konfiguriert ist (zum Beispiel ein Haupt-VI
und ein oder mehrere Unter-VIs) kann das System eine hierarchische
Ansicht anzeigen, die ein Piktogramm umfasst, welches jedes der
graphischen Hauptprogramme repräsentiert,
ein Piktogramm, welches jedes der ein oder mehreren graphischen Unterprogramme
repräsentiert
und Verbindungen zwischen den Programm-Piktogrammen, um visuell die
Hierarchie anzuzeigen. Ein Beispiel einer hierarchischen Ansicht
von graphischen Programmen ist in den 15–20 und 21B gezeigt.
Dies erlaubt es dem Betrachter die Programme, die in dem System vorhanden
sind, einfach zu betrachten, welche beim Konfigurieren des verteilten
Systems verwendet werden können.
In einer weiteren Ausführungsform können die
Programm-Piktogramme, die in einer Einrichtung vorhanden sind, einfach
angezeigt werden ohne irgendeine Art von Beziehungsansicht.
-
Die
Piktogrammbeziehungsansicht der verschiedenen Softwareprogramme
kann in einem separaten Fenster an der Anzeige angezeigt werden oder
in dem Konfigurationsdiagramm angezeigt werden. Wo beispielsweise
die meisten oder gar sämtliche
der Programme ursprünglich
in dem Hauptcomputersystem 82 umfasst sind, können die
Programm-Piktogramme in dem Konfigurationsdiagramm nahe zu dem Einrichtungs-Piktogramm
angezeigt werden (oder mit dem Einrichtungs-Piktogramm verbunden angezeigt werden),
welches dem Hauptcomputersystem 82 entspricht oder in einem
separaten Fenster, um ein Überfrachten
des Konfigurationsdiagramms zu vermeiden. In einer Ausführungsform kann
der Anwender verschiedene Ansichten des Konfigurationsdiagramms,
wie hierin beschrieben, auswählen.
-
In
Schritt 206 kann das System auch eine Piktogrammbeziehungsansicht
der verschiedenen Einrichtungen anzeigen, die innerhalb des Systems vorhanden
sind. Beispielsweise kann der Anwender eine Menüoption auswählen, wie beispielsweise in 18 gezeigt, um die Anrufer/Angerufener-Beziehungen
zwischen unterschiedlichen Einrichtungen anzuzeigen, die in dem
verteilten System vorhanden sind.
-
In
Schritt 208 kann der Anwender graphisch Programmanwendungen
und/oder Aufrufe unter Verwendung des Konfigurationsdiagramms konfigurieren.
Der Anwender kann graphisch Programmanwendungen und/oder Aufrufe
konfigurieren, in dem er dem Konfigurationsdiagramm graphische Benutzereingaben
bereitstellt, um Piktogramme anderen Piktogrammen zuzuordnen (z.
B. durch Drag and Drop), indem er Verbindungen zwischen Piktogrammen ändert, etc.
-
In
einer Ausführungsform
kann der Anwender beispielsweise verschiedene Programm-Piktogramme
auswählen,
wie zum Beispiel graphische Programm- Piktogramme, aus der Beziehungsansicht (innerhalb
oder außerhalb
des Konfigurationsdiagramms) und diese den unterschiedlichen Einrichtungs-Piktogrammen
zuordnen (zum Beispiel durch Drag and Drop), die in dem Konfigurationsdiagramm enthalten
sind. Der Anwender kann auch ein Programm-Piktogramm auswählen und
das Programm-Piktogramm mit einem anderen Programm-Piktogramm in dem
Konfigurationsdiagramm zuordnen. Dies kann eine Anwendung eines
Programms in einem anderen Gerät
verursachen, oder es kann eine Programmaufrufbeziehung (Anrufer/Angerufener-Beziehung)
zwischen Programmen konfigurieren, oder es kann eine andere Art
von Betrieb verursachen. Zum Beispiel kann der Betrieb von zugeordneten
Programm-Piktogrammen mit Einrichtungs-Piktogrammen (oder anderen
Programm-Piktogrammen) in dem Konfigurationsdiagramm dazu dienen,
die entsprechenden Programme auf den verschiedenen Einrichtungen,
die den Einrichtungs-Piktogrammen entsprechen, entweder sofort oder
wenn der Anwender den Befehl „Ausführen" auswählt, anzuwenden.
-
Das
Anwenden eines Programms kann folgendes umfassen:
- 1.
Bewegen des Programms von einer ersten Einrichtung zu einer zweiten
Einrichtung (wobei das Programm von der ersten Einrichtung gelöscht wird),
- 2. Kopieren des Programms von einer ersten Einrichtung zu einer
zweiten Einrichtung (wobei das Programm auf der ersten Einrichtung
gespeichert verbleibt).
- 3. Übertragen
oder Bewegen des Programms von einer ersten Einrichtung zu einer
zweiten Einrichtung zur entfernten Durchführung auf der zweiten Einrichtung,
wobei das Programm, welches zu der zweiten Einrichtung bewegt wird,
zur Ausführung durch
ein Programm auf der ersten Einrichtung angewendet wird, und wobei
zumindest ein Programm auf der ersten Einrichtung konfiguriert oder
modifiziert sein kann, um das bewegte Programm auf der zweiten Einrichtung
aufzurufen;
- 4. Übertragen
des entfernten Ausführungsprogramms
zu einer zweiten Einrichtung, wobei das Programm ursprünglich entfernt
auf der ersten Einrichtung angewandt werden sollte, und nach dem
Betrieb wird das Programm entfernt auf der zweiten Einrichtung aufgerufen,
wobei die Fern-Aufrufung durch ein Programm oder eine Anwendung
auf einer anderen Einrichtung durchgeführt wird, wie zum Beispiel
dem Hauptcomputersystem (11);
oder
- 5. Erzeugen eines Rufs oder eines Aufrufens in einem Programm
auf der zweiten Einrichtung, um das Programm auf der ersten Einrichtung
aufzurufen, wobei das Programm auf der ersten Einrichtung verbleibt,
und wobei zumindest ein Programm auf der zweiten Einrichtung konfiguriert oder
modifiziert werden kann, um das Programm auf der ersten Einrichtung
aufzurufen (12).
-
Weitere
Details des Anwenden von Programmen auf verschiedenen Einrichtungen
sind unter Bezugnahme auf die Flussdiagramme der 9–12 beschrieben
und der Bildschirmkopien der 15–20. Verschiedene andere Anwendungsoperationen
sind ebenfalls angedacht.
-
Als
ein weiteres Beispiel kann in einer Ausführungsform der Anwender eine
Verknüpfung
oder eine Verbindung zwischen zwei Programm-Piktogrammen ziehen,
um eine Aufrufbeziehung zwischen den Programm-Piktogrammen zu konfigurieren.
Der Anwender kann zum Beispiel ein Anzeigegerät an einem ersten Programm-Piktogramm
positionieren und eine Verknüpfung
von dem ersten Programm-Piktogramm zu einem zweiten Programm-Piktogramm ziehen.
Die angezeigte Verknüpfung
kann einen Pfeil umfassen oder andere graphische Mittel, um die Richtung
der Aufrufung anzuzeigen, das heißt, dass das erste Programm-Piktogramm das zweite
Programm-Piktogramm aufruft und nicht umgekehrt. Dieser Vorgang
des Ziehens der Verknüpfung
zwischen den ersten und zweiten Pro gramm-Piktogrammen kann dazu
führen,
dass das erste Programm, welches von dem ersten Programm-Piktogramm
repräsentiert
wird, modifiziert wird, um das zweite Programm aufzurufen, welches
von dem zweiten Programm-Piktogramm repräsentiert wird. In einer Ausführungsform
kann der Quellkode des ersten Programms angezeigt werden oder eine
graphische Benutzeroberfläche
kann angezeigt werden. so dass der Anwender genauer konfigurieren
kann. wo und wie das erste Programm das zweite Programm aufruft.
-
Der
Anwender kann auch eine existierende Verknüpfung oder Verbindung auswählen, die
zwischen zwei Programm-Piktogrammen angezeigt wird und er kann das
Ende von einer Verknüpfung
mit einem anderen Programm-Piktogramm assoziieren (zum Beispiel
durch graphisches Modifizieren oder durch Drag and Drop), um eine
Aufrufbeziehung unter den Programmen zu ändern. Das Konfigurations-Piktogramm
kann beispielsweise zuerst eine Verknüpfung anzeigen, die ein erstes
Programm-Piktogramm mit einem zweiten Programm-Piktogramm verbindet,
und anzeigt, dass ein erstes Programm, welches durch das erste Programm-Piktogramm
angezeigt wird, ein zweites Programm aufruft, welches durch das
zweite Programm-Piktogramm repräsentiert
wird. Der Anwender kann das Ende der Verknüpfung nahe zu dem zweiten Programm-Piktogramm auswählen und
dieses Ende der Verknüpfung
graphisch bewegen oder zu einem dritten Programm-Piktogramm ziehen,
um das erste Programm zu konfigurieren, um ein drittes Programm,
welches durch das dritte Programm-Piktogramm repräsentiert wird,
aufzurufen.
-
Als
ein weiteres Beispiel kann der Anwender ein Einrichtungs-Piktogramm
auswählen,
oder ein Piktogramm, welches einen Datenpunkt oder einen I/O-Kanal
repräsentiert,
und das Einrichtungs-Piktogramm mit einem Programm-Piktogramm in dem Konfigurationsdiagramm
assoziieren (zum Beispiel durch Drag and Drop). Dies kann zur Erzeugung
eines Programms verwendet werden, und kann zum Beispiel die Erzeugung
von Kode in dem Programm verursachen, um auf die Einrichtung, den
Datenpunkt oder den I/O-Kanal zuzugreifen. Bei spielsweise kann ein
Piktogramm, welches eine Einrichtung repräsentiert, einen Datenpunkt
und/oder einen I/O-Kanal mit dem Quellkode oder der Benutzerschnittstelle
eines Programms verbunden werden oder darauf abgelegt werden, wie
zum Beispiel dem Blockdiagramm oder Frontpaneel eines graphischen
Programms. Dies kann dazu führen,
dass unterschiedliche Handlungen durchgeführt werden. wie es unten beschrieben
wird.
-
Verschiedene
andere Handlungen, welche das Konfigurationsdiagramm verwenden,
sind ebenfalls angedacht.
-
Der
Begriff „Zuordnen" oder „Assoziieren", wie er hierin verwendet
wird, meint allgemein oder umfasst eine Art von Anwenderinput, der
bereitgestellt wird, um anzuzeigen, dass ein Piktogramm mit einem
weiteren Piktogramm zugeordnet werden soll. Jedes Piktogramm kann
ein Einrichtungs-Piktogramm sein, ein Programm-Piktogramm, eine
Verknüpfung
(Verknüpfungspiktogramm),
die zwischen Einrichtungs-Piktogrammen und/oder Programm-Piktogrammen
angezeigt ist, ein Datenpunktpiktogramm, ein I/O-Kanalpiktogramm,
oder ein anderes Piktogramm, welches ein Element in dem System repräsentiert.
Der Begriff „Zuordnen" bzw. „Assoziieren" umfasst verschiedene
Typen von graphischen Techniken, wie zum Beispiel Drag and Drop-Techniken
(Ziehen und Fallenlassen) und die Verwendung von graphischen Schnittstellenelementen,
wie beispielsweise Menüs,
Dialogboxen, etc. Der Begriff „Zuordnen" bzw. „Assoziieren" umfasst außerdem die
Verwendung von Spracherkennungstechniken, um anzuzeigen, dass ein
Piktogramm mit einem weiteren Piktogramm assoziiert werden soll.
-
Das „Assoziieren" kann anzeigen, dass
irgendeine Beziehung zwischen den zwei Piktogrammen hergestellt
werden solle (eine Beziehung zwischen Piktogrammen und/oder Einrichtungen,
die durch Piktogramme dargestellt sind, beispielsweise ein Aufrufen
oder eine Anrufer/Angerufener-Beziehung etc.), oder dass irgendeine
andere Handlung durchgeführt
werden soll (wie zum Beispiel Anwenden eines Programms, Erzeugen
oder Modifizieren eines Programms etc.).
-
Wie
oben angemerkt wurde, kann die Handlung des Assoziieren von Piktogrammen
mit anderen Piktogrammen, beispielsweise das Assoziieren von Programm-Piktogrammen
mit Einrichtungs-Piktogrammen (oder mit anderen Programm-Piktogrammen),
in dem Konfigurationsdiagramm mit „Drag and Drop" Techniken durchgeführt werden,
mit menübasierten
Techniken, mit Dialogbox-Techniken,
mit Spracherkennungstechniken oder mit anderen Techniken. Das „Drag and
Drop"-Verfahren
kann umfassen, dass der Anwender mit einem Zeigergerät (wie beispielsweise
einer Maus) ein Piktogramm auswählt (Einrichtungs-Piktogramm, Programm-Piktogramm, Verknüpfungspiktogramm
etc.) und das Piktogramm auf der Anzeige zieht, so dass es über oder
nahe zu einem weiteren Piktogramm ist, wie beispielsweise einem
weiteren Einrichtungs-Piktogramm, einem Programm-Piktogramm oder
einem Verknüpfungspiktogramm.
Drag and Drop-Techniken sind im Stand der Technik wohl bekannt.
Andere ähnliche
graphische Eingabetechniken können
ebenfalls verwendet werden. Als ein Beispiel kann der Vorgang des
Assoziierens von Programm-Piktogrammen mit Einrichtungs-Piktogrammen
in dem Konfigurationsdiagramm dazu verwendet werden, um die jeweiligen Programme
auf den verschiedenen Einrichtungen, welche den Einrichtungs-Piktogrammen
entsprechen, anzuwenden, oder dazu zu bringen, dass diese angewendet
werden. In anderer Weise ausgedrückt, wenn
der Anwender ein erstes Programm-Piktogramm auswählt und dieses erste Programm-Piktogramm
mit einem ersten Einrichtungs-Piktogramm assoziiert, zum Beispiel
durch Drag and Drop, welches eine erste Einrichtung repräsentiert
und der Anwender optional „Ausführen" auswählt, führt dies
dazu, dass ein erstes Programm, welches dem ersten Programm-Piktogramm
entspricht, auf der ersten Einrichtung angewandt wird, welche dem
ersten Einrichtungs-Piktogramm entspricht. Das „Drag and Drop"-Verfahren kann also
umfassen, dass der Anwender das erste Programm-Piktogramm mit einem Zeigegerät (wie beispielsweise
einer Maus) auswählt und
das erste Programm-Piktogramm auf der Anzeige zieht, damit dieses
auf oder nahe zu dem ersten Einrichtungs-Piktogramm ist. Dies bietet
einen erheblich vereinfachten Mechanismus zum Anwenden von Programmen
auf verschiedenen Einrichtungen in einem verteilten System. Weitere
Details der Anwendung von Programmen auf verschiedenen Einrichtungen
sind unter Bezugnahme auf die Flussdiagramme in den 9–12 beschrieben
und der Bildschirmkopien der 15–20.
-
In
Schritt 210 kann das Konfigurationsdiagramm aktualisiert
werden. während
der Anwender Piktogrammhandlungen durchführt, wie beispielsweise die
oben diskutierten Anwendungshandlungen. Somit kann das Konfigurationsdiagramm
eine aktualisierte Piktogrammbeziehungsansicht der verteilten Programme
anzeigen und der verteilten Einrichtungen, während der Anwender die Pogrammpiktogramme
den Einrichtungs-Piktogrammen zuordnend, (zum Beispiel durch Drag
and Drop), oder die Programm-Piktogramme anderen Piktogrammen anderer
Piktogrammprogramme zuordnend, die Einrichtungs-Piktogramme anderen
Einrichtungs-Piktogrammen zuordnend, etc. Während der Anwender beispielsweise
durch Drag and Drop Programm-Piktogramme auf dem Konfigurationsdiagramm
(zum Beispiel aus dem Konfigurationsdiagramm) verschiedenen Einrichtungs-Piktogrammen in Schritt 208 zuordnet,
kann das System dahin wirken, die aktualisierte Beziehung (wie zum
Beispiel die Hierarchie) von Programmen anzuzeigen, die nahe zu,
wie beispielsweise unterhalb, des jeweiligen Einrichtungs-Piktogramms sind,
an dem sie angewandt werden. Die 15 bis 20 zeigen beispielsweise ein Konfigurationsdiagramm,
welches ein graphisches Hauptprogramm 402 zeigt und vier
graphische Unterprogramme 404A bis D der nächsten Hierarchieebene.
-
In
einer Ausführungsform,
wenn der Anwender Programm-Piktogramme mit verschiedenen Einrichtungs-Piktogrammen
assoziiert, die in dem Konfigurationsdiagramm enthalten sind, wird
das Konfigurationsdiagramm sofort dementsprechend aktualisiert,
aber diese Handlung des Zuordnens wirkt zu diesen Zeitpunkt noch
nicht dahingehend, das Programme angewandt werden. Vielmehr kann
von dem Anwender verlangt werden ein „Anwenden" Merkmal auszuwählen, damit die Anwendung tatsächlich stattfindet.
Dies erlaubt es dem Anwender verschiedene Optionen des Konfigurationsdiagramms
zu betrachten, bevor eine Anwendung tatsächlich stattfindet. In einer
anderen Ausführungsform
kann das System eine Vorschau des Konfigurationsdiagramms bereitstellen,
wo der Anwender vorgeschlagene Änderungen
des Konfigurationsdiagramms betrachten kann, bevor diese Änderungen
in dem eigentlichen Konfigurationsdiagramm vorgenommen werden. In
einer weiteren Ausführungsform
kann das Konfigurationsdiagramm (und/oder das Vorschaufenster) mehrere Ebenen
des Rückgängigmachens/Neumachens,
wodurch es dem Anwender ermöglicht
wird Änderungen die
durchgeführt
werden wieder rückgängig zu
machen.
-
7 – Erzeugen
eines Konfigurationsdiagramms
-
7 ist
ein Flussdiagramm, welches eine beispielhafte Ausführungsform
des Betriebs des Erzeugens oder Zusammensetzens eines Konfigurationsdiagramms
illustriert, welches ein System repräsentiert. Wie in 7 gezeigt,
kann ein Entwickler oder Anwender ein Konfigurationsdiagramm zusammensetzen
oder Erzeugen (und/oder ein Softwareprogramm kann ein Konfigurationsdiagramm
erzeugen), welches Einrichtungs-Piktogramme umfasst, die Einrichtungen
in dem verteilten System repräsentieren.
Das Konfigurationsdiagramm kann auch Programm-Piktogramme umfassen,
die Programme in dem System repräsentieren.
Das Konfigurationsdiagramm kann weiter andere Piktogramme oder Elemente
umfassen, wie beispielsweise Verknüpfungen, die zwischen Einrichtungs-Piktogrammen und/oder Programm-Piktogrammen
angezeigt werden; Piktogramme, welche I/O Kanäle repräsentieren, Piktogramme, welche
Datenpunkte oder Tags repräsentieren,
und Piktogramme, welche andere Elemente in dem System repräsentieren,
wie zum Beispiel die genannten Konfigurationen (wie zum Beispiel
die genannten Kanäle),
etc.
-
In
einem verteilten System, welches zwei oder mehr Einrichtungen umfasst,
die miteinander verbunden sind, wie etwa durch ein Netzwerk, einen seriellen
oder parallelen Bus, oder durch drahtlose Mittel etc, kann der Anwender
oder das Sys tem somit ein Konfigurationsdiagramm erzeugen oder zusammensetzen,
welches ein Einrichtungs-Piktogramm für jede der Einrichtungen enthält, die
in dem System vorhanden sind, er kann Programm-Piktogramme, erzeugt
für Programme,
die in den Einrichtungen vorhanden sind und Piktogramme, die I/O
Kanäle
repräsentieren,
Datenpunkte, die genannten Konfigurationen, etc. Das Konfigurationsdiagramm
kann zumindest teilweise (oder vollständig) automatisiert oder durch
ein Programm erzeugt sein. Beispielsweise kann das Konfigurationsdiagramm
durch Software erzeugt werden, die auf dem Computersystem 82 abläuft, welches
Teil des Systems ist, oder das Konfigurationsdiagramm kann durch
Software erzeugt werden die auf einem separaten Servercomputer 90 abläuft, welches
das System analysiert und das Konfigurationsdiagramm für das Computersystem 82 erzeugt.
-
In
Schritt 222 kann das Computersystem 82 eine graphische
Benutzerschnittstelle anzeigen, wie beispielsweise einen Konfigurationsdialog,
welcher beim Erzeugen eines Konfigurationsdiagramms nützlich sein
kann. Ein beispielhafter Konfigurationsdialog ist in 14 gezeigt. Der Konfigurationsdialog kann verschiedene
Aussehen haben und 14 ist eine beispielhafte Ausführungsform.
Der Konfigurationsdialog kann verschiedene Register haben, er kann
die Fähigkeit
umfassen neue Einrichtungen zu entdecken oder neue Einrichtungen
manuell hinzufügen
zu können
und er kann die verschiedenen Einrichtungen visuell anzeigen die
in dem verteilten System vorhanden sind (oder „virtuell vorhanden sind"). Der Konfigurationsdialog
kann die Fähigkeit
haben neue Programme zu entdecken oder neue Programme manuell hinzuzufügen und
er kann die verschiedenen Programme visuell darstellen, die in dem
verteilten System vorhanden sind (oder „virtuell vorhanden sind"). Der Konfigurationsdialog
kann auch die Fähigkeit
aufweisen I/O Kanäle
zu entdecken oder I/O Kanäle
manuell hinzuzufügen,
Datenpunkte oder andere Gegenstände
die für
das System relevant sind. In einer Ausführungsform, in der das Konfigurationsdiagramm
im Wesentlichen oder vollständig
automatisch oder durch ein Programm erzeugt wird, kann auf die Anzeige
des Konfigurationsdialogs verzichtet werden.
-
In
Schritt 224 kann das Computersystem 82 automatisch
oder durch ein Programm Einrichtungen entdecken, die mit dem Computersystem 82 gekoppelt
sind und/oder Programme die in dem System vorhanden sind. Beispielsweise
kann eine Plug and Play Software, die auf dem Computersystem 82 abläuft zuvor
(wie beispielsweise während
der Systembootzeit) automatisch Plug and Play Einrichtungen und/oder
Programme entdeckt haben. Eine Plug and Play Software kann auch
aus dem Konfigurationsdialog aufgerufen werden. Andere Anwendungsprogramme
die auf dem Computersystem 82 ablaufen können ebenfalls
automatisch Einrichtungen entdecken, die in dem verteilten System
vorhanden sind und sie können
optional aus dem Konfigurationsdialog aufgerufen werden. Beispielsweise
kann die Measurement and Automation Explorer (MAX) Software von
National Instruments verwendet werden, um automatisch Mess- und
Automatisierungseinrichtungen (wie zum Beispiel die, die in den 2A, 2B und 3 gezeigt
sind) zu entdecken und/oder Programme, die in dem verteilten System vorhanden
sind. Software kann auch automatisch oder durch Programme andere
Elemente in dem System entdecken, wie beispielsweise I/O Kanäle, Datenpunkte,
bestimmte Konfigurationen, etc.
-
In
einer Ausführungsform
kann ein Server (wie beispielsweise der Server 90) auf
das System (zum Beispiel das Computersystem 82) über ein Netzwerk
zugreifen und automatisch oder durch ein Programm Elemente in dem
System entdecken, wie beispielsweise Einrichtungen die mit dem Computersystem 82 gekoppelt
sind, Verbindungen zwischen Einrichtungen, Programme, die in dem
System vorhanden sind, Programmbeziehungen, I/O Kanäle, Datenpunkte
und mögliche
andere Elemente. Beispielsweise kann ein Server 90 bei
National Instruments auf ein Computersystem 82 eines Anwenders an
einem entfernten Ort zugreifen und optional mit der Erlaubnis des
Anwenders Einrichtungen und Programme entdecken, die in dem System
des Anwenders installiert sind und veranlassen, dass ein Konfigurationsdiagramm
auf der Anzeige des Computersystems 82 des Anwenders angezeigt
wird.
-
In
Schritt 226 kann der Anwender manuell eine oder mehrere
Einrichtungen spezifizieren, wie beispielsweise nicht entdeckte
Einrichtungen. Für diejenigen
Einrichtungen die nicht automatisch entdeckt wurden, kann somit
von dem Anwender verlangt werden diese Einrichtungen manuell zu
spezifizieren. In einer Ausführungsform
werden alle Einrichtungen die in dem verteilten System vorhanden
sind automatisch entdeckt und somit wird keine manuelle Spezifikation
benötigt.
In Schritt 626 kann der Anwender auch manuell ein oder
mehrere Programme spezifizieren, wie beispielsweise nicht entdeckte
Programme. Der Anwender kann auch manuell andere Elemente spezifizieren.
-
In
Schritt 626 kann der Anwender auch eine oder mehrere nicht
anwesende oder „virtuelle" Einrichtungen oder
Programme spezifizieren. Somit kann der Anwender für diejenigen
Einrichtungen oder Programme, welche der Anwender in dem verteilten System
vorhanden wünscht,
die aber aktuell noch nicht physisch vorhanden sind, einen „Platzhalter" einfügen, in
dem ein „virtuelles
Einrichtungs-Piktogramm" oder ein „virtuelles
Programm-Piktogramm" erzeugt
wird, welches das nicht vorhandene Programm bzw. die nicht vorhandene
Einrichtung repräsentiert.
Virtuelle Einrichtungs-Piktogramme und/oder virtuelle Programm-Piktogramme können auch
automatisch oder durch ein Programm erzeugt werden.
-
Der
Anwender kann beispielsweise eine Eingabe bereitstellen, welche
den gewünschten
Betrieb des Systems, dass durch das Konfigurationsdiagramm repräsentiert
wird, anzeigt, und die Software kann automatisch ein virtuelles
Einrichtungs-Piktogramm oder ein virtuelles Programm-Piktogramm
anzeigen, welches eine Einrichtung oder ein Programm repräsentiert,
dass das System möglicherweise
benötigt
um die gewünschte
Handlung ausführen
zu können.
Somit kann eine Software vorgeschlagene Einrichtungen oder Programm-Piktogramme
anzuzeigen basierend auf den Handlungsanforderungen die von dem
Anwender eingegeben werden. Virtuelle Einrichtungs-/Programm-Piktogramme
werden weiter unten beschrieben.
-
In
Schritt 228 kann der Anwender ein oder mehrere Einrichtungen,
Programme und/oder andere Elemente für das verteilte System auswählen. Mit
anderen Worten, der Anwender kann ein oder mehrere Einrichtungen,
Programme, und/oder andere Elemente auswählen, die in dem verteilten
System, das in dem Konfigurationsdiagramm gezeigt ist, nicht eingefügt werden
sollen. Für
diese Elemente (Einrichtungen, Programme, etc.) die ausgewählt wurden
um nicht eingefügt
zu werden, kann auf das Erscheinen von entsprechenden Piktogrammen
(Einrichtungs-Piktogrammen, Programm-Piktogrammen, etc.) in dem
Konfigurationsdiagramm verzichtet werden, oder diese können ein
geändertes
Aussehen haben, wie zum Beispiel „grau verschattet" oder sie können in
einem separaten Fenster gezeigt sein.
-
Für diejenigen
Einrichtungen, die nicht ausgewählt
wurden (oder die ausgewählt
wurden, um nicht eingefügt
zu werden) kann beispielsweise auf das Erscheinen von entsprechenden
Einrichtungs-Piktogrammen in dem Konfigurationsdiagramm verzichtet
werden oder diese können
ein geändertes
Aussehen haben. Dieses Merkmal kann in Situationen verwendet werden
wenn Einrichtungen mit dem Computersystem 82 gekoppelt
sind, aber der Anwender es nicht wünscht diese Einrichtungen zum
aktuellen Zeitpunkt zu verwenden. Somit kann der Anwender auswählen diese
Einrichtungen abzuwählen,
so dass entsprechende Einrichtungs-Piktogramme in dem Konfigurationsdiagramm
nicht erscheinen werden. Dies hilft beim Verhindern des Überfrachten
des Konfigurationsdiagramms mit Einrichtungs-Piktogrammen die nicht
genutzten oder unerwünschten
Einrichtungen entsprechen. In einer alternativen Ausführungsform
können
Einrichtungs-Piktogramme,
die nicht genutzten oder unerwünschten
Einrichtungen entsprechen, in einer separaten Palette des Konfigurationsdiagramms
erscheinen, so dass sie nicht das Konfigurationsdiagramm überfrachten,
den Anwender jedoch trotzdem an ihre Anwesenheit erinnern. In einer
weiteren Ausführungsform
können
Einrichtungs-Piktogramme, die nicht verwendeten oder ungewünschten
Einrichtungen entsprechen, in dem Konfigurationsdiagramm erscheinen,
aber diese Einrichtungs-Piktogramme können „grau verschattet" sein oder sie haben
ein anderes Aussehen um anzuzeigen, dass sie nicht verwendet werden.
In einer ähnlichen
Weise, für
Programme die nicht ausgewählt
wurden, um eingeschlossen zu werden, kann auf das Erscheinen von entsprechenden
Programm-Piktogrammen in dem Konfigurationsdiagramm verzichtet werden,
oder sie können
ein geändertes
Aussehen haben. Nicht ausgewählte
Programm-Piktogramme können
in einer separaten Palette erscheinen. Dies hilft beim Verhindern
des Überfrachtens
des Konfigurationsdiagramms mit Programm-Piktogrammen, die nicht
verwendeten oder unerwünschten
Programmen entsprechen.
-
In
einer Ausführungsform
werden alle entdeckten Einrichtungen, Programme und andere Elemente
in dem Konfigurationsdiagramm angezeigt und daher muss die Auswahl
durch den Anwender in Schritt 228 nicht durchgeführt werden.
-
In
Schritt 230 kann das Computersystem 82 ein Konfigurationsdiagramm
anzeigen, welches Einrichtungs-Piktogramme, Programm-Piktogramme und
möglicherweise
andere Elemente enthält.
In einer Ausführungsform
umfasst das Konfigurationsdiagramm Einrichtungs-Piktogramme, die
allen entdeckten Einrichtungen entsprechen. Alternativ kann das Computersystem 82 das
Konfigurationsdiagramm nur mit den Einrichtungen anzeigen, die in
Schritt 228 ausgewählt
wurden. Wie oben beschrieben, hat jedes Einrichtungs-Piktogramm
vorzugsweise ein Aussehen, welches visuell den Typ der Einrichtung
anzeigt. Das Konfigurationsdiagramm kann Verbindungen zwischen den
verschiedenen Einrichtungs-Piktogrammen
anzeigen, um visuell anzuzeigen, wie die Einrichtungen miteinander
gekoppelt sind. Diese Verbindungen können automatisch angezeigt
werden oder durch den Anwender erzeugt werden oder beides. Wie oben
beschrieben können
die Verbindungen, die zwischen den Einrichtungen angezeigt werden,
jeweils ein Aussehen haben, das visuell den Typ der Verbindung anzeigt.
Das Konfigurationsdiagramm kann außerdem Programm-Piktogramme umfassen
die Programme entsprechen, sowie andere Elemente die hierin beschrieben
sind.
-
In
einer Ausführungsform
kann das Konfigurationsdiagramm verschiedene Ansichten bieten, wie beispielsweise
eine Gesamtsystemansicht, eine Untersystemansicht, eine individuelle
Einrichtungsansicht, eine Programmbeziehungsansicht, etc. Somit kann
der Anwender verschiedene Optionen auswählen um das Konfigurationsdiagramm
mit unterschiedlichen Ansichten oder unterschiedlichen Detailniveaus
anzuzeigen. Beispielhafte Konfigurationsdiagramme sind in den 21A bis 21D sowie
in anderen Figuren gezeigt.
-
Wie
oben angemerkt, kann das Konfigurationsdiagramm Einrichtungs-Piktogramme umfassen, die
die verschiedenen Einrichtungen in dem verteilten System repräsentieren.
Jedes der Einrichtungs-Piktogramme hat vorzugsweise ein Aussehen, welches
der Einrichtung entspricht, die es repräsentiert. Somit kann ein Computersystem 82 durch
ein Einrichtungs-Piktogramm repräsentiert
werden, welches das Aussehen eines Computersystems hat. In einer ähnlichen
Weise können
andere Einrichtungs-Piktogramme ein Aussehen haben, welches ähnlich dem
Aussehen der Einrichtungen ist, das sie darstellen. Dies erlaubt
es dem Betrachter einfach zu sehen und zu verstehen, welche Einrichtungen
in dem verteilten System vorhanden sind.
-
In
einer weiteren Ausführungsform
kann optional ein Programm, welches auf eine Einrichtung gespeichert
ist, durch ein Einrichtungs-Piktogramm repräsentiert werden. Dies kann
wünschenswert sein,
wenn ein bestimmtes Programm eine „einrichtungsähnliche" Funktion ausführt. In
einer weiteren Ausführungsform
kann eine nicht vorhandene Einrichtung ein Einrichtungs-Piktogramm
(virtuelles Einrichtungs-Piktogramm) haben, und die Funktionalität der nicht
vorhandenen Einrichtungen kann durch ein Programm simuliert werden,
welches auf dem Hauptcomputersystem oder einer anderen Einrichtung
abläuft.
-
Das
Konfigurationsdiagramm kann Verbindungen („Verbindungspiktogramme") wie beispielsweise
Linien umfassen, die zwischen den verschiedenen Einrichtungs-Piktogrammen
angezeigt sind, um die Beziehungen oder die Kopplungen zwischen den
jeweiligen Einrichtungen anzuzeigen. In einer Ausführungsform
können
die angezeigten Verbindungen Kontext-sensitiv sein, um den Typ der
Verbindung oder Schnittstelle (wie zum Beispiel dem Bustyp) anzuzeigen,
und/oder den Datentyp oder den Typ des Phänomens, der zwischen den Einrichtungen
bereitgestellt wird.
-
In
einer Messanwendung können
die Einrichtungs-Piktogramme die verschiedenen Messeinrichtungen
repräsentieren,
die in dem System vorhanden sind, wie beispielsweise diejenigen
die in den 2A, 2B und 3 gezeigt
sind. Beispielsweise kann ein Einrichtungs-Piktogramm für jedes oder
mehr der verschiedenen Mess- oder Automatisierungseinrichtungen
vorhanden sein, die in den 2A, 2B und 3 gezeigt
sind. Somit kann als ein Beispiel, wenn ein Computersystem zu einem PXI-Unterbau
gekoppelt ist, der eine Mehrzahl von PXI-Instrumentenkarten umfasst, die in dem
Unterbau umfasst sind, das Konfigurationsdiagramm ein Einrichtungs-Piktogramm
enthalten, welches das Computersystem repräsentiert, und ein Einrichtungs-Piktogramm,
welches jedes der jeweiligen PXI-Instrumente repräsentiert,
die in dem PXI-Unterbau enthalten sind. Das Konfigurationsdiagramm kann
auch optional ein Einrichtungs-Piktogramm enthalten, welches den
PXI-Unterbau repräsentiert,
wobei weitere Einrichtungs-Piktogramme
in dem Einrichtungs-Piktogramm des PXI-Unterbaus umfasst sind oder
nahe dazu angeordnet sind, welches jedes der jeweiligen PXI-Instrumentenkarte
repräsentiert. Als
ein weiteres Beispiel, wenn ein oder mehr intelligente Sensoren
in dem Messsystem vorhanden sind, können Einrichtungs-Piktogramme vorhanden
sein, welche jeden der verschiedenen intelligenten Sensoren repräsentieren.
In einer Bildverarbeitungsanwendung können Einrichtungs-Piktogramme für ein Host-Computersystem 82 vorhanden
sein, für
eine Bilderfassungskarte 134 und eine Kammer 132,
welche eine intelligente Kammer sein kann, falls gewünscht. Somit
zeigt das Konfigurationsdiagramm graphisch eine Mehrzahl von Einrichtungs-Piktogrammen
an, welche die Einrichtungen repräsentieren, die in dem System
vorhanden sind, für
die der Anwender eine Anwendung konfigurieren oder erzeugen möchte.
-
In
Schritt 232 kann der Anwender manuell oder automatisch
die verschiedenen Piktogramme auf dem Konfigurationsdiagramm anordnen.
Beispielsweise kann das Konfigurationsdiagramm eine „Auto-Anordnen"-Funktion aufweisen,
welche automatisch die Einrichtungs-Piktogramme und/oder Programm-Piktogramme
anordnet, um das Erscheinungsbild des Konfigurationsdiagramms zu
verbessern. Der Anwender kann auch manuell die Einrichtungs-Piktogramme
und/oder Programm-Piktogramme auf dem Konfigurationsdiagramm anordnen,
wie es der Anwender wünscht.
-
In
einer Ausführungsform
können
eine oder mehrere der Einrichtungen Informationen über den geographischen
Ort kommunizieren, die den geographischen Ort der Einrichtung anzeigen.
Wenn das verteilte System beispielsweise ein erstes Computersystem
oder eine andere Einrichtung umfasst, die in Austin, Texas angeordnet
ist und ein zweites Computersystem oder eine andere Einrichtung,
die in Saint José,
Kalifornien, angeordnet ist, kann jedes dieser Einrichtungen seine
Information über
den geographischen Ort kommunizieren. Der Anwender kann optional
ein Merkmal auswählen,
welches dazu führt, dass
der geographische Ort von jeder Einrichtung (oder einer ausgewählten Untergruppe
von Einrichtungen) auf dem Konfigurationsdiagramm angezeigt wird.
Diese erlaubt es dem Anwender das verteilte System leichter zu verstehen.
-
Das
Konfigurationsdiagramm kann eine „Einrichtungsansicht" umfassen, die nur
miteinander verbundene Einrichtungs-Piktogramme anzeigt. Das Konfigurationsdiagramm
kann auch eine „Programmansicht" umfassen, die Programm-Piktogramme anzeigt.
Die Programmansicht kann nur Programm-Piktogramme anzeigen oder
sie kann Programm-Piktogramme anzeigen, die nahe der jeweiligen
Einrichtungs-Piktogramme sind, auf denen sie gespeichert sind. Wie
oben bereits diskutiert wurde, können
in den Schritten 204 und 206 eine oder mehr existierende
oder erzeugte Programme in einer Beziehungsansicht in dem Konfigurations diagramm
angezeigt werden. Die Programm-Piktogramme können nahe zu (wie zum Beispiel
unter) und/oder verbunden mit dem Einrichtungs-Piktogramm angezeigt
werden, auf dem sie gespeichert oder angeordnet (angewandt) sind. Programme,
die beispielsweise auf dem Hauptcomputersystem 82 gespeichert
sind, werden nahe zu dem Einrichtungs-Piktogramm des Hauptcomputersystems
angezeigt. Alternativ, wie oben erwähnt wurde, kann das Konfigurationsdiagramm
eine Programmbeziehungsansicht unterstützen, die nur Programm-Piktogramme
ohne Einrichtungs-Piktogramme anzeigt. Zwischen den Programm-Piktogrammen können Verknüpfungen
angezeigt werden, um Aufrufbeziehungen (Rufer/Angerufener) anzuzeigen.
-
Wenn
die Mehrzahl von Programmen so konfiguriert ist, um gemäß einer
spezifizierten Beziehung ausgeführt
zu werden, kann die Mehrzahl von Programm-Piktogrammen auf der Anzeige gemäß der spezifizierten
Beziehung angezeigt werden. Die Mehrzahl von Programm-Piktogrammen
kann somit angezeigt werden, um visuell die spezifizierte Beziehung
der Mehrzahl von Programmen anzuzeigen, beispielsweise gemäß ihrer
entsprechenden Beziehung oder ihrer Programmausführungshierarchie. Die 15–20 und 21B zeigen
ein Konfigurationsdiagramm, wobei Programm-Piktogramme in einer
Programmausführungshierarchie
angeordnet sind.
-
Wie
in 8 gezeigt, kann der Anwender in einer Ausführungsform
in Schritt 236 ein Einrichtungs-Piktogramm auswählen (zum
Beispiel durch Doppelklicken oder Klicken mit der rechten Maustaste
auf das Einrichtungs-Piktogramm). Dies kann dazu führen, dass
bestimmte Handlungen auftreten, oder ein Menü kann sich öffnen mit unterschiedlichen
Auswahlmöglichkeiten.
In Schritt 237 können
beispielsweise die Programm-Piktogramme angezeigt werden, die den
Programmen entsprechen, die auf der Einrichtung umfasst sind oder
angewandt werden. Wie oben angemerkt, können die Programm-Piktogramme,
die den Programmen entsprechen, die auf der Einrichtung umfasst
sind oder angewandt werden, nahe zu dem jeweiligen Einrichtungs-Piktogramm
gezeigt werden, das beispielsweise un ter dem Einrichtungs-Piktogramm
und/oder verbunden mit dem Einrichtungs-Piktogramm ist, wie es in den 15–20, 21A und 21B gezeigt ist. Alternativ kann der Anwender
eine Funktion auswählen, um
die Programm-Piktogramme zu zeigen, die allen Einrichtungs-Piktogrammen
entsprechen. Das Konfigurationsdiagramm kann zuerst außerdem verschiedene
Programm-Piktogramme anzeigen, die auf jeder der verschiedenen Einrichtungen
gespeichert sind.
-
Als
ein weiteres Beispiel kann der Anwender ein Einrichtungs-Piktogramm
in Schritt 236 auswählen,
um verschiedene andere Elemente zu betrachten, die in der jeweiligen
Einrichtung in Schritt 238 enthalten sind, wie zum Beispiel
I/O-Kanäle, Datenpunkte,
bestimmte Konfigurationen und Programme, die auf der Einrichtung
gespeichert sind oder angewandt werden.
-
In
einer Ausführungsform
kann das Konfigurationsdiagramm daher automatisch oder mittels eines
Programms durch das Computersystem 82 erzeugt werden, basierend
auf einer automatischen Erkennung von Einrichtungen, die mit dem
Computersystem 82 gekoppelt sind. In einer weiteren Ausführungsform
kann das Computersystem automatisch oder mittels eines Programms
einen ersten Teil des Konfigurationsdiagramms für Einrichtungen erzeugen, von
denen es entdeckt, dass sie in dem Computersystem 82 umfasst
sind oder damit gekoppelt sind, und der Anwender kann optional einen
zweiten Teil des Konfigurationsdiagramms für Einrichtungen erzeugen, die
nicht von dem Computersystem 82 durch automatische Mittel
erkannt werden konnten und/oder welche virtuelle Einrichtungen umfassen, die
nicht physisch vorhanden sind.
-
Das
Computersystem 82 speichert vorzugsweise das Konfigurationsdiagramm,
beispielsweise Datenstrukturen (welche als Konfigurationsdaten bezeichnet
werden können),
die dem Konfigurationsdiagramm entsprechen. Diese Konfigurationsdaten können in
einem Speicher gespeichert sein und auf das System 82 oder
auf andere Einrichtungen geladen werden.
-
Verbinden von Einrichtungs-Piktogrammen:
-
In
einer Ausführungsform
kann der Anwender ein Verbindungswerkzeug verwenden, um zwei Einrichtungs-Piktogramme
zu verbinden, ähnlich dem
Verbindungs- bzw.
Verdrahtungswerkzeug, welches in LabView verwendet wird. Dies kann
dazu führen,
dass eine Verbindung, beispielsweise ein Draht, zwischen den Einrichtungs-Piktogrammen
erscheint, um anzuzeigen, dass die Einrichtungen miteinander gekoppelt
sind. Wie oben bereits angemerkt wurde, können Verbindungen zwischen
zwei Einrichtungs-Piktogrammen auch automatisch angezeigt werden.
Die Verbindungen können
beispielsweise automatisch zwischen Einrichtungen angezeigt werden,
basierend auf Verbindungen, die automatisch zwischen den Einrichtungen
entdeckt werden, oder basierend auf einer Art von Materialfluss,
der automatisch zwischen den Einrichtungen entdeckt wird.
-
In
einer Ausführungsform
ist die Verbindung, die zwischen zwei Einrichtungs-Piktogrammen angezeigt
wird, kontextsensitiv. Mit anderen Worten, die Verbindung zwischen
Einrichtungs-Piktogrammen, die auf der Anzeige angezeigt oder erzeugt
wird, hat einen Kontext oder ein Aussehen, der mit einem oder mehreren
der folgenden assoziiert ist:
- • Der Art
von Einrichtungen, die verbunden werden,
- • Der
Art der physischen Schnittstelle (beispielsweise dem Bus-Typ), und/oder
- • Der
Art von Daten, Informationen und/oder Materialfluss zwischen den
Einrichtungen.
-
Somit
kann die angezeigte Verbindung visuell die Art der Verbindung oder
Koppelung zwischen jeweiligen Einrichtungen anzeigen. Das Erscheinen der
Verbindungen kann eines oder mehrere von Farbe, Dicke oder Schattierung
umfassen, um die Art der Verbindung anzuzeigen.
-
In
einer Ausführungsform
entsprechen die Verbindungen, die zwischen Einrichtungs-Piktogrammen
angezeigt werden, der Art der physikalischen Verbindung, wie beispielsweise
dem Bus-Typ zwischen den jeweiligen Einrichtungen. Der Verbindungstyp
kann eine oder mehrere der folgenden umfassen:
- • Netzwerkverbindung,
- • Interne
Bus-Verbindung,
- • Externe
parallele Bus-Verbindung,
- • Externe
serielle Bus-Verbindung, (wie zum Beispiel USB oder IEEE 1394) oder
eine drahtlose Verbindung.
-
Die 21C zeigt ein beispielhaftes Konfigurationsdiagramm,
wo Verbindungen ein Aussehen haben, das sich unter anderem durch
Farbe, Dicke oder Schattierung unterscheidet (wobei die Unterschiede
in der Farbe in den s/w-Figuren, die hier beigefügt sind, nicht gezeigt sind
um visuell die Art der physischen Verbindung oder Kopplung zwischen
Einrichtungs-Piktogrammen anzuzeigen, die mit entsprechenden Einrichtungen
korrespondieren. Somit kann das System unterschiedliche Verbindungspiktogramme
unterstützen,
die den oben beschriebenen physischen Verbindungstypen entsprechen.
-
In
einem Messsystem, wo eine Untergruppe der Einrichtungs-Piktogramme
Messgeräten
entspricht, einer Untergruppe der Verbindungen Kopplungen zwischen
den Messgeräten
entspricht, und die Untergruppe von Verbindungen jeweils ein Aussehen
hat, um visuell einen Verbindungstyp zwischen den jeweiligen Messgeräten anzuzeigen.
Beispielsweise kann der Verbindungstyp eine GPIB-Verbindung umfassen, eine PXI-Verbindung,
eine VXI-Verbindung oder eine Datenerfassungsverbindung. Zusätzlich kann
eines der Geräte
ein Sensor sein, ein Messwertwandler oder ein Betätigungsmittel.
Wo der Sensor, der Messwertwandler oder das Betätigungsmittel ein analoges
Gerät ist
zur Bereitstellung von analogen Daten, kann die entsprechende Verbindung
eine analoge Datenverbindung zwischen der analogen Einrichtung und
einer weiteren Einrichtung anzeigen.
-
Wenn
das Verknüpfungspiktogramm
beispielsweise den Typ der physischen Schnittstelle anzeigt, wenn
der Anwender zwei Einrichtungs-Piktogramme verbindet, welche erste
und zweite Einrichtungen repräsentieren,
kann das Verfahren den Typ der Schnittstelle untersuchen, der von
den ersten und zweiten Einrichtungen unterstützt wird und eine Verbindung
oder eine Verknüpfung
zwischen den zwei Einrichtungs-Piktogrammen erzeugen, die ein Aussehen
hat, welches dem Schnittstellentyp oder dem verwendeten Bus-Typ
entspricht. Alternativ kann der Anwender eine Verknüpfung oder
eine Verbindung aus einer Palette auswählen, basierend auf dem Typ der
Einrichtungen, die der Anwender zu verknüpfen wünscht. Wenn der Anwender die
falsche Verknüpfung
für zwei
oder mehr Einrichtungen auswählt, kann
das System den Anwender auf seinen Fehler aufmerksam machen. In
einer weiteren Ausführungsform
kann die Systemsoftware beim Hochfahren Kopplungen zwischen den
Einrichtungen entdecken und automatisch Verbindungen zwischen den
Einrichtungs-Piktogrammen anzeigen, die den entdeckten Kopplungen
entsprechen. Die automatisch angezeigten Verbindungen können ein
Aussehen haben, welches visuell den entdeckten Kopplungstyp zwischen
den jeweiligen Einrichtungen anzeigt.
-
In
einer Ausführungsform
haben eine oder mehrere der zwischen entsprechenden Einrichtungs-Piktogrammen
gezeigten Verbindungen ein Aussehen, um visuell einen Typ von Materialfluss zwischen
den entsprechenden Einrichtungen anzuzeigen. Wo beispielsweise das
Verbindungspiktogramm oder das Verknüpfungspiktogramm den Typ des
Materialflusses anzeigt oder des Informationsflusses, und wenn der
Anwender ein Einrichtungs-Piktogramm, welches einen Laser repräsentiert
mit einem Einrichtungs-Piktogramm verbindet, welches einen Spiegel
oder ein anderes optisches Gerät
repräsentiert,
wenn der Anwender also das erste Einrichtungs-Piktogramm mit dem
zweiten Einrichtungs-Piktogramm assoziiert (zum Beispiel durch Klicken
auf das erste Einrichtungs-Piktogramm und Ziehen des Mauspfeils
zu dem zweiten Einrichtungs-Piktogramme, um die Verbindung zu erzeugen kann
das Konfigurationsdiagramm automatisch eine Laserstrahlver bindung
ziehen, das heißt,
ein Verbindungspiktogramm, welches das Aussehen eines Laserstrahls
oder eines optischen Signals hat. Dies zeigt visuell dem Anwender
den Typ der Daten oder Signale an, die zwischen den Einrichtungen
ausgetauscht werden. Wenn der Anwender alternativ in einer Mess-,
Automatisierungs- oder Simulationsanwendung ein Tankpiktogramm,
welches einen Tank repräsentiert,
mit beispielsweise einem Ventilpiktogramm verbindet, welches ein
Ventil repräsentiert, kann
das Diagramm automatisch die Verbindung ziehen, wobei diese das
Aussehen einer Leitung hat, um visuell einem Anwender den Typ der
Signale, Daten, Material oder Phänomene
anzuzeigen, die zwischen den Einrichtungen übertragen werden. Beispielsweise
zeigt 21D einen Typ eines Konfigurationsdiagramms,
der einen Temperatursensor und einen Drucksensor hat und verschiedene
Verarbeitungseinheiten P1, P2, P3 und P4. Wie angezeigt haben die „Verknüpfungspiktogramme" für Temperatur,
Verarbeitungstemperatur, Druck und Druckventil zwischen diesen Elementen
unterschiedliche Dicken, Schattierungen und/oder Farben, um das
unterschiedliche Material oder die Phänomene anzuzeigen, die zwischen
den Einrichtungen strömen.
In einer Ausführungsform
haben eine oder mehrere der Verbindungen, die zwischen entsprechenden
Einrichtungs-Piktogrammen angezeigt werden, ein Aussehen, um visuell
einen Typ von Datenfluss zwischen den jeweiligen Einrichtungen anzuzeigen.
-
In
einer Ausführungsform
ist das Konfigurationsdiagramm so eingerichtet, um eine Typüberprüfung von
Verbindungen zwischen Einrichtungs-Piktogrammen durchzuführen. Wenn
der Anwender beispielsweise versucht, ein PCI-Gerät mit einem USB-Gerät zu verbinden,
kann das Verfahren bestimmen, dass die Einrichtungen nicht kompatibel sind
und eine Fehleranzeige erzeugen, wie beispielsweise eine unterbrochene
Verbindung. Als ein weiteres Beispiel, wenn der Anwender versucht,
ein Tankpiktogramm mit einem Laserpiktogramm zu verbinden, kann
das Konfigurationsdiagramm einen Typcheck durchführen und bestimmen, dass die
zwei Einrichtungs-Piktogramme von inkompatiblem Typ sind, die nicht
dieselben physischen Phänomene
miteinander teilen. Wenn der Anwender allerdings ein erstes Einrichtungs-Piktogramm
mit einem zweiten Einrichtungs-Piktogramm verbindet, um ein Programm
anzuwenden oder den Aufruf eines Programms anzuzeigen, kann auf
das Durchführen
des Typüberprüfens verzichtet
werden, das heißt,
unnötig sein.
-
Virtuelle Einrichtungs-Piktogramme:
-
Wie
oben beschrieben, kann der Anwender ein „virtuelles Einrichtungs-Piktogramm" oder „virtuelles
Programm-Piktogramm" erzeugen,
welches ein nicht vorhandenes Gerät oder Programm anzeigt. Virtuelle
Einrichtungs-Piktogramme
und/oder virtuelle Programm-Piktogramme können außerdem automatisch oder durch
ein Programm erzeugt werden. Beispielsweise können virtuelle Einrichtungs-Piktogramme
und/oder virtuelle Programm-Piktogramme automatisch für Einrichtungen
oder Programme erzeugt werden, die durch den Anwender gekauft werden,
wobei die virtuellen Piktogramme in dem Konfigurationsdiagramm angezeigt
und verwendet werden, bis die tatsächliche Einrichtung oder das
tatsächliche
Programm empfangen und installiert ist. Wenn zum Beispiel der Anwender
eine Einrichtung von einem Servercomputer 90 kauft, kann
der Server 90 ein virtuelles Einrichtungs-Piktogramm bereitstellen,
das temporär
in dem Konfigurationsdiagramm des Anwenders angezeigt wird, bis
die tatsächliche Einrichtung
empfangen und installiert ist. In einer Ausführungsform kann ein Simulationskode
erzeugt oder verwendet werden, um einen Betrieb der virtuellen Einrichtung
zu simulieren, bis die physische Einrichtung installiert ist.
-
In
einer Ausführungsform
können
Programme von der Perspektive des Anwenders aus gesehen, an virtuellen
Einrichtungen ausgeführt
werden (einem Programm-Piktogramm, das auf einem virtuellen Einrichtungs-Piktogramm
ausgeführt
wird), ganz so, als ob die Einrichtung physisch vorhanden wäre. Das
Programm wird nicht eigentlich angewandt oder zu einer virtuellen
Einrichtung übertragen,
bis das entsprechende physische Gerät dem verteilten System hinzugefügt wurde.
Wenn dies geschieht, kann die neue Einrichtung automatisch entdeckt
werden, wobei die neue Einrichtung mit der zuvor erzeugten virtuellen
Einrich tung korreliert werden kann und Programme, die zuvor durch
den Anwender in dem Konfigurationsdiagramm an der virtuellen Einrichtung „angewandt" wurden, können nun
an der realen oder physischen Einrichtung, die installiert wurde,
physisch oder tatsächlich
angewandt werden. Wenn ein Programm automatisch an einem Einrichtungs-Piktogramm
angewandt wird, kann das Konfigurationsdiagramm animiert werden,
um visuell dem Anwender die Anwendungshandlung anzuzeigen, die auf
dem neu installierten Gerät
stattfindet. Wenn ein Programm beispielsweise automatisch an dem Hauptcomputersystem 82 an
einer ersten Einrichtung angewandt wird, kann das entsprechende
Programm-Piktogramm an dem Konfigurationsdiagramm animiert werden,
um von dem Einrichtungs-Piktogramm des Computersystems zu dem ersten
Einrichtungs-Piktogramm zu „fließen", welches der ersten
Einrichtung entspricht. Auf ähnliche Weise
kann ein virtuelles Programm an einer Einrichtung angewandt werden,
ganz so, als ob das Programm tatsächlich installiert wäre. Beispielsweise kann
ein virtuelles Programm-Piktogramm,
welches ein Hardware-Konfigurationsprogramm repräsentiert, an einer Einrichtung
angewandt werden, welches ein programmierbares Hardwareelement umfasst.
bin virtuelles Programm-Piktogramm kann in dem Fall verwendet werden,
wo das tatsächliche Hardwarekonfigurationsprogramm
noch im Kompilierungsprozess ist und noch nicht fertig zur Anwendung
ist. In einer Ausführungsform
kann der Betrieb des Hardwarekonfigurationsprogramms durch Software
simuliert werden, die auf dem Computersystem ausgeführt wird,
bis das Hardwarekonfigurationsprogramm kompiliert wurde und angewandt
werden kann.
-
In
einer weiteren Ausführungsform,
wenn ein Anwender ein nicht vorhandenes oder „virtuelles" Gerät spezifiziert,
oder versucht, ein Programm auf einer nicht vorhandenen oder „virtuellen" Einrichtung anzuwenden,
kann das Verfahren optional ein weiteres „vorhandenes" Gerät als Ersatz
verwenden.
-
9 – Anwenden
eines Programms auf einer Einrichtung:
-
9 ist
ein Flussdiagramm, welches die Vorgehensweise des graphischen Anwendens
eines Programms auf einer Einrichtung zeigt. Das Verfahren von 9 kann
verwendet werden, um eine Anwendung unter einer Mehrzahl von Einrichtungen
in einem verteilten System zu verteilen, wobei die Anwendung ein
oder mehrere Programme umfasst. Das Verfahren wird auf einem ersten
Computersystem ausgeführt.
wie beispielsweise dem Computersystem 82, welches mit einer
Anzeige zur Anzeige des Konfigurationsdiagramms gekoppelt ist oder
dieses umfasst. In einer Ausführungsform
kann das Konfigurationsdiagramm auf dem Client Computer 82 gezeigt
werden und das Verfahren kann auf dem Servercomputer 90 ausgeführt werden,
welcher das Konfigurationsdiagramm auf dem Client Computer 92 anzeigt.
-
Es
wird angenommen, dass das Konfigurationsdiagramm (oder ein anderes
Fenster) eine oder mehrere Programm-Piktogramme anzeigt, vorzugsweise
eine Mehrzahl von Programm-Piktogrammen, wobei jedes der Programm-Piktogramme
zumindest einem Programm in der Anwendung entspricht. Das Konfigurationsdiagramm
zeigt auch eine oder mehrere Einrichtungs-Piktogramme auf der Anzeige
an, wobei jedes Einrichtungs-Piktogramm einer Einrichtung in dem
System entspricht. Jede Einrichtung kann mit dem ersten Computersystem 82 auf
irgendeine Weise gekoppelt sein, oder sie kann eine virtuelle Einrichtung
sein, wie es oben beschrieben wurde.
-
In
Schritt 242 assoziiert der Anwender ein erstes Programm-Piktogramm
aus der Mehrzahl von Programm-Piktogrammen mit einem Einrichtungs-Piktogramm
in Antwort auf eine Eingabe des Anwenders, wobei das erste Programm-Piktogramm einem
ersten Programm in der Anwendung entspricht. Das Einrichtungs-Piktogramm
repräsentiert eine
Einrichtung in dem System. Das Einrichtungs-Piktogramm kann beispielsweise
einer entfernten Einrichtung in dem verteilten System entsprechen,
das heißt
einer Einrichtung, die von dem Hauptcomputersystem 82 unterschiedlich
ist. In der bevorzugten Ausführungsform
umfasst das Assoziieren des ersten Programm-Piktogramms mit dem
Einrichtungs- Piktogramm
in Antwort auf eine Eingabe des Anwenders ein „Ziehen und Fallenlassen" (Dragging und Dropping)
des ersten Programm-Piktogramms auf das Einrichtungs-Piktogramm.
Dies kann umfassen, dass der Anwender ein Programm-Piktogramm auf der
Anzeige in dem Konfigurationsdiagramm mit einer Zeigevorrichtung,
wie beispielsweise einer Maus, auswählt und das Programm-Piktogramm auf ein
Einrichtungs-Piktogramm zieht und fallen lässt. Das Konzept des „Ziehen
und Fallenlassen" (Dragging
and Dropping) von Piktogrammen ist aus der Computertechnik wohlbekannt.
Der Anwender kann außerdem
das erste Programm-Piktogramm mit dem Einrichtungs-Piktogramm unter
Verwendung von Spracherkennungstechniken assoziieren. Der Anwender
kann beispielsweise „Assoziiere
Programm A mit Einrichtung B" oder „Wende
Programm auf Einrichtung B an" sagen, um
die Assoziierung zu verursachen. Andere Arten von Anwendereingaben
zur Erzeugen der Assoziierung sind ebenfalls denkbar.
-
Der
Schritt des Assoziierens (beispielsweise durch Ziehen und Fallenlassen)
des ersten Programm-Piktogramms mit dem Einrichtungs-Piktogramm
kann das Empfangen von weiteren Anwendereingaben in Schritt 244 umfassen
(beispieiweise ein Modifizierer), die einen bestimmten Betrieb anzeigen.
Der Art des Betriebs kann das Bewegen des Programms umfassen; das
Kopieren des Programms; das Anwenden des Programms für eine entfernte
Ausführung
(Schritte 254 und 256); das Ändern des Orts der entfernten
Ausführung
eines Programms von einer ersten Einrichtung zu einer zweiten Einrichtung
(11) oder das Erzeugen eines Rufs oder eines Aufrufs
des Programms (12) ohne eine Bewegung des
Programms. Der Schritt des Assoziierens kann einen Default Modus
haben, wie zum Beispiel, dass das erste Programm auf der Einrichtung
für eine
entfernte Ausführung
angewandt wird. Weiter kann eine Anwendereingabe bereitgestellt
werden durch den Anwender, wenn ein anderer Betrieb als der Default
Modus gewünscht
ist.
-
Diese
weitere Anwendereingabe kann umfassen, dass der Anwender eine Taste
auf der Tastatur während
des Drag and Drop-Betriebs, der in Schritt 242 durchgeführt wird,
drückt.
Wenn der Anwender beispielsweise in einer Ausführungsform das erste Programm-Piktogramm
auf das Einrichtungs-Piktogramm ohne ein Pressen einer Taste auf der
Tastatur zieht und fallen lässt,
wird das erste Programm, welches dem ersten Programm-Piktogramm entspricht,
zu der Einrichtung kopiert, aber es wird nicht für eine entfernte Ausführung angewandt.
Wenn der Anwender das erste Programm-Piktogramm auf das Einrichtungs-Piktogramm
zieht und fallen lässt. während er
eine Taste auf der Tastatur drückt
(zum Beispiel die ALT-Taste)
wird das erste Programm, welches dem ersten Programm-Piktogramm
entspricht, zu der Einrichtung kopiert und für eine entfernte Ausführung angewandt.
In einer weiteren Ausführungsform,
wenn der Anwender das erste Programm-Piktogramm mit dem Einrichtungs-Piktogramm
assoziiert (zum Beispiel durch Drag and Drop) erscheint eine Dialogbox
oder ein Menü,
welches beim Anwender nachfragt, welche Art von Assoziierung der
Anwender wünscht.
Spracherkennungstechniken können
ebenfalls verwendet werden.
-
In
Schritt 246 kann das Verfahren den Programmtyp des ersten
Programms zu einem anderen, durch die Einrichtung unterstützten, Programmtyp konvertieren,
falls notwendig. In einer Ausführungsform
kann jedes Programm einen Programmtyp haben, wie zum Beispiel ausführbar, textbasierter Quellkode
(nicht kompiliert), graphisches Programm, Hardwarekonfigurationsdatei,
etc. In einer Ausführungsform
kann das Verfahren (wie zum Beispiel das Computersystem 82)
dazu dienen, automatisch Programme zwischen unterschiedlichen Einrichtungstypen
zu konvertieren, um sicherzustellen, dass angewandte Programme korrekt
auf den Einrichtungen arbeiten, auf denen sie angewandt werden.
Das Konversionsverfahren kann folgendes umfassen:
- • Bestimmen
des ersten Programmtyps des ersten Programms;
- • Bestimmung
der ein oder mehreren Programmtypen, die von der Einrichtung unterstützt werden;
- • Bestimmung,
ob die Einrichtung inkompatibel mit dem ersten Programmtyp des ersten
Programms ist; und
- • Konvertieren
des ersten Programms zu einem anderen Programmtyp, der von der Einrichtung unterstützt wird,
wenn die Einrichtung mit dem ersten Programmtyp des ersten Programms
inkompatibel ist.
-
Schritt 246 wird
detaillierter unter Bezugnahme auf das Flussdiagramm von 9 diskutiert.
Das Konversionsverfahren kann auch eine Fehlermeldung anzeigen,
wenn eine Konversion nicht möglich ist.
-
In
Schritt 248 kann das Verfahren das erste Programm auf die
Einrichtung in Antwort auf die Assoziierung laden oder anwenden,
die in Schritt 242 durchgeführt wird. Beispielsweise kann
das Verfahren das Programm auf die spezifizierte Einrichtung für eine spätere (oder
sofortige) Ausführung übertragen
oder laden (zum Beispiel Bewegen oder Kopieren). Die Art der Lade-
oder Anwendungshandlung in Schritt 248 kann basierend auf
der Eingabe durchgeführt
werden, die in Schritt 244 empfangen wird. Dieser Übertragungsschritt
kann jeden aus einer Vielzahl von verschiedenen Standard-Bus-Protokollen verwenden.
Wenn die Quell- und Zieleinrichtungen mit dem Internet verbunden
sind, kann die Übertragung
TCP/IP verwenden. Wenn die Quelleinrichtung das Hauptcomputersystem 82 ist
und die Zieleinrichtung ein USB-Gerät ist, das mit dem Computersystem 82 gekoppelt
ist, kann die Übertragung
eine USB-Kommunikation verwenden (USB Pakete).
-
In
einer Ausführungsform
sind die Mehrzahl von Programmen konfiguriert, um gemäß einer
spezifizierten Beziehung ausgeführt
zu werden. Beispielsweise können
die Mehrzahl von Programmen konfiguriert sein, um gemäß einer
spezifizierten Ausführungshierarchie
ausgeführt
zu werden. In dieser Ausführungsform
kann das erste Programm konfiguriert sein, um eine oder mehrere
andere Programme (wie zum Beispiel einer unteren Ebene) gemäß der spezifizierten
Beziehung oder Hierarchie anzurufen. In diesem Fall umfasst der
Anwendungsschritt 248 das Anwenden des ersten Programms
und der ein oder mehreren anderen (wie zum Beispiel eines niedrigeren
Levels) Programme auf der Einrichtung. Mit anderen Worten, das jeweilige
Programm, welches durch den Anwender in Schritt 242 ausgewählt wurde,
kann in Schritt 248 geladen werden und alle Programme unterhalb
des jeweiligen Programms in der Hierarchie können ebenfalls geladen werden.
-
In
Schritt 250 kann das Verfahren ein neues Programm-Piktogramm
nahe zu dem Einrichtungs-Piktogramm nach dem Assoziierungsschritt anzeigen.
Das neue Programm-Piktogramm kann in Antwort auf die in Schritt 248 durchgeführte Ausführung angezeigt
werden. Das neue Programm-Piktogramm ist vorzugsweise eine Kopie
von, oder hat das Aussehen von dem ersten Programm-Piktogramm, welches
nahe zu dem Einrichtungs-Piktogramm angeordnet ist oder damit verbunden
ist. Das neue Programm-Piktogramm (wie zum Beispiel die Kopie des ersten
Programm-Piktogramms), welches nahe zu dem Einrichtungs-Piktogramm
angezeigt ist oder damit verbunden ist, zeigt visuell an, dass das
erste Programm auf der Einrichtung angewandt wird. In einer weiteren
Ausführungsform
kann das Verfahren das Einrichtungs-Piktogramm modifizieren, nach oder
in Antwort auf den Anwendungsschritt 248 oder den Assoziierungsschritt 242.
Das modifizierte Einrichtungs-Piktogramm zeigt visuell an, dass
das erste Programm auf der Einrichtung angewandt wird.
-
In
einer Ausführungsform
kann die Mehrzahl von Programmen, wie oben erwähnt, konfiguriert sein, um
gemäß einer
spezifizierten Beziehung (wie zum Beispiel einer spezifizierten
Ausführungshierarchie)
ausgeführt
zu werden und das erste Programm kann konfiguriert sein, um ein
oder mehrere andere Programme (wie zum Beispiel von niedrigerer
Ebene) gemäß der spezifizierten
Beziehung oder Hierarchie anzurufen. In diesem Beispiel umfasst
der Schritt 250 das Anzeigen des ersten Programm-Piktogramms
entsprechend dem ersten Programm als auch von Programm-Piktogrammen,
die den einen oder mehreren anderen Programmen entsprechen (wie
zum Beispiel von niedrigerer Ebene), nahe dem Einrichtungs-Piktogramm.
-
Ein
Verknüpfungspiktogramm
kann mit dem ersten Programm-Piktogramm verbunden werden, bevor
die Assoziierung in 242 durchgeführt wird. Dieses Verknüpfungspiktogramm
kann visuell anzeigen, dass ein zweites Programm konfiguriert ist,
um das erster Programm-Piktogramm aufzurufen. Wenn ein Verknüpfungspiktogramm
mit dem ersten Programm-Piktogramm vor der Assoziierung, die in 242 durchgeführt wird,
verbunden ist, kann das Verknüpfungspiktogramm
als mit dem neuen Programm-Piktogramm (oder dem Einrichtungs-Piktogramm)
in Schritt 250 nach der Assoziierung verbunden angezeigt
werden. Das Verknüpfungspiktogramm
kann im Wesentlichen dahingehend wirken, dem ersten Programm-Piktogramm
graphisch zu „folgen", während es
angewandt wird. Das Verknüpfungspiktogramm kann
visuell anzeigen, dass das erste Programm immer noch durch das zweite
Programm aufgerufen werden kann, selbst nach der Assoziierung.
-
Die
Anwendungshandlungen, die oben beschrieben wurden, sind in den 15–17 dargestellt.
Beispielsweise illustriert 15 ein
beispielhaftes Konfigurationsdiagramm, welches eine Hierarchie von
Programm-Piktogrammen 402 und 404A–D umfasst
und ein Einrichtungs-Piktogramm 412. Die Hierarchie von
Programm-Piktogrammen umfasst ein Hauptprogramm-Piktogramm 402 auf
der obersten Ebene der Programmhierarchie und vier Programm-Piktogramme
(„Unterprogramm-Piktogramme") 404A–D auf der
nächsten
Ebene der Programmhierarchie. Wenn der Anwender das Programm-Piktogramm 402 mit
dem Einrichtungs-Piktogramm 412 assoziiert (und er zum
Beispiel das Programm-Piktogramm 402 auf
das Einrichtungs-Piktogramm 412 zieht und fallen lässt), wie
es durch das „gestrichelte
Linie"-Piktogramm
in 16 gezeigt ist, erscheint das resultierende Konfigurationsdiagramm so
wie in 17 gezeigt. Wie in 17 gezeigt, sind das Programm-Piktogramm 402,
sowie die Programm-Piktogramme 404A–D der unteren
Ebenen nahe zu dem Einrichtungs-Piktogramm
(wie zum Beispiel darunter) kopiert, das als „SHAH” 412 bezeichnet ist.
Dies zeigt visuell an, dass die gesamte Programmhierarchie an der
Einrichtung, welche durch das Einrichtungs-Piktogramm 412 repräsentiert
wird, ange wandt wurde oder darauf kopiert wurde. In einer weiteren
Ausführungsform
kann der Anwender die Anwendung konfigurieren, so dass nur das ausgewählte Programm übertragen
wird und jegliche Programme unterer Ebene nicht übertragen werden.
-
In
Schritt 252 bestimmt das Verfahren. ob die durchgeführte Aktion
eine entfernte Aufrufung ist. Wenn die durchgeführte Aktion nur ein Kopierschritt ist,
endet die Handlung, wobei die Kopie in Schritt 248 durchgeführt wurde.
Wenn die durchgeführte
Aktion eine entfernte Aufrufung ist, wie es in Schritt 252 bestimmt
wird, dann kann das Verfahren in Schritt 254 die Anwendung
modifizieren, um das erste Programm auf der entfernten Einrichtung
aufzurufen. Dies kann das Modifizieren von zumindest einem Programm
in der Anwendung umfassen, um das erste Programm auf der Einrichtung
aufzurufen. Somit ist die Anwendung während der Ausführung der
Anwendung in der Lage, das erste Programm auf der Einrichtung aufzurufen,
wobei das erste Programm auf der Einrichtung ausgeführt wird.
Wenn die Mehrzahl von Programmen konfiguriert sind, um gemäß einer
spezifizierten Beziehung ausgeführt
zu werden, und wenn das erste Programm (wie zum Beispiel ein Anruferprogramm)
durch ein zweites Programm (zum Beispiel ein Rufprogramm) aufgerufen
wird gemäß der spezifizierten
Beziehung, kann Schritt 254 das Modifizieren des zweiten
Programms in der Anwendung umfassen, um das erste Programm auf der Einrichtung
aufzurufen. Wenn die durchgeführte
Aktion das Assoziieren eines Programm-Piktogramms von einer Quelleinrichtung
zu einer Zieleinrichtung umfasst, um eine entfernte Aufrufung des
Programms auf der Zieleinrichtung von der Quelleinrichtung zu konfigurieren,
kann zumindest ein verbleibendes Programm auf der Quelleinrichtung
(welche auch als das Ruferprogramm bezeichnet werden kann) modifiziert
werden, um das Programm auf der Zieleinrichtung aufzurufen.
-
In
Schritt 256 kann das Verfahren das Anzeigen eines neuen
Piktogramms (wie zum Beispiel einer modifizierten Version eines
bestehenden Piktogramms) auf der Anzeige in dem Konfigurationsdiagramm
umfassen, um anzuzeigen, dass das Aufrufen durchgeführt wird.
Dieses neue Piktogramm kann visuell anzeigen, dass das erste Programm
auf der Einrichtung angewandt wird und auf der Einrichtung ausgeführt werden
wird. In anderen Worten, dieses neue Piktogramm kann visuell anzeigen,
dass die Anwendung das erste Programm auf der Einrichtung aufruft.
Das neue Piktogramm kann beispielsweise anstelle des ersten Programm-Piktogramms angezeigt
werden. In einer Ausführungsform
ist das neue Piktogramm eine modifizierte Version des ersten Programm-Piktogramms,
welches visuell anzeigt, dass das erste Programm auf der Einrichtung
angewandt wird und auf der Einrichtung ausgeführt werden wird. Beispielsweise
kann die modifizierte Version des ersten Programm-Piktogramms das
Modifizieren des ersten Programm-Piktogramms umfassen, um das Aussehen
des Einrichtungs-Piktogramms zu umfassen.
-
Beispielsweise
illustriert 15, wie es oben festgestellt
wurde, ein beispielhaftes Konfigurationsdiagramm, welches eine Hierarchie
von Programm-Piktogrammen 402 und 404a–d umfasst
und ein Einrichtungs-Piktogramm 412. Die Hierarchie von Programm-Piktogrammen
umfasst ein Hauptprogramm-Piktogramm 402 auf
der obersten Ebene der Programmhierarchie und vier Programm-Piktogramme „Unterprogramm-Piktogramme" 404a–d auf der nächsten Ebene
der Programmhierarchie. Wenn der Anwender das Programm-Piktogramm 404d mit
dem Einrichtungs-Piktogramm 412 assoziiert (und er zum Beispiel
das Programm-Piktogramm 404d auf das Einrichtungs-Piktogramm 412 zieht
und fallen lässt), wie
es in 16 gezeigt ist, um das Programm
entfernt anzuwenden, erscheint das resultierende Konfigurationsdiagramm,
wie es in 18 gezeigt ist. Wie es in 18 gezeigt ist, wird das Programm-Piktogramm 404d unter
das Einrichtungs-Piktogramm kopiert, das mit „SHAH" 412 bezeichnet ist. Auch das Aussehen
des ursprünglichen
Programm-Piktogramms 404d wird geändert, um das Erscheinen des Einrichtungs-Piktogramms 412 zu
umfassen, was im neuen Piktogramm 404d1 resultiert. Dies
zeigt visuell an, dass das Programm 404d in der Programmhierarchie
auf der Einrichtung angewandt wird, welche durch das Einrichtungs-Piktogramm 412 repräsentiert
ist, und auf der Einrichtung ausgeführt werden wird.
-
Nachdem
Programme wie gewünscht
auf den verschiedenen Einrichtungen angewandt wurden, kann die Anwendung
ausgeführt
werden, wie es unter Bezugnahme auf die 13b beschrieben
ist. Während
der Ausführung
kann ein Teil der Anwendung auf dem Hauptcomputersystem 82 ausgeführt werden,
oder einer anderen Einrichtung, und die Anwendung kann verschiedene
Programme auf verschiedenen Einrichtungen in dem verteilten System aufrufen.
Beispielsweise kann die Ausführung
der Anwendung auf dem Hauptcomputersystem 82 das Aufrufen
eines ersten Programms umfassen, das auf einer entfernten Einrichtung
angewandt wird. Das erste Programm kann auf der Einrichtung ausgeführt werden
und dann entweder andere Einrichtungen aufrufen oder die Steuerung
an die Anwendung auf dem Hauptcomputersystem 82 zurückgeben.
-
10 – Konvertieren
eines Programms zu einem anderen Programmtyp:
-
10 ist ein Flussdiagramm, welches mehr Details
hinsichtlich Schritt 246 von 9 illustriert. 10 zeigt mehr Details hinsichtlich der Untersuchung
des Programmtyps eines Programms, welches angewandt wird und dem
Sicherstellen, dass der Programmtyp kompatibel mit der Einrichtung
ist, an der es angewandt werden soll. Wie oben beschrieben wird
das Verfahren von 10 durchgeführt, wenn ein Anwender ein
Programm auf einer Einrichtung anwendet, wenn beispielsweise der
Anwender ein Programm-Piktogramm auf ein bestimmtes Einrichtungs-Piktogramm
zieht und fallen lässt (Drag
and Drop). Das Verfahren von 10 kann auch
in Antwort auf andere Handlungen durchgeführt werden, die von dem Anwender
bevorzugt sind, wie etwa eine automatische Anwendung eines Programms.
-
Wie
oben angemerkt, kann das Programm-Piktogramm jede von einer Vielzahl
von Typen von Programmen repräsentieren
(„Programmtypen"), wie beispiels weise
ein ausführbares
Programm (kompiliertes Programm), Quellkodeprogramme verschiedene
Art (unkompiliert), graphische Programme, Hardwarekonfigurationsprogramme
(Hardwarebeschreibungen), etc. Die Einrichtung, welche durch das
Einrichtungs-Piktogramm repräsentiert wird,
kann von einer Vielzahl von verschiedenen Einrichtungstypen sein,
und beispielsweise einen Prozessor und einen Speicher umfassen oder
ein programmierbares Hardwareelement umfassen.
-
In
einer Ausführungsform
kann das Hauptcomputersystem 82, welches von der Quelleinrichtung
unterschiedlich sein kann, welche aktuell das Programm speichert
und der Zieleinrichtung, an der das Programm angewandt wird, Konversionssoftware
speichern, welche sowohl den Typ des Programms, das angewandt wird,
untersucht, als auch den Typ des Einrichtungs-Piktogramms, an dem
das Softwareprogramm angewandt wird. Das Hauptcomputersystem 82 kann
diese Konversionssoftware automatisch ausführen, um Programme auf verschiedene
Typen zu konvertieren, wie es gerade benötigt ist, und dadurch sicherstellen,
dass die Zieleinrichtung in der Lage ist, ein Programm zu empfangen,
welches einen Typ hat, der auf der Zieleinrichtung ausführbar oder
verwendbar ist. In einer weiteren Ausführungsform kann die Zieleinrichtung
und/oder die Quelleinrichtung Konversionssoftware umfassen, um Programme
zwischen verschiedenen Typen zu konvertieren.
-
In
Schritt 260 untersucht das Verfahren den Typ des angewandten
Softwareprogramms, das heißt,
ob das Softwareprogramm ein ausführbares Programm
ist, ein nicht kompiliertes Programm ist, ein graphisches Programm,
ein Softwareobjekt etc. Das Verfahren kann außerdem genauere Informationen
hinsichtlich des Programmtyps bestimmen. Wenn das Softwareprogramm
beispielsweise ein unkompiliertes Programm ist, kann das Verfahren
den Typ des Quellkodes bestimmen wie zum Beispiel C, C++, Java,
etc., um den geeigneten Kompilierer, falls notwendig, zu bestimmen.
Wenn das Softwareprogramm ein graphisches Programm ist, kann das
Verfahren bestimmen, ob das Softwareprogramm ein LabVIEW V1 ist,
ein Simulink Diagramm, ein VI Diagramm etc. Das Verfahren kann außerdem verschiedene
Typen von Hardwarekonfigurationsprogrammen oder Dateien (Hardwarebeschreibungen)
bestimmen.
-
In
Schritt 262 untersucht das Verfahren den Typ der Einrichtung
(„Einrichtungstyp"), an der das Softwareprogramm
ausgeführt
wird, das heißt,
den Typ der Einrichtung, die von dem Einrichtungs-Piktogramm repräsentiert
wird mit dem das Programm-Piktogramm assoziiert wurde. Die verschiedenen
Typen von Einrichtungen können
Einrichtungen umfassen, welche eine CPU mit einem Speicher umfassen,
ein programmierbares Hardwareelement, wie beispielsweise ein FPGA,
und/oder sie können verschiedene
Typen von Ausführungsmaschinen oder
Kompilierern für
unterschiedliche Softwaretypen umfassen.
-
Wenn
das Programm-Piktogramm mit einem weiteren Programm (dem Zielprogramm)
assoziiert (Drag and Drop) wurde oder mit einem weiteren Programm
angewandt wurde, kann das Verfahren das Zielprogramm-Piktogramm
in Schritt 262 untersuchen. Dies kann notwendig sein, um
sicherzustellen, dass das Zielprogramm, welches dem Zielprogramm-Piktogramm
entspricht, mit dem Programm, welches angewandt wird, zusammenarbeiten
kann. Das Verfahren kann außerdem
die Zieleinrichtung untersuchen, die das Zielprogramm umfasst.
-
In
Schritt 264 bestimmt das Verfahren, ob die Einrichtung
kompatibel mit dem jeweiligen Programm ist. Wenn die Einrichtung
beispielsweise eine CPU und einen Speicher umfasst und ein geeignetes
Betriebssystem und/oder Ausführungssoftware,
und das Softwareprogramm ein konventionelles ausführbares
Programm ist, welches durch die Software, die aktuell auf der Einrichtung
vorhanden ist, ausgeführt werden
kann, dann wird bestimmt, dass die Einrichtung kompatibel mit dem
Programm ist. Wenn jedoch, als ein anderes Beispiel, das Programm
ein Softwareprogramm ist, wie beispielsweise ein kompilierter ausführbarer
oder Quellkode, und die Einrichtung nur ein programmierbares Hardwareelement, wie
beispielsweise ein FPGA, umfasst, dann würde das Softwareprogramm als
inkompatibel mit der Einrichtung angesehen werden. Als ein weiteres
Beispiel, wenn das Programm ein graphisches Programm ist, wie beispielsweise
ein LabVIEW graphisches Programm, das in einer LabVIEW Programmentwicklungsumgebung
entwickelt wurde, und die Einrichtung ein Computersystem ist, welches
nicht die LabVIEW Ausführungsumgebung
umfasst oder das LabVIEW Runtime System, dann würde das Softwareprogramm als
inkompatibel mit der Einrichtung bestimmt werden.
-
Wenn
bestimmt wurde, dass die Einrichtung kompatibel mit dem Programm
ist in Schritt 264, dann wird das Programm in Schritt 248 in
den Speicher der Einrichtung geladen oder auf der Einrichtung für eine spätere Ausführung konfiguriert.
Wenn das Programm ein Softwareprogramm ist und die Einrichtung einen
Prozessor und ein Speichermedium umfasst, kann das Softwareprogramm
somit in das Speichermedium der Einrichtung für eine spätere Ausführung geladen werden. Als ein
weiteres Beispiel, wenn das Programm ein Hardwarekonfigurationsprogramm
ist oder eine Datei zur Konfigurierung eines programmierbaren Hardwareelements,
wie beispielsweise ein FPGA ist, und die Einrichtung beispielsweise
ein intelligenter Sensor ist, welcher ein FPGA umfasst, kann das
Laden des Programms auf die Einrichtung das Konfigurieren des FPGA
der Einrichtung mit dem Hardwarekonfigurationsprogramm umfassen.
Schritt 248 wurde oben unter Bezugnahme auf das Flussdiagramm
von 8 diskutiert. Wenn bestimmt wurde, dass die Einrichtung
inkompatibel mit dem Programm ist in Schritt 264, dann
kann in Schritt 266 das Programm in das geeignete Format
für die
Einrichtung, falls möglich,
konvertiert werden. Als ein Beispiel, wenn das Programm ein Softwareprogramm ist,
wie beispielsweise ein ausführbares
Programm (kompiliertes Programm), ein graphisches Programm, ein
Quellkodeprogramm etc., und die Einrichtung ein programmierbares
Hardwareelement umfasst, wie beispielsweise ein FPGA, kann das Softwareprogramm
mittels eines Programms in ein Hardwarekonfigurationsprogramm in
Schritt 266 konvertiert werden. Als ein weiteres Beispiel,
wenn ein Programm von einem bestimmten Programmtyp ist, welcher
eine bestimmte Ausführungsmaschine
benötigt,
wie beispielsweise ein LabVIEW graphisches Programm, oder VI, welches
eine LabVIEW Ausführungsmaschine benötigt, und
die Zieleinrichtung nicht die LabVIEW Ausführungsmaschine umfasst, dann
kann das LabVIEW graphische Programm in eine textbasierte Programmsprache
konvertiert werden, wie beispielsweise ein C-Programm, und dann in
Schritt 266 in ein ausführbares
Format kompiliert werden. Als ein weiteres Beispiel, wenn das Programm
eine Hardwarekonfigurationsdatei ist, die für einen FPGA oder ein anderes
programmierbares Hardwareelement gedacht ist, und die Einrichtung, an
der das Programm angewandt wird, eine CPU und einen Speicher umfasst,
und kein programmierbares Hardwareelement umfasst, dann kann die
Hardwarekonfigurationsdatei in Schritt 266 in ein Softwareprogramm
konvertiert werden, um durch die Einrichtung ausgeführt zu werden.
-
Als
ein weiteres Beispiel, wenn das Programm aktuell in einem Source
Kode Format ist, einem geeignet kompilierten, verfahrensbasierten Kode,
einem objektorientierten Kode etc.
-
In
Schritt 248 wird das konvertierte Programm auf die Einrichtung
geladen. Wenn das Hauptcomputersystem 82 beispielsweise
die Quelleinrichtung ist, kann der Hauptcomputer 82 das
Konversionsprogramm ausführen,
um das Programm zu dem geeigneten Programmtyp zu konvertieren und das
konvertierte Programm zu der Zieleinrichtung zu übertragen. Wenn das Hauptcomputersystem 82 nicht
die Quelleinrichtung ist, kann das Programm zuerst zu dem Hauptcomputersystem 82 zur
Konvertierung übertragen
werden und danach wird das konvertierte Programm zu der Zieleinrichtung übertragen.
-
Es
sollte angemerkt werden, dass der Vorgang des Konvertieren des Programms
in das geeignete Format für
die Einrichtung in Schritt 232 und das anschließende Laden
des konvertierten Programms auf die Einrichtung in Schritt 234 unsichtbar
für den Anwender
erfolgen kann. Mit anderen Worten, der Anwender kann einfach mittels
Drag and Drop das Programm-Piktogramm in Schritt 242 auf
das Einrichtungs-Piktogramm bewegen und andere Informationen in
Schritt 244 eingeben. Die Schritte 246, 248, 250, 252, 254 und 256 von 8 (und
die Schritte von 9) können unsichtbar für den Anwender durchgeführt werden.
Somit kann es sein, dass der Anwender nie bemerkt, dass das Programm,
welches dem Programm-Piktogramm entspricht, das der Anwender auf
das Einrichtungs-Piktogramm
gezogen und fallengelassen hat, ursprünglich inkompatibel mit der
Einrichtung war, da die Konversion des Programms in das geeignete
Format in Schritt 246 unsichtbar für den Anwender durchgeführt wurde.
-
In
einer weiteren Ausführungsform,
wenn festgestellt wird, dass die Einrichtung inkompatibel mit dem
Programm in Schritt 264 ist, kann ein Dialog erscheinen,
der den Anwender über
diese Inkompatibilität
warnt und den Anwender fragt, ob eine Konversion stattfinden soll.
In einigen Fällen
kann es eine Vielzahl von geeigneten Formaten oder Programmtypen
für die
Einrichtung geben. In diesem Fall kann die Dialogbox den Anwender
auffordern, auszuwählen,
in welches Format oder in welchen Programmtyp das Programm in Schritt 266 konvertiert
werden soll. Alternativ kann der Anwender wählen, die Anwendung aufgrund
der Inkompatibilität
nicht durchzuführen.
-
In
einer weiteren Ausführungsform,
kann das Verfahren, anstatt das Programm in den geeigneten Typ zu
konvertieren, Software übertragen,
wie z. B. eine Ausführungsmaschine
(execution agent) zu der Einrichtung, um es der Einrichtung zu ermöglichen, das
Programm auszuführen.
Wenn das Programm beispielsweise ein graphisches Programm ist, wie zum
Beispiel ein LabVIEW graphisches Programm, das in LabVIEW entwickelt
wurde und die Einrichtung nicht die Ausführungsumgebung von LabVIEW
enthält
oder LabVIEW Runtime System, dann kann das Computersystem 82 die
LabVIEW Ausführungsmaschine
an die Einrichtung übertragen,
wie zum Beispiel LabVIEW oder LabVIEW RT.
-
11 – Assoziierung
eines Programm-Piktogramms von einer Quelleinrichtung zu einer Zieleinrichtung:
-
11 ist ein verallgemeinertes Flussdiagramm, welches
eine Assoziierung eines Programm-Piktogramms von einer ersten oder
Quelleinrichtung zu einer zweiten oder Zieleinrichtung illustriert.
Anders gesagt, 11 illustriert, wo ein Programm-Piktogramm,
welches einem ersten oder Quelleinrichtungs-Piktogramm entspricht, mit einem zweiten
oder Zieleinrichtungs-Piktogramm assoziiert wird, oder einem Programm-Piktogramm
des Zieleinrichtungs-Piktogramms
assoziiert wird. Das Flussdiagramm von 10 beschreibt
die Vorgehensweise, wenn das Quelleinrichtungs-Piktogramm das Hauptcomputersystem 82 ist
oder eine entfernte Einrichtung, die mit dem Hauptcomputersystem 82 gekoppelt
ist. Auf ähnliche
Weise kann die Zieleinrichtung oder die zweite Einrichtung das Hauptcomputersystem 82 sein
oder eine entfernte Einrichtung, die mit dem Hauptcomputersystem
gekoppelt ist.
-
Das
Flussdiagramm von 11 ist ähnlich dem Flussdiagramm von 9.
Allerdings umfasst das Flussdiagramm von 11 weiter
den Fall 4, der oben beschrieben wurde, welcher das Übertragen
einer entfernten Ausübung
eines Programms von einer ersten Einrichtung zu einer zweiten Einrichtung
umfasst, wobei in jedem Fall das Programm entfernt durch eine dritte
Einrichtung aufgerufen wird.
-
Wie
gezeigt kann der Anwender in Schritt 242 ein Programm-Piktogramm
von einer ersten Quelleinrichtung zu einer zweiten Zieleinrichtung
assoziieren. Wie unter Bezug auf Schritt 242 oben beschrieben
wurde, kann dies unter Verwendung von Drag und Drop-Techniken mittels
Piktogrammen durchgeführt
werden. In Schritt 244 kann der Anwender den Typ der Handlung
spezifizieren. Wie oben beschrieben wurde, kann dies das Drücken einer ausgewählten Taste
auf der Tastatur umfassen, während
der Drag and Drop-Handlung, die Verwendung einer Dialogbox vor oder
nach der Drag and Drop-Handlung oder die Verwendung von Spracherkennungstechniken.
-
In
Schritt 246 kann das Verfahren den Programmtyp des Quell-
oder ersten Programms zu einem anderen Programmtyp konvertieren,
der von der Zieleinrichtung unterstützt wird. Wie oben unter Bezug
auf 246 in 9 beschrieben wurde, kann,
wenn die Quell- und Zieleinrichtungen beide entfernte Einrichtungen
sind, dies umfassen, dass das Hauptcomputersystem 82 entdeckt,
dass eine Konvertierung notwendig ist, das Lesen des jeweiligen
Programms von der Quelleinrichtung, das Durchführen der Konversion zu dem
neuen Programmtyp und das anschließende Senden des konvertierten
Programms zu der Zieleinrichtung in Schritt 248. In einer
weiteren Ausführungsform
können
verschiedene Einrichtungen in dem verteilten System die Fähigkeit
aufweisen, diese Programmtypkonversion wie gewünscht durchzuführen.
-
In
Schritt 248 kann das Programm auf der Zieleinrichtung angewandt
werden. Dies kann dadurch durchgeführt werden, dass die Quelleinrichtung
direkt das Programm oder das konvertierte Programm zu der Zieleinrichtung
sendet. Alternativ kann das Programm durch das Hauptcomputersystem 82 geleitet
werden, und es kann beispielsweise von der Quelleinrichtung zu dem
Hauptcomputersystem 82 übertragen
werden und dann zu der Zieleinrichtung.
-
In
Schritt 250 kann ein neues Programm-Piktogramm nahe zu
dem Zieleinrichtungs-Piktogramm in dem Konfigurationsdiagramm angezeigt
werden, um anzuzeigen, dass dieses Programm zu der Zieleinrichtung übertragen
oder kopiert wurde.
-
Nach
Abschluss von Schritt 250 können verschiedene unterschiedliche
Handlungen durchgeführt
werden, abhängig
von dem Typ der Handlung, die von dem Anwender gewählt wird.
Wie gezeigt, wenn der Anwender angezeigt hat, nur eine einfache Kopie
des Programms von der Quelleinrichtung zu der Zieleinrichtung zu übertragen,
dann ist die Handlung vollständig,
da die Kopierhandlung in Schritt 248 durchgeführt wurde.
-
Wenn
der Anwender in Schritt 244 angedeutet hat, dass ein entferntes
Aufrufen von der ersten entfernten Einrichtung zu der zweiten entfernten
Einrichtung gewünscht
ist, dann modifiziert das Verfahren in Schritt 254 das
Ruferprogramm auf der Quelleinrichtung, um das Angerufenerprogramm
(das Programm, welches in Schritt 248 übertragen wurde) auf der Zieleinrichtung
aufzurufen. In Schritt 256 wird das Piktogramm des Ruferprogramms
auf der Quelleinrichtung oder ersten Einrichtung modifiziert, um
ursprünglich
anzuzeigen, dass das Programm auf der zweiten oder Zieleinrichtung
aufgerufen wird. Diese Handlung ist ähnlich oder identisch zu der
Handlung in den Schritten 254 und 256 von 9.
-
Der
Anwender kann auch in Schritt 244 anzeigen, dass der Anwender
eine entfernte Aufrufung dieses Programms von einer dritten Einrichtung wünscht (wie
zum Beispiel dem Hauptcomputersystem 82, auf der zweiten
oder Zieleinrichtung). Mit anderen Worten, der Anwender kann zuvor
dieses Programm auf der Quelleinrichtung angewandt haben und später entschieden
haben, statt dessen die entfernte Ausführung dieses Programms auf
einer anderen Einrichtung stattfinden zu lassen, das heißt, der Zieleinrichtung
anstelle der Quelleinrichtung. Somit kann der Anwender, anstatt
dass der Anwender das Programm-Piktogramm, welches diesem Programm entspricht,
zurück
zu dem Hauptcomputersystemeinrichtungs-Piktogramm bewegen muss und von dort zu
der neuen Zieleinrichtung, wo die entfernte Ausführung gewünscht ist, einfach das Programm-Piktogramm
für dieses
Programm von der ersten oder entfernten Quelleinrichtung zu der
zweiten oder entfernten Zieleinrichtung ziehen und fallenlassen
und anzeigen, dass der Anwender wünscht, dass dieses Programm
von dem Hauptcomputersystem 82 aufgerufen wird und auf
dieser zweiten Zieleinrichtung ausgeführt wird. In diesem Beispiel
kann das Computersystem 82 in Schritt 253 bestimmen,
ob es in der Lage ist, das Programm von der Zieleinrichtung aufzurufen.
Wenn dies der Fall ist, modifiziert das Computersystem 82 dann
in Schritt 254A die Anwendung, beispielsweise eines der
Programme der Anwendung, die in dem Computersystem 82 enthalten
ist, um das Programm auf der zweiten Zieleinrichtung aufzurufen.
In Schritt 256A wird das ursprüngliche Programm-Piktogramm,
das heißt
das Pik togramm des Ruferprogramms nahe zu dem Computersystemeinrichtungs-Piktogramm, modifiziert,
um visuell anzuzeigen, dass das Programm nun auf der zweiten oder
entfernten Zieleinrichtung aufgerufen wird und nicht langer auf
der ersten oder entfernten Quelleinrichtung aufgerufen wird.
-
Wie
oben angemerkt, kann der Anwender außerdem ein Programm-Piktogramm
von einem ersten Einrichtungs-Piktogramm zu einem zweiten Einrichtungs-Piktogramm assoziieren
(beispielsweise durch Drag and Drop) und anzeigen, wenn der Anwender
wünscht,
dass ein Programm oder eine Anwendung auf dem zweiten Einrichtungs-Piktogramm das
Programm aufruft, welches dem Programm-Piktogramm entspricht, das
mit dem ersten Piktogramm assoziiert ist. In dieser Situation, wie
es in 12 gezeigt ist, kann in Schritt 292 ein
Programm oder eine Anwendung auf der zweiten Einrichtung, beispielsweise
ein oder mehrere Programme in der zweiten Einrichtung, modifiziert
werden, um das Programm aufzurufen, das auf der ersten Einrichtung
gespeichert ist. In Schritt 294 kann das Verfahren das
ursprüngliche
Programm-Piktogramm auf der zweiten Einrichtung modifizieren, und
visuell anzuzeigen, dass das Programm auf der ersten Einrichtung
aufgerufen wird. 12 wird weiter unten beschrieben.
-
12 – Assoziierung
eines Programm-Piktogramms von einer entfernten Einrichtung mit
dem Hauptcomputersystem:
-
12 ist ein Flussdiagramm, welches die Assoziierung
eines Programm-Piktogramms
von einer entfernten Einrichtung zu dem Einrichtungs-Piktogramm
für das
Hauptcomputersystem 82 illustriert. Es sollte festgehalten
werden, dass das Flussdiagramm von 12 ebenso
gut auf das Assoziieren eines Programm-Piktogramms von einer ersten entfernten
Einrichtung auf das Einrichtungs-Piktogramm einer
zweiten entfernten Einrichtung angewandt werden kann.
-
In
einer Ausführungsform
kann der Anwender Programm-Piktogramme auswählen, die auf einer Einrichtung
umfasst sind, die nicht die Haupteinrichtung 82 ist, und
diese Programm-Piktogramme mit der Haupteinrichtung 82 unter
Verwendung der oben beschriebenen Drag and Drop-Techniken assoziieren.
Der Anwender kann verschiedene Handlungen auswählen, die durchgeführt werden
sollen, wie es unten beschrieben ist. Beispielsweise kann der Anwender
in Schritt 282 ein Programm auswählen, das auf einer entfernten
Einrichtung vorhanden ist, und das entsprechende Programm-Piktogramm
auf das Einrichtungs-Piktogramm der Haupteinrichtung 82 ziehen
und fallenlassen.
-
In
Schritt 284 kann der Anwender unter verschiedenen Optionen
wählen,
beispielsweise entweder
- 1. Das Programm zu
dem Hauptcomputersystem 82 zu bewegen oder
- 2. zu kopieren;
- 3. das Programm in dem Hauptcomputersystem anzuwenden;
- 4. die Ausführung
von einer ersten Einrichtung zu einer zweiten Einrichtung zu übertragen;
oder
- 5. eine entfernte Ausführung
dieses Programms durch die Programme auf dem Hauptcomputersystem 82 zu
veranlassen.
-
Diese
Auswahl kann durch Bereitstellen eines bestimmten Anwenderinputs
durchgeführt
werden, wie beispielsweise
- • dem Gedrückthalten einer bestimmten
Taste während
der Drag and Drop-Handlung
- • durch
eine Dialogbox; oder
- • unter
Verwendung von Spracherkennung.
-
Hier
wird angenommen, dass der Anwender Option Nummer 5 wählt. Die
Optionen 1, 2 und 3 wurden oben in 9 beschrieben
und die Optionen 1, 2, 3 und 4 wurden oben in 11 beschrieben.
-
Wenn
der Anwender die Option wählt,
eine entfernte Ausführung
dieses Programms durch die Anwendung auf dem Hauptcomputersystem 82 zu veranlassen,
wie es in Schritt 286 bestimmt wurde, werden Schritte 292 und 294 durchgeführt. In
Schritt 292 kann die Anwendung, wie beispielsweise ein oder
mehrere Programme in der Anwendung, modifiziert werden, um das Programm
aufzurufen, das auf der entfernten Einrichtung gespeichert ist.
In Schritt 294 kann das Verfahren das ursprüngliche
Programm-Piktogramm in der Anwendung modifizieren, um visuell anzuzeigen,
dass das Programm auf der entfernten Einrichtung aufgerufen wird.
-
Somit
wird in diesem Fall das Programm auf der entfernten Einrichtung
nicht tatsächlich
zu der Haupteinrichtung kopiert, sondern vielmehr verursacht das
Ziehen und Fallenlassen des Programms von der entfernten Einrichtung
zu dem Haupteinrichtungs-Piktogramm, dass das Haupteinrichtungs-Piktogramm
einen Ruf auf dieses Programm auf der entfernten Einrichtung umfasst.
Wenn das Hauptprogramm auf der Haupteinrichtung ausgeführt wird, wird
somit ein Ruf nach diesem Programm auf der entfernten Einrichtung
gemacht, um eine Ausführung dieses
Programms auf der entfernten Einrichtung auszuführen, während das Hauptanwendungsprogramm
ausgeführt
wird. In Schritt 282 kann der Anwender das Programm von
der entfernten Einrichtung zu einem bestimmten Programm-Piktogramm in der
Hierarchie von Programm-Piktogrammen ziehen, die auf der Haupteinrichtung
angezeigt sind. Der Anwender kann somit wählen, welches Programm in der Hierarchie
der Haupteinrichtung 82 dieses Programm auf der entfernten
Einrichtung rufen wird. Wenn der Anwender ein erstes Programm-Piktogramm von der
entfernten Einrichtung auf ein zweites Programm-Piktogramm zieht, das auf der Haupteinrichtung 82 vorhanden
ist, dann wird in der Ausführungsform
von 12 das zweite Programm konfiguriert,
um einen Ruf an das erste Programm abzugeben. Nachdem das zweite
Programm (entsprechend dem zweiten Programm-Piktogramm) auf der
Haupteinrichtung 82 abläuft,
verursacht es somit einen Ruf an das erste Programm (welches dem
ersten Programm-Piktogramm entspricht auf der entfernten Einrichtung,
um eine Ausfüh rung
dieses ersten Programms auf der entfernten Einrichtung abzurufen. Falls
der Anwender genauer spezifizieren möchte, wo in einem entsprechenden
zweiten Programm auf der Haupteinrichtung dieser Ruf gemacht werden soll,
kann der Anwender den Quellkode des zweiten Programms öffnen und
diesen exakten Ort spezifizieren. Wenn das Programm beispielsweise
ein graphisches Programm ist, wie zum Beispiel ein LabVIEW VI, kann
der Anwender das Blockdiagramm des zweiten Programms öffnen (beispielsweise
durch ein rechtes Mausklicken auf das Programm-Piktogramm in dem
Konfigurationsdiagramm und Auswählen
dieser Option) und dann weiter einen bestimmten Knoten auswählen, wo
dieser Ruf zu machen ist. In einer Ausführungsform kann der Anwender
das Programm-Piktogramm
von der entfernten Einrichtung einer bestimmten Stelle in dem Diagramm
ziehen und fallenlassen (wie zum Beispiel auf einen Knotenpunkt
oder einen Draht), um auszuwählen,
wo dieser Ruf zu machen ist. Wenn der Anwender in einer Ausführungsform
ein Programm von einer entfernten Einrichtung zu einem Programm-Piktogramm
auf der Haupteinrichtung zieht, und wenn das Programm auf der Haupteinrichtung
ein graphisches Programm ist, erscheint das Blockdiagramm des graphischen
Programms automatisch auf der Anzeige, und erlaubt es dem Anwender,
leicht zu navigieren und den Ruf nach dem Programm in dem Rufprogramm
zu platzieren.
-
13A – Mögliche Handlungen
mit Programm-Piktogrammen:
-
Wie
oben beschrieben wurde, zeigt das System das Konfigurationsdiagramm
in einer Piktogrammansicht, vorzugsweise einer Piktogrammbeziehungsansicht
(wie zum Beispiel einer hierarchischen Ansicht) der verteilten Softwareprogramme.
Der Anwender kann verschiedene Optionen auswählen, die mit Einrichtungs-Piktogrammen und/oder
Programm-Piktogrammen assoziiert sind. 20A illustriert
eine beispielhafte Bildschirmkopie, die einen Anwender zeigt, der
Optionen aus einem Menü,
das mit einem Programm-Piktogramm assoziiert ist, auswählt (zum
Beispiel durch rechtes Mausklicken auf das Piktogramm). Die folgenden
sind repräsentative Beispiele
von Handlungen, die hinsichtlich eines Pro gramm-Piktogramms durchgeführt werden
können. In
Schritt 360 ist das Konfigurationsdiagramm mit einer Piktogramm-Beziehungsansicht
der verteilten Programme dargestellt.
-
In
Schritt 362 kann der Anwender ein Programm-Piktogramm,
welches mit einem Einrichtungs-Piktogramm assoziiert ist, beispielsweise durch
rechtes Mausklicken auf das entsprechende Programm-Piktogramm auswählen. Alternativ
kann der Anwender ein Einrichtungs-Piktogramm auswählen, in
dem er beispielsweise mit der rechten Maustaste auf das Einrichtungs-Piktogramm
klickt und dann eine Ablaufoption für das Einrichtungs-Piktogramm
auswählt.
-
In
Schritt 364 kann der Anwender dann eine „Ablauf-"Option auswählen, um
die Ausführung
des Programms zu starten, das auf der Einrichtung angewandt wurde.
Wenn der Anwender ein Einrichtungs-Piktogramm ausgewählt hat,
kann der Anwender eine Ablaufoption für das Einrichtungs-Piktogramm
auswählen.
Dies führt
zu dem Beginn einer Ausführung
des obersten Programms, oder aller Programme, die auf der Einrichtung
angewandt werden. Diese Ablaufoption ist in 18 gezeigt.
-
In
Schritt 368 kann der Anwender eine „open front Panel" Option auswählen, um
das Frontpaneel oder die Benutzerschnittstelle des Programms anzusehen,
das auf der Einrichtung angewandt oder durchgeführt wird. Wenn das Programm
aktuell nicht durchgeführt
wird, wird ein Auswählen
in dieser Option dazu führen,
dass die Benutzerschnittstelle (Stellen) oder das Frontpaneel für das Programm
angezeigt wird. Wenn das Programm aktuell auf der Einrichtung ausgeführt wird
und der Anwender diese Option wählt,
um die Benutzerschnittstelle zu betrachten, kann die Benutzerschnittstelle
erscheinen, wobei die Benutzerschnittstelle eine oder mehrere der
Eingaben und/oder Ausgaben des Programms anzeigt, das ausgeführt wird.
Wo das Programm auf einer entfernten Einrichtung ausgeführt wird,
das heißt
auf einer Einrichtung, die von dem Computersystem getrennt ist,
kann die Information des Panels oder der Benutzerschnittstelle zu
dem Hauptcomputer system 82 zur Anzeige übertragen werden. Die von dem
Programm empfangenen oder erzeugten Daten können über ein Bus oder ein Netzwerk
zu dem Hauptcomputersystem 82 übertragen werden, wo die Benutzerschnittstelle
angezeigt wird, und die Daten können
in der Benutzerschnittstelle so wie die Programme dargestellt werden,
die direkt auf der Hauptmaschine ausgeführt werden. In einer Ausführungsform
kann der Anwender auch in der Lage sein, interaktiv Eingaben zu
manipulieren, die dem Programm bereitgestellt werden, unter Verwendung
der Benutzerschnittstelle auf dem Hauptprogramm, wobei diese Benutzereingabe
von dem Hauptcomputersystem empfangen wird und zu der Einrichtung übertragen
wird, wo das Programm tatsächlich
ausgeführt
wird. Ausgaben, die von diesem Programm in Antwort auf diese Eingabe
erzeugt werden, können
dann zurück
zu dem Hauptcomputersystem 82 übertragen werden und auf der
Benutzerschnittstelle angezeigt werden, die auf der Anzeige des
Hauptcomputersystems 82 angezeigt wird. Die „open front
Panel" Option ist
in 20A gezeigt.
-
Wie
in Schritt 372 gezeigt, kann der Anwender auch eine Option
wählen,
um das Programm, welches durch das Programm-Piktogramm dargestellt
wird, dazu zu veranlassen, eine Ausführung zu stoppen. Dies kann
auch alle Programme unterhalb des Programms in der Hierarchie dazu
veranlassen, ebenfalls die Ausführung
einzustellen. Alternativ kann der Anwender eine Option für ein Einrichtungs-Piktogramm auswählen, um
ein Stopp- oder Haltmenüelement
auszuwählen,
welches veranlasst, dass alle Programme, die auf der jeweiligen
Einrichtung ausgeführt
werden, gestoppt werden. In einer Ausführungsform kann der Anwender
auch eine Option auswählen
um zu veranlassen, dass der Quellkode des Programms angezeigt wird.
Wenn das Programm beispielsweise ein graphisches Programm ist, dann
kann die Auswahl des Anwenders dieser Option veranlassen, dass das
Blockdiagramm des graphischen Programms angezeigt wird. Wenn das Programm
ein textbasiertes Programm ist, wie beispielsweise ein auf der C-Sprache basiertes
Programm, kann die Auswahl des Anwenders dieser Option veranlassen,
dass der Textquellkode des Programms angezeigt wird. Der Anwen der
kann auch verschiedene Debugging Merkmale auswählen, die an dem Programm angewandt
werden.
-
Verschiedene
andere Handlungen sind ebenfalls möglich. Beispielsweise illustriert 20A ein Menü,
welches Optionen wie beispielsweise „Hebe Verbindungen hervor", „Verstecke
alle Unter-VIs", „Zeige
die VI-Hierarchie", „Zeige
alle Unter-VIs", „Zeige
alle Rufer", „Finde
alle Instanzen", „Editiere
Piktogramme", „VI-Eigenschaften", „Open front
Panel" (siehe Schritt 368), „Drucke
Dokumentation", „Ablauf (siehe
Schritt 362)", „schließe VI", und „entfernter Ruf" umfassen.
-
Die
Auswahl des „Fernruf" Merkmals ist in 20B gezeigt. Wie dargestellt kann die Auswahl des „Fernruf" Merkmals veranlassen,
dass die Namen von anderen Programm-Piktogrammen oder Einrichtungs-Piktogrammen
in einem Menü angezeigt
werden. Der Anwender kann dann den Namen eines Piktogramms auswählen um
einen Fernruf oder einen Aufruf zu konfigurieren. Eine neue Verknüpfung kann
dann in dem Konfigurationsdiagramm angezeigt werden um visuell diesen
Fernruf anzuzeigen. Alternativ, wenn der Anwender das „Fernruf" Merkmal auswählt können Programm-Piktogramme oder
Einrichtungs-Piktogramme selbst in dem Diagramm hervorgehoben werden.
Der Anwender kann dann unter diesen Piktogrammen wählen um
den Fernruf zu konfigurieren.
-
In
einer Ausführungsform,
wenn der Anwender ein erstes Einrichtungs-Piktogramm auf ein zweites Einrichtungs-Piktogramm
zieht und fallen lässt, verursacht
dies, dass alle Programme, die auf dem ersten Einrichtungs-Piktogramm
gespeichert sind auf das zweite Einrichtungs-Piktogramm kopiert
oder angewandt werden.
-
In
einer Ausführungsform,
kann das Konfigurationsdiagramm ein Anwendungs-Piktogramm oder ein Projekt-Piktogramm
unterstützen,
wobei das Anwendungs- Piktogramm
oder Projekt-Piktogramm einen oder mehrere Programme repräsentiert
und möglicherweise
weitere Informationen. Das Anwendungs-Piktogramm oder Projekt-Piktogramm
kann beispielsweise Informationen umfassen oder repräsentieren,
die angeben, wie die verschiedenen Programme, Hilfedateien etc.,
unter den verschiedenen Einrichtungen in einem System zu verteilen
sind. Das Konfigurationsdiagramm kann auch ein System-Piktogramm
unterstützen,
wobei das System-Piktogramm ein verteiltes System repräsentiert,
welches eine Mehrzahl von Einrichtungen umfasst (wobei jede Einrichtung
ihr eigenes Einrichtungs-Piktogramm
haben kann).
-
Der
Anwender kann das Konfigurations-Piktogramm oder Projekt-Piktogramm
einem System-Piktogramm zuordnen (z. B. durch ziehen und fallenlassen),
wobei dies veranlasst, das die verschiedenen Programme unter den
Einrichtungen in dem System, welches durch das System-Piktogramm
repräsentiert
wird, verteilt oder angewandt werden. Informationen, die durch das
Anwendungs-Piktogramm repräsentiert
werden, können beim
Anwenden der Programme auf den verschiedenen Einrichtungen verwendet
werden.
-
13B
-
13B zeigt die Ausführung einer Anwendung. Wie
gezeigt, kann der Anwender das Programm-Piktogramm der höchsten Ebene
in der Beziehung oder Hierarchie auswählen und die Ausführung des
Programms der höchsten
Ebene beginnen in dem er z. B. mit der rechten Maustaste auf das
Programm-Piktogramm der höchsten
Ebene klickt und ein „Ausführ-"Merkmal wählt. Alternativ
kann der Anwender das Einrichtungs-Piktogramm auswählen und
ein „Ausführ-"Merkmal wählen, welches
veranlasst, dass mit der Ausführung
des Programms der höchsten
Ebene begonnen wird.
-
Während der
Ausführung
kann ein Teil der Anwendung auf dem Hauptcomputersystem 82 im Schritt 382 ablaufen,
und die Anwendung kann verschiedene Programme auf verschiedenen
Einrichtungen in dem verteilten System in Schritt 384 aufrufen.
Das Ausführen
der Anwendung auf dem Hauptcomputersystem 82 kann beispielsweise
ein erstes Programm aufrufen, das auf einer entfernten Einrichtung
angewandt wird. Das erste Programm kann auf der Einrichtung ablaufen
und dann entweder andere Einrichtungen aufrufen oder die Steuerung
an die Anwendung auf dem Hauptcomputersystem 82 zurückgeben.
In einer weiteren Ausführungsform
kann das Hauptcomputersystem 82 nur zur Konfiguration verwendet
werden und die Anwendung kann auf verschiedenen anderen Einrichtungen
ausgeführt
werden.
-
Wenn
zwei oder mehr der Programme zur gleichzeitigen oder parallelen
Ausführungen
konfiguriert sind, wie z. B. auf unterschiedlichen Einrichtungen,
kann das Auswählen
der „Ausführ-"Option für das Programm-Piktogramm
der höchsten
Ebene und/oder das Einrichtungs-Piktogramm veranlassen, dass diese
zwei oder mehr Programme mit einer gleichzeitigen oder parallelen
Ausführung
beginnen.
-
Installieren von neuen Programmen
-
Wenn
ein Anwender ein neues Programm auf dem Hauptcomputersystem 82 oder
auf einer anderen Einrichtung in dem verteilten System installiert, kann
das neue Programm automatisch entdeckt werden, z. B. durch das Hauptcomputersystem 82,
und ein neues Programm-Piktogramm kann automatisch in dem Konfigurationsdiagramm
gezeigt werden, welches auf dem Hauptcomputersystem 82 angezeigt wird,
und welches dem neuen Programm entspricht. Das neue Programm-Piktogramm kann automatisch an
dem Konfigurationsdiagramm nahe zu und/oder verbunden mit der Einrichtung
gezeigt werden, auf der das Programm installiert wurde. Wenn das
neue Programm beispielsweise auf dem ersten Computersystem installiert
wird kann ein neues Programm-Piktogramm nahe zu und/oder verbunden
mit dem Einrichtungs-Piktogramm des ersten Computersystems in dem
Konfigurationsdiagramm erscheinen.
-
Beispielhafter Konfigurationsdialog zum
Zusammenfügen
eines Konfigurationsdiagramms
-
14 zeigt eine Ausführungsform eines Konfigurationsdialogs
zum Erzeugen oder Spezifizieren eines Konfigurationsdiagramms. 14 zeigt einen Konfigurtionsdialog oder ein Benutzerschnittstellenpaneel,
welches zur Entdeckung oder Auffindung von Einrichtungen verwendet
wird, die innerhalb des Systems verbunden sind. Wie oben angemerkt,
kann das Computersystem 82 als die zentrale Konsole des verteilten
Systems dienen und kann dahingehend wirken, um Software auszuführen, welche
das Konfigurationsdiagramm anzeigt als auch den Konfigurationsdialog,
der beim Konfigurieren des Konfigurationsdiagramms verwendet wird.
-
Das
Computersystem 82 hat vorzugsweise die Fähigkeit
Einrichtungen, wie z. B andere Computer, intelligente Sensoren,
FPGA Einrichtungen, oder andere Arten von Knotenpunkten oder Einrichtungen,
die von dem Computer umfasst sind oder damit gekoppelt sind, wie
z. B. mit dem Computer über
ein Netzwerk gekoppelt sind, zu entdecken. Das System entdeckt oder
erkennt vorzugsweise Einrichtungen und fügt diese dem Konfigurationsdiagramm
hinzu. In einer Ausführungsform
kann eines oder mehrere der verschiedenen Einrichtungen die Fähigkeit
haben ihre Anwesenheit und ihren Einrichtungstyp dem Hauptcomputersystem 82 mitzuteilen.
Beispielsweise können
verschiedene intelligente Sensoren ihre Anwesenheit und ihren Gerätetyp dem
Hauptcomputersystem 82 mitteilen.
-
In
einer Ausführungsform
hat das System auch die Fähigkeit
virtuelle Einrichtungen in Fällen
zu erzeugen, wo die tatsächliche
Einrichtung noch nicht verfügbar
ist aber wo die Einrichtung verfügbar
sein wird wenn das System die erzeugte Anwendung ausführt. Somit
kann der Anwender eine virtuelle Einrichtung für Einrichtungen erzeugen, die
noch nicht tatsächlich
während
der Designphase vorhanden sind. In einer Ausführungsform kann ein physisches
Gerät als
ein „stand
in" Gerät für eine virtuelle
Einrichtung verwendet werden, wobei das Programm, das auf der virtuellen
Einrichtung angewandt werden soll, auf der „stand in" Einrichtung statt dessen angewandt
oder ausgeführt
wird, bis eine physische Einrichtung in dem System installiert ist,
die der virtuellen Einrichtung entspricht. In einer weiteren Ausführungsform kann
ein Softwareprogramm verwendet werden um dem Betrieb einer virtuellen
Einrichtung zu simulieren, d. h. einer physikalischen Einrichtung
die noch nicht vorhanden ist.
-
In
einer Ausführungsform
erscheinen, wenn Einrichtungen oder Verknüpfungen zu dem Benutzerschnittstellenpaneel
in 14 hinzugefügt
werden, diese als Einrichtungs-Piktogramme oder Rechenelement-Piktogramme
in dem Konfigurationsdiagramm. Wenn somit das Hauptcomputersystem 82 gestartet
wird, können
Einrichtungen, die automatisch entdeckt wurden sofort und automatisch
als Einrichtungs-Piktogramme in dem Konfigurationsdiagramm erscheinen.
Wenn der Anwender später
die Anwesenheit von anderen Einrichtungen in dem Konfigurationsdialog
eingibt können
entsprechende Einrichtungs-Piktogramme ebenfalls automatisch in
dem Konfigurationsdiagramm erscheinen. Wenn der Anwender oder ein
Dritter eine neue Einrichtung mit dem verteilten System verbindet
kann die neue Einrichtung automatisch entdeckt werden und ein neues Einrichtungs-Piktogramm, welches
der neuen Einrichtung entspricht, kann automatisch in dem Konfigurationsdiagram
angezeigt werden.
-
In
einer weiteren Ausführungsform
können fortgeschrittenere
Hilfsprogramme (wizards) verwendet werden um das Konfigurationsdiagramm
zu erzeugen. In einer Ausführungsform
kann ein Konfigurationswizard auf einem Server 90 ausgeführt werden
oder auf dem System 82 des Anwenders, wobei der Server 90 ebenfalls
eine Mehrzahl von unterschiedlichen Programmen speichert. Der Konfigurationswizard
kann den Anwender eine Reihe von Fragen stellen hinsichtlich des
gewünschten
Betriebssystems, der Hardwareeinrichtungen, die in dem System des
Anwenders enthalten sind, etc. Der Konfigurationswizard kann dann
automatisch ein Konfigurationsdiagramm für den Anwender erstellen und dieses
Konfigurationsdiagramm auf der Anzeige des Anwenders darstellen.
Der Konfigurati onswizard kann außerdem die entsprechenden Konfigurationsdaten
zu dem Computer 82 des Anwenders übertragen. Diese Konfigurationsdaten
können
so ausführbar
sein, um automatisch Programme auf verschiedenen Hardwareeinrichtungen
des Anwenders aufzurufen. Alternativ kann der Server 90 automatisch Programme
auf verschiedenen der Hardwareeinrichtungen des Anwenders über ein
Netzwerk aufrufen.
-
In
einer Ausführungsform
kann das Konfigurationsdiagramm ein Find- oder Entdeckungswerkzeug
unterstützen.
Das Findwerkzeug kann unterschiedliche Filter unterstützen, die
der Anwender mit logischen Ausdrücken
konfigurieren kann, um verschiedene Einrichtungen, Programme, I/O
Kanäle, Datenpunkte,
etc. zu lokalisieren. Beispielsweise kann der Anwender die folgenden „Finde" Ausdrücke eingeben.
- Finde nur FP 2000 oder Einrichtungen mit AI
- Finde Einrichtungen, die eine Kennzeichnung Namens ... tragen
- IP startet mit 130.164.*
- Addiere alle RT Einrichtungen in meinem Subnet
- Finde Einrichtungen im Gebäude
Nummer 2
- Zeige keine Verknüpfungen
in Gebäude
Nummer 1
-
15 – Anwenden
von Programmen und Änderung von
Aufrufbeziehungen
-
Die 15 bis 19 zeigen
Ausführungsformen
wie Programme unter Verwendung eines Konfigurationsdiagramms angewandt
werden können. 32 zeigt ein Beispiel einer Anwendung eines Programms
an einem Zielgerät.
-
15 zeigt ein Konfigurationsdiagramm (bezeichnet
mit „Hierarchiefenster"), welches ein Hauptpiktogramm 412 umfasst
und vier Unterprogramm-Piktogramme 404A–404D.
In diesem Beispiel hat der Anwender dem Netzwerk ein Computersystem
in dem Konfigurationspaneel von 14 hinzugefügt, wobei
der Name dieses Computersystems „SHAH" ist. Somit erscheint das Konfigurationsdiagramm,
wie es in 15 gezeigt ist, mit einem Einrichtungs-Piktogramm 412,
welches das Computersystem mit dem Namen „SHAH" repräsentiert.
-
Wie
in 16 gezeigt, wenn der Anwender wünscht eine
Anwendung unter verschiedenen Einrichtungen zu verteilen, beispielsweise
ein Programm auf einer Einrichtung anzuwenden, kann der Anwender
ein Programm-Piktogramm mit einer Zeigevorrichtung auswählen und
das Piktogramm auf ein Einrichtungs-Piktogramm ziehen und fallenlassen (Drag
and Drop). Wie in 16 gezeigt, hat der Anwender
das Hauptprogramm-Piktogramm 402 ausgewählt und dieses Piktogramm 402 auf
das Einrichtungs-Piktogramm 412 gezogen und dann fallengelassen.
Dies wir durch den Kasten repräsentiert,
der mit gestrichelten Linien in 16 gezeigt
ist.
-
Wenn
diese Handlung vollendet ist, werden das Hauptsoftwareprogramm,
das dem Programm-Piktogramm 402 entspricht und alle Unterprogramme
innerhalb der Hierarchie zu der Zieleinrichtung kopiert. Außerdem werden
das Programm-Piktogramm 402 und
alle Unterprogramm-Piktogramme 404A bis D so kopiert, um
nahe zu (wie z. B. darunter) dem Einrichtungs-Piktogramm 412 zu
erscheinen. Das Konfigurationsdiagramm sieht dann so aus, wie es
in 17 gezeigt ist. Somit erscheint die selbe Anwendungshierarchie
von Programm-Piktogrammen 402 und 404A, 404B, 404C und 404D unterhalb
des Einrichtungs-Piktogramms 412, wodurch angezeigt wird,
dass diese Programme nun auf der Einrichtung angewandt werden, die
durch Einrichtungs-Piktogramm 412 repräsentiert wird.
-
Wie
oben beschrieben, wenn in einer Ausführungsform der Anwender ein
Programm-Piktogramm von der Hierarchie von Programm-Piktogrammen
auf ein Einrichtungs-Piktogramm zieht kann dies dazu führen, dass
das unterliegende Programm, welches dem Programm-Piktogramm entspricht,
auf die entsprechende Einrichtung kopiert wird. Das Konfigurationsfenster
kann somit z. B. eine Hierarchie von Programm-Piktogrammen anzeigen,
die auf dem Hauptcomputersystem vorhanden sind. Wenn der Anwender
das Programm der höchsten
Ebene von dieser Hierarchie auswählt
und dieses Programm der höchsten
Ebene zu einem Einrichtungs-Piktogramm zieht, welches einer anderen
Einrichtung in dem System entspricht, führt dies dazu, dass die verschiedenen
Programme, die dem Hauptprogramm entsprechen und alle Programme
unterhalb dieses Hauptprogramms in der Hierarchie auf die entsprechende Einrichtung
kopiert werden. Wenn der Anwender ein Unterprogramm in der Hierarchie
auswählt,
das auf dem Hauptcomputersystem vorhanden ist, und dieses zu einer
Einrichtung hinkopiert verursacht dies, dass das Unterprogramm und
alle Unterprogramme unterhalb dieses Unterprogramms in der Hierarchie zu
der Einrichtung hinüberkopiert
werden. Wenn der Anwender also ein Programm-Piktogramm zu einer entsprechenden
Einrichtung zieht verursacht dies, dass das Programm, welches dem
Programm-Piktogramm entspricht, und alle Programme unterhalb dieses
Programm-Piktogramms
in der Hierarchie zu der jeweiligen Einrichtung kopiert werden.
-
In
einer Ausführungsform
kann der Anwender es wünschen
Teile einer Anwendung auf verschiedene Einrichtungen in dem verteilten
System für eine
verteilte Ausführung
zu verteilen, was außerdem effektiv
den Betrieb der Programme, die ausgeführt werden, ändert, die
auf der Original- oder Quelleinrichtung vorhanden sind (wie z. B.
dem Hauptcomputersystem). Beispielsweise sei angenommen, dass der
Anwender ein Unterprogramm eines Hauptprogramms auf einer anderen
Einrichtung zur Ausführung
aufrufen möchte.
In einer Ausführungsform zieht
der Anwender einfach das Programm-Piktogramm, welches dem Unterprogramm
entspricht, von der Hierarchie des Hauptprogramms auf das Einrichtungs-Piktogramm und er
kann weiter ein „Anwendung
zur entfernten Ausführung" an wählen (wie
z. B. durch gedrückt
halten der ALT Taste während
des Drag and Drop Vorgangs). Dies führt dazu, dass das Unterprogramm
zu der Einrichtung übertragen
wird. Dies führt
auch dazu, dass das Hauptprogramm automatisch modifiziert wird,
um einen Ruf des Unterprogramms zu umfassen, zu der Zieleinrichtung
zu der das Programm übertragen
wurde. Das Programm der hohen Ebene in der Hierarchie wird automatisch
modifiziert um einen Ruf nach der Einrichtung zu enthalten, um eine
Ausführung
dieses Programms auf dem entfernten oder Zielgerät zu rufen oder aufzurufen.
Das entsprechende Konfigurationsfenster würde so wie in 18 gezeigt erscheinen, wobei das Programm der
höchsten
Ebene der Programmhierarchie drei Unterprogramm-Piktogramme 404A bis 404C hat,
welche auf der Hauptmaschine 82 vorhanden sind, und wobei
ein Piktogramm 404D1, welches der entfernten Einrichtung
entspricht, in der Hierarchie anzeigt, dass ein Aufruf zu einer
entfernten Einrichtung während
der Ausführung gemacht
wird.
-
Ein
Beispiel dieses Betriebs ist wie folgt. Es wird angenommen, dass
eine Anwendung die Temperatur eines Tanks misst und Rechnungen und Steuervorgänge durchführt, sowie
das Speichern von Datenwerten zu einem nichtflüchtigen Speicher oder einer
Diskette. Wenn der Temperatursensor, der in der Anwendung verwendet
wird, mit einem anderen Computersystem oder einer anderen Einrichtung (Einrichtung
B) verbunden ist, dann kann der Anwender es wünschen, dass das Programm,
welches die Temperatur misst, auf dieser separaten oder entfernten
Einrichtung abläuft
(Einrichtung B). Der Anwender kann dieses Ergebnis erreichen ohne
das eine manuelle Modifikation der Anwendung nötig ist. Der Anwender kann
einfach das Temperaturprogramm zu der anderen Einrichtung oder Maschine
ziehen (Einrichtung B). In einer Ausführungsform drückt der
Anwender die ALT Taste, während
des Ziehens und Fallenlassens des Unterprogramm-Piktogramms auf die entfernte Einrichtung.
Dies führt
dazu, dass das Temperaturprogramm zu Einrichtung B hinunter geladen wird.
Die Anwendung der höchsten
Ebene, d. h. das Programm, welches sofort oberhalb dieses Programms
in der Programmhierarchie ist, wird vorzugsweise automatisch modifiziert
um einen Ruf nach diesem Temperaturprogramm zu machen, welches mm auf
Einrichtung B eingerichtet ist. Außerdem würde das Konfigurationsdiagramm
so wie in 18 gezeigt erscheinen. Hier
ruft die Anwendung der höchsten
Ebene das Temperaturprogramm auf der Maschine, die als „SHAH" bezeichnet ist.
Es sollte angemerkt werden, dass der Anwender einfach andern kann,
wo dieser entfernte Ruf gemacht wird, in dem er einfach das Programm
auf eine andere Einrichtung zieht oder in dem er ein Popup Menü verwendet.
-
Konfigurieren von Aufrufbeziehungen unter
Verwendung von Verknüpfungspiktogrammen
-
In
einer Ausführungsform
kann der Anwender eine Aufrufbeziehung zwischen zwei (oder mehr) Programmen
durch Ziehen einer Verknüpfung
oder eines Verknüpfungspiktogramms
zwischen den entsprechenden Programmen konfigurieren. Die 17 und 19A bis
C zeigen beispielhafte Verknüpfungspiktogramme,
wobei angemerkt werden soll, dass die Verknüpfungspiktogramme zahlreiche,
unterschiedliche Erscheinungen haben können. In einer Ausführungsform
haben die Verknüpfungspiktogramme
unterschiedliche Erscheinungsformen um visuell unterschiedliche
Typen von Programmbeziehungen anzuzeigen, wie z. B. Steuerungsfluss
(Rufer/Angerufener oder Aufruf), Datenfluss, oder Ereignisweiterleitung
oder Benachrichtigung, unter anderem. Die Verknüpfungspiktogramme können außerdem Pfeile oder
andere Anzeigemittel umfassen um die Richtung der Aufrufung anzuzeigen,
beispielsweise welches Programm das Ruferprogramm ist und welches das
angerufene Programm ist.
-
Der
Anwender kann somit Verknüpfungen zwischen
Programm-Piktogrammen ziehen, um eine Aufrufbeziehung zwischen den
jeweiligen Programmen zu konfigurieren. Der Anwender kann außerdem die
Aufrufbeziehung zwischen zwei (oder mehr) Programmen andern, durch
auswählen
einer Verknüpfung
oder eines Verknüpfungspiktogramms
zwischen zwei Programmen und manipulieren oder andern von einem
oder beiden Enden der Verknüpfung,
um einen oder mehrere Unterschiedliche Programme zu verbinden. Wenn
der Anwender ein Verknüpfungspiktogramm
zwischen zwei Programmen zieht oder ein Verknüpfungspiktogramm manipuliert
um unterschiedliche Programme zu verbinden kann Software dazu dienen
automatisch (oder programmgesteuert) ein jeweiliges Programm (oder
Programme) zu konfigurieren, um Kode zu umfassen um die Aufrufung durchzuführen, die
auf der Anzeige gezeigt wird.
-
Beispielsweise
zeigt 17 eine Programmbeziehungsansicht
von verschiedenen Programmen. Die Programmbeziehungsansicht zeigt
die Aufrufbeziehungen oder Rufer/Angerufenen-Beziehung zwischen
den Programmen. Wenn der Anwender nicht länger wünscht, dass das Programm, welches
durch Programm-Piktogramm 402a repräsentiert
wird, das Programm aufruft oder ruft, welches durch Programm-Piktogramm 404d2 repräsentiert
wird, sondern statt dessen wünscht,
dass das Programm 404a das Programm 404d2 aufruft,
dann kann der Anwender das Verknüpfungspiktogramm 405 auswählen und
das Verknüpfungspiktogramm
graphisch rekonfigurieren oder ändern,
so dass es zwischen dem Programm-Piktogramm 404a und dem
Programm-Piktogramm 404d2 gezogen wird. Der Anwender kann beispielsweise
das Ende der Verknüpfung
nahe dem Programm-Piktogramm 402a auswählen und dieses Ende der Verknüpfung mit
einer Zeigeeinrichtung zu dem anderen Programm-Piktogramm 404a ziehen, wodurch
eine neue Verknüpfung 405a erzeugt
wird. Nach dieser Handlung würde
das Konfigurationsdiagramm erscheinen wie es in 90A gezeigt
ist. Wie gezeigt ist das Programm-Piktogramm 404a nun durch
Verknüpfungspiktogramm 405a mit
dem Programm-Piktogramm 404d2 verbunden und das Verknüpfungspiktogramm 405 zwischen
den Programm-Piktogrammen 402a und 404d2 ist nicht
länger
angezeigt. Dies deutet an, dass das Programm, welches durch das
Programm-Piktogramm 404a repräsentiert
wird, konfiguriert ist, um das Programm zu rufen, welches durch
das Programm-Piktogramm 404d2 repräsentiert ist, statt dem Programm,
welches durch das Programm-Piktogramm 402a repräsentiert
ist, welches konfiguriert ist um das Programm aufzurufen, welches
durch das Programm-Piktogramm 404d2 repräsentiert
ist. In Antwort auf diese Anwendereingabe, die das Verknüpfungspiktogramm ändert, so
dass es zwischen Programm-Piktogramm 404a und
Programm-Piktogramm 404d2 gezogen ist, kann das Programm 402a programmgesteuert
modifiziert werden um nicht länger
Programm 404d2 aufzurufen, und das Programm 404a kann
programmgesteuert modifiziert werden um Programm 404d2 aufzurufen.
-
Wenn
vom Anwender gewünscht
wurde, dass beide Programme, die durch Programm-Piktogramme 402a und 404a dargestellt
sind, Programm 404d2 rufen, könnte der Anwender einfach eine
neue Verknüpfung
zwischen dem Programm-Piktogramm 404a und
dem Programm-Piktogramm 404d2 ziehen. Das resultierende
Diagramm würde
dann so wie in 19B gezeigt erscheinen. Wie
in 19B gezeigt sind Verknüpfungen
zwischen dem Programm-Piktogramm 402a und 404d2 angezeigt,
so wie zwischen den Programm-Piktogrammen 404a und 404d2.
In Antwort auf diese Anwendereingabe, die eine neue Verknüpfung zwischen
den Programm-Piktogrammen 404a und dem Programm-Piktogramm 404d2 zieht,
kann das Programm 404a programmgesteuert modifiziert werden um
Programm 404d2 aufzurufen. In diesem Beispiel ist Programm 402a unverändert und
ruft daher immer noch Programm 404d2 auf, wie es in 19B dargestellt ist.
-
Wenn
in 17 der Anwender gewünscht hat, dass das Programm 402a Programm 404a aufrufen
soll anstelle von Programm 404d2, kann der Anwender das
Verknüpfungspiktogramm 405 auswählen und
das Verknüpfungspiktogramm
graphisch rekonfigurieren oder ändern,
so dass es zwischen Programm-Piktogramm 402a und
Programm-Piktogramm 404a gezogen wird. Der Anwender kann
beispielsweise das Ende der Verknüpfung nahe zu dem Programm-Piktogramm 404d2 wählen und
dieses Ende der Verknüpfung
mit einer Zeigevorrichtung hinüber
zu dem anderen Programm-Piktogramm 404a ziehen, wodurch
eine neue Verknüpfung 405b erzeugt
wird. Nach dieser Handlung würde
das Konfigurationsdiagramm wie in 19C gezeigt
aussehen. Wie gezeigt ist das Programm-Piktogramm 402a nun
mittels des Programm-Piktogramms 405b mit dem Programm-Piktogramm 404a verbunden, und
das Verknüpfungspiktogramm 405 zwischen
den Programm-Piktogrammen 402a und 404d2 wird
nicht länger
angezeigt. Dies zeigt an, dass das Programm, welches durch das Programm-Piktogramm 402a repräsentiert
wird konfiguriert ist, um das Programm aufzurufen, welches durch
Programm-Piktogramm 404a repräsentiert ist, anstelle dass
das Programm. welches durch Programm-Piktogramm 402a repräsentiert
ist. konfiguriert ist um das Programm aufzurufen, welches durch
Programm-Piktogramm 404d2 repräsentiert ist. In Antwort auf
diese Anwendereingabe, mit der das Verknüpfungspiktogramm geändert wird,
um zwischen den Programm-Piktogrammen 402a und dem Programm-Piktogramm 404a gezogen
ist, kann das Programm 402a programmgesteuert modifiziert
werden um: 1. nicht länger
Programm 404d2 aufzurufen und 2. das Programm 404a aufzurufen.
-
Verwendung des Konfigurationsdiagramms
mit graphischen Programmen
-
Wo
ein Programm-Piktogramm des Konfigurationsdiagramms einem graphischen
Programm entspricht, kann der Anwender verschiedene zusätzliche
Handlungen vornehmen. Da das graphische Programm selbst ein piktographisches
Programm ist, ist der Anwender in der Lage graphisch bestimmte Stellen
in dem graphischen Programm zu spezifizieren oder zu veranlassen
das ein Aufruf auftritt. Wenn der Anwender beispielsweise wünscht, dass
eine bestimmte Stelle in dem graphischen Programm einen Aufruf zu
einer entfernten Einrichtung durchführt kann dies graphisch innerhalb
des graphischen Programms durchgeführt werden. Mit anderen Worten, wenn
der Anwender wünscht,
dass ein bestimmter Funktionsknoten in dem graphischen Programm
einen Ruf machen soll oder ein Programm auf einer entfernten Einrichtung
aufrufen soll (wie z. B. ein anderer Computer), oder wenn der Anwender
wünscht, dass
eine oder mehrere Verknüpfungen
oder Unterprogramme in dem graphischen Programm auf einer entfernten
Einrichtung ausgeführt
werden, kann dies einfach durchgeführt werden in dem das Blockdiagramms
des graphischen Programms verwendet wird. Der Anwender kann weiter
Einrichtungs-Piktogramme oder Programm-Piktogramme direkt in einem
graphischen Programm einarbeiten unter Verwendung der hierin beschriebenen
graphischen Assoziierungstechniken.
-
Erzeugung eines graphischen
Programms
-
Ein
graphisches Programm kann auf dem Computersystem 82 erzeugt
werden (oder auf einem anderen Computersystem). Das graphische Programm
kann durch den Anwender erzeugt oder zusammengesetzt werden, in
dem er auf einer Anzeige eine Mehrzahl von Knoten oder Piktogrammen
anordnet und dann die Knoten miteinander verbindet um das graphische
Programm zu erzeugen. In Antwort auf den Zusammenbau des graphischen
Programms durch den Anwender können
Datenstrukturen erzeugt werden und gespeichert werden, die das graphische
Programm repräsentieren.
Die Knoten können
in einem oder mehreren der folgenden Formate verbunden sein: Datenfluss,
Steuerungsfluss oder Ausführungsfluss.
Das graphische Programm kann somit eine Mehrzahl von miteinander
verbundenen Knoten oder Piktogrammen umfassen, welche visuell die
Funktionalität
des Programms anzeigen. Wie oben angemerkt kann das graphische Programm
ein Blockdiagramm umfassen und es kann außerdem einen Benutzerschnittstellenteil
umfassen oder einen Frontpaneelteil. Wenn das graphische Programm
einen Benutzerschnittstellenteil umfasst kann der Anwender die Benutzerschnittstelle
auf der Anzeige zusammensetzten. Als ein Beispiel kann der Anwender
die graphische Programmierumgebung von LabVIEW verwenden um das
graphische Programm zu erzeugen.
-
In
einer alternativen Ausführungsform
kann das graphische Programm durch den Anwender erzeugt werden in
dem dieser einen Prototyp erzeugt oder spezifiziert, gefolgt durch
einer automatischen oder programmgesteuerten Erzeugung des graphischen
Programms ausgehend von dem Prototyp. Diese Funktionalität ist in
der US Patentanmeldung mit der Serien Nummer 09/595,003 beschrieben,
die den Titel hat „System
and Method for Automatically Genrating a Graphical Program to Implement
a Prototype" und
in der US Patentanmeldung mit der Seriennummer 09/587,682 mit dem
Titel „System
and Method for Automatically Genrating a Graphical Program to Perform
an Image Processing Algorithm",
die beide hiermit durch Inbezugnahme in ihrer Gesamtheit mit aufgenommen
werden, so als ob sie vollständig
und in ihrer Gesamtheit hierin angegeben wären. Das graphische Programm
kann auf andere Weisen erzeugt werden, entweder durch den Anwender
oder programmgesteuert, wie gewünscht.
Das graphische Programm kann eine Messfunktion implementieren, die
durch ein Instrument oder eine Messeinrichtung durchgeführt werden
soll. Das graphische Programm kann auch eine Automatisierungsfunktion
implementieren (inklusive einer Prozessteuerung), eine Simulationsfunktion
oder jeden anderen Typ von Funktion.
-
22 – Erzeugen
des graphischen Programms
-
22 ist ein Flussdiagramm, welches eine Ausführungsform
eines Verfahrens zur Erzeugung eines graphischen Programms illustriert,
das in der Lage ist Ereignisse einer Benutzerschnittstelle zu empfangen
und darauf zu reagieren. So wird angemerkt, dass die Schritte in
den folgenden Flussdiagrammen gleichzeitig oder in anderer Reihenfolge auftreten
können
als der gezeigten.
-
In
Schritt 602 kann eine graphische Benutzerschnittstelle
oder ein Frontpaneel für
das graphische Programm erzeugt werden, beispielsweise in Antwort
auf eine Anwendereingabe. Die graphische Benutzerschnittstelle kann
in einer Vielzahl von unterschiedlichen Weisen erzeugt werden, beispielsweise
abhängig
von der graphischen Programmierentwicklungsumgebung die verwendet
wird.
-
In
Schritt 604 kann ein Blockdiagramm für das graphische Programm erzeugt
werden. Das Blockdiagramm kann in oder unter Verwendung jeder beliebigen
graphischen Programmierentwicklungsumgebung erzeugt werden, wie
z. B. LabVIEW, Simulink, VEE oder anderen graphischen Programmierentwicklungsumgebungen.
Das Blockdiagramm kann in Antwort auf eine direkte Anwendereingabe erzeugt
werden, beispielsweise kann der Anwender das Blockdiagramm erzeu gen
in dem er Piktogramme oder Knoten auf der Anzeige platziert oder „zieht und
fallen lässt" und die Knoten in
einer gewünschten Weise
miteinander verknüpft.
Alternativ kann das Blockdiagramm programmgesteuert aus einer Programmspezifikation
erzeugt werden. Die Mehrzahl von Verknüpfungen in dem Blockdiagramm
können miteinander
verbunden werden um visuell die Funktionalität des graphischen Programms
anzuzeigen. Das Blockdiagramm kann eine oder mehrere der folgenden
Darstellungen haben: Datenfluss, Steuerungsfluss und/oder Ausführungsfluss.
Das Blockdiagramm kann eine oder mehrere Verknüpfungen haben, welche untergraphische
Programme (z. B.: unter-VIs) repräsentieren und es kann somit
hierarchisch sein. Ein beispielhaftes Blockdiagramm ist in den 24 und 24B gezeigt.
-
Es
wird angemerkt, dass die graphische Benutzerschnittstelle und das
Blockdiagramm separat der zusammen erzeugt werden können, in
verschiedener Reihenfolge oder in einer verschachtelten Reihenfolge.
In einer Ausführungsform
können
die Benutzerschnittstellenelemente in der graphischen Benutzerschnittstelle
oder dem Frontpaneel spezifiziert oder erzeugt werden und in Antwort
darauf können Terminals,
die den Benutzerschnittstellenelementen entsprechen in dem Blockdiagramm
erscheinen. Wenn der Anwender beispielsweise Benutzerschnittstellenelemente
in der graphischen Benutzerschnittstelle oder dem Frontpaneel platziert,
können
entsprechende Terminals in dem Blockdiagramm als Verknüpfungen
erscheinen, die mit anderen Knoten in dem Blockdiagramm verbunden
sein können,
um z. B. eine Eingabe bereitzustellen und/oder eine Ausgabe von
anderen Knoten in dem Blockdiagramm anzuzeigen. In einer weiteren
Ausführungsform
können die
Benutzerschnittstellenelemente in Antwort auf das Blockdiagramm
erzeugt werden. Der Anwender kann z. B. das Blockdiagramm erzeugen,
wobei das Blockdiagramm Terminalpiktogramme umfasst oder Knoten,
die entsprechende Benutzerschnittstellenelemente anzeigen. Die graphische
Benutzerschnittstelle oder das Frontpaneel kann dann automatisch (oder
manuell) erzeugt werden, basierend auf den Terminalpiktogrammen
oder Knoten in dem Blockdia gramm. Als ein weiteres Beispiel können die
graphischen Benutzerschnittstellenelemente in dem Diagramm umfasst
sein.
-
In
Schritt 606 kann das graphische Programm auf einer Einrichtung
gespeichert sein oder angewandt werden und in Schritt 608 kann
ein entsprechendes graphisches Programm-Piktogramm in dem Konfigurationsdiagramm
erscheinen.
-
Das
graphische Programm kann dann auf verschiedenen Einrichtungen angewandt
werden, unter der Verwendung der hierin beschriebenen graphischen
Entwicklungstechniken angewandt werden oder es kann wie hierin beschrieben
ausgeführt
werden. Das graphische Programm kann auf jeder der verschiedenen
Einrichtungen ausgeführt
werden, die in dem verteilten System vorhanden sind.
-
23 – Konfigurieren
eines graphischen Programmknotens zur entfernten Ausführung
-
23 ist ein Flussdiagramm, welches eine Ausführungsform
eines Betriebs des Konfigurierens eines graphischen Programmknotens
zur entfernten Ausführung
zeigt. Das Verfahren von 23 kann zur
Anwendung von Knoten eines graphischen Programms an verschiedenen
unterschiedlichen Einrichtungen für eine entfernte Ausführung verwendet
werden.
-
Wie
gezeigt, wenn das Programm ein graphisches Programm, wie beispielsweise
LabVIEW VI ist, kann der Anwender das Hauptblockdiagramm des graphischen
Programms (LabVIEW VI) in Schritt 502 anzeigen.
-
In
Schritt 504 kann der Anwender einen Knoten in dem graphischen
Programm auswählen,
wie z. B. ein Unterprogramm oder einen Unter-VI Knoten, einen primitiven
Knoten oder eine andere Art von Knoten. Der Anwender kann auch in
der Lage sein eine Gruppe von Knoten zu wählen, in dem er einen „Kasten" um die gewünschten
Knoten zieht. Der Anwender kann einen Knoten unter Verwendung einer Zeigevorrichtung
oder durch andere Mittel auswählen.
-
In
Schritt 506 kann der Anwender dann unter den verschiedenen
Einrichtungen in dem Konfigurationsdiagramm beispielsweise andere
Computersysteme oder Einrichtungen auswählen, von denen der Anwender
wünscht,
dass diese den Knoten oder das Unter-VI ausführen. Wenn das graphische Programm beispielsweise
auf einer ersten Einrichtung gespeichert ist kann der Anwender ein
zweites Einrichtungs-Piktogramm auswählen, welches einer zweiten Einrichtung
entspricht, und den Knoten graphisch mit der zweiten Einrichtung
assoziieren. Der Begriff „entfernte
Einrichtung" in
diesem Zusammenhang bedeutet einfach nur eine andere Einrichtung
als diejenige welche aktuell das graphische Programm speichert.
Diese Auswahl kann auf die selbe Weise wie eine Assoziierung durchgefürt werden
in dem beispielsweise Drag and Drop Techniken verwendet werden,
Menüs,
Dialogkästen
oder Spracherkennungstechnologien, um nur einige Verfahren zu nennen.
-
24A illustriert beispielsweise ein Blockdiagramm
eines LabVIEW graphischen Programms oder VI, wobei der Anwender
ein Menü eines
Knotens ausgewählt
hat, in dem er beispielsweise den Knoten mit der rechten Maustaste
angeklickt hat und ein Fernrufmerkmal aus diesem Menü ausgewählt hat.
Wenn der Anwender das Fernrufmerkmal auswählt, kann eine Liste von Einrichtungen
erscheinen, aus denen der Anwender wählen kann. Die Wahl des Anwenders
einer Einrichtung von diesem Menü kann eine
Anwendung des entsprechenden Knotens an der gewählten Einrichtung bewirken
(wie z. B. der Funktionalität,
die durch das Knotenpiktogramm repräsentiert ist). Alternativ kann
der Anwender einen graphischen Programmknoten von dem Blockdiagramm
zu einem Einrichtungs-Piktogramm
ziehen und fallenlassen, welches eine andere Einrichtung repräsentiert,
um den graphischen Programmknoten auf der Einrichtung zur entfernten
Ausführung
anzuwenden. Beispielsweise kann der Anwender eine oder mehrere Knoten
in dem graphischen Programm auswählen
und diese „ziehen
und fallen lassen" auf einem
Einrichtungs-Piktogramm, um diese Knoten auf der entsprechenden
entfernten Einrichtung anzuwenden.
-
In 508 kann
die Funktionalität
des Knotens (oder der Knoten) auf der ausgewählten entfernten Einrichtung
angewandt werden, d. h. der Einrichtung, die in Schritt 506 ausgewählt wurde.
In Schritt 508 kann die Funktionalität des Knotens (oder der Knoten)
(wie z. B. Programmanweisungen und/oder Datenstrukturen) automatisch
zu der ausgewählten
entfernten Einrichtung, basierend auf der Anwendereingabe in Schritt 506, übertragen
werden. Mit anderen Worten, jeder Knoten in einem graphischen Programm
kann assoziierte Programmanweisungen und/oder Datenstrukturen aufweisen,
und diese können
automatisch auf die ausgewählte
entfernte Einrichtung übertragen
werden. Wie oben angemerkt, kann die Anwendereingabe das Auswählen einer entfernten
Einrichtung in Schritt 506 aus einem Menü umfassen,
oder sie kann das graphische Assoziieren oder das Ziehen und Fallenlassen
des Knotens auf ein Einrichtungs-Piktogramm einer Einrichtung in dem
Konfigurationsdiagramm umfassen.
-
Diese
Anwendungshandlung in Schritt 508 kann auch das Bestimmen
umfassen, ob die Einrichtung in der Lage ist nativ graphischen Programmkode auszuführen. Wenn
die Einrichtung nicht in der Lage ist den graphischen Programmkode
auszuführen kann
der graphische Programmkode, der diesem Knoten entspricht, zu einem
DLL-Format konvertiert werden, einem Hardwarekonfigurationsprogramm oder
einem anderen Softwareformat.
-
In
Schritt 510 kann ein neues Piktogramm in dem Blockdiagramm
angezeigt werden um dem Anwender visuell anzuzeigen, dass dieser
Knoten aus der Ferne ausgeführt
wird. Das neue Piktogramm kann ein modifiziertes Knotenpiktogramm
sein, welches zumindest einen Teil des Aussehens des Originalknotens
hat, als auch einen zusätzlichen
Bildteil, um die entfernte Ausführung
anzuzeigen. 24B illustriert beispielsweise
ein Beispiel des Blockdiagramms in 24A,
nach dem der Anwender dieses Merkmal ausgewählt hat, um diesen graphischen Programmknoten
oder VI auf einer anderen Einrichtung entfernt aufzurufen. Wie gezeigt ändert das
Piktogramm in dem Blockdiagramm sein Aussehen, um visuell dem Anwender
anzuzeigen, dass dieser Knoten oder dieses Unterprogramm auf einer
entfernten Einrichtung angewandt wird und auf der entfernten Einrichtung
ausgeführt
werden wird. In einer weiteren Ausführungsform wird das Piktogramm
in dem Blockdiagramm sein Aussehen nicht ändern um visuell eine entfernte
Ausführung
anzuzeigen. In dieser Ausführungsform
kann der Anwender optional eine bestimmte Ansicht des Blockdiagramms
auswählen, um
entsprechend Knoten hervorzuheben, die zur entfernten Ausführung konfiguriert
sind.
-
In
Schritt 512 kann das graphische Programm modifiziert werden
um in der Lage zu sein den Knoten auf der entfernten Einrichtung
auszuführen. Mit
anderen Worten, das graphische Programm kann Programmanweisungen
und/oder Datenstrukturen umfassen und diese können modifiziert werden, beispielsweise
können
neue Programmanweisungen und/oder Datenstrukturen hinzugefügt werden
um den Knoten auf der entfernten Einrichtung während der Ausführung des
graphischen Programms aufzurufen. Alternativ kann die Ausführungsengine
des graphischen Programms (die Software, welche das graphische Programm
ausführt)
modifiziert werden um diese entfernte Aufrufung zu implementieren.
Der graphische Kode in dem graphischen Programm kann ebenfalls modifiziert
(oder hinzugefügt)
in dem graphischen Programm werden, um den Knoten auf der entfernten
Einrichtung aufzurufen. Eine oder mehrere Knoten können beispielsweise
hinzugefügt oder
modifiziert werden in dem graphischen Programm (wie es z. B. in
Schritt 510 beschrieben ist), um visuell anzuzeigen, dass
der Aufruf stattfindet und dass der entsprechende Knoten auf der
entfernten Einrichtung aufgerufen wird. Hinzugefügte Knoten können assoziierte
Programmanweisungen umfassen und/oder Datenstrukturen, die ausführbar sind um
den Knoten auf der entfernten Einrichtung aufzurufen. Dieses Fernrufmerkmal
kann somit verwendet werden um zu veranlassen, dass ein ausgewählter Knoten
oder ein Programm, wie beispielsweise das ausgewählte unter – VI, auf einer anderen Einrichtung
oder Computersystem ausgeführt
wird, wobei das Haupt-graphische Programm oder das Haupt VI diesen
unter – IV
aufruft, um auf der entfernten Einrichtung ausgeführt zu werden.
-
Die
Anwendung eines Unterprogramms eines graphischen Programmblockdiagramms
auf einer entfernten Einrichtung ist insbesondere dann nützlich,
wenn eine Mehrzahl von Instanzen desselben Unterprogramms in dem
graphischen Hauptprogramm vorhanden sind und der Anwender es wünscht ein
bestimmtes Unterprogramm zur Anwendung auszuwählen.
-
Daher
kann der Anwender einen graphischen Programmknoten zur entfernten
Ausführung konfigurieren.
Wenn das Programm ein graphisches Programm ist, wie z. B. LabVIEW
VI, kann der Anwender das Hauptblockdiagramm des graphischen Programms
anzeigen. Der Anwender kann Knoten in dem graphischen Programm auswählen und,
beispielsweise durch Track and Drop, diese graphischen Programmknoten
mit Einrichtungs-Piktogrammen in dem Konfigurationsdiagramm assoziieren. Als
ein Ergebnis kann die Funktionalität der Knoten an den ausgewählten entfernten
Einrichtungen angewandt werden. Dies bietet einen sehr einfachen
Mechanismus für
einen Anwender um die Ausführung eines
graphischen Programms unter einer Mehrzahl von unterschiedlichen
Einrichtungen in einem System zu verteilen.
-
In
einer Ausführungsform
kann der Anwender graphisch Teile von irgendeinem aus einer Mehrzahl
von Typen von Programmen konfigurieren oder Anwenden, inklusive
Programmen die in Textbasierten und graphischen Programmsprachen
geschrieben sind. Das Verfahren kann das Anzeigen von Quellkode
eines Programms auf der Anzeige des Computersystems umfassen. Das
Programm kann in textbasierten Programmsprachen geschrieben sein oder
es kann ein graphisches Programm sein. Die Anzeige des Computersystems
kann auch ein Konfigurationsdiagramm umfassen, welches ein erstes Einrichtungs-Piktogramm
anzeigt, welches einer ersten Einrichtung entspricht, und ein zweites
Einrichtungs-Piktogramm,
welches einer zweiten Einrichtung entspricht. Das Programm kann auf
der ersten Einrichtung gespeichert sein. Der Anwender kann dann
einen Teil des Quelikodes des Programms auswählen und den Teil des Quelikodes
graphisch mit dem zweiten Einrichtungs-Piktogramm assoziieren.
-
Wenn
das Programm in einer textbasierten Programmsprache geschrieben
ist, kann der Anwender den gewünschten
Teil des Quelikodes hervorheben (zum Beispiel kann er den C Kodeteil
hervorheben, wie etwa eine Unterroutine) und, beispielsweise durch
Drag and Drop, diesen Teil des Kodes mit dem zweiten Einrichtungs-Piktogramm
assoziieren. Somit kann der Anwender Teile des Quelikodes auf Einrichtungen
anwenden, die von der Einrichtung verschieden sind, auf denen das
Programm gespeichert ist. Wenn das Programm in einer graphischen
Programmiersprache geschrieben ist, wie es oben beschrieben wurde,
kann der Anwender einen oder mehrere Knoten in dem graphischen Programm
auswählen und
diese auf das zweite Einrichtungs-Piktogramm ziehen und fallenlassen
oder beispielsweise auf verschiede Einrichtungs-Piktogramme.
-
Die
graphische Assoziierung kann eine Anwendung des Teils des Quelikodes
auf der zweiten Einrichtung zur Ausführung auf der zweiten Einrichtung
verursachen. Zusätzlich
kann das System das Programm modifizieren, um das Programm so zu konfigurieren,
dass der Teil des Quellkodes auf der zweiten Einrichtung ausgeführt wird.
Wenn das Programm ausgeführt
wird ruft das Programm somit die Ausführung des angewandten Teils
des Quelikodes auf der zweiten Einrichtung auf.
-
Wenn
das Programm alternativ in einer objektorientierten Programmsprache
geschrieben ist, und die Softwareobjekte durch Piktogramme repräsentiert
werden, kann der Anwender die verschiedenen Softwareobjektpiktogramme
mit verschiedenen Einrichtungs-Piktogrammen assoziieren oder ziehen und
fallenlassen, um diese Softwareobjekte auf verschiedenen Einrichtung
anzuwenden.
-
25 – Hinzufügen von
Programmkode zu einem anderen Programm.
-
In
einer Ausführungsform
kann der Anwender Programm-Piktogramme manipulieren, um Programmkodes
zu anderen Programmen hinzuzufügen.
Zum Beispiel kann der Anwender ein erstes Programm-Piktogramm oder
einen Knoten auswählen, welcher
mit einer Einrichtung assoziiert sein kann (wie z. B. einer ersten
Einrichtung), und dieses erste Programm-Piktogramm mit einem zweiten
Programm-Piktogramm
einer zweiten Einrichtung (oder mit der ersten Einrichtung) assoziieren
(z. B. durch ziehen und fallenlassen darauf). Dies kann veranlassen,
dass der Kode (Quellkode) des zweiten Programms (welcher dem zweiten
Programm-Piktogramm
entspricht) angezeigt wird. Der Anwender kann dann weiter das erste
Programm-Piktogramm innerhalb des Quellkodes des zweiten Programms das
angezeigt wurde navigieren, beispielsweise durch bewegen oder ziehen,
und das erste Programm-Piktogramm an einer entsprechenden Stelle in
den Quellkode fallenlassen oder platzieren. Das erste Programm,
welches dem ersten Programm-Piktogramm
entspricht, kann auf der zweiten Einrichtung angewandt werden, um
innerhalb des zweiten Programms auf der zweiten Einrichtung ausgeführt zu werden.
Alternativ, als Option für
den Anwender, kann das erste Programm auf der ersten Einrichtung
verbleiben und für
eine entfernte Aufrufung durch das zweite Programm auf der zweiten
Einrichtung konfiguriert sein.
-
In
einer weiteren Ausführungsform
kann der Anwender zuerst veranlassen, dass der Quellkode des zweiten
Programms (wie beispielsweise ein Blockdiagramm eines graphischen
Programms) angezeigt wird, und der Anwender kann dann ein erstes Programm-Piktogramm
mit (oder in) den angezeigten Quellkode assoziieren (beispielsweise
dem angezeigten Blockdiagramm). Der Anwender kann dann weiter das
erste Programm-Piktogramm innerhalb des angezeigten Quellkodes des
zweiten Programms graphisch navigieren und das erste Programm-Piktogramm
an einer entsprechenden Stelle in dem Quellkode fallenlassen oder
platzieren. Dies kann die verschiedenen Handlungen verursachen, die
oben erwähnt
wurden.
-
25 ist ein Flussdiagramm, welches eine Ausführungsform
eines Betriebs des Hinzufügens von
Programmkode zu einem weiteren Programm illustriert. 25 zeigt eine Ausführungsform wo der Anwender
ein erstes Programm-Piktogramm
mit einem zweiten Programm-Piktogramm assoziiert, wodurch veranlasst
wird, dass der Quellkode des zweiten Programms angezeigt wird. Viele
der unten beschriebenen Handlungen sind ähnlich zu dem Fall, wenn der
Anwender ein erstes Programm-Piktogramm mit Quellkode eines Programms
assoziiert das schon angezeigt wird.
-
Wie
gezeigt kann der Anwender in Schritt 522 ein erstes Programm-Piktogramm
oder einen Knoten auswählen,
der mit einer Einrichtung assoziiert ist (wie zum Beispiel einer
ersten Einrichtung) und dieses erste Programm-Piktogramm mit einem zweiten
Programm-Piktogramm (z. B. durch Drag and Drop) einer zweiten Einrichtung
(oder der ersten Einrichtung) assoziieren. Wie oben festgestellt
kann die Assoziierung unter Verwendung jeglicher der oben beschriebenen
Techniken durchgeführt
werden, beispielsweise unter Verwendung der Drag and Drop Techniken,
Verwendung von Menüs,
Dialogkästen,
oder Spracherkennungstechniken, um nur einige Verfahren zu nennen.
Der Anwender kann auch zusätzlichen
Anwenderinput bereitstellen (beispielsweise unter Verwendung der
Tastatur oder eines Popupdialogs), die anzeigt, dass das erste Programm
als ein Knoten in dem graphischen Programm konfiguriert ist.
-
Diese
Assoziierung kann veranlassen dass der Kode (wie z. B. der Quellkode)
des zweiten Programms, der diesem zweiten Programm-Piktogramm entspricht,
automatisch angezeigt wird. Das erste Programm-Piktogramm (oder
ein weiterer Knoten, welcher das erste Programm repräsentiert)
kann in dem angezeigten Quellkode des zweiten Programms angezeigt
werden, um es dem Anwender zu erlauben das erste Programm-Piktogramm
(oder ein anderer Knoten) an einer gewünschten Stelle in dem angezeigten
Quellkode weiter zu positionieren. In einer Ausführungsform kann ein neuer Knoten,
welcher eine Aufrufung des ersten Programms repräsentiert, in dem Quellkode
angezeigt werden. Wenn der Quellkode ein graphischer Quellkode ist
kann das graphische Programm oder das Blockdiagramm erscheinen und
das Programm-Piktogramm (oder ein anderer Knoten der in der Lage
ist das entsprechende Programm aufzurufen) kann innerhalb des graphischen
Programms angezeigt werden. Wenn der Quellkode ein Textbasiertes
Programm ist kann der textbasierte Quellkode angezeigt werden und
das erste Programm-Piktogramm kann innerhalb des angezeigten Textquellkodes
erscheinen.
-
Wenn
das zweite Programm-Piktogramm einem graphischen Programm in Schritt 524 entspricht, kann
diese Assoziierung somit verursachen, dass das Blockdiagramm, welches
diesem Programm-Piktogramm entspricht, automatisch in Schritt 532 angezeigt
wird. Wenn der Anwender beispielsweise das erste Programm-Piktogramm nahezu
oder auf das zweite Programm-Piktogramm zieht und fallen lässt kann
das Blockdiagramm, welches dem zweiten Programm-Piktogramm entspricht,
automatisch an der Stelle des zweiten Programm-Piktogramms erscheinen
(oder an einer anderen Stelle). Das erste Programm-Piktogramm (oder
ein neuer Knoten, der eventuell eine andere piktographische Erscheinung hat)
kann in dem angezeigten Blockdiagramm zur weiteren Positionierung
oder Navigation durch den Anwender erscheinen.
-
In
einer Ausführungsform
erscheint das erste Programm-Piktogramm in dem angezeigten Blockdiagramm
zur weitere Positionierung oder Navigation durch den Anwender. Das
erste Programm-Piktogramm kann auch als ein Knoten zu diesem Zeitpunkt
konfiguriert werden (bezeichnet als der „erste Programmknoten"). Das Konfigurieren
des ersten Programm-Piktogramms als einen ersten Programmknoten
kann einfach das Erzeugen (oder Speichern) von Programmanweisung
und oder Datenstrukturen umfassen, die mit dem ersten Programm-Piktogramm
assoziiert sind. Diese Konfiguration ist unten in Schritt 536 beschrieben.
-
Wie
hierin verwendet bezeichnet der Begriff „erster Programmknoten" einfach einen Knoten
in dem graphischen Programm der mit dem ersten Programm in irgendeiner
Weise assoziiert ist, der beispielsweise in dem graphischen Programm
ausführbar
oder bedienbar ist, um auf die Funktionalität oder die Fähigkeiten
des ersten Programms zuzugreifen. Der erste Programmknoten kann
beispielsweise in der Lage sein eine Ausführung des ersten Programms
aufzurufen, Werte von/zu dem ersten Programm zu lesen und/oder zu
schreiben, Attribute des ersten Programms zu erfassen/zu setzen.
Ereignisse es ersten Programms zu übertragen/zu empfangen, programmgesteuert
das erste Programm zu modifizieren, programmgesteuert das erste
Programm anzuwenden oder andere Funktionen durchzuführen die
mit dem ersten Programm assoziiert sind. Der erste Programmknoten
hat vorzugsweise ein Piktogramm, welches in dem graphischen Programm
erscheint und unterliegende Programmanweisungen und/oder Datenstrukturen,
welche den Betrieb des ersten Programmknotens implementieren. Das
erste Programmknotenpiktogramm kann das Erscheinen des ersten Programm-Piktogramms
haben oder ein anderes Aussehen. Das erste Programmknotenpiktogramm
kann beispielsweise ein Aussehen haben, welches ähnlich zu dem ersten Programm-Piktogramm ist, aber
so modifiziert ist, um das Aussehen des ersten Einrichtungs-Piktogramms der ersten
Einrichtung zu umfassen, auf der das erste Programm ausgeführt wird.
Der Anwender kann also ein individualisiertes Aussehen für den ersten
Programmknoten wie gewünscht,
erzeugen oder auswählen.
-
Alternativ
kann ein ersten Knoten in dem graphischen Programm zur weiteren
Navigation durch den Anwender erscheinen, wobei der neue Knoten mit
dem ersten Programm wie es oben beschrieben wurde assoziiert ist.
Der neue Knoten kann in der graphischen Programmentwicklungsumgebung
vorhanden sein und spezifisch zum Zugriff auf Funktionalitäten des
ersten Programms designed sein. Der neue Knoten kann beispielsweise
speziell zum Zugriff auf Funktionalitäten von Programmen im Allgemeinen
designed sein oder von bestimmten Arten von Programmen.
-
In
Schritt 534 kann der Anwender dann das erste Programm-Piktogramm
(oder den „neuen
Knoten") innerhalb
des Blockdiagramms, welches angezeigt wurde, weiter graphisch navigieren,
beispielsweise durch Bewegen oder ziehen, und das erste Programm-Piktogramm
oder den „neuen
Knoten" an einer
entsprechenden Stelle in dem Blockdiagramm fallenlassen oder platzieren.
Wo das zweite Programm-Piktogramm einem graphischen Programm entspricht
kann der Anwender somit graphisch das erste Programm-Piktogramm
innerhalb des Blockdiagramms des graphischen Programms positionieren. In
einer Ausführungsform
kann der Anwender einen Flusspfad auswählen wie beispielsweise einen
Datenflussweg, in dem das erste Programm-Piktogramm positioniert
oder „fallengelassen" wird. Das erste
Programm-Piktogramm kann dann auf oder in der Ausführung oder
dem Datenweg des gewählten Weges
in dem zweiten Blockdiagramm des graphischen Programms eingesetzt
werden und zur Ausführung
konfiguriert werden. Wenn der Anwender beispielsweise einen Datenflussweg
auswählt,
der zwischen einem Quellknoten und einem Zielknoten verbunden ist,
kann das erste Programm-Piktogramm
als ein Knoten mit dem Datenflussweg eingesetzt werden, wobei ein
Eingangsterminal mit einem Ausgangsterminal des Quellknotens verbunden
ist und wobei ein Ausgangterminal mit einem Eingangsterminal des
Zielknotens verbunden ist. Die Eingangs- und Ausgangsterminals können für das erste Programm-Piktogramm
automatisch erzeugt werden. Wo das erste Programm auch ein graphisches
Programm ist kann das erste Programm-Piktogramm als ein unter VI
in dem zweiten graphischen Programm oder Blockdiagramm eingesetzt
werden.
-
Wo
das erste Programm-Piktogramm in dem Pfad eines ausgewählten Weges
in dem zweiten graphischen Programm fallengelassen oder eingesetzt wird
kann das Verfahren automatisch einen oder mehrere Eingangsterminals
und/oder einen oder mehrere Ausgangsterminals an dem ersten Programm-Piktogramm
erzeugen, basierend auf zumindest einem von: Parametern des ersten
Programms und Parametern des graphischen Programms, wie zum Beispiel
Parameter der Quell- und/oder Zielknoten mit denen das erste Programm-Piktogramm
verbunden ist. Die Eingangsterminals und/oder Ausgangsterminals
können
automatisch mit den geeigneten Datentypen erzeugt werden basierend
auf den zuvorgehenden und/ oder nachfolgenden (Quell- und/oder Ziel)
Knoten in dem Blockdiagramm, mit denen das erste Programm-Piktogramm
verbunden werden wird. Das Verfahren kann auch das automatische
(oder manuelle) Verbinden von zumindest einem von den Eingangsterminals
und/oder Ausgangsterminals des ersten Programm-Piktogramms mit einem existierenden
Knoten in dem graphischen Programm umfassen.
-
In
Schritt 536 kann das positionieren des ersten Programm-Piktogramms
in dem Quellkode verursachen, dass zusätzlicher Quellkode, wie z.
B. Programmanweisungen/Datenstrukturen und/oder eine oder mehrere
Knoten in das zweite Programm aufgenommen wird. Wo das zweite Programm-Piktogramm
beispielsweise einem graphischen Programm entspricht kann das erste
Programm-Piktogramm in das angezeigte Blockdiagramm an der ausgewählten Stelle
kopiert oder eingesetzt werden was im Endeffekt in einem neuen Knoten
(dem „ersten
Programmknoten")
in dem Blockdiagramm resultiert. Dies kann auch dazu führen, dass
Programmanweisungen und/oder Datenstrukturen in das zweite graphische Programm
aufgenommen werden, welche eine Funktionalität des ersten Programms repräsentieren
oder welche in der Lage sind das erste Programm aufzurufen. Diese
Programmanweisungen und/oder Datenstrukturen können mit dem ersten Programmknoten
in dem zweiten graphischen Programm assoziiert sein. Somit kann
eine Ausführungsform
der erste Programmknoten ein Piktogramm umfassen, welches das Aussehen
des ersten Programm-Piktogramms hat und unterliegende Programmanweisung und/oder
Datenstrukturen, welche die Funktionalität des ersten Programmknotens
ausführen.
Der erste Programmknoten kann während
oder nach dem Positionieren in Schritt 536 erzeugt werden
wenn das erste Programm-Piktogramm
zuerst in Schritt 532 angezeigt wird oder zu einem anderem
Zeitpunkt während
des Verfahrens.
-
In
einer Ausführungsform
können
die Programmanweisungen und/oder Datenstrukturen die mit dem ersten
Programm-Piktogramm assoziiert sind (die z. B. einen Teil des ersten
Programmknotens umfassen) ausführbar
sein um in irgend einer Weise die Funktionalitäten oder Fähigkeiten des ersten Programms
auszuführen.
In einer Ausführungsform
können
die Programmanweisungen und/oder Datenstrukturen, die mit dem ersten
Programm-Piktogramm assoziiert sind (die z. B. einen Teil des ersten
Programmknotens umfassen) ausführbar
sein, um die Ausführung
des ersten Programms auf der ersten Einrichtung aufzurufen. Somit
kann das graphische Programm (inkl. der Programmanweisungen und/oder
Datenstrukturen) auf der zweiten Einrichtung ablaufen und wenn der
Knoten des ersten Programm-Piktogramms in dem graphischen Programm ausgeführt wird
kann der Knoten des ersten Programm-Piktogramms (oder die unterliegenden
Programmanweisungen und/oder Datenstrukturen) dazu dienen das erste
Programm aufzurufen um auf der ersten Einrichtung abzulaufen. In
einer weiteren Ausführungsform
kann der ausführbare
Kode, welcher das erste Programm-Piktogramm
umfasst, an der Einrichtung angewandt werden (wie z. B. der zweiten Einrichtung),
auf der das zweite graphische Programm angeordnet ist und das erste
Programm-Piktogramm kann als ein Knoten erscheinen (erster Programmknoten)
in dem zweiten graphischen Programm und mit dem ausführbaren
Kode assoziiert sein. Wenn der erste Programmknoten in dem graphischen
Programm somit ausgeführt
wird kann der erste Programmknoten (oder die unterliegenden Programmanweisungen
und/oder Datenstrukturen) dazu dienen das erste Programm aufzurufen,
damit dieses auf der zweiten Einrichtung ausgeführt wird. Der ausführbare Kode,
der das erste Programm umfasst, kann alternativ selbst die „unterliegenden
Programmanweisungen und/oder Datenstrukturen" des ersten Programmknotens sein. Als
ein weiteres Beispiel können
die Programmanweisungen und/oder Datenstrukturen, die mit den ersten
Programm-Piktogramm assoziiert sind (die beispielsweise einen Teil
des ersten Programmknotens umfassen) ausführbar sein, um Daten von dem
ersten Programm zu lesen, Daten zu dem ersten Programm zu schreiben,
Attribute des ersten Programms abzurufen bzw. zu setzten, das erste
Programm zu modifizieren oder andere Funktionen auszuführen die
mit dem ersten Programm assoziiert sind, wie es oben erwähnt wurde.
-
In
einer anderen Ausführungsform
kann ein neuer Knoten (wie z. B. ein Knoten, dessen spezieller Zweck
es ist die Ausführung
von Programmen auf anderen Einrichtungen aufzurufen) in dem zweiten graphischen
Programm erzeugt werden, das in der Lage ist das erste Programm
aufzurufen. In diesem Fall kann das erste Programm dort bleiben
wo es ist und aus der Ferne zugegriffen oder aufgerufen werden.
-
Wo
das erste Programm ein Softwareobjekt ist können in einer Ausführungsform
die Programmanweisungen und/oder Datenstrukturen, die mit dem ersten
Programm-Piktogramm assoziiert sind, ausführbar sein um Verfahren des
Softwareobjekts aufzurufen, Eigenschaften des Softwareobjekts abzurufen/zu
setzen und/oder Ereignisse bereitzustellen/zu empfangen zu/von dem
Softwareobjekt oder auf andere Weise auf Funktionalitäten des
Softwareobjekts zuzugreifen.
-
In
Schritt 538 kann das erste Programm, welches dem ersten
Programm-Piktogramm
entspricht, auf der zweiten Einrichtung zur Ausführung mit dem Blockdiagramm
auf der zweiten Einrichtung angewandt werden. Alternativ, als Option
für den
Anwender, kann das erste Programm auf der ersten Einrichtung verbleiben
und für
einen Fernabruf und einer Ausführung
auf der ersten Einrichtung durch einen Knoten (wie z. B. einen ersten
Programmknoten) in dem Blockdiagramm konfiguriert sein, das auf
der zweiten Einrichtung abläuft.
-
Wie
oben angemerkt kann das erste Programm auch ein nichtgraphisches
Programm sein. Beispielsweise kann das erste Programm in einer textbasierten
Programmsprache geschrieben sein, wie etwa Pascal, Fortran, C, C++,
Java, Basic, etc.. In einer Ausführungsform
wird das graphische Programm in einer ersten graphischen Programmentwicklungsumgebung
erzeugt und das erste Programm ist in der ersten graphischen Programmentwicklungsumgebung
nicht vorhanden. Das erste Programm kann beispielsweise in einer
zweiten Programmentwicklungsumgebung erzeugt werden, wobei die zweite
Programmentwicklungsumgebung anders ist als die erste graphische
Programmentwicklungsumgebung. Das erste Pro gramm kann somit betrieben
werden um unabhängig
von dem graphischen Programm ausgeführt zu werden und/oder das erste
Programm kann vor der Erzeugung des graphischen Programms existieren.
-
Wie
oben angemerkt kann das erste Programm-Piktogramm, welches in das
Blockdiagramm gezogen und fallengelassen wird, von anderer Art sein
als das graphische Programm, wie etwa ein DLL oder ein ausführbares
Programm, das aus einer textbasierten Programmiersprache, etc, kompiliert
wurde. Wenn der Anwender dieses erste Programm-Piktogramm in das
Blockdiagramm zieht und fallen lasst, welches dem zweiten oder Zielprogramm-Piktogramm
entspricht (beispielsweise auf einen bestimmten Datenflusspfad),
kann diese Unverträglichkeit
der Typen automatisch entdeckt werden (oder der Anwender kann manuell
die Unverträglichkeit
anzeigen), und ein Knoten kann automatisch erzeugt werden, der in
der Lage ist diese Art von Programm aufzurufen oder anzurufen. Wenn
das erste Programm beispielsweise ein DLL ist und der Anwender das
erste Programm-Piktogramm in ein Blockdiagramm zieht (beispielsweise
auf einen Datenflussdraht eines Blockdiagramms), kann die graphische
Programmierentwicklungsumgebung (oder eine andere Software) entdecken,
dass das erste Programm ein DLL ist und ein Knoten, beispielsweise
ein „DLL-Knoten" kann in das Blockdiagramm
eingesetzt werden, der konfiguriert ist um das erste Programm als
ein DLL aufzurufen. Der DLL-Knoten kann die Erscheinung des ersten
Programm-Piktogramm haben. Der Anwender kann dann den DLL-Knoten „verdrahten" oder wenn der Anwender
das erste Programm-Piktogramm auf einen entsprechenden Datenflussdraht fallen
lässt kann
der DLL-Knoten als mit dem Draht verbunden erscheinen. Als ein weiteres
Beispiel, wenn das erste Programm ein Softwareobjekt ist, und der
Anwender das erste Programm-Piktogramm in ein Blockdiagramm zieht
kann die graphische Programmentwicklungsumgebung entdecken, dass
das erste Programm ein Softwareobjekt ist und ein Knoten, beispielsweise
ein „Objektknoten" kann in das Blockdiagramm
eingesetzt werden, der konfiguriert ist um Verfahren aufzurufen,
Attribute abzurufen/zu setzen, etc., des ersten Programms als ein
Softwareobjekt. Alternativ kann das erste Programm programmgesteuert
in ein graphisches Kodeformat konvertiert werden, wie beispielsweise
LabVIEW Kode, und dieser erzeugte graphische Kode kann nativ in dem
Blockdiagramm ausgeführt
werden. Als eine weitere Alternative kann ein graphischer Programmkode „Wrapper" um das erste Programm
erzeugt werden, womit es dem ersten Programm erlaubt wird in der
graphischen Programmentwicklungsumgebung abzulaufen.
-
Wo
das zweite Programm-Piktogramm einem Programm entspricht, dass auf
einer Textprogrammiersprache basiert in Schritt 524 kann
diese Assoziierung verursachen, dass der Textquellkode, welcher
diesem Programm-Piktogramm entspricht, automatisch in Schritt 542 angezeigt
wird.
-
In
Schritt 544 kann der Anwender dann weiter graphisch navigieren,
und z. B. das erste Programm-Piktogramm in den Textquellkode der
dargestellt wurde bewegen oder ziehen und das erste Programm-Piktogramm
an einer entsprechenden Stelle in dem Textquellkode fallenlassen
oder platzieren.
-
In
Schritt 546 kann dies verursachen, dass ein Ruf oder eine
Aufrufung (wie z. B. ein Funktionsruf) nach dem ersten Programm
in den angezeigten Textquellkode des zweiten Programms an der ausgewählten Stelle
kopiert oder eingesetzt wird. Die Art von Ruf, die in den angezeigten
Textquellkode des zweiten Programms eingesetzt wird kann davon abhängig sein
ob das erste Programm ein graphisches Programm ist oder von einem
anderen Typ von Programm ist.
-
In
Schritt 548 kann das erste Programm, welches dem ersten
Programm-Piktogramm
entspricht, an der zweiten Einrichtung zur Ausführung mit dem Blockdiagramm
an der zweiten Einrichtung angewandt werden. Alternativ, als Option
für den
Anwender, kann das erste Programm auf der ersten Einrichtung verbleiben
und für
eine Fernaufrufung durch das Textquellkodeprogramm (nach der Kompilierung)
auf der zweiten Einrichtung konfiguriert sein.
-
Der
Anwender kann somit ein erstes Programm-Piktogramm, welches mit
einer Einrichtung assoziiert ist, auswählen und dieses erste Programm-Piktogramm
mit einem zweiten Programm-Piktogramm einer anderen Einrichtung
assoziieren (z. B. in dem er dasselbe zieht und darauf ablegt).
Wo das zweite Programm-Piktogramm
einem graphischen Programm entspricht kann diese Assoziierung verursachen,
dass das Blockdiagramm, welches dem zweiten Programm-Piktogramm entspricht, automatisch
angezeigt wird. In einer weiteren Ausführungsform kann der Anwender
zuerst verursachen, dass das graphische Programm oder Blockdiagramm
angezeigt wird und er kann dann ein erstes Programm-Piktogramm, welches
mit einer Einrichtung assoziiert ist, auswählen und das erste Programm-Piktogramm
mit dem angezeigten graphischen Programm oder Blockdiagramm (z.
B. in dem er es zieht und darauf ablegt) assoziieren. Der Anwender
kann dann das erste Programm-Piktogramm innerhalb des Blockdiagramms
das dargestellt wurde, weiter graphisch navigieren, beispielsweise durch
Bewegen oder Ziehen, und das erste Programm-Piktogramm an einer
entsprechenden Stelle in dem graphischen Programm fallenlassen oder platzieren.
-
Dies
kann dazu führen,
dass verschieden Dinge passieren:
In Antwort auf die Assoziierung
kann das erste Programm-Piktogramm in das angezeigte Blockdiagramm
an der gewählten
Stelle kopiert oder eingesetzt werden. Das erste Programm, welches
dem ersten Programm-Piktogramm entspricht, kann von der ersten Einrichtung
auf die zweite Einrichtung zur Ausführung auf der zweiten Einrichtung
mit dem Blockdiagramm angewandt werden.
-
In
Antwort auf die Assoziierung kann das erste Programm auf der ersten
Einrichtung verbleiben und für
einen Fernaufruf durch das Blockdiagramm auf der zweiten Einrichtung
konfiguriert sein. Der Anwender kann beispielsweise andere Programm-Piktogramme
auf ein Knotenpiktogramm in dem graphischen Programm ziehen und
fallenlassen um zu spezifizieren, dass die jeweiligen Programme
durch das graphische Programm aufgerufen werden, beispielsweise
durch einen spezifischen Knoten in dem graphischen Programm.
-
Wenn
der Anwender das erste Programm-Piktogramm auf ein zweites Programm-Piktogramm zieht
und fallen lässt,
welches einem graphischen Programm entspricht, dann kann dieses
erste Programm-Piktogramm an der geeigneten Stelle in dem Ziel graphischem
Programm als ein graphischer Programmknoten oder ein Unterprogramm
oder „Unter-VI" eingesetzt werden.
Das Blockdiagramm des Ziel graphischen Programms kann beispielsweise
erscheinen und der Anwender kann dann einen Flusspfad auswählen, wie
beispielsweise einen Datenflussdraht, in dem er das erste Programm-Piktogramm „fallen
lässt". Das erste graphische
Programm kann dann auf oder in den Ausführungs- oder Datenpfad des
ausgewählten
Drahts in dem zweiten Blockdiagramm des graphischen Programms eingesetzt
werden und zur Ausführung
konfiguriert werden. Wenn das erste Programm-Piktogramm, welches
assoziiert (beispielsweise gezogen und fallengelassen wurde) ist,
ebenfalls einem graphischen Programm entspricht dann kann das erste
Programm-Piktogramm als ein Unter-VI eingesetzt werden.
-
Das
erste Programm-Piktogramm, welches in den Quellkode, wie beispielsweise
ein Blockdiagramm gezogen und fallengelassen wird kann auch von
anderer Art sein, wie etwa ein DLL oder ein ausführbares Programm, das aus einer
textbasierten Programmiersprache, etc., kompiliert wurde. Wenn der
Anwender dieses erste Programm-Piktogramm in das Blockdiagramm zieht
und fallen lässt,
welches dem Zielprogramm-Piktogramm entspricht, und optional auf
einen entsprechenden Datenflusspfad, kann ein Knoten automatisch
erzeugt werden, beispielsweise in dem entsprechenden Datenflusspfad,
der in der Lage ist dieses Programm aufzurufen oder zu rufen, oder
der eine Ausführung
dieses Programms repräsentiert.
Wenn das erste Programm beispielsweise ein DLL ist und der Anwender
das erste Programm-Piktogramm auf einen Datenflussdraht eines Blockdiagramms
zieht kann ein „DLL-Knoten " in das Blockdiagramm
eingesetzt werden, der konfiguriert ist um das erste Programm als
ein DLL aufzurufen. Alternativ kann das erste Programm programmgesteuert
in ein graphisches Kodeformat konvertiert werden, z. B. LabVIEW-Kode.
-
Wo
das zweite Programm-Piktogramm einem Programm entspricht, das auf
einer Textprogrammiersprache basiert, kann diese Assoziierung dazu
führen,
dass der Textquellkode, der diesem Programm-Piktogramm entspricht,
automatisch angezeigt wird. Der Anwender kann dann das erste Programm-Piktogramm
innerhalb des Textquellkodes der angezeigt wurde weiter graphisch
navigieren, beispielsweise bewegen oder ziehen, durch das erste
Programm-Piktogramm an einer entsprechenden Stelle in dem Textquellkode
fallenlassen oder platzieren. Dies kann dazu führen, dass ein Ruf oder eine Aufrufung
(wie z. B. ein Funktionsruf oder ein Verfahrensaufruf) nach dem
ersten Programm in den angezeigten Textquellkode des zweiten Programms
an der ausgewählten
Stelle kopiert oder eingesetzt wird. Die Art von Ruf, die in den
angezeigten Textquellkode des zweiten Programms eingesetzt wird
kann davon abhängig
sein, ob das erste Programm ein graphisches Programm ist oder eine
andere Art von Programm ist.
-
26 – Einarbeiten
eines Einrichtungs-Piktogramms in ein Programm.
-
Wie
oben erwähnt
kann der Anwender ein Einrichtungs-Piktogramm in den Quellkode eines Programms
zuordnen (z. B. durch ziehen und fallenlassen), ähnlich zu dem ziehen und fallenlassen
eines Programm-Piktogramms in den Quellkode eines Programms, wie
es oben beschrieben wurde. Die Einrichtung kann einer ersten Einrichtung
entsprechen und das Programm kann auf einer zweiten unterschiedlichen
Einrichtung gespeichert sein. Das Folgende beschreibt diese Handlung,
wo das Programm oder der Quellkode ein graphisches Programm oder
ein Blockdiagramm ist. Allerdings gilt die unten stehende Beschreibung
auch wenn das Programm oder der Quellkode in einer Textprogrammiersprache
geschrieben.
-
Nach
der Zuordnung eines Einrichtungs-Piktogramms mit (oder in) einem
Blockdiagramm oder einem graphischen Programm kann der Anwender dann
optional eine Handlung anzeigen die hinsichtlich dieser Einrichtung
in dem Blockdia gramm gewünscht
ist. Der Anwender kann beispielsweise ein Einrichtungs-Piktogramm einer
ersten Einrichtung in ein Blockdiagramm ziehen und fallenlassen,
wobei dies anzeigt, dass das Blockdiagramm Kode- und/oder Datenstrukturen
erzeugen soll, und/oder ein Knotenpiktogramm in das Diagramm einfügen soll,
welches dahingehend wirkt, um programmgesteuert auf diese Einrichtung
zuzugreifen, um Daten zu/von der Einrichtung zu veröffentlichen
und/oder zu schreiben. Andere Arten von Handlungen können ebenfalls
angedacht sein.
-
26 ist ein Flussdiagramm, welches den Betrieb
des Erzeugen oder Modifizierens eines graphischen Programms durch
Assoziieren von graphischen Knoten mit dem graphischen Programm
illustriert. Der Anwender kann beispielsweise Konfigurationsdiagramme
verwenden, wie es hierin beschrieben wurde, um beim Erzeugen (oder
Konfigurieren) eines Teils oder eines gesamten graphischen Programms
zu helfen.
-
Wie
gezeigt kann in Schritt 642 das graphische Programm auf
der Anzeige angezeigt werden. Wo das graphische Programm beispielsweise
ein Blockdiagramm umfasst kann das Blockdiagramm angezeigt werden.
Der Anwender kann zuvor verschiedene Knoten oder Piktogramme in
das graphische Programm eingefügt
haben und er kann verschiedene dieser Knoten verbunden haben.
-
Wie
oben beschrieben kann das Blockdiagramm automatisch als eine Antwort
auf eine Assoziierung angezeigt werden, die durch den Anwender in Schritt 644 durchgeführt wird.
Mit anderen Worten, der Anwender kann ein Einrichtungs-Piktogramm auf ein
Programm-Piktogramm in dem Konfigurationsdiagramm ziehen und fallenlassen.
Wo das Programm-Piktogramm ein graphisches Programm repräsentiert
kann dies dazu führen,
dass das Blockdiagramm, welches dem Programm-Piktogramm entspricht,
automatisch angezeigt wird. Das Einrichtungs-Piktogramm kann dann
automatisch in dem Blockdiagramm für eine weitere Navigation oder
Positionierung durch den Anwender erscheinen.
-
In
Schritt 644 kann der Anwender eine oder mehrere Einrichtungs-Piktogramme
in dem Blockdiagramm zuordnen (z. B. durch Ziehen und Fallenlassen).
Der Anwender kann beispielsweise ein erstes Einrichtungs-Piktogramm,
welches einer ersten Einrichtung entspricht, in das Blockdiagramm
eines graphischen Programms assoziieren, beispielsweise mittels
Drag and Drop, welches auf einer zweiten Einrichtung gespeichert
ist. Wo das Blockdiagramm schon angezeigt wird kann dies umfassen,
dass der Anwender einfach ein Einrichtungs-Piktogramm mit einer
Maus auswählt
und das Einrichtungs-Piktogramm in das angezeigte Blockdiagramm
zieht. Wie oben beschrieben wo das Blockdiagramm nicht schon angezeigt
wird, und ein Programm-Piktogramm auf dem Konfigurationsdiagramm
angezeigt wird, welches das graphische Programm oder ein Blockdiagramm
repräsentiert,
kann der Anwender das Einrichtungs-Piktogramm mit einer Maus auswählen und
das Einrichtungs-Piktogramm in die Nähe von oder auf das Programm-Piktogramm
ziehen (oder er kann andere graphische Assoziierungstechniken verwenden).
Dies kann dazu führen,
dass das graphische Programm oder das Blockdiagramm, welches diesem
Programm-Piktogramm entspricht, angezeigt wird, wobei das Einrichtungs-Piktogramm in
dem graphischen Programm oder Blockdiagramm für eine weitere graphische Positionierung
durch den Anwender angezeigt wird. Dies kann stattdessen verursachen,
dass ein „neuer
Knoten", wie beispielsweise
ein „Einrichtungszugangsknoten", in dem Blockdiagramm
angezeigt wird, wobei dieser „neue
Knoten" graphisch
durch den Anwender positioniert werden kann.
-
In
Schritt 646 kann der Anwender graphisch das Einrichtungs-Piktogramm
an einer gewünschten Stelle
in dem Blockdiagramm positionieren. Der Anwender kann beispielsweise
in Schritt 646 dann das Einrichtungs-Piktogramm (oder den „neuen
Knoten") innerhalb
des Blockdiagramms das angezeigt wurde weiter graphisch navigieren,
beispielsweise bewegen oder ziehen, und das Einrichtungs-Piktogramm (oder den „neuen
Knoten") an einer
bestimmten Stelle in dem Blockdiagramm fallenlassen oder platzieren.
Wo das Programm-Piktogramm somit einem graphischen Programm entspricht
kann der Anwender das Einrichtungs- Piktogramm (oder den „neuen
Knoten") innerhalb
des Blockdiagramms des graphischen Programms positionieren. In einer
Ausführungsform kann
der Anwender einen Flusspfad auswählen, wie beispielsweise einen
Datenflussdraht, in dem das Einrichtungs-Piktogramm (oder der neue
Knoten) positioniert oder „fallengelassen" wird. Das Einrichtungs-Piktogramm
(oder der neue Knoten) kann auf oder in dem Ausführungs- oder Datenpfad des
ausgewählten
Drahts in dem zweiten Blockdiagramm des graphischen Programms eingesetzt
werden und zur Ausführung
konfiguriert werden. Wenn der Anwender beispielsweise einen Datenflusspfad
wählt, der
zwischen einem Quellknoten und einem Zielknoten verbunden ist, kann
das Einrichtungs-Piktogramm als ein Knoten in dem Datenflusspfad
eingesetzt werden, wobei ein Eingangsterminal mit einem Ausgangsterminal
des Quellknoten verbunden ist und wobei ein Ausgangsterminal mit
einem Eingangsterminal des Zielknoten verbunden ist. Die Eingangs-
und Ausgangsterminals können
automatisch für
das Einrichtungs-Piktogramm erzeugt werden.
-
In
Schritt 648 können
die Handlungen, die durch den Anwender in Schritt 644 und 646 durchgeführt wurden,
die automatische Erzeugung von Knoten mit dem Blockdiagramm hervorrufen,
um Daten von den jeweiligen Einrichtungen zu veröffentlichen und/oder zu schreiben,
oder um andere Funktionen durchzuführen, die mit den Einrichtungen
assoziiert sind. Die automatische Erzeugung eines Knotens in dem
Blockdiagramm kann das Anzeigen des Einrichtungs-Piktogramms in
dem Blockdiagramm umfassen und das automatische Erzeugen von Programmanweisungen
und/oder Datenstrukturen, die mit dem Einrichtungs-Piktogramm assoziiert
sind, und welche Funktionalitäten
durchführen
die mit der Einrichtung assoziiert sind, wie beispielsweise das
Zugreifen (lesen und/oder schreiben von Datenwerten von/zu der Einrichtung).
Die automatische Erzeugung eines Knoten in dem Blockdiagramm kann
auch das Anzeigen eines neuen Knoten umfassen (wie z. B. einen „Einrichtungszugangsknoten"), und das Erzeugen
oder Einarbeiten von Programmanweisungen und/oder Datenstrukturen,
die mit dem neuen Knoten assoziiert sind, der in der Lage ist auf
die Einrichtung während
der Ausführung
des graphischen Programms zuzugreifen. Wo der neue Knoten das Aus sehen
des Einrichtungs-Piktogramms hat können die zwei obigen Handlungen ähnlich sein.
-
Damit
kann die automatische Erzeugung von Knoten in dem Blockdiagramm
das automatische Erzeugen von Programmanweisungen und/oder Datenstrukturen
umfassen. welche Funktionalitäten
des Knotens ausführen.
Das Einrichtungs-Piktogramm kann
beispielsweise in dem Blockdiagramm erscheinen und unterliegender
Kode oder Datenstrukturen können
erzeugt werden, welche dem Einrichtungs-Piktogramm entsprechen,
und die dahingehend wirken, um Daten von entsprechenden Einrichtung
(den Einrichtungen) zu veröffentlichen
und/oder zu schreiben, oder um andere Funktionen auszuführen die
mit den Einrichtungen assoziiert sind.
-
Als
ein Beispiel kann der Anwender eine Messanwendung konfigurieren
in dem er eine Schleifenstruktur, wie etwa eine While-Schleife,
in ein Blockdiagramm einsetzt. Der Anwender kann dann eine oder
mehrere Einrichtungs-Piktogramme in die While-Schleife ziehen und
fallenlassen. Die Einrichtungs-Piktogramme können verschiedenen Einrichtungen
entsprechen, welche Daten erzeugen, wie etwa Sensor- oder Messwertgebereinrichtungen oder
Instrumenteneinrichtungen. Wie oben beschrieben, wenn ein Anwender
ein Einrichtungs-Piktogramm auf ein Programm-Piktogramm assoziiert
(z. B. zieht) und das Programm-Piktogramm einem graphischen Programm
entspricht kann dies dazu führen,
dass das Blockdiagramm des graphischen Programms automatisch in
der Anzeige erscheint, wobei der Anwender dann das Einrichtungs-Piktogramm
zu einer geeigneten Stelle in dem Blockdiagramm weiter navigieren
kann. Alternativ, wenn das Blockdiagrammfenster des graphischen
Programms schon auf der Anzeige geöffnet ist, wie etwa in einem
separaten Fenster, kann der Anwender einfach ein Einrichtungs-Piktogramm von dem
Konfigurationsdiagramm auf das Blockdiagramm des graphischen Programms
ziehen und fallenlassen.
-
Wenn
das Einrichtungs-Piktogramm (die Einrichtungs-Piktogramme), die
den Sensoren oder Instrumenten entsprechen, in die While-Schleife
des Blockdiagramms fallen gelassen werden, können Kode und/oder graphische
Programmdatenstrukturen hinsichtlich des Blockdiagramms erzeugt
werden, die in der Lage sind auf diese Einrichtungen zuzugreifen
oder diese Einrichtungen in anderer Weise zu nutzen. Die Einrichtungs-Piktogramme,
die in das Blockdiagramm gezogen und fallen gelassen wurden können dasselbe
Aussehen beibehalten, d. h. als Einrichtungs-Piktogramme, die in
dem Blockdiagramm enthalten sind. Alternativ kann dies dazu führen, dass
neue Knoten programmgesteuert in dem Diagramm erzeugt werden, welche
in der Lage sind auf diese Einrichtungen zuzugreifen und die Daten
zu erhalten.
-
Nach
dieser Handlung können
die Einrichtungs-Piktogramme (oder die anderen Knoten) innerhalb
des Blockdiagramms erscheinen und anzeigen, dass Daten von diesen
Einrichtungen abgegriffen werden (oder andere Funktionen durchgeführt werden).
Eine weitere visuelle Anzeige kann ebenfalls bereitgestellt werden,
ob diese Einrichtungen dem Diagramm Daten veröffentlichen oder Daten von
dem Diagramm schreiben, d. h. ob das Diagramm Daten von diesen Einrichtungen
empfangt oder diesen Einrichtungen Daten veröffentlicht. Die While-Schleife kann
ein wiederholtes Betreiben dieses Einrichtungs-Piktogramms (der
Einrichtungs-Piktogramme) beim Lesen und/oder Schreiben von Daten
von/zu der jeweiligen Einrichtung (den jeweiligen Einrichtungen)
anzeigen.
-
27A bis
E – Beispiel
des Einfügens
eines Einrichtungs-Piktogramms in ein Programm
-
Die 27A bis E sind Bildschirmkopien, die eine Sequenz
zeigen, wo ein Anwender ein Einrichtungs-Piktogramm auf ein bestimmtes
Programm-Piktogramm
zieht und das Einrichtungs-Piktogramm in das Programm einsetzt,
welches durch das Programm-Piktogramm repräsentiert wird. Das in den 27A bis E beschriebene Beispiel ist anwendbar
unabhängig
davon, ob der An wender ein Einrichtungs-Piktogramm oder ein Programm-Piktogramm
in das Programm einfügt.
Mit anderen Worten, obwohl die 27A bis
E in dem Zusammenhang beschrieben werden, wenn der Anwender ein Einrichtungs-Piktogramm in den
Quellkode eines Programms zieht, wirkt dieses Beispiel in ähnlicher Weise
(und in einer Ausführungsform
in einer identischen Weise), wenn der Anwender ein Programm-Piktogramm
in den Quellkode eines Programms zieht.
-
Wie
gezeigt illustriert 27A eine erstes Konfigurationsdiagramm
(„Brotfabrikkonfigurationsdiagramm"), welches zwei Computersystemeinrichtungs-Piktogramme umfasst
und ein Ofensteuerungseinrichtungs-Piktogramm. Der Anwender kann das
Ofensteuerungseinrichtungs-Piktogramm auf ein Konfigurationsdiagrammpiktogramm
assoziieren oder ziehen und fallenlassen, ein anderes Einrichtungs-Piktogramm,
ein Programm-Piktogramm oder ein anderes Piktogramm, das in dem
Konfigurationsdiagramm vorhanden ist. Wie in 27A gezeigt
assoziiert oder „zieht
und fallen lässt” der Anwender das
Ofensteuerungseinrichtungs-Piktogramm auf ein Konfigurationsdiagrammpiktogramm,
d. h. ein Piktogramm, welches ein zweites Konfigurationsdiagramm
repräsentiert.
In 27A wird das zweite Konfigurationsdiagramm
als das „Keksfabrikkonfigurationsdiagramm" bezeichnet.
-
Wenn
der Anwender das Ofensteuerungseinrichtungs-Piktogramm auf das Keksfabrikkonfigurationsdiagramm
assoziiert oder zieht und fallen lässt, kann das Keksfabrikkonfigurationsdiagramm automatisch
ausgeweitet werden um eine oder mehrere Einrichtungs-Piktogramme
zu zeigen, die in dem Konfigurationsdiagramm umfasst sind. In der
Bildschirmkopie von 27B wurde das Keksfabrikkonfigurationsdiagramm
ausgeweitet um zwei Einrichtungs-Piktogramme zu zeigen, die Computersysteme repräsentieren,
die Herstellung und Verpackung durchführen. Diese zwei Computersystemeinrichtungs-Piktogramme
können
durch eine Verknüpfung, wie
gezeigt, verbunden sein.
-
Wie
in 27C gezeigt, kann der Anwender weiter
auswählen
das Herstellcomputereinrichtungs-Piktogramm auszuweiten um ein weiteres
Einrichtungs-Piktogramm
zu offenbaren, welches als „Backen" bezeichnet ist.
Das Herstelleinrichtungs-Piktogramm kann beispielsweise in einer
hierarchischen Weise expandieren um Einrichtungen zu offenbaren,
die Herstellfunktionalitäten
durchführen. Alternativ
können
alle Einrichtungs-Piktogramme, die in dem Konfigurationsdiagramm
vorhanden sind, automatisch angezeigt werden, wenn das Konfigurationsdiagramm
zum ersten Mal in 27B ausgeweitet wird.
-
Wie
in 27D gezeigt, kann der Anwender dann
auswählen
eine oder mehrere Einrichtungs-Piktogramme zu betrachten, die in
dem Einrichtungs-Piktogramm vorhanden sind. Wie gezeigt wurde ein
Programm-Piktogramm angezeigt, das mit dem Ofenmanagement in Verbindung
steht („Ofenmanagement"). In einer Ausführungsform,
wenn der Anwender das Ofensteuerungseinrichtungs-Piktogramm über das
letzte Einrichtungs-Piktogramm in der Hierarchie positioniert (d.
h. es gibt keine weiteren Einrichtungs-Piktogramme in der Hierarchie), können die
Programm-Piktogramme der höchsten Ebene
(oder alle) automatisch angezeigt werden.
-
Der
Anwender kann dann eine Option wählen
um das Programm, welches durch dieses Programm-Piktogramm repräsentiert
wird, anzusehen. In einer Ausführungsform,
wenn der Anwender ein Einrichtungs-Piktogramm positioniert, wie
etwa das Ofensteuerungseinrichtungs-Piktogramm, über dem entsprechenden Programm-Piktogramm,
dann kann das Programm (Quellkode und/oder Benutzerschnittstelle
des Programms) automatisch angezeigt werden. Alternativ, wenn der
Anwender das Ofensteuerungseinrichtungs-Piktogramm über das
entsprechende Programm-Piktogramm positioniert, kann der Anwender
weitere Eingaben bereitstellen um einen oder mehrere Aspekte des
Programms zu betrachten (Quellkode und/oder Benutzerschnittstelle
des Programms). In dieser beispielhaften Ausführungsform ist das Programm
ein graphisches Programm und ein Blockdiagramm eines graphischen
Programms ist angezeigt, wie es in 27E gezeigt
ist. 27E illustriert ein sehr einfaches
und beispielhaftes graphisches Blockdiagramm, welches eine Schleifenstruktur
umfasst und ein einzelnes existierendes Piktogramm oder einen Knoten
aufweist. Das graphische Programm kann eine größere Anzahl von miteinander
verbundenen Knoten haben, wie diejenigen, die in den 24A und 24B gezeigt
sind.
-
In
einer Ausführungsform,
wenn der Anwender ein Einrichtungs-Piktogramm mit einem Programm-Piktogramm
assoziiert, welches einem graphischen Programms entspricht, und
der Teil des Diagramms des graphischen Programms angezeigt wird
erscheint das Einrichtungs-Piktogramm in dem Teil des Diagramms.
In einer weiteren Ausführungsform,
wenn der Anwender ein Einrichtungs-Piktogramm mit einem Programm-Piktogramm
assoziiert, welches dem graphischen Programm entspricht, und der
Teil des Diagramms des graphischen Programms angezeigt wird, erscheint
ein neuer graphischer Programmknoten in dem Teil des Diagramms.
Dieser neue graphische Programmknoten entspricht der jeweiligen
Einrichtung und kann Funktionalitäten repräsentieren, die von der Einrichtung
durchgeführt
werden. Dieser graphische Programmknoten kann dasselbe Aussehen
oder ein anderes Aussehen haben als das Einrichtungs-Piktogramm
dem es entspricht. Der graphische Programmknoten kann programmgesteuert
basierend auf Informationen in dem Einrichtungs-Piktogramm erzeugt
werden oder er kann ein generischer Einrichtungszugangsknoten für den Zugang
zu einer Einrichtung sein.
-
Obwohl
es in 27E nicht gezeigt ist, kann der
Anwender dann wählen
das Einrichtungs-Piktogramm oder den graphischen Programmknoten
innerhalb des graphischen Blockdiagramms zu navigieren oder zu bewegen.
Der Anwender kann beispielsweise das Einrichtungs-Piktogramm an
einer bestimmten Stelle in dem Diagramm positionieren, welche eine
bestimmte Art von Handlung andeutet. Als ein weiteres Beispiel kann
der Anwender das Einrichtungs-Piktogramm (oder den erzeugten graphischen
Programmknoten) mit anderen Knoten oder Piktogrammen „verdrahten", die schon in dem
Blockdiagramm vorhanden sind. Bei dieser Handlung kann das graphische
Programm automatisch Terminals an dem Einrichtungs-Piktogramm (oder
an dem erzeugten graphischen Programmknoten) erzeugen, möglicherweise
basierend auf den Terminals der existierenden Knoten in dem Blockdiagramm,
mit denen der Anwender das Einrichtungs-Piktogramm verbindet.
-
Als
ein weiteres Beispiel kann der Anwender das Einrichtungs-Piktogramm
oder den Knoten auf einen existierenden Draht oder einen Verbindungspfad
navigieren oder bewegen und das Einrichtungs-Piktogramm oder den
Knoten als einen graphischen Programmknoten in diesem Verbindungspfad platzieren.
Der Anwender kann beispielsweise das Einrichtungs-Piktogramm oder
den Knoten zu einer ersten Stelle auf einem Draht in dem graphischen Programm
nach einem ersten Knoten in dem graphischen Programm navigieren
oder positionieren. Das Verfahren kann dann das Einrichtungs-Piktogramm oder
den Knoten als einen Knoten anzeigen, der mit einem Ausgang des
ersten Knoten in dem graphischen Programm verbunden ist. Der Anwender
kann außerdem
das Einrichtungs-Piktogramm zu einer ersten Stelle auf einem Draht
in dem graphischen Programm vor einem zweiten Knoten in dem graphischen
Programm navigieren oder positionieren. Das Verfahren kann dann
das Einrichtungs-Piktogramm oder den Knoten als ein Knoten in dem
graphischen Programm anzeigen der verbunden ist um eine Ausgabe
des zweiten Knoten in dem graphischen Programm bereitzustellen.
Als ein weiteres Beispiel kann der Anwender das Einrichtungs-Piktogramm
oder den Knoten zu einem Draht oder einem Verbindungspfad in dem
Diagramm zwischen einem ersten Knoten und einem zweiten Knoten navigieren
oder positionieren und er kann veranlassen, dass das Einrichtungs-Piktogramm
in dem Diagramm als ein Knoten erscheint, der in dem Verbindungspfad
zwischen dem ersten Knoten und dem zweiten Knoten verbunden ist.
-
Das
Einrichtungs-Piktogramm, oder ein Knoten der das Einrichtungs-Piktogramm
repräsentiert, kann
verschiedene Funktionalitäten
haben. Der Knoten kann beispielsweise Funktionalitäten der
Einrichtung aufrufen, die durch das Einrichtungs-Piktogramm repräsentiert wird, einen Betrieb
der Einrichtung simulieren, Pro gramme auf der Einrichtung aufrufen,
Daten von der Einrichtung erfassen, Daten der Einrichtung bereitstellen,
etc. In einer Ausführungsform
kann ein Element einer graphischen Benutzeroberfläche erscheinen,
wie etwa ein Menü,
und der Anwender kann die gewünschte
Funktionalität
auswählen.
-
Wie
oben beschrieben, kann das Verfahren programmgesteuert einen Knoten
in dem Diagramm erzeugen, welcher eine Handlung durchführt, die
mit dem Einrichtungs-Piktogramm assoziiert ist. In einer Ausführungsform
wird das Einrichtungs-Piktogramm automatisch modifiziert oder ein
neuer Knoten wird automatisch erzeugt, welcher einen oder mehrere Eingangsterminals
enthält
und/oder einen oder mehrere Ausgangsterminals zur Verbindung mit
anderen Knoten in dem Diagramm. Die Eingangsterminals und/oder Ausgangsterminals
können
basierend auf Parametern des entsprechenden graphischen Programms
erzeugt werden (oder Knoten in dem graphischen Programm) oder von
der Einrichtung, die dem Einrichtungs-Piktogramm entspricht. Der
Anwender kann dann diese Terminals mit anderen Knoten in dem Diagramm
verbinden. Die jeweiligen Terminals können auch programmgesteuert
mit anderen Knoten in dem Diagramm verbunden werden. Alternativ kann
der Anwender manuell Terminals für
den Knoten konfigurieren wie beispielsweise eine Verbindungsebene
für den
Knoten konfigurieren. Eine Überprüfung der
Typdurchgängigkeit
kann ebenfalls durchgeführt
werden um sicher zu stellen, dass nicht kompatible Datentypen nicht
zu/von diesem Knoten verbunden werden.
-
Die
Ausführungsform
der vorliegenden Erfindung erlaubt es dem Anwender daher ein Einrichtungs-Piktogramm
auf ein entsprechendes Programm-Piktogramm zu assoziieren oder zu
ziehen und fallenzulassen. Der Anwender kann ein Einrichtungs-Piktogramm
direkt auf ein entsprechendes Programm-Piktogramm assoziieren, welches
aktuell angezeigt wird oder der Anwender kann durch eine Konfigurationsdiagrammhierarchie,
Einrichtungs-Piktogrammhierarchie oder Programm-Piktogrammhierarchie navigieren um ein
gewünschtes Programm-Piktogramm
zu betrachten. Der Quellkode des Programms kann angezeigt werden
und der An wender kann das Einrichtungs-Piktogramm in dem Quellkode
positionieren. Wenn das entsprechende Programm-Piktogramm einem
graphischen Programm entspricht, kann der Teil des Diagramms des
graphischen Programms angezeigt werden, wobei das entsprechende
Einrichtungs-Piktogramm (oder ein Knoten, der dem Einrichtungs-Piktogramm entspricht)
in dem graphischen Programm-Diagramm
angezeigt wird. Der Anwender kann dann das Einrichtungs-Piktogramm (oder
den Knoten) zu einer gewünschten
Stelle in dem graphischen Programm navigieren oder bewegen und optional
das Einrichtungs-Piktogramm mit anderen Knoten in dem graphischen
Programm, etc., verdrahten oder verbinden.
-
Das
oben beschriebene Verfahren kann auch funktionieren, wenn das Programm,
welches durch das Programm-Piktogramm repräsentiert wird, ein textbasiertes
Programm ist. Wenn der Anwender beispielsweise ein Einrichtungs-Piktogramm
mit einem Programm-Piktogramm assoziiert oder darauf zieht und fallen
lässt,
welches ein textbasiertes Programm repräsentiert, kann der textbasierte
Quellkode des Programms angezeigt werden. Der Anwender kann dann
in der Lage sein das Einrichtungs-Piktogramm in eine bestimmte Stelle
in dem Textquellkode zu navigieren. Dies kann einen Funktionsruf verursachen
oder das ein anderer geeigneter Textquellkode an dieser Stelle in
dem Textquellkode eingesetzt wird.
-
In
einer anderen Ausführungsform,
wenn der Anwender ein Einrichtungs-Piktogramm mit einem Programm-Piktogramm
assoziiert oder darauf zieht und fallen lässt, kann die Benutzerschnittstelle
(wie z. B. Frontpaneel) des Programms erscheinen. In einer Ausführungsform
hat der Anwender die Wahl entweder den Quellkode oder einen Teil
des Diagramms des Programms erscheinen zu lassen oder die Benutzerschnittelle
oder das Frontpaneel des Programms erscheinen zu lassen oder beides.
Alternativ kann der Anwender die Benutzerschnittstelle oder das
Frontpaneel des Programms öffnen
und dann das Einrichtungs-Piktogramm direkt zu der Benutzerschnittstelle
ziehen und fallenlassen. Der Anwender kann das Einrichtungs-Piktogramm
(oder den Knoten) zu einer geeigneten Stelle in der Benutzerschnittstelle
navigieren. Die Handlung des Assoziierens eines Einrichtungs-Piktogramms
mit einer Benutzerschnittstelle kann veranlassen, dass ein Element
einer graphischen Benutzeroberfläche
(wie z. B. eine Steuerung oder eine Anzeige) in der Benutzerschnittstelle
erscheint. Diese Handlung kann auch verursachen, dass eine „Bindung" zwischen dem Element
der graphischen Benutzerschnittstelle und Daten auftritt, die durch
die entsprechende Einrichtung erzeugt werden und/oder erfasst werden.
-
Die
obigen Handlungen erleichtern erheblich die Erzeugung von graphischen
Programmen und die Verteilung von Teilen dieser graphischen Programme
auf unterschiedliche Einrichtungen in einem verteilten System. Der
Anwender kann beispielsweise ein graphisches Programm in vielfältiger Weise
erzeugen und dann kann der Anwender während oder nach der Erzeugung
des graphischen Programms Piktogramme von innerhalb des Blockdiagramms
zu verschiedenen Einrichtungen assoziieren (wie z. B. durch Drag
and Drop), um die Funktionalität,
welche durch diese Knotenpiktogramme in dem Diagramm repräsentiert
werden, auf diese entsprechenden Einrichtungen zu verteilen oder
anzuwenden. Außerdem kann
der Anwender Einrichtungs-Piktogramme mit einem graphischen Programm
assoziieren oder er kann andere Programm-Piktogramme für verschiedene
Einrichtungen in dem graphischen Programm assoziieren.
-
Diese
Techniken bieten eine einfache und bequeme Weise für einen
Anwender eine Anwendung unter Verwendung eines graphischen Programms
zu erzeugen, wobei der Anwender verschiedene Programme der graphischen
Programmanwendung an unterschiedlichen Einrichtungen anwenden kann
oder Funktionalitäten,
die mit anderen Einrichtungen oder Programmen assoziiert sind, unter
Verwendung von Einrichtungs-Piktogramm bzw. Programm-Piktogrammen
einbauen.
-
28A und 28B
-
Die 28A und 28B sind
Bildschirmkopien, die das Einbauen eines Programm-Piktogramms aus
einem Konfigurationsdiagramm in ein graphisches Programm illustrieren.
Die 28A zeigt ein Konfigurationsdiagramm,
welches ein Einrichtungs-Piktogramm 802 umfasst, das einen
Hostcomputer repräsentiert,
und ein Einrichtungs-Piktogramm 804, das ein Mess- oder
Steuerungsgerät
repräsentiert,
in diesem Fall ein Fieldpointgerät
(auch bezeichnet als „Engine
Controller") von
National Instruments Corporation. Das Einrichtungs-Piktogramm 804 umfasst
eine Anzahl von zugehörigen Programm-Piktogrammen 842 bis 850.
In diesem Beispiel sind die Programm-Piktogramme Service-Piktogramme 842 bis 850.
Die Service-Piktogramme 842 bis 850 umfassen ein
Start-Piktogramm 842 zum Starten des Anwendungsprogramms,
ein „Setze
Engine Parameter"-Piktogramm 844 zur
Modifizierung oder Betrachtung von Parametern der Anwendung oder
der Einrichtung, ein Stop Piktogramm 846 zum Stoppen der
Anwendung, ein Engine Statuspiktogramm 844 zum Überprüfen des
Status der Anwendung oder der Eirichtung und ein Schließen-Piktogramm 850 zum
Schließen
der Anwendung oder der Einrichtung. Service-Piktogramme repräsentieren
einen Mechanismus hoher Ebene zum Interagieren mit einer Anwendung
oder einer Einrichtung und sind weiter unten beschrieben.
-
Die 28B zeigt ein Beispiel wo der Anwender ein Programm-Piktogramm
(z. B. Programm-Piktogramm 846) mit einem Blockdiagramm eines
graphischen Programms assoziiert bzw. darauf zieht und fallen lässt. In
einer Ausführungsform
kann das Programm-Piktogramm 846 in das Blockdiagramm gezogen
und fallen gelassen werden und das Blockdiagramm ändert während dieser
Handlung nicht sein Aussehen. In einer weiteren Ausführungsform,
wenn das Programm-Piktogramm 846 die Grenze
des Fensters des Blockdiagramms überschreitet
während
der Drag und Drop Handlung, kann das Programm-Piktogramm 846 sein
Aussehen ändern,
oder ein neues Knotenpiktogramm kann an seiner Stelle erscheinen.
-
Nach
dem das Programm-Piktogramm in das Blockdiagramm „gezogen" oder positioniert
wurde, kann der Anwender dann das Programm-Piktogramm 846 mit
anderen Knoten in dem graphischen Programm verdrahten. Alternativ
kann der Anwender dieses Programm-Piktogramm 846 auf einen
Draht oder eine Verknüpfung
in dem graphischen Programm ziehen oder platzieren. Dies kann dazu
führen,
dass das Programm-Piktogramm 846 als ein Knoten in dem
graphischen Programm erscheint, der in dem Pfad dieses Drahts oder
dieser Verknüpfung verbunden
ist. In einer Ausführungsform
können
Terminals automatisch dem Programm-Piktogramm hinzugefügt werden, wobei der Draht
oder die Verknüpfung
diese Terminals verbindet. Somit kann das Programm-Piktogramm konfiguriert
werden um eine oder mehrere andere Knoten in dem graphischen Programm
zu verbinden.
-
Konfigurieren eines Einrichtungs-Piktogramms
in einem Konfigurationsdiagramm
-
29 zeigt ein einfaches Konfigurationsdiagramm
oder ein Systempaneel. Wie gezeigt umfasst dieses beispielhafte
Konfigurationsdiagramm ein Einrichtungs-Piktogramm 802, welches einen Hostcomputer
repräsentiert,
und ein Einrichtungs-Piktogramm 804, welches eine Mess-
oder Steuereinrichtung repräsentiert.
In diesem Beispiel repräsentiert
das Einrichtungs-Piktogramm 804 eine Fieldpointeinrichtung
von National Instruments, welche zur Messung- oder Kontrollanwendungen
verwendet werden kann. Wie gezeigt kann der Anwender das Einrichtungs-Piktogramm 804,
welches die Fieldpointeinrichtung repräsentiert, auswählen, wo nach
ein oder mehrere Menüs
angezeigt werden können.
Der Anwender kann verschiedene Optionen aus diesen Menüs auswählen.
-
Wie
gezeigt kann der Anwender die Konfigurationsoption an einem ersten
Menü auswählen. Dieses
Auswählen
erzeugt ein zweites Menü,
das Gegenstände
für Netzwerk
I/O und Datenpunkte, wie z. B. Tags, aufweist. Wie hierin verwendet
umfasst der Begriff „Datenpunkt" einen Datenpunkt,
einen I/O Punkt, einen Daten Tag, I/O Kanaldatenwerte und andere
Arten von Datenwerten. Der Datenpunkt kann mit einer Einrichtung
assoziiert sein oder von einer Einrichtung erzeugt werden oder er
kann durch ein Programm berechnet werden. Wenn der Anwender die
Netzwerkoption auswählt,
kann der Anwender weitere Optionen zur Konfigurierung der IP Adresse der
Einrichtung empfangen oder einen Sicherheitsaspekt der Einrichtung.
-
Obwohl
in 29 nicht gezeigt kann in einer Ausführungsform
wenn der Anwender die I/O Auswahl wählt ein Messkonfigurationsprogramm,
wie beispielsweise der Measurement and Automation Explorer von National
Instruments, initiiert werden um I/O Kanäle zu konfigurieren. Wenn I/O
Kanäle schon
existieren oder zuvor konfiguriert wurden dann können diese Gegenstände angezeigt
werden, wie es in 30 gezeigt ist. Wenn der Anwender
also die I/O oder Tag-Gegenstände in 29 wählt,
wenn physische I/O Punkte zuvor schon konfiguriert wurden oder wenn
Datenpunkte oder Tags zuvor konfiguriert wurden dann können Informationen
hinsichtlich der Selben angezeigt werden. Wenn der Anwender beispielsweise,
wie es in 30 gezeigt ist, den I/O Menügegenstand
wählt können verschieden
konfigurierte I/O Kanäle
angezeigt werden, wie etwa Analogeingang, Analogausgang oder digitales
I/O. Wie es ebenfalls in 30 gezeigt
ist, wenn der Anwender die Tags oder die Datenpunktgegenstände auswählt, können verschieden
konfigurierte Datenpunkte gezeigt werden wie etwa Druck, Temperatur, RPM
etc. Somit kann das System wie es in 30 gezeigt
ist konfigurierte I/O oder konfigurierte Datenpunkte anzeigen. Diese
Gegenstände
können
in einer „Baumansicht" angezeigt werden
oder in einer anderen geeigneten Ansicht. Das System kann auch ein „neu hinzufügen" Merkmal anzeigen,
welches es dem Anwender erlaubt neue physische I/O oder Datenpunkte
direkt der in 30 gezeigten Baumstruktur hinzuzufügen.
-
30 zeigt auch ein Beispiel wenn ein Anwender ein
Hilfemerkmal für
ein Einrichtungs-Piktogramm wählen
will. Der Anwender kann z. B. rechts auf das Steuerungseinrichtungs-Piktogramm 804 klicken
und ein Hilfemerkmal auswäh len.
Das Hilfefenster „Kontexthilfe" kann dann erscheinen
wie es in 30 gezeigt ist. Das Hilfefenster
kann verschiedene Informationen über
die Einrichtung bereitstellen, wie etwa den Namen der Einrichtung,
Sicherheitsprivilegien, installierte Software, IP-Adresse, Kalibrierungsinformationen
und andere Informationen. Das Hilfefenster kann Kontextsensitiv
sein. Somit kann der Anwender nachdem ein Hilfemerkmal ausgewählt wurde
und ein Hilfefenster wie gezeigt erschienen ist seine/ihre Maus über das
Konfigurationsdiagramm bewegen um kontextsensitive Hilfe zu betrachten
die zu anderen Einrichtungs-Piktogrammen gehört, zu Programm-Piktogrammen
oder anderen Gegenständen
die angezeigt werden. Während
der Anwender die Maus auf verschiedene Einrichtungs-Piktogramme bewegt
verursacht dies also, dass kontextsensitive Hilfe für die jeweilige
Einrichtung in dem Hilfefenster erscheint. Ähnliche Handlungen treten für andere
Piktogramme auf, wie etwa für Programm-Piktogramme.
-
Wie
es ebenfalls in 30 gezeigt ist kann der Anwender
einen Datenpunktgegenstand auswählen
und verschiedene Optionen auswählen.
Beispielsweise kann der Anwender einen Analogeingangsgegenstand
wählen
(wie z. B. AI I), welcher veranlasst, dass ein Menü dargestellt
wird aus dem der Anwender den I/O Punkt (Datenpunkt) untersuchen
kann oder Eigenschaften des I/O Punktes konfigurieren kann. Ein
weiteres Merkmal der „Baumansicht" die in 30 gezeigt ist, ist dass jeder individuelle Baum
vorzugsweise kollabierbar ist. Somit kann der Anwender auswählen nur
Programme zu sehen, nur Datenpunkte, nur I/O Kanäle oder eine gesamte Hierarchieansicht.
-
In
großen
verteilten Systemen kann das Konfigurationsdiagramm (oder das Systempaneel)
eine Anzahl von unterschiedlichen Einrichtungs-Piktogrammen enthalten.
In einer Ausführungsform
kann der Anwender ein bestimmtes Einrichtungs-Piktogramm auswählen und
veranlassen, dass dieses Einrichtungs-Piktogramm das einzige Einrichtungs-Piktogramm
ist das auf dem Schirm wiedergegeben wird. Alternativ kann der Anwender
ein Einrichtungs-Piktogramm auswählen
und veranlassen dass das Einrichtungs-Piktogramm in einem separaten Panel
angezeigt wird. Der Anwender kann dann das Einrichtungs-Piktogramm
erweitern um verschiedene Ansichten (wie z. B. Baumansichten) des
Einrichtungs-Piktogramms
zu betrachten, wie etwa Programm-Piktogramme, welche Programme repräsentieren
die auf der Einrichtung gespeichert sind, Datenpunkte die in der
Einrichtung vorhanden sind (wie etwa I/O Kanäle), Konfigurationsdaten, wie
etwa die IP-Adresse, etc.. Der Anwender kann auch ein Browsermerkmal
auswählen
um unter neuen/alten Einrichtungen zu suchen oder neue/alte Einrichtungen zu
entdecken. Der Anwender kann weiter eine Option wählen um
neue (oder nicht konfigurierte) Einrichtungen automatisch hinzuzufügen/zu zeigen.
-
31 – Anwenden
eines Programms an einer Einrichtung.
-
31 zeigt ein Beispiel des Anwendens eines Programms,
welches durch ein Programm-Piktogramm repräsentiert ist, an einer Zieleinrichtung.
Das in 31 gezeigte Beispiel entspricht
den oben unter Bezug auf die 15 bis 18 beschriebenen
Verfahren. Wie gezeigt illustriert 31 ein
Konfigurationsdiagramm, welches ein Einrichtungs-Piktogramm 802 umfasst
das einen Hostcomputer repräsentiert, und
ein Einrichtungs-Piktogramm 804, welches eine Mess- oder
Steuerungseinrichtung repräsentiert,
in diesem Fall eine Fieldpoint-Einrichtung (bezeichnet als „Steuerung
1") von National
Instruments Corporation. Wie gezeigt umfasst das Einrichtungs-Piktogramm 802 des
Hostcomputers ein Programm-Piktogramm
das als PID 806 bezeichnet ist, welches ein PID-Steuerprogramm
repräsentiert.
In diesem Beispiel repräsentiert
das PID Programm-Piktogramm 806 ein PID virtuelles Instrument
oder ein VI, das in LabView entwickelt wurde. Wie gezeigt kann der
Anwender PID Programm-Piktogramm 806 auswählen und
das PID Programm-Piktogramm 806 mit dem Zieleinrichtungs-Piktogramm 804 assoziieren
(beispielsweise durch Drag and Drop), dass heißt dem Fielpoint-Einrichtungs-Piktogramm 804 das
als Steuerung 1 bezeichnet wird. Nachdem der Anwender diese Drag
and Drop Handlung durchgeführt
hat wird das Programm, welches durch das Programm 806 repräsentiert
wird, auf der Zieleinrichtung (Steuerung 1) angewandt. Dies wird
graphisch in dem Konfigurationsdiagramm dargestellt, wobei das PID
Programm-Piktogramm 806a als mit dem Einrichtungs-Piktogramm,
welches der Fieldpoint-Einrichtung entspricht, assoziiert gezeigt
ist, z. B. darunter (und möglicherweise
damit auch verbunden).
-
Nachdem
ein Programm-Piktogramm an der Einrichtung angewandt wurde ist es
wünschenswert das
Programm laufen zu lassen oder verschiede Debugging Handlungen durchzuführen. In
einer Ausführungsform
kann der Anwender das Programm-Piktogramm auswählen und das Programm starten
oder das Programm so konfigurieren dass es zu einem gewählten Zeitpunkt
startet. In dem Fall wo die Einrichtung keine eigene Anzeigefähigkeit
umfasst kann in einer Ausführungsform
die Debugging Handlung unter Verwendung der Anzeige des Hostcomputersystems
durchgeführt
werden. Die Anzeige des Hostcomputersystems kann verwendet werden
um Debugging Handlungen anzuzeigen, wie z. B. das Execution Highlighting,
das Singlesteping und andere Debugging Merkmale für ein Programm
das innerhalb der Zieleinrichtung ausgeführt wird.
-
32 – Assoziieren
eines Datenpunkts (oder eines I/O Kanals) mit einem Frontpaneel
eines Programms.
-
32 illustriert ein Beispiel eines Anwenders der
einen Datenpunktgegenstand auswählt
der mit einem Einrichtungs-Piktogramm (Steuerung 1) assoziiert ist
und diesen Datenpunktgegenstand auf die Benutzerschnittstelle oder
das Frontpaneel eines Programms assoziiert oder darauf zieht und
fallen lässt. Ähnliche
Handlungen können
durchgeführt werden
wenn der Anwender ein Einrichtungs-Piktogramm mit der Benutzerschnittstelle
oder dem Frontpaneel eines Programms assoziiert. In diesem Fall hat
der Anwender den RPM (Revolution Per Minute, Umdrehungen pro Minute)
Datenpunktgegenstand ausgewählt
und diesen Datenpunktgegenstand auf das Frontpaneel eines graphischen
Programms gezogen und fallen gelassen, wie etwa dem Frontpaneel
eines LabView VI. Wenn der Anwender einen Datenpunktgegenstand auf
die Benutzerschnittstelle oder das Frontpaneel eines Programms assoziiert oder
zieht und fallen lässt,
kann das System in einer Ausführungsform
automatisch ein Element einer graphischen Benutzeroberfläche erzeugen
oder anzeigen, wie beispielsweise eine Anzeige oder eine Steuerung
in der Benutzerschnittstelle oder dem Frontpaneel, das mit diesem
Datenpunkt assoziiert ist. Das Element der graphischen Benutzerschnittstelle
kann mit diesem Datenpunkt „verbunden" sein. Beispielsweise
kann das Element der graphischen Benutzerschnittstelle verwendet
werden, um den Wert des Datenpunktes „live" zu überwachen,
beispielsweise kann der Wert des Datenpunktes in dem Element der graphischen
Benutzerschnittstelle in Realzeit während der Ausführung des
Programms angezeigt werden. Die Bindung kann unter Verwendung von
Datensockeltechnologien erreicht werden wie sie im
US Patent Nr. 6,370,569 mit dem Titel „Data Socket
System and Method for Accessing Data Sources Using URLS" beschrieben sind,
welches hiermit durch Inbezugnahme mit aufgenommen wird. Wenn das
Element der graphischen Benutzerschnittstelle eine Steuerung ist,
kann das Element der graphischen Benutzerschnittstelle verwendet
werden, um den Wert oder die Parameter des Datenpunkts während der Laufzeit
zu steuern oder zu ändern,
entweder statisch oder dynamisch. Diese Drag and Drop Handlung kann
somit veranlassen, dass eine Datenbindung zwischen dem Element der
graphischen Benutzerschnittstelle und dem Datenpunkt erzeugt wird. Somit
kann der Anwender dieses Element der graphischen Benutzerschnittstelle
betrachten, um den Wert des Datenpunkts „live" zu beobachten und er kann optional
den Datenpunktwert oder die Parameter, welche mit dem Datenpunktwert
assoziiert sind, einstellen.
-
In
einer Ausführungsform,
wenn der Anwender einen Datenpunkt auf ein Frontpaneel eines Programms
oder einer Benutzerschnittstelle assoziiert oder zieht und fallen
lässt erzeugt
das System automatisch (beispielsweise wählt es eine Anzeige) eine Art
von Element einer graphischen Benutzerschnittstelle, die für die Art
von Daten geeignet ist, die durch den Datenpunkt repräsentiert
werden. Wenn der Datenpunkt beispielsweise ein Signal repräsentiert
kann das System automatisch einen Graf erzeugen oder anzeigen, eine
Wellenform oder ein graphisches Element einer Benutzerschnittstelle
das in der Lage ist das Signal anzuzeigen. Der Bereich oder die
Skalierung des Elements der graphischen Benutzerschnittstelle kann
ebenfalls konfiguriert werden um das Signal geeignet wiederzugeben.
Wenn der Datenpunkt als ein weiteres Beispiel einen booleschen Wert
repräsentiert,
kann das System automatische eine boolesche Anzeige erzeugen. Wenn
der Datenpunkt ein nur Lese Datenpunkt ist kann das System zusätzlich einen
Anzeiger für
diesen Datenpunkt erzeugen. Wenn der Datenpunkt nur ein Schreibpunkt
ist kann das System eine Steuerung für diesen Datenpunkt erzeugen.
Wenn der Datenpunkt sowohl lesbar als auch beschreibbar ist, dann
kann das System sowohl eine Steuerung als auch einen Anzeiger für diesen Gegenstand
erzeugen oder ein einzelnes Element einer graphischen Benutzerschnittstelle,
das sowohl lesbar als auch beschreibbar ist.
-
Es
wird angemerkt, dass ähnliche
Handlungen wie die oben beschriebenen durchgeführt werden können, wenn
der Anwender ein Piktogramm assoziiert (z. B. durch Drag and Drop),
welches andere Arten von Datenpunkten repräsentiert, wie etwa ein I/O
Element oder ein Kanalpiktogramm (wie etwa AI 1) auf ein Frontpaneel
eines Programms. Wenn der Anwender daher ein I/O Element oder einen
Kanal (wie etwa AI 1) auf ein Frontpaneel eines Programms assoziiert
(z. B. durch Drag and Drop) kann ein Element einer graphischen Benutzerschnittstelle
(wie z. B. eine Steuerung oder ein Anzeiger) erzeugt werden, welche
verwendet werden kann, um den Wert des Kanals anzuzeigen und/oder
den Wert des Kanals zu manipulieren. Wenn der Anwender ein Einrichtungs-Piktogramm
auf eine Benutzerschnittstelle oder Frontpaneel eines Programms
assoziiert, kann ein Element einer graphischen Benutzerschnittstelle erzeugt
werden, welches Daten anzeigt die mit der Einrichtung assoziiert
sind, oder welches Daten steuern kann, die mit der Einrichtung assoziiert
sind.
-
33A und
B – Assoziierung
eines Datenpunkts (oder eines I/O Kanals) mit einem Programmblockdiagramm.
-
33A zeigt ein Beispiel wo der Anwender einen Datenpunktgegenstand
gewählt
hat, wie etwa RPM, und diesen Datenpunktgegenstand mit dem Blockdiagramm
eines graphischen Programms assoziiert hat oder darauf gezogen und
fallengelassen hat. Wie gezeigt kann diese Ziehen und Fallenlassen Handlung
verursachen, dass ein graphisches Programmelement, wie beispielsweise
ein Knoten 824, in dem Blockdiagramm erscheint, der dem
Datenpunktgegenstand entspricht. Das graphische Programmelement 824 kann
dem Datenpunkt-Piktogramm
entsprechen und kann betrieben werden, um programmgesteuert auf
Werte dieses Datenpunkts zuzugreifen, d. h. Werte von/zu dem Datenpunkt
zu lesen und/oder zu schreiben. Mit anderen Worten, das graphische
Programmelement kann betrieben werden um den Datenpunkt während der
Ausführung des
graphischen Programms zu lesen und/oder zu beschreiben. Dieses graphische
Programmelement oder der Knoten 824 kann mit verschiedenen
Funktionen oder Eigenschaften konfiguriert sein. In dem in 33A gezeigten Beispiel hat das graphische Programmelement
die Fähigkeit „historische
Daten" des Datenpunkts
zu „speichern" oder einen „Trend" der Daten zu erfassen.
-
Wie
in 33B gezeigt kann der Anwender dann
dieses graphische Programmelement mit anderen Knoten in dem Blockdiagramm
verbinden um Programmgesteuert einen Zugriff zu erwirken, d. h. ein
Lesen oder Schreiben von Daten und/oder Parametern dieses Datenpunkts.
Der Anwender kann außerdem
dieses graphische Programmelement mit Elementen einer graphischen
Benutzerschnittstelle verbinden (oder einen Terminal eines Elements
einer graphischen Benutzerschnittstelle) um einen Anwenderzugriff
oder eine Steuerung des Datenpunkts zu ermöglichen.
-
Der
Anwender kann beispielsweise die Ausgabe eines Funktionsknotens
(z. B. „Calc
RPM 822") in
dem graphischen Programm mit dem graphischen Programmelement 824 verbinden,
welches den RPM Datenpunkt repräsentiert
(„RPM
graphisches Programmelement").
Somit kann während
der graphischen Programmausführung
ein Funktionsknoten einen Wert zu dem RPM graphischem Programmelement 824 schreiben,
der programmgesteuert einen Parameterwert oder einen Datenwert des
RPM Datenpunkts ändert.
Als ein weiteres Beispiel kann der Anwender eine Ausgabe des RPM
graphischen Programmelements 824 mit einem weiteren Funktionsknoten
verdrahten (wie z. B. dem Knoten 826), so dass dieser andere
Funktionsknoten 826 Parameterwerte oder Datenwerte dieses
Datenpunkts lesen kann. Als ein weiteres Beispiel kann der Anwender ein
Element einer graphischen Benutzerschnittstelle (oder dem Terminal
eines Elements einer graphischen Benutzerschnittstelle) mit dem
RPM graphischen Programmelement verdrahten, um den Anwender in die
Lage zu versetzen, Werte zu betrachten oder zu modifizieren, die
mit dem Datenpunkt während
der Programmausführung
assoziiert sind (oder davor oder danach).
-
In
dem Beispiel von 33B hat der Anwender einen „Calc RPM" Knoten 822 mit
einem Eingang des RPM Knotens 824 verdrahtet, wobei der
Calc RPM Knoten 822 wirkt, um den RPM Wert für den Datenpunkt
zu berechnen und diesen berechneten RPM Wert zu dem RPM Datenpunkt
zu schreiben, der durch den Knoten 824 präsentiert
wird. Der Anwender hat außerdem
einen Dateneinlogknoten 826 mit einer Ausgabe des RPM Knotens 824 verdrahtet, wobei
der Dateneinlogknoten 826 dazu dient Werte des RPM Datenpunkts
in einer Datei aufzuzeichnen.
-
Somit
kann wie es oben unter Bezugnahme auf die 32, 33A und B beschrieben wurde mit einer einfachen
Drag and Drop Handlung eines Datenpunktgegenstands auf das Blockdiagramm
eines graphischen Programms ein graphisches Programmelement, welches
diesem Datenpunkt entspricht, in das Diagramm eingefügt werden.
Der Anwender kann einfach das graphische Programmelement, das diesem
bestimmten Datenpunkt entspricht, für einen programmgesteuerten
Zugriff oder einen Zugriff durch den Anwender konfigurieren. Mit einer
einfachen Drag and Drop Handlung eines Datenpunktgegenstands auf
das Frontpaneel eines graphischen Programms wird ein Element einer
graphischen Benutzerschnittstelle, welches diesem Datenpunkt entspricht,
in das Frontpaneel einge fügt.
Dies erlaubt es dem Anwender Parameter oder Daten dieses Datenpunkts
während
der Ausführung
des Programms zu betrachten oder zu modifizieren. Zusätzlich kann
dieselbe Funktionalität
für andere
assoziierte Gegenstände
verwendet werden, wie etwa als ein Einrichtungs-Piktogramm oder
ein Programm-Piktogramm,
oder verschiedene Arten von Datenpunkten wie etwa I/O Kanäle, wie
beispielsweise Analogeingang. Analogausgang oder digitale I/O Kanäle.
-
Der
Anwender kann natürlich
auch andere Gegenstände,
die mit Einrichtungs-Piktogrammen assoziiert
sind, in ein Programm ziehen und fallenlassen, wie etwa das Blockdiagramm
eines graphischen Programms. Der Anwender kann beispielsweise wie es
oben beschrieben wurde Programm-Piktogramme für ein Programm, das auf einer
Einrichtung gespeichert ist, in das Blockdiagramm eines graphischen Programms
ziehen und fallenlassen. Als ein weiteres Beispiel kann eine Einrichtung,
die durch ein Einrichtungs-Piktogramm repräsentiert wird, eine oder mehrere
Dateien oder Konfigurationsdaten umfassen, wobei der Anwender einen
graphischen Gegenstand oder ein Piktogramm, welches diese Datei
oder die Konfigurationsdaten repräsentiert, auswählen und diesen
Gegenstand auf das Blockdiagramm (oder das Frontpaneel) eines graphischen
Programms zieht und fallenlassen. Dies kann auch einen programmgesteuerten
Zugriff auf diese Datei oder die Konfigurationsdaten ermöglichen.
-
Es
wird ebenfalls angemerkt, dass das Verfahren, welches in den 32 und 33 beschrieben wurde,
ebenfalls mit textbasierten Programmen verwendet werden kann anstelle
von graphischen Programmen. Der Anwender kann beispielsweise einen Datenpunktgegenstand
(z. B. I/O Kanalgegenstand) in eine bestimmte Stelle in einem Programm
in C-Sprache ziehen und fallenlassen, wodurch verursacht wird, dass
geeignete Funktionsrufe oder C-Programmangaben automatisch in das
Programm eingeführt
werden. Diese Textprogrammangaben können in der Lage sein programmgesteuert
diesen Datenpunkt zu lesen und/oder zu beschreiben. Der Anwender
kann außerdem
einen Datenpunktgegenstand (wie beispielsweise ein I/O Kanalgegenstand) in
die Benutzerschnittstelle ziehen und fallenlassen, der mit einem
Textsprachprogramm assoziiert ist, mit einer ähnlichen Handlung wie sie oben
für die
Benutzerschnittstelle eines graphischen Programms beschrieben wurde.
-
33 – „Start
up" Anwendungsmerkmal
-
34 zeigt ein Beispiel wo der Anwender zuvor ein
Programm auf einer Zieleinrichtung angewandt hat, wie es oben unter
Bezugnahme auf 31 beschrieben wurde. In 34 hat der Anwender das PID Programm-Piktogramm
ausgewählt, welches
mit der Steuerung 1 assoziiert ist und ein „Start up Anwendungs-" Merkmal gewählt. Wenn dieses Merkmal ausgewählt wird,
wird jedes Mal wenn die entsprechende Zieleinrichtung hochgefahren oder
mit Energie versorgt wird, das Programm, welches dem Programm-Piktogramm
entspricht, ausgeführt.
-
35 – Service
Piktogramme
-
35 zeigt ein Einrichtungs-Piktogramm, welches
eine Anzahl von zugehörigen
Service-Piktogrammen umfasst. Service-Piktogramme repräsentieren
einen High-Level Mechanismus zum Interagieren mit einer Anwendung
oder einer Einrichtung. Als eine beispielhafte Anwendung kann angenommen werden,
dass ein Entwickler die Erzeugung einer Anwendung wünscht, die
dann von anderen Anwendern benutzt werden kann. In diesem Beispiel
kann es der Anwender wünschen
verschiedene Programm-Piktogramme zu verstecken, welche darunter
liegende Programmfunktionalitäten
repräsentieren,
und nur bestimmte Basisdienste der Anwendung zu offenbaren. In 35 sind die Service-Piktogramme 842 bis 850,
welche dem Starten des Anwendungsprogramms 842 entsprechen,
dem Modifizieren oder Betrachten von Parametern der Anwendung oder
der Einrichtung 844, dem Stoppen der Anwendung 846, dem Überprüfen des
Status der Anwendung oder der Einrichtung 848, oder dem
Herunterfahren der Anwendung oder Einrichtung 850 angezeigt.
Somit kann der Anwender eine Anwendung verpacken und seine Anwendung
zu einer Vielzahl von unterschiedlichen Anwendern vertei len, wobei
die empfangenden Anwender nur die Service-Piktogramme 842 bis 850 betrachten
können.
Diese Service-Piktogramme 842 bis 850 bieten High-Level Basisfunktionalitäten ohne
die darunter liegende Programmstruktur zu offenbaren.
-
36 – Kopieren
von Einrichtungseinstellungen zu anderen Einrichtungen
-
36 zeigt ein Beispiel wo ein Anwender die Einstellungen
von einem ersten Einrichtungs-Piktogramm zu kopieren wünscht und
dann optional die Einstellungen auf ein zweites Einrichtungs-Piktogramm,
welches einer zweiten Einrichtung entspricht, zu „Pasten" oder zu konfigurieren.
Hier kann der Anwender ein erstes Einrichtungs-Piktogramm (wie z.
B. Einrichtungs-Piktogramm 804) auswählen oder rechts klicken und
eine „Kopiere
Einstellungen von" Option
aus einem Menü wählen. Dies
wirkt dahingehend, dass die Einstellungen der entsprechenden Einrichtung,
die dem ersten Einrichtungs-Piktogramm 804 entspricht,
kopiert werden. Der Anwender kann dann ein zweites Einrichtungs-Piktogramm (nicht
abgebildet) wählen,
welches einer zweiten Einrichtung entspricht, und die Einstellungen
auf diese zweite Einrichtung Pasten. Dies bietet einen einfachen
Mechanismus um Einstellungen unter verschiedenen Einrichtungen zu
kopieren.
-
Debugging aus der Ferne
-
In
einer weiteren Ausführungsform
kann das Debuggen von graphischen Programmblockdiagrammen aus der
Ferne in einem verteilten System durchgeführt werden. Wo beispielsweise
ein graphisches Programm auf einer entfernten Einrichtung angewandt
wird kann der Anwender an dem Hauptcomputer 82 in der Lage
sein das Einrichtungs-Piktogramm auszuwählen und/oder ein entsprechendes
Programm-Piktogramm auszuwählen,
welches mit der Einrichtung assoziiert ist, und das Blockdiagramm des
graphischen Programms betrachten. Der Anwender kann in der Lage
sein das Blockdiagramm auf der Anzeige des Hauptcomputersystems
zu betrachten, wobei dieses Blockdiagramm tatsächlich auf einer ent fernten
Einrichtung ausgeführt
wird. Der Anwender kann dann in der Lage sein verschiedene Debugging-Werkzeuge
zu verwenden, die hinsichtlich Blockdiagrammen nützlich sind, wie etwa Break Points,
Single Stepping und Execution Highlighting.
-
Der
Anwender kann somit in der Lage sein das angezeigte Blockdiagramm
als eine graphische Benutzerschnittstelle zum Debuggen des Blockdiagramms
zu nutzen, welches auf der entfernten Einrichtung ausgeführt wird.
Der Anwender kann im Einzelschrittbetrieb durch das Blockdiagramm
gehen, welches auf der entfernten Einrichtung ausgeführt wird,
unter Verwendung des Blockdiagramms der graphischen Benutzerschnittstelle,
das auf der Anzeige des Hauptcomputersystems angezeigt wird. Ebenso
kann der Anwender, wenn ein Blockdiagramm auf einer entfernten Einrichtung
ausgeführt wird,
in der Lage sein das Blockdiagramm auf dem Hauptcomputersystem zu
betrachten, wobei die entsprechenden Knoten in dem Blockdiagramm,
das auf dem Hauptcomputersystem angezeigt wird, hervorgehoben sind
als diejenigen Knoten, die auf der entfernten Einrichtung ablaufen.
Der Anwender kann außerdem
in der Lage sein die Datenausgabe von jedem der entsprechenden Knoten
auf dem Blockdiagramm, das auf dem Hauptcomputersystem 82 angezeigt
wird, zu betrachten, während
die entsprechenden Knoten Daten produzieren, die auf der entfernten
Einrichtung ablaufen.
-
Betrachten von Frontpaneelen
von graphischen Programmen
-
Wie
oben erwähnt
wurde kann der Anwender eine Option an einem Programm-Piktogramm auswählen, welches
en Programm repräsentiert,
das eine entsprechende Benutzerschnittstelle oder ein Frontpaneel
hat, wobei diese ausgewählte
Option den Anwender in die Lage versetzt die Benutzerschnittstelle
oder das Frontpaneel zu betrachten, entweder statisch oder dynamisch
während
der Ausführung.
Wo der Anwender ein Konfigurationsdiagramm umfassend Einrichtungsknoten
und/oder Programmknoten hat, die Programme repräsentieren, die über das
System verteilt sind, kann der Anwender somit in der Lage sein jedes Programm-Piktogramm
in dem verteilten System auszuwählen
und die entsprechende Benutzerschnittstelle oder das Frontpaneel
des Programms zu betrachten, während
es ausgeführt wird.
Dies stellt dem Anwender die Fähigkeit
bereit den Status der Ausführung
von Programmen zu betrachten, die auf irgendeinem der verschiedenen
Einrichtungen ablaufen, die in dem System vorhanden sind.
-
Asynchroner Datenflussknoten
-
In
einer weitren Ausführungsform
kann der Anwender in der Lage sein einen asynchronen Datenflussknoten
oder ein Piktogramm in zwei oder mehr Blockdiagrammen oder graphischen
Programmen einzusetzen, um eine verteilte Ausführung unter den zwei oder mehreren
Blockdiagrammen oder graphischen Programmen zu ermöglichen.
Ein asynchrones Datenflusspiktogramm kann zwei Teile umfassen, welche
Teil desselben Queue oder Speichers umfassen. Ein Teil des asynchronen
Datenflusspiktogramms kann ein Leseteil sein und das andere Teil kann
ein Schreibteil sein. Der Anwender kann dann die Lese- und Schreibteile
auf verschiedene Einrichtungen oder auf verschiedene Programme verteilen, z.
B. unter der Verwendung der oben beschriebenen Assoziierungstechniken.
Somit kann ein Schreibteil der asynchronen Datenflussverknüpfung in
einem ersten Blockdiagramm dahingehend wirken um Daten zu dem Queue
zu schreiben und ein Leseteil eines zweiten unterschiedlichen Blockdiagramms
kann dahingehend wirken, um Daten von diesem Queue zu lesen. Dieses
Lesen und Schreiben kann asynchron zueinander stattfinden. Dies
erlaubt es einem ersten Blockdiagramm Daten zu einem zweiten Blockdiagramm
zu kommunizieren, wobei die Daten asynchron hinsichtlich dieses
zweiten Blockdiagramms kommuniziert werden können. Dieser asynchrone Datenfluss
kann auch für
eine bidirektionale Kommunikation konfiguriert sein, d. h. mit Lesern
und Schreibern in sowohl den ersten als auch den zweiten Blockdiagrammen
oder graphischen Programmen. Dieser asynchrone Datenfluss kann insbesondere
zwischen einem Computersystem und einer entfernten Einrichtung wünschenswert
sein.
-
Mit
einfachen graphischen Werkzeugen hilft das vorliegende System daher
einem Anwender ein System auszuwählen
und zu managen wie beispielsweise ein Messsystem (beispielsweise
ein Datenerfassungssystem) über
dessen komplette Lebensdauer. Die hierin beschriebenen Werkzeuge
erlauben es dem Anwender komplette Systeme auszuwählen und zu
bestellen, inklusive Sensoren, Signalkonditionierung, Datenerfassung.
industrielle Computer und Software (inklusive Maschinenbetrachtung,
Bewegungssteuerung, etc.). Das Konfigurationsdiagramm, welches auf
Computer 82 abgebildet ist, kann z. B. von einem Anwender
verwendet werden um beim Bestellen von Einrichtungen oder Programmen
von einer elektronischen kommerziellen Seite zu bestellen, die von
einem Servercomputer 90 präsentiert wird. Das System kann
auch betrieben werden um sicherzustellen, dass alle Komponenten
miteinander kompatibel sind und dass alle benötigten Teile bestellt werden,
um den Anwender in die Lage zu versetzen das System schnell zum
Laufen zu bringen.
-
Das
vorliegende System kann auch dazu genutzt werden um dem Anwender
beim Verbinden seines/ihres Systems miteinander zu helfen, indem
Kabeldiagramme bereitgestellt werden, um zu verstehen, wie Sensoren,
Signalkonditionierung und Datenerfassungshardware miteinender verbunden
sind. Das vorliegende System hilft Polaritätsprobleme zu vermeiden, Erdungsstromschleifen
und fehlende Verbindungen. Das System kann sogar bei Anforderungen
hinsichtlich der Sensoransteuerung helfen. Eine Ausführungsform
der Erfindung erlaubt es dem Anwender seine/ihre eigenen individuellen
Kabelschnittstellen zu designen.
-
In
einer Ausführungsform
beginnt das vorliegende System mit der graphischen Systembeschreibung
des Anwenders und konfiguriert automatisch leicht zu verwendende
DAQ Kanal Namen, wobei eine Sensorskalierung und eine Einheitsinformation eingebaut
ist. Ein Konfigurationsprogramm, wie beispielsweise Measurement & Automation Explorer von
National Instruments Corporation, kann jeden der Eingangs- und Ausgangskanäle verifizieren,
in Einheiten oder durch Lesen der hohen Spannungen.
-
Das
vorliegende System kann auch betrieben werden um die Messqualitätscharakteristiken von
konfigurierten Einrichtungen zu analysieren, um den Anwender dabei
zu unterstützen
die Gesamtmessunsicherheit in dem System zu verstehen und zu dokumentieren
unter Verwendung von Formeln und Terminologien, wie sie in der Industrie
Standard sind. Dies informiert den Anwender über die Qualität der Messungen.
-
Während der
Anwender ein System konstruiert machen es die graphischen Werkzeuge
des vorliegenden Systems für
den Anwender einfach das System zu dokumentieren – unabhängig davon
ob die Dokumentation des Systems für den Anwender ist oder ob
sie dazu gedacht ist strenge firmeninterne oder gesetzgeberische
Standards zu erfüllen.
Anlagendaten können
lokal oder in einer Vielzahl von SQL kompatiblen Datenbanken gespeichert
werden. Der Anwender kann eine vollständige Kontrolle über das
Format von erzeugten Berichten haben. Eine Anzahl von Vordrucken
ist enthalten, wie beispielsweise Kalibrierungsberichte und Finanz
Asset Management.
-
Das
vorliegende System kann auch die Wartung des Systems vereinfachen.
Das System kann dahingehend wirken und den Anwender daran zu erinnern,
wenn Einrichtungen re-kalibriert werden müssen. Das System kann sogar
konfiguriert werden um zu verhindern, dass der Anwender Messungen
mit Einrichtungen durchführt,
deren Kalibrierungszertifikate abgelaufen sind.
-
Das
vorliegende System kann auch dem Anwender dabei helfen Systeme anzuwenden,
während der
Anwender von dem R & D
Labor zur Produktionsebene geht. Die Netzwerkanwendungswerkzeuge des
vorliegenden Systems machen es einfach die Systemkonfiguration von
einer oder mehreren Zielmaschinen zu replizieren. Das System kann
dahingehend wirken um Informationen über die physikalischen Anlagen
zu aktualisieren, die mit jeder angewandten Maschine verbunden sind – wie beispielsweise
die Seriennummern der Einrichtungen und Kalibrie rungsdaten. Das
System kann auch Konfigurationsmanagementwerkzeuge umfassen, die
verifizieren, dass alle Änderungen
an einem System gespeichert werden.
-
Daher
bietet das System eine Vielzahl von Vorteilen für den Anwender. Das vorliegende
System erlaubt es dem Anwender eine graphische Beschreibung (Konfigurationsdiagramm)
von seinem/ihrem physischen System zu erzeugen. Der Anwender kann
dahingehend wirken um Sensoren, Signalkonditionierungseinrichtungen,
Datenerfassungshardwareeinrichtungen, Messeinrichtungen, Automatisierungseinrichtungen,
etc., für
das angewandte System auszuwählen.
-
Verschiedene
andere Merkmale einer Ausführungsform
der Erfindung sind die folgenden:
Das System benötigt keine
Hardware um betrieben zu werden.
-
Das
System erzeugt individuelle DAQ Kanäle für die Eingaben und Ausgaben
des Anwenders.
-
Das
System verifiziert, dass die Elemente oder Teile des Konfigurationsdiagramms
kompatibel sind.
-
Das
System kann bei der Verkabelung helfen.
-
Der
Anwender kann sein Diagramm mit zusätzlichen freien Informationen
versehen. Das System kann Hardware untersuchen um sein System weiter
zu dokumentieren. Das System kann beispielsweise Hardware für Transducer
Electronic Data Sheets (TEDS) nachfragen, Kalibrierungsdaten, Seriennummern,
etc. Der Anwender kann dieselben Daten manuell bereitstellen.
-
Das
System erzeugt/modifiziert Skalierungsinformationen für die DAQ
Kanäle
basierend auf den TEDS.
-
Das
System kann einem Anwender beim Erzeugen eines virtuellen TEDS für seinen
Sensor helfen. (Physical Metrology).
-
Der
Anwender kann Berichte erzeugen, welche diese Daten anzeigen. Die
Anzeigenformate können
von dem Anwender definiert werden und das System wird mit mehreren
Beispielvorlagen versandt.
-
Das
System kann als ein Werkzeug für
Betriebsaktivitäten
vor dem Verkauf verwendet werden oder als ein elektronisches Verkaufswerkzeug,
welches Spezifikationen und Validierungsinformationen von Kundenbestellungen
enthält.
-
Das
System kann einem Anwender dabei helfen end-to-end Kalibrierungen
durchzuführen.
-
Das
System kann einem Anwender dabei helfen seine Dokumentation zu modifizieren
wenn ein System angewandt wird – z.
B. Hardwareinformationen wiederzuentdecken, den Anwender schrittweise
durch eine physikalische oder eine end-to-end Kalibrierung zu führen, etc.
-
Das
System informiert den Anwender wenn eine Kalibrierung ansteht. Der
Anwender kann das System konfigurieren um Warnungen zu produzieren wenn
eine Kalibrierung überfällig ist
oder es kann vollständig
seinen Dienst einstellen.
-
Das
System kann Messqualitätsinformationen
von den Sensoren, Konditionier- und
DAQ Baugruppen kombinieren um eine Gesamtfehlerschätzung zu
erzeugen. Das System kann den Anwender dabei unterstützen Messunsicherheiten
in Übereinstimmung
mit einer Vielzahl von Industrie- und gesetzlichen Standards auszudrücken.
-
Der
Anwender kann individuelle Kabelschnittstellen zwischen DAQ Hardware
und Sensoren designen.
-
Das
System handhabt Mess- und Eigenschaftsverwaltung. Das System speichert
nicht nur Kalibrierungsinformationen sondern kann auch über das
Inventar. die Zuverlässigkeit
von Daten, Finanzaufzeichnungen, etc. berichten (alternativ kann das
System mit Objektmanagement-Tools von Drittanbietern zusammenwirken
wie z. B. Fluke's MET//TRACK
oder MET/CAL.)
-
Das
System unterstützt
Konfigurationsmanagement. Das System speichert zumindest alle Änderungen
an dem System aber kann auch unterschiedliche Ebenen an Nutzerzugriff
erlauben. Das System kann mit Anwendungswerkzeugen integriert werden,
so dass Änderungen
auf Grund von Anwendungen gut gehandhabt werden.
-
Obwohl
die oben beschriebenen Ausführungsformen
in großem
Detail beschrieben wurden, werden dem Fachmann eine Vielzahl von
Variationen und Modifikationen einfallen, nachdem er die obige Offenbarung
voll verstanden hat. Es ist angedacht, dass die folgenden Ansprüche so interpretiert
werden um alle derartigen Variationen und Modifikationen zu umfassen.