[go: up one dir, main page]

DE10353532A1 - Data transfer method for use between a remote computer and a control unit, whereby old data, e.g. program data, is backed-up to a buffer memory prior to transfer and installation of the new data - Google Patents

Data transfer method for use between a remote computer and a control unit, whereby old data, e.g. program data, is backed-up to a buffer memory prior to transfer and installation of the new data Download PDF

Info

Publication number
DE10353532A1
DE10353532A1 DE2003153532 DE10353532A DE10353532A1 DE 10353532 A1 DE10353532 A1 DE 10353532A1 DE 2003153532 DE2003153532 DE 2003153532 DE 10353532 A DE10353532 A DE 10353532A DE 10353532 A1 DE10353532 A1 DE 10353532A1
Authority
DE
Germany
Prior art keywords
data
controller
new data
program
transfer
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
Application number
DE2003153532
Other languages
German (de)
Inventor
Christoph Müller
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.)
EMBIGENCE GmbH
Original Assignee
EMBIGENCE GmbH
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 EMBIGENCE GmbH filed Critical EMBIGENCE GmbH
Priority to DE2003153532 priority Critical patent/DE10353532A1/en
Publication of DE10353532A1 publication Critical patent/DE10353532A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Method for transferring data between a remote computer (11) and a control unit (13) that are linked by a communications network (20). The method has the following steps: new data to be transferred are stored in a memory area of a buffer memory; prior to transfer of the new data to the control unit a copy of the old data that is to be replaced is stored in a second region of the buffer memory and; the new data is transferred to the control unit. The invention also relates to a corresponding device and computer program for implementation of the inventive method.

Description

Die Erfindung betrifft ein Verfahren und eine Vorrichtung zur Übertragung von Daten, insbesondere Daten eines Steuerungsprogramms, gemäß dem jeweiligen Oberbegriff der unabhängigen Ansprüche.The The invention relates to a method and a device for transmission of data, in particular data of a control program, according to the respective Generic term of the independent Claims.

Die Erfindung befasst sich mit der Problematik der Übertragung von Daten an einen als Empfänger fungierenden Kommunikationsteilnehmer, wenn die übertragenen Daten bisher auf dem Empfänger vorhandene Daten ersetzen. Kommt es nämlich bei der Datenübertragung zu Problemen, ist ggf. die Konsistenz der Daten auf Empfängerseite nicht mehr gewährleistet. Besonders problematisch ist dies, wenn es sich bei den übertragenen Daten um ausführbare Programme oder Elemente von ausführbaren Programmen, etwa ein Steuerungsprogramm zur Steuerung und/oder Überwachung eines technischen Prozesses handelt. Dann ist nämlich bei einer fehlgeschlagenen Datenübertragung kein lauffähiges Steuerungsprogramm mehr vorhanden, so dass die Steuerung des technischen Prozesses nicht mehr fortgesetzt werden kann. Als Folge ergeben sich Stillstandszeiten des technischen Prozesses sowie die üblicherweise damit verbundenen Kosten für Produktionsausfälle.The The invention deals with the problem of transferring data to one as receiver acting communication participant, if the transmitted data so far up the existing receiver Replace data. Is it coming? in the data transmission Problems may be the consistency of the data on the receiver side no longer guaranteed. This is particularly problematic when it comes to the transferred Data about executable programs or elements of executable Programs, such as a control program for control and / or monitoring a technical process. Then that is when one failed data transfer no executable Control program more available, so the control of the technical Process can not continue. As a result, arise downtime of the technical process as well as the usual associated costs for Production losses.

Mit einer ähnlichen Problematik befasst sich die EP 0 500 973 B1 . Hier erfolgt eine Datenübertragung zwischen einer Zentraleinheit eines Automatisierungssystems und einem Programmiergerät. Für die Zentraleinheit ist eine Zugriffsmöglichkeit auf zwei Speicherbereiche vorgesehen, die alternativ mit gleichen Speicheradressen in den Adressraum eines Prozessors eingeblendet werden können. Beim Aktualisieren von Daten werden diese nur in einen der Speicherbereiche eingeschrieben. Nach dem erfolgreichen Abschluss des Datentransfers wird eine den Zugriff auf entweder den einen oder den anderen Speicherbereich beeinflussende Zustandsgröße so geändert, dass zukünftig ein Zugriff nur auf die neuen Daten erfolgt. Im Falle später in den neuen Daten bemerkter Fehler stehen die alten Daten noch im bisher benutzten Speicherbereich zur Verfügung. Durch erneutes Ändern der Zustandsgröße können die alten Daten wieder verfügbar gemacht werden.With a similar problematic is the EP 0 500 973 B1 , Here is a data transfer between a central processing unit of an automation system and a programming device. For the central unit, access to two memory areas is provided, which can alternatively be faded in with the same memory addresses in the address space of a processor. When updating data, they are written to only one of the memory areas. After the successful completion of the data transfer, a state variable influencing the access to either one or the other memory area is changed so that in the future access will only be to the new data. In case of later errors noted in the new data, the old data is still available in the previously used memory area. By changing the state variable again, the old data can be made available again.

Der Erfindung liegt die Aufgabe zugrunde, ein verlässliches Verfahren zur Übertragung von Daten sowie eine zur Ausführung des Verfahrens geeignete Vorrichtung anzugeben, das bzw. die insbesondere auch für eine Fernübertragung der Daten verwendbar ist.Of the Invention is based on the object, a reliable method for transmission of data as well as one for execution indicate the device suitable, the or the particular also for a remote transmission the data is usable.

Diese Aufgabe wird erfindungsgemäß mit den Merkmalen der unabhängigen Ansprüche gelöst.These Task is according to the invention with the Characteristics of the independent claims solved.

Bezüglich des Verfahrens wird diese Aufgabe erfindungsgemäß gelöst durch die Merkmale der Ansprüche 1 oder 3. Dazu sind bei einem Verfahren zur Übertragung von Daten zwischen einem ersten Kommunikationsteilnehmer, im Folgenden als entfernten Rechner bezeichnet, und einem zweiten Kommunikationsteilnehmer, im Folgenden als Steuerung bezeichnet, wobei der entfernte Rechner mit der Steuerung kommunikativ verbunden ist, folgende Verfahrensschritte vorgesehen:

  • a) die übertragenen oder zu übertragenden Daten – Neudaten – werden in einem ersten Speicherbereich eines Zwischenspeichers abgelegt,
  • b) vor dem Übertragen der Neudaten zum zweiten Kommunikationsteilnehmer (Steuerung) wird eine Kopie derjenigen Daten, die durch die Neudaten ersetzt werden – Altdaten -, in einem zweiten Speicherbereich des Zwischenspeichers anlegt und
  • c) die Neudaten werden aus dem ersten Speicherbereich an den zweiten Kommunikationsteilnehmer (Steuerung) übertragen.
With regard to the method, this object is achieved according to the invention by the features of claims 1 or 3. For this purpose, in a method for transmitting data between a first communication subscriber, referred to below as a remote computer, and a second communication subscriber, hereinafter referred to as controller, wherein the remote computer is communicatively connected to the controller, the following method steps are provided:
  • a) the data transmitted or to be transmitted - new data - are stored in a first memory area of a cache,
  • b) before transferring the new data to the second communication participant (control), a copy of the data that is replaced by the new data - old data - in a second memory area of the cache creates and
  • c) the new data is transferred from the first memory area to the second communication user (controller).

Vorteilhaft ist der Zwischenspeicher Bestandteil eines dem zweiten Kommunikationsteilnehmer zugeordneten zentralen Kommunikationsteilnehmers, im Folgenden als lokaler Rechner bezeichnet, wobei der erste Kommunikationsteilnehmer mit dem zentralen Kommunikationsteilnehmer und der zentrale Kommunikationsteilnehmer mit dem zweiten Kommunikationsteilnehmer kommunikativ verbunden ist. Der zentrale Kommunikationsteilnehmer weist dafür bevorzugt eine eigene Verarbeitungsfunktionali tät auf, d.h. z.B. einen Prozessor und dergleichen, und ist damit unabhängig vom zweiten Kommunikationsteilnehmer betriebsfähig. Aufgrund der insbesondere räumlichen Zuordnung des zentralen Kommunikationsteilnehmers zum zweiten Kommunikationsteilnehmer wird der zentrale Kommunikationsteilnehmer auch als lokaler Rechner bezeichnet.Advantageous the buffer is part of a second communication participant assigned central communication subscriber, hereinafter referred to as local computer, wherein the first communication participant with the central communication participant and the central communication participant communicatively connected to the second communication participant is. The central communication subscriber prefers it its own processing functionality, i. e.g. a processor and the like, and is thus independent of the second communication participant operational. Due to the particular spatial Assignment of the central communication subscriber to the second communication subscriber the central communication participant also becomes a local computer designated.

Die o.g. Aufgabe wird erfindungsgemäß ebenfalls mittels eines vom zentralen Kommunikationsteilnehmer ausführbaren Verfahrens zur Übertragung von Daten zwischen einem als entfernten Rechner bezeichneten ersten Kommunikationsteilnehmer und einem als Steuerung bezeichneten zweiten Kommunikationsteilnehmer, wobei der erste Kommunikationsteilnehmer mit dem als lokalen Rechner bezeichneten zentralen Kommunikationsteilnehmer und der zentrale Kommunikationsteilnehmer mit dem zweiten Kommunikationsteilnehmer kommunikativ verbunden ist, durch die nachfolgenden Verfahrensschritte gelöst:

  • a) der zentrale Kommunikationsteilnehmer (lokaler Rechner) empfängt vom ersten Kommunikationsteilnehmer (entfernter Rechner) die übertragenen oder zu übertragenden Daten – Neudaten – und die Neudaten werden in einem ersten Speicherbereich eines Zwischenspeichers des zentralen Kommunikationsteilnehmers abgelegt,
  • b) der zentrale Kommunikationsteilnehmer liest derjenigen Daten des zweiten Kommunikationsteilnehmers (Steuerung), die durch die Neudaten ersetzt werden – Altdaten -, aus und legt in einem zweiten Speicherbereich des Zwischenspeichers eine Kopie der Altdaten an und
  • c) der zentrale Kommunikationsteilnehmer überträgt die Neudaten aus dem ersten Speicherbereich an den zweiten Kommunikationsteilnehmer.
The above object is also according to the invention by means of a process executable by the central communication participant for transferring data between a designated as a remote computer first communication participants and designated as a controller second communication participants, the first communication participants with the designated as a local computer central communication participants and the central communication participants is communicatively connected to the second communication participant, solved by the following method steps:
  • a) the central communication subscriber (local computer) receives from the first communication user (remote computer) the data transmitted or to be transmitted - new data - and the new data are stored in a first memory area of a buffer of the central communication subscriber,
  • b) the central communication participant reads that data of the second communication participant (control), which are replaced by the new data - legacy -, and creates a copy of the legacy data in a second memory area of the cache
  • c) the central communication subscriber transmits the new data from the first memory area to the second communication subscriber.

