DE60223593T2 - Graphische konfiguration von programmaktievirungsbeziehungen - Google Patents

Graphische konfiguration von programmaktievirungsbeziehungen Download PDF

Info

Publication number
DE60223593T2
DE60223593T2 DE60223593T DE60223593T DE60223593T2 DE 60223593 T2 DE60223593 T2 DE 60223593T2 DE 60223593 T DE60223593 T DE 60223593T DE 60223593 T DE60223593 T DE 60223593T DE 60223593 T2 DE60223593 T2 DE 60223593T2
Authority
DE
Germany
Prior art keywords
program
icon
user
programs
icons
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE60223593T
Other languages
English (en)
Other versions
DE60223593D1 (de
Inventor
Jeffrey L. Austin KODOSKY
Darshan Round Rock SHAH
Steven W. Austin ROGERS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Instruments Corp
Original Assignee
National Instruments Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27381424&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=DE60223593(T2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority claimed from US10/113,987 external-priority patent/US7984423B2/en
Application filed by National Instruments Corp filed Critical National Instruments Corp
Application granted granted Critical
Publication of DE60223593D1 publication Critical patent/DE60223593D1/de
Publication of DE60223593T2 publication Critical patent/DE60223593T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Debugging And Monitoring (AREA)
  • Image Generation (AREA)
  • Image Processing (AREA)

Description

  • 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;
  • 1518, 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 1520 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 1520 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 912 beschrieben und der Bildschirmkopien der 1520. 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 912 beschrieben und der Bildschirmkopien der 1520.
  • 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 1520 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 1520, 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 1517 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 404A404D. 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.

Claims (39)

  1. Ein Verfahren zum Anwenden eines Programms in einem System, wobei das Verfahren auf einem ersten Computersystem (82) ausgeführt wird, das Verfahren weist die folgenden Schritte auf Anzeigen einer Mehrzahl von Programm-Piktogrammen (402, 404) auf einer Anzeige von dem ersten Computersystem (82), wobei jedes von den Programm-Piktogrammen (402, 404) mindestens einem Programm entspricht; Anzeigen eines Einrichtungs-Piktogramms (412) auf der Anzeige von dem ersten Computersystem (82), wobei das Einrichtungs-Piktogramm (412) einer Einrichtung in dem System entspricht, wobei die Einrichtung an das erste Computersystem (82) gekoppelt ist; dadurch gekennzeichnet, dass das Verfahren auch die folgenden Schritte aufweist: Zuordnen eines ersten Programm-Piktogramms (404) von der Mehrzahl von Programm-Piktogrammen (402, 404) zu dem Einrichtungs-Piktogramm (412) als Antwort auf Benutzereingabe, wobei das erste Programm-Piktogramm (404) einem ersten Programm in der Anwendung entspricht, wobei das erste Programm konfiguriert ist, um von einem zweiten Programm aufgerufen zu werden; Anwenden des ersten Programms auf der Einrichtung als Antwort auf das Zuordnen; und automatisches Modifizieren des zweiten Programms zum Aufrufen des ersten Programms auf der Einrichtung als Antwort auf das Zuordnen; wobei während dem Ausführen das zweite Programm geeignet ist das erste Programm auf der Einrichtung aufzurufen; und wobei das erste Programm auf der Einrichtung ausgeführt wird nachdem es durch das zweite Programm aufgerufen wurde.
  2. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, weiter aufweisend: wobei das Anzeigen einer Mehrzahl von Programm-Piktogrammen (402, 404) aufweist, das Anzeigen eines zweiten Programm-Piktogramms (402) auf der Anzeige welches dem zweiten Programm entspricht; Anzeigen eines Verknüpfungs-Piktogramms (405) zwischen dem zweiten Programm-Piktogramm (402) und dem ersten Programm-Piktogramm (404) vor dem Zuordnen, wobei das Verknüpfungs-Piktogramm (405) sichtbar anzeigt, dass das zweite Programm das erste Programm aufruft; Anzeigen des Verknüpfungs-Piktogramms (405) zwischen dem zweiten Programm-Piktogramm (402) und dem Einrichtungs-Piktogramm (412) nach dem Zuordnen, wobei das Verknüpfungs-Piktogramm (405) sichtbar anzeigt, dass das zweite Programm das erste Programm auf der Einrichtung aufruft.
  3. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, weiter aufweisend: automatisches Modifizieren des zweiten Programm-Piktogramms (402) auf der Anzeige zum sichtbaren Anzeigen, dass die Anwendung das erste Programm auf der Einrichtung aufruft.
  4. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei die Mehrzahl von Programmen konfiguriert sind um gemäß einer spezifizierten Beziehung ausgeführt zu werden, wobei die Mehrzahl von Programmen eine Anwendung aufweist; wobei das Anzeigen der Mehrzahl von Programm-Piktogrammen (402, 404) auf der Anzeige aufweist, das Anzeigen der Mehrzahl von Programm-Piktogrammen (402, 404) gemäß der spezifizierten Beziehung; wobei das erste Programm aufgerufen wird durch das zweite Programm gemäß der spezifizierten Beziehung; wobei das Modifizieren aufweist, das Modifizieren des zweiten Programms in der Anwendung zum Aufrufen des ersten Programms auf der Einrichtung.
  5. Das Verfahren gemäß Anspruch 4, weiter aufweisend: Ausführen der Anwendung nach dem Anwenden; Ausführen des zweiten Programms; das zweite Programm ruft das erste Programm auf der Einrichtung während dem Ausführen aus; und das erste Programm wird auf der Einrichtung ausgeführt als Antwort auf das Aufrufen.
  6. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, weiter aufweisend: Anzeigen eines neuen Piktogramms auf der Anzeige als Antwort auf das Zuordnen, wobei das neue Piktogramm sichtbar anzeigt, dass das erste Programm auf der Einrichtung angewendet wird und ausgeführt wird auf der Einrichtung.
  7. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, Modifizieren des ersten Programm-Piktogramms (404) zum sichtbaren Anzeigen, dass das erste Programm angewendet wird auf der Einrichtung und ausgeführt wird auf der Einrichtung, wobei das Modifizieren durchgeführt wird als Antwort auf das Zuordnen.
  8. Das Verfahren gemäß Anspruch 7, wobei das Modifizieren aufweist, das Modifizieren des ersten Programm-Piktogramms (404) zum Einbinden der Datenstellung von dem Einrichtungs-Piktogramm (412).
  9. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, weiter aufweisend: Anzeigen des ersten Programm-Piktogramms (404) benachbart zu dem Einrichtungs-Piktogramm (412) nach dem Zuordnen; wobei das erste Programm-Piktogramm (404) angezeigt wird benachbart zu dem Einrichtungs-Piktogramm (412) sichtbar anzeigend, dass das erste Programm auf der Einrichtung angewendet wird.
  10. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, weiter aufweisend: Anzeigen des ersten Programm-Piktogramms (404) verbunden mit dem Einrichtungs-Piktogramm (412) nach dem Zuordnen; wobei das erste Programm-Piktogramm (404) angezeigt wird verbunden mit dem Einrichtungs-Piktogramm (412) sichtbar anzeigend, dass das erste Programm auf der Einrichtung angewendet wird.
  11. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, weiter aufweisend: Modifizieren des Einrichtungs-Piktogramms (412) als Antwort auf das Zuordnen, wobei das modifizierte Einrichtungs-Piktogramm (412) sichtbar anzeigt, dass das erste Programm auf der Einrichtung angewendet wird.
  12. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei die Mehrzahl von Programmen konfiguriert sind um gemäß einer spezifizierten Beziehung ausgeführt zu werden; wobei das Anzeigen der Mehrzahl von Programm-Piktogrammen (402, 404) auf der Anzeige aufweist, das Anzeigen der Mehrzahl von Programm-Piktogrammen (402, 404) gemäß der spezifizierten Beziehung zum sichtbaren Anzeigen der spezifizierten Beziehung von der Mehrzahl von Programmen.
  13. Das Verfahren gemäß Anspruch 12, wobei die spezifizierte Beziehung aufweist, eine von einer Objektorientierten Beziehung oder einer hierarchischen Beziehung.
  14. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei die Mehrzahl von Programmen konfiguriert sind, um gemäß einer spezifizierten Beziehung ausgeführt zu werden; wobei das erste Programm konfiguriert ist zum Rufen eines oder mehrerer zweiter Programme gemäß der spezifizierten Beziehung; wobei das Anwenden aufweist, das Anwenden des ersten Programms und der ein oder mehreren zweiten Programme auf der Einrichtung als Antwort auf das Zuordnen.
  15. Das Verfahren gemäß Anspruch 14, wobei die ein oder mehreren zweiten Programme entsprechende ein oder mehrere zweite Programm-Piktogramme (402) aufweisen; das Verfahren weist weiter die folgenden Schritte auf Anzeigen des ersten Programm-Piktogramms (404) und die ein oder mehreren zweiten Programm-Piktogramme (402) benachbart zu dem Einrichtungs-Piktogramm (412) als Antwort auf das Zuordnen; wobei das erste Programm-Piktogramm (404) und die ein oder mehreren zweiten Programm-Piktogramme (402) angezeigt wird benachbart zu dem Einrichtungs-Piktogramm (412) sichtbar anzeigend, dass das erste Programm und die ein oder mehreren zweiten Programme auf der Einrichtung angewendet werden.
  16. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei die Mehrzahl von Programmen konfiguriert sind, um gemäß einer Hierarchie ausgeführt zu werden; wobei das Anzeigen der Mehrzahl von Programm-Piktogrammen (402, 404) auf der Anzeige aufweist, das Anzeigen der Mehrzahl von Programm-Piktogrammen (402, 404) gemäß der Hierarchie zum sichtbaren Anzeigen der Ausführungshierarchie von der Mehrzahl von Programmen; wobei das erste Programm geeignet ist zum Rufen von einem oder mehreren Programmen auf niedriger Ebene der Ausführungshierarchie, wobei die ein oder mehreren niedrigere-Ebene-Programme entsprechende ein oder mehrere niedrigere-Ebene-Programm-Piktogramme beinhalten; das Verfahren weist weiter die folgenden Schritte auf: Anzeigen des ersten Programm-Piktogramms (404) und der ein oder mehrere niedrigere-Ebene-Programm-Piktogramme benachbart zu dem Einrichtungs-Piktogramm (412) als Antwort auf das Zuordnen; wobei das erste Programm-Piktogramm (404) und die ein oder mehrere niedrigere-Ebene-Programm-Piktogramme angezeigt werden benachbart zu dem Einrichtungs-Piktogramm (412) sichtbar anzeigend, dass das erste Programm und die ein oder mehrere niedrigere-Ebene-Programm-Piktogramme auf der Einrichtung angewendet werden.
  17. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei die Mehrzahl von Programmen eine Anwendung aufweisen, das Verfahren weist weiter die folgenden Schritte auf: Modifizieren der Anwendung zum Aufrufen des ersten Programms auf der Einrichtung als Antwort auf das Zuordnen; Ausführen der Anwendung nach dem Anwenden; die Anwendung ruft das erste Programm auf der Einrichtung während dem Ausführen auf; und das erste Programm wird auf der Einrichtung ausgeführt.
  18. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei das erste Programm einen ersten Programmtyp hat, das Verfahren weist weiter die folgenden Schritte auf: Bestimmen des ersten Programmtyps von dem ersten Programm; Bestimmen der ein oder mehreren Programmtypen, die von der Einrichtung unterstützt werden; Bestimmen ob die Einrichtung mit dem ersten Programmtyp von dem ersten Programm kompatibel ist; Konvertieren des ersten Programms zu einem anderen Programmtyp, der von der Einrichtung unterstützt wird, wenn die Einrichtung mit dem ersten Programmtyp von dem ersten Programm nicht kompatibel ist.
  19. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei das Zuordnen von dem ersten Programm-Piktogramm (404) von der Mehrzahl von Programm-Piktogrammen (402, 404) zu dem Einrichtungs-Piktogramm (412) als Antwort auf Benutzereingabe aufweist, das Ziehen und Fallenlassen des ersten Programm-Piktogramms (404) auf das Einrichtungs-Piktogramm (412).
  20. Das Verfahren gemäß Anspruch 19, wobei das Ziehen und Fallenlassen des ersten Programm-Piktogramms (404) auf das Einrichtungs-Piktogramm (412) beinhaltet, das Empfangen von weiterer Benutzereingabe die angibt, dass das erste Programm auf der Einrichtung angewendet werden soll.
  21. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, weiter aufweisend: Installieren eines neuen Programms auf dem ersten Computersystem (82); automatisches Erkennen des neuen Programms installiert auf dem ersten Computersystem (82); automatisches Anzeigen eines neuen Programm-Piktogramms auf der Anzeige entsprechend dem neuen Programm.
  22. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, weiter aufweisend: Anzeigen eines ersten Computersystem-Einrichtungs-Piktogramms (412) entsprechend zu dem ersten Computersystem (82); wobei die Mehrzahl von Programm-Piktogrammen (402, 404) benachbart zu dem ersten Computersystem-Einrichtungs-Piktogramm (412) angezeigt werden.
  23. Das Verfahren gemäß Anspruch 22, weiter aufweisend: Installieren eines neuen Programms auf dem ersten Computersystem (82); automatisches Erkennen des neuen Programms installiert auf dem ersten Computersystem (82); automatisches Anzeigen eines neuen Programm-Piktogramms auf der Anzeige entsprechend dem neuen Programm; wobei das neue Programm-Piktogramm benachbart zu dem ersten Computersystem-Einrichtungs-Piktogramm (412) angezeigt wird.
  24. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, weiter aufweisend: Koppeln einer neuen Einrichtung an das System; automatisches Erkennen der neuen Einrichtung gekoppelt an das System; automatisches Anzeigen eines neuen Einrichtungs-Piktogramms auf der Anzeige entsprechend der neuen Einrichtung.
  25. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei die Mehrzahl von Programmen ein oder mehrere graphische Programme beinhalten.
  26. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei das System ein Messsystem (100) ist, wobei die Einrichtung eine Messeinrichtung (112, 116, 118, 122, 124, 132, 136, 142) ist; wobei das erste Programm eine Messfunktion durchführt; das Verfahren weist weiter die folgenden Schritte auf: das erste Programm wird auf der Messeinrichtung (112, 116, 118, 122, 124, 132, 136, 142) ausgeführt zum Erfassen eines Signals; die Messeinrichtung (112, 116, 118, 122, 124, 132, 136, 142) stellt dem ersten Computersystem (82) das Signal bereit; das erste Computersystem (82) wird ausgeführt zum Analysieren und/oder Anzeigen des Signals.
  27. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei die Mehrzahl von Programmen eine Messanwendung aufweist; wobei das System ein Messsystem (100) ist, wobei die Einrichtung eine Messeinrichtung (112, 116, 118, 122, 124, 132, 136, 142) ist; wobei das erste Programm eine Messfunktion durchführt; das Verfahren weist weiter die folgenden Schritte auf: Beginnen mit dem Ausführen von der Messanwendung auf dem ersten Computersystem (82) nach dem Anwenden; Aufrufen des ersten Programms auf der Messeinrichtung (112, 116, 118, 122, 124, 132, 136, 142) während dem Ausführen; das erste Programm auf der Messeinrichtung (112, 116, 118, 122, 124, 132, 136, 142) wird ausgeführt zum Erfassen eines Signals; die Messeinrichtung (112, 116, 118, 122, 124, 132, 136, 142) stellt dem ersten Computersystem (82) das Signal bereit; das erste Computersystem (82) wird ausgeführt zum Analysieren und/oder Anzeigen des Signals.
  28. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei das System ein Automatisierungssystem (160) ist, wobei die Einrichtung eine Automatisierungseinrichtung (118, 124, 132, 136, 170, 176, 182, 185) ist, wobei das erste Programm eine Automatisierungsfunktion durchführt; das Verfahren weist weiter die folgenden Schritte auf: das erste Programm wird auf der Automatisierungseinrichtung (118, 124, 132, 136, 170, 176, 182, 185) ausgeführt zum Erfassen eines Signals; die Automatisierungseinrichtung (118, 124, 132, 136, 170, 176, 182, 185) stellte dem ersten Computersystem (82) das Signal bereit; wobei die Automatisierungsanwendung auf dem ersten Computersystem (82) ausgeführt wird zum Durchführen einer Automatisierungsfunktion.
  29. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei das Anzeigen von der Mehrzahl von Programm-Piktogrammen (402, 404) und das Anzeigen des Einrichtungs-Piktogramms (412) aufweist, das Anzeigen eines Konfigurationsdiagramms auf der Anzeige.
  30. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei das System eine Mehrzahl von Einrichtungen aufweist, weiter aufweisend: Anzeigen einer Mehrzahl von Einrichtungs-Piktogrammen (412) entsprechend zu jeweiligen von der Mehrzahl von Einrichtungen in dem System; Anzeigen von Verbindungen zwischen der Mehrzahl von Einrichtungs-Piktogrammen (412), wobei die angezeigten Verbindungen Kopplungen zwischen der Mehrzahl von Einrichtungen entsprechen.
  31. Das Verfahren gemäß Anspruch 30, weiter aufweisend: wobei das Anzeigen der Mehrzahl von Programm-Piktogrammen (402, 404) aufweist, das Anzeigen der Programm-Piktogramme (402, 404) benachbart zu jeweiligen von der Mehrzahl von Einrichtungs-Piktogrammen (412), wobei jedes von den Programm-Piktogrammen (402, 404) einem von der Mehrzahl von Programmen entspricht, wobei jedes jeweilige Programm-Piktogramm (402, 404) benachbart zu einem jeweiligen Einrichtungs-Piktogramm (412) angezeigt wird zum Anzeigers, dass das jeweilige Programm das dem jeweiligen Programm-Piktogramm (402, 404) entspricht auf der jeweiligen Einrichtung gespeichert ist.
  32. Das Verfahren gemäß Anspruch 30, wobei jedes Einrichtungs-Piktogramm (412) eine Darstellung hat welche sichtbar einen Typ von der jeweiligen Einrichtung, die dem Einrichtungs-Piktogramm (412) entspricht, anzeigt.
  33. Das Verfahren gemäß Anspruch 30, wobei jedes Programm-Piktogramm (402, 404) eine Darstellung hat welche sichtbar einen Typ von dem jeweiligen Programm, das dem Programm-Piktogrammen (402, 404) entspricht, anzeigt.
  34. Das Verfahren gemäß Anspruch 30, wobei das erste Programm ein Unterprogramm von dem zweiten Programm ist.
  35. Das Verfahren gemäß jeglichem von den vorhergehenden Ansprüchen, wobei das Anzeigen einer Mehrzahl von Programm-Piktogrammen (402, 404) aufweist, das Anzeigen eines Blockdiagramms, wobei das Blockdiagramm eine Mehrzahl von miteinander verbundenen Knoten aufweist, welche die Funktionalität sichtbar anzeigen, wobei die Mehrzahl von Programm-Piktogrammen (402, 404) zumindest eine Untermenge von den Knoten aufweist; wobei das erste Programm-Piktogramm (404) ein erster Knoten in dem Blockdiagramm ist.
  36. Das Verfahren gemäß Anspruch 35, wobei das zweite Programm das Blockdiagramm ist, wobei das Blockdiagramm das erste Programm aufruft wenn der erste Knoten in dem Blockdiagramm ausgeführt wird.
  37. Das Verfahren gemäß Anspruch 36, wobei das Blockdiagramm ein Datenflussdiagramm ist.
  38. Ein System, welches das Verfahren gemäß jeglichem von Ansprüchen 1 bis 37 implementiert.
  39. Ein Speichermedium, welches ein Computerprogramm speichert, dass das Verfahren gemäß jeglichem von Ansprüchen 1 bis 37 implementiert.
DE60223593T 2001-08-14 2002-07-18 Graphische konfiguration von programmaktievirungsbeziehungen Expired - Lifetime DE60223593T2 (de)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US31224201P 2001-08-14 2001-08-14
US312242P 2001-08-14
US113987 2002-04-01
US10/113,987 US7984423B2 (en) 2001-08-14 2002-04-01 Configuration diagram which displays a configuration of a system
US10/176,726 US8290762B2 (en) 2001-08-14 2002-06-21 Graphically configuring program invocation relationships by creating or modifying links among program icons in a configuration diagram
US176726 2002-06-21
PCT/US2002/022717 WO2003017093A2 (en) 2001-08-14 2002-07-18 Graphically configuring program invocation relationships

Publications (2)

Publication Number Publication Date
DE60223593D1 DE60223593D1 (de) 2007-12-27
DE60223593T2 true DE60223593T2 (de) 2008-09-18

Family

ID=27381424

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60223593T Expired - Lifetime DE60223593T2 (de) 2001-08-14 2002-07-18 Graphische konfiguration von programmaktievirungsbeziehungen

Country Status (5)

Country Link
US (1) US8290762B2 (de)
EP (1) EP1461692B1 (de)
AT (1) ATE378630T1 (de)
DE (1) DE60223593T2 (de)
WO (1) WO2003017093A2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663256B2 (en) 2021-06-15 2023-05-30 Kyndryl, Inc. Searching data repositories using pictograms and machine learning

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7302675B2 (en) * 2001-08-14 2007-11-27 National Instruments Corporation System and method for analyzing a graphical program using debugging graphical programs
US7275235B2 (en) * 2001-08-29 2007-09-25 Molinari Alfred A Graphical application development system for test, measurement and process control applications
US8078973B1 (en) * 2002-06-25 2011-12-13 Cypress Semiconductor Corporation Visual indication of a device connection speed
US20040133853A1 (en) * 2002-09-23 2004-07-08 Colleen Poerner System and method for navigating an HMI
US20050005093A1 (en) * 2003-07-01 2005-01-06 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
US20070162957A1 (en) * 2003-07-01 2007-07-12 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
US20080109889A1 (en) * 2003-07-01 2008-05-08 Andrew Bartels Methods, systems and devices for securing supervisory control and data acquisition (SCADA) communications
EP1665034B1 (de) * 2003-08-13 2017-03-22 National Instruments Corporation Erzeugung einer graphischen benutzeroberfläche für gewählte parameter eines graphischen programms
US20050229153A1 (en) * 2004-04-07 2005-10-13 International Business Machines Corporation Method, apparatus, and program for application design based on diagram specialization
US7849440B1 (en) * 2004-04-16 2010-12-07 The Mathworks, Inc. Real-time code preview for a model based development process
US7500237B1 (en) * 2004-08-16 2009-03-03 Sun Microsystems, Inc. Installation builder integrated development environment
US10216372B1 (en) * 2004-12-06 2019-02-26 The Mathworks, Inc. Automatic import to a graphical model
US8855981B2 (en) * 2004-12-13 2014-10-07 The Mathworks, Inc. Tools for system-level design environments
US8812269B1 (en) * 2004-12-13 2014-08-19 The Mathworks, Inc. Dynamic range assessment in block diagram systems
DE102004062434A1 (de) * 2004-12-20 2006-06-22 Abb Research Ltd. System und Verfahren zum automatischen Aktualisieren von Funktionalitäten in einem verteilten Netzwerk
US20060174243A1 (en) * 2005-01-31 2006-08-03 Gregory Brewer Application software installation prequalification system and method
WO2006130684A2 (en) * 2005-05-31 2006-12-07 Testquest, Inc. Systems and methods for automated testing
US8145737B2 (en) * 2005-12-30 2012-03-27 Microsoft Corporation Implementing computer application topologies on virtual machines
US7774446B2 (en) * 2005-12-30 2010-08-10 Microsoft Corporation Discovering, defining, and implementing computer application topologies
US9727604B2 (en) * 2006-03-10 2017-08-08 International Business Machines Corporation Generating code for an integrated data system
US7689576B2 (en) * 2006-03-10 2010-03-30 International Business Machines Corporation Dilation of sub-flow operators in a data flow
US9361137B2 (en) * 2006-03-10 2016-06-07 International Business Machines Corporation Managing application parameters based on parameter types
US7689582B2 (en) 2006-03-10 2010-03-30 International Business Machines Corporation Data flow system and method for heterogeneous data integration environments
RU2417391C2 (ru) * 2006-08-24 2011-04-27 Сименс Энерджи Энд Отомейшн, Инк. Устройства, системы и способы конфигурирования программируемого логического контроллера
US7668608B2 (en) * 2006-09-01 2010-02-23 Fisher-Rosemount Systems, Inc. Graphical programming language object editing and reporting tool
US8099725B2 (en) 2006-10-11 2012-01-17 International Business Machines Corporation Method and apparatus for generating code for an extract, transform, and load (ETL) data flow
US8160999B2 (en) * 2006-12-13 2012-04-17 International Business Machines Corporation Method and apparatus for using set based structured query language (SQL) to implement extract, transform, and load (ETL) splitter operation
US8219518B2 (en) 2007-01-09 2012-07-10 International Business Machines Corporation Method and apparatus for modelling data exchange in a data flow of an extract, transform, and load (ETL) process
US20080270444A1 (en) * 2007-04-24 2008-10-30 International Business Machines Corporation System, method and tool for web-based interactive graphical visualization and authoring of relationships
US7853669B2 (en) 2007-05-04 2010-12-14 Microsoft Corporation Mesh-managing data across a distributed set of devices
US20090106001A1 (en) * 2007-10-17 2009-04-23 Atomic Energy Council - Institute Of Nuclear Energy Research Digital I&C software failure simulation test facility
DE102008017289B4 (de) * 2008-03-03 2021-10-14 Rohde & Schwarz GmbH & Co. Kommanditgesellschaft Anpassbares Messgerät und Verfahren zur Anpassung
US9298747B2 (en) * 2008-03-20 2016-03-29 Microsoft Technology Licensing, Llc Deployable, consistent, and extensible computing environment platform
US9753712B2 (en) * 2008-03-20 2017-09-05 Microsoft Technology Licensing, Llc Application management within deployable object hierarchy
US8572033B2 (en) * 2008-03-20 2013-10-29 Microsoft Corporation Computing environment configuration
US8484174B2 (en) * 2008-03-20 2013-07-09 Microsoft Corporation Computing environment representation
US20090248737A1 (en) * 2008-03-27 2009-10-01 Microsoft Corporation Computing environment representation
US8812252B2 (en) * 2008-04-21 2014-08-19 Simphotek, Inc. Determining the interaction between electromagnetic radiation and a material by utilizing transition modules
US8924876B1 (en) * 2008-09-29 2014-12-30 Emc Corporation File-driven drag and drop
US8819570B2 (en) * 2009-03-27 2014-08-26 Zumobi, Inc Systems, methods, and computer program products displaying interactive elements on a canvas
US8438534B2 (en) * 2009-12-29 2013-05-07 Microgen Aptitude Limited Transformation of data between hierarchical data formats
US20120030496A1 (en) * 2010-07-30 2012-02-02 Sundeep Chandhoke Specification of Isochronous Data Transfer in a Graphical Programming Language
US9600785B2 (en) * 2011-01-31 2017-03-21 International Business Machines Corporation Automatically generated and updated graphical rendering of processes
DE102011107646A1 (de) * 2011-07-12 2013-01-17 Phoenix Contact Gmbh & Co. Kg Verfahren und System zur dynamischen Verteilung von Programmfunktionen in verteilten Steuerungssystemen
DE102012218363A1 (de) * 2012-10-09 2014-04-10 Continental Automotive Gmbh Verfahren zur Steuerung eines getrennten Ablaufs von verknüpften Programmblöcken und Steuergerät
US9665088B2 (en) 2014-01-31 2017-05-30 Fisher-Rosemount Systems, Inc. Managing big data in process control systems
US10223327B2 (en) 2013-03-14 2019-03-05 Fisher-Rosemount Systems, Inc. Collecting and delivering data to a big data machine in a process control system
US10678225B2 (en) 2013-03-04 2020-06-09 Fisher-Rosemount Systems, Inc. Data analytic services for distributed industrial performance monitoring
US9558220B2 (en) 2013-03-04 2017-01-31 Fisher-Rosemount Systems, Inc. Big data in process control systems
US10649449B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10866952B2 (en) 2013-03-04 2020-12-15 Fisher-Rosemount Systems, Inc. Source-independent queries in distributed industrial system
US10649424B2 (en) 2013-03-04 2020-05-12 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics
US10386827B2 (en) 2013-03-04 2019-08-20 Fisher-Rosemount Systems, Inc. Distributed industrial performance monitoring and analytics platform
US10282676B2 (en) 2014-10-06 2019-05-07 Fisher-Rosemount Systems, Inc. Automatic signal processing-based learning in a process plant
US10909137B2 (en) 2014-10-06 2021-02-02 Fisher-Rosemount Systems, Inc. Streaming data for analytics in process control systems
US10649413B2 (en) 2013-03-15 2020-05-12 Fisher-Rosemount Systems, Inc. Method for initiating or resuming a mobile control session in a process plant
US10296668B2 (en) 2013-03-15 2019-05-21 Fisher-Rosemount Systems, Inc. Data modeling studio
US20140359590A1 (en) * 2013-05-30 2014-12-04 National Instruments Corporation Development and Deployment of Parallel Floating-Point Math Functionality on a System with Heterogeneous Hardware Components
US20150120224A1 (en) 2013-10-29 2015-04-30 C3 Energy, Inc. Systems and methods for processing data relating to energy usage
US9575639B2 (en) * 2014-02-27 2017-02-21 Ab Initio Technology Llc Compound controls
US10168691B2 (en) 2014-10-06 2019-01-01 Fisher-Rosemount Systems, Inc. Data pipeline for process control system analytics
US10817530B2 (en) * 2015-01-23 2020-10-27 C3.Ai, Inc. Systems, methods, and devices for an enterprise internet-of-things application development platform
US10198467B2 (en) * 2015-07-31 2019-02-05 Vmware, Inc. Policy framework user interface
CN106879077A (zh) * 2015-12-14 2017-06-20 手持产品公司 简单的wi-fi连接系统和方法
US10313202B2 (en) * 2016-01-06 2019-06-04 LiveView Technologies, LLC Dynamically mapping network addresses
US9935916B2 (en) * 2016-01-06 2018-04-03 LiveView Technologies, LLC Dynamically mapping network addresses
US10503483B2 (en) 2016-02-12 2019-12-10 Fisher-Rosemount Systems, Inc. Rule builder in a process control network
US10713015B2 (en) * 2016-05-15 2020-07-14 Servicenow, Inc. Visual programming system
CN106227607B (zh) * 2016-08-03 2020-01-24 青岛海信电器股份有限公司 终端中硬件设备的分配方法和装置
US11126411B2 (en) * 2018-12-13 2021-09-21 Sap Se Dashboard user interface for data driven applications
US11907755B2 (en) 2019-11-22 2024-02-20 Rohde & Schwarz Gmbh & Co. Kg System and method for distributed execution of a sequence processing chain
US11448521B2 (en) 2019-11-29 2022-09-20 Rohde & Schwarz Gmbh & Co. Kg System and method for performing measurements in a modular application environment
US20220100181A1 (en) * 2020-09-28 2022-03-31 Rockwell Automation Technologies, Inc. Wiring diagram manager and emulator
CN114595007A (zh) * 2022-05-10 2022-06-07 深圳传音控股股份有限公司 操作方法、智能终端及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5610828A (en) * 1986-04-14 1997-03-11 National Instruments Corporation Graphical system for modelling a process and associated method
US4914568A (en) * 1986-10-24 1990-04-03 National Instruments, Inc. Graphical system for modelling a process and associated method
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US4884228A (en) * 1986-10-14 1989-11-28 Tektronix, Inc. Flexible instrument control system
US4812996A (en) * 1986-11-26 1989-03-14 Tektronix, Inc. Signal viewing instrumentation control system
US4868785A (en) * 1987-01-27 1989-09-19 Tektronix, Inc. Block diagram editor system and method for controlling electronic instruments
US5155836A (en) * 1987-01-27 1992-10-13 Jordan Dale A Block diagram system and method for controlling electronic instruments with simulated graphic display
EP0347162A3 (de) * 1988-06-14 1990-09-12 Tektronix, Inc. Einrichtung und Verfahren zum Steuern von Datenflussprozessen durch erzeugte Befehlsfolgen
US5309352A (en) 1990-05-18 1994-05-03 Tektronix, Inc. Method and system for optimizing termination in systems of programmable devices
US5630164A (en) * 1992-02-27 1997-05-13 Associative Measurements Pty. Ltd. Scientific instrument emulator having a computer and an analog signal interface for real-time signal processing
US5509352A (en) * 1994-09-23 1996-04-23 Ward Holding Company Paperboard processing machine with vacuum transfer system
JPH08241185A (ja) * 1994-11-03 1996-09-17 Motorola Inc 統合型試験および測定手段ならびにグラフィカル・ユーザ・インタフェースを採用する方法
US5812394A (en) 1995-07-21 1998-09-22 Control Systems International Object-oriented computer program, system, and method for developing control schemes for facilities
US5808920A (en) * 1996-03-19 1998-09-15 Digital Lightwave, Inc. Communications line test apparatus with an improved graphical user interface
US5828851A (en) * 1996-04-12 1998-10-27 Fisher-Rosemount Systems, Inc. Process control system using standard protocol control of standard devices and nonstandard devices
US5801942A (en) * 1996-04-12 1998-09-01 Fisher-Rosemount Systems, Inc. Process control system user interface including selection of multiple control languages
US5838563A (en) * 1996-04-12 1998-11-17 Fisher-Rosemont Systems, Inc. System for configuring a process control environment
JPH1022457A (ja) * 1996-07-03 1998-01-23 Mitsubishi Electric Corp 容量装置及び半導体装置並びにそれらの製造方法
US6064816A (en) * 1996-09-23 2000-05-16 National Instruments Corporation System and method for performing class propagation and type checking in a graphical automation client
US5987246A (en) * 1997-02-14 1999-11-16 National Instruments Corp. Graphical programming system and method including three-dimensional nodes with pre-defined input and output capabilities
US5991537A (en) * 1997-09-16 1999-11-23 The United States Of America As Represented By The Secretary Of The Navy VXI test executive
US6615088B1 (en) * 1999-06-09 2003-09-02 Amx Corporation System and method of device interface configuration for a control system
US6976243B2 (en) 1999-10-05 2005-12-13 Borland Software Coporation Method and system for developing source code and displaying linked elements found within the source code
US6684385B1 (en) 2000-01-14 2004-01-27 Softwire Technology, Llc Program object for use in generating application programs
US20030088852A1 (en) * 2001-11-07 2003-05-08 Lone Wolf Technologies Corporation. Visual network operating system and methods

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663256B2 (en) 2021-06-15 2023-05-30 Kyndryl, Inc. Searching data repositories using pictograms and machine learning

Also Published As

Publication number Publication date
US20030037322A1 (en) 2003-02-20
EP1461692B1 (de) 2007-11-14
ATE378630T1 (de) 2007-11-15
EP1461692A2 (de) 2004-09-29
US8290762B2 (en) 2012-10-16
WO2003017093A3 (en) 2004-05-13
DE60223593D1 (de) 2007-12-27
WO2003017093A2 (en) 2003-02-27

Similar Documents

Publication Publication Date Title
DE60223593T2 (de) Graphische konfiguration von programmaktievirungsbeziehungen
US8185833B2 (en) Graphical deployment of a program to a device which displays the program proximate to the device
US8413118B2 (en) Configuration diagram with connections that represent physical couplings between devices
DE112005001031B4 (de) Grafisches Bildschirmkonfigurationsgerüst für vereinheitlichte Prozesssteuerungssystemoberfläche
US8055738B2 (en) Automatically generating a configuration diagram based on task requirements
DE60119171T2 (de) Verfahren und gerät zur erzeugung einer anwendung für ein automatisiertes steuerungssystem
DE102018124420A1 (de) Systeme und verfahren zur erleichterung des grafischen anzeigedesign-workflows in einer prozesssteuerungsanlage
DE102017124551A1 (de) Vorrichtung und verfahren für dynamische gerätebeschreibungssprachmenüs
DE102005018864B4 (de) Verfahren und System zum Erzeugen eines Quellcodes für ein Computerprogramm
DE4310615A1 (de) Verfahren und Vorrichtung zur Bereitstellung eines vom Benutzer konfigurierbaren Systems, welches mehrere unterschiedliche Tasks und Softwaretools vereinigt und verwaltet

Legal Events

Date Code Title Description
8363 Opposition against the patent