DE19934462A1 - Verfahren und Vorrichtung zur Programmierung unter Benutzung von Funktionsblöcken des ereignisgesteuerten Typs und Programmaufzeichnungsmedium, das ein Programm zur Ausführung des Verfahrens speichert - Google Patents

Verfahren und Vorrichtung zur Programmierung unter Benutzung von Funktionsblöcken des ereignisgesteuerten Typs und Programmaufzeichnungsmedium, das ein Programm zur Ausführung des Verfahrens speichert

Info

Publication number
DE19934462A1
DE19934462A1 DE19934462A DE19934462A DE19934462A1 DE 19934462 A1 DE19934462 A1 DE 19934462A1 DE 19934462 A DE19934462 A DE 19934462A DE 19934462 A DE19934462 A DE 19934462A DE 19934462 A1 DE19934462 A1 DE 19934462A1
Authority
DE
Germany
Prior art keywords
event
data
connection
function
created
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.)
Withdrawn
Application number
DE19934462A
Other languages
English (en)
Inventor
Yosuke Nishi
Hirotsugu Tsunematsu
Takashi Mishima
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.)
Azbil Corp
Original Assignee
Azbil 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
Application filed by Azbil Corp filed Critical Azbil Corp
Publication of DE19934462A1 publication Critical patent/DE19934462A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Verfahren zur Programmierung einer Anwendungsfunktion durch Verbindung mehrerer Funktionsblöcke vom ereignisgesteuerten Typ, von denen jeder aus einem Datenverarbeitungsblock und einem Ereignisverarbeitungsblock zusammengesetzt ist. Das Verfahren weist einen ersten Verarbeitungsschritt und einen zweiten Verarbeitungsschritt auf. Wenn eine erste Datensignalverbindung erstellt wird, um eine Verbindung zwischen ersten und zweiten Funktionsblöcken vom ereignisgesteuerten Typ zu erstellen, wird der erste Verarbeitungsschritt ausgeführt, um einen ersten, der erstellten Verbindung entsprechenden und für Datentransfer angepaßten Variablenbereich zu erstellen. In den zweiten Verarbeitungsschritt wird ein Zeiger zum Zeigen auf den ersten Variablenbereich sowohl den ersten als auch zweiten Funktionsblöcken vom ereignisgesteuerten Typ zugewiesen, so daß die ersten und zweiten Funktionsblöcke vom ereignisgesteuerten Typ Daten in den ersten Variablenbereich ausgeben und Daten von dem ersten Variablenbereich einlesen.

Description