Zweckmäßige Weiterbildungen des Verfahrens sind Gegenstand der auf die jeweiligen Patentansprüche rückbezogenen Unteransprüche.Appropriate further education of the method are the subject of the dependent claims Dependent claims.

Bezüglich der Vorrichtung wird die genannte Aufgabe erfindungsgemäß gelöst durch die Merkmale des Anspruchs 8. Dazu ist bei einer Vorrichtung zur Datenübertragung mit einem als ersten Kommunikationsteilnehmer bezeichneten entfernten Rechner und einer als zweiten Kommunikationsteilnehmer bezeichneten Steuerung, wobei der erste Kommunikationsteilnehmer mit dem zweiten Kommunikationsteilnehmer kommunikativ verbunden ist, vorgesehen, dass die zum Übertragen vorgesehenen Daten – Neudaten – in einem ersten Speicherbereich eines Zwischenspeichers ablegbar sind, dass vor dem Übertragen der Neudaten zum zweiten Kommunikationsteilnehmer eine Kopie derjenigen Daten, die durch die Neudaten ersetzt werden – Altdaten –, in einem zweiten Speicherbereich des Zwischenspeichers (21) anlegbar ist und dass die Neudaten aus dem ersten Speicherbereich an den zweiten Kommunikationsteilnehmer übertragbar sind.With regard to the device, the object is achieved according to the invention by the features of claim 8. For this purpose, in a device for data transmission with a first computer called remote computer and designated as a second communication participant controller, wherein the first communication participant is communicatively connected to the second communication participant , provided that the data intended for transmission - new data - can be stored in a first memory area of a cache memory, that before the transfer of the new data to the second communication station a copy of those data which are replaced by the new data - old data - in a second memory area of Cache ( 21 ) can be applied and that the new data from the first memory area to the second communication subscriber are transferable.

Vorteilhafte Weiterbildungen der Vorrichtung zeichnen sich dadurch aus, dass sie zur Ausführung von nachfolgend beschriebenen Weiterbildungen des erfindungsgemäßen Verfahrens geeignet und vorgesehen sind.advantageous Further developments of the device are characterized in that she to the execution of hereinafter described developments of the method according to the invention are suitable and provided.

Der Vorteil der Erfindung besteht darin, dass für den als Endempfänger der übertragenen oder zu übertragenden Daten fungierenden Kommunikationsteilnehmer, also z.B. die Steuerung, sicher gestellt ist, dass nach der Datenübertragung in jedem Fall konsistente Daten, im Falle von übertragenen Programmdaten also ein ausführbares Steuerungsprogramm, zur Verfügung steht. Bei den konsistenten Daten handelt es sich entweder um die übertragenen Neudaten oder um die zurückgespeicherten, zuvor gesicherten Altdaten. Auf diese Weise ist sichergestellt, dass der zweite Kommunikationsteilnehmer durch die Datenübertragung nicht in unerwünschter Weise in seiner Funktionalität beeinflusst ist. Bisher bestand bei einer Datenübertragung stets das Risiko, dass beim direkten Überschreiben der Altdaten im zweiten Kommunikationsteilnehmer auftretende Fehler, insbesondere Fehler, die auf eine unsichere Kommunikationsverbindung zwischen dem ersten und dem zweiten Kommunikationsteilnehmer zurückzuführen sind, zu einem Stillstand des zweiten Kommunikationsteilnehmers aufgrund der Inkonsistenz des am Ende der Datenübertragung beim zweiten Kommunikationsteilnehmers vorhandenen Datenbestandes führten.Of the Advantage of the invention is that for the as the final recipient of the transmitted or to be transferred Data communicating parties, e.g. the control, it is ensured that after the data transmission in each case consistent Data, in the case of transmitted program data So an executable Control program available stands. The consistent data is either the transferred new data or around the restored, previously saved legacy data. In this way it is ensured that the second communication participant through the data transmission not in an undesirable way in its functionality is affected. Up to now, there has always been a risk of data transmission in the case of data transmission when directly overwriting the legacy data in the second communication user occurring errors, especially errors that are due to an insecure communication connection between the first and the second communication participant, to a standstill of the second communication subscriber due the inconsistency of the at the end of the data transmission at the second communication subscriber existing data.

Vorteilhaft wird, wenn es sich bei den Alt- und Neudaten um ein Steuerungsprogramm, also ein altes bzw. neues Steuerungsprogramm, handelt nach dem Transfer des neuen Steuerungsprogramms an den zweiten Kommunikationsteilnehmer (die Steuerung) dessen Ausführung veranlasst. Dann kann nämlich unmittelbar im Anschluss an den Transfer der zweite Kommunikationsteilnehmer- und zwar unter Kontrolle des übertragenen Steuerungsprogramms – seine Funktion wieder aufnehmen.Advantageous if the old and new data are a control program, So an old or new control program, acts after the transfer of the new control program to the second communication participant (the controller) its execution causes. Then you can immediately after the transfer, the second communication user under the control of the transferred one Control program - his Resume function.

Vorteilhaft wird ein erfolgreicher Transfer der Neudaten in den Zwischenspeicher anhand von in den Neudaten enthaltenen Kontrollinformationen überprüft. Damit ist sichergestellt, dass das Verfahren nur mit konsistenten und fehlerfreien Neudaten fortgesetzt wird. Im Falle einer erkannten Fehlerhaftigkeit der Neudaten kann der Transfer der Neudaten in den Zwischenspeicher automatisch wiederholt werden. Damit ist eine für den Benutzer transparente Fehlererkennung und Fehlerbehandlung gewährleistet. Ein ähnliche Fehlererkennung und Fehlerbehandlung kann im Anschluss an alle im Rahmen des erfindungsgemäßen Verfahrens vorkommenden separaten Transfervorgänge vorgesehen sein.Advantageous will be a successful transfer of the new data to the cache checked on the basis of control information contained in the new data. In order to It is ensured that the procedure only with consistent and error-free new data is continued. In case of a recognized Incorrectness of the new data may be the transfer of the new data in the cache will be repeated automatically. This is one for the User transparent error detection and error handling guaranteed. A similar one Error detection and error handling can be done after all in the Framework of the method according to the invention be provided occurring separate transfer operations.

Bevorzugt erfolgt der der Transfer der Neudaten an den zweiten Kommunikationsteilenehmer (die Steuerung) nur dann, wenn zuvor das Anlegen der Kopie der Altdaten erfolgreich abgeschlossen wurde. Auf diese Weise ist sichergestellt, dass eine konsistente und fehlerfreie Kopie der Altdaten für den den Fall zur Verfügung steht, dass sich die Neudaten nach dem Transfer an den zweiten Kommunikationsteilenehmer als fehlerbehaftet oder inkonsistent herausstellen sollten.Prefers the transfer of the new data to the second communication participant (the Control) only if previously creating the copy of the legacy data successfully completed. In this way it is ensured that a consistent and error-free copy of the legacy data for the Case available is that the new data after the transfer to the second communication partner should be buggy or inconsistent.

Weiter vorteilhaft erfolgt nach dem Transfer der Neudaten an die Steuerung eine automatische Prüfung, ob der Transfer erfolgreich war. Diese Prüfung kann die Konsistenz der Neudaten sowie im Falle von Neudaten in Form eines Steuerungsprogramms dessen Lauffähigkeit auf dem zweiten Kommunikationsteilnehmer umfassen. Im Falle eines durch diese Prüfung als nicht erfolgreich erkannten Transfers wird ebenfalls automatisch ein Rücktransfer der Altdaten an den zweiten Kommunikationsteilnehmer (die Steuerung) ausgelöst. Eine solche Situation wird gemäß einer vorteilhaften Weiterbildung dem Bedienpersonal durch eine Fehlermeldung signalisiert. Diese Fehlermeldung kann sich an das Bedienpersonal am Ort des zentralen oder zweiten Kommunikationsteilnehmers und oder an das Bedienpersonal am Ort des ersten Kommunikationsteilnehmers richten. Im ersten Fall wird die Fehlermeldung z.B. auf einem Ausgabegerät des zentralen oder des zweiten Kommunikationsteilnehmers ausgegeben. Im zweiten Fall wird die Fehlermeldung, bevor sie auf einem Ausgabegerät des ersten Kommunikationsteilnehmers ausgegeben werden kann, über die zuvor benutzte Kommunikationsverbindung zwischen erstem und zentralem Kommunikationsteilnehmer übermittelt.Further advantageously, after the transfer of the new data to the controller, an automatic check is made as to whether the transfer was successful. This check may include the consistency of the new data and, in the case of new data in the form of a control program, its ability to run on the second communication party. In the case of a transfer that has been identified as unsuccessful by this check, a return transfer of the legacy data to the second communication subscriber (the controller) is also triggered automatically. Such a situation is signaled to the operating personnel by an error message according to an advantageous development. This error message may be related to the Be service personnel at the location of the central or second communication subscriber and or to the operator at the location of the first communication subscriber. In the first case, the error message is output eg on an output device of the central or the second communication subscriber. In the second case, the error message, before it can be output on an output device of the first communication subscriber, transmitted via the previously used communication link between the first and central communication participants.

Je nach Funktionalität des zweiten Kommunikationsteilnehmers (der Steuerung) wird der Transfer der Neudaten an den zweiten Kommunikationsteilnehmer von einem Bediener des zentralen Kommunikationsteilnehmers ausgelöst, der dabei mittels einer von der Verfügbarkeit des zweiten Kommunikationsteilnehmers abhängigen Freigabemeldung unterstützt wird.ever for functionality of the second communication party (the controller) becomes the transfer the new data to the second communication user from a server of the central communication subscriber, the case by means of a from the availability the second communication subscriber dependent release message is supported.

