DE4230178B4 - Verfahren zum automatischen Bestimmen der Reihenfolge der Signalbearbeitung in einem sequentiell arbeitenden Bausteinsystem - Google Patents
Verfahren zum automatischen Bestimmen der Reihenfolge der Signalbearbeitung in einem sequentiell arbeitenden Bausteinsystem Download PDFInfo
- Publication number
- DE4230178B4 DE4230178B4 DE4230178A DE4230178A DE4230178B4 DE 4230178 B4 DE4230178 B4 DE 4230178B4 DE 4230178 A DE4230178 A DE 4230178A DE 4230178 A DE4230178 A DE 4230178A DE 4230178 B4 DE4230178 B4 DE 4230178B4
- Authority
- DE
- Germany
- Prior art keywords
- program
- inputs
- block
- program block
- blocks
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/45—Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
Abstract
Verfahren
zum automatischen Bestimmen der Reihenfolge der Abarbeitung von
Programmbausteinen in einem sequentiell arbeitenden Bausteinsystem,
wobei die Programmbausteine über
Ein- und Ausgänge
unter Bildung von Signalwegen miteinander verknüpft sind und zumindest ein
Teil der Ein- und Ausgänge
Systemeingänge
bzw. Systemausgänge
des Bausteinsystems bilden,
dadurch gekennzeichnet,
– dass ausgehend von einem der Programmbausteine ein Signalweg zurückverfolgt wird, wobei jeder dabei erreichte Programmbaustein durch Eintrag in einem dem Programmbaustein zugeordneten Register markiert wird, seine Eingänge abgefragt werden und der Signalweg nur dann weiter zurückverfolgt wird, wenn dem jeweils abgefragten Eingang ein nicht-markierter Programmbaustein vorgeschaltet ist,
– dass, wenn alle Eingänge eines Programmbausteins an Ausgängen von markierten Bauseinen angeschlossen sind oder Systemeingänge (SE1, SE2...) sind, dem Programmbaustein eine fortlaufende Abarbeitungsfolgenummer (1, 2, 3...) zugeordnet wird und die Eingänge des nachgeschalteten Programmbausteins abgefragt werden, von denen aus der Programmbaustein erreicht wurde, und
– dass die Programmbausteine in der aufsteigenden Reihenfolge...
dadurch gekennzeichnet,
– dass ausgehend von einem der Programmbausteine ein Signalweg zurückverfolgt wird, wobei jeder dabei erreichte Programmbaustein durch Eintrag in einem dem Programmbaustein zugeordneten Register markiert wird, seine Eingänge abgefragt werden und der Signalweg nur dann weiter zurückverfolgt wird, wenn dem jeweils abgefragten Eingang ein nicht-markierter Programmbaustein vorgeschaltet ist,
– dass, wenn alle Eingänge eines Programmbausteins an Ausgängen von markierten Bauseinen angeschlossen sind oder Systemeingänge (SE1, SE2...) sind, dem Programmbaustein eine fortlaufende Abarbeitungsfolgenummer (1, 2, 3...) zugeordnet wird und die Eingänge des nachgeschalteten Programmbausteins abgefragt werden, von denen aus der Programmbaustein erreicht wurde, und
– dass die Programmbausteine in der aufsteigenden Reihenfolge...
Description
- Datenverarbeitungssysteme, z. B. Automatisierungssysteme, werden häufig modular aus Bausteinen aufgebaut, die im Allgemeinen mehrere Eingänge und mindestens einen Ausgang aufweisen. Diese Bausteine werden, vor allem wenn es Programmbausteine sind, zyklisch nacheinander abgearbeitet. Die Abarbeitungsreihenfolge wird im Allgemeinen so gewählt, dass möglichst wenig Zyklusverzögerungen in den Signalverläufen auftreten, weil dadurch Totzeiten auftreten, welche die gewünschte Funktion beeinträchtigen. Die Abarbeitungsreihenfolge kann manuell und empirisch festgelegt werden. Dies erfordert nicht nur einen beträchtlichen Zeitaufwand, sondern kann auch zu einer weniger günstigen Abarbeitungsreihenfolge führen.
- Aus der
EP 0 483 368 A1 ist ein Verfahren zum Suchen eines so genannten Netzes in einem sequentiellen Programm bekannt, bei dem benötigte Netze mittels eines Cursers in einem Leiterdiagramm des Programms manuell markiert und später so leichter gefunden werden. In welcher Reihenfolge die Markierungen erfolgen, ist der Druckschrift nicht zu entnehmen. - Der vorliegenden Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben, mit dem eine mit geringstmöglichen Zyklusverzögerungen verbundene Reihenfolge der Abarbeitung der Programmbausteine automatisch ermittelt wird.
- Erfindungsgemäß wird diese Aufgabe mit den im Anspruch 1 angegebenen Maßnahmen gelöst.
- Zweckmäßig wird das Verfahren von einem Programmbaustein mit einem Systemausgang aus begonnen. Sind alle Eingänge des einen Systemausgang aufweisenden Programmbausteins abgefragt, wird das Verfahren bei einem anderen, noch nicht mit einer Abarbeitungsfolgenummer versehenen Programmbaustein mit einem Systemausgang fortgesetzt, bis alle Programmbausteine, auch solche mit Systemausgängen, mit Abarbeitungsfolgenummern versehen sind. Erst dann wird das Verfahren beendet. Beim Betrieb des Datenverarbeitungssystems werden die Programmbausteine in der Reihenfolge der Abarbeitungsfolgenummern abgearbeitet.
- Anhand der Zeichnung werden im Folgenden die Erfindung sowie Weiterbildungen und Ergänzungen an einem Ausführungsbeispiel näher beschrieben und erläutert.
- In der Zeichnung ist ein System dargestellt, das aus Programmbausteinen B1, B2, B3...B14 zusammengesetzt ist. Jeder Programmbaustein weist mehrere Eingänge und mindestens einen Ausgang auf. Ein- und Ausgänge sind nicht mit Bezugszeichen versehen; die Eingänge sind am oberen Rand der die Programmbausteine darstellenden Kästchen dargestellt, die Ausgänge am unteren Rand. Die Programmbausteine sind über ihre Ein- und Ausgänge miteinander zu dem Bausteinsystem verknüpft. Die Verbindungen sind in durchgezogenen Linien gezeichnet. Eingänge eines Teils der Programmbausteine, z. B. der Programmbausteine B1, B4, sind gleichzeitig Eingänge SE1, SE2, SE3...SE10 des Systems, im Folgenden Systemeingänge genannt. Entsprechend weisen andere Programmbausteine B13, B14 Systemausgänge SA1, SA2...SA8 auf. Diese Programmbausteine sind Ausgabeprogrammbausteine, in Automatisierungssystemen sind dies z. B. Digitalausgaben, Analogausgaben, Einzelsteuerungsglieder, Bildschirmbedienbausteine. Das Verfahren wird zweckmäßig in einem solchen Ausgabeprogrammbaustein, z. B. im Programmbaustein B13, gestartet. Zunächst wird einer der zu diesem Programmbaustein führenden Signalwege zurückverfolgt, im Ausführungsbeispiel der Signalweg zum Programmbaustein B9. Die Verfolgung der Signalwege ist in
1 durch gestrichelte Linien veranschaulicht. Der erreichte Programmbaustein wird mit einer Markierung versehen, deren Bedeutung weiter unten erläutert wird. Die Eingänge des erreichten Programmbausteins werden in beliebiger Reihenfolge abgefragt. Im Ausführungsbeispiel wird zunächst der mit dem Programmbaustein B4 verbundene Eingang abgefragt; der Signalweg ist daher zu diesem Programmbaustein zurückverfolgt, der ebenfalls markiert wird. Die beliebige Abfrage der Eingänge des Programmbausteins B4 führt zum Programmbaustein B1. Bei der Abfrage des ersten Eingangs wird erkannt, dass dies der Systemeingang SE1 ist und daher ein weiterer Programmbaustein von diesem Eingang aus nicht erreichbar ist. Es wird daher sofort der zweite Eingang abgefragt, der ebenfalls ein Systemeingang ist, so dass zum dritten Eingang übergegangen werden kann. Bei dessen Abfrage wird festgestellt, dass dieser an einen Programmbaustein, nämlich an den Programmbaustein B4, angeschlossen ist, der mit einer Markierung versehen ist. Zu einem solchen Programmbaustein wird erfindungsgemäß der Signalweg nicht rückverfolgt. Es sind daher alle Eingänge des Programmbausteins B1 abgefragt; da er der erste Programmbaustein ist, bei dem dies der Fall ist, wird ihm die Abarbeitungsfolgenummer1 zugeordnet. In der Zeichnung ist daher in das den Programmbaustein B1 darstellende Kästchen die Ziffer „1" in einem Kreis eingetragen. - Nach der Vergabe der Abarbeitungsfolgenummer wird der Signalweg von dem Ausgang aus weiterverfolgt, von dem aus der jeweilige Programmbaustein erreicht wurde, im Beispiel des Programmbausteins B1 der zum Programmbaustein B4 führende Ausgang. Der Programmbaustein B4 wird daher zum zweiten Mal erreicht, und es wird die Abfrage seiner Eingänge fortgesetzt. Da sein zweiter Eingang der Systemeingang SE3 ist, ist die Abfrage seiner Eingänge abgeschlossen, und es wird ihm die Abarbeitungsfolgenummer
2 zugeordnet. - Entsprechend dem bisher Beschriebenen wird der Programmbaustein B9 erreicht. Da dessen zweiter Eingang weder an einen Systemeingang noch an einen markierten Programmbaustein angeschlossen ist, wird der zum zweiten Eingang führende Signalweg zurückverfolgt und dabei der Programmbaustein B5 erreicht. Der erste abgefragte Eingang ist mit dem Programmbaustein B1 verbunden, der schon mit einer Abarbeitungsfolgenummer und damit einer Markierung versehen ist, so dass zum zweiten Eingang des Programmbausteins B5 übergegangen werden kann. Von diesem aus wird der Programmbaustein B2 erreicht, dessen beiden Eingänge Systemeingänge sind. Es wird ihm daher die nächste Abarbeitungsfolgenummer
3 zugeteilt. - Nach der Rückkehr zum Programmbaustein B5 sind auch dessen Eingänge vollständig abgearbeitet, so dass ihm die Abarbeitungsfolgenummer
4 zugeordnet wird. Über den Ausgang, über den dieser Programmbaustein zum ersten Mal erreicht wurde, wird zum Programmbaustein B9 zurückgekehrt, dessen Eingänge nun auch vollständig abgefragt sind, so dass er die Abarbeitungsfolgenummer5 erhält. - Nach der Rückkehr zum Ausgabeprogrammbaustein B13 wird nach Abfrage von dessen zweiten Eingang der Programmbaustein B10 erreicht, dessen beiden Eingänge an markierte bzw. mit Abarbeitungsfolgenummern versehene Programmbausteine B2, B5 angeschlossen sind, so dass ihm die Abarbeitungsfolgenummer
6 zugewiesen wird. Das Verfahren wird entsprechend fortgesetzt, wobei nach Abfrage des dritten Eingangs des Ausgabeprogrammbausteins B13 an die Programmbausteine B3, B6, B11 die Abarbeitungsfolgenummern7 ,8 und9 sowie an den Ausgabeprogrammbaustein B13 die Nummer10 vergeben werden. - Es bleiben dann noch vier Programmbausteine B7, B8, B12, B14, die noch keine Abarbeitungsfolgenummer erhalten haben. Um auch diese zu erfassen, wird vom Ausgabeprogrammbaustein B13 zum Programmbaustein B14 übergegangen und von dort aus in der beschriebenen Weise die Abarbeitungsfolgenummern
11 ,12 ,13 ,14 vergeben. Sind alle Ausgabeprogrammbausteine erfasst, wird das Verfahren beendet, im Beispiel ist dies nach der Vergabe der Nummer14 an den Ausgabeprogrammbaustein B14. - Beim Ablaufen des Programms, das aus den Programmbausteinen B1, B2...B14 gebildet ist, werden die Programmbausteine in der aufsteigenden Reihenfolge der Abarbeitungsfolgenummern bearbeitet.
- Anhand eines in
2 veranschaulichten Beispiels wird im Folgenden das erfindungsgemäße Verfahren verdeutlicht. Jedem Programmbaustein kann ein Register zugeordnet sein; in2 ist das Register des Programmbausteins B4 gezeigt. Die ersten vier Stellen BFN des Registers sind für die Abarbeitungsfolgenummer und das fünfte Bit M für die Markierung vorgesehen. Die folgenden zwei Bit E1 sind dem ersten Eingang, die nächsten zwei Bit E2 dem zweiten Eingang zugeordnet. Ferner ist für jeden Ausgang ein Bit A1 bzw. A2 vorhanden. Im Ausgangszustand sind in alle Stellen des Registers mit Ausnahme der dem zweiten Eingang zugeordneten Stellen E2 log. „0" eingetragen. Die Stellen E2 sind dem Eingang zugeordnet, welcher der Systemeingang SE3 ist; es sind daher in diese Stellen log. „1" eingetragen (2a ). Nach Erreichen des Programmbausteins B4 wird das Markierungsbit M gesetzt und gleichzeitig das Bit A1, welches dem Ausgang zugeordnet ist, über den der Programmbaustein B4 mit dem Programmbaustein 29 verbunden ist (2b ). Nach Abfragen des zum Programmbaustein B1 führenden Eingangs wird in das erste der beiden Bits E1 log. „1" eingetragen (2c ) und nach der Rückkehr vom Programmbaustein B1 in das zweite Bit (2d ). Alle Eingängen zugeordneten Stellen E1, E2 enthalten nun eine „1"; es wird daher die Abarbeitungsfolgenummer4 in die ersten vier Stellen BFN eingetragen (2e ). Das Verfahren wird bei dem Programmbaustein fortgesetzt, der an den Ausgang angeschlossen ist, welcher der mit einer „1" markierten Stelle, im Beispiel A1, zugeordnet ist.
Claims (4)
- Verfahren zum automatischen Bestimmen der Reihenfolge der Abarbeitung von Programmbausteinen in einem sequentiell arbeitenden Bausteinsystem, wobei die Programmbausteine über Ein- und Ausgänge unter Bildung von Signalwegen miteinander verknüpft sind und zumindest ein Teil der Ein- und Ausgänge Systemeingänge bzw. Systemausgänge des Bausteinsystems bilden, dadurch gekennzeichnet, – dass ausgehend von einem der Programmbausteine ein Signalweg zurückverfolgt wird, wobei jeder dabei erreichte Programmbaustein durch Eintrag in einem dem Programmbaustein zugeordneten Register markiert wird, seine Eingänge abgefragt werden und der Signalweg nur dann weiter zurückverfolgt wird, wenn dem jeweils abgefragten Eingang ein nicht-markierter Programmbaustein vorgeschaltet ist, – dass, wenn alle Eingänge eines Programmbausteins an Ausgängen von markierten Bauseinen angeschlossen sind oder Systemeingänge (SE1, SE2...) sind, dem Programmbaustein eine fortlaufende Abarbeitungsfolgenummer (
1 ,2 ,3 ...) zugeordnet wird und die Eingänge des nachgeschalteten Programmbausteins abgefragt werden, von denen aus der Programmbaustein erreicht wurde, und – dass die Programmbausteine in der aufsteigenden Reihenfolge der ihnen zugeordneten Abarbeitungsfolgenummern abgearbeitet werden. - Verfahren nach Anspruch 1, dadurch gekennzeichnet, – dass von einem Programmbaustein (B13) mit einem Systemausgang (SA1, SA2...) ausgegangen wird.
- Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, – dass, wenn alle Eingänge eines Programmbausteins an Ausgänge von markierten Programmbausteinen angeschlossen sind oder Systemeingänge sind, die Eingänge des nachgeschalteten Programmbausteins abgefragt werden, von denen aus der Programmbaustein zum ersten Mal erreicht wurde.
- Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, – dass, wenn alle Eingänge eines einen Systemausgang aufweisenden Programmbausteins (B13) abgefragt sind, das Verfahren bei einem anderen, noch nicht mit einer Abarbeitungsfolgenummer versehenen Programmbaustein (B14) mit einem Systemausgang fortgesetzt wird, bis alle Bausteine mit Systemausgängen mit Abarbeitungsfolgenummern versehen sind.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4230178A DE4230178B4 (de) | 1992-09-09 | 1992-09-09 | Verfahren zum automatischen Bestimmen der Reihenfolge der Signalbearbeitung in einem sequentiell arbeitenden Bausteinsystem |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4230178A DE4230178B4 (de) | 1992-09-09 | 1992-09-09 | Verfahren zum automatischen Bestimmen der Reihenfolge der Signalbearbeitung in einem sequentiell arbeitenden Bausteinsystem |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4230178A1 DE4230178A1 (de) | 1994-03-10 |
DE4230178B4 true DE4230178B4 (de) | 2009-05-20 |
Family
ID=6467614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4230178A Expired - Lifetime DE4230178B4 (de) | 1992-09-09 | 1992-09-09 | Verfahren zum automatischen Bestimmen der Reihenfolge der Signalbearbeitung in einem sequentiell arbeitenden Bausteinsystem |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4230178B4 (de) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1899773B1 (de) * | 2005-07-01 | 2018-06-27 | Siemens Aktiengesellschaft | Verfahren zur bestimmung der bearbeitungsreihenfolge von bausteinen eines funktionsplans sowie elektronische datenverarbeitungsanlage zur durchführung des verfahrens |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0483368A1 (de) * | 1990-05-10 | 1992-05-06 | Fanuc Ltd. | Suchverfahren eines folgesteuerungsprogramms |
-
1992
- 1992-09-09 DE DE4230178A patent/DE4230178B4/de not_active Expired - Lifetime
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0483368A1 (de) * | 1990-05-10 | 1992-05-06 | Fanuc Ltd. | Suchverfahren eines folgesteuerungsprogramms |
Also Published As
Publication number | Publication date |
---|---|
DE4230178A1 (de) | 1994-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2659662A1 (de) | Prioritaetsstufengesteuerte unterbrechungseinrichtung | |
DE2007353B2 (de) | Vielstelliges addierwerk | |
DE3111555C2 (de) | Verfahren und Vorrichtung zur Informationsspeicherung unter Anwendung früherer Aufzeichnung | |
DE2758151A1 (de) | Einrichtung zum sortieren von datensaetzen | |
DE2133638C3 (de) | Verfahren zum Betrieb eines lernfähigen Systems aus in Kaskade geschalteten, zur nicht linearen Datenverarbeitung geeigneten lernfähigen Datenverarbeitungseinheiten | |
DE1524181A1 (de) | Abrufsystem fuer Ein- und Ausgabegeraete einer Datenverarbeitungsanlage | |
DE4230178B4 (de) | Verfahren zum automatischen Bestimmen der Reihenfolge der Signalbearbeitung in einem sequentiell arbeitenden Bausteinsystem | |
DE2805940A1 (de) | Elektronisches steuersystem fuer analogschaltungen | |
DE3113189C2 (de) | Vorrichtung zur Umsetzung von digitalen Zeichencodes, die von einem Datenverarbeitungssystem empfangen oder geliefert werden | |
DE2133729A1 (de) | Anordnung mit einer Kaskadenschaltung einer Anzahl von Speicherelementen | |
EP0430342B1 (de) | Schaltungsanordnung zur Herstellung von Konferenzverbindungen | |
CH624811A5 (de) | ||
CH679626A5 (de) | ||
DE19531635C1 (de) | Ordnungsverfahren für Zugehörigkeitsfunktionswerte lingustischer Eingangswerte in einem Fuzzy-Logic-Prozessor und Anordnungen zu deren Durchführung | |
EP1331794B1 (de) | Verfahren zur Adresszuweisung in einem Netzwerk und Komponenten dafür | |
EP1248430A1 (de) | Verfahren und Generierungsmodul zur Ermittlung von Filtermasken zur Relevanzprüfung von Kennzeichnern | |
DE3432837A1 (de) | Datenkompressions- und datenexpandiereinrichtung zum uebertragen bzw. speichern von daten | |
DE1914576C3 (de) | Programmgesteuerte Datenverar beitungsanlage, insbesondere fur die Abwicklung von Vermittlungsvorgangen in einer Fernsprechvermittlung | |
EP0161335B1 (de) | Bereitstellung von Abtastwerten eines zeitabhängigen Signals in einer Datenverarbeitungsanlage | |
EP1271349A1 (de) | Verfahren zur Zusammenführung verteilter Datenbanken | |
DE3733772C2 (de) | Multi-Signalprozessorsystem | |
DE1931737C3 (de) | Verbindungseinrichtung für eine zentral gesteuerte Fernmelde-, insbesondere Fernsprechvermittlungsanlage | |
DE2842328A1 (de) | Verfahren und schaltungsanordnungen zum empfang von aus isochron binaer modulierten signalen gebildeten zeichen | |
DE1499173C (de) | Sortierschaltung zum Ordnen von mit Adressen versehenen Informations daten | |
DE2712831B2 (de) | Sprachgeschützter frequenzselektiver Zeichenempfänger |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8364 | No opposition during term of opposition | ||
R071 | Expiry of right | ||
R071 | Expiry of right |