Die vorliegende Erfindung betrifft allgemein ein Verfahren zur Programmierung einer Anwendungsfunktion unter Benutzung von Funktionsblöcken des ereignisgesteuerten Typs und genauer ein Verfahren zur Programmierung einer Anwendungsfunktion unter Benutzung von Funktionsblöcken des ereignisgesteuerten Typs, bei dem mehrere Funktionsblöcke des ereignisgesteuerten Typs, von denen jeder aus einem Datenverarbeitungsblock und einem Ereignisverarbeitungsblock zusammengesetzt ist, verbunden wer­ den, um eine Anwendungsfunktion zu bilden, und bei dem ein Zu­ sammenführen von Signalverbindungen zur effizienten Program­ mierung der Anwendungsfunktion ermöglicht ist. Die vorliegende Erfindung betrifft weiterhin ein Programmaufzeichnungsmedium, auf dem ein Programm zur Ausführung des Verfahrens gespeichert ist.
Ein Programmierverfahren, das eine als "Funktionsblock des er­ eignisgesteuerten Typs" bezeichnete schematische Darstellung benutzt, hat weite Verbreitung gefunden. Der Funktionsblock des ereignisgesteuerten Typs ist aus einem Funktionsblockteil zur Steuerung eines Datenflusses und einem Zeitsteuerungs­ blockteil zur Steuerung des Zeitablaufs des Datenflusses zu­ sammengesetzt. Der Zeitablauf des Datenflusses - dessen Steue­ rung für ein bekanntes Programmierverfahren, bei dem eine An­ wendungsfunktion nur durch Verbindung von Funktionsblöcken ge­ bildet wird, schwierig war - wird mittels Zeitablaufsteue­ rungsblöcken angepaßt, die in der gleichen Weise dargestellt werden wie Funktionsblöcke und die richtig verbunden sind.
In dem Fall, in dem eine Anwendungsfunktion durch Aufbau von Verbindungen zwischen Funktionsblöcken des ereignisgesteuerten Typs gebildet wird, muß eine Technik entwickelt werden, die eine effiziente Programmierung von Anwendungsfunktionen durch Verwirklichung einer Benutzerschnittstelle, die leicht benutzt werden kann, ermöglicht.
Spezifikationen in bezug auf die Darstellung einer Anwendungs­ funktion unter Benutzung von Funktionsblöcken des ereignisge­ steuerten Typs sind als IEC1499 definiert, jedoch noch nicht endgültig festgelegt worden.
Ein Funktionsblock des ereignisgesteuerten Typs nach dem IEC1499-Standard hat eine Grundstruktur wie in Fig. 19 ge­ zeigt. Als Antwort auf die Übermittlung eines Ereignisses wird ein einem augenblicklichen Status entsprechender Algorithmus gestartet. Der Algorithmus führt eine vorbestimmte Bearbeitung unter Benutzung von Eingabevariablen einer Dateneingabe aus. Danach setzt der Algorithmus resultierende Werte als Ausgabe­ variablen einer Datenausgabe und gibt ein Ereignis, das die Beendigung der Verarbeitung anzeigt aus. In einigen Fällen werden interne Variablen getrennt von den Eingabe-/Ausgabe­ variablen aufbereitet und der Algorithmus führt die vorbe­ stimmte Bearbeitung unter Benutzung der internen Variablen aus.
Wenn eine Anwendungsfunktion unter Benutzung von Funktions­ blöcken des ereignisgesteuerten Typs, wie in Fig. 19 gezeigt, gebildet wird, werden Verbindungen zwischen Ereignisabschnit­ ten der Funktionsblöcke des ereignisgesteuerten Typs sowie zwischen den Datenabschnitten der Funktionsblöcke des ereig­ nisgesteuerten Typs wie in Fig. 20 gezeigt erstellt.
Die in Fig. 20 gezeigte Anwendungsfunktion führt die folgende Bearbeitung in Antwort auf eine Ereigniseingabe von EIN aus. Wenn ein von IN zu dieser Zeit eingegebener Wert größer als ein konstanter Wert von 100 ist, wird die Korrekturoperation 1 ausgeführt und ein resultierender Wert als weiterzuverarbei­ tendes Datum einem folgenden Block eingegeben. Wenn der Wert kleiner als ein konstanter Wert von 0 ist, wird die Korrektu­ roperation 2 ausgeführt und ein resultierender Wert wird dem folgenden Block als weiterzuverarbeitende Daten eingegeben. Wenn der Wert zwischen 0 und 100 liegt, wird die Korrekturope­ ration 3 ausgeführt und ein resultierender Wert wird dem fol­ genden Block als weiterzuverarbeitende Daten eingegeben.
Die Spezifikationen des in Fig. 19 gezeigten Funktionsblocks des ereignisgesteuerten Typs sind untersucht worden und es wurde eine Definition für das Vorhandensein einer Gruppe von Eingabevariablen und einer Gruppe von Ausgabevariablen festge­ legt. Jedoch wurde die Art und Weise der Bereitstellung dieser Variablengruppen nicht definiert. In dem Fall, in dem die in den Fig. 19 und 20 gezeigten bekannten Funktionsblöcke des ereignisgesteuerten Typs benutzt werden, wird vermutlich eine in Fig. 21 gezeigte Struktur eingesetzt, bei der ein Varia­ blenbereich für jede der Eingabe- und Ausgabegrenzstellen (in­ put terminals and output terminals) jedes Funktionsblocks des ereignisgesteuerten Typs vorbereitet wird. In einem Beispiel­ fall, in dem zwei Funktionsblöcke FB1 und FB2 des ereignisge­ steuerten Typs wie in Fig. 21 gezeigt über Variablenbereiche verbunden sind, werden, wenn die Übermittlung eines Ereignis­ ses in einer Ausführungsstufe erfolgt, Daten in einem für die Ausgabegrenzstelle von FB1 bereitgestellten Ausgabevariablen­ bereich auf einen für die Eingabegrenzstelle von FB2 bereitge­ stellten Eingabevariablenbereich kopiert. Damit wird eine An­ wendungsfunktion verwirklicht.
Jedoch haben von den Erfindern der vorliegenden Erfindung durchgeführte Studien gezeigt, daß die in Fig. 21 gezeigte Methode die folgenden Probleme hervorruft. Obwohl eine gerich­ tete Verbindung zwischen den Funktionsblöcken des ereignisge­ steuerten Typs erstellt werden können, wenn die Daten zwei oder mehr Zweigen zugeführt werden, kann eine gerichtete Ver­ bindung nicht zwischen den Funktionsblöcken des ereignisge­ steuerten Typs erstellt werden, wenn Daten von zwei oder mehr Zweigen bzw. Verbindungen in eine einzelne Verbindung zusam­ mengeführt werden. In dem letzten Fall muß ein Funktionsblock des ereignisgesteuerten Typs, der eine Auswahlfunktion auf­ weist, benutzt werden.
Genauer werden in einem in Fig. 22 gezeigten Beispielfall, in dem Ausgabedaten von einem Funktionsblock FB1 des ereignisge­ steuerten Typs zwei Funktionsblöcken FB2 und FB3 des ereignis­ gesteuerten Typs eingegeben werden, Daten in dem Ausgabevaria­ blenbereich des Funktionsblock FB1 des ereignisgesteuerten Typs zu einem Eingabevariablenbereich des Funktionsblocks FB2 des ereignisgesteuerten Typs wie auch zu einem Eingabevaria­ blenbereich des Funktionsblocks FB3 des ereignisgesteuerten Typs kopiert. In dem obigen Fall, bei dem Daten Zweigen zuge­ führt werden, können die Funktionsblöcke des ereignisgesteuer­ ten Typs miteinander durch direkte Verbindungen verbunden wer­ den, da eine Quelle-Ziel-Beziehung für die Datenkopieroperati­ on eindeutig bestimmt werden kann.
Im Gegensatz dazu kann in dem in Fig. 23 gezeigten Beispiel­ fall, in dem Ausgabedaten von zwei Funktionsblöcken FB1 und FB2 des ereignisgesteuerten Typs einem einzelnen Funktions­ block FB3 des ereignisgesteuerten Typs eingegeben werden, nicht bestimmt werden, ob Daten in dem Ausgabevariablenbereich des Funktionsblocks FB1 des ereignisgesteuerten Typs oder Da­ ten in dem Ausgabevariablenbereich des Funktionsblocks FB2 des ereignisgesteuerten Typs zu einem Eingabevariablenbereich des Funktionsblocks FB3 des ereignisgesteuerten Typs zu kopieren sind. In dem obigen Fall, in dem Daten zusammengeführt werden, können Funktionsblöcke des ereignisgesteuerten Typs nicht durch direkte Verbindungen miteinander verbunden werden, da eine Quelle-Ziel-Beziehung für die Datenkopieroperation nicht eindeutig bestimmt werden kann.
Darüber hinaus muß, wenn die in Fig. 21 gezeigte Methode be­ nutzt wird, ein Funktionsblock des ereignisgesteuerten Typs, der eine Auswahlfunktion aufweist, eingesetzt werden, um einen an eine folgende Stufe zu übermittelnden Datensatz auszuwäh­ len. In dem in Fig. 20 gezeigten Beispiel wird ein Funktions­ block SEL des ereignisgesteuerten Typs, der eine Auswahlfunk­ tion aufweist, zur Auswahl eines der resultierenden Werte der Korrekturoperationen 1-3 zur Übermittlung an eine folgende Stufe eingesetzt.
Jedoch trifft ein Benutzer, der eine Anwendungsfunktion pro­ grammiert, auf eine Schwierigkeit bei der Programmierung, wenn die Methode in Fig. 21 benutzt wird, da Funktionsblöcke des ereignisgesteuerten Typs nicht zur Zusammenführung von Daten verbunden werden können. In dem in Fig. 23 gezeigten Bei­ spielfall muß ein Funktionsblock des ereignisgesteuerten Typs, der eine Auswahlfunktion aufweist, selbst für die einfache Operation der Eingabe des neueren des von dem Funktionsblock FB1 ausgegebenen Datensatzes und des von dem Funktionsblock FB2 ausgegebenen Datensatzes in den Funktionsblock FB3 benutzt werden. Daher wird die Programmierung schwierig und zeitauf­ wendig.
Eine Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zur Programmierung einer Anwendungsfunktion durch Verbindung mehrerer Funktionsblöcke des ereignisgesteuerten Typs bereit­ zustellen, bei dem für die effiziente Programmierung von An­ wendungsfunktionen das Zusammenführen von Signallinien bzw. -verbindungen ermöglicht wird.
Weitere Aufgabe der vorliegenden Erfindung ist es, ein Pro­ grammaufzeichnungsmedium bereit zustellen, auf welchem ein Pro­ gramm zur Durchführung eines Verfahrens zur Programmierung ei­ ner Anwendungsfunktion durch Verbindung mehrerer Funktions­ blöcke des ereignisgesteuerten Typs, bei dem zur effizienten Programmierung von Anwendungsfunktionen das Zusammenführen von Signalverbindungen ermöglicht wird, gespeichert ist.
Weitere Aufgabe der vorliegenden Erfindung ist es, eine Vor­ richtung zur Programmierung einer Anwendungsfunktion durch Verbindung mehrerer Funktionsblöcke des ereignisgesteuerten Typs, wobei zur effizienten Programmierung von Anwendungsfunk­ tionen das Zusammenführen von Signallinien bzw. -verbindungen ermöglicht ist, bereitzustellen.
Weitere Aufgabe der vorliegenden Erfindung ist es, ein Pro­ grammaufzeichnungsmedium bereit zustellen, auf welchem ein Pro­ gramm gespeichert ist, das durch Ausführung eines Verfahrens zur Programmierung einer Anwendungsfunktion durch Verbindung mehrerer Funktionsblöcke des ereignisgesteuerten Typs, bei dem zur effizienten Programmierung der Anwendungsfunktion das Zu­ sammenführen von Signallinien bzw. -verbindungen ermöglicht ist, erhalten wurde.
Die vorliegende Erfindung stellt ein Verfahren zur Programmie­ rung einer Anwendungsfunktion durch Verbindung mehrerer Funk­ tionsblöcke des ereignisgesteuerten Typs, von denen jeder aus einem Datenverarbeitungsblock und einem Ereignisverarbeitungs­ block zusammengesetzt ist, bereit. Das Verfahren enthält min­ destens einen ersten Verarbeitungsschritt und einen zweiten Verarbeitungsschritt. Wenn eine erste Datensignalverbindung gesetzt wird, um eine Verbindung zwischen ersten und zweiten Funktionsblöcken des ereignisgesteuerten Typs zu erstellen, wird in dem ersten Verarbeitungsschritt ein erster Variablen­ bereich für Datentransfer für die aufgebaute Verbindung er­ stellt. Im zweiten Verarbeitungsschritt wird ein Zeiger zum Zeigen auf den ersten Variablenbereich sowohl dem ersten Funk­ tionsblock als auch dem zweiten Funktionsblocks des ereignis­ gesteuerten Typs zugewiesen, so daß der erste und zweite Funk­ tionsblock des ereignisgesteuerten Typs Daten in den ersten Variablenbereich ausgeben und Daten von dem ersten Variablen­ bereich einlesen.
Die vorliegende Erfindung stellt weiterhin ein Programmauf­ zeichnungsmedium bereit, auf dem ein Programm zur Ausführung eines Verfahrens zur Programmierung einer Anwendungsfunktion durch Verbindung mehrerer Funktionsblöcke des ereignisgesteu­ erten Typs, von denen jeder aus einem Datenverarbeitungsblock und einem Ereignisverarbeitungsblock zusammengesetzt ist, ge­ speichert ist, wobei das Programmaufzeichnungsmedium ein Pro­ gramm speichert, das bewirkt, daß ein Computer einen Erstel­ lungsprozeß und einen Zuweisungsprozeß ausführt. Wenn eine er­ ste Datensignalverbindung erstellt wird, um eine Verbindung zwischen erstem und zweiten Funktionsblöcken des ereignisge­ steuerten Typs aufzubauen, erstellt der Erstellungsprozeß ei­ nen ersten Variablenbereich, der der aufgebauten Verbindung entspricht und für Datentransfer ausgelegt ist. Der Zuwei­ sungsprozeß weist einen Zeiger zum Zeigen auf den ersten Va­ riablenbereich sowohl dem ersten wie auch dem zweiten Funkti­ onsblocks des ereignisgesteuerten Typs zu, so daß der erste und zweite Funktionsblock des ereignisgesteuerten Typs Daten an den ersten Variablenbereich ausgeben und Daten von dem er­ sten Variablenbereich einlesen.
Die vorliegende Erfindung stellt weiterhin eine Vorrichtung zur Programmierung einer Anwendungsfunktion durch Verbindung mehrerer Funktionsblöcke des ereignisgesteuerten Typs, von de­ nen jeder aus einem Datenverarbeitungsblock und einem Ereig­ nisverarbeitungsblock zusammengesetzt ist, bereit, wobei die Vorrichtung einen Erstellungsabschnitt und einen Zuweisungsab­ schnitt aufweist. Wenn eine erste Datensignalverbindung er­ stellt wird, um eine Verbindung zwischen ersten und zweiten Funktionsblöcken des ereignisgesteuerten Typs aufzubauen, er­ stellt der Erstellungsabschnitt einen ersten Variablenbereich zum Datentransfer für die erstellte Verbindung. Der Zuwei­ sungsabschnitt weist einen Zeiger zum Zeigen auf den ersten Variablenbereich zu sowohl dem ersten als auch dem zweiten Funktionsblock des ereignisgesteuerten Typs zu, so daß der er­ ste und der zweite Funktionsblock des ereignisgesteuerten Typs Daten zu dem ersten Variablenbereich ausgeben und Daten von dem ersten Variablenbereich einlesen.
Die vorliegende Erfindung stellt weiterhin ein computerlesba­ res Aufzeichnungsmedium bereit, auf dem eine Anwendungsfunkti­ on gespeichert ist, die durch Verbindung mehrerer Funktions­ blöcke des ereignisgesteuerten Typs, von denen jeder aus einem Datenverarbeitungsblock und einem Ereignisverarbeitungsblock zusammengesetzt ist, gespeichert ist, wobei die Anwendungs­ funktion Datentransfer zwischen ersten und zweiten Funktions­ blöcken des ereignisgesteuerten Typs unter Benutzung eines er­ sten, für eine erste zwischen dem ersten und zweiten Funkti­ onsblock des ereignisgesteuerten Typs erstellten Signalverbin­ dung bereitgestellten Variablenbereich, Datentransfer zwischen einem dritten Funktionsblock des ereignisgesteuerten Typs und der ersten, den ersten und zweiten Funktionsblock des ereig­ nisgesteuerten Typs miteinander verbindenden Datensignalver­ bindung unter Benutzung eines zweiten, für eine zweite, zwi­ schen dem dritten Funktionsblock vom ereignisgesteuerten Typ und der ersten, den ersten und zweiten Funktionsblock vom er­ eignisgesteuerten Typ miteinander verbindenden Signalverbin­ dung erstellten Signalverbindung bereitgestellten Variablenbe­ reichs und Datentransfer zwischen der ersten, den ersten und zweiten Funktionsblock vom ereignisgesteuerten Typ miteinander verbindenden Datensignalverbindung und einer vierten, vierte und fünfte Funktionsblöcke vom ereignisgesteuerten Typ mitein­ ander verbindenden Datensignalverbindung unter Benutzung eines dritten, für die vierte, zwischen der ersten, den ersten und zweiten Funktionsblock vom ereignisgesteuerten Typ miteinander verbindenden Signalverbindung und der dritten, den vierten und fünften Funktionsblock vom ereignisgesteuerten Typ miteinander verbindenden Signalverbindungen erstellten Datensignalverbin­ dung bereitgestellten dritten Variablenbereichs aufweist.
Ausführungsbeispiele der Erfindung werden nun unter Bezugnahme auf die Figuren beschrieben.
Fig. 1 ist ein Strukturdiagramm, das das Prinzip der vorlie­ genden Erfindung zeigt;
Fig. 2 und 3 sind Diagramme, die zur Beschreibung der vor­ liegenden Erfindung benutzt werden;
Fig. 4 ist eine erläuternde Ansicht, die einen Anzeigeschirm zeigt;
Fig. 5 ist eine erläuternde Ansicht, die einen Variablenbe­ reich zeigt;
Fig. 6 bis 9 sind Ablaufdiagramme, die die von einem GUI- Abschnitt nach einer ersten Ausführungsform durchgeführte Ver­ arbeitung zeigen;
Fig. 10 bis 12 sind Diagramme, die zur Beschreibung der von dem GUI-Abschnitt nach der ersten Ausführungsform durchgeführ­ ten Verarbeitung benutzt werden;
Fig. 13 und 14 sind Ablaufdiagramme, die die von einem GUI- Abschnitt nach einer zweiten Ausführungsform durchgeführten Verarbeitung zeigen;
Fig. 15 und 16 sind Diagramme, die zur Beschreibung der von dem GUI-Abschnitt nach der zweiten Ausführungsform durchge­ führten Verarbeitung benutzt werden;
Fig. 17 ist eine erläuternde Ansicht, die eine hervorgehobene Anzeige einer Verbindungslinie zeigt;
Fig. 18 ist ein Diagramm, das die Verarbeitung zur Identifi­ zierung der Quelle in den Variablenbereich geschriebener Daten zeigt;
Fig. 19 ist eine erklärendes Diagramm eines Funktionsblocks vom ereignisgesteuerten Typ;
Fig. 20 ist ein erläuterndes Diagramm, das zur Beschreibung einer Anwendungsprogrammfunktion benutzt wird; und
Fig. 21 bis 23 sind Diagramme, die den allgemeinen Stand der Technik zeigen.
Fig. 1 ist ein Strukturdiagramm, das das Prinzip der vorlie­ genden Erfindung zeigt. In Fig. 1 bezeichnet das Bezugszei­ chen 1 eine funktionsblockverarbeitende Vorrichtung der vor­ liegenden Erfindung, die eine Anwendungsfunktion durch Erstel­ lung von Verbindungen zwischen mehreren Funktionsblöcken vom ereignisgesteuerten Typ, von denen jeder aus einem Datenverar­ beitungsblock und einem Ereignisverarbeitungsblock zusammenge­ setzt ist, bildet und welche die Anwendungsfunktion ausführt.
Die funktionsblockverarbeitende Vorrichtung 1 der vorliegenden Erfindung weist eine Anzeige 10, einen GUI-Abschnitt 20, einen FB-Verbindungsinformationsabschnitt 30 und einen FB-Ausfüh­ rungsabschnitt 40 auf.
Die Anzeige 10 zeigt schematische Fig. 11 an, die ereignis­ gesteuerte Funktionsblöcke darstellen, um eine durch den GUI- Abschnitt 20 gebildete Anwendungsfunktion anzuzeigen. Durch Interaktion mit dem Benutzer bildet der GUI-Abschnitt 20 eine durch zwischen den Funktionsblöcken erstellte Verbindungen de­ finierte Anwendungsfunktion. Der FB-Verbindungsinformations­ abschnitt 30 speichert Informationen in bezug auf die von dem GUI-Abschnitt 20 gebildete Anwendungsfunktion (Information über die Typen von ereignisgesteuerten Funktionsblöcken und die Art der Verbindung zwischen ihnen). Der FB-Ausführungs­ abschnitt 40 führt die Anwendungsfunktion durch Starten der ereignisgesteuerten Funktionsblöcke gemäß der in dem FB- Verbindungsinformationsabschnitt 30 gespeicherten Information bezüglich der Anwendungsfunktion aus.
Der GUI-Abschnitt 20 weist einen Erstellungsabschnitt 21 und einen Zuweisungsabschnitt 22 auf, um die vorliegende Erfindung zu implementieren. Wenn eine Signallinie (bzw. Signalverbin­ dung) erstellt wird, um eine Verbindung zwischen ereignisge­ steuerten Funktionsblöcken aufzubauen, erstellt der Erstel­ lungsabschnitt 21 einen Variablenbereich 12 für Datentransfer für die so erstellte Verbindung. Zusätzlich weist der Zuwei­ sungsabschnitt 22 für jeden der ereignisgesteuerten Funktions­ blöcke einen Zeiger zu, welcher auf den Variablenbereich 12 zeigt, so daß jeder der Funktionsblöcke Daten von dem Varia­ blenbereich 12 einliest oder Daten an ihn ausgibt.
Die Funktion der funktionsblockausführenden Vorrichtung 1 ge­ mäß der vorliegenden Erfindung ist in der Form eines Programms implementiert. Das Programm ist auf einer Diskette oder einem beliebigen anderen Wechseldatenträger, z. B. Platte, oder ei­ ner Festplatte in einem Server gespeichert, von der bzw. dem das Programm in die Funktionsblockvorrichtung 1 installiert wird, um in dem Speicher zu arbeiten.
In der funktionsblockverarbeitenden Vorrichtung 1 der vorlie­ genden Erfindung, wie oben beschrieben, erstellt der Erstel­ lungsabschnitt 21 des GUI-Abschnitts 20, wenn eine Signallinie (bzw. -verbindung) zwischen datenverarbeitenden Blöcken von ereignisgesteuerten Funktionsblöcken erstellt wird, für die so erstellte Verbindung den Variablenbereich 12 (der vom FIFO-Typ sein kann) zum Übertragen von Daten zwischen den Datenverar­ beitungsblöcken. Genauer wird ein Variablenbereich 12 für Da­ tentransfer durch Erzeugung eines neuen Variablenbereichs 12 oder durch Zuweisung eines existierenden Variablenbereichs 12 erstellt.
Nachdem der Erstellungsabschnitt 21 den Variablenbereich 12 erstellt hat, weist der Zuweisungsabschnitt 22 des GUI- Abschnitts 20 einen Zeiger zu, der auf den so erstellten Va­ riablenbereich 12 weist, so daß jeder der mit dem Variablenbe­ reich 12 in Beziehung stehenden Datenverarbeitungsblöcke Daten von dem Variablenbereich 12 einliest oder Daten zu dem Varia­ blenbereich 12 ausgibt.
Wenn z. B., wie in Fig. 2(a) gezeigt, eine Verbindung zwi­ schen einer Ausgabegrenzstelle des Datenverarbeitungsblocks eines ereignisgesteuerten Funktionsblocks FB1 und einer Einga­ begrenzstelle des Datenverarbeitungsblocks eines ereignisge­ steuerten Funktionsblocks FB2 auf der Anzeige 10 erstellt wird, wird ein Variablenbereich 12 für Datentransfer zwischen FB1 und FB2 erstellt. Dann wird, wie in Fig. 2(b) gezeigt ein Zeiger, der auf den so erstellten Variablenbereich 12 zeigt, sowohl in der Ausgabegrenzstelleninformation des FB1 als auch der Eingabegrenzstelleninformation des FB2 definiert.
Wenn eine Signallinie zwischen einem Datenverarbeitungsblock und einer andere Datenverarbeitungsblöcke miteinander verbin­ denden Signallinie oder zwischen verschiedene Paare von Daten­ verarbeitungsblöcken miteinander verbindenden Signallinien er­ stellt wird, erstellt der Zuweisungsabschnitt 22 des GUI- Abschnitts 20 einen Variablenbereich 12 (der vom FIFO-Typ sein kann) für Datentransfer für die in jedem der Fälle erstellte Verbindung.
Nachdem der Erstellungsabschnitt 21 den Variablenbereich 12 erstellt hat, weist der Zuweisungsabschnitt 22 des GUI- Abschnitts 20 einen Zeiger zu, welcher auf dem so erstellten Variablenbereich 12 zeigt, so daß jeder der den Variablenbe­ reich 12 zugeordneten Datenverarbeitungsblöcke Daten von dem Variablenbereich 12 einlesen oder Daten an den Variablenbe­ reich 12 ausgeben kann.
Wenn z. B., wie in Fig. 3(a) gezeigt, auf der Anzeige 10 ei­ ne Verbindung zwischen einer eine Ausgabegrenzstelle des Da­ tenverarbeitungsblocks eines ereignisgesteuerten Funktions­ blocks FB1 und eine Eingabegrenzstelle des Datenverarbeitungs­ blocks eines ereignisgesteuerten Funktionsblocks FB2 verbin­ denden Signallinie und einer Ausgabegrenzstelle des Datenver­ arbeitungsblocks eines ereignisgesteuerten Funktionsblocks FB3 aufgebaut wird, wird ein Variablenbereich 12 für Datentransfer erstellt. Dann wird, wie in Fig. 3(b) gezeigt, ein auf den so erstellten Variablenbereich 12 zeigender Zeiger sowohl in der Ausgabegrenzstelleninformation des FB1, der Eingabegrenz­ stelleninformation des FB2 als auch der Ausgabegrenzstellenin­ formation des FB3 definiert.
In diesem Fall werden von den ereignisgesteuerten Funktions­ blöcken der Datenausgabeseite ausgegebene Daten gleich in den Variablenbereich 12 geschrieben. Der ereignisgesteuerten Funk­ tionsblock der Dateneingabeseite kann Daten unverändert von dem Variablenbereich 12 lesen, wenn ein Ereignis übermittelt wird. Selbst wenn Daten zusammengeführt werden, entsteht daher keine Verwirrung in bezug auf Datenquellen, von denen Daten gelesen werden, womit eine Verbindung zur Datenzusammenführung verwirklicht wird.
Wie beschrieben wurde, ermöglicht die vorliegende Erfindung eine zwischen ereignisgesteuerten Funktionsblöcken zu erstel­ lende Verbindung zur Datenzusammenführung. Als Ergebnis kann die Anwendungsfunktion, die durch die Verbindungen der ereig­ nisgesteuerten Funktionsblöcke definiert ist, effizient pro­ grammiert werden.
Da ereignisgesteuerte Funktionsblöcke direkt ohne die Benut­ zung von ereignisgesteuerten Funktionsblöcken, die eine Aus­ wahlfunktion aufweisen, verbunden werden können, kann weiter­ hin Speicherkapazität reduziert werden. Weiterhin kann die An­ wendungsfunktion mit hoher Geschwindigkeit ausgeführt werden, da keine Notwendigkeit besteht, Daten für Datentransfer wäh­ rend der Ausführung der Anwendung zwischen den ereignisgesteu­ erten Funktionsblöcken zu kopieren.
Die vorliegende Erfindung wird nun im Detail gemäß einer Aus­ führungsform beschrieben.
Wie in Fig. 4 gezeigt, bildet der GUI-Abschnitt 20 der funk­ tionsblockverarbeitenden Vorrichtung 1 der vorliegenden Erfin­ dung eine Anwendungsfunktion. Das heißt, durch Interaktion mit einem Benutzer zeigt der GUI-Abschnitt 20 auf einem Anzeige­ schirm schematische Fig. 11 von ereignisgesteuerten Funkti­ onsblöcken an und bestimmt Verbindungen zwischen den schemati­ schen Fig. 11, um die Anwendungsfunktion zu bilden.
Genauer erfolgt die Verarbeitung zur Anzeige der schematischen Fig. 11 folgendermaßen. Wenn ein Benutzer eine schematische Fig. 11 eines ereignisgesteuerten Funktionsblocks aus einer Liste von schematischen Fig. 11 auswählt, wird die so aus­ gewählte schematische Fig. 11 auf dem Schirm an der Stelle angezeigt, die der Benutzer unter Benutzung einer Maus be­ stimmt. Zu dieser Zeit wird, wenn eine Anforderung zum Erstel­ len von Attributinformationen für einen durch die angezeigte Fig. 11 dargestellten ereignisgesteuerten Funktionsblock ge­ macht wird, ein Erstellungsschirm zum Erstellen von Attribu­ tinformationen wie in Fig. 4 gezeigt angezeigt. Durch die Be­ nutzung des Erstellungsschirms, kann der Benutzer Attributin­ formationen wie z. B. Namen von Eingabe-/Ausgabegrenzstellen eines ereignisgesteuerten Funktionsblocks, Default-Werte von Daten und Datentypen erstellen.
Der ereignisgesteuerte Funktionsblock, dessen schematische Fig. 11 auf dem Anzeigeschirm angezeigt wird, wird aus der Klasse des Funktionsblocks gemäß der Klassen-Instanz-Beziehung gebildet. Zu dieser Zeit wird, wie in Fig. 5 gezeigt, ein Va­ riablenbereich 12 (ein Default-Wert kann als eine Variable er­ stellt werden), auf den ein Zeiger zeigt, für jede der Daten­ eingabe-/Ausgabegrenzstellen des ereignisgesteuerten Funkti­ onsblocks gebildet. Wie aus der Beschreibung unten klar werden wird, braucht der Variablenbereich 12 zu diesem Zeitpunkt nicht erzeugt zu werden, und wird als solcher nur der Einfach­ heit halber beschrieben.
Die Fig. 6 bis 9 sind Ablaufdiagramme, die die von den GUI- Abschnitt 20 ausgeführte Verarbeitung nach einer ersten Aus­ führungsform zeigen. Die vorliegende Erfindung wird im Detail gemäß diesen Ablaufdiagrammen beschrieben.
Der GUI-Abschnitt 20 zeigt zuerst auf dem Anzeigeschirm sche­ matische Fig. 11 von ereignisgesteuerten Funktionsblöcke gemäß Festlegung durch den Benutzer an. Wenn der Benutzer auf­ fordert, eine Verbindung zwischen schematischen Fig. 11 zu erstellen, wird die in Fig. 6 gezeigte Verarbeitung begonnen. Im ersten Schritt ST1 wird ein an einer durch Benutzung einer Maus bestimmten Anfangsposition einer Linienverbindung ange­ ordnetes Objekt erkannt.
Dann wird im Schritt ST2 bestimmt, ob das in Schritt ST1 er­ kannte Objekt eine Datenausgabegrenzstelle ist. Wenn das Ob­ jekt eine Datenausgabegrenzstelle ist, geht der GUI-Abschnitt 20 zu Schritt ST3 weiter, so daß eine Verbindung von der Da­ tenausgabegrenzstelle gemäß der Verarbeitung nach Fig. 7, die später beschrieben wird, erstellt wird.
Wenn im Schritt ST2 bestimmt wird, daß das in Schritt ST1 er­ kannte Objekt nicht eine Datenausgabegrenzstelle ist, geht der GUI-Abschnitt 20 zu Schritt ST4 weiter, um zu bestimmen, ob das in Schritt ST1 erkannte Objekt eine Datenverbindungslinie ist. Wenn das Objekt eine Datenverbindungslinie ist, fährt der GUI-Abschnitt 20 mit Schritt ST5 fort, so daß eine Verbindung von der so erkannten Datenverbindungslinie gemäß der Verarbei­ tung nach Fig. 8, wie im folgenden beschrieben, erstellt wird.
Wenn in dem Schritt ST4 festgestellt wird, daß das in Schritt ST1 erkannte Objekt nicht eine Datenverbindungslinie ist, fährt der GUI-Abschnitt 20 mit Schritt ST6 fort, um zu bestim­ men, ob das in Schritt ST1 bestimmte Objekt eine Dateneingabe­ grenzstelle ist. Wenn das Objekt eine Dateneingabegrenzstelle ist, geht der GUI-Abschnitt 20 zu Schritt ST7, so daß eine Verbindung von der so erkannten Dateneingabegrenzstelle gemäß der Verarbeitung nach Fig. 9, die später beschrieben wird, erstellt wird. Wenn das Objekt keine Dateneingabegrenzstelle ist, stellt der GUI-Abschnitt 20 fest, daß ein Fehler aufge­ treten ist, womit die Verarbeitung beendet wird.
Fig. 7 zeigt die Details der Verarbeitung für Linienverbin­ dungen von einer Datenausgabegrenzstelle, die in Schritt ST3 der Verarbeitung nach Fig. 6 ausgeführt wird. In Schritt ST31 wird ein Objekt erkannt, das sich an einer temporären, unter Benutzung einer Maus bestimmten Endposition einer Linienver­ bindung befindet.
Dann wird in Schritt ST32 eine Erkennung durchgeführt, ob das in Schritt ST31 erkannte Objekt eine Dateneingabegrenzstelle ist. Wenn das Objekt keine Dateneingabegrenzstelle ist, stellt der GUI-Abschnitt 20 fest, daß ein Fehler aufgetreten ist, wo­ mit die Verarbeitung beendet wird. Wenn das Objekt eine Daten­ eingabegrenzstelle ist, fährt der GUI-Abschnitt 20 mit Schritt ST33 fort, um zu bestimmen, ob die Dateneingabegrenzstelle als ein Objekt an der Endposition einer Linienverbindung festge­ macht wurde. Wenn die Dateneingabegrenzstelle nicht als solche festgemacht ist, kehrt die Verarbeitung zu Schritt ST31 zu­ rück.
Wenn in Schritt ST33 entschieden wurde, daß die in Schritt ST31 erkannte Dateneingabegrenzstelle als ein Objekt an der Endposition der Linienverbindung festgemacht wurde, fährt der GUI-Abschnitt 20 mit Schritt ST34 fort, so daß eine Verbindung zwischen der in Schritt ST1 der Verarbeitung nach Fig. 6 er­ kannte Datenausgabegrenzstelle und die in Schritt ST31 erkann­ te Dateneingabegrenzstelle erstellt wird. Das heißt, daß ein sowohl zu der Datenausgabegrenzstelle wie auch der Dateneinga­ begrenzstelle zugewiesener Variablenbereich 12 gültig belassen wird. Dann wird die von dem FB-Verbindungsinformations­ abschnitt 30 verwaltete Verbindungsinformation aktualisiert, so daß die oben beschriebenen Zeiger auf den gültigen Varia­ blenbereich 12 zeigen. Eine Signallinie wird dann auf dem An­ zeigeschirm angezeigt, so daß sich die Signallinie zwischen den schematischen Fig. 11 erstreckt.
Auf diese Weise definiert, wie in Fig. 10(a) gezeigt, der GUI-Abschnitt 20 einen Variablenbereich 12 für die Datenausga­ begrenzstelle an der Anfangsposition der Linienverbindung und die Dateneingabegrenzstelle an der Endposition der Linienver­ bindung. Danach wird eine Erstellung bewirkt, so daß die Da­ tenausgabegrenzstelle und -eingabegrenzstelle auf den so defi­ nierten Variablenbereich 12 zeigen. Als Ergebnis wird, wie in Fig. 10(b) gezeigt, eine Verbindung zwischen der Datenausga­ begrenzstelle an der Anfangsposition der Linienverbindung und der Dateneingabegrenzstelle an der Endposition der Linienver­ bindung erstellt.
Zusätzlich kann der Variablenbereich 12 dynamisch erzeugt wer­ den, soweit es die Umstände erfordern.
Fig. 8 zeigt die Details der Verarbeitung für eine Linienver­ bindung von einer Datenverbindungslinie, die in Schritt ST5 der Verarbeitung nach Fig. 6 ausgeführt wird. Im ersten Schritt ST51 findet der GUI-Abschnitt 20 eine Dateneingabe­ grenzstelle und eine Datenausgabegrenzstelle, die zu einer Da­ tenverbindungslinie verbunden sind und die als ein Objekt an der Anfangsposition der Linienverbindung erkannt wurden.
In Schritt ST52 erkennt der GUI-Abschnitt 20 ein Objekt an der durch Benutzung einer Maus bestimmten temporären Endposition einer Linienverbindung. Dann wird in Schritt ST53 eine Bestim­ mung durchgeführt, ob das in Schritt ST52 erkannte Objekt eine Dateneingabegrenzstelle ist. Wenn das Objekt keine Dateneinga­ begrenzstelle ist, stellt der GUI-Abschnitt 20 fest, daß ein Fehler aufgetreten ist, womit die Verarbeitung beendet wird. Wenn das Objekt eine Dateneingabegrenzstelle ist, fährt der GUI-Abschnitt 20 mit Schritt ST54 fort, um zu bestimmen, ob die Dateneingabegrenzstelle als ein Objekt an der Endposition der Linienverbindung festgemacht wurde. Wenn die Dateneingabe­ grenzstelle nicht als solche festgemacht wurde, geht die Ver­ arbeitung zu Schritt ST52 zurück.
Wenn in Schritt ST54 festgestellt wird, daß die in Schritt ST52 erkannte Dateneingabegrenzstelle als Objekt an der Endpo­ sition der Linienverbindung festgemacht worden ist, fährt der GUI-Abschnitt 20 mit Schritt ST55 fort, so daß eine Verbindung zwischen der in Schritt ST1 der Verarbeitung in Fig. 6 er­ kannten Datenverbindungslinie und der in Schritt ST52 erkann­ ten Dateneingabegrenzstelle erstellt wird. Das heißt, daß ein entweder der Datenverbindungslinie oder der Dateneingabegrenz­ stelle zugewiesener Variablenbereich 12 gültig gelassen wird. Dann wird die durch den FB-Verbindungsinformationsabschnitt 30 verwaltete Verbindungsinformation aktualisiert, so daß die oben beschriebenen Zeiger auf den gültigen Variablenbereich 12 zeigen. Eine Signallinie wird dann auf dem Anzeigeschirm ange­ zeigt, so daß die Signallinie sich zwischen den schematischen Fig. 11 erstreckt.
Auf diese Weise definiert, wie in Fig. 11(a) gezeigt, der GUI-Abschnitt 20 einen Variablenbereich 12 für die Datenver­ bindungslinie an der Anfangsposition der Linienverbindung und der Dateneingabegrenzstelle an der Endposition der Linienver­ bindung. Danach wird eine Erstellung bewirkt, so daß eine Da­ teneingabegrenzstelle und eine Datenausgabegrenzstelle, die mit der Datenverbindungslinie an der Anfangsposition der Lini­ enverbindung verbunden sind, und die Dateneingabegrenzstelle an der Endposition der Linienverbindung auf den so definierten Variablenbereich 12 zeigen. Als Ergebnis wird, wie in Fig. 11(b) gezeigt, eine Verbindung zwischen Datenverbindungslinie an der Anfangsposition der Linienverbindung und der Dateneingabe­ grenzstelle an der Endposition der Linienverbindung erstellt.
Fig. 9 zeigt die Details der Verarbeitung für Linienverbin­ dung von der Eingabegrenzstelle, die in Schritt ST7 der Verar­ beitung in Fig. 6 durchgeführt wird. Im ersten Schritt ST71 erkennt der GUI-Abschnitt 20 ein Objekt an der durch den Be­ nutzer unter Verwendung einer Maus bestimmten temporären End­ position der Linienverbindung. Dann wird in Schritt ST72 eine Erkennung durchgeführt, ob das in Schritt ST71 erkannte Objekt eine Datenausgabegrenzstelle ist. Wenn das Objekt eine Daten­ ausgabegrenzstelle ist, fährt der GUI-Abschnitt 20 mit Schritt ST73 fort, um zu bestimmen, ob die Datenausgabegrenzstelle als ein Objekt an der Endposition der Linienverbindung festgemacht worden ist. Wenn die Datenausgabegrenzstelle nicht als solche festgemacht worden ist, kehrt die Verarbeitung zur Schritt ST71 zurück.
Wenn in Schritt ST73 entschieden worden ist, daß die in Schritt ST71 erkannte Datenausgabegrenzstelle als ein Objekt an der Endposition der Linienverbindung festgemacht worden ist, geht der GUI-Abschnitt 20 zu Schritt ST74 weiter, so daß eine Verbindung zwischen der in Schritt ST1 der Verarbeitung der Fig. 6 erkannten Dateneingabegrenzstelle und der in Schritt ST71 erkannten Datenausgabegrenzstelle erstellt wird. Das heißt, daß ein entweder der Dateneingabegrenzstelle oder Datenausgabegrenzstelle zugewiesener Variablenbereich 12 gül­ tig belassen wird. Dann wird die von dem FB-Verbindungs­ informationsabschnitt 30 verwaltete Verbindungsinformation ak­ tualisiert, so daß die oben beschriebenen Zeiger auf den gül­ tigen Variablenbereich 12 zeigen. Eine Signallinie wird dann auf dem Anzeigeschirm angezeigt, so daß sich die Signallinie zwischen den schematischen Fig. 11 erstreckt.
Auf diese Weise definiert, ähnlich zu der in Fig. 10(a) ab­ gebildeten Situation (außer daß sich eine Dateneingabegrenz­ stelle an der Anfangsposition der Verbindungslinie und eine Datenausgabegrenzstelle an der Endposition der Verbindungsli­ nie befindet) der GUI-Abschnitt 20 einen Variablenbereich 12 für die Dateneingabegrenzstelle an der Anfangsposition der Li­ nienverbindung und die Datenausgabegrenzstelle an der Endposi­ tion der Linienverbindung. Danach wird eine Erstellung be­ wirkt, so daß die Dateneingabegrenzstelle und die Ausgabe­ grenzstelle auf den so definierten Variablenbereich 12 zeigen. Als Ergebnis wird wie in Fig. 10(b) gezeigt die angeforderte Verbindung zwischen der Dateneingabegrenzstelle an der An­ fangsposition der Linienverbindung und der Datenausgabegrenz­ stelle an der Endposition der Linienverbindung erstellt.
In Schritt ST72 fährt der GUI-Abschnitt 20 mit Schritt ST75 fort, wenn das in Schritt ST71 erkannte Objekt keine Datenaus­ gabegrenzstelle ist. In Schritt ST75 wird dann eine Bestimmung durchgeführt, ob das in Schritt ST71 erkannte Objekt eine Da­ tenverbindungslinie ist. Wenn das Objekt keine Datenverbin­ dungslinie ist, stellt der GUI-Abschnitt 20 fest, daß ein Feh­ ler aufgetreten ist, womit die Verarbeitung beendet wird. Wenn das Objekt eine Datenverbindungslinie ist, geht der GUI- Abschnitt 20 zu Schritt ST76, um zu bestimmen, ob die Daten- Verbindungslinie als ein Objekt an der Endposition der Linien­ verbindung festgemacht worden ist. Wenn die Datenverbindungs­ linie nicht als solche festgemacht worden ist, springt die Verarbeitung zurück zu Schritt ST71.
Wenn in Schritt ST76 die Entscheidung gefällt wird, daß die in Schritt ST71 erkannte Datenverbindungslinie als ein Objekt an der Endposition der Linienverbindung festgemacht worden ist, fährt der GUI-Abschnitt 20 mit Schritt ST77 fort. In Schritt ST77 werden die mit der so festgemachten Datenverbindungslinie verbundenen Dateneingabe- und Datenausgabegrenzstellen gefun­ den. Um eine Verbindung zwischen der in Schritt ST1 der Verar­ beitung in Fig. 6 erkannten Dateneingabegrenzstelle und der in Schritt ST71 erkannten Datenverbindungslinie zu erstellen, wird als nächstes in Schritt ST88 ein entweder der Dateneinga­ begrenzstelle oder der Datenverbindungslinie zugewiesener Va­ riablenbereich 12 gültig belassen. Dann wird die von dem FB- Verbindungsinformationsabschnitt 30 verwaltete Verbindungsin­ formation aktualisiert, so daß die oben beschriebenen Zeiger - auf den gültigen Variablenbereich 12 zeigen. Eine Signallinie wird dann auf dem Anzeigeschirm angezeigt, so daß sich die Si­ gnallinie zwischen den schematischen Fig. 11 erstreckt.
Wie in Fig. 12(a) gezeigt, definiert auf diese Weise der GUI-Abschnitt 20 einen Variablenbereich 12 für die Dateneinga­ begrenzstelle an der Anfangsposition der Linienverbindung und die Datenverbindungslinie an der Endposition der Linienverbin­ dung. Danach wird eine Erstellung bewirkt, so daß die Daten­ eingabegrenzstelle an der Anfangsposition der Linienverbindung und die mit der in Schritt ST71 erkannten Datenverbindungsli­ nie verbundene Dateneingabe- und Datenausgabegrenzstelle auf den so definierten Variablenbereich 12 zeigen. Als Resultat wird wie in Fig. 12(b) gezeigt eine Verbindung zwischen der Dateneingabegrenzstelle an der Anfangsposition der Linienver­ bindung und der Datenverbindungslinie an der Endposition der Linienverbindung erstellt.
Fig. 13 ist ein Ablaufdiagramm, das als Ersatz für Fig. 7 dient und den von den GUI-Abschnitt 20 nach einer zweiten Aus­ führungsform durchgeführten Verarbeitungsablauf zeigt. Fig. 14 ist ein Ablaufdiagramm, das als Ersatz für Fig. 8 dient und den von dem GUI-Abschnitt 20 gemäß der zweiten Ausfüh­ rungsform durchgeführten Verarbeitungsablauf zeigt.
Die Verarbeitung in Fig. 8 oder Fig. 9 ermöglicht es, Daten zwei oder mehreren Zweigen, wie in Fig. 11 oder Fig. 12 ge­ zeigt, zuzuführen, jedoch ermöglicht sie nicht das Zusammen­ führen von Daten. Im Gegensatz dazu ermöglicht die Verarbei­ tung der Fig. 13 und die Verarbeitung der Fig. 14 das Zusam­ menführen von Daten.
In dem Fall, in dem die Verarbeitung der Fig. 13 benutzt wird, um die Verarbeitung für Linienverbindung von einer Da­ tenausgabegrenzstelle in Schritt ST3 in Fig. 6 auszuführen, erkennt in Schritt ST131 der GUI-Abschnitt 20 ein Objekt, das sich an einer durch Benutzung einer Maus gekennzeichneten tem­ porären Endposition einer Linienverbindung befindet.
Dann bestimmt in Schritt ST132 der GUI-Abschnitt 20, ob das in Schritt ST131 erkannte Objekt eine Dateneingabegrenzstelle ist. Wenn das Objekt eine Dateneingabegrenzstelle ist, geht der GUI-Abschnitt 20 zu Schritt ST133 weiter, um zu bestimmen, ob die Dateneingabegrenzstelle als ein Objekt an der Endposi­ tion der Linienverbindung festgemacht worden ist. Wenn die Da­ teneingabegrenzstelle nicht als solche festgemacht worden ist, geht die Verarbeitung zu Schritt ST131 zurück.
Wenn in Schritt ST133 entschieden worden ist, daß die in Schritt ST131 erkannten Dateneingabegrenzstelle als ein Objekt an der Endposition der Linienverbindung festgemacht worden ist, geht der GUI-Abschnitt 20 zu Schritt ST134, so daß eine Verbindung zwischen der in Schritt ST1 der Verarbeitung in Fig. 6 erkannten Datenausgabegrenzstelle und der in Schritt ST131 erkannten Dateneingabegrenzstelle erstellt wird. Das heißt, daß ein der Datenausgabegrenzstelle und der Dateneinga­ begrenzstelle zugewiesener Variablenbereich 12 gültig belassen wird. Dann wird die von dem FB-Verbindungsinformationsab­ schnitt 30 verwaltete Verbindungsinformation aktualisiert, so daß die oben beschriebenen Zeiger auf den gültigen Variablen­ bereich 12 zeigen. Eine Signallinie wird dann auf dem Anzeige­ schirm angezeigt, so daß sich die Signallinie zwischen den schematischen Fig. 11 erstreckt. Der oben beschriebene Pro­ zeß des Schrittes ST134 ist mit dem des Schritts ST34 in der Verarbeitung in Fig. 7 identisch.
Wenn in Schritt ST132 bestimmt wird, daß das in Schritt ST131 erkannte Objekt keine Dateneingabegrenzstelle ist, geht der GUI-Abschnitt 20 zu Schritt ST135, um zu bestimmen, ob das in Schritt ST131 bestimmte Objekt eine Datenverbindungslinie ist. Wenn das Objekt keine Datenverbindungslinie ist, stellt der GUI-Abschnitt 20 fest, daß ein Fehler aufgetreten ist, worauf­ hin die Verarbeitung beendet wird. Wenn das Objekt eine Daten­ verbindungslinie ist, geht der GUI-Abschnitt 20 zu Schritt ST136, um zu bestimmen, ob die Datenverbindungslinie als ein Objekt an der Endposition der Linienverbindung festgemacht worden ist. Wenn die Datenverbindungslinie nicht als solche festgemacht worden ist, geht die Verarbeitung zurück zu Schritt ST131.
Wenn in Schritt ST136 entschieden wird, daß die in Schritt ST131 erkannte Datenverbindungslinie als ein Objekt an der Endposition der Linienverbindung festgemacht worden ist, fährt der GUI-Abschnitt 20 mit Schritt ST137 fort. In Schritt ST137 werden die Dateneingabe- und Datenausgabegrenzstellen, die mit der so festgemachten Datenverbindungslinie verbunden sind, ge­ funden. Um eine Verbindung zwischen der in Schritt ST1 der Verarbeitung der Fig. 6 erkannten Dateneingabegrenzstelle und der in Schritt ST131 erkannten Datenverbindungslinie zu er­ stellen wird als nächstes in Schritt ST138 ein entweder der Dateneingabegrenzstelle oder der Datenverbindungslinie zuge­ wiesener Variablenbereich 12 gültig belassen. Dann wird die von dem FB-Verbindungsinformationsabschnitt 30 verwaltete Ver­ bindungsinformation aktualisiert, so daß die oben beschriebe­ nen Zeiger auf den gültigen Variablenbereich 12 zeigen. Eine Signallinie wird dann auf dem Anzeigeschirm angezeigt, so daß sich die Signallinie zwischen den schematischen Fig. 11 er­ streckt.
Der GUT-Abschnitt 20 definiert auf diese Weise, wie in Fig. 15(a) gezeigt, einen Variablenbereich 12 für die Datenausga­ begrenzstelle an der Anfangsposition der Linienverbindung und die Datenverbindungslinie an der Endposition der Linienverbin­ dung und bewirkt eine Erstellung, so daß sowohl die Datenaus­ gabegrenzstelle an der Anfangsposition der Linienverbindung als auch die mit der Datenverbindungslinie an der Endposition der Linienverbindung verbundene Dateneingabegrenzstelle und Datenausgabegrenzstelle auf den so definierten Variablenbe­ reich 12 zeigen. Als Ergebnis ist, wie in Fig. 15(b) ge­ zeigt, eine Verbindung zur Zusammenführung von Daten zwischen der Datenausgabegrenzstelle an der Anfangsposition der Linien­ verbindung und der Datenverbindungslinie an der Endposition der Linienverbindung verwirklicht.
In dem Fall, in dem die Verarbeitung in Fig. 14 benutzt wird, um die Verarbeitung für eine Linienverbindung von einer Daten­ verbindungslinie in Schritt ST5 der Fig. 6 auszuführen, fin­ det in Schritt ST151 der GUT-Abschnitt 20 eine Dateneingabe­ grenzstelle und eine Datenausgabegrenzstelle, die mit der in Schritt ST1 in Fig. 6 erkannten Datenverbindungslinie verbun­ den sind.
Dann wird in Schritt ST152 ein Objekt erkannt, daß sich an ei­ ner durch Benutzung einer Maus bestimmten temporären Endposi­ tion einer Linienverbindung befindet. Als nächstes bestimmt in Schritt ST153 der GUT-Abschnitt 20, ob das in Schritt ST152 erkannte Objekt eine Dateneingabegrenzstelle ist. Wenn das Ob­ jekt eine Dateneingabegrenzstelle ist, geht der GUT-Abschnitt 20 zu Schritt ST154, um zu bestimmen, ob die Dateneingabe­ grenzstelle als ein Objekt an der Endposition der Linienver­ bindung festgemacht worden ist. Wenn die Dateneingabegrenz­ stelle nicht als solche festgemacht worden ist, geht die Ver­ arbeitung zu Schritt ST152 zurück.
Wenn in Schritt ST154 entschieden wird, daß die in Schritt ST152 erkannte Dateneingabegrenzstelle als ein Objekt an der Endposition der Linienverbindung festgemacht worden ist, fährt der GUT-Abschnitt 20 mit Schritt ST155 fort. In Schritt ST155 erstellt der GUI-Abschnitt 20 eine Verbindung zwischen der in Schritt ST1 der Verarbeitung der Fig. 6 erkannten Datenver­ bindungslinie und der in Schritt ST152 erkannten Dateneingabe­ grenzstelle. Das heißt, ein sowohl der Datenverbindungslinie als auch der Dateneingabegrenzstelle zu gewiesener Variablen­ bereich 12 wird gültig belassen. Dann wird die von dem FB- Verbindungsinformationsabschnitt 30 verwaltete Verbindungsin­ formation aktualisiert, so daß die oben beschriebenen Zeiger auf den gültigen Variablenbereich 12 zeigen. Auf dem Anzeige­ schirm wird dann eine Signallinie angezeigt, so daß sich die Verbindungslinie zwischen den schematischen Fig. 11 er­ streckt. Der oben beschriebene Prozeß des Schritts ST155 ist mit dem des Schrittes ST55 der Verarbeitung der Fig. 8 iden­ tisch.
Wenn in Schritt ST153 bestimmt wird, daß das in Schritt ST152 erkannte Objekt nicht eine Dateneingabegrenzstelle ist, geht der GUI-Abschnitt 20 zu Schritt ST156, um zu bestimmen, ob das in Schritt ST151 erkannte Objekt eine Datenverbindungslinie ist. Wenn das Objekt keine Datenverbindungslinie ist, stellt der GUI-Abschnitt 20 fest, daß ein Fehler aufgetreten ist, wo­ mit die Verarbeitung beendet wird. Wenn das Objekt eine Daten­ verbindungslinie ist, fährt der GUI-Abschnitt 20 mit Schritt ST157 fort, um zu bestimmen, ob die Datenverbindungslinie als ein Objekt an der Endposition der Linienverbindung festgemacht worden ist. Wenn die Datenverbindungslinie nicht als solche festgemacht worden ist, geht die Verarbeitung zu Schritt ST152 zurück.
Wenn in Schritt ST157 entschieden wird, daß die in Schritt ST152 erkannte Datenverbindungslinie als ein Objekt an der Endposition der Linienverbindung festgemacht worden ist, geht der GUI-Abschnitt 20 zu Schritt ST158. Im Schritt ST158 werden mit der so festgemachten Datenverbindungslinie verbundene Da­ teneingabe- und Datenausgabegrenzstellen gefunden. Um eine Verbindung zwischen der in Schritt ST1 der Verarbeitung der Fig. 6 erkannten Datenverbindungslinie und der in Schritt ST152 erkannten Datenverbindungslinie zu erstellen, wird als nächstes in Schritt ST159 ein beiden Datenverbindungslinien zugewiesener Variablenbereich 12 gültig belassen. Dann wird die von dem FB-Verbindungsinformationsabschnitt 30 verwaltete Verbindungsinformation aktualisiert, so daß die oben beschrie­ benen Zeiger auf den gültigen Variablenbereich 12 zeigen. Auf dem Anzeigeschirm wird dann eine Signallinie angezeigt, so daß sich die Signallinie zwischen den schematischen Fig. 11 er­ streckt.
Der GUI-Abschnitt 20 definiert auf diese Weise, wie in Fig. 16(a) gezeigt, einen Variablenbereich 12 für die Datenverbin­ dungslinie, die in Schritt ST1 der Fig. 6 erkannt ist und die sich an der Anfangsposition der Linienverbindung befindet, und für die Datenverbindungslinie, die in Schritt ST152 erkannt wird und die sich an der Endposition der Linienverbindung be­ findet. Daraufhin werden Erstellungen bewirkt, so daß die mit der in Schritt ST1 der Fig. 6 erkannten Datenverbindungslinie verbundenen Dateneingabe- und Datenausgabegrenzstellen und die mit der in Schritt ST152 erkannten Datenverbindungslinie ver­ bundenen Dateneingabe- und Datenausgabegrenzstellen auf den so definierten Variablenbereich 12. Als Ergebnis wird, wie in Fig. 16(b) gezeigt, eine Verbindung zur Datenzusammenführung zwischen der Datenverbindungslinie an der Anfangsposition der Linienverbindung und der Datenverbindungslinie an der Endposi­ tion der Linienverbindung verwirklicht.
Obwohl in dem oben beschriebenen Ablauf nicht beschrieben, weist der GUI-Abschnitt 20 eine Funktion zur Zurückweisung ei­ ner Anforderung zur Erstellung einer Verbindung zwischen einer Ereignisgrenzstelle (event terminal) und einer Dateneingabe­ grenzstelle, einer Anforderung zur Erstellung einer Verbindung zwischen einer Ereignisgrenzstelle und einer Datenausgabe­ grenzstelle, einer Anforderung zur Erstellung einer Verbindung zwischen Dateneingabe- und Datenausgabegrenzstellen, die ver­ schiedene Datentypen haben, und einer Anforderung zur Erstel­ lung einer Verbindung zwischen Grenzstellen, die bereits ver­ bunden worden sind, auf. Der GUI-Abschnitt 20 weist eine wei­ tere Funktion auf, so daß, wenn die Verarbeitung aufgrund ei­ nes Fehlers beendet wird, der GUI-Abschnitt 20 eine dem Fehler entsprechende Verarbeitung, wie die Bereitstellung einer An­ zeige, die den Benutzer über den Grund informiert, warum eine Verbindung nicht erstellt werden konnte, ausführt.
Darüber hinaus weist der GUI-Abschnitt 20 die folgende Funkti­ on auf. Wenn eine Datenverbindungslinie, wie in Fig. 17 ge­ zeigt, als eine Anfangsposition einer Linienverbindung ausge­ wählt wird, hebt der GUI-Abschnitt 20 Datenverbindungslinien hervor, die bereits mit der ausgewählten Datenverbindungslinie verbunden sind, um hierdurch klar die Grenzstellen von Funkti­ onsblöcken des ereignisgesteuerten Typs anzuzeigen, die be­ reits mit der ausgewählten Datenverbindungslinie verbunden worden sind.
Die hervorgehobene Anzeige kann auf Ereignisverbindungslinien zwischen benachbarten Funktionsblöcken als Annehmlichkeit für den Benutzer angewendet werden. Ein Ereignis, das zu einem an­ deren Funktionsblock auf der in Bezug auf eine Verbindungspo­ sition oberen Seite abzweigt, beeinflußt jedoch nicht Funkti­ onsblöcke auf der in bezug auf die Verbindungsposition unteren Seite. Daher kann die hervorgehobene Anzeige so ausgeführt werden, daß ein Teil der Ereignislinie, die das nicht wirkende Ereignis überträgt, nicht hervorgehoben wird.
Wie oben beschrieben, wird in der funktionsblockverarbeitenden Vorrichtung 1 der vorliegenden Erfindung, wenn eine Signalli­ nie gesetzt wird, um eine Verbindung zwischen Datenverarbei­ tungsblöcken von ereignisgesteuerten Funktionsblöcken zu er­ stellen, einen Variablenbereich 12 für Datentransfer für die so erstellte Verbindung gesetzt, und ein Zeiger auf den Varia­ blenbereich 12 wird für jeden der ereignisgesteuerten Funkti­ onsblöcke zugewiesen, so daß jeder der Datenverarbeitungsblöcke Daten von dem Variablenbereich 12 einliest und Daten an den Variablenbereich 12 ausgibt.
Bei der funktionsblockverarbeitenden Vorrichtung der vorlie­ genden Erfindung mit der oben beschriebenen Konfiguration wer­ den von ereignisgesteuerten Funktionsblöcken der Datenausgabe­ seite ausgegebene Daten sofort in den Variablenbereich 12 ge­ schrieben und wenn ein Ereignis übertragen wird, kann der er­ eignisgesteuerte Funktionsblock der Dateneingabeseite, der ei­ ne Dateneingabefunktion bereitstellt, Daten unverändert aus dem Variablenbereich 12 lesen. Daher kann keine Verwirrung in bezug auf die Datenquellen, von denen Daten gelesen werden, entstehen und so wird eine Verbindung für Datenzusammenführung verwirklicht.
Wenn Programmierung unter Benutzung von Funktionsblöcken vom ereignisgesteuerten Typ durchgeführt wird, kann eine Datenzu­ sammenführungsoperation durch eine einfache Operation des Er­ stellens von Datenverbindungslinien verwirklicht werden. Daher wird es möglich, einen ereignisgesteuerten Funktionsblock mit einer Auswahlfunktion zu eliminieren, um dadurch den Speicher­ bedarf bzw. die Kapazität deutlich zu reduzieren. Die Vermin­ derung der Speicherkapazität bzw. des -bedarfs ist auch auf die Tatsache zurückzuführen, daß es nicht erforderlich ist, den Variablenbereich 12 für jede der Dateneingabe-/-aus­ gabegrenzstellen der ereignisgesteuerten Funktionsblöcke bereitzustellen.
Herkömmlicherweise muß während der Ausführung der Anwendungs­ funktion eine Kopieroperation ausgeführt werden, um Daten zwi­ schen Variablenbereichen, die für die Grenzstellen von ereig­ nisgesteuerten Funktionsblöcken erstellt sind, zu übermitteln. Bei der vorliegenden Erfindung dagegen werden von einem ereig­ nisgesteuerten Funktionsblock auf der Datenausgabeseite ausge­ gebene Daten direkt in den Variablenbereich 12 geschrieben, aus dem Daten direkt von einem ereignisgesteuerten Funktions­ block der Dateneingabeseite gelesen werden. Daher wird die oben beschriebene Kopieroperation überflüssig und die Anwen­ dungsfunktion kann mit höherer Geschwindigkeit ausgeführt wer­ den.
Wenn eine Konfiguration, die Datenzusammenführung erlaubt, verwendet wird, entspricht ein in dem Variablenbereich 12 ge­ speicherter Datensatz dem neuesten von mehreren von ereignis­ gesteuerten Funktionsblöcken aus gegebenen und zusammenzufüh­ renden Datensätzen.
Aus diesem Grund weist der GUI-Abschnitt 20 eine Funktion der Identifizierung eines ereignisgesteuerten Funktionsblocks, der während der Ausführung der Anwendungsfunktion durch den FB- Ausführungsabschnitt 40 Daten in den Variablenbereich 12 ge­ schrieben hat, auf.
Zum Beispiel werden, wie in Fig. 18 gezeigt, die Werte von in den Variablenbereich 12 geschriebenen Daten benachbart zu ei­ nem ereignisgesteuerten Funktionsblock, der die Daten ausgege­ ben hat, und auch benachbart zu einem ereignisgesteuerten Block, der die Daten liest, angezeigt. Als Ergebnis kann der Benutzer leicht den ereignisgesteuerten Funktionsblock identi­ fizieren, der Daten in den Variablenbereich 12 geschrieben hat.
Der in den Variablenbereich 12 geschriebene Datensatz ist der neueste von von ereignisgesteuerten Funktionsblöcken auf der Datenausgabeseite ausgegebenen Datensätzen und der zuvor in den Variablenbereich 12 geschriebene Datensatz wurde durch Überschreiben mit dem neuesten Datensatz gelöscht.
In dem Fall, in dem die oben beschriebene Konfiguration wegen eines bestimmten Problems nicht benutzt werden kann, muß ein Variablenbereich 12 eines FIFO-Typs (first-in-first-out-Typs) verwendet werden. Ein solcher Variablenbereich 12 ermöglicht einen Betrieb derart, daß ein Datensatz, der zuerst ausgegeben wird, und folgende Datensätze nacheinander in dem Variablenbe­ reich 12 gespeichert werden, und Datensätze in der gleichen Reihenfolge, von dem ersten Datensatz ausgehend, jedesmal wenn der ereignisgesteuerte Funktionsblock der Dateneingabeseite eine Datenleseanforderung ausgibt, gelesen werden. Daher kann das Problem des Löschens im Zusammenhang mit dem Überschreiben gelöst werden.
In der oben beschriebenen Ausführungsform der vorliegenden Er­ findung wird ein Variablenbereich 12 für eine Verbindung zwi­ schen den Datenverarbeitungsblöcken von ereignisgesteuerten Funktionsblöcken gesetzt und ein Zeiger zum Zeigen auf den Va­ riablenbereich 12 jedem der Datenverarbeitungsblöcke zugeord­ net, so daß jeder der Datenverarbeitungsblöcke Daten von dem Variablenbereich 12 einliest oder Daten an den Variablenbe­ reich 12 ausgibt. Jedoch kann ein Verfahren angewendet werden, bei dem in Reaktion auf eine Benutzeranforderung, die Konfigu­ ration gemäß der vorliegenden Erfindung und die herkömmliche Konfiguration, bei der ein Variablenbereich für jede der Grenzstellen von ereignisgesteuerten Funktionsblöcken gesetzt wird, selektiv in gemischter Weise verwendet werden, wobei die Auswahl zwischen den beiden Konfigurationen für jeden von ver­ schiedenen Teilen einer Anwendungsfunktion gemacht wird.
Wie oben beschrieben, kann nach der vorliegenden Erfindung ei­ ne Verbindung, die Datenzusammenführung erlaubt, zwischen er­ eignisgesteuerten Funktionsblöcken erstellt werden, so daß ei­ ne durch zwischen ereignisgesteuerten Funktionsblöcken er­ stellte Verbindungen definierte Anwendungsfunktion effizient programmiert werden kann.
Da direkte Verbindungen zwischen ereignisgesteuerten Funkti­ onsblöcken ohne die Benutzung von ereignisgesteuerten Funkti­ onsblöcken mit einer Auswahlfunktion erstellt werden können, kann zusätzlich die Speicherkapazität reduziert werden. Dar­ über hinaus kann eine Anwendungsfunktion mit größerer Ge­ schwindigkeit ausgeführt werden, da eine Kopieroperation für den Datentransfer zwischen ereignisgesteuerten Funktionsblöcken während der Ausführung der Anwendung nicht durchgeführt zu werden braucht.

