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