Der Vorteil der Erfindung und ihrer Ausgestaltungen besteht insbesondere auch darin, dass für den Anbieter der Neudaten das Risiko minimiert wird, dass aufgrund des Datentransfers die Funktionalität des als Endempfänger fungierenden zweiten Kommunikationsteilnehmers in Frage gestellt ist. Bisher musste sich ein solcher Anbieter immer auf die Möglichkeit einstellen, dass im Falle einer fehlgeschlagenen Kommunikation Bedienpersonal an den Ort des Endempfängers reisen musste. Bei hoher Reisedauer, also großer räumlicher Entfernung zwischen dem Ort des Anbieters und dem Ort des Endempfängers war eine Fernübertragung von Daten aufgrund der mit der Reisedauer korrelierten Stillstandszeiten mit einem erheblichen Kostenrisiko behaftet. Eine Fernübertragung von Daten ist daher bisher nur bedingt eingesetzt worden (z.B. download im Internet auf eine Diskette, Anfertigung einer Datensicherung der zu überschreibenden Daten vor Ort und Transfer der auf der Diskette vorgehaltenen Neudaten). In einem solchen Falle ist aber stets der Eingriff eines Bedieners erforderlich gewesen, so dass keine automatische Aktualisierung von Daten beim Endempfänger möglich war. Des Weiteren musste der Bediener über erhebliches Fachwissen verfügen, so dass die Fernübertragung nur mit entsprechend geschultem Personal möglich war. Diese Nachteile beseitigt die Erfin dung. Die Fernübertragung von Daten, insbesondere Programmdaten, wird ausreichend verlässlich. Zudem sind vor Ort, also am Ort des Endempfängers der Neudaten, wenn überhaupt nur solche manuellen Eingriffe vom Bedienpersonal erforderlich, die ohne weiteres von nicht speziell geschultem Bedienpersonal ausgeführt werden können.Of the Advantage of the invention and its embodiments is in particular also in that for the Provider of the new data minimizes the risk that due to the Data transfers the functionality of as final recipient acting second communication participant questioned is. So far, such a provider always had to the possibility adjust that in case of failed communication operators to the place of the final recipient had to travel. At high travel duration, so large spatial distance between the place of the provider and the place of the final recipient was a remote transmission data based on downtime correlated with the duration of the journey entailed a considerable cost risk. A remote transmission of data has thus far been used only to a limited extent (e.g., download on the internet on a floppy disk, making a backup the one to be overwritten On-site data and transfer of new data stored on the diskette). In such a case, however, is always the intervention of an operator necessary, so no automatic update data was available to the final recipient. Furthermore, the operator had significant expertise feature, so the remote transmission only with appropriately trained staff was possible. These disadvantages eliminates the inven tion. The remote transmission of data, in particular Program data, is sufficiently reliable. In addition, there are So at the place of the final recipient of the New data, if any only manual intervention by operators is required which are easily executed by non-specially trained operators can.

Nachfolgend wird ein Ausführungsbeispiel der Erfindung anhand der Zeichnung näher erläutert. Einander entsprechende Gegenstände oder Elemente sind in allen Figuren mit den gleichen Bezugszeichen versehen.following is an embodiment of Invention with reference to the drawing explained. each other corresponding items or elements are in all figures with the same reference numerals Mistake.

Darin zeigenIn this demonstrate

1 die einzelnen an der Datenübertragung beteiligten Kommunikationsteilnehmer, 1 the individual communication participants involved in the data transmission,

2 eine schematische Darstellung eines lokalen Rechners als zentralem Kommunikationsteilnehmer, 2 a schematic representation of a local computer as a central communication participant,

3 ein Flussdiagramm mit wesentlichen Verfahrensschritten, 3 a flowchart with essential procedural steps,

1 zeigt in einer schematischen Darstellung die einzelnen an der Datenübertragung beteiligten Kommunikationsteilnehmer. Die zu übertragenden Daten, z.B. Programmdaten 10, liegen zunächst bei einem als entfernten Rechner 11 bezeichneten ersten Kommunikationsteilnehmer vor. Bei diesem entfernten Rechner 11 handelt es sich z.B. um einen Rechner in den Räumen eines Anbieters von Automatisierungslösungen. Die zu übertragenden Daten sind in an sich bekannter Weise in einem Speicher 12 des entfernten Rechners 11 abgelegt. Die zu übertragenden Daten sind für einen als Steuerung 13 bezeichneten zweiten Kommunikationsteilnehmer bestimmt, der in an sich bekannter Weise unter Ausführung eines in einem Speicher der Steuerung 13 – Steuerungsspeicher 14 – abgelegten Steuerungsprogramms 15 einen nicht näher dargestellten technischen Prozess 16, z.B. ein Kraftwerk, eine Produktionsanlage oder dergleichen, steuert und/oder überwacht. Bei dem Steuerungsprogramm 15 handelt es sich ebenfalls um Programmdaten der Art, wie sie sich zu Beginn der Datenübertragung auf dem entfernten Rechner befinden. Die Erfindung wird im Folgenden anhand der exemplarischen Situation beschrieben, dass die Programmdaten 10 des entfernten Rechners ein Steuerungsprogramm darstellen oder dass aus ihnen aus ausführbares Steuerungsprogramm generiert werden kann, das das auf der Steuerung 13 vorhandene Steuerungsprogramm ersetzen oder aktualisieren soll. Ebenfalls ist denkbar, dass es sich bei den zu übertragenden Daten um reine Daten handelt, die zu Kontrolle des technischen Prozesses 16 benötigt werden, also z.B. Betriebsparameter und dergleichen. Des Weiteren ist denkbar, dass es sich bei den zu übertragenden Daten um Daten handelt, die für den Betrieb und/oder die Wartung der Steuerung 13 von Belang sind, also z.B. Handbücher, technische Informationen und dergleichen. Diese Aufzählung ist nicht abschließend. Der Terminus "zu übertragende Daten" ist daher ganz allgemein so zu verstehen, dass damit Daten bezeichnet werden, die im Bereich der Steuerung 13 benötigt werden oder dort verwendbar sind. 1 shows a schematic representation of the individual involved in the data transmission communication participants. The data to be transferred, eg program data 10 , are initially in a remote computer 11 designated first communication participant before. At this remote machine 11 For example, it is a computer in the premises of a provider of automation solutions. The data to be transmitted are in a conventional manner in a memory 12 the remote computer 11 stored. The data to be transmitted is for one as a controller 13 designated second communication subscriber, in a conventional manner to execute one in a memory of the controller 13 - Control memory 14 - stored control program 15 a technical process, not shown 16 , eg a power plant, a production plant or the like, controls and / or monitors. In the control program 15 These are also program data of the kind that they are at the beginning of the data transfer on the remote computer. The invention will be described below with reference to the exemplary situation that the program data 10 represent a control program of the remote computer or that they can be generated from executable control program that on the controller 13 replace existing control program or update. It is also conceivable that the data to be transmitted are pure data which is used to control the technical process 16 are required, eg operating parameters and the like. Furthermore, it is conceivable that the data to be transmitted is data that is necessary for the operation and / or the maintenance of the controller 13 are relevant, such as manuals, technical information and the like. This list is not exhaustive. The term "data to be transmitted" is therefore generally understood to mean data that is in the area of control 13 be needed or usable there.

Die zu übertragenden Programmdaten 10 werden allerdings nicht direkt an die Steuerung 13 sondern zunächst an einen in Bezug auf die Steuerung 13 lokalen Rechner 17, der als zentraler Kommunikationsteilnehmer fungiert, übermittelt. Der lokale Rechner 17 ist mit der Steuerung 13 kommunikativ verbunden. Als Kommunikationsverbindung kommt z.B. eine Busverbindung 18 oder dergleichen in Betracht. Um die Programmdaten 10 vom entfernten Rechner 11 an den lokalen Rechner 17 zu transferieren, sind diesen beiden Rechner 11, 17 ebenfalls – zumindest zeitweise – kommunikativ verbunden. Als Kommunikationsverbindung kommt z.B. eine Telekommunikationsverbindung 19 in Betracht. Die Kommunikationsverbindung kann dabei auch das sogenannte Internet 20 umfassen. Die Übertragung der Programmdaten 10 kann über die Telekommunikationsverbindung 19 leitungsgebunden, z.B. über Telekommunikationsleitungen, oder leitungsfrei, z.B. über Mobilfunk-, Richtfunkverbindungen, optische Übertragungsstrecken oder dergleichen, erfolgten. Im Folgenden werden der entfernte Rechner 11, der lokale Rechner 17 und die Steuerung 13 jeweils als Kommunikationsteilnehmer bezeichnet. Der entfernte Rechner 11 fungiert dabei als Sender der zu übertragenden Programmdaten 10. Die Steuerung 13 fungiert als Empfänger der Programmdaten 10. Der lokale Rechner 17 fungiert einerseits als Empfänger und andererseits als Sender der Programmdaten 10 wie im Folgenden beschrieben wird.The program data to be transmitted 10 but not directly to the controller 13 but first to one in terms of the controller 13 local computer 17 , which acts as a central communication partner, transmitted. The local computer 17 is with the controller 13 communicatively connected. As a communication connection comes as a bus connection 18 or the like. To the program data 10 from the remote computer 11 to the local computer 17 to transfer, these are two computers 11 . 17 also - at least temporarily - communicatively connected. As a communication connection is eg a telecommunication connection 19 into consideration. The communication connection can also be the so-called Internet 20 include. The transmission of the program data 10 can via the telecommunication connection 19 wired, eg via telecommunication lines, or line-free, eg via mobile radio, radio links, optical transmission links or the like, were made. The following are the remote computers 11 , the local calculator 17 and the controller 13 each referred to as a communication participant. The remote computer 11 acts as the sender of the program data to be transmitted 10 , The control 13 acts as the recipient of the program data 10 , The local computer 17 acts on the one hand as a receiver and on the other hand as a sender of the program data 10 as described below.

Dazu ist in 2 der lokale Rechner 17 mit weiteren Details dargestellt. Danach umfasst der lokale Rechner 17 einen Zwischenspeicher 21 mit einem ersten und einem zweiten Speicherbereich 22, 23. Die beiden Speicherbereiche 22, 23 sind nicht notwendig physikalisch getrennt. Üblicherweise handelt es sich nur um eine logische Trennung, wobei sich die Größe der Speicherbereiche 22, 23 aufgrund einer Speicherbelegungsanforderung ergibt. Die Speicherbelegungsanforderung (memory allocation) gibt eine Referenz auf den Startpunkt des jeweiligen Speicherbereichs 22, 23 im Zwischenspeicher 21 zurück. Anhand dieses Startpunktes ist der jeweilige Speicherbereich 22, 23 eindeutig referenzierbar.This is in 2 the local computer 17 shown with further details. After that, the local computer includes 17 a cache 21 with a first and a second memory area 22 . 23 , The two memory areas 22 . 23 are not necessarily physically separated. Usually it is only a logical separation, whereby the size of the memory areas 22 . 23 due to a memory allocation request. The memory allocation request gives a reference to the starting point of the respective memory area 22 . 23 in the cache 21 back. Based on this starting point is the respective memory area 22 . 23 clearly referenced.

Des Weiteren weist der lokale Rechner 17 Kommunikationsschnittstellen 24, 25 zur kommunikativen Verbindung mit dem entfernten Rechner 11 einerseits (erste Kommunikationsschnittstelle 24) und mit der Steuerung 13 andererseits (zweite Kommunikationsschnittstelle 25). Die erste Kommunikationsschnittstelle 24 ist dabei z.B. eine ISDN-Schnittstelle, die einen Anschluss des lokalen Rechners 17 an die Telekommunikationsverbindung 19 ermöglicht. Die zweite Kommunikationsschnittstelle 25 ist dabei z.B. eine Bus-Schnittstelle, die einen Anschluss des lokalen Rechners 17 an die Busverbindung 18 ermöglicht.Furthermore, the local computer points 17 Communication interfaces 24 . 25 for communicative connection with the remote computer 11 on the one hand (first communication interface 24 ) and with the controller 13 on the other hand (second communication interface 25 ). The first communication interface 24 is eg an ISDN interface, which is a connection of the local computer 17 to the telecommunication connection 19 allows. The second communication interface 25 is eg a bus interface, which is a connection of the local computer 17 to the bus connection 18 allows.

