DE4205372C2 - Verfahren zum Laden von geänderten Programmteilen in eine programmierbare Steuerung - Google Patents
Verfahren zum Laden von geänderten Programmteilen in eine programmierbare SteuerungInfo
- Publication number
- DE4205372C2 DE4205372C2 DE4205372A DE4205372A DE4205372C2 DE 4205372 C2 DE4205372 C2 DE 4205372C2 DE 4205372 A DE4205372 A DE 4205372A DE 4205372 A DE4205372 A DE 4205372A DE 4205372 C2 DE4205372 C2 DE 4205372C2
- Authority
- DE
- Germany
- Prior art keywords
- program
- management table
- changed
- programmable controller
- control
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Programmable Controllers (AREA)
- Stored Programmes (AREA)
Description
Die Erfindung betrifft ein Verfahren zum Laden von geänderten
Programmteilen in eine programmierbare Steuerung gemäß Oberbegriff
des Patentanspruchs 1.
Fig. 1 ist ein Blockschaltbild der konventionellen program
mierbaren Steuerung gemäß der JP-OS 2-125 360. Dabei be
zeichnet 1 ein Bestandspflege-Tool, das zum Entwickeln und
zur Bestandspflege von Steuerinformationen wie etwa Steuer
programmen, Steuerdaten und einer zur Operation einer pro
grammierbaren Steuerung 2 notwendigen Startmanagementtabelle
dient; und 1a bezeichnet eine Festplatteneinheit, die die
Steuerinformationen enthält. Jede programmierbare Steuerung 2
hat einen Arbeitsspeicher 3, der seinerseits eine Programm
kennzeichen- bzw. Programm-ID-Managementtabelle 3a, einen
Startmanagementtabellen-Speicherbereich 3b, einen Steuerpro
grammspeicherbereich 3c und einen Steuerdatenspeicherbereich
3d aufweist. Die Programm-ID-Managementtabelle 3a enthält ge
speicherte Managementinformationen über den Status der Steu
erprogrammausführung sowie die Adressen der die Steuerinfor
mationen enthaltenden Bereiche, d. h. Adressen des Start
managementtabellen-Speicherbereichs 3b, des Steuerprogramm
speicherbereichs 3c und des Steuerdatenspeicherbereichs 3d.
Der Startmanagementtabellen-Speicherbereich 3b speichert
Bedingungen zum Starten von Steuerprogrammen. Der Steuer
programmspeicherbereich 3c speichert die Steuerprogramme. Der
Steuerdatenspeicherbereich 3d speichert die Steuerdaten für
die Steuerprogramme. 4 in Fig. 1 bezeichnet ferner eine Ände
rungsanforderungs-Überwachungseinheit, die prüft, ob von dem
Bestandspflege-Tool 1 irgendwelche neuen Steuerinformationen
ausgegeben werden und, wenn solche neuen Steuerinformationen
empfangen werden, einen Scheduler 8 informiert. 5 ist eine
Programmladeausführungseinheit, die neue Steuerinformationen
vom Bestandspflege-Tool 1 empfängt und bei Empfang eines Aus
führungsbefehls von dem Scheduler 8 die neuen Steuerinfor
mationen in den Bereich lädt, der durch die in der Programm-
ID-Managementtabelle 3a gespeicherten Adressen bezeichnet
ist. 6 ist eine Startbedingungsüberwachungseinheit, die nach
einem ausführbaren Steuerprogramm auf der Basis der Manage
mentinformationen sucht, die in der Programm-ID-Management
tabelle 3a gespeichert sind, den Startmanagementtabellen-
Speicherbereich 3b auf die Bedingung zum Starten des aus führ
baren Steuerprogramms prüft und dem Scheduler 8 einen Pro
grammstartbefehl zum Starten dieses Programms zuführt, wenn
die Bedingung zum Starten erfüllt ist. 7 ist eine Steuerpro
grammausführungseinheit, die das Steuerprogramm ausführt,
wenn sie von dem Scheduler 8 den Startbefehl dafür empfängt.
8 bezeichnet den Scheduler, der die Programmladeausführungs
einheit 5 und die Steuerprogrammausführungseinheit 7 steuert.
9 ist eine von der Steuerprogrammausführungseinheit 7 zu
steuernde Zielvorrichtung. 10 bezeichnet einen Systembus, der
eine Vielzahl von programmierbaren Steuerungen 2 miteinander
verbindet.
Unter Bezugnahme auf das Flußdiagramm von Fig. 2 wird nun
beschrieben, wie jede programmierbare Steuerung gemäß Fig. 1
arbeitet. In Schritt ST1 detektiert die Änderungsanforde
rungsüberwachungseinheit neue Steuerinformationen vom War
tungswerkzeug 1. In Schritt ST2 informiert die Änderungsan
forderungsüberwachungseinheit 4 den Scheduler 8 bezüglich der
Detektierung der neuen Steuerinformationen, und die Programm
ladeausführungseinheit 5 akzeptiert diese Informationen. In
Schritt ST3 startet der Scheduler 8 die Programmladeaus
führungseinheit 5, indem er einen Planungsablauf ausführt,
der noch unter Bezugnahme auf Fig. 3 beschrieben wird. In
Schritt ST4 prüft die Programmladeausführungseinheit 5, ob
das zu ändernde Steuerprogramm gerade ausgeführt wird oder
ausführbar ist, und zwar nach Maßgabe der Managementinfor
mationen in der Programm-ID-Managementtabelle 3a. Wenn das zu
ändernde Steuerprogramm als gerade in der Ausführung begrif
fen oder ausführbar festgestellt wird (siehe Programm-ID "A"
bis "C" in Fig. 4), wird Schritt STS erreicht. In Schritt STS
wird das betreffende Steuerprogramm dadurch angehalten, daß
der Inhalt der Managementinformationen in der Programm-ID-
Managementtabelle 3a in den Stoppzustand überschrieben wird.
In Schritt ST6 lädt die Programmladeausführungseinheit 5 neue
Steuerinformationen in den Bereich, der von den in der Pro
gramm-ID-Managementtabelle angeordneten Adressen bezeichnet
ist (z. B. Adressen, die auf ein Steuerprogramm 1000, Steuer
daten 2000 und die Startmanagementtabelle 800 zeigen, wenn
das zu ändernde Programm A ist). In Schritt ST7 wird der
Inhalt der Managementinformationen ausführbar gemacht. Damit
ist die gesamte Operation der Steuerung beendet.
Unter Bezugnahme auf das Flußdiagramm von Fig. 3 wird nun
erläutert, wie der Scheduler 8 den Planungsablauf ausführt.
In Schritt ST11 prüft die Startbedingungsüberwachungseinheit
6 die Startmanagementtabelle 3b in bezug auf die Bedingung
zum Starten des ausführbaren Steuerprogramms und liefert
jedesmal, wenn die anwendbare Startbedingung erfüllt ist,
einen Steuerprogrammstartbefehl an den Scheduler 8. In
Schritt ST12 gibt das Bestandspflege-Tool 1 neue Steuerinfor
mationen aus. Nach Detektieren dieser neuen Steuerinformatio
nen (in Schritt ST13) gibt die Änderungsanforderungsüber
wachungseinheit 4 ihrerseits einen Programmladeausführungs
einheit-Startbefehl an den Scheduler 8 aus. In Schritt ST14
prüft der Scheduler 8, ob er von der Startbedingungsüberwa
chungseinheit 6 einen Steuerprogrammstartbefehl erhalten hat.
Wenn ja, geht der Scheduler 8 zu Schritt ST15 weiter und
prüft, ob die Programmladeausführungseinheit 5 aktiviert ist.
Wenn festgestellt wird, daß die Programmladeausführungsein
heit 5 arbeitet, wird Schritt ST16 erreicht, in dem die
Programmladeausführungseinheit 5 angehalten wird. In Schritt
ST17 wird die Steuerprogrammausführungseinheit 7 aktiviert.
Wenn in Schritt ST14 festgestellt wird, daß der Scheduler 8
keinen Steuerprogrammstartbefehl von der Startbedingungs
überwachungseinheit 6 erhalten hat, wird Schritt ST18 er
reicht. In Schritt ST18 wird geprüft, ob die Programmladeaus
führungseinheit 5 einen Programmladeausführungsbefehl erhal
ten hat. Wenn in Schritt ST18 festgestellt wird, daß die
Programmladeausführungseinheit 5 einen solchen Befehl er
halten hat, wird Schritt ST19 erreicht, in dem die Einheit
aktiviert oder nach einer Unterbrechung reaktiviert wird. Das
bedeutet, daß der Scheduler gleichzeitig mit der Ausführung
des Ablaufverfahrens die Steuerprogrammausführungseinheit 7
vorrangig vor der Programmladeausführungseinheit 5 aktiviert.
Fig. 4 zeigt einen typischen Aufbau der Programm-ID-Manage
menttabelle 3a. In Fig. 4 enthält diese Tabelle 3a beispiels
weise fünf Programm-IDs (wobei dies keine Einschränkung be
deuten soll). Ein Programm-ID besteht aus einem Programm-ID-
Ausführungszustand (Managementinformation) und einer Start
adreßliste. Der Ausführungszustand ist jeweils einer der
folgenden Zustände: "in Ausführung", "ausführbar", "unter
brochen" und "undefiniert". Eine Startadreßliste umfaßt bei
spielsweise eine Steuerprogrammstartadresse, eine Steuerda
tenstartadresse und eine Startmanagementtabellen-Startadres
se. Ursprünglich ist der Ausführungszustand "undefiniert",
und die Startadreßliste weist ihr bereits zugeteilte geeig
nete Startadressen auf.
Fig. 5 zeigt den typischen Aufbau der Startmanagementtabelle
3b, die jedem Programm-ID zugeordnet ist. Eine Startmanage
menttabelle enthält beispielsweise ein Startzyklus-ID und
Vor-Ausführungs-Programm-ID. Ein Startzyklus bezeichnet Zeit
intervalle, in denen das anwendbare Steuerprogramm zu starten
ist. Ein Vor-Ausführungs-Programm-ID bedeutet, daß das an
wendbare Steuerprogramm zu starten ist, wenn die Ausführung
eines bestimmten Programms beendet ist.
Die bekannte programmierbare Steuerung mit dem oben be
schriebenen Aufbau muß das momentan in Ausführung befindliche
oder ausführbare Steuerprogramm stoppen, wenn eine Anforde
rung zum Ersetzen der momentanen Steuerinformationen durch
neue Informationen erfolgt. Insbesondere muß bei der bekann
ten programmierbaren Steuerung die gesteuerte Zieleinrichtung
angehalten werden, während die Informationen ersetzt werden.
Aus Zilker, "Praxis des Multitasking", Franzis-Verlag GmbH,
München, 1987, Seiten 16 bis 27, ist es bekannt, wie mehrere
Programme oder mehrere Teile eines größeren Programms zeit
lich parallel von einem einzigen Computersystem bearbeitet
werden können. Die dort erläuterte Multitasking-Betriebsart
stellt eine Art Hintergrundverarbeitung dar, weil die betref
fende CPU einen Anteil der zu einem bestimmten Zeitpunkt an
fallenden Aufgaben ohne Bildschirmanzeige im Hintergrund er
ledigt.
Darüber hinaus wurde in der Zeitschrift "Design & Elektro
nik", Ausgabe 25 vom 12.12.1989, Seiten 102-104 von J.
Schweizer ein Entwicklungssystem vorgestellt, das als Hilfs
mittel, z. B. für die Softwareentwicklung für speicherpro
grammierbare Steuerungen, eingesetzt werden kann. Ein derar
tiges Entwicklungssystem ist ein ganz spezielles Computer
system zur Erstellung von Hard- und Software. Es dient bei
spielsweise dazu, ein konkretes Steuerprogramm für einen Com
puter zu entwickeln, wobei dieses Steuerprogramm selbst nicht
vom Entwicklungssystem ausgeführt wird, sondern das Programm
für den betreffenden Computer ist. Das Entwicklungssystem
dient daher zum Test für die später anderenorts einzusetzende
Software. Entwicklungssysteme sind mit einer Vielzahl von
Anzeigemöglichkeiten und Verbindungen zum Anschluß von
peripheren Geräten versehen. Sie verfügen deshalb, da sie
universell einsetzbar sein sollen, über Komponenten, die in
dem System, für das die Software eigentlich entwickelt werden
soll, gar nicht vorhanden sind bzw. sein müssen. Die Über
tragung von Komponenten eines Entwicklungssystems zur
Änderung von Programmen für eine programmierbare Steuerung
wird daher bereits aus Kostengründen ausscheiden.
Es ist daher Aufgabe der Erfindung, ein Verfahren zum Laden
von geänderten Programmen oder Programmteilen von einem Be
standspflege-Tool in eine programmierbare Steuerung, während
diese eine Zielvorrichtung steuert, anzugeben, wobei nur
minimale Programmunterbrechungen notwendig sind und das Stop
pen oder Anhalten der gesteuerten Zielvorrichtung nicht not
wendig wird.
Die Lösung der Aufgabe der Erfindung erfolgt mit einem Gegen
stand gemäß dem Patentanspruch 1, wobei die Unteransprüche
mindestens zweckmäßige Ausgestaltungen und Weiterbildungen
umfassen.
Die Erfindung wird nachstehend
anhand der Beschreibung von Ausfüh
rungsbeispielen und unter Bezugnahme auf die beiliegenden
Zeichnungen näher erläutert. Die Zeichnungen zeigen in:
Fig. 1 ein Blockschaltbild einer typischen bekannten
programmierbaren Steuerung;
Fig. 2 ein Flußdiagramm, das die Arbeitsweise der pro
grammierbaren Steuerung von Fig. 1 beschreibt;
Fig. 3 ein Flußdiagramm, das zeigt, wie ein Scheduler der
gleichen programmierbaren Steuerung arbeitet;
Fig. 4 einen typischen Aufbau einer ID-Managementtabelle
zur Verwendung mit der gleichen programmierbaren
Steuerung;
Fig. 5 einen typischen Aufbau einer Startmanagementtabel
le, die jedem Programm-ID zugeordnet ist, zur Ver
wendung in der gleichen programmierbaren Steuerung;
Fig. 6 ein Blockschaltbild einer programmierbaren Steue
rung, die ein bevorzugtes Ausführungsbeispiel
darstellt;
Fig. 7 ein Flußdiagramm, das die Arbeitsweise der pro
grammierbaren Steuerung von Fig. 6 beschreibt;
Fig. 8 ein Flußdiagramm, das zeigt, wie ein Scheduler der
programmierbaren Steuerung von Fig. 6 arbeitet; und
Fig. 9 eine Reserviert-Tabelle zur Verwendung mit der pro
grammierbaren Steuerung von Fig. 6.
Ein bevorzugtes Ausführungsbeispiel wird nachstehend erläu
tert. Fig. 6 ist ein Blockschaltbild der programmierbaren
Steuerung. Diejenigen Teile in Fig. 6, die funktionsmäßig mit
den bereits beschriebenen bekannten identisch sind, sind mit
gleichen Bezugszeichen versehen und werden nicht erneut be
schrieben.
In Fig. 6 bezeichnet 3e eine Kurzzeit-ID-Managementtabelle
(Reserviert-Tabelle), die einem Bereich zugeordnet ist, der
von demjenigen verschieden ist, der durch in der Programm-ID-
Managementtabelle 3a gespeicherte Adressen bezeichnet ist;
die Kurzzeit-ID-Managementtabelle 3e enthält die Adressen,
die einen reservierten Bereich identifizieren, in dem neue
Steuerinformationen,. die die alten ersetzen, zu speichern
sind. 11 ist eine programmierbare Steuerung. 12 ist eine
Programmladeausführungseinheit, die neue Steuerinformationen
von dem Bestandspflege-Tool 1 empfängt und auf der Grundlage
der in der Programm-ID-Managementtabelle 3a enthaltenen
Managementinformationen den Zustand des zu ändernden Pro
gramms prüft. Wenn das entsprechende Programm sich in einem
Nichtausführungs- oder Nichtausführbarkeitszustand befindet,
lädt die Programmladeausführungseinheit 12 die neuen Steuer
informationen in den Bereich, der von den Adressen in der
Programm-ID-Managementtabelle 3a bezeichnet ist. Wenn sich
das Programm in einem Ausführungs- oder Ausführbarkeitszu
stand befindet, lädt die Programmladeausführungseinheit 12
die neuen Steuerinformationen in den reservierten Bereich,
der durch die in der Kurzzeit-ID-Managementtabelle 3e ent
haltenen Adressen bezeichnet ist. 13 ist eine Betriebszu
stands-Programm-ID-Zuordnungseinheit (Zuordnungseinheit), die
den Inhalt der in der Programm-ID-Managementtabelle 3a ent
haltenen Adressen unter Verwendung des Inhalts der Adressen
der Kurzzeit-ID-Managementtabelle 3e überschreibt, nachdem
die Programmladeausführungseinheit 12 die neuen Steuerinfor
mationen in den reservierten Bereich geladen hat. 14 ist ein
Scheduler, der die Steuerprogrammausführungseinheit, die
Programmladeausführungseinheit 12 und die Betriebszustands-
Programm-ID-Zuordnungseinheit 13 steuert.
Die Funktionsweise der programmierbaren Steuerung von Fig. 6
wird nachstehend unter Bezugnahme auf Fig. 7 beschrieben.
Wenn das Bestandspflege-Tool 1 neue Steuerinformationen aus
gibt, detektiert die Änderungsanforderungsüberwachungseinheit
4 das Auftreten der Informationen in Schritt ST21. In Schritt
ST22 informiert die Änderungsanforderungsüberwachungseinheit
4 den Scheduler 14 von der Detektierung, und die Programmla
deausführungseinheit 12 empfängt die neuen Steuerinfor
mationen.
In Schritt ST23 führt der Scheduler 14 seinen Planungsablauf
aus (der noch unter Bezugnahme auf Fig. 8 beschrieben wird),
um die Programmladeausführungseinheit 12 zu starten. In
Schritt ST24 prüft die Programmladeausführungseinheit 12, ob
das zu ändernde Steuerprogramm sich in einem Ausführungs-
oder Ausführbarkeitszustand befindet, und zwar auf der Basis
des Managementzustands der Programm-ID-Managementtabelle 3a.
Wenn das zu ändernde Programm sich nicht in einem Ausfüh
rungs- oder Ausführbarkeitszustand befindet (siehe Programm-
ID "D" in Fig. 4), wird Schritt ST25 erreicht. In Schritt
ST25 lädt die Programmladeausführungseinheit 12 die neuen
Steuerinformationen in den Bereich, der von den Adressen
bezeichnet ist, die in der Programm-ID-Managementtabelle 3a
enthalten sind. (Beispielsweise ist dieser Bereich durch eine
Steuerprogrammadresse 1300, eine Steuerdatenadresse 2300 und
eine Startmanagementtabellenadresse 860 für das Programm D
bezeichnet.) Auf Schritt ST25 folgt Schritt ST26, in dem der
Inhalt der Managementinformationen in einen ausführbaren
Zustand gebracht wird. Damit ist der Ablauf beendet.
Wenn in Schritt ST24 festgestellt wird, daß das zu ändernde
Programm sich in einem Ausführungs- oder Ausführbarkeitszu
stand befindet, wird Schritt ST27 erreicht (siehe Programm-
IDs "A", "B" und "C" in Fig. 4; dabei sei angenommen, daß das
zu ändernde Programm B ist). In Schritt ST27 lädt die Pro
grammladeausführungseinheit 12 die neuen Steuerinformationen
in den von den Adressen in der Kurzzeit-ID-Managementtabelle
3e bezeichneten Bereich. (Bei diesem Beispiel gibt es zwei
reservierte Bereiche, wie Fig. 9 zeigt. Da die Kurzzeit-ID
"F" bereits im Gebrauch und die Kurzzeit-ID "G" leer ist, ist
hier der durch die Kurzzeit-ID "G" bezeichnete Bereich, d. h.
der durch die Steuerprogrammadresse 1600, die Steuerdaten
adresse 2600 und die Startmanagementtabelle 920 identi
fizierte Bereich anwendbar.) Wenn das Laden beendet ist,
informiert die Programmladeausführungseinheit 12 den
Scheduler 14 entsprechend.
Bei Empfang eines Laden-beendet-Berichts von der Programm
ladeausführungseinheit 12 springt der Scheduler 14 in Schritt
ST28 ein und gibt an die Betriebszustands-Programm-ID-Zuord
nungseinheit 13 einen Startbefehl aus. Auf Schritt ST28 folgt
Schritt ST29, in dem die Zuordnungseinheit 13 den Inhalt der
in der Programm-ID-Managementtabelle 3a gehaltenen Adressen
(des Programm-ID "B") durch den Inhalt der in der Kurzzeit-
ID-Managementtabelle 3e gehaltenen Adressen (der Kurzzeit-ID
"G") ersetzt. Von den Adressen des Programm-ID "B", die in
der Programm-ID-Managementtabelle 3a gehalten sind, wird also
die Steuerprogrammadresse 1100 in 1600, die Steuerdatenadres
se 2100 in 2600 und die Startmanagementtabellenadresse 820 in
920 geändert.
Nach dieser Adressenänderung löscht die Zuordnungseinheit 13
den Zustand der Kurzzeit-ID-Managementtabelle 3e in Vorberei
tung der nächsten Abarbeitung.
Nachdem sich die neuen Steuerinformationen in dem Bereich be
finden, der durch die Adressen in der Programm-ID-Management
tabelle 3a bezeichnet ist, führt die Steuerprogrammausfüh
rungseinheit 7 ihren Betrieb nach Maßgabe dieser neuen
Steuerinformationen aus.
Unter Bezugnahme auf Fig. 8 wird nun beschrieben, wie der
Scheduler 14 seinen Planungsablauf durchführt. Die Start
bedingungsüberwachungseinheit 6 überwacht das ausführbare
Steuerprogramm daraufhin, ob die anwendbare Startbedingung,
die in der Startmanagementtabelle 3b enthalten ist, erfüllt
ist. Jedesmal, wenn eine solche Startbedingung erfüllt ist,
erfolgt der Einsprung in Schritt ST31, in dem die Startbedin
gungsüberwachungseinheit 6 einen Steuerprogrammstartbefehl an
den Scheduler 14 liefert. Wenn das Bestandspflege-Tool 1 neue
Steuerinformationen in Schritt ST32 ausgibt, springt die
Änderungsanforderungsüberwachungseinheit 4 in Schritt ST33
ein und liefert einen Programmladeausführungseinheit-Start
befehl an den Scheduler 14. In Schritt ST35 prüft der
Scheduler 14, ob von der Programmladeausführungseinheit 12
ein Laden-beendet-Bericht übermittelt wurde. Wenn der Laden
beendet-Bericht empfangen wurde, wird Schritt ST36 erreicht,
in dem die Betriebszustands-Programm-ID-Zuordnungseinheit 13
betrieben wird.
Wenn in Schritt ST35 kein Laden-beendet-Bericht festgestellt
wird, wird Schritt ST37 erreicht. In Schritt ST37 prüft die
Startbedingungsüberwachungseinheit 6, ob ein Steuerprogramm
startbefehl vorliegt. Wenn ein solcher Befehl vorliegt, wird
Schritt ST38 erreicht, in dem geprüft wird, ob die Programm
ladeausführungseinheit 12 aktiv ist. Wenn das der Fall ist,
wird die Programmladeausführungseinheit 12 in Schritt ST39
unterbrochen. In Schritt ST40 wird die Steuerprogrammausfüh
rungseinheit 7 aktiviert. Wenn in Schritt ST37 kein Steuer
programmstartbefehl festgestellt wird, wird Schritt ST41
erreicht. In Schritt ST41 wird geprüft, ob ein Programmlade
ausführungseinheit-Startbefehl vorliegt. Wenn das der Fall
ist, wird Schritt ST42 erreicht, in dem die Programmladeaus
führungseinheit 12 aktiviert oder nach Unterbrechung reakti
viert wird.
Das heißt also, daß der Scheduler 14 seinen Planungsablauf in
solcher Weise ausführt, daß die Betriebszustands-Programm-ID-
Zuordnungseinheit 13 mit Vorrang vor der Steuerprogrammaus
führungseinheit 7 aktiviert wird, die ihrerseits mit Vorrang
vor der Programmladeausführungseinheit 12 aktiviert wird.
Wie beschrieben, lädt die Programmladeausführungseinheit 12
neue Steuerinformationen nur dann in einen reservierten Be
reich, wenn das Steuerprogramm einen Ausführbarkeitszustand
hat (dabei ist es nicht gerade in der Ausführung, aber jeder
zeit bereit dazu, beispielsweise in einem Schlafzustand). Un
mittelbar nach dem Laden wird die Betriebszustands-Programm-
ID-Zuordnungseinheit 13 gestartet.
Bei dem beschriebenen Ausführungsbeispiel werden Steuerinfor
mationen im Arbeitsspeicher 3 gehalten. Alternativ können
Steuerinformationen in einem an den Systembus 10 angeschlos
senen gemeinsam genutzten Speicher gespeichert sein.
Bei der beschriebenen Anordnung ist das Bestandspflege-Tool 1
direkt an die programmierbare Steuerung angeschlossen. Alter
nativ kann das Bestandspflege-Tool 1 an den Systembus 10 an
geschlossen sein.
Das vorstehende Ausführungsbeispiel ist so ausgelegt, daß
Steuerinformationen in der Festplatteneinheit 1a (Zubringer
speicher) innerhalb des Bestandspflege-Tools 1 gehalten
werden. Alternativ können die Steuerinformationen in einem
Zubringerspeicher unter Steuerung durch einen E/A-Baustein
gehalten sein, der direkt an die programmierbare Steuerung
oder an ihren Systembus 10 angeschlossen ist. Dabei lädt dann
der E/A-Baustein die Informationen in die programmierbare
Steuerung.
Wie beschrieben, werden bei der Erfindung von der Programm
ladeausführungseinheit neue Steuerinformationen in den re
servierten Bereich geladen. Dann ersetzt die Zuordnungs
einheit der Erfindung den Inhalt der in der Managementtabelle
gehaltenen Adressen durch den Inhalt der in der Reserviert-
Tabelle gehaltenen Adressen. Durch dieses Merkmal kann das
momentan ablaufende Programm weiter ausgeführt werden, wäh
rend gleichzeitig die alten Steuerinformationen durch die
neuen ersetzt werden. Infolgedessen braucht die zu steuernde
Zieleinrichtung nicht jedesmal bei einer Änderung der Steuer
informationen angehalten zu werden.
Claims (5)
1. Verfahren zum Laden von geänderten Programmen oder Pro
grammteilen von einem Bestandspflegetool (1) in eine pro
grammierbare Steuerung (11), während diese eine Zielvorrich
tung (9) steuert,
wobei im Arbeitsspeicher (3) der programmierbaren Steuerung für jedes Programm in einer Managementtabelle (3a) ein Pro zeßdeskriptor abgelegt ist, der die aktuellen Programmzu stände (ablaufend, suspendiert) und die Startadressen der Steuerprogrammspeicherbereiche (3c) und der zugeordneten Steuerdatenspeicherbereiche (3d) enthält,
dadurch gekennzeichnet,
daß beim Laden eines geänderten Programmes oder Programmtei les in den Arbeitsspeicher der programmierbaren Steuerung an hand der Prozeßdeskriptoren zunächst bestimmt wird, in wel chem Prozeßzustand sich das zu ändernde Programm befindet, daß für den Fall, daß das zu ändernde Programm momentan nicht abläuft, d. h. suspendiert ist, die neuen Programmteile un mittelbar in die durch die Startadressen vorgegebenen Ar beitsspeicherbereiche geladen werden,
und daß für den Fall, daß das Programm abläuft, die geänder ten Programmteile in einen anderen, in der Managementtabelle vorgegebenen Kurzzeit-Reservierungsbereich geladen werden
und daß dann, wenn das zu ändernde Programm seinen Lauf been det hat, in der Managementtabelle die bisherigen Start adressen dieses Programms durch die Startadressen für den Kurzzeit-Reservierungsbereich ersetzt werden, so daß bei einem erneuten Programmaufruf das geänderte Programm ausge führt wird.
wobei im Arbeitsspeicher (3) der programmierbaren Steuerung für jedes Programm in einer Managementtabelle (3a) ein Pro zeßdeskriptor abgelegt ist, der die aktuellen Programmzu stände (ablaufend, suspendiert) und die Startadressen der Steuerprogrammspeicherbereiche (3c) und der zugeordneten Steuerdatenspeicherbereiche (3d) enthält,
dadurch gekennzeichnet,
daß beim Laden eines geänderten Programmes oder Programmtei les in den Arbeitsspeicher der programmierbaren Steuerung an hand der Prozeßdeskriptoren zunächst bestimmt wird, in wel chem Prozeßzustand sich das zu ändernde Programm befindet, daß für den Fall, daß das zu ändernde Programm momentan nicht abläuft, d. h. suspendiert ist, die neuen Programmteile un mittelbar in die durch die Startadressen vorgegebenen Ar beitsspeicherbereiche geladen werden,
und daß für den Fall, daß das Programm abläuft, die geänder ten Programmteile in einen anderen, in der Managementtabelle vorgegebenen Kurzzeit-Reservierungsbereich geladen werden
und daß dann, wenn das zu ändernde Programm seinen Lauf been det hat, in der Managementtabelle die bisherigen Start adressen dieses Programms durch die Startadressen für den Kurzzeit-Reservierungsbereich ersetzt werden, so daß bei einem erneuten Programmaufruf das geänderte Programm ausge führt wird.
2. Verfahren nach Anspruch 1,
gekennzeichnet durch
Verwendung eines gemeinsam genutzen Speichers, der direkt an
einen Systembus (10) angeschlossen ist, wobei über den
Systembus eine Vielzahl von programmierbaren Steuerungen (11)
betrieben werden und wobei der gemeinsam genutzte Speicher
die jeweiligen Steuerinformationen enthält.
3. Verfahren nach Anspruch 1,
gekennzeichnet durch
direkte Verbindung des Bestandspflegetools (1) zu einem
Systembus (10), welcher dem Betreiben einer Vielzahl ange
schlossenen, programmierbaren Steuerungen (11) dient.
4. Verfahren nach Anspruch 1,
dadurch gekennzeichnet,
daß Steuerinformationen in einem Speicher abgelegt werden,
welche über einen Ein-/Ausgabebaustein mit der programmierba
ren Steuerung kommuniziert.
5. Verfahren nach Anspruch 1,
gekennzeichnet durch
Ablegen von Steuerinformationen in einen Speicher, welcher
über einen Ein-/Ausgabebaustein an einen vorhandenen System
bus angeschlossen ist, wobei der Systembus weiterhin dem
Betreiben einer Vielzahl von programmierbaren Steuerungen
dient.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3130250A JP2582956B2 (ja) | 1991-05-07 | 1991-05-07 | プログラマブル制御装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| DE4205372A1 DE4205372A1 (de) | 1992-11-12 |
| DE4205372C2 true DE4205372C2 (de) | 1996-08-22 |
Family
ID=15029750
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| DE4205372A Expired - Fee Related DE4205372C2 (de) | 1991-05-07 | 1992-02-21 | Verfahren zum Laden von geänderten Programmteilen in eine programmierbare Steuerung |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5295263A (de) |
| JP (1) | JP2582956B2 (de) |
| KR (1) | KR960014191B1 (de) |
| DE (1) | DE4205372C2 (de) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19828611A1 (de) * | 1998-06-26 | 2000-01-20 | Siemens Ag | Datenverarbeitungsvorrichtung und zugehöriges Verfahren |
| DE10311026A1 (de) * | 2003-03-13 | 2004-09-30 | Siemens Ag | Verfahren zum Verändern von Funktionsparametern einer Funktion einer industriellen Steuerung oder Regelung |
Families Citing this family (31)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2710195B2 (ja) * | 1992-12-15 | 1998-02-10 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 記憶装置コントローラ |
| DE4307413C2 (de) * | 1993-03-09 | 1997-02-06 | Siemens Ag | Verfahren zum Laden von für den Betrieb von elektrischen Einrichtungen erforderlichen Betriebsprogrammen |
| JP3024422B2 (ja) * | 1993-04-01 | 2000-03-21 | 三菱電機株式会社 | プログラマブルコントローラおよびプログラマブルコントローラの運転方法 |
| JPH0844552A (ja) * | 1994-08-01 | 1996-02-16 | Fujitsu Ltd | 個人の言語による問題むき補助計算装置のためのプログラム作成システム |
| DE4429969A1 (de) * | 1994-08-24 | 1996-02-29 | Sel Alcatel Ag | Verfahren für einen Programmpaketeaustausch in einem Mehrrechnersystem und Rechner dafür |
| US5659801A (en) * | 1994-12-07 | 1997-08-19 | Emc Corporation | Method and apparatus for replacing resident peripheral device control microcode by download via an application program |
| US5604906A (en) * | 1995-02-06 | 1997-02-18 | Apple Computer, Inc. | Method and apparatus for installing software block-by block via an image of the target storage device |
| DE19518266A1 (de) * | 1995-05-18 | 1996-11-21 | Philips Patentverwaltung | Kommunikationssystem mit Mitteln zum Austausch von Software |
| JP3390566B2 (ja) * | 1995-06-05 | 2003-03-24 | 富士通株式会社 | プログラムローディング方法 |
| US5842223A (en) * | 1995-07-03 | 1998-11-24 | Sun Microsystems Inc. | Method and apparatus for information state management |
| DE19617976A1 (de) * | 1996-05-06 | 1997-11-13 | Philips Patentverwaltung | Kommunikationssystem mit Mitteln zum Austausch von Softwareprozessen |
| US5930504A (en) * | 1996-07-22 | 1999-07-27 | Intel Corporation | Dynamic nonvolatile memory update in a computer system |
| EP0825506B1 (de) * | 1996-08-20 | 2013-03-06 | Invensys Systems, Inc. | Verfahren und Gerät zur Fernprozesssteuerung |
| US5959536A (en) * | 1996-10-15 | 1999-09-28 | Philips Electronics North America Corporation | Task-driven distributed multimedia consumer system |
| DE19701322C2 (de) * | 1997-01-16 | 2002-10-10 | Abb Patent Gmbh | Verfahren zur Aktualisierung der Betriebssoftware |
| KR100464251B1 (ko) * | 1997-12-17 | 2005-05-03 | 엘지산전 주식회사 | 피엘씨의운전중프로그램수정방법 |
| JP2000209679A (ja) * | 1999-01-19 | 2000-07-28 | Fujitsu Ltd | ビル管理システムにおける端末装置のリプレ―ス制御方法及びシステム |
| AU5025600A (en) | 1999-05-17 | 2000-12-05 | Foxboro Company, The | Process control configuration system with parameterized objects |
| US7089530B1 (en) | 1999-05-17 | 2006-08-08 | Invensys Systems, Inc. | Process control configuration system with connection validation and configuration |
| US6788980B1 (en) | 1999-06-11 | 2004-09-07 | Invensys Systems, Inc. | Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network |
| US6501995B1 (en) * | 1999-06-30 | 2002-12-31 | The Foxboro Company | Process control system and method with improved distribution, installation and validation of components |
| GB9921720D0 (en) * | 1999-09-14 | 1999-11-17 | Tao Group Ltd | Loading object-oriented computer programs |
| US6941353B1 (en) * | 2000-06-29 | 2005-09-06 | Auran Holdings Pty Ltd | E-commerce system and method relating to program objects |
| TW495675B (en) * | 2000-09-14 | 2002-07-21 | Acer Ipull Inc | System for updating program executable being running and the method thereof |
| US7761923B2 (en) | 2004-03-01 | 2010-07-20 | Invensys Systems, Inc. | Process control methods and apparatus for intrusion detection, protection and network hardening |
| WO2007123753A2 (en) * | 2006-03-30 | 2007-11-01 | Invensys Systems, Inc. | Digital data processing apparatus and methods for improving plant performance |
| CN104407518B (zh) | 2008-06-20 | 2017-05-31 | 因文西斯系统公司 | 对用于过程控制的实际和仿真设施进行交互的系统和方法 |
| US8463964B2 (en) | 2009-05-29 | 2013-06-11 | Invensys Systems, Inc. | Methods and apparatus for control configuration with enhanced change-tracking |
| US8127060B2 (en) | 2009-05-29 | 2012-02-28 | Invensys Systems, Inc | Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware |
| DE102010027906A1 (de) * | 2010-04-19 | 2011-10-20 | Beckhoff Automation Gmbh | Datenverwaltungsverfahren und speicherprogrammierbare Steuerung |
| JP5786386B2 (ja) * | 2011-03-15 | 2015-09-30 | オムロン株式会社 | プログラマブルコントローラシステム、ツール装置、ツール用プログラム及び記録媒体並びにプログラマブルコントローラ |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5093804A (en) * | 1984-06-04 | 1992-03-03 | Ge Fanuc Automation North America, Inc. | Programmable controller input/output communications system |
| JP2564805B2 (ja) * | 1985-08-08 | 1996-12-18 | 日本電気株式会社 | 情報処理装置 |
| US5027316A (en) * | 1986-09-11 | 1991-06-25 | International Business Machines Corporation | Versioning of message formats in a 24-hour operating environment |
| US4972365A (en) * | 1987-05-01 | 1990-11-20 | Allen-Bradley Company, Inc. | Executing downloaded user programs in a programmable controller |
| US5103391A (en) * | 1987-11-06 | 1992-04-07 | M. T. Mcbrian Inc. | Control system for controlling environmental conditions in a closed building or other conditions |
| JPH02125360A (ja) * | 1988-11-04 | 1990-05-14 | Mitsubishi Electric Corp | プログラマブル制御装置 |
| US5099418A (en) * | 1990-06-14 | 1992-03-24 | Hughes Aircraft Company | Distributed data driven process |
-
1991
- 1991-05-07 JP JP3130250A patent/JP2582956B2/ja not_active Expired - Fee Related
-
1992
- 1992-01-22 US US07/823,965 patent/US5295263A/en not_active Expired - Lifetime
- 1992-02-21 DE DE4205372A patent/DE4205372C2/de not_active Expired - Fee Related
- 1992-05-06 KR KR1019920007646A patent/KR960014191B1/ko not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE19828611A1 (de) * | 1998-06-26 | 2000-01-20 | Siemens Ag | Datenverarbeitungsvorrichtung und zugehöriges Verfahren |
| DE19828611C2 (de) * | 1998-06-26 | 2000-05-18 | Siemens Ag | Datenverarbeitungsvorrichtung und zugehöriges Verfahren |
| DE10311026A1 (de) * | 2003-03-13 | 2004-09-30 | Siemens Ag | Verfahren zum Verändern von Funktionsparametern einer Funktion einer industriellen Steuerung oder Regelung |
Also Published As
| Publication number | Publication date |
|---|---|
| KR920022144A (ko) | 1992-12-19 |
| JPH04332002A (ja) | 1992-11-19 |
| DE4205372A1 (de) | 1992-11-12 |
| US5295263A (en) | 1994-03-15 |
| KR960014191B1 (ko) | 1996-10-14 |
| JP2582956B2 (ja) | 1997-02-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| DE4205372C2 (de) | Verfahren zum Laden von geänderten Programmteilen in eine programmierbare Steuerung | |
| DE4011745C2 (de) | ||
| DE69524285T2 (de) | Multiprozessorsystem, dieses System verwendende Plattensteuerung, und nicht unterbrechendes Wartungsverfahren dafür | |
| DE68922769T2 (de) | Verfahren zum Erzeugen eines temporären Anhaltens von Tasken, die in einem virtuellen Datenverarbeitungssystem ablaufen. | |
| DE69026379T2 (de) | Nachrichtenorientierte Fehlerbeseitigungsverfahren | |
| DE3789215T2 (de) | Gesteuerter dynamischer Belastungsausgleich für ein Multiprozessorsystem. | |
| DE19600432A1 (de) | Computersystem, enthaltend eine Mehrzahl von Maschinen, die an einen geteilten Speicher angeschlossen sind, und Steuerverfahren für ein Computersystem, das eine Mehrzahl von Maschinen enthält, die an einen geteilten Speicher angeschlossen sind | |
| DE19728726A1 (de) | Robotercontroller und dessen Steuerverfahren | |
| EP1146432A2 (de) | Umkonfigurierungs-Verfahren für programmierbare Bausteine während der Laufzeit | |
| DE4331703A1 (de) | Elektronische Einrichtung | |
| DE69222468T2 (de) | Vorrichtung zur Steigerung der Leistung eines einer Multiprozessorstruktur mit einer möglicherweise hohen Anzahl von Prozessoren zugeordneten Echtzeitsteuerprogrammkerns | |
| DE3886756T2 (de) | Betriebsmittelzugriff für Multiprozessorrechnersystem. | |
| DE10335989A1 (de) | Online-Änderungen von CIL-Code-Programmen für die Industrieautomatisierung | |
| WO2015086357A1 (de) | Verfahren zur beeinflussung eines steuerprogramms eines steuergeräts | |
| DE3688136T2 (de) | Verfahren zum Testen und Setzen von Daten in einen Datensatz auf einer Platte in eine atomaren Ein/Ausgabeoperation. | |
| DE4005042C2 (de) | Mehrrechnersystem zur Durchführung von Bewegungssteuerungen | |
| DE69411096T2 (de) | Entwicklungsunterstützungssystem für einen Mikrocomputer mit internem Cachespeicher | |
| DE4445651A1 (de) | Verfahren zur Steuerung von technischen Vorgängen | |
| EP2187281B1 (de) | Automatisierungsgerät und Verfahren zu dessen Betrieb | |
| EP1731999B1 (de) | Mechanismus zum dynamischen Registrieren von Dateien in einer stapelverarbeitungsorientierten Umgebung | |
| DE69232371T2 (de) | Programmierbares Steuergerät | |
| DE69032835T2 (de) | Prozedurzustandsdeskriptorsystem für digitale Datenprozessoren | |
| EP0499213A2 (de) | Modular strukturiertes ISDN-Kommunikationssystem | |
| DE2507405A1 (de) | Verfahren und anordnung zum synchronisieren der tasks in peripheriegeraeten in einer datenverarbeitungsanlage | |
| DE19908866C1 (de) | Verfahren zum Übertragen eines Softwaresystems auf andere Hardwareplattformen |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| OP8 | Request for examination as to paragraph 44 patent law | ||
| D2 | Grant after examination | ||
| 8364 | No opposition during term of opposition | ||
| 8339 | Ceased/non-payment of the annual fee |