Claims (17)

1. Verfahren zur Programmierung einer Anwendungsfunktion durch Verbindung mehrerer Funktionsblöcke des ereignisgesteu­ erten Typs, von denen jeder aus einem Datenverarbeitungsblock und einem Ereignisverarbeitungsblock zusammengesetzt ist,
wo­ bei das Verfahren mindestens einen ersten und einen zweiten Verarbeitungsschritt aufweist, und
wobei wenn eine erste Datensignalverbindung gesetzt wird, um eine Verbindung zwischen ersten und zweiten Funktionsblöcken vom ereignisgesteuerten Typ zu erstellen, der erste Bear­ beitungsschritt ausgeführt wird, um einen ersten der erstell­ ten Verbindung entsprechenden und für Datentransfer angepaßten Variablenbereich zu erstellen und
ein zweiter Verfahrensschritt zur Zuweisung eines Zeigers zum Zeigen auf den ersten Variablenbereich zu den ersten und zweiten Funktionsblöcken vom ereignisgesteuerten Typ ausge­ führt wird, so daß die ersten und zweiten Funktionsblöcke vom ereignisgesteuerten Typ Daten an den ersten Variablenbereich ausgeben und Daten von dem ersten Variablenbereich einlesen.
2. Programmierverfahren nach Anspruch 1, bei dem in dem er­ sten Verfahrensschritt der erste der Datensignalverbindung entsprechende Variablenbereich für Datentransfer durch Auswahl eines von mehreren Variablenbereichen, die erzeugt wurden, als die ersten und zweiten Funktionsblöcke des ereignisgesteuerten Typs erzeugt wurden, erstellt wird.
3. Programmierverfahren nach Anspruch 1, bei dem im ersten Verfahrensschritt als erster Variablenbereich ein Variablenbe­ reich des FIFO-Typs erstellt wird.
4. Programmierverfahren nach Anspruch 1, bei dem der erste Verfahrensschritt aufweist:
einen Verarbeitungsschritt zum Erstellen einer zweiten Da­ tensignalverbindung, um eine Verbindung zwischen einem dritten Funktionsblock vom ereignisgesteuerten Typ und der ersten den ersten und zweiten Funktionsblock vom ereignisgesteuerten Typ miteinander verbindenden Datensignalverbindung zu erstellen, und
ein Verarbeitungsschritt zum Erstellen eines zweiten, der erstellten Verbindung entsprechenden und für Datentransfer an­ gepaßten Variablenbereichs.
5. Programmierverfahren nach Anspruch 4, bei dem der zweite der zweiten Datensignalverbindung entsprechende Variablenbe­ reich für Datentransfer durch Auswahl entweder des in Reaktion auf das Erstellen der ersten Datensignalverbindung erstellten ersten Variablenbereichs oder eines von mehreren Variablenbe­ reichen, die erstellt wurden, als der dritte Funktionsblock des ereignisgesteuerten Typs erzeugt wurde, erstellt wird.
6. Programmierverfahren nach Anspruch 4, bei dem im ersten Verarbeitungsschritt als zweiter Variablenbereich ein Varia­ blenbereich vom FIFO-Typ erstellt wird.
7. Programmierverfahren nach Anspruch 1, bei dem der erste Verarbeitungsschritt aufweist:
einen Verarbeitungsschritt zum Erstellen einer dritten Da­ tensignalverbindung zum Erstellen einer Verbindung zwischen dritten und vierten Funktionsblöcken vom ereignisgesteuerten Typ,
einen Verarbeitungsschritt zum Erstellen einer vierten Da­ tensignalverbindung, um eine Verbindung zwischen der ersten den ersten und zweiten Funktionsblock vom ereignisgesteuerten Typ miteinander verbindenden Datensignalverbindung und der dritten die dritten und vierten Funktionsblöcke vom ereignis­ gesteuerten Typ miteinander verbindenden Datensignalverbindung zu erstellen und
einen Verarbeitungsschritt zum Erstellen eines dritten, der erstellten Verbindung entsprechenden und für Datentransfer angepaßten Variablenbereichs.
8. Programmierverfahren nach Anspruch 7, bei dem als Antwort auf das Setzen der dritten, die dritten und vierten Funktions­ blöcke vom ereignisgesteuerten Typ miteinander verbindenden Datensignalverbindung für die erstellte Verbindung ein vierter Variablenbereich für Datentransfer erstellt wird, und der dritte, der vierten Datensignalverbindung entsprechen­ de Variablenbereich für Datentransfer durch Auswahl entweder des ersten, für die erste, die ersten und zweiten Funktions­ blöcke vom ereignisgesteuerten Typ miteinander verbindende Da­ tensignalverbindung erstellten Variablenbereichs oder des vierten, für die dritte, die dritten und vierten Funktions­ blöcke vom ereignisgesteuerten Typs miteinander verbindende Datensignalverbindung erstellten Variablenbereichs erstellt wird.
9. Programmierverfahren nach Anspruch 7, bei dem im ersten Verarbeitungsschritt als dritter Variablenbereich ein Varia­ blenbereich von FIFO-Typ erstellt wird.
10. Programmaufzeichnungsmedium, auf dem ein Programm zur Aus­ führung eines Verfahrens zur Programmierung einer Anwendungs­ funktion durch Verbindung mehrerer Funktionsblöcke vom ereig­ nisgesteuerten Typs, von denen jeder aus einem Datenverarbei­ tungsblock und einem Ereignisverarbeitungsblock zusammenge­ setzt ist, und das ein Programm speichert, um einen Computer dazu zu veranlassen, einen Erstellungs- und einen Zuweisungs­ prozeß durchzuführen, wobei,
wenn eine Datensignalverbindung erstellt wird, um eine Verbindung zwischen ersten und zweiten Funktionsblöcken vom ereignisgesteuerten Typ zu erstellen, der Erstellungsprozeß einen ersten, der erstellten Verbindung entsprechenden und für Datentransfer angepaßten Variablenbereich erstellt, und
der Zuweisungsprozeß einen Zeiger zum Zeigen auf den er­ sten Variablenbereich sowohl den ersten als auch zweiten Funk­ tionsblöcken des ereignisgesteuerten Typs zuweist, so daß die ersten und zweiten Funktionsblöcke vom ereignisgesteuerten Typ Daten an den ersten Variablenbereich ausgeben und Daten vom ersten Variablenbereich einlesen.
11. Vorrichtung zur Programmierung einer Anwendungsfunktion durch Verbindung mehrerer Funktionsblöcke vom ereignisgesteu­ erten Typ, von denen jeder aus einem Datenverarbeitungsblock und einem Ereignisverarbeitungsblock zusammengesetzt ist, ent­ haltend mindestens einen Erstellungsabschnitt und einen Zuwei­ sungsabschnitt, wobei,
wenn eine erste Datensignalverbindung erstellt wird, um eine Verbindung zwischen ersten und zweiten Funktionsblöcken vom ereignisgesteuerten Typ zu erstellen, der Erstellungsab­ schnitt einen ersten, der erstellten Verbindung entsprechenden und für Datentransfer angepaßten Variablenbereich erstellt, und
der Zuweisungsabschnitt einen Zeiger zum Zeigen auf den ersten Variablenbereichs sowohl den ersten als auch zweiten Funktionsblöcke des ereignisgesteuerten Typs zuweist, so daß die ersten und zweiten Funktionsblöcke des ereignisgesteuerten Typs Daten zu dem Variablenbereich ausgeben und Daten von dem Variablenbereich einlesen.
12. Programmiervorrichtung nach Anspruch 11, bei der der Er­ stellungsabschnitt als ersten Variablenbereich einen Varia­ blenbereich vom FIFO-Typ erstellt.
13. Programmiervorrichtung nach Anspruch 11, bei der, wenn ei­ ne zweite Datensignalverbindung erstellt wird, um eine Verbin­ dung zwischen einem dritten Funktionsblock vom ereignisgesteu­ erten Typ und der ersten, die ersten und zweiten Funktions­ blöcke vom ereignisgesteuerten Typ miteinander verbindenden Datensignalverbindung zu erstellen, der Erstellungsabschnitt einen zweiten der erstellten Verbindung entsprechenden und für Datentransfer angepaßten Variablenbereich erstellt.
14. Programmiervorrichtung nach Anspruch 13, bei der der Er­ stellungsabschnitt als zweiten Variablenbereich einen Varia­ blenbereich vom FIFO-Typ erstellt.
15. Programmiervorrichtung nach Anspruch 11, bei der, wenn ei­ ne vierte Datensignalverbindung erstellt wird, um eine Verbin­ dung zwischen der ersten, die ersten und zweiten Funktions­ blöcke vom ereignisgesteuerten Typ miteinander verbindenden Datensignalverbindung und einer dritten, dritte und vierte Funktionsblöcke vom ereignisgesteuerten Typ miteinander ver­ bindenden Datensignalverbindung zu erstellen, der Erstellungs­ abschnitt einen dritten, der erstellten Verbindung entspre­ chenden und für Datentransfer angepaßten Variablenbereich er­ stellt.
16. Programmiervorrichtung nach Anspruch 15, bei der der Er­ stellungsabschnitt als dritten Variablenbereich einen Varia­ blenbereich vom FIFO-Typ erstellt.
17. Computerlesbares Aufzeichnungsmedium, auf dem eine Anwen­ dungsfunktion gespeichert ist, die durch Verbindung mehrerer Funktionsblöcke vom ereignisgesteuerten Typ programmiert wur­ de, von denen jeder aus einem Datenverarbeitungsblock und ei­ nem Ereignisverarbeitungsblock zusammengesetzt ist, wobei die Anwendungsfunktion ausführt:
Datentransfers zwischen ersten und zweiten Funktionsblöcken vom ereignisgesteuerten Typ unter Benutzung eines ersten, für eine erste zwischen den ersten und zweiten Funktionsblöcken vom ereignisgesteuerten Typ erstellten Signalverbindung bereitgestellten Variablenbereichs,
Datentransfers zwischen einem dritten Funktionsblock vom ereignisgesteuerten Typ und der ersten, die ersten und zweiten Funktionsblöcke vom ereignisgesteuerten Typ miteinander ver­ bindenden Datensignalverbindung unter Benutzung eines zweiten, für eine zweite, zwischen dem dritten Funktionsblock vom er­ eignisgesteuerten Typ und der ersten, die ersten und zweiten Funktionsblöcke vom ereignisgesteuerten Typ miteinander ver­ bindenden Datensignalverbindung erstellten Signalverbindung bereitgestellten Variablenbereichs, und
Datentransfers zwischen der ersten, die ersten und zweiten Funktionsblöcke vom ereignisgesteuerten Typ miteinander ver­ bindenden Datensignalverbindung und einer vierten, vierte und fünfte Funktionsblöcke vom ereignisgesteuerten Typ miteinander verbindenden Datensignalverbindung unter Benutzung eines drit­ ten, für die vierte, zwischen der ersten die ersten und zwei­ ten Funktionsblöcke vom ereignisgesteuerten Typ miteinander verbindenden Signalverbindung und der dritten, die vierten und fünften Funktionsblöcke vom ereignisgesteuerten Typ miteinan­ der verbindenden Signalverbindung erstellten Datensignalver­ bindung bereitgestellten Variablenbereichs.
DE19934462A 1998-07-27 1999-07-27 Verfahren und Vorrichtung zur Programmierung unter Benutzung von Funktionsblöcken des ereignisgesteuerten Typs und Programmaufzeichnungsmedium, das ein Programm zur Ausführung des Verfahrens speichert Withdrawn DE19934462A1 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10210639A JP2000047857A (ja) 1998-07-27 1998-07-27 イベント駆動型ファンクションブロックのプログラミング方法とプログラム記録媒体

