DE19956271A1 - Automatisierungsgerät und Aufdat-Verfahren - Google Patents
Automatisierungsgerät und Aufdat-VerfahrenInfo
- Publication number
- DE19956271A1 DE19956271A1 DE19956271A DE19956271A DE19956271A1 DE 19956271 A1 DE19956271 A1 DE 19956271A1 DE 19956271 A DE19956271 A DE 19956271A DE 19956271 A DE19956271 A DE 19956271A DE 19956271 A1 DE19956271 A1 DE 19956271A1
- Authority
- DE
- Germany
- Prior art keywords
- task
- memory
- update
- automation device
- tasks
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 65
- 238000012546 transfer Methods 0.000 claims abstract description 33
- 238000012544 monitoring process Methods 0.000 claims description 12
- 239000003795 chemical substances by application Substances 0.000 description 45
- 238000004891 communication Methods 0.000 description 10
- 125000004122 cyclic group Chemical group 0.000 description 8
- 238000012545 processing Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- CXOFVDLJLONNDW-UHFFFAOYSA-N Phenytoin Chemical compound N1C(=O)NC(=O)C1(C=1C=CC=CC=1)C1=CC=CC=C1 CXOFVDLJLONNDW-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000035484 reaction time Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/408—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by data handling or data format, e.g. reading, buffering or conversion of data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24182—Redundancy
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24186—Redundant processors are synchronised
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24187—Redundant processors run identical programs
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Es wird ein Automatisierungsgerät (AG) mit einem taskorientierten Anwenderprogramm angegeben, dessen Speicherinhalt (M) ohne Unterbrechung des Betriebs an ein redundantes Automatisierungsgerät (AG') zu übertragen ist. Nach einem herkömmlichen Transfer eines Grunddatenbestandes erfolgt der Transfer zwischenzeitlich geänderter Daten mittels den einzelnen Tasks (T1, T2) zugeordneter Aufdattasks (T1A, T2A), wobei diese nur denjenigen Ausschnitt (M1, M2) des Speicherinhalts (M) übertragen, auf den die jeweiligen Tasks (T1, T2) zugreifen.
Description
Die Erfindung betrifft ein Automatisierungsgerät zur Steue
rung und/oder Überwachung eines technischen Prozesses, mit
einem Speicher zur Speicherung zumindest eines Anwenderpro
gramms mit mindestens einer Task sowie prozeß- und anwender
programmbezogener Daten, wobei beim Ankoppeln eines redundan
ten Automatisierungsgerätes ein Transfer des Inhalts des
Speichers in einen Speicher des redundanten Automatisierungs
gerätes erfolgt. Sie betrifft weiter ein Verfahren zum Aufda
ten eines mit einem solchen Automatisierungsgerät kommunika
tiv verbundenen redundanten Automatisierungsgerätes.
Eine Speicherprogrammierbare Steuerung (SPS) ist eine weit
verbreitete, spezielle Realisierung eines zum Einzelbetrieb
und damit zum nicht-redundanten Betrieb geeigneten Automati
sierungsgerätes. Auch kann ein sogenannter Prozessrechner
oder auch ein sogenannter Personal Computer, der im Vergleich
zu einem für einen reinen Büro-Einsatz vorgesehenen Personal
Computer insbesondere um ein spezielles Netzteil, um eine
spezielle Abschirmung, um einen gepufferten Speicher und/oder
um eine unterbrechungsfreie Stromversorgung ergänzt ist, als
Automatisierungsgerät eingesetzt werden.
Grundsätzlich umfaßt das Automatisierungsgerät, wie jeder
"Standardcomputer", zumindest einen Prozessor zum Ausführen
eines in einem Speicher hinterlegten Anwenderprogramms. Die
Besonderheit des Automatisierungsgerätes im Vergleich zu ei
nem Standardcomputer liegt darin, daß das Automatisierungsge
rät Mittel zur Anbindung an einen zu steuernden und/oder zu
überwachenden Prozeß aufweist, insbesondere Ein-/Ausgabevor
richtungen, wie z. B. Digital-/Analogeingabeschnittstellen
bzw. Digital-/Analogausgabeschnittstellen.
Ein Automatisierungsgerät, das im Gegensatz zu dem für den
Einzelbetrieb vorgesehenen Automatisierungsgerät zum redun
danten Betrieb mit mindestens einem redundanten Automatisie
rungsgerät - im folgenden auch als Backupautomatisierungsge
rät bezeichnet - geeignet ist, unterscheidet sich von diesem
zumindest durch eine Vorrichtung zur kommunikativen Verbin
dung mit dem zugeordneten redundanten Automatisierungsgerät.
Bei einer derartigen Vorrichtung handelt es sich üblicher
weise um eine Schnittstelle, z. B. um eine serielle/parallele
Schnittstelle oder eine Busschnittstelle, die das Herstellen
einer Kommunikationsverbindung mit dem zugeordneten redundan
ten Automatisierungsgerät ermöglicht. Derartige, zum redun
danten Betrieb geeignete Automatisierungsgeräte sind z. B. aus
der EP 0 497 147, der EP 0 636 956 oder der DE 196 24 302 be
kannt.
Aus der EP 0 497 147 ist ein redundant aus zwei Teilgeräten
aufgebautes Automatisierungsgerät bekannt. Jedes der Teilge
räte weist eine Zentraleinheit und einen Speicher sowie einen
Kommunikationsprozessor auf, wobei die beiden Kommunikations
prozessoren über eine Kommunikationsleitung miteinander ver
bunden sind. Die beiden Teilgeräte führen identische Anwen
derprogramme aus und tauschen über die Kommunikationsleitung
zur Gewährleistung einer synchronen Abarbeitung der identi
schen Anwenderprogramme Synchronisationsdaten aus.
Aus der EP 0 636 956 ist ebenfalls ein zwei Teilsysteme, näm
lich ein Anfangs- und ein Zusatzautomatisierungssystem, auf
weisendes Automatisierungssystem bekannt. Beim Ausfall eines
der Teilsysteme wird der technische Prozeß durch das verblei
bende Teilsystem, das Anfangsautomatisierungssystem, geführt.
Nach dem Austausch des ausgefallenen Teilsystems muß dieses,
nämlich das Zusatzautomatisierungssystem, wieder an das An
fangsautomatisierungssystem angekoppelt werden. Dazu weist
sowohl das Anfangs- wie auch das Zusatzautomatisierungssystem
eine Kommunikationsschnittstelle auf, mittels derer die bei
den Teilsysteme kommunikativ verbindbar sind. Über diese Kom
munikationsverbindung wird der Inhalt des Speichers des An
fangsautomatisierungssystems in den Speicher des Zusatzauto
matisierungssystems transferiert. Dieser Transfer erfolgt un
ter Beibehaltung der Steuerung des technischen Prozesses
durch das Anfangsautomatisierungssystem, indem entweder der
Transfer während eines zeitunkritischen Zustands des Anfangs
automatisierungssystems oder sukzessive in sogenannten Zeit
scheiben erfolgt.
Der Transfer des Inhalts des Speichers des ersten Gerätes/-
Teilsystems in den Speicher des redundanten zweiten Gerätes/-
Teilsystems wird auch als "Aufdaten" bezeichnet. So ist z. B.
aus der DE 196 24 302 ein Verfahren zum Aufdaten (Aufdatver
fahren) bekannt, mit dem einem z. B. aufgrund von Wartungsar
beiten vorübergehend stillgelegten Zusatzautomatisierungssy
stem der aktuelle Datenbestand des Anfangsautomatisierungs
systems übermittelt wird.
Das bekannte Aufdatverfahren ist in zwei Durchläufe unter
teilt. In einem ersten Durchlauf wird der Inhalt des Spei
chers des Anfangsautomatisierungssystems durch sukzessives
Auslesen aus dem Speicher des Anfangsautomatisierungssystems
und Einschreiben in den Speicher des Zusatzautomatisierungs
systems übertragen. Der Umfang der dabei in einem Schritt
ausgelesenen bzw. eingeschriebenen Daten wird durch die für
diesen Vorgang benötigte Zeitspanne und die in Bezug auf den
zu steuernden Prozeß maximal tolerierbare Latenzphase des An
fangsautomatisierungssystems bestimmt. Nach einer bestimmten
Anzahl solcher Schreib- und Lesevorgänge ist ein Transfer ei
nes "Grunddatenbestandes" des Anfangsautomatisierungssystems
an das Zusatzautomatisierungssystem erfolgt. Während dieser
Zeit sind jedoch die Daten im Speicher des Anfangsautomati
sierungssystems aufgrund der nicht unterbrochenen Steuerung
des technischen Prozesses einer kontinuierlichen Veränderung
unterworfen. Diese zwischenzeitlich geänderten Speicherin
halte werden in einem weiteren Durchlauf übertragen. Dazu
werden beim Einschreiben von neuen und/oder geänderten Daten
in den Speicher des Anfangsautomatisierungssystems dieselben
Daten zusammen mit einer Positionsinformation auch in einen
Zwischenspeicher geschrieben und im zweiten Durchlauf wird
der Inhalt des Zwischenspeichers unter Auswertung der Positi
onsinformationen in den Speicher des Zusatzautomatisierungs
systems übertragen.
Der Erfindung liegt die Aufgabe zugrunde, ein zum redundanten
Betrieb geeignetes Automatisierungsgerät anzugeben, mit dem
ein Aufdaten eines redundanten Automatisierungsgerätes oder
Backupautomatisierungsgerätes besonders effizient und ohne
merkliche Störung der fortgesetzten Steuerung des technischen
Prozesses sowie ohne zusätzlichen Hardwareaufwand ermöglicht
ist. Des Weiteren soll ein besonders geeignetes Verfahren zum
Aufdaten eines mit einem solchen Automatisierungsgerät kommu
nikativ verbundenen redundanten Automatisierungsgerätes ange
geben werden.
Bezüglich des Automatisierungsgerätes wird diese Aufgabe er
findungsgsmäß gelöst durch die Merkmale des Anspruchs 1. Vor
teilhafte Ausgestaltungen sind Gegenstand der auf diesen
rückbezogenen Unteransprüche.
Bezüglich des Aufdatverfahrens wird die genannte Aufgabe er
findungsgemäß gelöst durch die Merkmale des Anspruchs 4.
Zweckmäßige Weiterbildungen sind Gegenstand der auf diesen
rückbezogenen Unteransprüche.
Die mit der Erfindung erzielten Vorteile bestehen insbeson
dere darin, dass einerseits zum Aufdaten die Steuerung
und/oder Überwachung des technischen Prozesses nicht unter
brochen werden muß, und dass andererseits auch während der
fortgesetzten Steuerung und/oder Überwachung des technischen
Prozesses Reaktionszeitobergrenzen, d. h. Zeitspannen, inner
halb derer auf eine Veränderung im Zustand des Prozesses rea
giert wird, eingehalten werden, indem eine Aufdattask termi
niert wird, die zusammen mit der dieser zugeordneten Task des
Anwenderprogramms zuviel Laufzeit beansprucht. Sobald die
Aufdattask terminiert wurde, ist hinsichtlich der Steuerung
und/oder Überwachung des technischen Prozesses wieder die
Konstellation hergestellt, die ohne das Erfordernis des Auf
datens bestände, so dass wieder entsprechend der Möglichkei
ten des Anwenderprogramms auf Zustandsänderungen des techni
schen Prozesses reagiert werden kann.
Das im Speicher abgelegte und von einem Prozessor ausgeführte
Anwenderprogramm des Automatisierungsgeräts umfaßt zumindest
eine sogenannte Task, d. h. eine Ablaufeinheit des Anwender
programms, deren Ablauf (Reihenfolge, Dauer) vom sogenannten
Scheduler des Betriebssystems bestimmt wird. Zusätzlich zum
Anwenderprogramm sind im Speicher des Automatisierungsgerätes
auch prozeß- und anwenderprogrammbezogene Daten, z. B. Prozeß
zustände und Variable des Anwenderprogramms, gespeichert.
Beim Ankoppeln des Backupautomatisierungsgerätes, z. B. nach
Abschluß von Wartungsarbeiten am Backupautomatisierungsgerät,
ist ein Transfer des Inhalts des Speichers des Automatisie
rungsgerätes in den Speicher des Backupautomatisierungsgerä
tes vorgesehen (Aufdaten). Dabei erfolgt dieser Transfer wäh
rend des Betriebs des Automatisierungsgerätes, also während
der ununterbrochenen Steuerung des technischen Prozesses
durch das Automatisierungsgerät.
Das Aufdatverfahren ist in zwei Durchläufe unterteilt. In ei
nem ersten Durchlauf wird - analog zum aus der DE 196 24 302
bekannten Aufdatverfahren - der Inhalt des Speichers des Au
tomatisierungsgerätes durch sukzessives Auslesen und Ein
schreiben in den Speicher des Backupautomatisierungsgerätes
übertragen. Der Umfang der dabei in einem Schritt ausgelese
nen bzw. eingeschriebenen Daten wird durch die für diesen
Vorgang benötigte Zeitspanne und die in Bezug auf den zu
steuernden Prozeß maximal tolerierbare Latenzphase des Auto
matisierungsgerätes bestimmt. Nach einer bestimmten Anzahl
solcher Schreib- und Lesevorgänge ist ein Transfer eines
"Grunddatenbestandes" des Automatisierungsgerätes an das
Backupautomatisierungsgerät erfolgt. Während dieser Zeit sind
jedoch die Daten im Speicher des Automatisierungsgerätes auf
grund der nicht unterbrochenen Steuerung des technischen Pro
zesses einer kontinuierlichen Veränderung unterworfen. Diese
zwischenzeitlich geänderten Speicherinhalte werden in einem
weiteren Aufdatdurchlauf übertragen.
Das weitere Aufdaten erfolgt mittels spezieller Aufdattasks,
die jeder Task des Anwenderprogramms zum Transfer des Inhalts
des Teils des Speichers, auf den die jeweilige Task zugreift,
zugeordnet ist, wobei durchaus auch vorgesehen sein kann, daß
eine Aufdattask mehreren Tasks des Anwenderprogramms
zugeordnet ist. Dabei wird die jeweilige Aufdattask im An
schluß an die Ausführung derjenigen Task, der die Aufdattask
zugeordnet ist, ausgeführt. Die Summe der Laufzeit von Task
und zugeordneter Aufdattask ist notwendig größer als die
Laufzeit der Task selbst.
Damit das Aufdaten ohne merkliche Störung der fortgesetzten
Steuerung des technischen Prozesses erfolgen kann, darf er
kanntermaßen der Ablauf einer Aufdattask den Start anderer
Tasks des Anwenderprogramms allenfalls marginal verzögern. Um
dies zu gewährleisten, wird die Summe der Laufzeiten von Task
und zugeordneter Aufdattask ermittelt und als Summenlaufzeit
erfaßt. Überschreitet die erfaßte Summenlaufzeit eine vorge
gebene oder vorgebbare Laufzeitobergrenze wird die Ausführung
der Aufdattask beendet, indem die Aufdattask terminiert wird.
Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand
der Zeichnungen näher erläutert. Darin zeigen:
Fig. 1 schematisch ein Automatisierungssystem mit einem
Automatisierungsgerät und einem damit kommu
nikativ verbundenen redundanten Automatisie
rungsgerät zur Führung eines technischen Prozes
ses,
Fig. 2 bis 5 den zeitlichen Ablauf verschiedener Tasks mit
jeweils unterschiedlichen Prioritäten eines An
wenderprogramms,
Fig. 6 eine schematische Darstellung des Transfers des
Inhalts einzelner Segmente eines Speichers des
Automatisierungsgerätes in einen korrespondie
renden Speicher des redundanten Automatisie
rungsgerätes, und
Fig. 7 eine schematische Darstellung des Speicherlay
outs des Speichers des Automatisierungsgerätes
mit ausgezeichneten Abschnitten/Segmenten, auf
die bestimmte Tasks zugreifen.
Fig. 1 zeigt ein Automatisierungssystem AG, AG' und einen von
diesem zu steuernden und/oder zu überwachenden technischen
Prozeß TP. Das Automatisierungssystem AG, AG' umfaßt zumin
dest ein Automatisierungsgerät AG und ein redundantes Automa
tisierungsgerät oder Backupautomatisierungsgerät AG'.
Sowohl das Automatisierungsgerät AG als auch das Backupauto
matisierungsgerät AG' sind in der Lage, den technischen Pro
zeß TP zu führen. Die Unterscheidung zwischen Automatisie
rungsgerät AG und Backupautomatisierungsgerät AG' ist als
rein sprachliche Unterscheidung anzusehen, die die jeweilige
Funktionalität des Gerätes AG, AG' beschreibt. So kann das
Backupautomatisierungsgerät AG' eines ersten Aufdatvorgangs
das Automatisierungsgerät AG eines zeitlich später liegenden
weiteren Aufdatvorgangs sein.
Um Befehle und Steueranweisungen an den technischen Prozeß TP
zu übermitteln, aber auch um Signale und Prozeßwerte von die
sem zu empfangen, ist eine kommunikative Verbindung B zwi
schen den Automatisierungsgeräten AG, AG' und dem technischen
Prozeß TP vorgesehen. Diese kommunikative Verbindung B ist in
Fig. 1 exemplarisch als Busverbindung B dargestellt. Die kom
munikative Verbindung B mit dem Prozeß TP kann auch ganz oder
teilweise in Form einer herkömmlichen Verdrahtung bestehen.
Gleichfalls nur aus Gründen der zeichnerischen Vereinfachung
stellt die kommunikative Verbindung B, die den Prozeßanschluß
ermöglicht, auch die kommunikative Verbindung zwischen Auto
matisierungsgerät AG und Backupautomatisierungsgerät AG' dar.
Üblicherweise sind heute gebräuchliche Busverbindungen B der
art leistungsfähig, dass sie ausreichend Bandbreite zur Ver
fügung stellen, um sowohl die interne (Automatisierungsgerät
AG, Backupautomatisierungsgerät AG') wie auch die externe
((Backup-)Automatisierungsgerät AG, AG', technischer Prozeß
TP) Kommunikation abzuwickeln. Es ist jedoch gleichfalls mög
lich, die interne Kommunikation über einen separaten Bus
- beispielsweise einen sogenannten Rückwandbus - abzuwickeln,
um auf diese Weise ggf. besonders hohe Datentransferraten zu
erreichen, so dass das Aufdaten insgesamt beschleunigt erfol
gen kann.
Des Weiteren weist jedes Automatisierungsgerät AG, AG' einen
Speicher M, M' auf, der zur Speicherung zumindest eines An
wenderprogramms mit mindestens einer Task T1, T2 sowie pro
zeß- und anwenderprogrammbezogener Daten vorgesehen ist.
Nachfolgend wird davon ausgegangen, daß es sich bei den Tasks
T1, T2 des Anwenderprogramms um sogenannte zyklische Tasks
T1, T2 handelt, die jeweils in einem festen Zeitraster, z. B.
alle 300 ms, ausgeführt werden. Eine zyklische Task T1, T2 ge
langt nur dann regelmäßig alle 300 ms zur Ausführung, wenn die
Laufzeit der Task T1, T2 selbst nicht mehr als 300 ms beträgt
und zu dem Zeitpunkt, zu dem diese zyklische Task T1, T2 wie
der gestartet werden müßte, keine andere Task T1, T2 ausge
führt wird.
Die Erfüllung der ersten Bedingung erfolgt mit der Program
mierung des Anwenderprogramms, indem für eine Task T1, T2,
die in einem festen Zeitraster von z. B. 300 ms läuft, keine
Aufgaben vorgesehen werden, deren Abarbeitung mehr als 300 ms
Laufzeit in Anspruch nimmt.
Die Erfüllung der zweiten Bedingung erfolgt nur mittelbar im
Zuge der Programmierung, zumal - wie bereits weiter oben er
wähnt - der Scheduler das Taskmanagement wesentlich über
nimmt. Die Programmierung oder das Programm bildet allerdings
mit der durchdachten Zuweisung von Prioritäten, die für den
Scheduler ein Maß für die Rangfolge bei der Ausführung kon
kurrierender Tasks T1, T2 sind, die Grundlage dafür, dass
eine Ausführung der jeweiligen Task T1, T2 im beabsichtigten
Zeitraster auch tatsächlich möglich ist.
Exemplarisch wird hier der Fall beschrieben, bei dem einer
laufzeitintensiven Eingabetask eine höhere Priorität zugewie
sen wird, als einer wichtigen zyklischen Alarmtask und daher
der Aufruf der Alarmtask in ihrem Zeitraster nicht möglich
ist. Obwohl die Aufrufzeitpunkte der Alarmtask immer wieder
erreicht werden, gelangt die Alarmtask aufgrund ihrer gerin
geren Priorität solange nicht zu Ausführung, wie die Einga
betask mit höherer Priorität ausgeführt wird.
Fig. 2 zeigt den zeitlichen Verlauf der Abarbeitung eines zy
klischen (Anwender-)Programms T1 mit zwei Tasks T1, T2. Die
Tasks T1, T2 laufen in einem festen Zeitraster, wobei die
Task T1 alle 100 ms und die Task T2 alle 225 ms zur Ausführung
gelangt. Auch das zyklische Programm T1 kann als Task, z. B.
als Task ohne festes Zeitraster, aufgefaßt werden. Die Zykli
zität des Programms T1 ist in Fig. 2 graphisch durch den "Neu
start" des Programms T1 beim Zeitpunkt t + 275 ms angedeutet.
Um sicherzustellen, dass eine Task T1, T2, die für einen Ab
lauf in einem festen Zeitraster vorgesehen ist, tatsächlich
auch jeweils zu den durch das Zeitraster vorgegebenen Start
zeitpunkten gestartet wird, sind den Tasks T1, T2 Prioritäten
zuweisbar, wobei eine höhere Priorität einer Task deren be
vorzugte Bearbeitung durch den Prozessor zur Folge hat. Die
Koordination der Tasks erfolgt durch den Scheduler des Be
triebssystems.
Ohne eine Zuweisung von Prioritäten würde mit Hinblick auf
die in Fig. 2 dargestellte Situation eine einmal gestartete-
Task T1 permanent - zumindest jedoch bis sie ihr Ende er
reicht - ausgeführt werden. Weitere Tasks T1, T2 würden nicht
zur Ausführung gelangen, wenn sie nicht direkt von der perma
nent ausgeführten Task T1 aufgerufen würden. Mit einem sol
chen direkten Aufruf einer Task T1, T2 aus einer anderen,
permanent ausgeführten Task T1 läßt sich jedoch ein festes
Zeitraster für die Ausführung der Tasks T1, T2 nicht oder nur
schwer realisieren, es sein denn, die Task T1 stellt selbst
die volle Funktionalität eines Schedulers zur Verfügung.
Der im Betriebssystem enthaltene Scheduler vereinfacht die
Koordination beim Ablauf von Tasks T1, T2, T1. Dazu werden
dem Scheduler jede Task T1, T2, T1 bekannt gemacht und für
jede Task T1, T2, T1 Parameter definiert, die Art, Dauer und
Reihenfolge ihres Ablaufes festlegen.
Für die in Fig. 2 dargestellte Situation wird für die Tasks
T1, T2 festgelegt, daß es sich um zyklische Tasks T1, T2 han
delt, wobei die Task T1 alle 100 ms und die Task T2 alle 225 ms
aufgerufen werden soll. Zusätzlich wird der Task T1 eine hö
here Priorität zugewiesen als der Task T2. Dies ist in Fig. 2
durch die Position über der Ordinate graphisch dargestellt.
Die Task T1 ist eine zyklische Task ohne festes Zeitraster.
Sie wird jedes Mal, wenn sie ihr Ende erreicht, neu gestar
tet. Die Task T1 hat die niedrigste Priorität.
Wird einer der Zeitpunkte erreicht, zu dem eine der Tasks T1,
T2 ausgeführt werden soll - z. B. t + 100 ms, t + 200 ms, t + 225 ms,
t + 300 ms, t + 400 ms, t + 450 ms, t + 500 ms, . . . - unterbricht der
Scheduler die Ausführung der Task T1 und sorgt dafür, dass
die jeweilige Task T1, T2 zur Ausführung gelangt.
Zum Zeitpunkt t + 900 ms müßte gemäß dem gewählten Beispiel
gleichzeitig sowohl die Task T1 - 100 ms-Raster - wie auch die
Task T2-225 ms-Raster - zur Ausführung kommen. Dies ist
nicht möglich, da der Prozessor nicht die Anweisungen der er
sten Task T1 zeitgleich mit den Anweisungen der zweiten Task
T2 ausführen kann. Da der Task T1 eine höhere Priorität als
der Task T2 zugewiesen wurde, gelangt in diesem Zeitpunkt und
in vergleichbaren Zeitpunkten zunächst die höherpriore Task
T1 und unmittelbar danach die Task T2 zur Ausführung. Erst
nachdem auch die Task T2 beendet wurde, wird wieder zur Task
T1 zurückgeschaltet.
Aus dieser Konstellation ist ersichtlich, dass auch für den
Fall, dass eine Task T1, T2 für einen Ablauf in einem festen
Zeitraster vorgesehen ist, deren tatsächlicher Ablauf in dem
vorgesehenen Zeitraster systemimmanent nicht in jedem Falle
sichergestellt werden kann. Darum ist eine Verschiebung der
Startzeitpunkte einzelner Tasks T1, T2 in gewissen Grenzen
tolerierbar.
Fig. 3 veranschaulicht, in welcher Weise, d. h. zu welchen
Zeitpunkten, die den Tasks T1, T2 zugeordneten Aufdattasks
T1A, T2A zur Ausführung gelangen. Dabei sind die Tasks T1, T2
gemäß Fig. 2 erneut dargestellt. Zusätzlich sind die der Task
T1 zugeordnete Aufdattask T1A und die der Task T2 zugeordnete
Aufdattask T2A dargestellt. Zur Vereinfachung sollen die
Tasks T1, T2, T1A, T2A zu jedem dargestellten Aufrufzeitpunkt
jeweils gleiche Laufzeiten aufweisen. Jedoch können die Lauf
zeiten der Tasks T1, T2, T1A, T2A von Aufrufzeitpunkt zu Auf
rufzeitpunkt auch differieren.
Die der Task T1 zugeordnete Aufdattask T1A hat eine höhere
Priorität als die Task T1 selbst. Dadurch ist gewährleistet,
dass die Aufdattask T1A möglichst unmittelbar im Anschluß an
die Ausführung der Task T1 ausgeführt wird. Dies gilt analog
für die der Task T2 zugeordnete Aufdattask T2A.
Aus Fig. 3 ist ersichtlich, dass für den gewählten Ausschnitt
des Zeitstrahls gerade eine Konstellation gegeben ist, bei
der die Laufzeiten der Tasks T1, T1A, T2, T2A die Ausführung
der zyklischen Tasks T1, T2 zu deren jeweiligen Startzeit
punkten - alle 100 ms bzw. alle 225 ms - nicht stört. Die für
die Ausführung der Aufdattasks T1A, T2A benötigte Zeit geht
vollständig "zu Lasten" der Task T1. Dies ist daran ersicht
lich, dass der Zeitpunkt für den Neustart der Task T1 im Ge
gensatz zu Fig. 2 vom Zeitpunkt t + 275 ms auf den Zeitpunkt
t + 525 ms verschoben ist. Diese Verlängerung einzelner Zyklen
des Anwenderprogramms wird nicht als kritisch aufgefaßt, da
dessen Zykluszeit ohnehin in den seltensten Fällen konstant
ist und je nach für die einzelnen Tasks T1, T2 ohnehin erfor
derlicher Laufzeit differiert.
Eine "kritische" Situation liegt erst dann vor, wenn die Aus
führung einer Aufdattask T1A den Start einer zyklischen, in
einem festen Zeitraster laufenden Task T2 zu dessen vorbe
stimmten Startzeitpunkt in Frage stellt. Eine derartige Kon
stellation ist in Fig. 4 dargestellt.
Die Laufzeit der Aufdattask T1A zum Zeitpunkt t + 200 ms ist in
Fig. 4 gegenüber Fig. 3 geringfügig länger. Dadurch wird die
Aufdattask T1A zum Zeitpunkt t + 225 ms, d. h. zu dem Zeitpunkt,
zu dem eigentlich die Task T2 gestartet werden müßte, noch
ausgeführt. Da die Aufdattask T1A eine höhere Priorität als
die Task T2 hat, wird die Aufdattask T1A nicht unterbrochen,
obwohl der Startzeitpunkt der Task T2 erreicht ist. Die Task
T2 gelangt erst zur Ausführung, wenn die Ausführung der Auf
dattask T1A abgeschlossen wurde. Damit liegt jetzt eine Kon
stellation vor, bei der die Task T2 aufgrund der Ausführung
der Aufdattask T1A nicht mehr im eigentlich vorgesehenen fe
sten Zeitraster ausgeführt werden kann.
Wie bereits erwähnt, kann die Konstellation, nämlich dass ein
festes Zeitraster nicht exakt eingehalten werden kann, auch
in Abwesenheit der Aufdattasks T1A, T2A eintreten. Geringfü
gige Verschiebungen der Aufrufzeitpunkte der zyklischen Tasks
T1, T2 sind daher stets tolerierbar und werden häufig nicht
bemerkt. Welche Verschiebungen der Aufrufzeitpunkte der ein
zelnen zyklischen Tasks T1, T2 im Einzelfall tolerierbar
sind, läßt sich nicht im vorhinein festlegen. Statt dessen
ist bei der Entwicklung des Programms zur Steuerung und/oder
Überwachung des jeweiligen technischen Prozesses TP die Größe
der maximal tolerierbaren Verschiebungen gemäß der erforder
lichen zeitlichen Abfolge beim Aufruf der einzelnen Tasks T1,
T2 und besonders im Hinblick auf die Erfordernisse des zu
steuernden und/oder zu überwachenden technischen Prozesses TP
festzulegen.
Eine Verschiebung eines Aufrufzeitpunktes einer zyklischen
Task um einige 100 ms kann bei einem langsamen Prozeß, der von
einem Programm mit wenigen, weitgehend zeitunkritischen Tasks
gesteuert wird, durchaus tolerierbar sein, bei einem schnel
len, zeitkritischen Prozeß jedoch bereits nachteilige Folgen
zeitigen. Festgelegt wird somit die Maximallaufzeiten t11,
t21, die Obergrenze für die Summe der Laufzeit der Task T1,
T2 und zugeordneter Aufdattask T1A, T2A.
Dies ist programmiertechnisch kein grundsätzlich anderer Ar
beitsschritt als die Festlegung der Aufrufzeitpunkte - des
Zeitrasters - der zyklischen Tasks T1, T2 oder deren Priori
täten, die auch im wesentlichen auf die Situation des jewei
ligen technischen Prozesses TP abzustellen sind und damit
gleichfalls nicht im vorhinein festlegbar sind. Die Maximal
laufzeit t11 könnte also auf den Wert 50 ms festlegt werden.
Diese Maximallaufzeit t11 ist bei der Konstellation gemäß
Fig. 4 nicht erreicht. Die Aufdattask T1A würde demnach nicht
abgebrochen. Solange während eines Aufdatvorganges keine Auf
dattask T1A, T2A unterbrochen wird, wird der Aufdatvorgang
auch insgesamt fortgesetzt.
In Fig. 5 ist eine Konstellation dargestellt, bei der die Sum
menlaufzeit t1, d. h. die Summe der Laufzeiten der Task T1
sowie der zugeordneten Aufdattask T1A, die festgelegte Maxi
mallaufzeit t11 von z. B. 50 ms überschreiten würde. Bei dieser
Konstellation wird die Ausführung der Aufdattask T1A unter
brochen, indem die Aufdattask T1A terminiert wird.
Die Überwachung der Maximallaufzeiten t11, t21 erfolgt z. B.
durch eine dafür vorgesehene Überwachungstask mit entspre
chend hoher Priorität. Diese läuft in einem derart engen
Zeitraster ab, dass eine Überwachung der Summenlaufzeiten t1,
t2 und eine Erkennung des Überschreitens der Maximallaufzei
ten t11, t21 möglich ist.
Durch das Terminieren der Aufdattask T1A wird gewährleistet,
dass die Ausführung der zyklischen Task T2 nicht unzulässig
verzögert wird. Mit dem Terminieren der Aufdattask T1A wird
die "wartende" Task T2 diejenige lauffähige Task mit der der
zeit höchsten Priorität. Diese wird daher vom Scheduler un
mittelbar zur Ausführung vorgesehen. Auch während des Aufda
tens können damit bestimmte Reaktionszeiten eingehalten oder
sichergestellt werden, d. h. Zeiten, in denen auf bestimmte
Änderungen im technischen Prozeß TP, z. B. die Änderungen ei
nes in einen Regelvorgang einfließenden Meßwertes, reagiert
werden kann.
Wird während des zweiten Durchlaufes - also während des Ab
schnittes des Aufdatens, in dem der Transfer des Speicherin
haltes mittels der Aufdattasks T1A, T2A erfolgt - eine Auf
dattask T1A, T2A aufgrund des Überschreitens der Laufzeit
obergrenze t11, t21 terminiert, so wird der zweite Durchlauf
insgesamt abgebrochen und erneut - ggf. nach Verstreichen ei
ner vorgegebenen oder vorgebbaren "Relaxationszeit" von z. B.
einer Minute - gestartet.
Das Aufdaten gilt insgesamt nur dann als erfolgreich abge
schlossen, wenn während des zweiten Durchlaufes sämtliche
Aufdattasks T1A, T2A ohne Überschreitung der Laufzeitober
grenze t11, t21 abgearbeitet werden, also sich dadurch selbst
terminieren, dass sie ihr Programmende erreichen und in einem
abschließenden Schritt der Inhalt eines speziellen Speicher
bereiches, auf den das Anwenderprogramm während des Aufdatens
zugreift, transferiert wird.
Nunmehr erfolgt das Aufdaten des Backupautomatisierungsgerä
tes AG', indem zunächst der Inhalt des Speichers M des Auto
matisierungsgerätes AG sukzessive ausgelesen und durch Ein
schreiben in den Speicher M' des Backupautomatisierungsgerä
tes AG' an dieses übertragen wird. Dieser erste Durchlauf des
Aufdatvorganges ist in Fig. 6 dargestellt.
Gemäß Fig. 6 wird der Inhalt des Speichers M sukzessive ausge
lesen und in den Speicher M' des Backupautomatisierungsgerä
tes AG' übertragen. Dies ist durch den strichliniert oder
durchgehend umrandeten Ausschnitt des Speichers M angedeutet.
Die Übertragung erfolgt über die zwischen Automatisierungsge
rät AG und Backupautomatisierungsgerät AG' vorgesehene kommu
nikative Verbindung B, z. B. einen Bus. Dies ist in Fig. 6
durch einen Pfeil angedeutet.
Mit diesem Schritt ist ein "Grunddatenbestand" an das Backup
automatisierungsgerät AG' übertragen. Dieser Grunddatenbe
stand umfaßt z. B. das auf dem Automatisierungsgerät AG ablau
fende Anwenderprogramm sowie das sogenannte Peripherie- oder
Prozeßabbild des technischen Prozesses TP und ferner evtl.
gewisse nicht ständiger Veränderung unterworfene Daten (z. B.
Betriebsparameter, Rezeptdaten, etc.) des Anwenderprogramms.
Da während des Aufdatens - also auch während der Übertragung
des "Grunddatenbestandes" - die Führung des technischen Pro
zesses TP durch das Automatisierungsgerät AG unverändert auf
rechterhalten wird, finden kontinuierliche Veränderungen des
Inhalts des Speichers M statt. Diese Veränderungen im Spei
cher M sind in Fig. 6 durch die ausgekreuzten Bereiche im
Speicher M dargestellt.
Beim Transfer des "Grunddatenbestandes" werden alle Verände
rungen, die "vor" dem Abschnitt, der gerade ausgelesen und
transferiert wird, berücksichtigt, da der Abschnitt, in dem
diese Veränderungen aufgetreten sind, genau wie alle vorheri
gen Abschnitte ausgelesen und komplett transferiert wird. In
Fig. 6 ist dies ein Bereich, der vor dem gerade transferierten
Bereich liegt. Die weiteren drei in Fig. 6 dargestellten ver
änderten Bereiche konnten bei der Übertragung des Grunddaten
bestandes nicht berücksichtigt werden, da die entsprechenden
Veränderungen erst wirksam wurden, nachdem die Inhalte der
betreffenden Abschnitte übertragen worden sind. Ein mehrmali
ges Wiederholen des Transfers des Grunddatenbestandes in der
beschriebenen Art und Weise bringt hier keinen besseren Er
folg, da die Veränderungen im Speicher M kontinuierlich, aber
nicht deterministisch erfolgen.
Als ergänzender Aufdatdurchlauf, der in der Lage ist, auch
während des Aufdatens erfolgende Änderungen des Inhalts des
zu transferierenden Speichers M zu berücksichtigen, wird
jetzt ein Durchlauf mit einer jeder Task T1, T2 des Anwender
programms zugeordneten Aufdattask T1A, T2A gestartet.
Wie aus Fig. 7 ersichtlich ist, greift eine Task T1, T2 nicht
auf den gesamten Speicher M, sondern nur auf einen Ausschnitt
M1, M2 des Speichers M des Automatisierungsgerätes AG zu. Der
Ausschnitt M1, M2, auf den die jeweilige Task T1, T2 zu
greift, wird von der jeweils zugeordneten Aufdattask T1A, T2A
sukzessive - in einer dem Transfer des Grunddatenbestandes im
ersten Aufdatdurchlauf vergleichbaren Weise - ausgelesen (an
gedeutet durch die unterschiedlich umrandeten Bereiche im je
weiligen Ausschnitt M1, M2) und in den (nicht dargestellten)
Speicher M' des Backupautomatisierungsgerätes AG' übertragen.
Dabei werden zusätzliche Positionsinformationen herangezogen,
die die Position eines gerade gelesenen Bereiches eines Aus
schnittes M1, M2 bezogen auf den Speicher M angeben und mit
denen gewährleistet wird, dass der Inhalt des gerade gelese
nen Bereiches auch im Speicher M' an entsprechende Adressen
geschrieben wird.
Auch wenn mittels der Aufdattask T1A, T2A der Transfer des
Inhalts des Teils des Speichers M1, M2, auf den die jeweilige
Task T1, T2 zugreift, grundsätzlich sukzessive erfolgt, er
folgt dieser sukzessive Transfer innerhalb eines Aufrufes der
Aufdattask T1A, T2A. Im Programmcode der Aufdattask TIA, T2A
kann auch vorgesehen sein, daß der Transfer des Inhalts des
Speicherausschnittes M1, M2 vollständig mit einem Lese- und
einem Schreibvorgang erfolgt.
Damit die Aufdattask T1A, T2A in die Lage versetzt wird, aus
schließlich den Inhalt des Teils des Speichers M1, M2, auf
den die jeweilige Task T1, T2 zugreift, zu transferieren,
sind innerhalb der Aufdattask T1A, T2A Parameter zur Kenn
zeichnung des jeweiligen Speicherausschnittes M1, M2 - übli
cherweise als Offset und Größe oder auch als Start- und End
adresse - bekannt. Diese Parameter können beim Programmieren
mit den jeweiligen Werten belegt werden.
Alternativ ist auch ein Verfahren denkbar, bei dem für jede
Task T1, T2 deren Zugriffe auf den Speicher M in einem Proto
kollspeicher T1M, T2M protokolliert werden und die Aufdattask
T1A, T2A denjenigen Teil des Speichers M1, M2 transferiert,
der anhand des Inhalts des jeweiligen Protokollspeichers TiM,
T2M als zu transferieren erkennbar ist. Dies vermeidet das
ggf. fehlerträchtige Erfordernis, die Parameter für den zu
berücksichtigenden Speicherausschnitt M1, M2 beim Programmie
ren festlegen zu müssen und hat zudem den Vorteil, daß die
Aufdattask T1A, T2A nicht den gesamten Inhalt des Speicher
ausschnittes M1, M2 transferieren muß, sondern nur denjenigen
Teil, der tatsächlich verändert wurde.
Mit der schematischen Darstellung des Protokollspeichers T1M,
T2M in Fig. 6 ist veranschaulicht, dass der Protokollspeicher
T1M, T2M außerhalb des Speichers M liegt, dessen Inhalt an
das redundante Automatisierungsgerät AG' zu übertragen ist,
zumal ein Transfer des Inhalt des Protokollspeichers T1M, T2M
nicht erforderlich ist. Der Protokollspeicher T1M, T2M wird
als Teil des Speichers M realisiert sein, so daß die aus in
Fig. 6 vorgenommene Trennung zwischen Speicher M und Proto
kollspeicher T1M, T2M nur der Übersichtlichkeit dient. Der zu
transferierende Bereich des Speichers M wird dann durch eine
Start- und Endadresse oder eine Startadresse und ein ab die
ser Startadresse zu übertragendes Datenvolumen angegeben.
Nicht zu transferierende Speicherinhalte, wie z. B. die In
halte der besagten Protokollspeicher T1M, T2M, können dann
außerhalb des auf diese Weise vorgesehenen Bereiches liegen.
Wenn während des zweiten Aufdatdurchlaufes keine der Aufdat
tasks T1A, T2A aufgrund des Überschreitens der Laufzeitober
grenze t11, t21 terminiert wird, gilt das Aufdaten - vorbe
haltlich des noch abzuwickelnden Transfers des Inhalts des
speziellen Speicherbereiches, auf den das Anwenderprogramm
während des Aufdatens zugreift, - als erfolgreich beendet.
Der Inhalt des Speichers M' des Backupautomatisierungsgerätes
AG' entspricht dem Inhalt des Speichers M des Automatisie
rungsgerätes AG.
Durch ein Signal vom Automatisierungsgerät AG an das Backup
automatisierungsgerät AG' kann diesem angezeigt werden, daß
das Aufdaten erfolgreich abgeschlossen ist. Wenn im Backup
automatisierungsgerät AG' daraufhin die Kopie des Anwender
programms gestartet wird und das Backupautomatisierungsgerät
AG' aufgrund der Kopie des Anwenderprogramms identische Ak
tionen ausführt wie das Automatisierungsgerät AG' bleibt die
Identität der Daten weiterhin gewährleistet. Somit kann das
Backupautomatisierungsgerät AG', z. B. im Falle eines notwen
dig werdenden Austausches des Automatisierungsgerätes AG, so
fort die Führung des technischen Prozesses TP übernehmen.
Der Transfer der Inhalte der jeweiligen Speicherausschnitte
M1, M2 mittels der Aufdattasks erweist sich als vorteilhaft,
weil eine Veränderung der Inhalte der Speicherausschnitte nur
während der Laufzeit der jeweiligen Tasks T1, T2, nicht je
doch während der Laufzeit der Aufdattasks T1A, T2A möglich
ist. Die Aufdattasks T1A, T2A können daher die Inhalte der
jeweiligen Speicherausschnitte M1, M2 stets komplett transfe
rieren, so dass am Ende der Aufdattask T1A, T2A sicherge
stellt ist, dass der Inhalt des jeweiligen Speicherausschnit
tes M1, M2 komplett übertragen wurde, ohne dass zwischenzeit
liche Änderungen im Inhalt dieses Speicherausschnittes einen
erneuten Transfer erforderlich machen würden.
Nachfolgend wird ein Sonderfall beschrieben, der aus den bis
herigen Ausführungen, insbesondere im Zusammenhang mit Fig. 3,
ersichtlich ist. Gemäß Fig. 3 wird - ausgehend vom Zeitpunkt
t + 0 ms - die Aufdattask T1A zweimal aufgerufen und komplett
ausgeführt, bevor die Aufdattask T2A das erste mal aufgerufen
wird. Nachdem das Aufdaten (im wesentlichen) als erfolgreich
ausgeführt gilt, wenn sämtliche Aufdattasks T1A, T2A komplett
ausgeführt werden konnten, muß die Tatsache der kompletten
Ausführung der jeweiligen Aufdattasks T1A, T2A abgespeichert
werden. In der Konstellation gemäß Fig. 3 würde für die Auf
dattask T1A etwa im Zeitpunkt t + 125 ms ein "'flag" gesetzt, das
die komplette Ausführung der Aufdattask T1A kennzeichnet. Im
Zeitpunkt t + 250 ms würde ein entsprechendes flag für die Auf
dattasks T2A gesetzt. Da keine weiteren Aufdattasks T1A, T2A
vorhanden sind, gilt der Aufdatdurchlauf damit als erfolg
reich beendet. Der zweite Aufdatdurchlauf ist etwa im Zeit
punkt t + 250 ms abgeschlossen. Ein nochmaliges Starten der Auf
dattasks T1A, T2A ist nicht erforderlich, auch wenn dies in
Fig. 3, 4 und 5 entsprechend dargestellt ist.
Eine eine Sonderbehandlung erfordernde Konstellation tritt
allerdings dann auf, wenn vor Beendigung des zweiten Aufdat
durchlaufes eine Aufdattask T1A, T2A nach einem einmal er
folgten kompletten Durchlauf erneut gestartet wird. Eine der
artige Konstellation ist in Fig. 5 dargestellt. Im Zeitpunkt
t + 125 ms ist die Aufdattask T1A abgearbeitet und ein entspre
chendes flag würde gesetzt. Im Zeitpunkt t + 250 ms wird - weil
der zweite Aufdatdurchlauf noch nicht abgeschlossen ist - die
erneut aufgerufene Aufdattask T1A terminiert, da die vorgege
bene Laufzeitobergrenze t1l überschritten wird. Im Zeitpunkt
t + 275 ms wird für die dann abgearbeitete Aufdattask T2A das
entsprechende flag gesetzt.
Auch hier wären beide flags gesetzt, nämlich für die Aufdat
tasks T1A von deren erstmaligem Aufruf und für die Aufdat
tasks T2A von deren einzigem Aufruf, und der Aufdatdurchlauf
müßte damit als erfolgreich abgeschlossen gelten. Tatsächlich
wurde allerdings die Aufdattask T1A terminiert, bevor diese
den Inhalt des gesamten Ausschnittes M1 des Speichers M, auf
den die zugehörige Task T1 zugreift, transferieren konnte. Es
sind also eventuell nicht sämtliche Änderungen im Speicher
ausschnitt M1 transferiert worden, so daß das Aufdaten in ei
ner solchen Konstellation nicht als abgeschlossen gelten
kann.
Die erforderliche Sonderbehandlung läßt sich jedoch einfach
damit erreichen, dass das der jeweiligen Aufdattask T1A, T2A
zugeordnete flag bei jedem neuen Aufruf derjenigen Task T1,
T2, der die jeweilige Aufdattask T1A, T2A zugeordnet ist, zu
rückgesetzt wird. Für die oben beschriebene Konstellation be
deutet dies, dass das flag der Aufdattask T1A zum Zeitpunkt
t + 12 ms gesetzt und zum Zeitpunkt t + 200 ms zurückgesetzt wird.
Auch wenn jetzt im Zeitpunkt t + 275 ms das flag der Aufdattask
T2A gesetzt wird, gilt das Aufdaten nicht als abgeschlossen,
da das flag der Aufdattask T1A fehlt. Tatsächlich gilt das
Aufdaten erst zum Zeitpunkt t + 375 ms als abgeschlossen, d. h.
zum frühesten Zeitpunkt, zu dem erstmalig das flag der Auf
dattask T1A wieder gesetzt ist, das flag der Aufdattask T2A
aber noch nicht wieder zurückgesetzt ist.
Für den Fall, daß gemäß der oben bereits beschriebenen vor
teilhaften Ausgestaltung der Erfindung der Protokollspeicher
T1M, T2M zur Anwendung kommt, ist nach jeder kompletten Aus
führung einer Aufdattask T1A, T2A der Inhalt des jeweiligen
Protokollspeichers T1M, T2M zurückzusetzen oder als ungültig
zu markieren.
Ein weiterer Aspekt der Erfindung beschäftigt sich mit der
Situation, bei der eine spezielle Task, eine für spezielle
Fehlerbehandlungen bzw. Fehlerreaktionen vorgesehene F-Task,
mit niedriger Priorität durch die Summe der Laufzeiten der
Aufdattasks T1A, T2A nicht mehr in dem eigentlich vorgesehe
nen festen Zeitraster ausgeführt werden kann, da aufgrund der
niedrigen Priorität der F-Task lauffähige Tasks T1, T2 mit
höherer Priorität und deren zugeordnete Aufdattasks T1A, T2A
"bevorzugt" ausgeführt werden.
Für eine solche Konstellation ist gemäß dieses Aspektes vor
gesehen, daß die Aufdattask T1A, T2A einer Task T1, T2 mit
höherer Priorität, vorzugsweise die Aufdattask T1A derjenigen
Task T1 mit der höchsten Priorität vor ihrer eigenen Ausfüh
rung kurzfristig die Priorität der F-Task auf einen Wert, der
deren sofortige Ausführung - unter entsprechender Verdrängung
der Aufdattask T1A - zur Folge hat, setzt. Auf diese Weise
wird gewährleistet, dass auch beim Aufdaten das Reaktionsver
halten spezieller niederpriorer F-Task vorhersagbar bleibt,
da deren Aufruf durch die zusätzliche Ausführung der Aufdat
tasks T1A, T2A nicht länger als tolerierbar verzögert wird.
Somit ist ein Automatisierungsgerät mit einem taskorientier
ten Anwenderprogramm bereitgestellt, dessen Speicherinhalt
ohne Unterbrechung des Betriebs an ein redundantes Automati
sierungsgerät zu übertragen ist. Nach einem herkömmlichen
Transfer eines Grunddatenbestandes erfolgt der Transfer zwi
schenzeitlich geänderter Daten mittels den einzelnen Tasks
zugeordneter Aufdattasks, wobei die Aufdattasks nur denjeni
gen Ausschnitt des Speicherinhaltes übertragen, auf den die
jeweilige Task zugreift.
Claims (8)
1. Automatisierungsgerät (AG) zur Steuerung und/oder Überwa
chung eines technischen Prozesses (TP),
- - mit einem Speicher (M) zur Speicherung zumindest eines An wenderprogramms (T1) mit mindestens einer Task (T1, T2) so wie prozeß- und anwenderprogrammbezogener Daten,
- - wobei beim Ankoppeln eines redundanten Automatisierungsge rätes (AG') ein Transfer des Inhalts des Speichers (M) in einen Speicher (M') des redundanten Automatisierungsgerätes (AG') erfolgt,
- - dass jeder Task (T1, T2) zum Transfer des Inhalts eines Teils (M1, M2) des Speichers (M), auf den die jeweilige Task (T1, T2) zugreift, eine Aufdattask (T1A, T2A) zugeord net ist, und
- - dass eine Terminierung der Aufdattask (T1A, T2A) erfolgt, wenn die Laufzeit von Task (T1, T2) und Aufdattask (T1A, T2A) eine vorgegebene oder vorgebbare Laufzeitobergrenze (t1l, t2l) überschreitet.
2. Automatisierungsgerät nach Anspruch 1, bei dem für jede
Task (T1, T2) eine Protokollierung der jeweiligen Zugriffe
auf den Speicher (M) in einem Protokollspeicher (T1M, T2M)
erfolgt, wobei mittels der Aufdattask (T1A, T2A) der Transfer
desjenigen Teils (M1, M2) des Speichers (M) erfolgt, der an
hand des Inhalts des jeweiligen Protokollspeichers (T1M, T2M)
als zu transferieren erkennbar ist.
3. Automatisierungsgerät nach Anspruch 1 oder 2, bei dem der
Aufdattask (T1A, T2A) eine höhere Priorität zugewiesen ist,
als derjenigen Task (T1, T2), der die jeweilige Aufdattask
(T1A, T2A) zugeordnet ist.
4. Verfahren zum Aufdaten eines mit einem Automatisierungsge
rät (AG) kommunikativ verbundenen redundanten Automatisie
rungsgerätes (AG') während der Steuerung und/oder Überwachung
eines technischen Prozesses (TP), wobei jedes Automatisie
rungsgerät (AG, AG') jeweils einen Speicher (M, M') aufweist,
wobei im Speicher (M) des Automatisierungsgerätes (AG) zumin
dest ein Anwenderprogramm (T1) mit mindestens einer Task (T1,
T2) sowie prozeß- und anwenderprogrammbezogene Daten gespei
chert sind, und wobei in einem ersten Aufdatdurchlauf ein
sukzessiver Transfer des Inhalts des Speichers (M) des Auto
matisierungsgerätes (AG) in den Speicher (M') des redundanten
Automatisierungsgerätes (AG') erfolgt, dadurch
gekennzeichnet, dass in einem zweiten Aufdat
durchlauf mittels einer der jeweiligen Task (T1, T2) zugeord
neten Aufdattask (T1A, T2A) der Inhalt des Teils (M1, M2) des
Speichers (M), auf den die Task (T1, T2) zugreift, in den
Speicher (M') des redundanten Automatisierungsgerätes (AG')
transferiert wird, wobei die Aufdattask (T1A, T2A) terminiert
wird, wenn die Laufzeit von Task (T1, T2) und Aufdattask
(T1A, T2A) eine vorgegebene oder vorgebbare Laufzeitober
grenze (t11, t21) überschreitet.
5. Verfahren nach Anspruch 4, dadurch
gekennzeichnet, dass jeder Zugriff einer Task
(T1, T2) auf den Speicher (M) protokolliert wird und die Auf
dattask (TIA, T2A) den anhand der Protokollierung als zu
transferierenden erkennbaren Teil (M1, M2) des Speichers (M)
transferiert.
6. Verfahren nach Anspruch 4 oder 5, dadurch
gekennzeichnet, dass der Aufdattask (T1A, T2A)
eine höhere Priorität zugewiesen wird, als derjenigen Task
(T1, T2), der die jeweilige Aufdattask (T1A, T2A) zugeordnet
ist.
7. Verfahren nach einem der Ansprüche 4 bis 6, dadurch
gekennzeichnet, dass der zweite Aufdatdurchlauf
neu gestartet wird, wenn eine Aufdattask (T1A, T2A) aufgrund
des Überschreitens der Laufzeitobergrenze (t1l, t2l) termi
niert wurde.
8. Verfahren nach Anspruch 7, dadurch
gekennzeichnet, dass der zweite Aufdatdurchlauf
nach Ablauf einer vorgegebenen oder vorgebbaren Relaxations
zeit neu gestartet wird.
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19956271A DE19956271A1 (de) | 1999-11-15 | 1999-11-23 | Automatisierungsgerät und Aufdat-Verfahren |
EP00989773A EP1238318B1 (de) | 1999-11-15 | 2000-11-14 | Automatisierungsgerät und aufdat-verfahren |
PCT/DE2000/004002 WO2001037058A1 (de) | 1999-11-15 | 2000-11-14 | Automatisierungsgerät und aufdat-verfahren |
JP2001539086A JP3754369B2 (ja) | 1999-11-15 | 2000-11-14 | 自動化装置および更新方法 |
ES00989773T ES2203549T3 (es) | 1999-11-15 | 2000-11-14 | Aparato de automatizacion y procedimiento de actualizacion. |
DE50002941T DE50002941D1 (de) | 1999-11-15 | 2000-11-14 | Automatisierungsgerät und aufdat-verfahren |
CNB008182191A CN1193281C (zh) | 1999-11-15 | 2000-11-14 | 自动化设备及更新方法 |
AT00989773T ATE245287T1 (de) | 1999-11-15 | 2000-11-14 | Automatisierungsgerät und aufdat-verfahren |
US10/130,117 US7168075B1 (en) | 1999-11-15 | 2000-11-14 | Automation device and updating method |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19955073 | 1999-11-15 | ||
DE19956271A DE19956271A1 (de) | 1999-11-15 | 1999-11-23 | Automatisierungsgerät und Aufdat-Verfahren |
Publications (1)
Publication Number | Publication Date |
---|---|
DE19956271A1 true DE19956271A1 (de) | 2001-06-07 |
Family
ID=7929203
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19956271A Withdrawn DE19956271A1 (de) | 1999-11-15 | 1999-11-23 | Automatisierungsgerät und Aufdat-Verfahren |
DE50002941T Expired - Lifetime DE50002941D1 (de) | 1999-11-15 | 2000-11-14 | Automatisierungsgerät und aufdat-verfahren |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE50002941T Expired - Lifetime DE50002941D1 (de) | 1999-11-15 | 2000-11-14 | Automatisierungsgerät und aufdat-verfahren |
Country Status (1)
Country | Link |
---|---|
DE (2) | DE19956271A1 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1302826A1 (de) * | 2001-09-27 | 2003-04-16 | Siemens Aktiengesellschaft | Synchronisationsverfahren für ein hochverfügbares Automatisierungssystem |
EP1860514A1 (de) | 2006-05-26 | 2007-11-28 | Siemens Aktiengesellschaft | Anordnung mit mindestens zwei über Kommunikationsmittel verbundenen Automatisierungsgeräten |
-
1999
- 1999-11-23 DE DE19956271A patent/DE19956271A1/de not_active Withdrawn
-
2000
- 2000-11-14 DE DE50002941T patent/DE50002941D1/de not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1302826A1 (de) * | 2001-09-27 | 2003-04-16 | Siemens Aktiengesellschaft | Synchronisationsverfahren für ein hochverfügbares Automatisierungssystem |
EP1526420A1 (de) * | 2001-09-27 | 2005-04-27 | Siemens Aktiengesellschaft | Synchronisationsverfahren für ein hochverfügbares Automatisierungssystem |
EP1860514A1 (de) | 2006-05-26 | 2007-11-28 | Siemens Aktiengesellschaft | Anordnung mit mindestens zwei über Kommunikationsmittel verbundenen Automatisierungsgeräten |
Also Published As
Publication number | Publication date |
---|---|
DE50002941D1 (de) | 2003-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1238318B1 (de) | Automatisierungsgerät und aufdat-verfahren | |
DE19836347C2 (de) | Fehlertolerantes Computersystem | |
DE3854594T2 (de) | Programmierbare Steuerung mit parallelen Prozessoren. | |
EP3538960B1 (de) | Ablaufsteuerung von programmmodulen | |
EP0636956B1 (de) | Aufdatverfahren | |
EP2067081B1 (de) | Verfahren zum synchronisieren zweier steuereinrichtungen und redundant aufgebaute automatisierungsvorrichtung | |
DE112011103443T5 (de) | Intelligente Schnittstelle für ein dezentrales Steuerungssystem | |
EP0807883A2 (de) | Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen | |
DE19744071A1 (de) | Eine programmierbare Logiksteuervorrichtung verwendendes Steuerungssystem | |
EP2732347A1 (de) | Verfahren und system zur dynamischen verteilung von programmfunktionen in verteilten steuerungssystemen | |
EP0360135B1 (de) | Verfahren zur Interruptverarbeitung in einer Datentverarbeitungsanlage | |
EP3396479B1 (de) | Engineering-system | |
DE69122001T2 (de) | Integrierte Schaltung mit einer Standardzelle, einer Anwendungszelle und einer Prüfzelle | |
EP2090948B1 (de) | Verfahren zum Betrieb eines Automatisierungssystems | |
EP2615511A1 (de) | Verfahren zur synchronen Ausführung von Programmen in einem redundanten Automatisierungssystem | |
DE19956271A1 (de) | Automatisierungsgerät und Aufdat-Verfahren | |
EP0525214B1 (de) | Verfahren zum Betreiben eines Automatisierungsgeräts | |
EP0499213A2 (de) | Modular strukturiertes ISDN-Kommunikationssystem | |
WO1996020442A1 (de) | Responsives system zur signalverarbeitung sowie verfahren zur herstellung eines responsiven systems | |
EP0584512B1 (de) | Verfahren zum zeitlichen Überwachen einer Programmabarbeitung | |
DE102008023873A1 (de) | Verfahren zum Betrieb eines Antriebssystems | |
DE102016121542A1 (de) | Ablaufsteuerung von Programmmodulen | |
WO2003046673A1 (de) | Engineeringsystem und automatisierungssystem | |
EP1536328A2 (de) | Datenverarbeitungssystem mit automatisierbarer Verwaltung und Verfahren zur automatisierten Verwaltung eines Datenverarbeitungssystems | |
DE102005039771B3 (de) | Einheit zur Verwaltung von Echtzeitprozessen ohne asynchrone Unterbrechungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8130 | Withdrawal |