Der lokale Rechner 17 weist darüber hinaus in 2 nicht dargestellte, an sich bekannte Funktionselemente auf, wie z.B. einen Prozessor, einen (Daten-, Adress-)Bus, etc., die für die übliche Funktionalität eines Rechners erforderlich sind und Operationen wie einen Datentransfer von der ersten Kommunikationsschnittstelle 24 in den Zwischenspeicher 21 und aus dem Zwischenspeicher 21 an die zweite Kommunikationsschnittstelle 25 ermöglichen. Des Weiteren weist der lokale Rechner 17 bevorzugt (ebenfalls nicht dargestellt) Ein- und Ausgabemittel, also z.B. eine Tastatur und einen Bildschirm, zur Interaktion mit einem Bediener auf.The local computer 17 also points in 2 not shown, known per se functional elements, such as a processor, a (data, address) bus, etc., which are required for the usual functionality of a computer and operations such as data transfer from the first communication interface 24 in the cache 21 and from the cache 21 to the second communication interface 25 enable. Furthermore, the local computer points 17 preferably (also not shown) input and output means, such as a keyboard and a screen, for interacting with an operator on.

Der lokale Rechner 17 kann im Hinblick auf die Kommunikation mit dem entfernten Rechner 11 ein aktiver oder ein passiver Kommunikationsteilnehmer sein. Als aktiver Kommunikationsteilnehmer holt der lokale Rechner 17 die Programmdaten 10 beim entfernten Rechner 11 ab. Dies wird üblicherweise durch entsprechende Maßnahmen eines Bedieners des lokalen Rechners 17 bestimmt. Als passiver Kommunikationsteilnehmer empfängt der lokale Rechner die Programmdaten von dem dann entsprechend als aktiven Kommunikationsteilnehmer fungierenden entfernten Rechner 11. Dazu sind üblicherweise entsprechende Maßnahmen durch Bedienpersonal am Ort des entfernten Rechners erforderlich. Die Kommunikation kann auch automatisch erfolgen, indem der entfernte Rechner bei Verfügbarkeit neuer Programmdaten 10 diese automatisch an den lokalen Rechner 17 sendet oder indem der lokale Rechner sporadisch (z.B. in vorgegebenen Zeitintervallen) beim entfernten Rechner 11 die Verfügbarkeit neue Programmdaten 10 prüft und diese ggf. abruft.The local computer 17 can in terms of communication with the remote computer 11 be an active or a passive communication participant. The local computer fetches as an active communication participant 17 the program data 10 at the remote computer 11 from. This is usually done by appropriate action of an operator of the local computer 17 certainly. As a passive communication subscriber, the local computer receives the program data from the remote computer, which then functions accordingly as the active communication user 11 , For this purpose, appropriate measures by operating personnel at the location of the remote computer are usually required. The communication can also be done automatically by the remote computer with the availability of new program data 10 this automatically to the local computer 17 sends or by the local computer sporadically (eg at predetermined time intervals) at the remote computer 11 the availability of new program data 10 checks and retrieves them if necessary.

Der lokale Rechner 17 ist der zentrale Kommunikationsteilnehmer bei der Übermittlung der Programmdaten 10 vom entfernten Rechner 11 an die Steuerung 13, denn er fungiert als Schnittstelle zwischen dem entfernten Rechner 11 und der Steuerung 13 und er sorgt aufgrund einer Zwischenspeicherung sowohl der neuen als auch der zu ersetzenden Daten für eine Entkopplung der beiden als Sender und Empfänger fungierenden Kommunikationsteilnehmer entfernter Rechner 11 bzw. Steuerung 13.The local computer 17 is the central communication participant in transmitting the program data 10 from the remote computer 11 to the controller 13 because it acts as an interface between the remote computer 11 and the controller 13 and he provides due to a caching of both the new and the data to be replaced for a decoupling of the two acting as sender and receiver communication participants remote computer 11 or control 13 ,

Dies ist mit weiteren Details in 3 anhand eines Flussdiagramms dargestellt. Wenn neue Programmdaten 10 zur Verfügung stehen (z.B. aufgrund einer Aktualisierung der Programmdaten 10 aufgrund einer vorgenommenen Anpassung derselben, etwa zur Fehlerbeseitigung), werden diese in einem ersten Schritt 30 an den lokalen Rechner 17 übertragen. Der lokale Rechner 17 ist zu diesem Zweck vorzugsweise ständig kommunikativ erreichbar, indem er dauerhaft an eine Telekommunikationsverbindung 19 angeschlossen ist. Besonders bevorzugt ist der lokale Rechner 17 über die Telekommunikationsverbindung 19 dauerhaft mit dem Internet 20 verbunden. Wenn der lokale Rechner 17 nicht ständig kommunikativ erreichbar ist, geht der Übertragung der Programmdaten 10 (erster Schritt 30) eine entsprechende Abstimmung zwischen einen Bediener am Ort des entfernten Rechners 11 und einem Bediener am Ort des lokalen Rechners 13 voraus, wobei letzterer für eine zumindest zeitweise kommunikative Erreichbarkeit des lokalen Rechners 13 sorgt. Die übertragenen Programmdaten 10 werden in einem der Speicherbereiche 22, 23 des Zwischenspeichers 21, z.B. im ersten Speicherbereich 22, abgelegt.This is with more details in 3 illustrated by a flow chart. When new program data 10 available (eg due to an update of the program data 10 due to an adaptation of the same, for example for the elimination of errors), these are in a first step 30 to the local computer 17 transfer. The local computer 17 For this purpose, communication is preferably always communicatively attainable by being permanently connected to a telecommunication connection 19 connected. Particularly preferred is the local computer 17 via the telecommunication connection 19 permanently with the internet 20 connected. If the local computer 17 is not constantly communicatively accessible, is the transmission of the program data 10 (first step 30 ) a corresponding vote between an operator at the location of the remote computer 11 and an operator at the location of the local computer 13 preceded, the latter for an at least temporarily communicative accessibility of the local computer 13 provides. The transmitted program data 10 be in one of the storage areas 22 . 23 of the cache 21 , eg in the first memory area 22 , filed.

In einem optionalen zweiten Schritt 31 (optionale Verfahrensschritte sind in der Darstellung in 3 in einer gestrichelten Umrandung dargestellt) werden dann die übertragenen Programmdaten 10 geprüft. Dazu können einerseits protokollbezogene Prüfinformationen oder in den Programmdaten 10 selbst enthaltene Prüfinformation herangezogen werden. Unter protokollbezogenen Prüfinformationen werden dabei solche Informationen verstanden, die zur Absicherung des Datenverkehrs über eine Kommunikationsverbindung gemäß dem zugrunde liegenden Protokoll, z.B. TCP/IP, ständig in einer für den Benutzer transparenten Weise mit übertragen werden. Dabei auftretende Fehler führen im Rahmen des zugrunde liegenden Protokolls üblicherweise zu einer Wiederholung des Transfers einzelner, durch die Prüfinformationen als fehlerhaft erkannter Datenpakete. Fehler bei der Datenübertragung, die nicht im Rahmen des zugrunde liegenden Protokolls behoben werden können, führen zu einer insgesamt fehlerbehafteten Übertragung der Programmdaten 10. Diesbezügliche Prüfinformationen können ausgewertet werden, um auf die korrekte Übertragung der Programmdaten 10 zu schließen. Des Weiteren können auch in den Programmdaten 10 selbst enthaltene Prüfinformationen herangezogen werden. Eine einfache derartige Prüfinformation ist eine in den Programmdaten 10 enthaltene Information über den Umfang der Programmdaten 10, also z.B. eine Längeninformation. Eine weitere einfache Prüfinformation ist ein sogenannter CRC (cyclic redundancy code), der auch Verfälschungen der Programmdaten 10 anzeigt, wenn der Umfang der Programmdaten nicht verändert ist. Eine weitere Prüfinformation ist ein sogenanntes Parity-Bit. Dessen Verwendung und Auswertung ist ebenso wie die des CRC an sich bekannt, so dass sich infolgedessen hier nähere Erläuterungen erübrigen. Die genannten sowie weitere Prüfinformationen können einzeln oder kombiniert eingesetzt werden. Ein CRC (oder auch die Parity-Auswertung) bezieht sich vorteilhaft auf mehrere separate Abschnitte der Programmdaten 10. Nach der Überprüfung der Programmdaten 10 steht fest, ob diese verwendbar sind oder nicht.In an optional second step 31 (optional process steps are shown in FIG 3 shown in a dashed border) then the transmitted program data 10 checked. On the one hand protocol-related test information or in the program data 10 self contained test information. In this case, protocol-related check information means that information which is constantly transmitted in a manner transparent to the user in order to secure the data traffic via a communication connection in accordance with the underlying protocol, eg TCP / IP. Errors occurring in the context of the underlying protocol usually lead to a repetition of the transfer of individual data packets identified as faulty by the check information. Errors in the data transfer that can not be resolved within the framework of the underlying protocol lead to an overall error-prone transfer of the program data 10 , This test information can be evaluated to ensure the correct transmission of the program data 10 close. Furthermore, also in the program data 10 self contained test information. A simple such check information is one in the program data 10 contained information about the extent of the program data 10 , eg a length information. Another simple check information is a so-called CRC (Cyclic Redundancy Code), which also falsifies the program data 10 indicates if the scope of the program data has not changed. Another check information is a so-called parity bit. Its use and evaluation is known as well as that of the CRC per se, so that there is no need for further explanation here. The above and other test information can be used individually or in combination. A CRC (or else the parity evaluation) advantageously relates to several separate sections of the program data 10 , After checking the program data 10 It is clear whether they are usable or not.

Im Falle der Nichtverwendbarkeit der Programmdaten 10 wird das Verfahren, insbesondere mit einer diesbezüglichen am Bildschirm des lokalen Rechners 17 ausgebbaren Fehlermeldung abgebrochen – Schritt 32, Zweig "(–)"; Schritt 33. Selbstverständlich kann das Verfahren automatisch neu gestartet werden, indem aus der Fehlermeldung eine entsprechende Information an den entfernten Rechner 11 abgeleitet wird, die diesen veranlasst, die Programmdaten 10 erneut zu übertragen. Mit der erneuten Übertragung der Programmdaten 10 beginnt das Verfahren erneut mit dem ersten Schritt 30 Im Falle der Verwendbarkeit der Programmdaten 10 – Schritt 32, Zweig "(+)" – wird das Verfahren mit dem dritten Schritt 40 fortgesetzt. Dieser dritte Schritt 40 kann entweder automatisch oder nach entsprechender Freigabe durch einen Bediener des lokalen Rechners 13 ausgeführt werden. Der dritte Schritt 40 beinhaltet den Transfer des in der Steuerung 13 gespeicherten Steuerungsprogramms 15 in den Zwischenspeicher 21 des lokalen Rechners 17. Das Steuerungsprogramm 15 wird dazu aus der Steuerung 13 ausgelesen und in einen der Speicherbereiche 22, 23 des Zwischenspeichers 21 kopiert. Die Kopie des Steuerungsprogramms 15 wird dabei im demjenigen Speicherbereich 22, 23 abgelegt, der nicht bereits durch die übertragenen Programmdaten 10 belegt ist, also z.B. den zweiten Speicherbereich 23. Für diesen Transfer des Steuerungsprogramms 15 ist der lokale Rechner 17 mit der Steuerung 13 kommunikativ, vorzugsweise über die Busverbindung 18, verbunden.In case of inapplicability of the program data 10 the procedure, especially with a related on the screen of the local computer 17 Aborted error message aborted - Step 32 , Branch "(-)"; step 33 , Of course, the method can be restarted automatically by the corresponding error message from the error message to the remote computer 11 which causes them, the program data 10 retransmit. With the retransmission of the program data 10 the procedure starts again with the first step 30 In case of availability of program data 10 - Step 32 , Branch "(+)" - becomes the procedure with the third step 40 continued. This third step 40 can either automatically or after appropriate clearance by an operator of the local computer 13 be executed. The third step 40 involves the transfer of the in the controller 13 stored control program 15 in the cache 21 of the local computer 17 , The control program 15 gets out of the control 13 read out and into one of the memory areas 22 . 23 of the cache 21 copied. The copy of the control program 15 is doing in that memory area 22 . 23 not already stored by the transmitted program data 10 is occupied, eg the second memory area 23 , For this transfer of the control program 15 is the local calculator 17 with the controller 13 communicatively, preferably via the bus connection 18 , connected.

