DE4205372C2 - Verfahren zum Laden von geänderten Programmteilen in eine programmierbare Steuerung - Google Patents

Verfahren zum Laden von geänderten Programmteilen in eine programmierbare Steuerung

Info

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
Application number
DE4205372A
Other languages
English (en)
Other versions
DE4205372A1 (de
Inventor
Kenji Kojima
Akio Toda
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE4205372A1 publication Critical patent/DE4205372A1/de
Application granted granted Critical
Publication of DE4205372C2 publication Critical patent/DE4205372C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total 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.
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.
DE4205372A 1991-05-07 1992-02-21 Verfahren zum Laden von geänderten Programmteilen in eine programmierbare Steuerung Expired - Fee Related DE4205372C2 (de)

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)

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

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

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

Cited By (3)

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