DE19915850C1 - Verfahren zum Abarbeiten mehrerer Befehlslisten in einer Datenverarbeitungsanlage - Google Patents
Verfahren zum Abarbeiten mehrerer Befehlslisten in einer DatenverarbeitungsanlageInfo
- Publication number
- DE19915850C1 DE19915850C1 DE19915850A DE19915850A DE19915850C1 DE 19915850 C1 DE19915850 C1 DE 19915850C1 DE 19915850 A DE19915850 A DE 19915850A DE 19915850 A DE19915850 A DE 19915850A DE 19915850 C1 DE19915850 C1 DE 19915850C1
- Authority
- DE
- Germany
- Prior art keywords
- command list
- command
- list
- lists
- cycle time
- 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 - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 54
- 238000012544 monitoring process Methods 0.000 title description 4
- 238000004519 manufacturing process Methods 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000002485 combustion reaction Methods 0.000 description 8
- 238000012360 testing method Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000003247 decreasing effect Effects 0.000 description 2
- CVRALZAYCYJELZ-UHFFFAOYSA-N O-(4-bromo-2,5-dichlorophenyl) O-methyl phenylphosphonothioate Chemical compound C=1C=CC=CC=1P(=S)(OC)OC1=CC(Cl)=C(Br)C=C1Cl CVRALZAYCYJELZ-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 210000003608 fece Anatomy 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 230000008672 reprogramming Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Programmable Controllers (AREA)
Abstract
Die vorliegende Erfindung betrifft ein Verfahren zum Abarbeiten mehrerer Befehlslisten (L¶1¶, L¶2¶, L¶3¶) in einer Datenverarbeitungsanlage. Jede Befehlsliste (L¶1¶, L¶2¶, L¶3¶) weist eine bestimmte Laufzeit (Z¶1¶, Z¶2¶, Z¶3¶), sowie eine bestimmte Zykluszeit (T¶1¶, T¶2¶, T¶3¶) auf. Erfindungsgemäß wird zum Auswählen der abzuarbeitenden Befehlsliste (L¶1¶, L¶2¶, L¶3¶) jeder Befehlsliste ein Prioritätsrang (P¶1¶, P¶2¶, P¶3¶) zugeordnet. Die Befehlslisten (L¶1¶, L¶2¶, L¶3¶) werden nacheinander in absteigendem Prioritätsrang (P¶1¶, P¶2¶, P¶3¶) abgearbeitet. In einzelnen Zeitabschnitten (DELTAt) wird geprüft, ob die Zykluszeit (T¶2¶) einer Befehlsliste (L¶2¶) mit höherem Prioritätsrang (P¶2¶) als die derzeit ablaufende Befehlsliste (L¶3¶) abgelaufen ist. Ist dies der Fall, wird die ablaufende Befehlsliste (L¶3¶) unterbrochen und die Befehlsliste (L¶2¶) mit dem höheren Prioritätsrang (P¶2¶) gestartet. Ansonsten wird die ablaufende Befehlsliste (L¶3¶) weiter abgearbeitet.
Description
Die vorliegende Erfindung betrifft ein Verfahren zum Abarbei
ten mehrerer Befehlslisten in einer Datenverarbeitungsanlage,
wobei jede Befehlsliste eine bestimmte Laufzeit und eine be
stimmte Zykluszeit aufweist und eine Anzahl von aneinander
gereihten Einzelbefehlen umfaßt.
Derartige zyklische Befehlslisten werden in vielen Fällen un
abhängig voneinander in einer Datenverarbeitungsanlage abge
arbeitet. Einsatzgebiete sind beispielsweise die Überwachung
und Steuerung einer chemischen Anlage oder einer Fertigungs
straße. Es ist auch der Einsatz im Kraftwerksbereich zur
Verbrennungsüberwachung und Verbrennungsdiagnose möglich.
Beispielsweise sind aus der DE 43 39 030 A1 und der
DE 195 00 957 A1 Verfahren zur Abarbeitung von mehreren Be
fehlslisten, insbesondere Tasks bzw. Aufgabenprogrammen, in
einer Datenverarbeitungsanlage bekannt, wobei den Befehls
listen unterschiedliche Prioritäten zugeordnet werden, und
wobei die Befehlslisten nacheinander in absteigendem Priori
tätsrang abgearbeitet werden.
Bisher wurde beim Abarbeiten mehrerer Befehlslisten manuell
festgelegt, in welcher Reihenfolge die Befehlslisten abgear
beitet werden sollen. Die Auslegung und Projektierung ist
aufwendig, da das Abarbeiten im Regelfall in Echtzeit erfol
gen muß. Nachteilig ist weiter, daß jede Änderung an einem
bestehenden System aufwendig per Hand eingearbeitet werden
muß.
Aufgabe der vorliegenden Erfindung ist es daher, ein Verfah
ren bereitzustellen, bei dem mehrere Befehlslisten unabhängig
voneinander gleichzeitig abgearbeitet werden können, ohne daß
eine aufwendige manuelle Fertigung erforderlich ist.
Erfindungsgemäß wird diese Aufgabe bei einem Verfahren der
eingangs genannten Art dadurch gelöst, daß jeder Befehlsliste
ein Prioritätsrang zugeordnet wird, daß die Befehlslisten
nacheinander in absteigendem Prioritätsrang ablaufen und ab
gearbeitet werden, wobei nach einzelnen Zeitabschnitten ge
prüft wird, ob die Zykluszeit einer Befehlsliste mit höherem
Prioritätsrang als die derzeit ablaufende Befehlsliste abge
laufen ist, und beim Ablauf einer derartigen Zykluszeit diese
Befehlsliste gestartet und die laufende Befehlsliste unter
brochen wird, und ansonsten die ablaufende Befehlsliste wei
ter abgearbeitet wird.
Jede Befehlsliste weist eine bestimmte Laufzeit auf, die im
wesentlichen der Bearbeitungsdauer entspricht. Im Regelfall
wird danach die Befehlsliste nicht sofort erneut abgearbei
tet, sondern für einige Zeit in einen Wartezustand versetzt.
Diese Wartezeit sowie die Laufzeit ergeben die Zykluszeit der
Befehlsliste.
Erfindungsgemäß wird jeder Befehlsliste ein Prioritätsrang
zugeordnet. Die Datenverarbeitungsanlage kann somit durch ei
nen Vergleich der Prioritätsränge erkennen, welche Befehlsli
ste vorrangig abgearbeitet werden soll. Während des Abarbei
tens wird nach einzelnen Zeitabschnitten geprüft, ob die Zy
kluszeit einer Befehlsliste mit höherem Prioritätsrang abge
laufen ist. Ist dies der Fall, wird diese Befehlsliste ge
startet und die laufende Befehlsliste unterbrochen. Hierdurch
wird sichergestellt, daß das Abarbeiten einer Befehlsliste
höherer Priorität nicht durch eine Befehlsliste niedrigerer
Priorität aufgeschoben oder verhindert wird. Liegt nach dem
einzelnen Zeitabschnitt keine Befehlsliste mit einem höheren
Prioritätsrang vor, wird die ablaufende Befehlsliste weiter
abgearbeitet.
Die Erfindung geht davon aus, daß jede Befehlsliste innerhalb
der vorgegebenen Zykluszeit vollständig abgearbeitet werden
muß. Es ist nicht erforderlich, daß jede Befehlsliste durch
gehend ohne Unterbrechung zu Beginn der Zykluszeit abgearbei
tet wird. Erfindungsgemäß können zumindest Teile der Warte
zeit während des Abarbeitens der Befehlsliste ablaufen. Hier
durch wird Rechenzeit für Befehlslisten mit höherem Priori
tätsrang zur Verfügung gestellt. Eine Beeinträchtigung ist
hierdurch nicht zu erwarten, da für den Großteil der Anwen
dungen das Ende der Zykluszeit einer Befehlsliste maßgeblich
ist.
Vorteilhafte Ausgestaltungen und Weiterbildungen der Erfin
dung gehen aus den abhängigen Ansprüchen hervor.
Vorteilhaft wird nach dem vollständigen Abarbeiten einer Be
fehlsliste geprüft, welche der noch nicht oder noch nicht
vollständig abgearbeiteten Befehlslisten den höchsten Priori
tätsrang aufweist, worauf diese Befehlsliste gestartet wird.
Sowohl während des Ablaufs als auch nach dem vollständigen
Abarbeiten einer Befehlsliste wird stets zuverlässig die Be
fehlsliste mit dem höchsten Prioritätsrang gestartet. Ein ma
nuelles Eingreifen ist nicht erforderlich.
In vorteilhafter Ausgestaltung wird über einen Flag erfaßt,
ob eine Befehlsliste innerhalb ihrer Zykluszeit abgearbeitet
worden ist. Sobald der Flag gesetzt ist, wird diese Befehls
liste bei der erfindungsgemäß vorgesehenen Prüfung nach ein
zelnen Zeitabschnitten oder nach dem vollständigen Abarbeiten
nicht mehr berücksichtigt. Hierdurch wird ein wiederholtes
Abarbeiten der Befehlsliste mit dem höchsten Prioritätsrang
zuverlässig verhindert.
Gemäß einer vorteilhaften Weiterbildung wird der Flag nach
Ablauf der Zykluszeit zurückgesetzt. Bei der nächsten Prüfung
wird daher die Befehlsliste wieder berücksichtigt.
Nach einer vorteilhaften Ausgestaltung wird über einen Zähler
erfaßt, wie oft die Zykluszeit einer Befehlsliste ohne Abar
beiten der Befehlsliste verstrichen ist. Falls die Kapazität
der Datenverarbeitungsanlage zum Abarbeiten sämtlicher vorge
sehener Befehlslisten nicht ausreicht, werden eine oder meh
rere Befehlslisten mit niedrigem Prioritätsrang nicht ausge
führt. Durch das Erfassen über den Zähler können diese Be
fehlslisten eindeutig identifiziert werden.
Vorteilhaft wird bei Erreichen eines bestimmten, vorgebbaren
Werts des Zählers eine Warnung ausgegeben. Diese Warnung
alarmiert das Bedienpersonal, das dann nach Einschätzung der
Sachlage die nicht abgearbeitete Befehlsliste manuell startet
oder andere geeignete Schritte einleitet. Ein manuelles Star
ten der Befehlsliste ist nur in Einzelfällen vorgesehen, in
denen vorübergehend nicht genug Rechenzeit zur Verfügung ge
standen hat. In anderen Fällen werden die Prioritätsränge
und/oder Zykluszeiten der Befehlslisten angepaßt.
In vorteilhafter Weiterbildung wird bei Erreichen eines be
stimmten, vorgebbaren Werts des Zählers die zugehörige Be
fehlsliste vollständig abgeschaltet. Dieses Vorgehen vermei
det eine Überlastung der Datenverarbeitungsanlage durch eine
Vielzahl von möglicherweise unnötigen Befehlslisten mit nied
rigem Prioritätsrang. Auch das Abschalten der Befehlsliste
kann angezeigt werden.
Nach dem vollständigen Abarbeiten einer Befehlsliste können
zwei oder mehrere der verbleibenden, noch nicht oder nicht
vollständig abgearbeiteten Befehlslisten den gleichen Priori
tätsrang aufweisen.
In erster vorteilhafter Ausgestaltung wird bei gleichem Prio
ritätsrang von Befehlslisten die Befehlsliste mit der kürze
sten Laufzeit bevorzugt. Diese Befehlsliste wird rasch abge
arbeitet, und nach dem Abarbeiten wird eine erneute Prüfung
vorgenommen.
Nach einer zweiten vorteilhaften Ausgestaltung wird bei glei
chem Prioritätsrang von Befehlslisten die Befehlsliste mit
der kürzesten Zykluszeit bevorzugt. Diese Befehlsliste muß
häufiger als die verbleibenden Befehlslisten abgearbeitet
werden.
Gemäß einer dritten vorteilhaften Ausgestaltung wird bei
gleichem Prioritätsrang von Befehlslisten die Befehlsliste
mit dem höchsten Wert des Zählers bevorzugt. Hierdurch wird
sichergestellt, daß die Befehlsliste abgearbeitet wird, die
bereits seit längerer Zeit nicht mehr abgelaufen ist.
Die Auswahl des Kriteriums, das bei gleichem Prioritätsrang
von Befehlslisten angewendet wird, hängt vom Einzelfall ab.
Alternativ kann bei der Projektierung sowie bei Änderungen
jeder Prioritätsrang nur einmal vergeben werden, so daß eine
Auswahl nach weiteren Kriterien nicht erforderlich ist.
Vorteilhaft entspricht ein Zeitabschnitt der Bearbeitungsdau
er eines Einzelbefehls der gerade ablaufenden Befehlsliste.
Hierdurch wird sichergestellt, daß jeder Einzelbefehl der ge
rade ablaufenden Befehlsliste vollständig abgearbeitet wird
und erst danach die erfindungsgemäß vorgesehene Prüfung vor
genommen wird. Ein Unterbrechen der gerade ablaufenden Be
fehlsliste an einer unzulässigen Stelle wird zuverlässig ver
hindert. Sofern Einzelbefehle vorliegen, deren Bearbeitungs
dauer unzulässig hoch ist, werden diese in mehrere Einzelbe
fehle mit kürzerer Bearbeitungsdauer unterteilt. Diese Unter
teilung wird manuell vorgenommen, wobei die Bearbeitungszeit
bereits beim Programmieren berücksichtigt wird.
In anderer vorteilhafter Ausgestaltung entspricht ein Zeitab
schnitt der Bearbeitungsdauer mehrerer Einzelbefehle der ge
rade ablaufenden Befehlsliste. Hierdurch werden mehrere Ein
zelbefehle zusammengefaßt und stets vollständig abgearbeitet.
Dies ist von Vorteil, wenn durch das Abarbeiten der zusammen
gefaßten Einzelbefehle bereits eine Teilaussage getroffen
werden kann oder die Datenverarbeitungsanlage entlastet wird.
Es ist ebenfalls möglich, Befehlslisten mit sehr kurzer Lauf
zeit vollständig zusammenzufassen, so daß diese nicht unter
brochen werden.
Nachstehend wird die Erfindung an Hand eines Ausführungsbei
spiels näher erläutert, das schematisch in der Zeichnung dar
gestellt ist. Dabei zeigt:
Fig. 1 eine schematische Darstellung der Erfindung am Bei
spiel der Verbrennungsüberwachung und Verbrennungs
regelung;
Fig. 2 eine schematische Darstellung mehrerer Befehlsli
sten;
Fig. 3 eine schematische Darstellung des Abarbeitens von
drei Befehlslisten in einer Datenverarbeitungsanla
ge;
Fig. 4 ein Flußdiagramm des erfindungsgemäßen Verfahrens;
Fig. 5 ein Flußdiagramm zur Auswahl einer Befehlsliste;
und
Fig. 6 ein Flußdiagramm zur Erläuterung des Setzen und Lö
schen des Flags; und
Fig. 7 ein Flußdiagramm zum Erhöhen und Erniedrigen des
Zählers.
Fig. 1 zeigt eine schematische Darstellung der Erfindung am
Beispiel einer Verbrennungsüberwachung und Verbrennungskon
trolle. Selbstverständlich ist die Erfindung nicht auf dieses
Ausführungsbeispiel beschränkt.
In einem Verbrennungsraum 10 ist ein Brenner 11 vorgesehen,
der eine Flamme 12 erzeugt. Die Flamme 12 wird über einen
Sensor 13 überwacht. Die Signale des Sensors 13 werden an ei
ne Datenverarbeitungsanlage 14 weitergeleitet und dort ausge
wertet. Diese Auswertung kann mittels eines Moduls 15 ange
zeigt und/oder abgespeichert werden. Sie wird weiter über ei
ne Regelung 16 an den Brenner 11 zur Verbrennungskontrolle
zurückgeführt.
In Fig. 2 sind schematisch drei Befehlslisten L1, L2, L3 dar
gestellt, die zur Bearbeitung der Signale des Sensors 13 die
nen. Jede Befehlsliste L1, L2, L3 ist ein Prioritätsrang P1,
P2, P3 zugeordnet. Weiter ist jede Befehlsliste L1, L2, L3 mit
einem Flag 23 oder einem Zähler 24 versehen.
Die Befehlslisten L1, L2, L3 umfassen eine Anzahl von aneinan
dergereihten Einzelbefehlen 17, 18, 19. Diese Einzelbefehle
17, 18, 19 können unterschiedlich komplex sein und sich daher
in der Bearbeitungsdauer unterscheiden. Dies ist schematisch
durch die Größe der Rechtecke für die Einzelbefehle 17, 18,
19 in Fig. 2 dargestellt. Jede Befehlsliste L1, L2, L3 wird
in Pfeilrichtung in Echtzeit t abgearbeitet und weist eine
bestimmte Laufzeit Z1, Z2, Z3 sowie eine bestimmte Zykluszeit
T1, T2, T3 auf. Die Laufzeit Z1, Z2, Z3 ist die Zeit, die zum
Abarbeiten sämtlicher Einzelbefehle 17, 18, 19 der jeweiligen
Befehlslisten L1, L2, L3 benötigt wird. An die Laufzeit Z1,
Z2, Z3 schließt sich bei jeder Befehlsliste L1, L2, L3 eine
Wartezeit 20, 21, 22 an. Die Wartezeiten 20, 21, 22 sind
nicht maßstabsgetreu dargestellt, wie durch die Strichpunkt
linien angegeben. Die Laufzeit Z1, Z2, Z3 sowie die Wartezeit
20, 21, 22 addieren sich zur Zykluszeit T1, T2, T3. Nach Ab
lauf der Zykluszeit T1, T2, T3 soll die Befehlsliste L1, L2, L3
erneut abgearbeitet werden.
Fig. 3 zeigt eine Darstellung des Ablaufs beim Abarbeiten
der drei Befehlslisten L1, L2, L3 in der Datenverarbeitungsan
lage 14. Die Befehlslisten L1, L2, L3 weisen folgende Daten
auf:
Zunächst wird die Befehlsliste L1 mit dem höchsten Priori
tätsrang P1 gestartet. Nach einem ersten Zeitabschnitt Δt
wird geprüft, ob die Zykluszeit einer weiteren Befehlsliste
höherem Prioritätsrang abgelaufen ist. Da der Prioritätsrang
P2, P3 der Befehlslisten L2, L3 geringer ist als der Priori
tätsrang P1 der ablaufenden Befehlsliste L1 wird diese weiter
abgearbeitet. Nach dem vollständigen Abarbeiten der Befehls
liste L1 wird geprüft, welche der beiden verbleibenden Be
fehlslisten L2, L3 den höchsten Prioritätsrang P2, P3 auf
weist. Der Prioritätsrang P2 der Befehlsliste L2 ist größer
als der der Befehlsliste L3. Daher wird die Befehlsliste L2
gestartet. Während des Ablaufens der Befehlsliste L2 erfolgt
erneut eine Prüfung, ob die Zykluszeit T1 der Befehlsliste L1
mit höherem Prioritätsrang P1 abgelaufen ist. Dies ist nicht
der Fall, so daß die Befehlsliste L2 vollständig abgearbeitet
wird. Im Anschluß wird die einzige verbleibende Befehlsliste
L3 gestartet. Während des Abarbeitens der Befehlsliste L3 en
det die Zykluszeit T2 der Befehlsliste L2. Nachdem der Prio
ritätsrang P2 der Befehlsliste L2 größer ist als der der Be
fehlsliste L3, wird die Befehlsliste L3 unterbrochen. An
schließend wird die Befehlsliste L2 abgearbeitet.
Während des zweitens Abarbeitens der Befehlsliste L2 wird er
neut geprüft, ob die Zykluszeit T1 der Befehlsliste L1 abge
laufen ist. Dies ist nicht der Fall, so daß die Befehlsliste
L2 nochmals vollständig abgearbeitet wird. Anschließend wird
auch die unterbrochene Befehlsliste L3 vollständig abgearbei
tet.
Nach dem Ablaufen der Zykluszeit T1 der Befehlsliste L1 wird
diese erneut gestartet. Der Prioritätsrang P1 der Befehlsli
ste L1 ist größer als der der Befehlsliste L2. Daher wird die
Befehlsliste L1 beim erneuten Ablauf der Zykluszeit T2 der
Befehlsliste L2 nicht unterbrochen, sondern weiter abgearbei
tet.
Dieses Ablaufschema setzt sich fort, bis zum Zeitpunkt t =
3000 ms wieder der Startzustand erreicht ist, wie durch die
Linie 25 angegeben.
Fig. 4 zeigt ein Flußdiagramm des erfindungsgemäßen Verfah
rens. In Schritt I werden die Befehlslisten L1, L2, L3 festge
legt und die Prioritätsränge P1, P2, P3 zugewiesen. Anschlie
ßend wird das erfindungsgemäße Verfahren gestartet. In
Schritt II wird die abzuarbeitende Befehlsliste L1, L2, L3
ausgewählt. Das Auswahlschema ist in Fig. 5 näher darge
stellt. Nach dem Auswählen wird in Schritt III mit dem Abar
beiten dieser ausgewählten Befehlsliste L1 begonnen. In
Schritt IV wird der jeweils anstehende Einzelbefehl 17, 18,
19 der Befehlsliste L1 in den zugeordneten Zeitabschnitt Δt
abgearbeitet. Dieser Zeitabschnitt entspricht der Bearbei
tungsdauer für den Einzelbefehl 17, 18, 19. Nach dem Abarbei
ten wird in Schritt V geprüft, ob in der Befehlsliste L1 noch
weitere Einzelbefehle enthalten sind. Ist dies nicht der
Fall, wird gemäß Verzweigung 1 in Schritt VIII der Flag 23
der Befehlsliste L1 gesetzt. Der Flag 23 zeigt an, daß die
Befehlsliste L1 bereits abgearbeitet worden ist. Anschließend
wird zu Schritt II zurückgesprungen und die nächste abzuar
beitende Befehlsliste L2, L3 ausgeführt.
Bei Verwendung eines Zählers 24 wird der Wert des Zählers 24
verringert. Sollte ein hoher Wert des Zählers 24 vorliegen,
ist die fragliche Befehlsliste bereits mehrmals nicht abgear
beitet worden. In diesem Fall kann die Befehlsliste nochmals
abgearbeitet werden, falls keine andere Befehlsliste mit hö
herem Prioritätsrang abgearbeitet werden muß. Ein hoher Wert
des Zählers 24 kann nur für Befehlslisten mit niedrigem Prio
ritätsrang auftreten, da Befehlslisten mit hohem Prioritäts
rang bevorzugt abgearbeitet werden. Ein wiederholtes Abarbei
ten derselben Befehlsliste wird daher durch Befehlslisten mit
höherem Prioritätsrang verhindert. Das Abarbeiten dieser Be
fehlslisten mit höherem Prioritätsrang wird daher nicht be
einträchtigt.
Sofern die Befehlsliste L1 noch weitere Einzelbefehle 17, 18,
19 enthält, wird gemäß Verzweigung 0 zu Schritt VI gesprungen
und geprüft, ob die Zykluszeit einer Befehlsliste mit höherem
Prioritätsrang abgelaufen ist. Die Befehlsliste L1 weist den
höchsten Prioritätsrang P1 auf. Daher wird gemäß Verzweigung
1 zu Schritt IV zurückgesprungen und der nächste Einzelbefehl
17, 18, 19 abgearbeitet.
Beim Abarbeiten der Befehlsliste L3 wird demgegenüber, wie in
Fig. 3 dargestellt, in Schritt VI festgestellt, daß die Zy
kluszeit T2 der Befehlsliste L2 mit höherem Prioritätsrang P2
abgelaufen ist. Daher wird in Schritt VI gemäß Verzweigung 0
in Schritt VII die laufende Befehlsliste L3 unterbrochen. Es
wird abgespeichert, bei welchem Einzelbefehl 17, 18, 19 die
Unterbrechung stattgefunden hat. Nach dem Unterbrechung und
Abspeichern wird die Befehlsliste L2 mit dem höheren Priori
tätsrang P2 ausgewählt und zur Schritt III zurückgesprungen.
Dort wird mit dem Abarbeiten der Befehlsliste L2 begonnen.
In Schritt IV kann ein einziger Einzelbefehl 17, 18, 19 abge
arbeitet werden. Der Zeitabschnitt Δt entspricht in diesem
Fall der Bearbeitungsdauer eines einzigen Einzelbefehls. Beim
Abarbeiten der Befehlsliste L3 wird jedoch zuverlässig si
chergestellt, daß das Abarbeiten der Befehlsliste L2 mit hö
herem Prioritätsrang P2 nicht verzögert wird.
Alternativ können mehrere Einzelbefehle 17, 18, 19 in Schritt
IV zusammengefaßt und abgearbeitet werden. Der Zeitabschnitt
Δt entspricht in diesem Falle der Bearbeitungszeit, die für
die zusammengefaßten Einzelbefehle 17, 18, 19 erforderlich
ist. Hierdurch wird sichergestellt, daß zusammengehörige Ein
zelbefehle 17, 18, 19 nicht voneinander getrennt werden. Wei
ter können kurze Befehlslisten L2, L3 durchgehend abgearbei
tet werden. Es wird vom Benutzer festgelegt, ob Einzelbefehle
17, 18, 19 zusammengefaßt werden sollen.
Fig. 5 zeigt ein Flußdiagramm zum Auswählen der abzuarbei
tenden Befehlsliste L1, L2, L3 beim ersten Start des erfin
dungsgemäßen Verfahrens oder nach dem vollständigen Abarbei
ten einer Befehlsliste L1, L2, L3. Das Auswählen geschieht in
Schritt II des erfindungsgemäßen Verfahrens. Zunächst werden
die abzuarbeitenden Befehlslisten L1, L2, L3 in Schritt A auf
unterschiedliche Prioritätsränge P1, P2, P3 untersucht. Falls
die Befehlslisten L1, L2, L3 unterschiedliche Prioritätsränge
P1, P2, P3 aufweisen, wird gemäß Verzweigung 1 die Befehlsli
ste L1 mit dem höchsten Prioritätsrang P1 selektiert. Diese
Befehlsliste L1 wird anschließend in Schritt E ausgewählt und
gemäß Fig. 4 abgearbeitet.
Weisen sämtliche noch abzuarbeitenden Befehlslisten L1, L2, L3
denselben Prioritätsrang P1, P2, P3 auf, so wird gemäß Ver
zweigung 0 in Schritt B die Laufzeit Z1, Z2, Z3 der Befehlsli
sten L1, L2, L3 überprüft. Vorteilhaft wird die Befehlsliste
L2, L3 mit der kürzesten Laufzeit Z2, Z3 selektiert und gemäß
Abzweigung 1 in Schritt E ausgewählt. Unterscheiden sich die
Laufzeiten Z2, Z3 der Befehlslisten L2, L3 nicht, so wird ge
mäß Verzweigung 0 in Schritt 10 die Zykluszeit T2, T3 ge
prüft. Die Befehlsliste L2 mit der kürzeren Zykluszeit T2
wird gemäß Verzweigung 1 selektiert und in Schritt E ausge
wählt.
Weisen sämtliche noch abzuarbeitenden Befehlslisten L2, L3
auch dieselbe Zykluszeit T2, T3 auf, so wird in Schritt D ge
prüft, welchen Wert der Zähler 24 aufweist. Der Wert des Zäh
lers 24 wird gemäß Fig. 6 ermittelt. Es wird die Befehlsli
ste mit dem höchsten Wert des Zählers 24 selektiert und in
Schritt E ausgewählt.
In Abhängigkeit vom Einzelfall können die Schritte A bis D
auch in anderer Reihenfolge abgearbeitet werden.
Fig. 6 zeigt ein Flußdiagramm zum Setzen und Löschen des
Flags 23. Der Flag 23 wird in den Schritten II, VIII des er
findungsgemäßen Verfahrens gemäß Fig. 2 beeinflußt. In
Schritt VIII wird nach dem vollständigen Abarbeiten einer Be
fehlsliste L1, L2, L3 der zugehörige Flag 23 gesetzt. Dieser
Flag 23 zeigt das vollständige Abarbeiten der zugeordneten
Befehlsliste L1, L2, L3 innerhalb der Zykluszeit T1, T2, T3 an.
In Schritt F wird das Ende der Zykluszeit T1, T2, T3 festge
stellt und anschließend in Schritt G der Flag 23 rückgesetzt.
Bei der nächsten Prüfung wird daher diese Befehlsliste L1,
L2, L3 erneut berücksichtigt. Falls der Flag 23 nicht gesetzt
worden ist, wurde die zugehörige Befehlsliste L1, L2, L3 inner
halb der Zykluszeit T1, T2, T3 nicht abgearbeitet. Mit Ablauf
der Zykluszeit T1, T2, T3 wird die Information, ob die Be
fehlsliste L1, L2, L3 abgearbeitet worden ist, gelöscht.
In Fig. 7 ist das Erhöhen und Erniedrigen des Zählers 24
dargestellt. In Schritt VIII wird nach dem vollständigen Ab
arbeiten einer Befehlsliste L1, L2, L3 der Zähler 24 um eins
erniedrigt. Mit Ablauf der Zykluszeit T1, T2, T3 wird der Zäh
ler 24 gemäß Schritt H anschließend um eins erhöht. In
Schritt K wird geprüft, ob der Wert des Zählers 24 unterhalb
eines ersten einstellbaren Werts liegt. Ist dies der Fall,
wird gemäß Verzweigung 1 zu Schritt II des übergeordneten
Verfahrens gemäß Fig. 2 zurückgesprungen. Anderenfalls wird
gemäß Verzweigung 0 in Schritt L eine Warnung für das Bedien
personal ausgegeben, die auch abgespeichert werden kann. Da
nach wird ebenfalls zu Schritt II zurückgesprungen.
Im Anschluß wird in Schritt M geprüft, ob der Wert des Zäh
lers 24 oberhalb eines zweiten einstellbaren Werts liegt.
Falls dies der Fall ist, wird die jeweilige Befehlsliste L1,
L2, L3 gemäß Verzweigung 1 in Schritt N abgeschaltet. Dieses
Abschalten kann angezeigt und gespeichert werden.
Der Zähler 24 weist einen Wert von 0 auf, wenn die jeweilige
Befehlsliste L1, L2, L3 innerhalb der Zykluszeit T1, T2, T3
vollständig abgearbeitet worden ist. Mit Ablauf der Zyklus
zeit T1, T2, T3 wird der Wert des Zählers 24 um eins erhöht.
Falls eine Befehlsliste L1, L2, L3 mehrmals nicht innerhalb
ihrer Zykluszeit T1, T2, T3 vollständig abgearbeitet worden
ist, kann der Wert des Zählers 24 auch größer als 1 sein. Da
her wird jeder von 0 verschiedene Wert des Zählers 24 so in
terpretiert, daß die zugehörige Befehlsliste L1, L2, L3 abge
arbeitet werden soll. In Einzelfällen kann eine Befehlsliste
L3 mit niedrigem Prioritätsrang P3 und einem hohen Wert des
Zählers 24 mehrmals nacheinander abgearbeitet werden. Das Ab
arbeiten von Befehlslisten L1, L2 mit höherem Prioritätsrang
P1, P2 wird hierdurch nicht beeinträchtigt, da diese die Be
fehlsliste L3 unterbrechen.
Die Warnung macht das Bedienpersonal darauf aufmerksam, daß
eine bestimmte Befehlsliste L1, L2, L3 während eines bestimm
ten Zeitraums nicht abgearbeitet worden ist. Dieser Zeitraum
ist das Produkt des Werts des Zählers 24 mit der Zykluszeit
T1, T2, T3 der jeweiligen Befehlsliste L1, L2, L3. Falls erfor
derlich kann dann die jeweilige Befehlsliste L1, L2, L3 manu
ell vom Bedienpersonal gestartet werden. Alternativ werden
die Prioriotäten P1, P2, P3 und/oder Zykluszeiten T1, T2, T3
verändert, um einen reibungslosen Ablauf zu gewährleisten.
Das Abschalten der Befehlsliste L1, L2, L3 gemäß Schritt N
entlastet die Datenverarbeitungsanlage 14. Das Abschalten
wird ebenso wie die Warnung zum Unterrichten des Bedienperso
nals angezeigt und abgespeichert.
Falls neue Befehlslisten aufgenommen werden sollen, können
diese in die Datenverarbeitungsanlage 14 eingespeist werden.
Nach Ablauf des jeweiligen Zeitabschnitts Δt werden die neu
eingespeisten Befehlslisten bereits berücksichtigt. Ein manu
elles Umprogrammieren ist nicht mehr erforderlich. Falls die
Kapazität der Datenverarbeitungsanlage 14 nicht ausreicht,
wird das Bedienpersonal automatisch gewarnt. In diesem Fall
können entweder eine oder mehrere Befehlslisten L1, L2, L3
entfernt, die Zykluszeiten T1, T2, T3 angepaßt oder die Kapa
zität der Datenverarbeitungsanlage 14 erhöht werden.
Das erfindungsgemäße Verfahren ermöglicht den gleichzeitigen
Ablauf mehrerer Befehlslisten unabhängig voneinander. Ein ma
nuelles Festlegen und Zuweisen des Ablaufbeginns ist nicht
erforderlich. Änderungen und das Aufnehmen neuer Befehlsli
sten sind rasch und unkompliziert automatisch möglich.
Claims (12)
1. Verfahren zum Abarbeiten mehrerer Befehlslisten (L1, L2,
L3) in einer Datenverarbeitungsanlage (14), wobei jede Be
fehlsliste (L1; L2; L3) eine bestimmte Laufzeit (Z1; Z2; Z3) und
eine bestimmte Zykluszeit (T1; T2; T3) aufweist und eine An
zahl von aneinander gereihten Einzelbefehlen (17, 18, 19) um
faßt, dadurch gekennzeichnet, daß jeder
Befehlsliste (L1; L2; L3) ein Prioritätsrang (P1; P2; P3) zuge
ordnet wird, daß die Befehlslisten (L1; L2; L3) nacheinander
in absteigendem Prioritätsrang (P1; P2; P3) ablaufen und abge
arbeitet werden, wobei nach einzelnen Zeitabschnitten (Δt)
geprüft wird, ob die Zykluszeit (T2) einer Befehlsliste (L2)
mit höherem Prioritätsrang (P2)als die derzeit ablaufende Be
fehlsliste (L3) abgelaufen ist, und beim Ablauf einer derar
tigen Zykluszeit (T2) diese Befehlsliste (L2) gestartet und
die laufende Befehlsliste (L3) unterbrochen wird, und anson
sten die ablaufende Befehlsliste (L3) weiter abgearbeitet
wird.
2. Verfahren nach Anspruch 1, dadurch
gekennzeichnet, daß nach dem vollständigen Abar
beiten einer Befehlsliste (L1; L2: L3) geprüft wird, welche
der noch nicht oder nicht vollständig abgearbeiteten Befehls
listen (L1; L2; L3) den höchsten Prioritätsrang (P1; P2; P3)
aufweist, worauf diese Befehlsliste (L1; L2; L3) gestartet
wird.
3. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß über einen Flag (23) erfaßt
wird, ob eine Befehlsliste (L1; L2; L3) innerhalb ihrer Zy
kluszeit (T1; T2; T3) abgearbeitet worden ist.
4. Verfahren nach Anspruch 3, dadurch
gekennzeichnet, daß der Flag (23) nach Ablauf
der Zykluszeit (T1; T2; T3) zurückgesetzt wird.
5. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß über einen Zähler (24) er
faßt wird, wie oft die Zykluszeit (T1; T2; T3) einer Befehls
liste (L1; L2; L3) ohne Abarbeiten der Befehlsliste (L1; L2;
L3) verstrichen ist.
6. Verfahren nach Anspruch 5, dadurch
gekennzeichnet, daß bei Erreichen eines bestimm
ten, vorgebbaren Werts des Zählers (24) eine Warnung ausgege
ben wird.
7. Verfahren nach Anspruch 5 oder 6, dadurch
gekennzeichnet, daß bei Erreichen eines bestimm
ten, vorgebbaren Werts des Zählers (24) die zugehörige Be
fehlsliste (L1; L2; L3) vollständig abgeschaltet wird.
8. Verfahren nach einem der Ansprüche 1 bis 7,
dadurch gekennzeichnet, daß bei gleichem
Prioritätsrang (P1; P2; P3) von Befehlslisten (L1; L2; L3) die
Befehlsliste (L2; L3) mit der kürzesten Laufzeit (Z2; Z3) be
vorzugt wird.
9. Verfahren nach einem der Ansprüche 1 bis 7,
dadurch gekennzeichnet, daß bei gleichem
Prioritätsrang (P1; P2; P3) von Befehlslisten (L1; L2; L3) die
Befehlsliste (L2) mit der kürzesten Zykluszeit (T2) bevorzugt
wird.
10. Verfahren nach Anspruch 5, dadurch
gekennzeichnet, daß bei gleichem Prioritätsrang
(P1; P2; P3) von Befehlslisten (L1; L2; L3) die Befehlsliste
(L1) mit dem höchsten Wert des Zählers (24) bevorzugt wird.
11. Verfahren nach einem der Ansprüche 1 bis 10,
dadurch gekennzeichnet, daß ein Zeitab
schnitt (Δt) der Bearbeitungsdauer eines Einzelbefehls (17;
18; 19) der gerade ablaufenden Befehlsliste (L1; L2; L3) ent
spricht.
12. Verfahren nach einem der Ansprüche 1 bis 10,
dadurch gekennzeichnet, daß ein Zeitab
schnitt (Δt) der Bearbeitungsdauer mehrerer Einzelbefehle
(17, 18, 19) der gerade ablaufenden Befehlsliste (L1; L2; L3)
entspricht.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19915850A DE19915850C1 (de) | 1999-04-08 | 1999-04-08 | Verfahren zum Abarbeiten mehrerer Befehlslisten in einer Datenverarbeitungsanlage |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19915850A DE19915850C1 (de) | 1999-04-08 | 1999-04-08 | Verfahren zum Abarbeiten mehrerer Befehlslisten in einer Datenverarbeitungsanlage |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19915850C1 true DE19915850C1 (de) | 2000-06-21 |
Family
ID=7903890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19915850A Expired - Fee Related DE19915850C1 (de) | 1999-04-08 | 1999-04-08 | Verfahren zum Abarbeiten mehrerer Befehlslisten in einer Datenverarbeitungsanlage |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE19915850C1 (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1221639A2 (de) * | 2000-12-27 | 2002-07-10 | Siemens Aktiengesellschaft | Programmierung von zyklischen Maschinen |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4339030A1 (de) * | 1993-11-15 | 1995-05-18 | Siemens Ag | Einrichtung mit einem Betriebssystem, insbesondere einem Echtzeit-Betriebssystem |
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
-
1999
- 1999-04-08 DE DE19915850A patent/DE19915850C1/de not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4339030A1 (de) * | 1993-11-15 | 1995-05-18 | Siemens Ag | Einrichtung mit einem Betriebssystem, insbesondere einem Echtzeit-Betriebssystem |
DE19500957A1 (de) * | 1994-07-19 | 1996-01-25 | Bosch Gmbh Robert | Verfahren zur Steuerung von technischen Vorgängen oder Prozessen |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1221639A2 (de) * | 2000-12-27 | 2002-07-10 | Siemens Aktiengesellschaft | Programmierung von zyklischen Maschinen |
EP1221639A3 (de) * | 2000-12-27 | 2006-08-09 | Siemens Aktiengesellschaft | Programmierung von zyklischen Maschinen |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1330685B1 (de) | Prüfverfahren und prüfvorrichtung zur inbetriebnahme von mittels einer programmlogik gesteuerten systemen | |
DE19744230B4 (de) | Steuergeräte für ein System und Verfahren zum Betrieb eines Steuergeräts | |
DE1524239A1 (de) | Verfahren zur Lokalisierung eines Fehlers in einer Anlage mit mindestens zwei parallel arbeitenden Rechengeraeten | |
DE3521930C2 (de) | ||
DE2713253A1 (de) | Programmlader fuer ein steuergeraet | |
DE102016000160B4 (de) | Numerische Steuerung, eingerichtet für einen Teach-Betrieb mit wechselnden Arbeitsbereichen | |
EP0048991B1 (de) | Verfahren und Anordnung zur Behandlung von Unterbrechungsbedingungen während des Arbeitsablaufes in Datenverarbeitungsanlagen mit Mikroprogrammsteuerung | |
DE102016123235A1 (de) | Betriebsverwaltungssystem zum direkten anzeigen eines arbeitsbefehls auf basis einer betriebsverwaltungsinformation an einer werkzeugmaschine | |
DE4106164A1 (de) | Verfahren zum suchen und beseitigen von programmfehlern durch ausfuehren eines blockmodenlaufes | |
DE102019001129A1 (de) | Numerische Steuervorrichtung | |
DE4445651A1 (de) | Verfahren zur Steuerung von technischen Vorgängen | |
EP0801340B1 (de) | Verfahren und Vorrichtung zur Steuerung einer Werkzeugmaschine, insbesondere einer Funkenerosionsmaschine | |
EP3396479B1 (de) | Engineering-system | |
EP2433189B1 (de) | Verfahren zum analysieren von meldungsarchiven und korrespondierendes computerprogramm zur ableitung eines endlichen automaten | |
DE19915850C1 (de) | Verfahren zum Abarbeiten mehrerer Befehlslisten in einer Datenverarbeitungsanlage | |
DE102008035176A1 (de) | Verfahren zum anwendungsspezifischen Hinzufügen von Funktionsbausteinen zu einem Automatisierungssystem | |
DE3743438A1 (de) | Verfahren und einrichtung zum steuern des uebergangs eines endlichen automaten von einem momentanzustand in einen folgezustand | |
WO1996012218A1 (de) | Verfahren und vorrichtung zur steuerung von funkenerosionsmaschinen | |
DE10065498B4 (de) | Verfahren und Vorrichtung zur Rekonstruktion des Prozessablaufs eines Steuerprogramms | |
EP0894296B1 (de) | Verfahren zum erfassen und dokumentieren nicht erfüllter fortschaltbedingungen bei systemen, die von schrittorientierten sps-programmen gesteuert werden | |
EP1593007A2 (de) | Verfahren zur ermittlung der verarbeitungsreihenfolge von funktionsbausteinen eines automatisierungssystems und automatisierungssystem | |
DE3688506T2 (de) | Datenverarbeitungsanlage. | |
EP0654155B1 (de) | Einrichtung zum steuern des überganges von prozessor-betriebszuständen von einem momentanzustand in einen folgezustand | |
EP3948449B1 (de) | Verfahren und engineering-system zur änderung eines programms einer industriellen automatisierungskomponente | |
EP2392705A1 (de) | Weitergabe von Informationen mittels der Maschinensteuerung einer Textilmaschine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of patent without earlier publication of application | ||
D1 | Grant (no unexamined application published) patent law 81 | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |
Effective date: 20131101 |