Bei der Busverbindung 18 handelt es sich um eine dauerhafte kommunikative Verbindung, die auch für den Einsatz in Industrieumgebungen vorgesehen und geeignet ist. Übertragungsfehler sind daher sehr viel unwahrscheinlicher als bei der Übertragung der Daten zwischen entferntem und lokalem Rechner 11, 17. Gleichwohl sind auch über die Busverbindung Übertragungsfehler niemals gänzlich auszuschließen. Deshalb kann in einem weiteren optionalen vierten Schritt 41 vorgesehen sein, dass die Kopie des Steuerungsprogramms 15 im Hinblick auf korrekte Übertragung überprüft wird. Die Prüfung kann in der bereits oben im Zusammenhang mit der Prüfung der übertragenen Programmdaten 10 geschilderten Art und Weise erfolgen. Verläuft diese Prüfung zufriedenstellend – Schritt 42, Zweig "(+)" -, wird das Verfahren fortgesetzt. Ergibt die Überprüfung dagegen eine Fehlerhaftigkeit der Kopie des Steuerungsprogramms – Schritt 42, Zweig "(-)" – wird entweder der Transfer des Steuerungsprogramms 15 wiederholt (nicht dargestellt) oder das Verfahren mit einer Fehlermeldung abgebrochen (Schritt 43).At the bus connection 18 it is a permanent communicative connection, which is also intended and suitable for use in industrial environments. Transmission errors are therefore much less likely than with the transmission of data between remote and local computer 11 . 17 , Nevertheless, transmission errors can never be completely ruled out via the bus connection. Therefore, in another optional fourth step 41 be provided that the copy of the control program 15 is checked for correct transmission. The exam may be in the already above related to the examination of the transmitted program data 10 described manner. Completes this test satisfactorily - step 42 , Branch "(+)" -, the process continues. If, on the other hand, the check results in an error in the copy of the control program - step 42 , Branch "(-)" - is either the transfer of the control program 15 repeatedly (not shown) or the process is aborted with an error message (step 43 ).