Publications (1)

Publication Number Publication Date
DE19934462A1 true DE19934462A1 (de) 2000-02-24

Family

ID=16592647

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19934462A Withdrawn DE19934462A1 (de) 1998-07-27 1999-07-27 Verfahren und Vorrichtung zur Programmierung unter Benutzung von Funktionsblöcken des ereignisgesteuerten Typs und Programmaufzeichnungsmedium, das ein Programm zur Ausführung des Verfahrens speichert

Country Status (3)

Country Link
US (1) US6434737B1 (de)
JP (1) JP2000047857A (de)
DE (1) DE19934462A1 (de)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6510351B1 (en) * 1999-03-15 2003-01-21 Fisher-Rosemount Systems, Inc. Modifier function blocks in a process control system
DE10197097B4 (de) * 2001-03-29 2012-02-23 Mitsubishi Denki K.K. Programmierwerkzeug
JP3963174B2 (ja) * 2003-03-14 2007-08-22 オムロン株式会社 表示・編集装置及び表示方法並びにプログラム
JP2006344076A (ja) * 2005-06-09 2006-12-21 Nec Electronics Corp プログラム生成装置、プログラム生成方法及びプログラム
US7895578B2 (en) * 2005-06-13 2011-02-22 Business Objects Software Ltd. Apparatus and method for using connector components to provide connectivity to interactive graphics representative of input and output data
EP1873634A3 (de) * 2006-06-29 2013-10-09 Rockwell Automation Technologies, Inc. HMI-Rahmen für Engineering-Plattformen erweiterbarer Automatisierungssysteme
US8683017B2 (en) * 2006-09-29 2014-03-25 Rockwell Automation Technologies, Inc. Web-based configuration of distributed automation systems
US8028045B2 (en) * 2006-09-29 2011-09-27 Rockwell Automation Technologies, Inc. Web-based configuration server for automation systems
EP2838015A1 (de) * 2013-08-13 2015-02-18 Danfoss Power Solutions GmbH & Co. OHG Abhängigkeitswerkzeug zur Verwendung bei graphischer Programmierung
DE112013007560T5 (de) * 2013-10-31 2016-08-11 Mitsubishi Electric Corporation Programmerzeugungsgerät, Programmerzeugungsverfahren und Programm
CN109271153B (zh) * 2018-08-22 2022-03-11 深圳点猫科技有限公司 一种基于编程教育系统获取编程语言的方法以及电子设备
JP6727675B1 (ja) * 2019-09-05 2020-07-22 株式会社コマースロボティクス 情報処理システム、情報処理方法及び情報処理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5404319A (en) * 1993-02-11 1995-04-04 Analog, Inc. Translation of behavioral modeling properties into an analog hardware description language
US5590266A (en) * 1994-10-11 1996-12-31 International Business Machines Corporation Integrity mechanism for data transfer in a windowing system
US5909368A (en) * 1996-04-12 1999-06-01 Fisher-Rosemount Systems, Inc. Process control system using a process control strategy distributed among multiple control elements
US5801942A (en) * 1996-04-12 1998-09-01 Fisher-Rosemount Systems, Inc. Process control system user interface including selection of multiple control languages
US5768119A (en) * 1996-04-12 1998-06-16 Fisher-Rosemount Systems, Inc. Process control system including alarm priority adjustment
US5970430A (en) * 1996-10-04 1999-10-19 Fisher Controls International, Inc. Local device and process diagnostics in a process control network having distributed control functions
US5938745A (en) * 1997-06-25 1999-08-17 Intel Corporation Arbitrator for modem in a system without shared process space that passes a duplicate handle to a first listening application with matching identification string

