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 PDF

Info

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
Application number
DE4230178A
Other languages
English (en)
Other versions
DE4230178A1 (de
Inventor
Karl Dipl.-Ing. Schupp
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG
Original Assignee
Siemens AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens AG filed Critical Siemens AG
Priority to DE4230178A priority Critical patent/DE4230178B4/de
Publication of DE4230178A1 publication Critical patent/DE4230178A1/de
Application granted granted Critical
Publication of DE4230178B4 publication Critical patent/DE4230178B4/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting 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...

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 Abarbeitungsfolgenummer 1 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 Abarbeitungsfolgenummer 5 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 Abarbeitungsfolgenummern 7, 8 und 9 sowie an den Ausgabeprogrammbaustein B13 die Nummer 10 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 Nummer 14 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; in 2 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 Abarbeitungsfolgenummer 4 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)

  1. 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.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, – dass von einem Programmbaustein (B13) mit einem Systemausgang (SA1, SA2...) ausgegangen wird.
  3. 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.
  4. 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.
DE4230178A 1992-09-09 1992-09-09 Verfahren zum automatischen Bestimmen der Reihenfolge der Signalbearbeitung in einem sequentiell arbeitenden Bausteinsystem Expired - Lifetime DE4230178B4 (de)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0483368A1 (de) * 1990-05-10 1992-05-06 Fanuc Ltd. Suchverfahren eines folgesteuerungsprogramms

Patent Citations (1)

* Cited by examiner, † Cited by third party
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