Nach dem Anlegen der Kopie des Steuerungsprogramms 15 im Zwischenspeicher (dritter Schritt 40 – ggf. nach dem Überprüfen der Kopie des Steuerungsprogramms 15 (optionaler vierter Schritt 41) – wird in einem fünften Schritt 50 der Transfer der übertragenen und im ersten Speicherbereich 22 zwischengespeicherten Programmdaten 10 an die Steuerung 13 veranlasst. Dazu ist im Allgemeinen erforderlich, dass die Ausführung des Steuerungsprogramms 15 durch die Steuerung 13 unterbrochen ist. Dies kann automatisch, z.B. durch Übermittlung eines entsprechenden Befehls seitens des lokalen Rechners 17 über die Busverbindung 18 an die Steuerung 13, geschehen. Dazu ist aber üblicherweise erforderlich, dass die Unterbrechung der Ausführung des Steuerungsprogramms 15 zu einem dafür geeigneten Zeitpunkt erfolgt, so dass durch die Unterbrechung im technischen Prozess 16 keine unsicheren Zustände entstehen. Bei einem für eine automatische Unterbrechung vorbereiteten Steuerungsprogramm 15 werden solche Zeitpunkte oder korrespondierende Zustände durch vom lokalen Rechner 17 abfragbare Statusinformationen signalisiert. Der lokale Rechner 17 veranlasst die Unterbrechung des Steuerungsprogramms 15 und den nachfolgenden Transfer der Programmdaten 10 also nur dann, wenn durch entsprechende Statusinformationen (Freigabemeldung) die Unbedenklichkeit einer solchen Unterbrechung, also die Verfügbarkeit der Steuerung 13 für den Datentransfer, signalisiert ist. Ist keine automatische Unterbrechung der Ausführung des Steuerungsprogramms 15 möglich oder vorgesehen, generiert der lokale Rechner 17 eine entsprechende Meldung für einen vor Ort befindlichen Bediener. Dieser überführt den technischen Prozess 16 entsprechend der Meldung, die zu diesem Zweck Hilfs- oder Hinweistexte umfassen kann, in einen sicheren Zustand und unterbricht dann die Ausführung des Steuerungsprogramms 15. Danach signalisiert der Bediener dem lokalen Rechner 17, z.B. durch eine Tastatureingabe, die Ausführung der Maßnahmen und die damit gegebene Verfügbarkeit der Steuerung 13 für den Transfer der Programmdaten 10.After creating the copy of the control program 15 in the cache (third step 40 - if necessary after checking the copy of the control program 15 (optional fourth step 41 ) - becomes in a fifth step 50 the transfer of the transferred and in the first memory area 22 cached program data 10 to the tax augmentation 13 causes. This generally requires that the execution of the control program 15 through the controller 13 is interrupted. This can be done automatically, eg by transmitting a corresponding command from the local computer 17 over the bus connection 18 to the controller 13 , happen. However, this usually requires that the interruption of the execution of the control program 15 at a suitable time, so that the interruption in the technical process 16 no unsafe states arise. For a control program prepared for an automatic interruption 15 Such times or corresponding states are transmitted by the local computer 17 pollable status information signals. The local computer 17 initiates the interruption of the control program 15 and the subsequent transfer of the program data 10 So only if by appropriate status information (release message) the safety of such an interruption, so the availability of the controller 13 for the data transfer, is signaled. Is not an automatic interruption of the execution of the control program 15 possible or provided, the local computer generates 17 an appropriate message for an on-site operator. This transfers the technical process 16 according to the message, which may include auxiliary or statement texts for this purpose, in a safe state and then interrupts the execution of the control program 15 , Afterwards the operator signals the local computer 17 , eg by a keyboard input, the execution of the measures and the availability of the control 13 for the transfer of the program data 10 ,

Die Programmdaten 10 ersetzen dann das Steuerungsprogramm 15 im Steuerungsspeicher 14 der Steuerung 13. Handelt es sich bei den vom entfernten Rechner 11 transferierten Daten – anders als eingangs für diese Beschreibung eines Ausführungsbeispiels vorausgesetzt – nicht um Programmdaten 10, so ersetzen die übertragenen Daten die korrespondierenden Daten in der Steuerung 13. Zur Verallgemeinerung werden die von dem entfernten Rechner 11 übertragenen Daten, insbesondere die Programmdaten 10, daher als "Neudaten" und diejenigen Daten, die durch die Neudaten ersetzt werden, entsprechend als "Altdaten" bezeichnet. Wenn es sich bei den Neudaten um Programmdaten 10 handelt, handelt es sich bei den Altdaten um das bisher in der Steuerung gespeicherte Steuerungsprogramm 15. Im Folgenden werden daher die Begriffe Programmdaten 10 und Neudaten sowie Steuerungsprogramm 15 und Altdaten synonym verwendet.The program data 10 then replace the control program 15 in the control memory 14 the controller 13 , Is it the ones from the remote computer? 11 transferred data - unlike initially for this description of an embodiment provided - not program data 10 , so the transmitted data replace the corresponding data in the controller 13 , To generalize those of the remote computer 11 transmitted data, in particular the program data 10 , therefore as "new data" and those data that are replaced by the new data, accordingly called "legacy". If the new data is program data 10 is concerned, the old data is the control program previously stored in the controller 15 , The following therefore the terms program data 10 and new data and control program 15 and syndicated data.

Vor dem Transfer der Neudaten an die Steuerung kann in einem weiteren optionalen, nicht dargestellten Schritt noch überprüft werden, ob der Transfer der Neudaten sinnvoll oder möglich ist. Dazu kann z.B. eine Revisionsnummer oder dergleichen in den Neu- und Altdaten herangezogen werden. Üblicherweise ist ein Transfer der Neudaten dann nicht sinnvoll, wenn die Revisionsnummer der Altdaten höher ist als die der Neudaten, wenn also die in der Steuerung 13 gespeicherten Altdaten tatsächlich aktueller als die Neudaten sind. Auf diese Konstellation kann ein Bediener des lokalen Rechners 17 durch eine entsprechende Meldung aufmerksam gemacht werden, der dann entscheidet, ob der Transfer durchgeführt werden soll oder nicht. Des Weiteren ist ein Transfer der Neudaten an die Steuerung 13 dann nicht sinnvoll, wenn diese für die Steuerung nicht geeignet sind, etwa weil entsprechende Programmdaten durch die Steuerung nicht ausführbar sind oder weil die Programmdaten aufgrund des im Steuerungsspeicher 14 zur Verfügung stehenden Speicherplatzes nicht vollständig an die Steuerung transferiert werden können. Ob die Neudaten für die Steuerung 13 geeignet sind, kann durch Vergleiche einer aus der Steuerung 13 auslesbaren Kennung mit einer in den Neudaten enthaltenen Kennung entschieden werden. Ob die Neudaten vollständig in den Steuerungsspeicher 14 übertragen werden können, kann durch Vergleich des Umfangs der Neudaten mit einer bei der Steuerung 13 auslesbaren Speicherinformation entschieden werden.Before transferring the new data to the controller, it is possible to check in another optional step, not shown, whether the transfer of the new data makes sense or is possible. For this example, a revision number or the like can be used in the new and old data. Usually a transfer of the new data does not make sense, if the revision number of the old data is higher than that of the new data, if so in the control 13 stored old data are actually more current than the new data. On this constellation can be an operator of the local computer 17 be notified by a corresponding message, which then decides whether the transfer should be carried out or not. Furthermore, a transfer of the new data to the controller 13 then not useful if they are not suitable for the controller, because appropriate program data can not be executed by the controller or because the program data due to the control memory 14 available storage space can not be completely transferred to the controller. Whether the new data for the controller 13 are suitable, can by comparing one of the controller 13 readable identifier with an identifier contained in the new data. Whether the new data completely in the control memory 14 can be transmitted by comparing the amount of new data with one in the controller 13 readable memory information.

Nach dem Transfer der Programmdaten 10 an die Steuerung 13 (fünfter Schritt 50) wird in einem nachfolgenden sechsten Verfahrensschritt 60 die korrekte Übertragung der Programmdaten 10 an die Steuerung 13 überprüft. Im Falle der Übertragung von Programmdaten 10 als Neudaten wird darüber hinaus optional auch eine korrekte Funktion der Programmdaten 10 geprüft. Die Überprüfung der korrekten Übertragung der Programmdaten 10 kann wie bereits weiter oben, im Zusammenhang mit dem optionalen zweiten Schritt 31 beschrieben erfolgen. Zur Überprüfung der korrekten Funktion der Programmdaten 10 werden zu diesem Zweck vorgesehene Kontrollinformationen überprüft.After the transfer of the program data 10 to the controller 13 (fifth step 50 ) is in a subsequent sixth step 60 the correct transmission of the program data 10 to the controller 13 checked. In case of transmission of program data 10 in addition, as new data, a correct function of the program data is optional as well 10 checked. Checking the correct transmission of the program data 10 as discussed above, in connection with the optional second step 31 described described. To check the correct function of the program data 10 For this purpose, control information intended for this purpose shall be checked.

Dazu wird das Steuerungsprogramm 15, das nunmehr die neuen Programmdaten 10 umfasst, im sechsten Verfahrensschritt 60 zunächst gestartet. Dies ist automatisch durch einen entsprechenden von dem lokalen Rechner 17 an die Steuerung 13 über die Busverbindung 18 übermittelbaren Startbefehl oder manuell durch einen Benutzereingriff an der Steuerung 13, der aufgrund einer diesbezüglichen Meldung des lokalen Rechners 17 (z.B. durch eine Meldung an einem Bildschirm des lokalen Rechners 17) ausgeführt wird, möglich. Der Benutzereingriff besteht üblicherweise nur in einer Betätigung eines Schaltelements (Starttaster) an der Steuerung 13, so dass dieser Eingriff auch durch ungeübtes Personal ausgeführt werden kann. Zudem kann der erforderliche Eingriff am Bildschirm des lokalen Rechners 17 graphisch dargestellt werden, so dass der Benutzer für den vorzunehmenden Eingriff ausreichend instruiert ist.This is the control program 15 , now the new program data 10 in the sixth step 60 initially started. This is automatically done by a corresponding one from the local machine 17 to the controller 13 over the bus connection 18 Transmit start command or manually by a user intervention on the controller 13 , due to a message from the local computer 17 (eg by a message on a screen of the local computer 17 ) is possible. The user intervention is usually only in one operation of a switching element (start button) on the controller 13 so that this intervention can also be performed by untrained personnel. In addition, the required intervention on the screen of the local computer 17 be graphed so that the user is sufficiently instructed for the procedure to be performed.

Als Kontrollinformation für die Überprüfung der korrekten Funktion der Programmdaten 10 eignet sich z.B. der Inhalt einer nicht dargestellten Speicherzelle im Speicher der Steuerung, der unter Kontrolle der Programmdaten 10/des Steuerungsprogramms 15 in definierter Weise geändert wird. Als definierte Änderung der Speicherzelle nach Art eines "Lebenszeichens" kommt z.B. das zyklische Inkrementieren oder Dekrementieren eines Zählers oder – einfacher – das zyklische Umschalten (toggeln) des Inhalts der Speicherzelle in Betracht. Im sechsten Verfahrensschritt 60 kann dann für eine vorgegebene oder vorgebbare Dauer der Inhalt dieser Speicherzelle auf erwartete Änderungen überprüft werden. Ergeben sich bei der Überprüfung keine Änderungen in der erwarteten Art, wird dies dahingehend ausgewertet, dass eine korrekte Funktion der Programmdateien 10 nicht gegeben ist – Schritt 61, Zweig "(–)".As control information for checking the correct function of the program data 10 For example, the content of a non-illustrated memory cell in the memory of the controller, which is under control of the program data 10 / the control program 15 changed in a defined way. As a defined change of the memory cell in the manner of a "sign of life" comes, for example, the cyclic incrementing or decrementing of a counter or - more easily - the cyclic switching (toggle) of the contents of the memory cell into consideration. In the sixth process step 60 can then be checked for expected or predetermined duration of the contents of this memory cell for expected changes. If there are no changes in the expected type during the check, this is evaluated to ensure that the program files function correctly 10 is not given - step 61 , Branch "(-)".

Wenn es sich bei der Steuerung 13 um eine sogenannte speicherprogrammierbare Steuerung oder dergleichen handelt, so liefert diese nach dem Start des Steuerungsprogramms bestimmte, spezielle Statusinformationen, die Auskunft über die korrekte Funktion der Programmdateien 10 geben. Bei diesen speziellen Statusinformationen handelt es sich um Registerinhalte, die z.B. eine Zykluszeitüberschreitung oder einen Programmabbruch anzeigen. Ergibt sich bei der Überprüfung dieser Statusinformationen ein fehleranzeigender Registerinhalt, wird dies ebenfalls dahingehend ausgewertet, dass eine korrekte Funktion der Programmdaten 10 nicht gegeben ist – Schritt 61, Zweig "(–)".When it comes to the controller 13 is a so-called programmable logic controller or the like, it provides after the start of the control program certain special status information, the information about the correct function of the program files 10 give. This special status information is register contents that indicate, for example, a cycle timeout or a program termination. If, during the checking of this status information, an error-indicating register content results, this is likewise evaluated in such a way that a correct function of the program data 10 is not given - step 61 , Branch "(-)".

Verläuft die Überprüfung der korrekten Funktion der Programmdaten 10 zufriedenstellend – Schritt 61, Zweig "(+)" – so ist die Übertragung der Programmdaten 10 an die Steuerung erfolgreich abgeschlossen und das Verfahren ist beendet. Dies kann in einem letzten, nicht dargestellten Verfahrensschritt durch eine entsprechende Meldung am Bildschirm des lokalen Rechners 13 angezeigt werden. Alternativ oder zusätzlich kann in diesem letzten Verfahrensschritt auch eine diesbezügliche Quittungsinformation an den entfernten Rechner 11 übermittelt werden, so dass auch der Lieferant der neuen Programmdaten 10 über deren korrekte Funktion informiert ist. Ebenfalls kann vorgesehen sein, dass andere im Verlauf des Verfahrens generierte Fehlermeldungen (Schritt 33, Schritt 43) an den entfernten Rechner 11 übermittelt werden, so dass der Lieferant der neuen Programmdaten 10 über aufgetretene Fehler informiert ist und damit ggf. eine Instruktion von Bedienpersonal vor Ort möglich ist.Executes the verification of the correct function of the program data 10 satisfactory - step 61 , Branch "(+)" - this is the transmission of the program data 10 to the controller is successfully completed and the process is completed. This can be done in a last process step, not shown by an appropriate message on the screen of the local computer 13 are displayed. Alternatively or additionally, in this last method step, a related acknowledgment information to the remote computer 11 so that also the supplier of the new program data 10 is informed about their correct function. It can also be provided that other error messages generated during the process (step 33 , Step 43 ) to the remote computer 11 be transmitted so that the supplier of the new program data 10 is informed about occurred errors and thus possibly an instruction of operators on site is possible.

Ergibt die Überprüfung der Neudaten (also z.B. der Programmdaten 10) dagegen eine Fehlerhaftigkeit – Schritt 61, Zweig "(–)" –, so werden die zuvor gesicherten Altdaten (also entsprechend die Kopie des Steuerungsprogramms 15) an die Steuerung 13 zurück transferiert und eine diesbezügliche Fehlermeldung ausgegeben. Dies geschieht in einem siebten Verfahrensschritt 70. Im Anschluss an den Rücktransfer der gesicherten Altdaten kann in einem optionalen achten Verfahrensschritt 71 vorgesehen sein, dass die korrekte Rückübertragung der zwischengespeicherten Altdaten überprüft wird. Erfolgt diese Überprüfung zufriedenstellend – Schritt 72, Zweig "(+)" –, kann die Steuerung 13 mit den zurück transferierten Altdaten wieder in Betrieb gesetzt werden. Es wird entsprechend zum sechsten Verfahrensschritt 60 verzweigt, der u.a. den Start des Steuerungsprogramms 15, das jetzt wieder die zwischengespeicherten Daten des ursprünglichen Steuerungsprogramms 15 beinhaltet, umfasst. Die Steuerung des technischen Prozesses 16 kann fortgesetzt werden, ohne dass dazu ein Eingriff von Fachpersonal vor Ort erforderlich wäre. Verläuft der Start des rücktransferierten Steuerungsprogramms 15 dagegen nicht erwartungsgemäß, wird dies ebenfalls im sechsten Verfahrensschritt 60 erkannt und ggf. ein erneutes Rücktransferieren (Schritt 61, Zweig "(–)", Schritt 70) veranlasst.Returns the check of the new data (eg the program data 10 ) on the other hand a defectiveness - step 61 , Branch "(-)" -, the previously saved old data (ie the copy of the control program 15 ) to the controller 13 transferred back and issued an error message. This happens in a seventh process step 70 , Following the return transfer of the saved legacy data, an optional eighth step can be performed 71 be provided that the correct retransmission of cached legacy data is checked. If this check is satisfactory - step 72 , Branch "(+)" -, can control 13 be put back into operation with the old data transferred back. It becomes according to the sixth method step 60 branches, including the start of the control program 15 which now returns the cached data of the original control program 15 includes. The control of the technical process 16 It can be continued without the need for specialist intervention on site. Runs the start of the back transfered control program 15 on the other hand, not as expected, this is also in the sixth step 60 detected and possibly a new back transfer (step 61 , Branch "(-)", step 70 ).

Die Funktionalität des achten Verfahrensschrittes 71 (inkl. Schritt 72) kann ggf. durch den sechsten Verfahrensschritt 60 (inkl. Schritt 61) erfasst sein. Dann muss im sechsten Verfahrensschritt 60 eine Fallunterscheidung getroffen werden, die sicherstellt, dass eine evtl. Fehlerhaftigkeit der an die Steu erung 13 transferierten Daten einerseits in Bezug auf die im ersten Speicherbereich 22 zwischengespeicherten Neudaten oder andererseits in Bezug auf die im zweiten Speicherbereich 23 gesicherten Altdaten überprüft wird.The functionality of the eighth process step 71 (including step 72 ) may optionally by the sixth step 60 (including step 61 ). Then in the sixth step 60 a case distinction is made, which ensures that a possibly incorrectness of the control 13 data transferred on the one hand with respect to the first memory area 22 cached new data or on the other hand in relation to the second memory area 23 secured old data is checked.

Nach ordnungsgemäßem Abschluss des Verfahrens steht auf der Steuerung 13 ein lauffähiges Steuerungsprogramm 15 zur Verfügung. Bei dem lauffähigen Steuerungsprogramm handelt es sich entweder um ein aktualisiertes, die Programmdaten 10 umfassendes Steuerungsprogramm 15 oder um das im Zwischenspeicher 21 gesicherte ursprüngliche Steuerungsprogramm 15. Mit dem erfindungsgemäßen Verfahren und den nach dem Verfahren arbeitenden Kommunikationsteilnehmer, insbesondere ein das Verfahren realisierender lokaler Rechner 17, ist also im Rahmen des Möglichen sichergestellt, dass durch den Transfer der Neudaten die Funktionalität der Betrieb des technischen Prozesses 16 nicht in Frage gestellt ist. Das Verfahren ermöglicht daher auch die Verwendung grundsätzlich "unsicherer" Kommunikationsverbindungen, wie z.B. Telekommunikationsverbindungen, um von einem entfernten Ort den Datenbestand einer zum Betrieb des technischen Prozesses 16 vorgesehenen Steuerung 13 zu aktualisieren.After proper completion of the procedure is on the controller 13 an executable control program 15 to disposal. The executable control program is either an updated one, the program data 10 comprehensive control program 15 or in the cache 21 secured original control program 15 , With the method according to the invention and the communication participants working according to the method, in particular a local computer implementing the method 17 , So, as far as possible, it is ensured that by the transfer of new data the functionality of the operation of the technical process 16 not questioned. Therefore, the method also allows the use of basically "unsafe" communication links, such as telecommunication links, from a remote location, the database for operating the technical process 16 provided control 13 to update.

Wenn die Kapazität des Zwischenspeichers 21 dies zulässt, kann vorgesehen sein, dass im Zwischenspeicher nicht nur eine Kopie der Altdaten vorgehalten wird. Grundsätzlich wird bei jedem neuen Kommunikationsvorgang der Inhalt des von den Altdaten belegten Speicherbereichs überschrieben. Der für die Altdaten vorgesehene Speicherbereich kann auch in mehrere Unterbereich unterteilt sind, die dann z.B. in einer Liste, insbesondere in einer sogenannten verketteten Liste, organisiert sind. Jedes Element einer solchen Liste entspricht dann dem jeweils zur Verfügung stehenden Speicherbereich. Auf diese Weise können mehrere Versionen von Altdaten im Zwischenspeicher gesichert werden. Erst nach einer Anzahl von Datenübertragungsvorgängen der vorstehend beschriebenen Art ist die Kapazität des Zwischenspeichers 21 erschöpft, so dass dann Altdaten, vorzugsweise die ältesten Altdaten zuerst, überschrieben werden müssen.If the capacity of the cache 21 allows this, it can be provided that not only a copy of the legacy data is kept in the cache. Basically, the content of the memory area occupied by the legacy data is overwritten with each new communication process. The memory area provided for the legacy data can also be subdivided into a plurality of subareas which are then organized eg in a list, in particular in a so-called linked list. Each element of such a list then corresponds to the respective available storage area. In this way, multiple versions of legacy data can be saved in the cache. Only after a number of data transfer operations of the type described above is the capacity of the cache 21 exhausted, so that then old data, preferably the oldest oldest data first, must be overwritten.

Das in 3 dargestellte und vorstehend beschriebene Verfahren ist vorzugsweise als Software realisiert. Die Software ist im Wesentlichen auf dem lokalen Rechner 17 abgelegt und wird von diesem ausgeführt. Wo das erfindungsgemäße Verfahren aus der übergeordneten Perspektive sämtlicher Kommunikationsteilnehmer beschreiben wurde, ist für die Software des lokalen Rechners 17 die entsprechende Funktionalität aus der Perspektive des lokalen Rechners 17 zugrunde zu legen. Beispielsweise wurde der erste Verfahrensschritt 30 so beschrieben, dass der entfernte Rechner 11 die Programmdaten 10 an den lokalen Rechner 17 überträgt. Darauf hat der lokale Rechner 17 nur dann Einfluss, wenn er als aktiver Kommunikationsteilnehmer fungiert. Hinsichtlich der auf dem lokalen Rechner 17 realisierten Software bedeutet dies, dass der erste Verfahrensschritt 30 nicht die Über tragung der Neudaten sondern den Empfang der übertragenen Neudaten 10 realisiert, wenn der lokale Rechner in Bezug auf diese Kommunikationsverbindung nur ein passiver Kommunikationsteilnehmer ist. Analoge Übertragungen sind für entsprechende weitere Verfahrensschritte vorzunehmen.This in 3 The method illustrated and described above is preferably implemented as software. The software is essentially on the local machine 17 filed and is executed by this. Where the inventive method has been described from the overall perspective of all communication participants, is for the software of the local computer 17 the corresponding functionality from the perspective of the local computer 17 to underlie. For example, the first process step became 30 so described that the remote machine 11 the program data 10 to the local computer 17 transfers. On it has the local computer 17 only if he acts as an active communication participant. Regarding the on the local machine 17 realized software, this means that the first process step 30 not the transmission of the new data but the reception of the transmitted new data 10 realized when the local computer with respect to this communication connection is only a passive communication subscriber. Analogous transmissions are to be made for corresponding further method steps.

Die das Verfahren realisierende Software umfasst in an sich bekannter Weise unterschiedlichste Softwareanweisungen, also z.B. Zuweisungen, Vergleiche, Operationen und Sprünge oder Verzweigungen, die zusammenfassend als Programmcodemittel bezeichnet werden. Die Software, also die Gesamtheit der zu Realisierung der Funktionalität des erfindungsgemäßen Verfahrens erforderlichen Programmcodemittel sind in an sich bekannter Weise auf einem maschinenlesbaren Datenträger, insbesondere einer Diskette oder dergleichen gespeichert. Mit dem Laden der Software in den Speicher eines Computersystems, insbesondere in den Speicher (Zwischenspeicher 21) des lokalen Rechners 17 ist die Ausführung der Software und entsprechend die Ausführung des erfindungsgemäßen Verfahrens möglich.The software implementing the method comprises, in a manner known per se, a very wide variety of software instructions, ie assignments, comparisons, operations and jumps or branches, which are collectively referred to as program code means. The software, ie the entirety of the program code means required for realizing the functionality of the method according to the invention, are stored in a manner known per se on a machine-readable data carrier, in particular a floppy disk or the like. By loading the software into the memory of a computer system, especially in the memory (cache 21 ) of the local computer 17 the execution of the software and according to the execution of the method according to the invention is possible.

Damit lässt sich die Erfindung kurz wie folgt darstellen:
Es wird ein Verfahren und eine Vorrichtung zum Transfer von Daten von einem ersten Kommunikationsteilenehmer an einen zweiten Kommunikationsteilnehmer angegeben, wobei die transferierten oder zu transferierenden Daten (Neudaten) beim zweiten Kommunikationsteilnehmer bereits vorhandene Daten (Altdaten) ersetzen und wobei vor dem Transfer der Neudaten automatisch eine Kopie der Altdaten in einem Zwischenspeicher 21 veranlasst wird und wobei die Neudaten erst an den zweiten Kommunikationsteilnehmer transferiert werden, wenn sichergestellt ist, dass eine fehlerfreie Kopie der Altdaten im Zwischenspeicher vorliegt.
Thus, the invention can be briefly represented as follows:
The invention relates to a method and a device for transferring data from a first communication participant to a second communication participant, wherein the transferred or transferred data (new data) at the second communication participant replace existing data (legacy data) and automatically before the transfer of the new data Copy of legacy data in a cache 21 and wherein the new data is only transferred to the second communication participant, if it is ensured that an error-free copy of the legacy data is present in the buffer.

1010
Programmdatenprogram data
1111
entfernter Rechnerdistant computer
1212
SpeicherStorage
1313
Steuerungcontrol
1414
Steuerungsspeichercontrol storage
1515
Steuerungsprogrammcontrol program
1616
technischer Prozesstechnical process
1717
lokaler Rechnerlocal computer
1818
Busverbindungbus
1919
Telekommunikationsverbindungtelecommunications link
2020
InternetInternet
2121
Zwischenspeichercache
2222
erster Speicherbereichfirst storage area
2323
zweiter Speicherbereichsecond storage area
2424
erste Kommunikationsschnittstellefirst Communication Interface
2525
zweite Kommunikationsschnittstellesecond Communication Interface
3030
erster Verfahrensschrittfirst step
3131
optionaler zweiter Verfahrensschrittoptional second process step
3232
Verfahrensschrittstep
4040
dritter Verfahrensschrittthird step
4141
optionaler vierter Verfahrensschrittoptional fourth process step
4242
Verfahrensschrittstep
5050
fünfter Schrittfifth step
6060
sechster Verfahrensschrittsixth step
6161
Verfahrensschrittstep
7070
siebter Verfahrensschrittseventh step
7171
optionaler achter Verfahrensschrittoptional eighth process step
7272
Verfahrensschrittstep

Claims (13)

Verfahren zur Übertragung von Daten zwischen einem entfernten Rechner (11) und einer Steuerung (13), wobei der entfernte Rechner (11) mit der Steuerung (13) kommunikativ verbunden ist, gekennzeichnet durch folgende Verfahrensschritte a) die übertragenen oder zu übertragenden Daten – Neudaten – werden in einem ersten Speicherbereich (22) eines Zwischenspeichers (21) abgelegt, b) vor dem Übertragen der Neudaten zur Steuerung (13) wird eine Kopie derjenigen Daten, die durch die Neudaten ersetzt werden – Altdaten –, in einem zweiten Speicherbereich (23) des Zwischenspeichers (21) anlegt und c) die Neudaten werden aus dem ersten Speicherbereich (22) an die Steuerung (13) übertragen.Method for transferring data between a remote computer ( 11 ) and a controller ( 13 ), whereby the remote computer ( 11 ) with the controller ( 13 ) is communicatively connected, characterized by the following method steps a) the data transmitted or to be transmitted, New data - are stored in a first memory area ( 22 ) of a cache ( 21 ), b) before transferring the new data to the controller ( 13 ) is a copy of those data, which are replaced by the new data - legacy data - in a second memory area ( 23 ) of the cache ( 21 ) and c) the new data are taken from the first memory area ( 22 ) to the controller ( 13 ) transfer. Verfahren nach Anspruch 1, wobei der Zwischenspeicher (21) Bestandteil eines der Steuerung (13) zugeordneten lokalen Rechners (17) ist und wobei der entfernte Rechner (11) mit dem lokalen Rechner (17) und der lokale Rechner (17) mit der Steuerung (13) kommunikativ verbunden ist.Method according to claim 1 where the buffer ( 21 ) Part of a controller ( 13 ) associated local computer ( 17 ) and where the remote computer ( 11 ) with the local computer ( 17 ) and the local computer ( 17 ) with the controller ( 13 ) communicatively connected. Verfahren zur Übertragung von Daten zwischen einem entfernten Rechner (11) und einer Steuerung (13), wobei der entfernte Rechner (11) mit einem lokalen Rechner (17) und der lokale Rechner (17) mit der Steuerung (13) kommunikativ verbunden ist, gekennzeichnet durch folgende Verfahrensschritte a) der lokale Rechner (17) empfängt die übertragenen oder zu übertragenden Daten – Neudaten – und die Neudaten werden in einem ersten Speicherbereich (22) eines Zwischenspeichers (21) des lokalen Rechners (17) abgelegt, b) der lokale Rechner (17) liest derjenigen Daten der Steuerung (13), die durch die Neudaten ersetzt werden – Altdaten -, aus und legt in einem zweiten Speicherbereich (23) des Zwischenspeichers (21) eine Kopie der Altdaten an und c) der lokale Rechner (17) überträgt die Neudaten aus dem ersten Speicherbereich (22) an die Steuerung (13).Method for transferring data between a remote computer ( 11 ) and a controller ( 13 ), whereby the remote computer ( 11 ) with a local computer ( 17 ) and the local computer ( 17 ) with the controller ( 13 ) is communicatively connected, characterized by the following method steps a) the local computer ( 17 ) receives the data transmitted or to be transmitted - new data - and the new data are stored in a first memory area ( 22 ) of a cache ( 21 ) of the local computer ( 17 ), b) the local computer ( 17 ) reads the data of the controller ( 13 ), which are replaced by the new data - legacy data -, and puts in a second memory area ( 23 ) of the cache ( 21 ) a copy of the legacy data and c) the local computer ( 17 ) transfers the new data from the first memory area ( 22 ) to the controller ( 13 ). Verfahren nach Anspruch 1, 2 oder 3, wobei es sich bei den Alt- und Neudaten um ein Steuerungsprogramm (10) – altes bzw. neues Steuerungsprogramm – handelt und wobei nach dem Transfer des neuen Steuerungsprogramms an die Steuerung (13) – Verfahrensschritt c) – dessen Ausführung veranlasst wird.Method according to claim 1, 2 or 3, wherein the old and new data are a control program ( 10 ) - old or new control program - is and after the transfer of the new control program to the controller ( 13 ) - step c) - the execution of which is initiated. Verfahren nach einem der Ansprüche 1 bis 4, wobei der erfolgreiche Transfer der Neudaten in den Zwischenspeicher (21) anhand von in den Neudaten enthaltenen Kontrollinformationen erkannt wird.Method according to one of claims 1 to 4, wherein the successful transfer of the new data into the cache ( 21 ) is detected on the basis of control information contained in the new data. Verfahren nach einem der Ansprüche 1 bis 5, wobei der Transfer der Neudaten an die Steuerung (13) nur dann erfolgt oder abgerufen werden kann, wenn zuvor das Anlegen der Kopie der Altdaten erfolgreich abgeschlossen wurde.Method according to one of claims 1 to 5, wherein the transfer of the new data to the controller ( 13 ) can only be performed or retrieved if the creation of the copy of the legacy data has been completed successfully. Verfahren nach einem der Ansprüche 1 bis 6, wobei nach dem Transfer der Neudaten an die Steuerung (13) automatisch geprüft wird, ob der Transfer erfolgreich war (Datenkonsistenz, Programm läuft) und wobei im Falle eines nicht erfolgreichen Transfers ebenfalls automatisch ein Transfer der Altdaten an die Steuerung (13) ausgelöst wird (Fehlermeldung).Method according to one of claims 1 to 6, wherein after the transfer of the new data to the controller ( 13 ) is checked automatically, whether the transfer was successful (data consistency, program running) and in the case of an unsuccessful transfer also a transfer of the old data to the controller ( 13 ) is triggered (error message). Verfahren nach Anspruch 7, wobei der Transfer der Neudaten auf die Steuerung (13) von einem Bediener des lokalen Rechners (17) ausgelöst wird, der dabei mittels einer von der Verfügbarkeit der Steuerung (13) abhängigen Freigabemeldung unterstützt wird.Method according to claim 7, wherein the transfer of the new data to the controller ( 13 ) from an operator of the local computer ( 17 ), which is determined by means of one of the availability of the controller ( 13 ) dependent release message is supported. Vorrichtung zur Datenübertragung mit einem entfernten Rechner (11) und einer Steuerung (13), wobei der entfernte Rechner (11) mit der Steuerung (13) kommunikativ verbunden ist, dadurch gekennzeichnet, dass a) die zum Übertragen vorgesehenen Daten – Neudaten – in einem ersten Speicherbereich (22) eines Zwischenspeichers (21) ablegbar sind, b) vor dem Übertragen der Neudaten zur Steuerung (13) eine Kopie derjenigen Daten, die durch die Neudaten ersetzt werden – Altdaten –, in einem zweiten Speicherbereich (23) des Zwischenspeichers (21) anlegbar ist und c) die Neudaten aus dem ersten Speicherbereich (22) an die Steuerung (13) übertragbar sind.Device for data transmission with a remote computer ( 11 ) and a controller ( 13 ), whereby the remote computer ( 11 ) with the controller ( 13 ) is communicatively connected, characterized in that a) the data intended for transmission - new data - in a first memory area ( 22 ) of a cache ( 21 ), b) before transferring the new data to the controller ( 13 ) a copy of the data to be replaced by the new data - legacy data - in a second memory area ( 23 ) of the cache ( 21 ) and c) the new data from the first memory area ( 22 ) to the controller ( 13 ) are transferable. Vorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass sie zur Ausführung des Verfahrens nach einem der Ansprüche 1 bis 8 vorgesehen oder geeignet ist.Device according to claim 9, characterized in that that they are for execution the method according to one of claims 1 to 8 or provided suitable is. Computerprogramm mit Programmcodemitteln, die alle Schritte des Verfahrens nach einem der Ansprüche 1 bis 8 ausführen, wenn das Programm auf einem Computersystem, insbesondere einem als lokaler Rechner (17) fungierenden Computersystem, abläuft.Computer program with program code means, which perform all the steps of the method according to one of claims 1 to 8, when the program is run on a computer system, in particular as a local computer ( 17 ) functioning computer system, expires. Computerprogrammprodukt mit auf einem digitalen Speichermedium, insbesondere einer Diskette, gespeichertem Programmcode zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 8, wenn das Programmprodukt auf einem Computersystem, insbesondere einem als lokaler Rechner (17) fungierenden Computersystem, abläuft.Computer program product with program code stored on a digital storage medium, in particular a floppy disk, for carrying out the method according to one of Claims 1 to 8, if the program product is stored on a computer system, in particular as a local computer ( 17 ) functioning computer system, expires. Computerprogramm mit Programmcode zur Durchführung des Verfahrens nach einem der Ansprüche 1 bis 17, wenn das Programm auf einem Computersystem, insbesondere einem als lokaler Rechner (17) fungierenden Computersystem, abläuft.Computer program with program code for carrying out the method according to one of claims 1 to 17, when the program is stored on a computer system, in particular as a local computer ( 17 ) functioning computer system, expires.
DE2003153532 2003-11-14 2003-11-14 Data transfer method for use between a remote computer and a control unit, whereby old data, e.g. program data, is backed-up to a buffer memory prior to transfer and installation of the new data Withdrawn DE10353532A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2003153532 DE10353532A1 (en) 2003-11-14 2003-11-14 Data transfer method for use between a remote computer and a control unit, whereby old data, e.g. program data, is backed-up to a buffer memory prior to transfer and installation of the new data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2003153532 DE10353532A1 (en) 2003-11-14 2003-11-14 Data transfer method for use between a remote computer and a control unit, whereby old data, e.g. program data, is backed-up to a buffer memory prior to transfer and installation of the new data

