-
Technisches
Gebiet
-
Die Erfindung bezieht sich auf ein
Programmierwerkzeug zum Programmieren mit einem Funktionsblockdiagramm
(hierin nachstehend als FBD bezeichnet).
-
Hintergrund
der Erfindung
-
16 ist
eine Zeichnung, um eine Konfiguration und eine Programmieroperation
eines Programmierwerkzeugs mit einem FBD gemäß einem Stand der Technik zu
zeigen. Es wird die Operation zum Vorbereiten eines FBD einer programmierbaren Steuervorrichtung 109,
die durch eine Informationsübertragungssektion 106 mit
einem Programmierwerkzeug 110 verbunden ist, erörtert.
-
Allgemein ist das Programmierwerkzeug 110 mit
einem FBD aus einer FB-Bibliotheksektion 102, die Funktionsblöcke (FBs) 120 speichert,
die der Benutzer auswählen
wird, und einer FBD-Editorsektion 101 zum
Ziehen und Fallen lassen (dragging und dropping) der ausgewählten FBs 120 und
ihrem Verbinden, wie in 16 gezeigt,
aufgebaut.
-
Der FB 120 ist ein Funktionsblock
mit einem Algorithmus und Daten zum Implementieren einer bestimmten
Funktion und mit einer verborgenen inneren Struktur, und hat Eingangspins 121 als
eine Eingangschnittstelle und Ausgangspins 122 als eine Ausgangsschnittstelle.
-
In dem Programmierwerkzeug mit dem
FBD im Stand der Technik wird ein FB aus der FB-Bibliotheksektion 102 ausgewählt und
der ausgewählte
FB wird auf einer beliebigen gewünschten
Position der FBD-Editorsektion 1 durch Ziehen und Fallen
lassen mit einer Maus 107b platziert.
-
Um zwischen dem Eingangspin 121 des
FB 120 und dem Ausgangspin 122 eines anderen FB 120,
der diesem FB 120 vorangehend platziert ist, oder dem Ausgangspin 122 des
FB 120 und dem Eingangspin 121 eines anderen FB 120,
der diesem FB 120 vorangehend platziert ist, zu verbinden,
wird nach Platzierung ein Pin durch eine Klickoperation der Maus 107b ausgewählt und
der andere zu verbindende Pin wird ferner durch eine Klickoperation
der Maus 107b ausgewählt
etc.
-
Diese Operation wird wiederholt,
wobei dadurch ein Bearbeitungsfluss dargestellt und ein Programm
vorbereitet wird.
-
In dem Programmierwerkzeug im Stand
der Technik wird die Operation zum Auswählen eines FB 120,
Platzieren des ausgewählten
FB in der FBD-Editorsektion 101 durch eine Operation von
Ziehen und Fallen lassen und Verbinden des FB 120 mit einem anderen
FB 120, der diesem vorangehend FB 120 platziert
ist, zum Vorbereiten eines Programms wiederholt, wie oben beschrieben.
Somit sind so viele Operationen von Ziehen und Fallen lassen wie
die Anzahl von FBs in dem Programm und die Verbindungsoperation
zu jedem FB erforderlich und es gibt ein Problem einer sehr beschwerlichen
Operation.
-
Offenlegung der Erfindung
-
sDie Erfindung ist zum Lösen der
wie oben beschriebenen Probleme gedacht und es ist ein Ziel der
Erfindung, ein Programmierwerkzeug vorzusehen um es möglich zu
machen, ein Programm mit einem FBD durch eine einfache Operation
vorzubereiten.
-
Dazu wird gemäß einem ersten Aspekt der Erfindung
ein Programmierwerkzeug vorgesehen umfassend Auswahlmittel zum Auswählen einer
Vielzahl von Funktionsblöcken,
die in einem Bibliotheksformat angezeigt werden, Speichermittel
zum Speichern der Funktionsblöcke,
die durch das Auswahlmittel ausgewählt werden, in der Reihenfolge,
wie sie ausgewählt
werden, und Zeichnungsmittel, wie eine Vielzahl von Funktionsblöcken, die
durch das Auswahlmittel ausgewählt
sind, bestätigt
sind, zum Zeichnen und Anzeigen der bestätigten Funktionsblöcke in der
Reihenfolge, wie sie ausgewählt
sind.
-
Das Programmierwerkzeug umfasst Vorschaumittel
zum Erzeugen einer Vorschauanzeige der gewählten Funktionsblöcke zur
Zeit einer Funktionsblockauswahl.
-
Wenn die Vorschauanzeige erzeugt
ist, wird eine virtuelle Spalte zum Anzeigen der Funktionsblöcke vorgesehen,
der Maximalwert der seitlichen Größen der Funktionsblöcke, die
in der Spalte angezeigt werden, wird verwendet, um die Längen der
Ausgangspins der Funktionsblöcke
zu kalkulieren und die Funktionsblöcke in der Spalte werden nach
links ausgerichtet.
-
Die Funktionsblöcke werden durch Mausklick
oder Ziehen und Fallen lassen der Funktionsblöcke, die in dem Bibliotheksformat
angezeigt werden, ausgewählt
und bestätigt.
-
Wenn ein Funktionsblock ausgewählt ist, werden
die Funktionsblöcke
als nächste
Kandidaten zu dem ausgewählten
Funktionsblock eingegrenzt und die Funktionsblöcke als die nächsten Kandidaten werden
auf eine andere Art und Weise angezeigt.
-
Jedem Funktionsblock werden im voraus
die Datentypen eines Eingangspins und eines Ausgangspins des Funktionsblocks
zugeordnet und die ausgewählten
Funktionsblöcke
werden basierend auf den Datentypen verbunden.
-
Wenn ein Funktionsblock ausgewählt ist, wird
der Funktionsblock parallel verbunden, wie eine vorbestimmte Schlüsseloperation
in Kombination durchgeführt
ist.
-
Kurze Beschreibung der
Zeichnungen
-
In den begleitenden Zeichnungen
-
1 ist
eine Systemkonfigurationszeichnung eines Programmierwerkzeugs gemäß der Erfindung.
-
2 ist
ein Schaltungsblockdiagramm des Programmierwerkzeugs gemäß der Erfindung.
-
3 ist
ein Flussdiagramm, um die Operation des Programmierwerkzeugs gemäß der Erfindung
zu zeigen.
-
4 ist
eine Zeichnung, um einen Zustand zu zeigen, in dem Funktionsblockinformation
in einer Funktionsblockinformations-Speichersektion in einer Speichersektion
des Programmierwerkzeugs gemäß der Erfindung
gespeichert wird.
-
5 ist
ein Flussdiagramm, um die Operation einer Vorschaubearbeitung des
Programmierwerkzeugs gemäß der Erfindung
zu zeigen.
-
6 zeigt
ein Beispiel einer Vorschauanzeige des Programmierwerkzeugs gemäß der Erfindung.
-
7 ist
eine Zeichnung, um einen Zustand zu zeigen, in dem Zeichnungsinformation
in einer Vorschauzeichnungsinformations-Speichersektion in der Speichersektion
des Programmierwerkzeugs gemäß der Erfindung
gespeichert wird.
-
8 ist
ein Flussdiagramm, um die Operation einer automatischen Verbindungsbearbeitung des
Programmierwerkzeugs gemäß der Erfindung
zu zeigen.
-
9 ist
eine Zeichnung, um die Pinbearbeitungsreihenfolge in der automatischen
Verbindungsbearbeitung des Programmierwerkzeugs gemäß der Erfindung
zu zeigen.
-
10 ist
eine Zeichnung, um einen Zustand zu zeigen, in dem Bitzeichenketten,
die jede die Funktionsblöcke
als die nächste
Kandidaten darstellen, in einer Speichersektion eines nächsten Kandidatenfunktionsblocks
des Programmierwerkzeugs gemäß der Erfindung
gespeichert werden.
-
11 ist
ein Flussdiagramm, um die Operation einer Funktionsblockkandidaten-Eingrenzungsbearbeitung
des Programmierwerkzeugs gemäß der Erfindung
zu zeigen.
-
12 zeigt
ein Zeichnungsbeispiel einer FB-Bibliothek durch Ausführen der
Funktionsblockkandidaten-Eingrenzungsbearbeitung des Programmierwerkzeugs
gemäß der Erfindung.
-
13 ist
ein Flussdiagramm, um die Operation einer Editorzeichnungsbearbeitung
des Programmierwerkzeugs gemäß der Erfindung
zu zeigen.
-
14 zeigt
ein Zeichnungsbeispiel einer FBD-Editorsektion durch Ausführen einer
Editorzeichnungsbearbeitung des Programmierwerkzeugs gemäß der Erfindung.
-
15 zeigt
ein Beispiel der Vorschauzeichnungsinformations-Speichersektion
und einer FBD-Editorzeichnungsinformations-Speichersektion in der
Editorszeichnungsbearbeitung des Programmierwerkzeugs gemäß der Erfindung.
-
16 ist
eine Zeichnung, um die Operation eines Programmierwerkzeugs eines
Stands der Technik zu zeigen.
-
Bester Modus
zum Ausführen
der Erfindung
-
1 ist
eine Zeichnung, um die Konfiguration und Programmieroperation eines
Programmierwerkzeugs 10 der Erfindung zu zeigen.
-
2 ist
ein Schaltungsblockdiagramm des Programmierwerkzeugs 10 gemäß der Erfindung.
In der Beschreibung der Ausführungsform
wird ein Fall als ein Beispiel genommen, wo das Programmierwerkzeug 10 eine
programmierbare Steuervorrichtung 9 programmiert.
-
Wie in 1 und 2 gezeigt, hat das Programmierwerkzeug 10 der
Erfindung als Komponenten eine Datenbearbeitungssektion 4 zum
Bearbeiten von Daten in dem Programmierwerkzeug, eine Speichersektion 5,
die für
eine Kalkulation einer Datenbearbeitung verwendet wird, eine Informationsübertragungssektion 6 zum Übertragen
von Daten zu und von der programmierbaren Steuervorrichtung 9,
Eingabeeinheiten 7, wie etwa eine Tastatur 7a,
eine Maus 7b etc., und eine Anzeige 8, wie etwa
eine CRT (Kathodenstrahlröhre),
und hat auf der Anzeige 8 eine FBD-Editorsektion 1 zum
Ziehen und Fallen lassen und Verbinden ausgewählter FBs 20, eine
FB-Bibliotheksektion 2, die FBs 20 speichert,
die der Benutzer auswählen
wird, und eine Vorschauanzeigesektion 3 zum Anzeigen eines
Zeichnungsbildes, wenn der Benutzer den FB 20, der aus
der FB-Bibliotheksektion 2 ausgewählt wird, durch eine Klickoperation
der Maus 7b in die FBD-Editorsektion 1 zieht und
fallen lässt.
(Hierin nachstehend wird die Operation eines Benutzers zum Auswählen eines
FB 20 aus der FB-Bibliotheksektion 2 durch eine
Klickoperation der Maus 7b als eine FB-Auswahloperation
definiert.)
-
Der FB 20 ist ein Funktionsblock
mit einem Algorithmus und Daten zum Implementieren einer bestimmten
Funktion und mit einer verborgenen inneren Struktur, und hat Eingangspins 21 als
eine Eingangsschnittstelle und Ausgangspins 22 als eine Ausgangsschnittstelle.
-
In der Datenbearbeitungssektion 4 bezeichnet
Bezugszeichen 4a ein Vorschaukoordinatenbestimmungsmittel
zum Bestimmen der Koordinaten, um den FB 20, der durch
eine FB-Auswahloperation ausgewählt
ist, auf der Vorschauanzeigesektion 3 zu zeichnen, Bezugszeichen 4b bezeichnet
ein Bestimmungsmittel eines nächsten
Kandidaten-FB zum Referenzieren von Information für jeden
FB 20 in einer Informationsspeichersektion eines nächsten Kandidaten-FB 5b,
Bestimmen einer Bitzeichenkette, die den FB 20 als den
nächsten
Kandidaten darstellt (genannt die Zeichenkette eines nächsten Kandidaten-FB)
und Speichern der Bitzeichenkette in einer Zeichenketten-Speichersektion
eines nächsten
Kandidaten-FB 5d, und Bezugszeichen 4c bezeichnet ein
FBD-Editorsektions-Zeichnungsmittel zum Zeichnen in der FBD-Editorsektion 1 basierend
auf FB- und Verbindungskoordinateninformation, die in einer FBD-Editorzeichnungsinformations-Speichersektion 5c gespeichert
wird, wenn der Benutzer den ausgewählten FB 20 in die
FBD-Editorsektion 1 zieht und fallen lässt.
-
In der Speichersektion 5 bezeichnet
Bezugszeichen 5a eine Vorschauzeichnungsinformations-Speichersektion
zum Speichern der Koordinaten, um den FB 20, der durch
eine FB-Auswahloperation ausgewählt
wird, auf der Vorschauanzeigesektion 3 zu zeichnen, Bezugszeichen 5b bezeichnet
die Informationsspei chersektion eines nächsten Kandidaten-FB zum Speichern
von Information des FB als den nächsten
Auswahlkandidaten (hierin nachstehend der nächste Kandidaten-FB bezeichnet),
der im voraus für
jeden FB 20 durch den Hersteller, der das Programmierwerkzeug
vorsieht, bestimmt wird, Bezugszeichen 5c bezeichnet die
FBD-Editorzeichnungsinformations-Speichersektion zum Speichern von
FB- und Verbindungskoordinaten, die in der FBD-Editorsektion 1 gezeichnet
werden, wenn der Benutzer einen oder mehr FBs 20 durch
eine FB-Auswahloperation auswählt
und den ausgewählten
FB oder FBs 20 in die FBD-Editorsektion 1 zieht und
fallen lässt,
Bezugszeichen 5d bezeichnet die Bitzeichenketten-Speichersektion
eines nächsten Kandidaten-FB
zum Speichern der Bitzeichenkette, die den FB 20 als den
nächsten
Auswahlkandidaten zu einem Zeitpunkt darstellt (bestimmt durch das
Bestimmungsmittel eines nächsten
Kandidaten-FB 4b basierend
auf der Informationsspeichersektion eines nächsten Kandidaten-FB als Reaktion
auf die Operationsreihenfolge der FB-Auswahloperation), Bezugszeichen 5e bezeichnet
eine FB-Informationsspeichersektion zum Speichern von Attributinformation von
jedem FB, die durch den Hersteller vorgesehen wird, der das Programmierwerkzeug
vorsieht (FB-Name, Größe, die
Anzahl von Eingängen,
die Anzahl von Ausgängen,
Eingangspin-Datentypen und Ausgangspin-Datentypen), und Bezugszeichen 5f bezeichnet
eine Speichersektion einer maximalen Größe eines FB zum Speichern der
Länge des
FB mit der maximalen seitlichen Größe in der Spalte, zu der der
ausgewählte
FB gehört
(virtuelle Spalte der Vorschauanzeigesektion 3, die später beschrieben
wird).
-
Als nächstes wird die allgemeine
Operation der Ausführungsform
mit einem Flussdiagramm erörtert,
um die Operation des Programmierwerkzeugs in 3 zu zeigen.
-
In Benutzeroperation ST1, wenn der
Benutzer einen FB 20 aus der FB-Bibliotheksektion 2 durch eine
Klickoperation der Maus
7b auswählt, in Vorschaukoordinaten-Bestimmungsbearbeitung
ST2, wird das Vorschaukoordinaten-Bestimmungsmittel 4a ausgeführt und
die Koordinaten, um den ausgewählten
FB 20 in der Vorschauanzeigesektion 3 zu zeichnen,
werden kalkuliert und in der Vorschauzeichnungsinformations-Speichersektion 5a gespeichert.
-
Als nächstes wird in Bestimmungsbearbeitung
eines nächsten
Kandidatenfunktionsblocks ST3 das Bestimmungsmittel eines nächsten Kandidatenfunktionsblocks 4b ausgeführt, Information
für jeden FB 20,
die zuvor in der Informationsspeichersektion eines nächsten Kandidaten-FB 5b gespeichert
wird, wird referenziert, und die Bitzeichenkette, die den FB 20 als
den nächsten
Kandidaten in Bezug auf den FB 20, der in der Benutzeroperation
ST1 ausgewählt wird
(Bitzeichenkette eines nächsten
Kandidaten-FB), darstellt, wird bestimmt und in der Bitzeichenketten-Speichersektion
eines nächsten
Kandidaten-FB 5d gespeichert.
-
Hier ist die Anzahl von Bits der
Bitzeichenkette (Ziffernanzahl) gleich der Anzahl der durch den Hersteller
vorgesehenen FBs 20 in der FB-Bibliotheksektion 2 und
die Bits werden in einer Eins-zu-Eins-Entsprechung zu den FBs 20 vorgesehen.
-
Der Bitwert "1" bedeutet,
dass der entsprechende FB ein "nächster Kandidaten-FB" ist und "0" bedeutet, dass der entsprechende FB
kein "nächster Kandidaten-FB" ist.
-
Z.B. wird angenommen, dass die FBs 20,
die durch den Hersteller vorgesehen werden, A, B, C, D, E und F
sind, dass die Bitzeichenkette wie 011100 wird und dass das signifikanteste
Bit A entspricht und das niederwertigste Bit F entspricht. B, C
und D sind nächste
Kandidaten-FBs und A, E und F sind keine nächsten Kandidaten-FBs.
-
Dann wird in Vorschauanzeigesektions-Zeichnungsbearbeitung
ST4 der ausgewählte FB 20 in
der Vorschauanzeigesektion 3 basierend auf der Vorschauzeichnungsinformations-Speichersektion 5a gezeichnet.
-
Zuletzt wird in FB-Bibliotheksektions-Zeichnungsbearbeitung
ST5 die FB-Bibliotheksektion 2 in verschiedenen Anzeigemodi
basierend auf der Bitzeichenkette eines nächsten Kandidaten-FB in der Bitzeichenketten-Speichersektion
eines nächsten Kandidaten-FB 5d erneut
gezeichnet, während
unterschiedliche Hintergrundfarben verwendet werden etc., sodass
der Unterschied zwischen den FBs 20 als die nächsten Kandidaten
und den FBs, die keine nächsten
Kandidaten sind, auf einen Blick gesehen werden kann.
-
Während
der Benutzer eine Operation zum Auswählen von FBs 20 in
einer Reihenfolge durchführt,
werden Schritte ST1 bis ST5 wiederholt und eine Bearbeitung von
einer ersten FB-Auswahl → Anzeige
des ersten FB in der Vorschauanzeigesektion 3 → Hervorheben
eines FB, der mit dem ersten FB in der FB-Bibliothek 2 verbunden
werden kann → zweiten
FB-Auswahl → ...
wird wiederholt.
-
Der Benutzer kann bei der Auswahl
von FBs 20 wünschen,
erneut eine Auswahl von FB 20 von Beginn an vorzunehmen,
falls der Benutzer einen falschen FB 20 auswählt oder
FBs 20 in einer falschen Reihenfolge auswählt etc.
-
Um dies zu tun, falls der Benutzer
eine Löschtaste
in der Benutzeroperation ST1 drückt,
wird die Information in der Vorschauzeicheninformations-Speichersektion 5a gemäß der Vorschauzeichnungsinformations-Löschbearbeitung
ST6 gelöscht (entfernt),
und die Zeichenkette eines nächsten
Kandidaten-FB in der Bitzeichenketten-Speichersektion eines nächsten Kandi daten-FB 5d wird
gemäß der Zeichenketten-Löschbearbeitung
eines nächsten Kandidaten-FB
ST7 gelöscht
(auf alles Nullen).
-
Ferner wird die Vorschauanzeigesektion 3 basierend
auf der Vorschauzeichnungsinformations-Speichersektion 5a,
die in ST6 gelöscht
wird, erneut gezeichnet und die FB-Bibliotheksektion 2 wird basierend
auf der Zeichenkette eines nächsten
Kandidaten-FB in der Zeichenketten-Speichersektion eines nächsten Kandidaten-FB 5d,
die in ST7 gelöscht wird,
erneut gezeichnet, wodurch die Vorschauanzeigesektion 3 und
die FB-Bibliotheksektion 2 in der Anzeige in einem Zustand
platziert werden, in dem der Benutzer keine FBs wählt.
-
Falls der Benutzer die Vorschau in
der Vorschauanzeigesektion 3 überprüft und dann den ausgewählten FB 20 in
die FBD-Editorsektion 1 zieht und fallen lässt (letzter
gewählter
FB), in FBD-Editorsektions-Zeichnungsbearbeitung ST8, wird das FBD-Editorsektions-Zeichnungsmittel 4c ausgeführt und
das Diagramm, das in der Vorschauanzeigesektion 3 gezeichnet
ist, wird in der FBD-Editorsektion 1 gezeichnet.
-
Wegen der Bearbeitung von ST6 und
ST7 werden die Vorschauanzeigesektion und die FB-Bibliotheksektion 2 in
der Anzeige in einem Zustand platziert, in dem der Benutzer keine
FBs auswählt.
-
Als nächstes werden ST1 bis ST5 für den Benutzer,
um FBs 20 aus der FB-Bibliotheksektion 2 durch
eine Klickoperation der Maus 7b auszuwählen, detailliert erläutert.
-
Die Vorschaukoordinaten-Bestimmungsbearbeitung
ST2 durch das Vorschaukoordinaten-Bestimmungsmittel 4a wird
mit 4 bis 7 erörtert.
-
4 ist
eine Zeichnung, um einen Zustand zu zeigen, in dem die Attributinformation
von jedem FB 20 in der FB-Informationsspeichersektion 5e gespeichert
wird.
-
Zur Vereinfachung sind die maximalen
Anzahlen von Eingängen
und Ausgängen
in dem Beispiel je drei. Wie in 4 gezeigt,
hat die Attributinformation von jedem FB 20 den FB-Namen,
Größe, die
Anzahl von Eingängen,
die Anzahl von Ausgängen,
Eingangspin-Datentypen und Ausgangspin-Datentypen.
-
Die Größe sind die Längs- und
Querlängen des
FB 20 (in Einheiten von mm) und die Anzahl von Eingängen und
die Anzahl von Ausgängen
sind die Anzahlen der Eingangspins 21 bzw. der Ausgangspins 22 der
FBs 20.
-
Der Datentyp von Eingangspin 1,
der Datentyp von Eingangspin 2 und der Datentyp von Eingangspin 3 entsprechen
den Datentypen der drei Eingangspins 21.
-
Falls die Anzahl von Eingangspins
kleiner als drei ist, wird der Datentyp entsprechend einem nicht-existierenden
Eingangspin 21 "KEINER".
-
Falls z.B. die Anzahl von Eingangspins
eins ist und der Datentyp des Eingangspins "GANZE ZAHL" ist, werden der Datentyp von Eingangspin 1, der
Datentyp von Eingangspin 2 und der Datentyp von Eingangspin 3 "GANZE ZAHL", "KEINER" bzw. "KEINER".
-
Was die Ausgangspins 82 betrifft,
wie die Eingangspins 21, entsprechen der Datentyp von Ausgangspin 1,
der Datentyp von Ausgangspin 2 und der Datentyp von Ausgangspin 3 den
Datentypen der drei Ausgangspins 22.
-
Der Datentyp von Eingangspin 21,
Ausgangspin 22 repräsentiert
den Typ von Daten, die zwischen dem Eingangspin 21 und
dem Ausgangspin 22 übertragen
werden, wenn der Eingangspin 21 des FB 20 mit
dem Ausgangspin eines beliebigen anderen FB 20 verbunden
ist, und ist eine ganze Zahl (1, 2, 3, ...), eine reelle Zahl (1,25
etc.), eine Zeichenkette (ABC etc.), Datum und Zeit (22.01.2001
17:30:32) oder dergleichen.
-
Der Datentyp von Eingangspin 21,
Ausgangspin 22 wird im voraus durch den Hersteller, der
das Programmierwerkzeug vorsieht, gemäß der Funktion von FB 20 definiert.
-
Falls die Datentypen des Eingangspins 21 und
des Ausgangspins 22, die verbunden sind, nicht gleich sind,
werden Daten nicht richtig übertragen und
somit ist eine Verwendung nur zwischen dem Eingangspin 21 und
dem Ausgangspin 22 mit dem gleichen Datentyp möglich.
-
5 ist
ein Flussdiagramm, um die Operation der Vorschaukoordinaten-Bestimmungsbearbeitung
ST2 durch das Vorschaukoordinaten-Bestimmungsmittel 4a darzustellen.
-
6 ist
eine Zeichnung, um die Vorschauanzeigesektion 3, die in
der Beschreibung verwendet wird, zu zeigen, und 7 ist eine Zeichnung, um die Vorschauzeichnungsinformations-Speichersektion 5a zu
zeigen, die durch das Vorschaukoordinaten-Bestimmungsmittel 4a aktualisiert
wird, wenn der Benutzer FBs 20 in dem Beispiel in 6 auswählt.
-
In der Ausführungsform wird eine Idee von virtuellen
Spalten auf die Vorschauanzeigesektion 3 angewendet.
-
Um FBs 20 parallel zu verbinden,
wird angenommen, dass die FBs 20 zu der gleichen Spalte
gehören;
um einen FB 20 mit ei nem FB in einer Spalte seriell zu
verbinden, wird angenommen, dass der FB 20 zu der nächsten Spalte
gehört.
-
In 6 gehören Funktionsblock
B (FB(B)) und FB(C) zu der ersten Spalte und FB(F) gehört zu der
zweiten Spalte. FB(F) ist in serieller Verbindung mit FB(B) und
FB(C), und FB(C) ist in paralleler Verbindung mit FB(B).
-
Was die Entsprechung zwischen den
Figuren in der Vorschauanzeigesektion 3 und der Vorschauzeichnungsinformations-Speichersektion 5a betrifft,
entsprechen in dem Beispiel in 6 und 7 die Figuren von P101 bis
P105 in 6 jeweils den Koordinaten
von T101 bis T105 in 7.
-
D.h. in der Vorschauzeichnungsinformations-Speichersektion 5a werden
die Zeichnungskoordinaten von FBs 20 in ungeradzahligen
Spalten gespeichert und Verbindungsinformation wird in einer geradzahligen
Spalte zwischen den Zeichnungskoordinaten der FBs 20 eingegeben
und somit wird die Zeichnungsinformation von FB-Spaltenposition
n in der Vorschauanzeigesektion 3 in der (2n-1)-ten Spalte
der Vorschauzeichnungsinformations-Speichersektion 5a gespeichert.
-
Angenommen, dass die FBs 20 in
der n-ten Spalte in der Vorschauanzeigesektion 3 die ersten, zweiten,
..., m-ten von oben nach unten sind, werden die Zeichnungskoordinaten
in den ersten, zweiten, ..., m-ten Zeilen unter der (2n-1)-ten Spalte
der Vorschauzeichnungsinformations-Speichersektion 5a gespeichert.
-
Als nächstes wird die Operation von
Vorschaukoordinaten-Bestimmungsbearbeitung ST2 detailliert mit 5 erörtert.
-
Wenn der Benutzer einen FB 20 durch
eine Klickoperation der Maus 7b in einer FB-Rechteckabschnittsbearbeitung
ST11 aus wählt,
wird die Vorschauzeichnungsinformations-Speichersektion 5a referenziert
und die Startposition zum Zeichnen eines Rechtecks des FB 20 wird
kalkuliert. Ferner wird die Größe des ausgewählten FB 20 in
der FB-Informationsspeichersektion 5e mit dem Namen des
FB 20 als einen Schlüssel
nachgeschaut, und die Koordinaten, um das Rechteck des FB 20 auf
der Vorschauanzeigesektion 3 zu zeichnen, werden bestimmt.
-
Eine Auswahl von FB 20 wird
getrennt auf drei Wegen einer Auswahl eines ersten FB 20 (Zustand,
in dem keine FBs 20 ausgewählt sind), einer parallelen
Verbindung und einer seriellen Verbindung erörtert.
-
Um einen FB 20 zum ersten
Mal auszuwählen,
existiert ein zuvor ausgewählter
FB 20 nicht. Angenommen, dass der Eingangspin 21 und
der Ausgangspin 22 in einer Länge eine vorbestimmte Länge lp aufweisen,
wird somit die Position, die in der X-Achsenrichtung von dem Ursprungspunkt
um die Länge
lp des Eingangspins 21 (lp, 0) verschoben ist, die Startposition
zum Zeichnen eines Rechtecks.
-
Von der FB-Informationsspeichersektion 5e werden,
falls die Größe des Rechtecks
des FB (seitlich, längs)
(lx1, ly1) ist, in 6 die
Koordinaten des Rechtecks von FB(B) (lp, 0), (lp+lx1, 0), (lp, ly1), (lp+lx1,
ly1).
-
Angenommen, dass die Länge des
Eingangspins 21 von FB(B), lp, 10 ist, ist die Größe des Rechtecks
von FB(B) seitlich 25 und längs
20 aus der FB-Informationsspeichersektion 5e und deshalb
werden die Koordinaten des Rechtecks von FB(B) (10, 0), (35, 0),
(10, 20), (35, 20) und die Koordinaten werden in der Vorschauinformations-Speichersektion 5a gespeichert
(T101 in 7).
-
Als nächstes werden in Eingangspin-Abschnittsbearbeitung
ST12 die Koordinaten des Eingangspins 21 kalkuliert und
das Ergebnis wird in der Vorschauinformations-Speichersektion 5a gespeichert.
-
Angenommen z.B., dass die Eingangspins 21 in
FB 20 in gleichen Intervallen platziert sind, werden die
relativen Koordinaten der Eingangspins 21 in der y-Richtung
in Bezug auf die obere Seite des Rechtecks des FB 20 ly1m1,
(2·lym1),
..., (m·ly1m1), wobei
die Anzahl von Pins m ist und der Wert, der aus einer Teilung von
ly1 durch (m+1) resultiert, ly1m1 ist.
-
Was FB(B) in 6 betrifft, ist die Anzahl der Eingangspins 21 eins
und die x-Koordinate des linken Abschlusses des Eingangspins 21 und
die y-Koordinate der oberen Seite des Rechtecks von B sind aus der
FB-Informationsspeichersektion 5e beide 0 und die Koordinaten
des Eingangspins 21 werden deshalb (0, 10), (10, 10) und
die Koordinaten werden in der Vorschauinformations-Speichersektion 5a gespeichert
(T101 in 7).
-
Ferner werden in Ausgangspin-Abschnittsbearbeitung
ST13 die Koordinaten des Ausgangspins 22 kalkuliert und
das Ergebnis wird in der Vorschauinformations-Speichersektion 5a gespeichert.
-
Angenommen z.B., dass die Ausgangspins 22 in
FB 20 auch wie die Eingangspins 21 in gleichen Intervallen
platziert sind, werden die relativen Koordinaten der Ausgangspins 22 in
der y-Richtung zu der oberen Seite des Rechtecks des FB 20 ly1m1, (2·ly1m1),
..., (m·ly1m1).
-
Was FB(B) in 6 betrifft, ist die Anzahl der Ausgangspins 22 eins
und die x-Koordinate der rechten Seite des Rechtecks von FB(B) ist 35 und
die y-Koordinate der oberen Seite des Rechtecks von B ist 0 aus
der FB-Informationsspeichersektion 5e und die Koordinaten
des Ausgangspins 22 werden deshalb (35, 10), (45, 10) und
die Koordinaten werden in der Vorschauinformations-Speichersektion 5a gespeichert
(T101 in 7).
-
Als nächstes wird eine parallelen
Verbindung auf dem zweiten Weg erörtert.
-
Falls der Benutzer einen FB 20 einfach
durch Mausklick auswählt,
wird der ausgewählte
FB 20 seriell verbunden; falls der Benutzer einen FB 20 durch Mausklick
mit einer speziellen Taste (die hierin nachstehend als die Hochstelltaste
angenommen wird) auswählt,
wird der ausgewählte
FB 20 parallel verbunden.
-
In dem Beispiel in 6 ist FB(C) der Fall.
-
In diesem Fall werden in FB-Rechteckabschnittsbearbeitung
ST11 die Rechteckkoordinaten wie folgt bestimmt: zu Anfang wird
angenommen, dass die x-Koordinate der Startposition zum Zeichnen
eines Rechtecks des FB 20 die gleiche wie der FB in der
gleichen Spalte ist. Es wird angenommen, dass die y-Koordinate der
Startposition von der linken Seite des Rechtecks des FB 20,
der unmittelbar vor der Spalte ausgewählt wird, um einen konstanten
Abstand ls entfernt ist.
-
In 6 ist
die x-Koordinate der Startposition zum Zeichnen eines Rechtecks
von FB(C) lp, was die gleiche wie die von FB(B) ist, und die y-Koordinate
wird (y-Koordinate von unterer Seite von Rechteck von FB(B) + ls).
Die Größe des Rechtecks
von FB(C) ist längs 24 und
seitlich 20 aus der FB-Informationsspeichersektion 5e und
angenommen, dass ls 15 ist, werden deshalb die Koordinaten
des Rechtecks von FB(C) (10, 35), (30, 35), (10, 59), (30, 59) und
die Koordinaten werden in der Vorschauinformations-Speichersektion 5a gespeichert
(T102 in 7).
-
Anschließend ist in Eingangspin-Abschnittsbearbeitung
ST12 zuerst die x-Koordinate des linken Abschlusses des Eingangspins 21 gleich
der x-Koordinate des linken Abschlusses des Eingangspins 21 des
FB-Rechtecks in der gleichen Spalte, und die y-Koordinate wird die
Position, wo der Eingangspin 21 in einem gleichen Intervall
in dem FB-Rechteck platziert wird, wie in dem Fall, wo ein FB zum
ersten Mal ausgewählt
wird.
-
In 6 ist
die x-Koordinate des linken Abschlusses des Eingangspins 21 von
FB(C) 0, was die gleiche ist wie die x-Koordinate des linken Abschlusses des
Eingangspins 21 von FB (B).
-
Da die Anzahl von Eingangspins 21 von FB(C)
aus der FB-Informationsspeichersektion 5e zwei ist, werden
die Koordinaten der Eingangspins 21 (0, 43), (10, 43) und
(0, 51), (10, 51) und die Koordinaten werden in der Vorschauinformations-Speichersektion 5a gespeichert
(T102 in 7).
-
Ferner ist in Ausgangspin-Abschnittsbearbeitung
ST13 die x-Koordinate
des linken Abschlusses des Ausgangspins 22 gleich der x-Koordinate
der rechten Seite des FB-Rechtecks. Die y-Koordinate des Ausgangspins 22 wird
die Position, wo der Ausgangspin 22 in einem gleichen Intervall
in dem FB-Rechteck platziert wird.
-
Deshalb wird die Länge des
Ausgangspins 22 durch die folgende Kalkulation bestimmt:
Zuerst
wird angenommen, dass die Länge
des FB mit der maximalen seitlichen Größe in der Spalte, zu der der
ausgewählte
FB gehört,
lx_max ist.
-
Das lx_max wird in der Speichersektion
einer maximalen Größe eines
FB 5f in 2 gespeichert.
-
Angenommen, dass die seitliche Größe des ausgewählten FB
lx_cur ist, wenn lx_cur kleiner als lx_max ist, nämlich wenn
(lx_cur) < (ly_max)
hält, ist die
Länge des
Ausgangspins 22 lp + (lx_max – lx_cur).
-
In dem Beispiel in 6 wird die Länge des Ausgangspins 22 lp
+ (seitliche Größe von FB(B) – seitliche
Größe von FB(C))
= (10 + 25 – 20)
= 15.
-
Deshalb wird die x-Koordinate des
linken Abschlusses des Ausgangspins 22 (x-Koordinate des linken
Abschlusses + Länge
einer Linie) = 30 + 15 = 45 (siehe P102 in 6 und T102 in 7).
-
Wenn (lx_cur) > (lx_max) hält, ist die Länge des
Ausgangspins 22 des ausgewählten FB lp, und (lx_cur) – (lx_max)
wird der x-Koordinate des rechten Abschlusses des Ausgangspins 22 eines
anderen FB in der Spalte hinzugefügt, zu der der ausgewählte FB gehört, und
der Wert von lx_cur wird in der Speichersektion einer maximalen
Größe eines
FB 5f als lx_max gespeichert.
-
Da die Bearbeitung so durchgeführt wird, werden
die x-Koordinaten der rechten Abschlüsse der Ausgangspins 22 der
FBs in einer Spalte einander gleich und wenn die FB-Rechtecke in
der Vorschauanzeigesektion 3 gezeichnet werden, sind die FB-Rechtecke in jeder
Spalte nach links ausgerichtet, um es einfach zu machen, die Figuren
zu sehen.
-
Als nächstes wird eine serielle Verbindung erörtert.
-
Falls der Benutzer einen FB 20 einfach
durch Mausklick auswählt,
wenn eine Spalte oder mehr bereits existieren, wird der ausgewählte FB 20 seriell verbunden.
-
In dem Beispiel in 6 ist FB(F) der Fall.
-
In FB-Rechteckabschnittsbearbeitung
ST11 wird die x-Koordinate der linken Seite des Rechtecks des FB 20 als
(x-Koordinate vom linken Abschluss von Ausgangspin 22 in
einer vorangehenden Spalte + Länge
lp von Eingangspin 21) kalkuliert und die y-Koordinate
wird als 0 kalkuliert.
-
In 6 wird
die x-Koordinate der Startposition zum Zeichnen eines Rechtecks
von FB(F) (x-Koordinate vom rechten Abschluss von Ausgangspin 22 von
FB(B) + lp) =(45 + 10) = 55. Die Größe des Rechtecks von FB(F)
ist aus der FB-Informationsspeichersektion 5e längs 32 und
seitlich 25 und deshalb werden die Koordinaten des Rechtecks von FB(F)
(55, 0), (80, 0), (55, 32), (80, 32) und die Koordinaten werden
in der Vorschauinformations-Speichersektion 5a gespeichert
(T105 in 7).
-
Anschließend ist in Eingangspin-Abschnittsbearbeitung
ST12 die x-Koordinate des linken Abschlusses des Eingangspins 21 gleich
der x-Koordinate des rechten Abschlusses des Ausgangspins 22 in
der vorangehenden Spalte, und die y-Koordinate ist die Position,
wo der Eingangspin 21 in einem gleichen Intervall in dem
Rechteck des FB 20 platziert ist.
-
In 6 wird
die x-Koordinate des linken Abschlusses des Eingangspins 21 von
FB(F) die x-Koordinate des rechten Abschlusses des Ausgangspins 22 von
FB(B), 45.
-
Da die Anzahl von Eingangspins 21 von FB(F)
aus der FB-Informationsspeichersektion 5e zwei ist, werden
die Koordinaten der Eingangspins 21 (45, 10,7), (55, 10,7)
und (45, 21,3), (55, 21,3) und die Koordinaten werden in der Vorschauinformations-Speichersektion 5a gespeichert
(T105 in 7).
-
In Ausgangspin-Abschnittsbearbeitung
ST13 ist dann die x-Koordinate des linken Abschlusses des Ausgangspins 22 gleich
der x-Koordinate der rechten Seite des FB 20, und die y-Koordinate
ist die Position, wo der Ausgangspin 22 in einem gleichen
Intervall in dem Rechteck des FB 20 platziert ist.
-
Da die Anzahl von Ausgangspins 22 von FB(F)
aus der FB-Informationsspeichersektion 5e drei ist, werden
die Koordinaten der Ausgangspins 22 (80, 8), (90, 8), (80,
16), (90, 16), und (80, 24), (90, 24) und die Koordinaten werden
in der Vorschauinformations-Speichersektion 5a gespeichert
(T105 in 7).
-
Die Zeichnungsinformation, die durch
Durchführen
der oben beschriebenen Zeichnungsbearbeitung vorgesehen wird, wird
in der Vorschauzeichnungsinformations-Speichersektion 5a in
der Speichersektion 5 gespeichert, und P101, P102 und P105 in 6 entsprechen T101, T102
und T105 in 7.
-
D.h. die Reihenfolge von oben von
den FBs in der Vorschauanzeigesektion 3 in 6 entspricht den Zeilen der Zeichnungsinformation
in 7. Die Spalten betrachtend
wird Verbindungsinformation jedoch zwischen den Zeichnungsinformationsstücken der
FBs in 7 und somit in
der Vorschauzeichnungsinformations-Speichersektion 5a eingegeben, die
ungeradzahligen Spalten repräsentieren
die Zeichnungsinformation der FBs und die Zeichnungskoordinaten
von FB in der n-ten Spalte werden in der (2n-1)-ten Spalte der Vorschauzeichnungsinformations-Speichersektion 5a gespeichert
und die Verbindungskoordinaten zwischen dem FB 20 in der n-ten
Spalte und dem FB 20 in der (n+1)-ten Spalte werden in
der (2n)-ten Spalte der Vorschauzeichnungsinformations-Speichersektion 5a gespeichert.
-
Wie in 7 gezeigt,
inkludiert die FB-Zeichnungsinformation in der Vorschauzeichnungsinformations-Speichersektion 5a Blockname,
Blockkoordinaten, Eingangspinkoordinaten und Ausgangspinkoordinaten;
die Ausgangspinkoordinaten werden zusätzlich zu den Pinkoordinaten
mit einem Verbindungsflag versehen.
-
Der Wert des Verbindungsflags ist "0" (nicht verbunden) oder "1" (verbunden).
-
Dies wird in einer nachstehend gezeigten
automatischen Verbindungsbearbeitung verwendet.
-
Ein FB in der n-ten Spalte, der seriell
verbunden ist, wird ausgewählt
und bei Abschluss der Zeichnungsinformations-Speicherbearbeitung
in der (2n-1)-ten Spalte der Vorschauzeichnungsinformations-Speichersektion 5a und
der Zeichnungsbearbeitung in der Vorschauanzeigesektion 3 in
oben beschriebenen FB-Zeichnungsbearbeitungen ST11 bis ST13 wird
Verbindungsabschnittsbearbeitung ST14 durchgeführt.
-
Als nächstes wird Verbindungsabschnittsbearbeitung
ST14 mit einem Flussdiagramm von 8 und 9 erörtert.
-
9 ist
eine Zeichnung, um ein Beispiel zu zeigen, worin ein Funktionsblock
Z (mit zwei Eingangspins) derart ausgewählt wird, um seriell in einem
Zustand verbunden zu sein, wo Funktionsblock X (mit drei Ausgangspins)
und Funktionsblock Y (mit zwei Ausgangspins) zuvor ausgewählt sind
und in Positionen für
eine parallele Verbindung sind.
-
Die Verbindungsbearbeitung in Verbindungsabschnittsbearbeitung
ST14 wird auf die Eingangspins 21 des ausgewählten FB 20 und
die Ausgangspins 22 der zuvor ausgewählten FBs 20 angewendet,
nämlich
auf die Eingangspins 21 von FB(Z) und die Ausgangspins 22 von
FB(X) und FB(Y) in dem Beispiel in 9 angewendet.
-
Die Anzahl von Kombinationen der
Eingangspins 21 und der Ausgangspins 22, auf die
die Verbindungsbearbeitung angewendet wird, ist (Anzahl von Eingangspins 21 × Anzahl
von Ausgangspins 21)
-
In dem Beispiel in 9 ist die Anzahl der Eingangspins 21 (Anzahl
von Eingangspins von FB(Z)) = 2 und die Anzahl der Ausgangspins 22 ist (Anzahl
von Ausgangspins von FB(X), 3, + Anzahl von Ausgangspins von FB(Y),
2) = 5 und deshalb ist die Anzahl von Kombinationen der Eingangspins 21 und
der Ausgangspins 22, auf die die Verbindungsbearbeitung
angewendet wird, 2 × 5
= 10.
-
Für
jede Kombination von Eingangspin 21 und Ausgangspin 22 wird
eine spätere
beschriebene Verbindungsabschnittsbearbeitung ST14 ausgeführt. Die
Reihenfolge der Kombinationen der Eingangspins 21 und der
Ausgangspins 22, auf die die Verbindungsbearbeitung angewendet
wird, wird wie folgt bestimmt: Zuerst ist der Eingangspin 21,
auf den die Verbindungsbearbeitung angewendet wird, der erste Eingangspin 21 von
FB(Z) (ZP1 in der Figur), und der Ausgangspin 22, auf den
die Verbindungsbearbeitung angewendet wird, ist der erste Ausgangspin 22 von
X in der ersten Zeile (XP1).
-
Bei Abschluss von Verbindungsabschnittsbearbeitung
ST14 für
ZP1 und XP1 (J101 in der Figur) wird dann der Ausgangspin 22,
auf den der Eingangspin 21 (ZP1 in der Figur) angewendet wird,
zu dem zweiten Ausgangspin XP2 von X (J102) geändert und das nächstes Ziel
ist XP3 (J103).
-
Bei Abschluss einer Bearbeitung für FB(X) wird
eine Bearbeitung der Ausgangspins 22 auf FB(Y) angewendet,
und Verbindungsbearbeitung ST204 (J104, J105) wird zwischen ZP1
und dem Ausgangspin 22 (YP1, YP2) durchgeführt.
-
Bei Abschluss einer Bearbeitung des
ersten Eingangspins 21 von FB(Z) (ZP1) auf alle Ausgangspins 22 wird
der Eingangspin 21, auf den die Verbindungsbearbeitung
angewendet wird, zu dem zweiten Eingangspin 21 von Z geändert (ZP2).
-
Wie mit ZP1 wird eine Bearbeitung
für XP1, XP2,
XP3, YP1 und YP2 durchgeführt
(J106 bis J110).
-
Als nächstes wird die Operation von
Verbindungsabschnittsbearbeitung ST14 mit dem Flussdiagramm von 8 erörtert. In ST21 in 8 wird der Datentyp des
Eingangspins 21, auf den die Bearbeitung angewendet wird
(z.B. ZP1 in 9) aus
der FB-Informationsspeichersektion 5e mit dem Blocknamen
als einen Schlüssel
gelesen.
-
In ST22 wird der Datentyp des Ausgangspins 22 aus
der FB-Informationsspeichersektion 5e mit dem Blocknamen
des FB 20, auf den die Bearbeitung angewendet wird (z.B.
FB(X) in 9), als einen Schlüssel gelesen.
-
Das Verbindungsflag des Ausgangspins 22 des
FB 20, auf den die Bearbeitung angewendet wird, wird aus
der Vorschauzeichnungsinformations-Speichersektion 5a gelesen.
-
In ST23 wird, falls der Wert des
eingelesenen Verbindungsflags des Ausgangspins 22 1 ist (was
bedeutet, dass der Ausgangspin 22 bereits mit einem anderen
Eingangspin 21 verbun den wurde), die Bearbeitung für den Eingangspin 21 und
den Ausgangspin 22 der gegenwärtigen Bearbeitungsziele abgeschlossen;
falls der Wert des Verbindungsflags 0 ist (was bedeutet, dass der
Ausgangspin 22 nicht mit einem anderen Eingangspin 21 verbunden
ist), wird die Bearbeitung fortgesetzt.
-
In ST24 wird der Datentyp des Eingangspins 21,
der in ST21 erhalten wird, mit dem Datentyp des Ausgangspins 22,
der in ST22 erhalten wird, verglichen. Falls die Datentypen übereinstimmen,
können der
Eingangspin 21 und der Ausgangspin verbunden werden und
werden somit in der folgenden Pin-zu-Pin-Linienkoordinatenbestimmungsbearbeitung
ST25 verbunden: In Pin-zu-Pin-Linienkoordinatenbestimmungsbearbeitung
ST25 werden die Koordinaten der Linie, die die Koordinaten des rechten Abschlusses
des Ausgangspins 22 in der n-ten Spalte und die Koordinaten
des linken Abschlusses des Eingangspins 21 in der (n+1)-ten
Spalte verbindet, in der (2n)-ten Spalte der Vorschauzeichnungsinformations-Speichersektion 5a gespeichert.
-
In Verbindungsflag-Aktualisierungsbearbeitung
ST26 wird dann das Verbindungsflag in der Zeichnungsinformation
des verbundenen Ausgangspins 22 von 0 auf 1 aktualisiert
(was verbunden darstellt).
-
In dem Beispiel in 6 sind die ersten Pins, auf die die Verbindungsbearbeitung
angewendet wird, der erste Eingangspin 21 von FB(F) (FP1)
und der Ausgangspin 22 von FB(B). Der Datentyp von FP1
wird aus der FB-Informationsspeichersektion 5e mit dem
Blocknamen "F" als einen Schlüssel gefunden,
und es wird "ganze
Zahl" gefunden.
-
Gleichermaßen ist auch der Datentyp des Ausgangspins 22 von
FB(B) "ganze Zahl".
-
Da der Ausgangspin 22 von
FB(B) zu dem Zeitpunkt, wenn FB(F) ausgewählt wird, nicht verbunden ist,
ist der Wert des Verbindungsflags des Ausgangspins 22 des
Funktionsblocks B in der Vorschauzeichnungsinformations-Speichersektion 5a 0. Die
Datentypen stimmen überein
und der Wert des Verbindungsflags ist 0 und somit sind die Bedingungen
in ST23 und ST24 in 8 erfüllt.
-
Deshalb werden gemäß Pin-zu-Pin-Linienkoordinatenbestimmungsbearbeitung
ST25 die Verbindungskoordinaten kalkuliert und werden in der ersten
Zeile, zweiten Spalte der Vorschauzeichnungsinformations-Speichersektion 5a gespeichert
(T103 in 7).
-
Als nächstes ist der Eingangspin 21,
auf den die Verbindungsbearbeitung angewendet wird, der zweite Eingangspin 21 von
FB(F) (FP2) und der Datentyp des Eingangspins wird als "Datum und Zeit" in ST21 in 8 herausgefunden.
-
Der Ausgangspin 22, auf
den die Verbindungsbearbeitung angewendet wird, ist der Ausgangspin 22 von
B. Der Ausgangspin 22 von B wurde jedoch bereits mit dem
ersten Eingangspin21 von F durch die oben beschriebene
Bearbeitung verbunden und das Verbindungsflag wurde auf 1 aktualisiert
und die Bedingung in ST23 ist nicht erfüllt.
-
Der nächste Ausgangspin 22,
auf den die Verbindungsbearbeitung angewendet wird, ist der Ausgangspin 22 von
C. Der Datentyp aus der FB-Informationsspeichersektion 5e ist "Datum" und die Bedingung
in ST23 ist erfüllt.
-
Ferner ist der Pin nicht verbunden
und somit ist das Verbindungsflag 0 und die Bedingung in ST24 ist
erfüllt.
-
Deshalb werden gemäß Pin-zu-Pin-Linienkoordinatenbestimmungsbearbeitung
ST25 die Linienkoordinaten in der zweiten Zeile, zweiten Spalte
der Vorschauzeichnungsinformations-Speichersektion 5a gespeichert
(T104 in 7).
-
Als nächstes wird die Bestimmungsbearbeitung
eines nächsten
Kandidatenfunktionsblocks ST3 durch das Bestimmungsmittel eines
nächsten
Kandidatenfunktionsblocks 4b mit 10 bis 12 erörtert.
-
10 zeigt
die Informationsspeichersektion eines nächsten Kandidatenfunktionsblocks 5b, die
Information der FBs 20 als die nächsten Auswahlkandidaten speichert,
wenn ein FB 20 ausgewählt wird,
der zuvor von den Datentypen und Funktionen der Ausgangspins 22 der
FBs 20 bestimmt und durch den Hersteller, der das Programmierwerkzeug
vorsieht, vorgesehen wird.
-
Die Bits der Bitzeichenkette in 10 entsprechen A, B, ...
F von dem signifikantesten Bit zu dem niederwertigsten Bit; der
Bitwert "1" bedeutet "nächster Kandidaten-FB" und "0" bedeutet "nicht nächster Kandidaten-FB".
-
11 ist
ein Flussdiagramm, um die Operation der Bestimmungsbearbeitung eines
nächsten Kandidatenfunktionsblocks
ST3 darzustellen.
-
In ST31 wird bestimmt, ob der Benutzer
einen FB 20 durch Mausklick mit der gedrückten Hochstelltaste
in Benutzeroperation ST1 auswählt
oder nicht. Falls der Benutzer einen FB 20 ohne Drücken der
Hochstelltaste auswählt,
wird ST32 ausgeführt; falls
der Benutzer einen FB 20 mit der gedrückten Hochstelltaste auswählt, wird
ST33 ausgeführt.
-
ST32 wird ausgeführt, falls der Benutzer einen
FB 20 ohne Drücken
der Hochstelltaste auswählt.
In diesem Fall wird der ausgewählte
FB 20 (FB1) seriell verbunden.
-
Angenommen, dass der FB1 in der n-ten Spalte
zu platzieren ist, wird nur der FB1 in der n-ten Spalte platziert.
-
Die Bitzeichenkette, die die FBs 20 als
die nächsten
Kandidaten darstellt, die aus der Informationsspeichersektion eines
nächsten
Kandidatenfunktionsblocks 5b mit dem FB-Namen von FB1 als
einen Schlüssel
erlangt werden, wird eine Bitzeichenkette eines nächsten Kandidaten-FB,
der seriell mit dem FB1 verbunden ist, und wird in der Bitzeichenketten-Speichersektion
eines nächsten
Kandidaten-FB 5d gespeichert.
-
ST33 wird ausgeführt, falls der Benutzer einen
FB 20 mit der gedrückten
Hochstelltaste auswählt.
In diesem Fall wird der ausgewählte
FB (FB_3) parallel verbunden.
-
Angenommen, dass ein FB (FB_2) in
der n-ten Spalte, in der der FB_3 zu platzieren ist, bereits existiert,
wird der nächste
Kandidaten-FB, der als nächstes
seriell verbunden wird, die logische Summe der Bitzeichenkette,
die mit FB_2 als einen Schlüssel aus
der Informationsspeichersektion eines nächsten Kandidatenfunktionsblocks 5b erlangt
wird, und der Bitzeichenkette, die mit FB_3 als einen Schlüssel erlangt
wird (Bitzeichenkette Bit1).
-
Falls der Benutzer einen anderen
FB 20 (FB_4) durch Mausklick mit der gedrückten Hochstelltaste
auswählt,
werden ferner der FB_2, der FB_3 und der FB_4 in der Spalte parallel
verbunden.
-
In diesem Fall wird die Bitzeichenkette
eines nächsten
Kandidaten-FB, die als nächstes
seriell verbunden wird, die logische Summe der Bitzeichenketten,
die mit den Blocknamen von FB_2, FB_3 und FB_4 als Schlüssel aus
der Informationsspeichersektion eines nächsten Kandidatenfunktionsblocks 5b erlangt
werden, nämlich
die logische Summe der Bitzeichenketten, die mit den Bit1 und FB_4
als Schlüssel
erlangt werden.
-
Falls der Benutzer einen FB 20 mit
der gedrückten
Hochstelltaste auswählt,
wird somit die Bitzeichenkette eines nächsten Kandidaten-FB die logische
Summe der unmittelbar vorausgehenden Bitzeichenkette eines nächsten Kandidaten-FB
und der Bitzeichenkette eines nächsten
Kandidaten-FB des ausgewählten
FB, und der Wert wird in der Bitzeichenketten-Speichersektion eines
nächsten
Kandidaten-FB 5d gespeichert.
-
In Vorschauanzeigesektions-Zeichnungsbearbeitung
ST4 wird der ausgewählte
FB 20 in der Vorschauanzeigesektion 3 basierend
auf der Koordinateninformation gezeichnet, die durch Ausführen der oben
beschriebenen Vorschaukoordinaten-Bestimmungsbearbeitung ST2 bestimmt
wird, und in der Vorschauzeichnungsinformations-Speichersektion 5a gespeichert.
-
In FB-Bibliotheksektions-Zeichnungsbearbeitung
ST5 wird ein Zeichnen (erneutes Zeichnen) der FB-Bibliotheksektion 2 unter
Verwendung der Bitzeichenkette eines nächsten Kandidaten-FB in der Bitzeichenketten-Speichersektion
eines nächsten Kandidaten-FB 5d durchgeführt.
-
Beim erneuten Zeichnen wird der Hintergrund
des FB 20 mit dem Wert "0" des entsprechenden
Bits in der Bitzeichenkette eines nächsten Kandidaten-FB zum Zeichnen
ausgegraut oder schattiert, und der Hintergrund des FB 20 mit
dem Wert "1" des entsprechenden
Bits wird in weiß gezeichnet.
-
Falls z.B. FB(C) aus der FB-Bibliotheksektion 2 in 1 ausgewählt wird und dann FB(D) durch Mausklick
mit der gedrückten
Hochstelltaste gewählt wird,
wird zuerst, da FB(C) gewählt
ist, die Bitzeichenkette eines nächsten
Kandidaten-FB aus der Informationsspeichersektion eines nächsten Kandidaten-FB 5b "100001" (siehe 10).
-
Die Bitzeichenkette eines nächsten Kandidaten-FB
ist, da FB(D) mit der gedrückten
Hochstelltaste gewählt
wird, aus der Informationsspeichersektion eines nächsten Kandidaten-FB 5b "001100" und deshalb wird
die Bitzeichenkette eines nächsten
Kandidaten-FB die logische Summe der Bitzeichenketten "101101".
-
Deshalb werden beim erneuten Zeichnen der
FB-Bibliotheksektion 2 durch Ausführen der FB-Bibliotheksektions-Zeichnungsbearbeitung
ST5 die Hintergründe
von FB(A), FB(C), FB(D) und FB(F) in weiß gezeichnet und die Hintergründe von
FB(B) und FB(E) werden in grau gezeichnet (siehe 12).
-
D.h. wenn ein FB gewählt ist,
werden die FBs, die als nächste
gewählt
werden können,
eingegrenzt und die FBs, die nicht als nächste gewählt werden können, werden
in einer anderen Farbe angezeigt (in der Ausführungsform ausgegraut, schattiert
etc.), sodass der Benutzer den nächsten
FB einfach auswählen
kann, Irrtümer
einer fehlerhaften Verdrahtung beseitigt werden und die Programmiereffizienz
verbessert wird.
-
Als nächstes wird eine Bearbeitung
erörtert, die
durchgeführt
wird, wenn der Benutzer die Löschtaste
in Benutzeroperation ST1 (ST6, ST7, ST4 und ST5) drückt.
-
In Vorschauzeichnungsinformations-Löschbearbeitung
ST6 wird die Information in der Vorschauzeichnungsinformations-Speichersektion 5 insgesamt
gelöscht
(entfernt).
-
Da Bitzeichenketten-Löschbearbeitung
eines nächsten
Kandidaten-FB ST7 ausgeführt
wird, wird ferner die Bitzeichenkette eines nächsten Kandidaten-FB in der
Bitzeichenketten-Speichersektion eines nächsten Kandidaten-FB 5d gelöscht (alles
Nullen).
-
Als nächstes wird ein erneutes Zeichnen
der Vorschauanzeigesektion 3 in der oben beschriebenen
Vorschauanzeigesektions-Zeichnungsbearbeitung
ST4 basierend auf der Vorschauzeichnungsinformations-Speichersektion 5a,
die in ST6 gelöscht wird,
durchgeführt.
Da jedoch in der Vorschauzeichnungsinformations-Speichersektion 5a keine
Information gespeichert ist, wird in der Vorschauanzeigesektion 3 nichts
gezeichnet.
-
Ein erneutes Zeichnen der FB-Bibliotheksektion 2 wird
basierend auf der Bitzeichenkette in der Bitzeichenketten-Speichersektion
eines nächsten Kandidaten-FB 5d,
die in ST7 gelöscht
wird, durchgeführt.
Da die Bitzeichenkette eines nächsten
Kandidaten-FB in der Bitzeichenketten-Speichersektion eines nächsten Kandidaten-FB 5d "000000" ist, werden die
Hintergründe
von allen FBs 20 in weiß gezeichnet.
-
Da die Bearbeitung wie oben beschrieben durchgeführt wird,
werden sowohl die Vorschauanzeigesektion 3 als auch die
FB-Bibliotheksektion 2 in dem
Anzeigezustand platziert, in dem der Benutzer beliebige FBs 20 nicht
auswählt.
-
Als nächstes wird eine Bearbeitung
erörtert, die
durchgeführt
wird, wenn der Benutzer einen beliebigen gewünschten FB 20 in den
FBD-Editor aus der FB-Bibliotheksektion 2 in 1 in Benutzeroperation 5T1 zieht
und fallen lässt.
-
Wie in 3 gezeigt,
wird in diesem Fall in FBD-Editorsektions-Zeichnungsbearbeitung
ST8 das FBD-Editorsektions-Zeichnungsmittel 4c ausgeführt und
das Diagramm, das in der Vorschauanzeigesektion 3 gezeichnet
wird, wird in der FBD-Editorsektion 1 in ST2 gezeichnet
etc., und dann werden sowohl die Vorschauanzeigesektion 3 als
auch die FB-Bibliotheksektion 2 in dem Anzeigezustand platziert,
in dem der Benutzer beliebige FBs nicht auswählt, da eine Bearbeitung ähnlich zu
der, die durchgeführt
wird, wenn die Löschtaste
in oben beschriebener Benutzeroperation ST1 gedrückt ist, durchgeführt wird.
-
Die FBD-Editorsektions-Zeichnungsbearbeitung
ST8 wird detailliert mit einem Flussdiagramm von 13 und 14 und 15 erörtert.
-
Für
die Zeichnungsinformation der FBD-Editorsektion 1 werden
die Zeichnungskoordinaten für jeden
von FBs und Verbindungslinien (gemeinsam Objekte genannt) in der
FBD-Editorzeichnungsinformations-Speichersektion 5c in 15 gespeichert.
-
In ST41 wird die x-Koordinate des
rechtesten Endes von FB 20, der bereits in der FBD-Editorsektion 1 gezeichnet
ist, nämlich
der Maximalwert der x-Koordinate (x_max) in der FBD-Editorzeichnungsinformations-Speichersektion 5c gefunden
(siehe x_max in 14 und 15).
-
In ST42 wird die Vorschauzeichnungsinformation,
die in der Vorschauzeichnungsinformations-Speichersektion 5a beibehalten
wird, in der FBD-Editorzeichnungsinformations-Speichersektion 5c für jedes
Objekt gespeichert; x_max wird dem Wert der x-Koordinate in der Vorschauzeichnungsinformations-Speichersektion 5a zur
Speicherung hinzugefügt,
sodass sich das Diagramm, das bereits in der FBD-Editorsektion 1 gezeichnet
ist, und das Diagramm in der Vorschauzeichnungsinformations-Speichersektion 5a nicht überlappen.
-
In ST43 wird die FBD-Editorsektion 1 basierend
auf den Daten, die in der FBD-Editorzeichnungsinformations-Speichersektion 5c aktualisiert sind,
erneut gezeichnet.
-
14 ist
eine Zeichnung, um ein Beispiel der Editorzeichnungsbearbeitung
ST8 zu zeigen, in der FB(F) und FB(C) aus der FB-Bibliotheksektion 2 einfach
durch Mausklick ausgewählt
werden und in die FBD-Editorsektion 1 mit FB(A), FB(B)
und FB(C), die bereits gezeichnet sind, gezogen und fallen gelassen
werden.
-
In ST41 wird x_max gefunden. In dem
Beispiel wird die x-Koordinate des rechten Abschlusses des Ausgangspins 22 von
FB(C), "100", x_max.
-
In ST42 wird, wie in 15 gezeigt, der Wert "100" von
x_max zu jedem der Werte der x-Koordinaten von FB 20 und
Verbindungslinien in der Vorschauzeichnungsinformations-Speichersektion 5a zur
Speicherung in der FBD-Editorzeichnungsinformations-Speichereinheit 5c für jedes
Objekt hinzugefügt.
-
In ST43 wird die FBD-Editorsektion 1 basierend
auf der aktualisierten FBD-Editorzeichnungsinformations-Speichersektion 5c erneut
gezeichnet. Übrigens
wurde eine Verwendung der Erfindung für das Programmierwerkzeug mit
FBD beschrieben, aber die Erfindung kann selbstverständlich auch
für andere
Programmierwerkzeuge verwendet werden.
-
Gemäß der Ausführungsform kann ein Programm
mit FBD durch eine einfache Operation vorbereitet werden.
-
Da das Mittel zum Anzeigen des Zeichnungsbildes
zur Zeit von Ziehen und Fallen lassen in dem Vorschaufenster zu
der FB-Auswahlzeit
vorgesehen wird, kann der Programmierzustand mit einem Blick gesehen
werden.
-
Da das Mittel zum Ausrichten der
FBs in einer Spalte nach links vorgesehen ist, wird eine einfach
zu sehende Anzeige erzeugt.
-
Wenn ein FB ausgewählt ist,
werden die FBs, die als nächstes
ausgewählt
werden können, eingegrenzt
und werden auf eine andere Art und Weise angezeigt, sodass der Benutzer
den nächsten
FB einfach auswählen
kann und eine Auswahlirrtum verhindert werden kann.
-
Ferner ist das Mittel zum Ermöglichen
einer parallelen Verbindung in einer Kombination mit einem speziellen
Schüssel
zur FB-Auswahlzeit vorgesehen, sodass nicht nur eine einfache Programmierung
einer seriellen Verbindung, sondern auch eine komplizierte Programmierung
kombiniert mit paralleler Verbindung durchgeführt werden kann.
-
Industrielle
Anwendbarkeit
-
Wie oben beschrieben, ist das Programmierwerkzeug
gemäß der Erfindung
zur Verwendung in einer Programmierung mit einem Funktionsblockdiagramm
einer programmierbaren Steuervorrichtung geeignet.
-
ZUSAMMENFASSUNG
-
sEin Programmierwerkzeug hat Auswahlmittel
zum Auswählen
einer Vielzahl von Funktionsblöcken,
die in einem Bibliotheksformat angezeigt werden, Speichermittel
zum Speichern der Funktionsblöcke,
die durch das Auswahlmittel ausgewählt werden, in der Reihenfolge,
wie sie ausgewählt
werden, und Zeichnungsmittel, wie eine Vielzahl von Funktionsblöcken, die
durch das Auswahlmittel ausgewählt werden,
bestätigt
sind, zum Zeichnen und Anzeigen der bestätigten Funktionsblöcke in der
Reihenfolge, wie sie ausgewählt
werden.