Also Published As

Publication number Publication date
JP2000047857A (ja) 2000-02-18
US6434737B1 (en) 2002-08-13

Similar Documents

Publication Publication Date Title
DE3416939C2 (de)
DE19934462A1 (de) Verfahren und Vorrichtung zur Programmierung unter Benutzung von Funktionsblöcken des ereignisgesteuerten Typs und Programmaufzeichnungsmedium, das ein Programm zur Ausführung des Verfahrens speichert
DE4416704A1 (de) Integrationstestverfahren für ein objektorientiertes Programm
DE3850444T2 (de) Progammverwaltungsverfahren für verteilte Verarbeitungssysteme und angepasste Vorrichtung.
DE4104568A1 (de) Verfahren und vorrichtung zur programmverarbeitung
DE3855574T2 (de) Schnelles Verfahren zur bidirektionalen Inferenz-Strategie
DE69129776T2 (de) Verfahren und Gerät zur Bilddatenverarbeitung
DE3200626C2 (de) Verfahren zur Überprüfung, ob ein außer dem Hauptspeicher vorgesehener weiterer Speicher in ein Mikrocomputersystem eingefügt ist
DE69031361T2 (de) Taktsignalgeneratorsystem
DE3841214C2 (de) Vorrichtung zur Behandlung von Statusdaten in einem Mehreinheitensystem
DE19854754A1 (de) Verfahren, Editor, Rechner, Steuermodul und Speichermittel zum Editieren von Konfigurationsdaten für Telekommunikationssysteme
DE69023849T2 (de) Verfahren zur Erfassung und Speicherung von Daten.
DE10140780A1 (de) Programmodul-Managementsystem und Verfahren davon und Speichermedium von Managementprogrammen des Systems
DE102020119853B3 (de) Verfahren zum Steuern eines Automatisierungssystems mit Visualisierung von Programmobjekten eines Steuerprogramms des Automatisierungssystems und Automatisierungssystem
EP1593007A2 (de) Verfahren zur ermittlung der verarbeitungsreihenfolge von funktionsbausteinen eines automatisierungssystems und automatisierungssystem
EP1987478A1 (de) Verfahren zur prozessoptimierung
DE19520771A1 (de) Schnittstelleneinrichtung
DE112018006908T5 (de) Datenverwaltungssystem, Steuerung, Datenverwaltungsvorrichtung, Datenverwaltungsverfahren und Datenverwaltungsprogramm
DE3750602T2 (de) Verfahren zur Aufnahme von Zeitparametern in der Synthesis von logischen Schaltungsentwürfen.
DE2523795B2 (de)
DE4116309C2 (de) Steuerverfahren für eine Produktionsanlage unter Durchführung eines Inferenzvorganges
EP0740806B1 (de) Verfahren zur steuerung eines technischen prozesses nach dem prinzip des endlichen automaten
EP0284605B1 (de) Software-werkzeug zur automatischen erzeugung einer funktionsplangraphik
DE19728971A1 (de) Datenverarbeitungsvorrichtung und -verfahren
DE10220283B4 (de) Methode und System für lokale Operationen in einer Transaktionsumgebung

Legal Events

Date Code Title Description
8141 Disposal/no request for examination