Publications (1)

Publication Number Publication Date
DE10353532A1 true DE10353532A1 (en) 2005-06-16

Family

ID=34585157

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2003153532 Withdrawn DE10353532A1 (en) 2003-11-14 2003-11-14 Data transfer method for use between a remote computer and a control unit, whereby old data, e.g. program data, is backed-up to a buffer memory prior to transfer and installation of the new data

Country Status (1)

Country Link
DE (1) DE10353532A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11270201B2 (en) 2017-12-29 2022-03-08 Intel Corporation Communication optimizations for distributed machine learning
US11373266B2 (en) * 2017-05-05 2022-06-28 Intel Corporation Data parallelism and halo exchange for distributed machine learning

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11373266B2 (en) * 2017-05-05 2022-06-28 Intel Corporation Data parallelism and halo exchange for distributed machine learning
US12211117B2 (en) 2017-05-05 2025-01-28 Intel Corporation Data parallelism and halo exchange for distributed machine learning
US11270201B2 (en) 2017-12-29 2022-03-08 Intel Corporation Communication optimizations for distributed machine learning
US11704565B2 (en) 2017-12-29 2023-07-18 Intel Corporation Communication optimizations for distributed machine learning
US12450484B2 (en) 2017-12-29 2025-10-21 Intel Corporation Communication optimizations for distributed machine learning

