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 speichertInfo
- 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
Links
- 238000012546 transfer Methods 0.000 title claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 112
- 238000000034 method Methods 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 abstract description 176
- 238000013479 data entry Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 11
- 238000012937 correction Methods 0.000 description 4
- 229940036310 program Drugs 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/34—Graphical 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.
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.
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.
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.
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.
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.
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.
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)
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)
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 |
-
1998
- 1998-07-27 JP JP10210639A patent/JP2000047857A/ja active Pending
-
1999
- 1999-07-27 DE DE19934462A patent/DE19934462A1/de not_active Withdrawn
- 1999-07-27 US US09/361,169 patent/US6434737B1/en not_active Expired - Fee Related
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 |