-
Die
vorliegende Erfindung betrifft allgemein Funktionsblöcke zur
Verwendung in Prozessanlagen und insbesondere die Gestaltung, Fehlersuche
und Implementierung von zu einer Prozessanlage gehörenden Booleschen
Logikfunktionen.
-
Prozesssteuersysteme,
wie sie beispielsweise in chemischen, petrochemischen oder anderen
Prozessen verwendet werden, enthalten typischerweise eine oder mehrere
Prozesssteuereinrichtungen, die mit mindestens einer Host- oder
Bedienerworkstation und mit einer oder mehreren Anlageneinrichtungen über analoge,
digitale oder kombinierte analoge/digitale Busse oder Leitungen
kommunikativ verbunden sind. Die Anlageneinrichtungen, welche zum
Beispiel Ventile, Ventilstellmechanismen, Schalter und Geber (z.B.
Temperatur-, Druck- und Durchflußsensoren) sein können, führen im
Prozess Funktionen wie das Öffnen
oder Schließen
von Ventilen und das Messen von Prozessparametern durch. Die Prozesssteuereinrichtungen
empfangen Signale, welche von den Anlageneinrichtungen vorgenommene
Prozessmessungen melden, und/oder andere die Anlageneinrichtungen
betreffende Informationen, verwenden diese Informationen, um Steuerroutinen
zu implementieren, und erzeugen dann Steuersignale, welche über die
Busse oder Leitungen an die Anlageneinrichtungen gesendet werden,
um den Betriebsablauf des Prozesses zu steuern. Informationen von
den Anlageneinrichtungen und den Steuereinrichtungen werden üblicherweise
einer oder mehreren von der Bediener-Workstation ausgeführten Anwendungen
verfügbar
gemacht, um einen Bediener in die Lage zu versetzen, jede gewünschte Funktion
bezüglich
des Prozesses, beispielsweise das Konfigurieren des Prozesses, das
Betrachten des aktuellen Zustands des Prozesses, das Verändern des
Betriebsablaufs des Prozesses etc., durchzuführen.
-
Verschiedene
Werkzeuge zum Gestalten von Steuerroutinen wurden entwickelt. Beispielsweise
hat die Internationale Elektrotechnische Komnission (IEC) eine Norm
für programmierbare
Steuereinrichtungs-Sprachen entwickelt: die Norm IEC 61131-3. Die
Norm IEC 61131-3 legt verschiedene grafische Programmiertechniken
fest.
-
Eine
in der Norm IEC 61131-3 festgelegte grafische Technik wird allgemein
als "Kontaktplan" bezeichnet. Die
Kontaktplan-Technik basiert auf der herkömmlichen Relais-Leiterlogik.
Unter Verwendung des Kontaktplans kann ein Programmierer eine standardisierte
Symbolmenge grafisch anordnen, um Darstellungen von logischen Gleichungen
zu erschaffen. Eine weitere in der Norm IEC 61131-3 festgelegte
grafische Technik wird allgemein als ein "Funktionsblockdiagramm" bezeichnet. In einem
Funktionsblockdiagramm kann ein Programmierer verschiedene Funktionsblöcke grafisch
miteinander verbinden, wobei jeder Funktionsblock eine festgelegte
Funktion ausführt.
Die Norm IEC 61131-3 bietet Standard-Funktionsblöcke zur Durchführung einer großen Vielzahl
von Operationen. Beispielsweise können standardisierte Funktionsblöcke logische
Funktionen, wie zum Beispiel eine UND- oder eine ODER-Funktion durchführen. Zusätzlich können Programmierer und
Vertreiber ihre eigenen Funktionsblöcke erschaffen. Ein Programmierer
kann verschiedene Funktionsblöcke
miteinander "verdrahten", um eine komplexere
Funktion zu gestalten.
-
Bei
der Gestaltung von komplexen logischen Funktionen können ein
Kontaktplan oder ein Funktionsblockdiagramm zu einem sehr komplexen
visuellen Gebilde anwachsen. Auf Grund der visuellen Komplexität kann es
für eine
Person schwierig sein, die zugrundeliegende Logik des Diagramms
zu verstehen und/oder dieser zu folgen. Die visuelle Komplexität eines
Diagramms kann auch die Fehlersuche bei der Gestaltung der Logikfunktion
sehr schwierig machen.
-
Es
ist Aufgabe der vorliegenden Erfindung, ein Verfahren und eine Vorrichtung
aufzuzeigen, bei denen die vorstehend im Stand der Technik aufgezeigten
Probleme beseitigt werden.
-
Die
Lösung
der Aufgabe ergibt sich aus den Patentansprüchen. Unteransprüche beziehen
sich auf bevorzugte Ausführungsformen
der Erfindung. Dabei sind auch andere Kombinationen von Merkmalen
als die beanspruchten möglich.
-
Eine
Technik zum Konfigurieren eines Funktionsblocks mit Boolescher Logik
zeigt eine zu dem Funktionsblock mit Boolescher Logik gehörende Matrix
auf einem Anzeigebildschirm eines Computers an. Ein Programmierer
kann dann Konfigurationsdaten in die Matrix eingeben, um den Funktionsblock
mit Boolescher Logik zu konfigurieren. In einem Beispiel kann die
Matrix eine Vielzahl von Zellen enthalten, von welchen einige Variablen
entsprechen, die bei der Erzeugung des Ausgangs eines Funktionsblocks
zu verwenden sind, und der Programmierer kann Konfigurationsdaten
in die Zellen eingeben. Die in die Zellen eingegebenen Konfigurationsdaten
zeigen Logikfunktionen an, welchen die den Zellen entsprechenden
Variablen als Eingänge
zuzuführen
sind.
-
In
einer Ausführungsform
kann die Matrix eine erste Vielzahl von Zellen und eine zweite Vielzahl
von Zellen enthalten. Der Programmierer kann Konfigurationsdaten
in die erste Vielzahl von Zellen eingeben, die Logikfunktionen anzeigen,
gemäß welchen
eine Vielzahl von Zwischenwerten auf der Basis einer Vielzahl von Variablen
zu bestimmen sind. Zusätzlich
kann der Programmierer Konfigurationsdaten in die zweite Vielzahl von
Zellen eingeben, die eine Logikfunktion anzeigen, gemäß welcher
der Funktionsblockausgang auf der Basis der Vielzahl von Zwischenwerten
zu bestimmen ist.
-
In
einer anderen Ausführungsform
kann eine Matrixdarstellung, die zu einem Ausgang eines Funktionsblocks
mit Boolescher Logik gehört,
verwendet werden, um die Fehlersuche in dem Funktionsblock zu erleichtern.
Die Matrix kann auf der Anzeigeeinrichtung eines Computers angezeigt
werden und kann in einem Beispiel eine Vielzahl von Zellen zum Anzeigen
von Zwischenresultaten enthalten, die bei der Erzeugung des Ausgangs
des Funktionsblocks verwendet werden. Die Vielzahl der Zwischenresultate
kann auf der Basis einer Vielzahl von Werten bestimmt werden, die
beispielsweise Testeingängen
in den Funktionsblock entsprechen.
-
Die
Merkmale und Vorteile des hierin beschriebenen Verfahrens und der
Vorrichtung werden nachfolgend unter Bezug auf die beigefügte Zeichnung
im Detail beschrieben.
-
1 ist ein Blockdiagramm
eines Beispiels einer Prozessanlage;
-
2 ist ein Blockdiagramm
eines Beispiels einer schematisch in 1 gezeigten
Workstation;
-
3 ist ein Beispiel einer
Anzeige, die ein Steuermodul darstellt;
-
4 ist ein Beispiel einer
Darstellung eines Funktionsblocks mit Boolescher Logik;
-
5 ist ein Beispiel einer
Matrix zum Konfigurieren und/oder zur Fehlersuche eines Funktionsblocks mit
Boolescher Logik;
-
6A ist ein erläuterndes
Beispiel von Konfigurationsdaten, die in die Matrix aus 5 eingegeben werden;
-
6B ist ein Blockdiagramm
einer Ausführungsform
einer Aquivalentlogikschaltung, die den Konfigurationsdaten aus 6A entspricht;
-
6C ist ein Blockdiagramm
einer weiteren Ausführungsform
einer Äquivalentlogikschaltung,
die den Konfigurationsdaten aus 6A entspricht;
-
7A ist ein weiteres erläuterndes
Beispiel von Konfigurationsdaten, die in die Matrix aus 5 eingegeben werden;
-
7B ist ein Blockdiagramm
einer Ausführungsform
einer Aquivalentlogikschaltung, die den Konfigurationsdaten aus 7A entspricht;
-
8A ist ein weiteres erläuterndes
Beispiel von Konfigurationsdaten, die in die Matrix aus 5 eingegeben werden;
-
8B ist ein Blockdiagramm
einer Ausführungsform
einer Äquivalentlogikschaltung,
die den Konfigurationsdaten aus 8A entspricht;
und
-
9 ist ein weiteres Beispiel
einer Matrix zum Konfigurieren und/oder zur Fehlersuche eines Funktionsblocks
mit Boolescher Logik.
-
Übersicht über die
Prozessanlage
-
1 ist ein Blockdiagramm
eines Beispiels einer Prozessanlage 10, die einen oder
mehrere Knoten 12, 14, 16, 18 und 20 enthält. In dem
Beispiel der Prozessanlage 10 in 1 enthält jeder der Knoten 12, 14 und 16 eine
Prozesssteuereinrichtung 12a, 14a, 16a,
die über
Eingangs/Ausgangseinrichtungen (I/O) 24, bei denen es sich
beispielsweise um Foundation Fieldbus-Schnittstellen, HART-Schnittstellen
etc. handeln kann, mit einer oder mehreren Anlageneinrichtungen 22 und 23 verbunden
ist. Die Steuereinrichtungen 12a, 14a und 16a sind
ferner mit einer oder mehreren Host- oder Bediener-Workstations 18a und 20a in
den Knoten 18 und 20 und über ein Netz 30, das
beispielsweise einen Bus, ein drahtgebundenes lokales Netz (LAN),
wie zum Beispiel ein Ethernet LAN, ein drahtloses LAN, einen Weitverkehrsnetz
(WAN), ein Intranet oder mehrere derartige Verbindungen umfassen
kann, verbunden. Während
die Steuereinrichtungsknoten 12, 14, 16 und
die zugehörigen
Eingänge/Ausgänge und
Anlageneinrichtungen 22, 23 und 24 typischerweise
in der mitunter rauen Anlagenumgebung angeordnet und verteilt sind,
sind die Bedienerworkstationknoten 18 und 20 gewöhnlich in Steuerständen oder
weniger rauen Umgebungen angeordnet, wo das Steuerungspersonal leichten
Zugang hat.
-
Allgemein
ausgedrückt
können
die Workstations 18a und 20a der Knoten 18 und 20 verwendet
werden, um Anwendungen zu speichern und auszuführen, die zum Konfigurieren
und Überwachen
der Prozessanlage 10 verwendet werden, und/oder um Einrichtungen 22, 23, 24 und
Steuereinrichtungen 12a, 14a, 16a in
der Prozessanlage 10 zu verwalten. Ferner kann eine Datenbank 32 mit
dem Netz 30 verbunden sein und als ein Datenarchiv und/oder
eine Konfigurationsdatenbank arbeiten, die die gegenwärtige Konfiguration
der Prozessanlage 10 speichert, wie sie innerhalb der Knoten 12, 14, 16, 18 und 20 heruntergeladen
und/oder gespeichert ist.
-
Jede
der Steuereinrichtungen 12a, 14a und 16a,
bei denen es sich beispielsweise um DeltaVTM Steuereinrichtungen
handeln kann, die von Emerson Process Management vertrieben werden,
kann eine Steuereinrichtungsanwendung speichern und ausführen, die
eine Steuerstrategie unter Verwendung einer Anzahl von verschiedenen,
unabhängig
ausgeführten
Steuermodulen oder Blöcken
implementiert. Die Steuermodule können jeweils aus Elementen
aufgebaut sein, die allgemein als Funktionsblöcke bezeichnet werden, wobei jeder
Funktionsblock ein Teil oder eine Subroutine einer Gesamtsteuerroutine
ist und in Zusammenhang mit anderen Funktionsblöcken (über als Links bezeichnete Kommunikationsverbindungen)
arbeitet, um Prozessregelkreise innerhalb der Prozessanlage 10 zu
implementieren. Bekanntlich führen
Funktionsblöcke
typischerweise entweder eine Eingangsfunktion (beispielsweise eine
zu einem Geber, einem Sensor oder einer anderen Prozessparametermesseinrichtung
gehörige),
eine Steuerfunktion (beispielsweise eine zu einer Steuerroutine gehörige, die
PID-, Fuzzy Logik- etc. -Steuerung ausführt) oder eine Ausgangsfunktion
aus, die den Betrieb einer Einrichtung (beispielsweise eines Ventils)
steuert, um eine physische Funktion innerhalb der Prozessanlage 10 auszuführen. Selbstverständlich gibt
es hybride Funktionsblöcke
und andere Arten von Funktionsblöcken,
die verwendet werden können.
Während
ein Fieldbus-Protokoll und das DeltaVTM Systemprotokoll
Steuermodule und Funktionsblöcke
verwenden können,
die in einem objektorientierten Programmierprotokoll gestaltet und
implementiert wurden, können
die Steuermodule unter Verwendung jedes gewünschten Steuerprogrammierschemas
gestaltet werden, darunter beispielsweise sequenzielle Funktionsblöcke, Kontaktplan
etc., und sind nicht auf die Gestaltung unter Verwendung von Funktionsblöcken oder
einer anderen bestimmten Programmiertechnik beschränkt. Typischerweise
kann die Konfiguration von Steuermodulen, wie sie innerhalb der
Prozesssteuerknoten 12, 14 und 16 gespeichert
ist, in der Konfigurationsdatenbank 32 gespeichert werden,
auf die von den Workstations 18a und 20a ausgeführte Anwendungen
Zugriff haben. Funktionsblöcke können beispielsweise
in der Steuereinrichtung 12a gespeichert und ausgeführt werden,
was typischerweise der Fall ist, wenn diese Funktionsblöcke für Standard
4–20mA- Einrichtungen und
einige Arten von intelligenten Anlageneinrichtungen, wie zum Beispiel
HART-Einrichtungen verwendet werden oder diesen zugehörig sind, oder
können
in den Anlageneinrichtungen selbst gespeichert und von diesen implementiert
werden, was bei Fieldbus-Einrichtungen der Fall sein kann.
-
In
dem in 1 gezeigten System
können
die Anlageneinrichtungen 22 und 23, die mit den
Steuereinrichtungen 12a, 14a und 16a gekoppelt
sind, Standard 4–20mA-Einrichtungen
sein, oder sie können
intelligente Anlageneinrichtungen sein, wie zum Beispiel HART-,
Profibus- oder Foundation Fieldbus-Anlageneinrichtungen, die einen
Prozessor und einen Speicher enthalten. Einige dieser Einrichtungen,
wie zum Beispiel Foundation Fieldbus-Anlageneinrichtungen (in 1 mit Bezugszeichen 23 bezeichnet)
können
Module oder Submodule, wie zum Beispiel Funktionsblöcke, die
zu der in den Steuereinrichtungen 12a, 14a und 16a implementierten
Steuerstrategie gehören,
speichern und ausführen.
Selbstverständlich
können
die Anlageneinrichtungen 22, 23 beliebige Arten
von Einrichtungen sein, wie zum Beispiel Sensoren, Ventile, Geber,
Stelleinrichtungen etc., und die I/O-Einrichtungen 24 können jede
Art von I/O-Einrichtungen
sein, die jedem gewünschten
Kommunikations- oder Steuereinrichtungsprotokoll entsprechen, wie
zum Beispiel HART, Foundation Fieldbus, Profibus etc.
-
Die
Steuereinrichtungen 12a, 14a und 16a enthalten
jeweils einen Prozessor, der eine oder mehrere in einem Speicher
gespeicherte Prozesssteuerroutinen implementiert oder überwacht,
welche Regelkreise einschließen
können,
die darin gespeichert sind oder anderweitig dazugehören. Die
Steuereinrichtungen 12a, 14a und 16a stehen
mit den Anlageneinrichtungen 22, 23, den Workstations 18a, 20a und
der Datenbank 32 in jeder gewünschten Weise in Kommunikation,
um einen Prozess zu steuern. Die Steuereinrichtungen 12a, 14a und 16a können jeweils
so konfiguriert sein, dass sie eine Steuerstrategie oder Steuerroutine
in jeder gewünschten
Weise implementieren.
-
2 ist ein Blockdiagramm
eines Beispiels einer Workstation 18a (die Workstation 20a kann
die gleichen oder ähnliche
Einrichtungen enthalten). Die Workstation 18a kann mindestens
einen Prozessor 50, einen flüchtigen Speicher 54 und
einen nichtflüchtigen
Speicher 58 enthalten. Der flüchtige Speicher 54 kann
beispielsweise einen Direktzugriffspeicher (RAM) enthalten. In einigen
Ausführungsformen
kann der RAM durch eine oder mehrere Batterien gesichert werden,
sodass bei einem Stromausfall kein Datenverlust auftritt. Der nichtflüchtige Speicher 58 kann
beispielsweise entweder eine Festplatte, einen Nurlesespeicher (ROM),
eine Compakt Disk ROM (CD-ROM) einen programmierbaren ROM (PROM),
einen löschbaren
programmierbaren ROM (EPROM), eine Digital Versatile Disk (DVD),
einen Flash-Speicher oder mehrere diese Elemente enthalten. Die
Workstation 18a kann ferner eine Workstation-I/O-Einrichtung 62 enthalten.
Der Prozessor 50, der flüchtige Speicher 54,
der nichtflüchtige
Speicher 58 und die Workstation-I/O-Einrichtung 62 können über einen Adress-/Datenbus 66 verbunden
sein. Die Workstation 18a kann ferner mindestens eine Anzeige 70 und
mindestens eine Benutzereingabeeinrichtung 74 enthalten,
bei der es sich beispielsweise entweder um eine Tastatur, einen
Tastenblock, eine Maus, einen Trackball, einen berührungsgesteuerten
Bildschirm, einen Lichtgriffel oder mehrere dieser Elemente handeln
kann. In einigen Ausführungsformen
können
entweder der flüchtige Speicher 54,
der nichtflüchtige
Speicher 58 und die Workstation-I/O-Einrichtung 62 oder
mehrere dieser Einrichtungen mit dem Prozessor 50 über einen
von dem Adress-/Datenbus 66 getrennten Bus (nicht dargestellt) verbunden
sein oder direkt mit dem Prozessor 50 verbunden sein.
-
Die
Anzeige 70 und die Benutzereingabeeinrichtung 74 sind
mit der Workstation-I/O-Einrichtung 62 verbunden.
Zusätzlich
ist die Workstation 18a über die Workstation-I/O-Einrichtung 62 mit
dem Netz 30 verbunden. Obgleich die Workstation-I/O-Einrichtung 62 in 3 als eine Einrichtung dargestellt
ist, kann sie mehrere Einrichtungen umfassen. Zusätzlich können in
einigen Ausführungsformen
entweder die Anzeige 70 oder die Benutzereingabeeinrichtung 74 oder
mehrere dieser Einrichtungen direkt mit dem Adress-/Datenbus 66 oder
dem Prozessor 50 verbunden sein.
-
Wie 1 und 2 zeigen, kann eine zu einem oder mehreren
der Steuerknoten 12, 14, 16 gehörende Konfigurationsanwendung
auf einer oder mehreren der Workstations 18a und 20a gespeichert
sein und von diesen ausgeführt
werden. Beispielsweise könnte
die Konfigurationsanwendung in dem nichtflüchtigen Speicher 58 und/oder
dem flüchtigen
Speicher 54 gespeichert sein und durch den Prozessor 50 ausgeführt werden. Auf
Wunsch könnte
diese Anwendung jedoch in anderen, zu der Prozessanlage 10 gehörenden Computern gespeichert
und von diesen ausgeführt
werden. Allgemein ausgedrückt
erlaubt es die Konfigurationsanwendung einem Programmierer, Steuerroutinen
und Steuermodule zu schaffen und zu konfigurieren, die durch die Steuereinrichtungen 12a, 14a, 16a und/oder
die Anlageneinrichtungen 22, 23 implementiert
werden. Diese Steuerroutinen und Steuermodule können dann über das Netz 30 auf
die geeigneten Steuereinrichtungen 12a, 14a, 16a,
I/O-Einrichtungen 24 und/oder Anlageneinrichtungen 22, 23 heruntergeladen
werden.
-
Die
Konfigurationsanwendung kann das Programmieren von Steuermodulen
und/oder Steuerroutinen unter Verwendung eines Funktionsblock-Programmierparadigmas
erlauben. 3 zeigt ein
Beispiel einer Anzeige 100, die ein Steuermodul 104 darstellt.
Die Anzeige 100 kann ein Teil einer Benutzerschnittstelle
sein, die zu der Konfigurationsanwendung gehört, und die Anzeige 100 kann
einem Programmierer beispielsweise durch die Anzeigeeinrichtung 70 der
Workstation 18a dargestellt werden. Die Anzeige 100 stellt
das Steuermodul 104 dar, das eine Menge von in Kommunikationsverbindung
stehenden Funktionsblöcken
hat, die erzeugt werden können
und auf die jeweils entsprechenden Steuereinrichtungen 12a, 14a, 16a,
die I/O-Einrichtungen 24 und/oder
die Anlageneinrichtungen 22, 23 über das
Netz 30 zur Implementierung während des Betriebsablaufs eines
Prozesses heruntergeladen werden können. Wie 3 zeigt, enthält das Steuermodul 104 zwei
Funktionsblöcke
mit Boolescher Logik (BLFBs) 108 und 110, eine
Vielzahl von analogen Eingangs-(AI) und digitalen Ausgangs-(DI)-Funktionsblöcken, eine
Vielzahl von analogen Ausgangs-(AO) und digitalen Eingangs-(DO)-Funktionsblöcken und
weitere Funktionsblöcke
(FBs). Jeder BLFB 108, 110 hat Eingänge, die
mit Funktionsblöcken 114 in
Kommunikationsverbindung stehen, welche DI-Funktionsblöcke oder
andere FBs sein können.
Die BLFBs 108, 110 haben jeweils Ausgänge, die
mit Funktionsblöcken 118 verbunden
sind, welche DO-Funktionsblöcke
oder andere FBs sein können.
Das Steuermodul 104 kann entweder Einrichtungen, wie z.
B. Schalter, Ventile etc. steuern, oder es kann eines einer Vielzahl
von Steuermodulen sein, die zusammen diese Einrichtungen steuern.
Selbstverständlich
ist das Steuermodul 104 nur ein Beispiel für ein Steuermodul,
das BLFBs verwendet. Allgemein kann ein Steuermodul in jeder gewünschten
Weise programmiert werden, sodass es jede Art von Funktionsblöcken enthält, die
mit jeder beliebigen Anzahl von BLFBs in jeder gewünschten
Weise in Kommunikationsverbindung stehen, und kann in jeder gewünschten
oder nützlichen Weise
konfiguriert sein, um jede gewünschte
Funktionalität
auszuführen.
Wenn es beispielsweise in einem Fieldbus-Netz verwendet wird, kann
ein Steuermodul jeden beliebigen Funktionsblock des Fieldbus-Typs
enthalten.
-
Unter
Verwendung der zu der Konfigurationsanwendung gehörenden Benutzerschnittstelle
kann der Programmierer ein Steuermodul wie z. B. das Steuermodul 104 gestalten.
Nur als ein Beispiel kann die Benutzerschnittstelle einen Mechanismus
für einen
Programmierer bieten, um gewünschte
Funktionsblöcke
beispielsweise aus einer Schablone oder Palette auszuwählen, die
eine Vielzahl von standardisierten oder an den Anwender angepassten
Funktionsblockschablonen enthält.
Zusätzlich
kann die Benutzerschnittstelle grafische Darstellungen bereitstellen,
in welche der Programmierer Abbildungen von Funktionsblöcken einsetzen oder
platzieren kann. Der Programmierer kann beispielsweise eine Maus,
einen Trackball etc. verwenden, um einen Funktionsblock aus der
Schablone oder der Palette auszuwählen und anschließend den
Funktionsblock durch "Drag
and Drop" auf die
grafische Darstellung zu ziehen. Der Programmierer kann zusätzlich Funktionsblöcke beispielsweise
durch Ziehen einer Linie zwischen einem Ausgang eines Funktionsblocks
und einem Eingang eines anderen Funktionsblocks unter Verwendung
beispielsweise der Maus, des Trackballs etc. kommunikativ verbinden.
-
Konfiguration
eines Funktionsblocks mit Boolescher Logik
-
4 ist ein Beispiel einer
Darstellung 150 eines BLFB. Die BLFB-Darstellung 150 kann
beispielsweise auf der Anzeige einer Benutzerschnittstelle, wie
z. B. der Anzeige 100 aus 3,
dargestellt werden. Die BLFB-Darstellung 150 zeigt, dass
der BLFB acht Dateneingänge
(IN-D1 bis IN-D8) und acht Datenausgänge (OUT-D1 bis OUT-D8) enthält. Wie
noch im Detail beschrieben wird, kann der BLFG ferner andere Eingänge neben
Dateneingängen
enthalten, wie z. B. einen ZULÄSSIG-Eingang
und einen FREMDEINGRIFF-Eingang. Obgleich der BLFB in 3 mit acht Dateneingängen und
acht Datenausgängen
gezeigt ist, können
andere Ausführungsformen
jede gewünschte
Anzahl von Dateneingängen
und Datenausgängen
enthalten. Ferner muss die Anzahl der Dateneingänge nicht gleich der Anzahl
der Datenausgänge
sein.
-
Unter
Verwendung der zu dem Konfigurationsprogramm gehörenden Benutzerschnittstellen
kann der Programmierer einen oder mehrere Funktionsblöcke konfigurieren.
Beispielsweise kann der Programmierer einen BLFB konfigurieren,
sodass er Datenausgänge
als logische Funktionen seiner Dateneingänge erzeugt. Insbesondere kann
der Programmierer bestimmte Logikfunktionen festlegen, die zu den
Datenausgängen
gehören.
Um den BLFB zu konfigurieren, kann der Programmierer ein Konfigurationsfenster,
einen Konfigurationsbildschirm etc., der zu dem Funktionsblock gehört, auf
der Anzeigeeinrichtung 70 anzeigen lassen.
-
5 zeigt ein Beispiel einer
Matrix 200, die zur zumindest teilweisen Konfiguration
eines BLFB, wie z. B. des zu der BLFB-Darstellung 150 aus 4 gehörenden BLFB, verwendet werden
kann. Die Matrix 200 kann als Teil eines zu dem BLFB gehörenden Konfigurationsfensters,
-bildschirms, etc. angezeigt werden. Wie noch im Detail erläutert wird,
bietet die Matrix 200 einen Mechanismus zum Konfigurieren
eines Ausgangs (OUT-1)
des BLFB. Insbesondere kann ein Programmierer ein oder mehrere Zwischenresultate
(EXP_1, EXP_2, EXP_3, EXP_4) als eine Funktion von Dateneingängen (IN-1,
IN-2, ..., IN-8) in den BLFB und Datenausgängen (OUT-1, OUT-2, ..., OUT-8)
aus dem BLFB konfigurieren. In anderen Ausführungsformen kann der Ausgang
nur als eine Funktion von Dateneingängen (d. h. nicht als eine
Funktion von Datenausgängen)
konfiguriert werden. Zusätzlich
kann der Programmierer den Ausgang (OUT-1) als eine Funktion der
Zwischenresultate konfigurieren. Jeder der anderen Ausgänge des
BLFB (beispielsweise OUT-2, OUT-3, ..., OUT-8) kann eine zugehörige Matrix
haben, die gleich oder ähnlich
der Matrix 200 ist. Auf diese Weise kann ein Programmierer
jeden der Ausgänge
OUT-2 bis OUT-8 in ähnlicher
Weise wie nachfolgend unter Bezug auf den Ausgang OUT-1 beschrieben
konfigurieren.
-
Wie 5 zeigt, enthält die Matrix 200 eine
Vielzahl von Zellen 204. Jede Spalte von Zellen in der
Vielzahl der Zellen 204 entspricht einem der Dateneingänge und
jede Zeile von Zellen in der Vielzahl der Zellen 204 entspricht
einem der Zwischenresultate. Die Matrix 200 enthält ferner
eine Vielzahl von Zellen 208. Jede Spalte von Zellen in
der Vielzahl der Zellen 208 entspricht einem der Datenausgänge und
jede Zeile von Zellen in der Vielzahl der Zellen 208 entspricht
einem der Zwischenresultate. Um ein Zwischenresultat als eine Funktion
von Dateneingängen
und Datenausgängen
zu konfigurieren, kann der Programmierer unter Verwendung beispielsweise
einer Maus, eines Trackballs, einer Tastatur, eines Tastenblocks,
eines berührungsgesteuerten Bildschirms
etc., der zu einem Computer gehört
(beispielsweise zu der Workstation 18a oder einem anderen Computer)
Konfigurationsdaten in die Zellen 204 und 208 in
der dem Zwischenresultat entsprechenden Zeile eingeben. Um beispielsweise
das Zwischenresultat (EXP_1) zu konfigurieren, kann der Programmierer
Konfigurationsdaten in die Zellen 204 und 208 in
Zeile 224 eingeben.
-
Jede
der Zellen 204 und 208 in Zeile 224 entspricht
einer Variablen (beispielsweise IN-1, IN-2, ..., IN-8, OUT-1, OUT-2,
..., OUT-8), die zum Erzeugen des Zwischenresultats EXP_1 verwendet
werden. Die in eine Zelle eingegebenen Konfigurationsdaten können Daten
enthalten, die eine einer Vielzahl von Logikfunktionen angeben,
an welche die zu der Zelle gehörende
Variable als Eingang angelegt wird. In einem Beispiel können die
Konfigurationsdaten angeben, ob die Variable als ein Eingang an
eine logische UND-Funktion,
eine logische ODER-Funktion oder eine logische NOR-Funktion angelegt
wird. In einer Ausführungsform
kann jeder Ausgang des BLFB so konfiguriert sein, dass er eine oder
mehrere einer logischen UND-Funktion, einer logischen ODER-Funktion
oder einer logischen NOR-Funktion etc. verwendet. In anderen Ausführungsformen kann
nur eine Teilmenge dieser Funktionen verwendet werden. In wiederum
anderen Ausführungsformen
können
die anderen Funktionen zusätzlich
zu oder als Alternative zu einer logischen UND-Funktion, einer logischen
ODER-Funktion oder einer logischen NOR-Funktion verwendet werden.
Zu anderen Funktionen, die verwendet werden können, zählen beispielsweise eine NAND-Funktion,
eine XOR-Funktion etc.
-
Die
in eine Zelle eingegebenen Konfigurationsdaten können optional ferner Daten
enthalten, die angeben, ob die Variable als ein invertierter Eingang
für die
Logikfunktion angelegt werden sollte. Ein Beispiel einer Menge von
möglichen
Konfigurationsdaten, die in die Zellen
204 und
208 eingegeben
werden können, ist
in Tabelle 1 dargestellt.
Tabelle
1
-
In
einer Ausführungsform
können
beliebige Daten aus Tabelle 1 in jede der Zellen 204 und 208 eingegeben
werden. In anderen Ausführungsformen
kann nur eine Teilmenge der in Tabelle 1 angeführten Daten in eine, mehrere
oder alle Zellen 204 und 208 eingegeben werden.
In weiteren Ausführungsformen
können
andere, nicht in Tabelle 1 angeführte
Daten in eine, mehrere oder alle Zellen 204 und 208 zusätzlich zu
oder als Alternative zu den Daten in Tabelle 1 eingegeben werden.
In weiteren Ausführungsformen
können
keine der Daten in Tabelle 1 in eine, mehrere oder alle Zellen 204 und 208 eingegeben
werden.
-
6A zeigt ein Beispiel von
Konfigurationsdaten, die in Zellen 204 und 208 in
der Zeile 224 eingegeben wurden. Andere Abschnitte der
Matrix 200 wurden aus Gründen der Übersichtlichkeit weggelassen.
Die den Variablen IN-2, IN-3, IN-4, OUT-1 und OUT-8 entsprechenden
Zellen enthalten Konfigurationsdaten, die angeben, dass diese Variablen
als Eingänge
an eine UND-Funktion anzulegen sind. Zusätzlich geben die den Variablen
IN-4 und OUT-1 entsprechenden Zellen an, dass diese Variablen auch
invertiert werden sollen. In entsprechender Weise enthalten die
den Variablen IN-5, OUT-2 und OUT-3 entsprechenden Zellen Konfigurationsdaten,
die angeben, dass diese Variablen als Eingänge an eine ODER-Funktion anzulegen
sind, und dass die Variable OUT-2 auch invertiert werden soll. Ferner
enthalten die den Variablen IN-7, IN-8, OUT-4 und OUT-5 entsprechenden Zellen Konfigurationsdaten,
die angeben, dass diese Variablen als Eingänge an eine NOR-Funktion anzulegen
sind.
-
In
einer Ausführungsform
werden die Ausgänge
der UND-, ODER- und NOR-Funktionen, wie durch die Konfigurationsdaten
angegeben, zusammen ODER-behandelt, um das Zwischenresultat zu erzeugen. 6B stellt eine Logikschaltung 250 dar,
die dem Beispiel der Konfigurationsdaten aus 6A äquivalent
ist. Im Einzelnen werden die Variablen IN-2, IN-3, IN-4, OUT-1 und
OUT-8 an ein UND-Glied 254 angelegt, wobei die Variablen
IN-4 und OUT-1 invertiert werden. Die Variablen IN-5, OUT-2 und
OUT-3 werden an
ein ODER-Glied 258 angelegt, wobei die Variable OUT-2 invertiert
wird. Die Variablen IN-7, IN-8, OUT-4 und OUT-5 werden an ein NOR-Glied 262 angelegt.
Zusätzlich
werden die Ausgänge
des UND-Glieds 254, des ODER-Glieds 258 und des
NOR-Glieds 262 an ein ODER-Glied 262 angelegt,
welches das Zwischenresultat EXP_1 erzeugt.
-
6C zeigt eine Ausführungsform
einer weiteren Logikschaltung 72, die dem Beispiel der
Konfigurationsdaten aus 6A entspricht.
In der Logikschaltung 72 werden die Variablen IN-5, OUT-2
und OUT-3 an ein ODER-Glied 274 angelegt, wobei die Variable
OUT-2 invertiert wird. Ferner werden die Ausgänge des UND-Glieds 254 und
des NOR-Glieds 262 an
das ODER-Glied 274 angelegt. Das ODER-Glied 274 erzeugt das
Zwischenresultat EXP_1.
-
Obgleich
in der vorstehend beschriebenen Ausführungsform die Ausgänge der
Funktionen zusammen ODER-behandelt werden, um das Zwischenresultat
zu erzeugen, können
auch andere Funktionen verwendet werden. Beispielsweise könnten die
Ausgänge
der Funktionen UND-, NOR-, NAND-, XOR-behandelt werden etc. In einer
Ausführungsform
könnte
die bestimmte Funktion aus einer Vielzahl von Funktionen auswählbar sein.
Beispielsweise könnte
der Programmierer die Funktion auswählen, indem Konfigurationsdaten
in eine bestimmte Zelle einer Matrix eingegeben werden, oder die
Funktion über
einen Benutzerschnittstellenmechanismus, wie zum Beispiel ein Fenster,
einen Anzeigebildschirm, ein Menü etc.
auswählen.
-
Wie
wiederum 5 zeigt, kann
der Programmierer zum Konfigurieren der Zwischenresultate EXP_2, EXP_3
und EXP_4 als eine Funktion der Funktionsblockeingänge und/oder
-ausgänge
Konfigurationsdaten in die Zellen 204, 108 eingegeben,
die den Zwischenresultaten EXP_2, EXP_3 und EXP_4 entsprechen. Die Zwischenresultate
EXP_2, EXP_3 und EXP_4 können
in ähnlicher
Weise wie vorstehend unter Bezug auf das Zwischenresultat EXP_1
beschrieben konfiguriert werden. Wenn in eine Zelle 204, 208 keine
Konfigurationsdaten eingegeben werden, wird die dieser Zelle entsprechende
Variable nicht zum Erzeugen des entsprechenden Zwischenresultats
verwendet.
-
Die
Matrix 200 enthält
ferner Zellen 216, die jeweils einer Variablen (beispielsweise
Zwischenresultate EXP_1, EXP_2, EXP_3 und EXP_4) entsprechen, die
zum Erzeugen des Ausgangs OUT-1 verwendet werden. Der Programmierer
kann den Ausgang OUT-1 als Funktion der Zwischenresultate konfigurieren,
indem er die Konfigurationsdaten unter Verwendung beispielsweise
einer Maus, eines Trackballs, einer Tastatur, eines Tastenblocks,
eines berührungsgesteuerten
Bildschirms etc., die zu einem Computer (beispielsweise der Workstation 18a oder
einem anderen Computer) gehören,
in die Zellen 216 eingibt. Wie auch die in die Zellen 204, 208 eingegebenen
Konfigurationsdaten können
die in eine Zelle 216 eingegebenen Konfigurationsdaten
Daten enthalten, die eine einer Vielzahl von Logikfunktionen angeben,
an welche die zu der Zelle gehörende
Variable als Eingang angelegt wird. In einem Beispiel können die
Konfigurationsdaten angeben, ob die Variable als ein Eingang an
eine logische UND-Funktion,
eine logische ODER-Funktion oder eine logische NOR-Funktion angelegt
werden soll. In einer Ausführungsform
kann jeder Ausgang des BLFB unter Verwendung einer oder mehrerer
einer logischen UND-Funktion, einer logischen ODER-Funktion oder
einer logischen NOR-Funktion konfiguriert werden. In anderen Ausführungsformen
kann nur eine Teilmenge dieser Funktionen verwendet werden. In wiederum
anderen Ausführungsformen
können
andere Funktionen zusätzlich
oder als Alternative zu einer logischen UND-Funktion, einer logischen
ODER-Funktion oder einer logischen NOR-Funktion verwendet werden. Die in eine
Zelle 216 eingegebenen Konfigurationsdaten können optional
auch Daten enthalten, die angeben, ob die Variable als ein invertierter
Eingang an die Logikfunktionen angelegt werden soll.
-
In
einer Ausführungsform
können
beliebige Daten aus Tabelle 1 in jede der Zellen 216 eingegeben werden.
In anderen Ausführungsformen
kann nur eine Teilmenge der in Tabelle 1 angeführten Daten in eine, mehrere
oder alle Zellen 216 eingegeben werden. In weiteren Ausführungsformen
können
andere, nicht in Tabelle 1 angeführte
Daten in eine, mehrere oder alle Zellen 216 zusätzlich zu
oder als Alternative zu den Daten in Tabelle 1 eingegeben werden.
In weiteren Ausführungsformen
können
keine der Daten in Tabelle 1 in eine, mehrere oder alle Zellen 216 eingegeben
werden. Die Optionen für
Konfigurationsdaten, die für
die Eingabe in Zellen 204 und/oder 208 zur Verfügung stehen,
können
gleich oder verschieden von den Optionen für Konfigurationsdaten sein,
die für
die Eingabe in Zellen 216 zur Verfügung stehen.
-
7A zeigt ein Beispiel von
Konfigurationsdaten, die in Zellen 216 der Matrix 200 eingegeben
werden. Aus Gründen
der Übersichtlichkeit
wurden andere Abschnitte der Matrix 200 weggelassen. Die
den Variablen EXP_1 und EXP_2 entsprechenden Zellen 216 enthalten
Konfigurationsdaten, die angeben, dass diese Variablen als Eingänge an eine
UND-Funktion anzulegen sind. Zusätzlich
enthalten die den Variablen EXP_3 und EXP_4 entsprechenden Zellen
Konfigurationsdaten, die angeben, dass diese Variablen als Eingänge an eine
ODER-Funktion anzulegen sind.
-
In
einer Ausführungsform
werden die Ausgänge
der UND-, ODER- und NOR-Funktionen, wie durch die Konfigurationsdaten
in Zellen 216 angegeben, zusammen ODER-behandelt, um den
Ausgang OUT-1 zu erzeugen. 7B zeigt
eine Ausführungsform
einer Logikschaltung 290, die dem Konfigurationsdatenbeispiel aus 7A äquivalent ist. Im einzelnen
werden Variable EXP_1 und EXP_2 an ein UND-Glied 294 angelegt. Variable
EXP_1 und EXP_2 und der Ausgang des UND-Glieds 294 werden
an ein ODER-Glied 298 angelegt. Das ODER-Glied 298 erzeugt
das Resultat OUT-1. Wie auch bei der vorstehend erörterten
Erzeugung von Zwischenresultaten können andere Funktionen als
eine ODER-Funktion verwendet werden (beispielsweise UND, NOR, NAND,
XOR, etc.). Zusätzlich
könnte
die bestimmte Funktion aus einer Vielzahl von Funktionen auswählbar sein.
-
Wie 1 zeigt, können, nachdem
der Programmierer die Konfigurationsdaten in einer Matrix (beispielsweise
der Matrix 200 oder einer ähnlichen Matrix) unter Verwendung
beispielsweise der Workstation 18a eingegeben hat, die
Konfigurationsdaten in einem computerlesbaren Medium der Workstation 18a gespeichert werden
und/oder über
das Netz 30 zu einer anderen Einrichtung übertragen
werden. So können
die Konfigurationsdaten beispielsweise zu einer oder mehreren der
Datenbanken 32, der Steuereinrichtungen 12a, 14a, 16a,
I/O-Einrichtungen 24 und Anlageneinrichtungen 22, 23 übertragen
werden. Vor dem Speichern oder dem Übertragen der Konfigurationsdaten
können
die Konfigurationsdaten optional in ein anderes Format umgewandelt
werden.
-
Ein
BLFB kann dann gemäß den Konfigurationsdaten
geschaffen und/oder konfiguriert werden. Der BLFB kann als Software,
Hardware, Firmware oder eine Kombination aus Software, Hardware
und/oder Firmware implementiert werden. Beispielsweise kann der
BLFB durch eine Steuereinrichtung, wie zum Beispiel die Steuereinrichtung 12a, 14a, 16a,
durch eine oder mehrere Anlageneinrichtungen 22, 23,
etc. implementiert werden. Im Hinblick auf die Implementierung des
konfigurierten BLFB versteht es sich, dass die äquivalenten Logikschaltungen 250, 270 und 290 aus 6A, 6B und 7B nur
zum Zweck der Erläuterung
dargestellt sind. Obgleich in einigen Ausführungsformen Logik-Glieder verwendet
werden können,
um die Funktionsblockausgänge
zu erzeugen, werden typischerweise andere Techniken verwendet. Beispielsweise
kann in einigen Ausführungsformen
der BLFB durch einen Prozessor implementiert werden, der gemäß einer
Software konfiguriert ist, durch eine programmierbare Logikeinrichtung,
beispielsweise eine Einrichtung, die ein Gate-Array, eine Standardzelle,
ein Feldprogrammierbares Gate-Array (FPGA), ein PROM, ein EPROM,
ein EEPROM, eine programmierbare Array-Logik (PAL), ein programmierbares
Logik-Array (PLA), etc., oder mehrere dieser Elemente enthält.
-
Ausführungsformen
einer Benutzerschnittstelle, wie etwa der vorstehend beschriebenen
Benutzerschnittstelle, können
insgesamt oder teilweise durch einen Prozessor, der beispielsweise
gemäß einem
Softwareprogramm konfiguriert ist, implementiert werden. Zum Beispiel
können
die Workstation 18a oder 20a oder ein anderer
Computer insgesamt oder teilweise die vorstehend beschriebene Benutzerschnittstelle
implementieren. Ein Softwareprogramm zur Implementierung von Ausführungsformen
einer Benutzerschnittstelle kann in Form von Software verkörpert sein,
die auf einem greifbaren Medium gespeichert ist, wie zum Beispiel
einer Festplatte, einem RAM mit Batterie-Backup, einem ROM, einer
CD-ROM, einem PROM, einem EPROM, einem EEPROM, einer DVD, einem
Flash-Speicher etc., oder einem zu einem Prozessor gehörigen Speicher, wie
zum Beispiel einem RAM, aber der Durchschnittsfachmann wird ohne
weiteres erkennen, dass das gesamte Programm oder Teile davon alternativ
durch eine andere Einrichtung als einen Prozessor ausgeführt werden
könnten
und/oder in Firmware und/oder dezidierter Hardware in bekannter
Weise ausgeführt
sein können.
-
Die
zu einem BLFB gehörenden
Konfigurationsdaten können
auf einem computerlesbaren Medium, wie zum Beispiel einer Festplatte,
einem ROM, einer CD-ROM,
einem EPROM, einem EEPROM, einer DVD, einem Flash-Speicher etc.
oder einem zu einem Prozessor gehörenden Speicher gespeichert
sein.
-
Variationen
der Konfiguration
-
Der
BLFB kann zusätzlich
zu den in die Matrices (beispielsweise die Matrix 200 und
die ähnlichen
Matrices für
OUT-2 bis OUT-8) eingegebenen Konfigurationsdaten konfiguriert werden.
Beispielsweise kann ein Benutzerschnittstellenmechanismus, wie zum
Beispiel ein Fenster, ein Anzeigebildschirm etc., dem Programmierer
zur Eingabe von zusätzlichen
Konfigurationsdaten beispielsweise mittels einer Maus, eines Trackballs, einer
Tastatur, eines Tastenblocks, eines berührungsgesteuerten Bildschirms
etc. angezeigt werden. Beispiele für zusätzliche Konfigurationsdaten
sind nachstehend angegeben. Es versteht sich, dass eine oder mehrere oder
auch keine der zusätzlichen,
nachstehend beschriebenen Konfigurationsoptionen in verschiedene
Ausführungsformen
eingeschlossen werden können.
-
Wie
dem Durchschnittsfachmann bekannt ist, können einige Steuersysteme vorsehen,
dass ein Logiksignal oder Wert auf einen Status "SCHLECHT" gesetzt wird. Daher kann in einigen
Ausführungsformen
der BLFB so konfiguriert werden, dass er Eingangssignale (beispielsweise
IN-1 bis IN-8) handhabt, deren Status SCHLECHT ist. In einer Ausführungsform
kann der BLFB gemäß den in
Tabelle 2 angegebenen Optionen konfiguriert werden.
Tabelle
2
-
Es
kann nützlich
sein, einen Funktionsblockausgang zwischenzuspeichern und/oder zu
verzögern.
In einer Ausführungsform
kann beziehungsweise können
ein, mehrere oder alle Ausgänge
OUT-1 bis OUT-8 gemäß den in
Tabelle 3 dargestellten Konfigurationsoptionen konfiguriert sein.
In anderen Ausführungsformen kann
nur eine Teilmenge der in Tabelle 3 angeführten Optionen vorgesehen sein.
In wiederum anderen Ausführungsformen
können
andere Optionen, die nicht in Tabelle 3 angeführt sind, zusätzlich oder
als Alternative zu einer oder mehreren der Optionen in Tabelle 3
vorgesehen sein. In anderen Ausführungsformen
können keine
der in Tabelle 3 gezeigten Optionen vorgesehen sein.
Tabelle
3
-
In
Ausführungsformen,
in welchen ein Funktionsblockausgang so konfiguriert ist, dass der
Ausgang bis zum Rücksetzen
zwischengespeichert bzw. verriegelt wird, können Konfigurationsdaten in
die dem Ausgang entsprechende Matrix eingegeben werden, die festlegen,
wie der Ausgang rückzusetzen
ist. Wie 5 zeigt, kann
ein Programmierer als Beispiel Konfigurationsdaten in Zellen 216 eingeben,
die sich auf das Löschen
eines zwischengespeicherten Ausgangs OUT-1 beziehen. Beispielsweise
kann der Programmierer Konfigurationsdaten "C" in
eine oder mehrere der Zellen 216 eingeben, um ein Zwischenresultat
oder mehrere Zwischenresultate zu bezeichnen, die verwendet werden,
um einen zwischengespeicherten Ausgang OUT-1 zu löschen. In
einer Ausführungsform
werden dann, wenn ein "C" in mehr als eine
Zelle 216 eingegeben wird, die diesen Zellen 216 entsprechenden
Zwischenresultate zusammen ODER-behandelt, um den Wert zu erzeugen,
der anzeigt, wann ein zwischengespeicherter Ausgang OUT-1 zu löschen ist.
-
8A zeigt ein Beispiel von
Konfigurationsdaten, die in Zellen 216 der Matrix 200 eingegeben
werden. Andere Abschnitte der Matrix 200 wurden aus Gründen der Übersichtlichkeit
weggelassen. Die den Variablen EXP_1 und EXP_2 entsprechenden Zellen 216 enthalten
Konfigurationsdaten, die angeben, dass diese Variablen als Eingänge an eine
UND-Funktion anzulegen sind. Zusätzlich
enthalten die den Variablen EXP_3 und EXP_4 entsprechenden Zellen 216 Konfigurationsdaten,
die angeben, dass diese Variablen als Eingänge an eine ODER-Funktion anzulegen
sind. Der Ausgang der ODER-Funktion ist zu verwenden, um einen verriegelten
bzw. zwischengespeicherten Ausgang zu löschen. Wie bei der vorstehend
erörterten
Erzeugung von Zwischenresultaten können auch andere Funktionen
als eine ODER-Funktion verwendet werden (beispielsweise UND, NOR,
NAND, XOR, etc.). Zusätzlich
könnte
die bestimmte Funktion aus einer Vielzahl von Funktionen auswählbar sein.
-
8B zeigt eine Ausführungsform
einer Logikschaltung 300, die dem Konfigurationsdatenbeispiel aus 8A äquivalent ist. Im einzelnen
werden Variable EXP_1 und EXP_2 an ein UND-Glied 304 angelegt. Der
Ausgang des UND-Glieds 304 wird an einen Zwischenspeicher 308 angelegt,
der das Resultat OUT-1 erzeugt. Diese äquivalente Logikschaltung kann
beispielsweise dem Ausgang OUT-1 entsprechen, der als ein ZWISCHENGESPEICHERTER
Ausgang konfiguriert ist. Die Variablen EXP_3 und EXP_4 werden an
ein ODER-Glied 312 angelegt und der Ausgang des ODER-Glieds 312 wird
als ein LOSCHEN-Eingang an den Zwischenspeicher 308 angelegt.
-
Fehlersuche
-
Wie 5 zeigt, kann in einigen
Ausführungsformen
eine Matrix (wie zum Beispiel die Matrix 200) auch zum
Zweck der Fehlersuche bzw. Fehlerbeseitigung verwendet werden. Beispielsweise
können
Zellen 212 verwendet werden, um den Wert der Zwischenresultate
anzuzeigen, wenn die Variablen IN-1 bis IN-8 und OUT-1 bis Out-8
ihre Werte verändern.
Im einzelnen kann die Zelle 212A verwendet werden, um das
Zwischenresultat EXP_1 anzuzeigen, kann die Zelle 212B verwendet
werden, um das Zwischenresultat EXP_2 anzuzeigen, kann die Zelle 212C verwendet
werden, um das Zwischenresultat EXP_3 anzuzeigen, und kann die Zelle 212D verwendet
werden, um das Zwischenresultat EXP_4 anzuzeigen. In ähnlicher
Weise kann die Zelle 220 verwendet werden, um den Wert
des Ausgangs anzuzeigen, wenn die Variablen IN-1 bis IN-8 und OUT-1
bis OUT-8 sowie EXP_1 bis EXP_4 ihre Werte verändern. Zum besseren visuellen
Verständnis
können Zellen,
Zeilen, und/oder Spalten, die für
die Erzeugung der Zwischenresultate und/oder der Ausgänge nicht verwendet
werden, optional während
der Fehlersuche nicht dargestellt werden. Wenn beispielsweise in
die Zellen 204 und 208, wie dem Zwischenresultat
EXP_4 entsprechen, keine Konfigurationsdaten eingegeben wurden,
könnten
die Zeile 226 und/oder die Spalte 228 zum Zweck der Fehlersuche
weggelassen werden.
-
In
einigen Ausführungsformen
könnte
der BLFB verwendet werden, um die Zwischenresultate und/oder die
Funktionsblockausgänge
OUT-1 bis OUT-8 zum Zweck der Fehlerbeseitigung zu erzeugen. Beispielsweise
könnten
Testdaten als die Funktionsblockeingänge IN-1 bis IN-8 dargestellt
werden. In einem anderen Beispiel könnten die Funktionsblockeingänge IN-1
bis IN-8 basierend auf Testdaten beispielsweise durch andere Funktionsblöcke erzeugt
werden. In anderen Ausführungsformen
könnte
ein BLFB-Simulator (beispielsweise von einer Workstation, wie zum
Beispiel der Workstation 18a oder 20a implementiert)
verwendet werden, um die Zwischenresultate und/oder die Funktionsblockausgänge OUT-1
bis OUT-8 zu erzeugen.
-
Zusätzliche
Variationen
-
Wie 4 zeigt, kann der BLFB optional
einen oder mehrere weitere Eingänge
zusätzlich
zu den vorstehenden beschriebenen Dateneingängen haben. Beispielsweise
kann der BLFB in einen Eingang aufweisen (als "Zulässig"-Eingang bezeichnet),
der im Fall von FALSCH alle Ausgänge
des Funktionsblocks zwangsweise auf FALSCH setzt. In ähnlicher
Weise kann der BLFB einen Eingang aufweisen (als "Fremdeingriff"-Eingang bezeichnet),
der im Fall von WAHR alle Ausgänge
des Funktionsblocks zwangsweise auf FALSCH setzt.
-
In
den vorstehend beschriebenen Ausführungsformen kann der BLFB
zu Erzeugung von ein bis vier Zwischenresultaten konfiguriert sein.
Es versteht sich, dass in anderen Ausführungsformen ein BLFB zum Erzeugen
von fünf
oder mehr Zwischenresultaten konfiguriert sein kann. In anderen
Ausführungsformen
kann ein BLFB nicht zur Erzeugung von Zwischenresultaten konfigurierbar
sein. 9 zeigt ein weiteres
Beispiel einer Matrix 400, die verwendet werden kann, um
zumindest teilweise einen BLFB zu konfigurieren, wie zum Beispiel
den zu der BLFB-Darstellung 150 in 4 gehörenden
BLFB. Die Matrix 400, die als Teil eines zu dem BLFB gehörenden Konfigurationsfensters,
-bildschirms, etc. angezeigt werden kann, bietet einen Mechanismus
zum Konfigurieren eines Ausgangs (OUT-1) des BLFB. Im einzelnen
kann ein Programmierer den Ausgang OUT-1 als Funktion von Dateneingängen (IN-1,
IN-2, ..., IN-8) in den BLFB und Datenausgängen (OUT-1, OUT-2, ..., OUT-8)
des BLFB konfigurieren. In anderen Ausführungsformen kann der Ausgang
nur als eine Funktion von Dateneingängen (d. h. nicht als Funktion
von Datenausgängen)
konfiguriert sein.
-
Die
Matrix 400 enthält
eine Vielzahl von Zellen 404, wobei jede Zelle 404 einem
der Dateneingänge entspricht.
Die Matrix 400 enthält
ferner eine Vielzahl von Zellen 408, wobei jede Zelle 408 einem
der Datenausgänge
entspricht. Um den Ausgang als eine Funktion der Dateneingänge und
der Datenausgänge
zu konfigurieren, kann der Programmierer Konfigurationsdaten in
die Zellen 404 und 408 in ähnlicher Weise wie vorstehenden
erörtert
eingeben. Beispielsweise kann der Programmierer Daten ähnlich den
unter Bezug auf Tabelle 1 beschriebenen eingeben.
-
In
einigen Ausführungsformen
kann eine Benutzerschnittstelle einer Person die Möglichkeit
geben, die Konfiguration Daten des BLFB in unterschiedlichen Darstellungen
anzuzeigen. Beispielsweise kann die Konfiguration in eine Kontaktplan-Darstellung umgewandelt
werden, die dann beispielsweise auf dem Anzeigebildschirm eines
Computers angezeigt werden könnte.
Als weiteres Beispiel können
die Konfigurationsdaten in eine Funktionsblockdiagramm-Darstellung
(beispielsweise ein Logik-Funktionsblockdiagramm) umgewandelt werden,
welche dann dem Benutzer angezeigt werden könnte. Derartige Umwandlungen
können
unter Verwendung einer beliebigen Anzahl von Techniken einschließlich Techniken,
die dem Durchschnittsfachmann bekannt sind, implementiert werden.