Similar Documents

Publication Publication Date Title
EP2817682B1 (en) Method for the failsafe operation of a process control system with redundant control devices
EP2612238B1 (en) Parallel programming and updating of lighting bus subscribers
EP1430369B1 (en) Dynamic access to automation resources
EP2838220A1 (en) Method for the redundant transmission of messages in an industrial communication network and communication device
WO2009049656A1 (en) Method for configuring an arrangement for protecting controlling or monitoring an electrical switch or power supply gear
EP2506502B1 (en) Redundant automation system
DE112019000746T5 (en) Industrial Ethernet-based data transmission system and method and communication device
EP2233991A1 (en) Safety-oriented automation system with automatic address restore
DE102010024275A1 (en) Maintenance tracking system
DE10353532A1 (en) Data transfer method for use between a remote computer and a control unit, whereby old data, e.g. program data, is backed-up to a buffer memory prior to transfer and installation of the new data
DE102011086726B4 (en) Method for redundant communication between a user terminal and a control system server
WO2014161986A1 (en) Control and data transfer system for redundant process control and method for firmware updating
DE60214688T2 (en) PROCESS FOR UPGRADING PROGRAMS IN A NETWORK SERVER WITH RELATED SYSTEM AND SOFTWARE PRODUCT
CH686540A5 (en) Control and/or management system for network elements
WO1999022491A1 (en) System for connecting network elements of communications installations to a telecommunications management network
DE10132036C2 (en) Automation system and method with functions in a markup language
DE19519104C1 (en) Program error removal in program-controlled communication devices
EP2645630B1 (en) Adaptive remote service protocol
EP1019808B1 (en) Responsive system and method for processing digital signals and operating method for a responsive system
EP4204909A1 (en) Edge device and method for providing redundancy functions on an edge device
DE69836937T2 (en) Method for troubleshooting and communication system
EP0989709B1 (en) Method to transmit Data into a memory of an apparatus in particular, which is connected to a network
DE19837216C2 (en) Troubleshooting in a switching center of a communication system
EP1379945A2 (en) Method for carrying out an update in a programme-controlled device, programme-controlled device and programme code that can be executed in a web browser
DE29900996U1 (en) Calculator for a printing press

Legal Events

Date Code Title Description
8141 Disposal/no request for examination