DE102011123052B3 - automation system - Google Patents
automation system Download PDFInfo
- Publication number
- DE102011123052B3 DE102011123052B3 DE102011123052.5A DE102011123052A DE102011123052B3 DE 102011123052 B3 DE102011123052 B3 DE 102011123052B3 DE 102011123052 A DE102011123052 A DE 102011123052A DE 102011123052 B3 DE102011123052 B3 DE 102011123052B3
- Authority
- DE
- Germany
- Prior art keywords
- fragment
- automation network
- data
- network component
- fragments
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q9/00—Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C25/00—Arrangements for preventing or correcting errors; Monitoring arrangements
- G08C25/02—Arrangements for preventing or correcting errors; Monitoring arrangements by signalling back receiving station to transmitting station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04Q—SELECTING
- H04Q2209/00—Arrangements in telecontrol or telemetry systems
- H04Q2209/30—Arrangements in telecontrol or telemetry systems using a wired architecture
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
Verfahren zum Übertragen von Daten in einem Automatisierungssystem 1 umfassend eine erste 4 und wenigstens eine zweite 5, 7, 8 Automatisierungs-Netzwerkkomponente, die über zumindest ein Automatisierungsnetzwerk 3b, 3c, 3d zur zyklischen Datenübertragung unter Verwendung eines dem jeweiligen Automatisierungsnetzwerkes 3b, 3c, 3d zwecks Datentransports zugrunde gelegten Kommunikationsprotokolls ausgebildet und miteinander verbunden sind, wobei zu übertragene Daten mittels einer Fragmentierungssteuerung in eine Mehrzahl von Fragmenten F-Funterteilt und die Fragmente F-Fzusammen mit einer Fragmentinformation FI mittels jeweils einer Fragment-Nachricht 9, 10 unter Verwendung des jeweiligen Kommunikationsprotokolls von der ersten 2 an die zweite 5, 7, 8 Automatisierungs-Netzwerkkomponente gesendet werden, und der Empfang eines in der jeweiligen Fragment-Nachricht 9,10 enthaltenen Fragmentes F-Fin der Fragmentinformation FI der Fragment-Nachricht 9, 10 durch die zweite 5, 7, 8 Automatisierungs-Netzwerkkomponente quittiert wird, wobei ein Fragment F-Fmittels einer Fragment-Nachricht 9,10 solange von der ersten 2 Automatisierungs-Netzwerkkomponente zyklisch ausgesendet wird, bis eine Fragment-Nachricht 9, 10 mit einer in der Fragmentinformation FI enthaltenen Empfangsquittierung von der ersten 2 Automatisierungs-Netzwerkkomponente empfangen wird, dadurch gekennzeichnet, dass eine Empfängerfunktionalität der zweiten 5, 7, 8 Automatisierungs-Netzwerkkomponente durch die erste 2 Automatisierungs-Netzwerkkomponente ermittelt wird und Übertragungsparameter in Abhängigkeit von der Empfängerfunktionalität angepasst werden.Method for transmitting data in an automation system 1 comprising a first 4 and at least a second 5, 7, 8 automation network component, which via at least one automation network 3b, 3c, 3d for cyclic data transmission using a respective automation network 3b, 3c, 3d are designed and connected to one another for the purpose of data transport, the data to be transmitted being divided into a plurality of fragments F-Fun by means of a fragmentation controller and the fragments F-F together with fragment information FI using a fragment message 9, 10 in each case using the respective communication protocol from the first 2 to the second 5, 7, 8 automation network component, and the receipt of a fragment F-Fin of the fragment information FI of the fragment message 9, 10 contained in the respective fragment message 9, 10 by the second 5 , 7, 8 automatisi acknowledgment network component, whereby a fragment F-F is sent cyclically by the first 2 automation network component by means of a fragment message 9, 10 until a fragment message 9, 10 with a receipt acknowledgment contained in the fragment information FI from the first 2 automation network component is received, characterized in that a receiver functionality of the second 5, 7, 8 automation network component is determined by the first 2 automation network component and transmission parameters are adapted as a function of the receiver functionality.
Description
Die Erfindung betrifft ein Verfahren zum Übertragen von Daten in einem Automatisierungssystem umfassend eine erste und wenigstens eine zweite Automatisierungs-Netzwerkkomponente, die über ein Automatisierungsnetzwerk zur zyklischen Datenübertragung unter Verwendung eines dem Automatisierungsnetzwerk zwecks Datentransports zugrunde gelegten Kommunikationsprotokolls ausgebildet und miteinander verbunden sind.The invention relates to a method for transmitting data in an automation system comprising a first and at least a second automation network component, which are formed and connected to one another via an automation network for cyclic data transmission using a communication protocol on which the automation network is based for the purpose of data transport.
Die Erfindung betrifft auch ein Automatisierungssystem, ein Computerprogramm sowie eine Automatisierungs-Netzwerkkomponente hierzu.The invention also relates to an automation system, a computer program and an automation network component therefor.
Durch den ökonomischen Druck hat der Grad der Automatisierung in weiten Teilen der industriellen Landschaft stark zugenommen. Dabei ist ein wesentliches Hauptmerkmal der Automatisierungstechnik, dass Maschinen und Anlagen halb- oder vollautomatisch derart gesteuert werden, dass beispielsweise in einem industriellen Herstellungsprozess dieser sicher und größtenteils ohne Eingriff des Menschen ausgeführt wird. Daneben gibt es weitere zahlreiche Anwendungsmöglichkeiten, wie beispielsweise die sichere Überwachung von Arbeitsplätzen oder die Steuerung und Regelung von in Gebäude ablaufenden Anwendungsprozessen, wie beispielsweise eine Fahrstuhl- oder Lichtsteuerung. Schließlich ist auch das Anwendungsgebiet im Kfz-Bereich nicht zu vergessen, bei dem heutzutage über speziell hierfür ausgebildete Feldbussysteme verschiedenste Steuergeräte und Messfühler miteinander verbunden sind.The degree of automation has increased significantly in large parts of the industrial landscape due to economic pressure. A key feature of automation technology is that machines and systems are controlled semi or fully automatically in such a way that, for example, in an industrial manufacturing process it is carried out safely and largely without human intervention. There are also numerous other possible applications, such as the safe monitoring of workplaces or the control and regulation of application processes taking place in buildings, such as elevator or light control. Finally, the field of application in the motor vehicle sector should not be forgotten, in which today various control devices and sensors are connected to one another via fieldbus systems specially designed for this purpose.
Automatisierungssysteme weisen meist eine Mehrzahl von Feldgeräten, wie Sensoren oder Aktoren auf, die über ein I/O-System meist an eine übergeordnete programmierbare Steuerung, einen Feldbuscontroller oder anderweitige Geräte zum Steuern, Regeln, Bedienen oder Beobachten angeschlossen sind. Besonders flexibel einsetzbar sind dabei dezentrale, modulare I/O-Systeme, in denen ein I/O-Knoten aus einem Feldbuskoppler bzw. -controller sowie einer Zusammenstellung verschiedener I/O-Module besteht. Das modulare Konzept erlaubt die Anpassung an Art und Anzahl der vorliegenden Feldgeräte durch geeignete Kombination verschiedener feldbusunabhängiger I/O-Module sowie die Anbindung an den vorliegenden Feldbus durch Kombination dieser mit einem entsprechenden Feldbuskoppler. Um dieses modulare Konzept zu ermöglichen, aber auch aus Gründen der Fehlersicherheit und der begrenzten Rechenkapazitäten eines eingebetteten Systems, erfolgt die Kommunikation zwischen I/O-Modulen und Feldbuskoppler in der Form, dass die Module zyklisch ein Eingangsprozessabbild an den Koppler und dieser zyklisch ein Ausgangsprozessabbild an die Module überträgt, wobei sich der interne Aufbau - d. h. die Anordnung und Länge der Prozessdaten - nach Anlauf des Systems nicht mehr verändert. Zyklisch bedeutet dabei, dass die zu versendenden Daten ähnlich einer Ringbusstruktur kontinuierlich und in zeitdiskreten Abständen ausgesendet werden; im Gegensatz zu ereignisgesteuerten Datenkommunikationsnetzwerken.Automation systems usually have a plurality of field devices, such as sensors or actuators, which are usually connected via an I / O system to a higher-level programmable controller, a fieldbus controller or other devices for controlling, regulating, operating or monitoring. Decentralized, modular I / O systems in which an I / O node consists of a fieldbus coupler or controller and a combination of different I / O modules can be used particularly flexibly. The modular concept allows adaptation to the type and number of existing field devices by a suitable combination of different fieldbus-independent I / O modules as well as the connection to the existing fieldbus by combining these with a corresponding fieldbus coupler. In order to make this modular concept possible, but also for reasons of error security and the limited computing capacity of an embedded system, communication between I / O modules and fieldbus couplers takes place in such a way that the modules cyclically transmit an input process image to the coupler and cyclically an output process image transfers to the modules, whereby the internal structure - d. H. the arrangement and length of the process data - no longer changed after startup of the system. Cyclic means that the data to be sent is sent continuously and at discrete time intervals, similar to a ring bus structure; in contrast to event-driven data communication networks.
Hinsichtlich der Vernetzung dezentraler Automatisierungskomponenten haben sich je nach Branche verschiedene Feldbussysteme etabliert. Beispielhaft seien hier CAN-Bus, Profibus oder Modbus genannt. Jedes dieser Feldbussysteme verwendet dabei für den Datenaustausch entsprechende Kommunikationsprotokolle, die den physischen Datentransport von einer Komponente zur nächsten Komponente sicherstellen sollen. Hinsichtlich vieler Protokolleigenschaften, wie beispielsweise der maximalen Datengröße, die pro Nachricht mit Hilfe des Kommunikationsprotokolls übertragen werden kann, oder aber der Häufigkeit des Datenaustauschs, unterscheiden sich die jeweiligen Feldbussysteme und Implementierungen dabei zum Teil sehr stark voneinander.With regard to the networking of decentralized automation components, different fieldbus systems have been established depending on the industry. CAN-Bus, Profibus or Modbus are mentioned here as examples. Each of these fieldbus systems uses appropriate communication protocols for data exchange, which are intended to ensure the physical data transport from one component to the next component. With regard to many protocol properties, such as the maximum data size that can be transmitted per message using the communication protocol, or the frequency of data exchange, the respective fieldbus systems and implementations differ greatly from one another.
Häufig werden daher mit den Feldgeräten auszutauschende Mess- oder Steuerdaten auch auf dem Feldbus dadurch transportiert, dass zyklisch ein konfigurationsspezifisches Prozessabbild zwischen den Teilnehmern und dem bzw. den Mastern des Feldbussystems ausgetauscht wird. Grundlegende Eigenschaft der zyklischen Abarbeitung ist, dass in jeder datenverarbeitenden Station - d. h. in diesem Fall dem I/O-Modul, dem Feldbuskoppler, dem Feldbusmaster und dem Steuerungsprogramm - zu jedem Zeitpunkt genau eine Momentaufnahme des Prozessabbildes vorliegt.Frequently, measurement or control data to be exchanged with the field devices are also transported on the fieldbus by cyclically exchanging a configuration-specific process image between the participants and the master or masters of the fieldbus system. The fundamental property of cyclical processing is that in every data processing station - i.e. H. in this case the I / O module, the fieldbus coupler, the fieldbus master and the control program - there is a snapshot of the process image at all times.
Wenn ein zyklischer Datenaustausch mit einer in der Kommunikationskette benachbarten Station erfolgt ist, wird diese Momentaufnahme von der jeweils nächsten überschrieben. Ist die Zykluszeit, in der Daten von der jeweils vorherigen Station erhalten werden, höher als die Zykluszeit, in der Daten an die jeweils nächste Station weitergegeben werden, so wird die aktuelle Momentaufnahme solange wiederholt, bis sie von der nächsten ersetzt wurde. Ist umgekehrt die Zykluszeit zur vorherigen Station niedriger als die zur nächsten Station, so wird das Prozessabbild unter Umständen mehrmals überschrieben, bevor es an diese nächste Station übertragen wird. Für zyklische Prozessdaten wie Werte eines Analogsensors stellt diese Form eines Kommunikationsprotokolls kein Problem dar.If there is a cyclic data exchange with a neighboring station in the communication chain, this snapshot is overwritten by the next one. If the cycle time in which data is received from the previous station is higher than the cycle time in which data is passed on to the next station, the current snapshot is repeated until it has been replaced by the next one. Conversely, if the cycle time to the previous station is shorter than that to the next station, the process image may be overwritten several times before it reaches the next one Station is transmitted. This form of a communication protocol is no problem for cyclic process data such as values of an analog sensor.
Entscheidend für die Systemperformance eines I/O-Systems ist unter anderem die erreichbare minimale Zykluszeit im I/O-Knoten. Aus diesem Grund ist die Größe der von I/O-Modulen verwendeten Prozessabbilder eng begrenzt und beträgt in der Regel nur selten mehr als zur unmittelbaren Abbildung der Prozesswerte angeschlossener Feldgeräte nötig. Da auch die Hardware traditionell hierdurch geprägt ist, bestehen je nach I/O-System zum Teil eng gesetzte Grenzen für die maximal mögliche Größe eines Prozessabbildes.One of the decisive factors for the system performance of an I / O system is the minimum cycle time that can be achieved in the I / O node. For this reason, the size of the process images used by I / O modules is strictly limited and is rarely more than is necessary to directly map the process values of connected field devices. Since the hardware is also traditionally characterized by this, depending on the I / O system, there are sometimes narrow limits for the maximum possible size of a process image.
Es gibt nicht seltene Anwendungsfälle, in denen Mitarbeiter oder entsprechendes Wartungspersonal Zugriff auf die Feldgeräte haben müssen, um bestimmte Wartungsmaßnahmen oder Umprogrammierungsarbeiten vorzunehmen, oder in denen die Endgeräte neben kontinuierlich aufgefrischten Prozesswerten auch ereignisbezogene Daten wie Diagnosen oder Geräteinformationen wie z. B. ein elektronisches Typenschild zur Verfügung stellen. Wenn die Feldgeräte jedoch in dem eigentlichen Prozess derart verbaut sind, dass ein direkter physischer Zugriff nicht möglich ist, besteht nur noch die Möglichkeit, eine Kommunikation über das ohnehin vorhandene Automatisierungsnetzwerk aufzubauen. Hierbei ist jedoch das Wartungspersonal an das dem Automatisierungsnetzwerk zugrunde gelegte Kommunikationsprotokoll gebunden, dessen maximal zulässige Paketgrößen jedoch oft nicht erlauben, die mit dem Feldgerät auszutauschenden Datenelemente wie beispielsweise Parametrier- oder Diagnosetelegramme konsistent zu übertragen.There are not uncommon applications in which employees or corresponding maintenance personnel must have access to the field devices in order to carry out certain maintenance measures or reprogramming work, or in which the end devices as well as continuously updated process values also event-related data such as diagnostics or device information such as e.g. B. provide an electronic nameplate. However, if the field devices are installed in the actual process in such a way that direct physical access is not possible, there is only the possibility of establishing communication via the automation network, which is already present. In this case, however, the maintenance personnel are bound to the communication protocol on which the automation network is based, the maximum permissible packet sizes of which, however, often do not allow the data elements to be exchanged with the field device, such as, for example, parameterization or diagnostic telegrams, to be transmitted consistently.
Stand der TechnikState of the art
Die
Die
Die Druckschrift
Aus der
Schließlich ist aus der
Aufgabetask
Es ist Aufgabe der vorliegenden Erfindung ein verbessertes Verfahren und Automatisierungssystem anzugeben, mit dem auch in einem Automatisierungsnetzwerk mit zyklischer Datenübertragung und unterschiedlichen Datenverarbeitungszyklen große Datenelemente trotz eines schmalbandigen Kommunkationsprotokolls an entsprechende Kommunikationsteilnehmer übertragen werden können.It is an object of the present invention to provide an improved method and automation system with which large data elements can be transmitted to corresponding communication participants even in an automation network with cyclical data transmission and different data processing cycles, despite a narrow-band communication protocol.
Lösung solution
Die Aufgabe wird erfindungsgemäß durch die Merkmale des kennzeichnenden Teils des Anspruchs 1 gelost. Die Aufgabe wird ebenfalls erfindungsgemäß durch das Computerprogramm gemäß Anspruch 14, durch ein Automatisierungssystem gemäß Anspruch 15 und einer Automatisierungs-Netzwerkkomponente gemäß Anspruch 16 gelöst.The object is achieved by the features of the characterizing part of
Demnach sieht das erfindungsgemäße Verfahren vor, dass jeweils zwei Netzwerkkomponenten, die beispielsweise Endpunkte eines Kommunikationssystem sein können und eine Vollduplexübertragung von Datenelementen ermöglichen, große, zu übertragende Daten mittels einer auf der ersten Automatisierungs-Netzwerkkomponente angeordneten Fragmentierungssteuerung in einzelne Fragmente zergliedert werden, die jede für sich betrachtet mit Hilfe des dem Automatisierungsnetzwerk zugrunde gelegten Kommunikationsprotokolls durch eine einzige Nachricht übertragen werden können. Dem Kommunikationssystem an einem der Endpunkte übergebene Datenelemente werden somit systemintern zum jeweils gegenüberliegenden Endpunkt transferiert und sind dort in unveränderter Form wieder verfügbar.Accordingly, the method according to the invention provides that two network components, which can, for example, be end points of a communication system and enable full-duplex transmission of data elements, are broken down into large fragments of data to be transmitted by means of a fragmentation control arranged on the first automation network component, each for can be viewed with the aid of the communication protocol on which the automation network is based, can be transmitted by a single message. Data elements transferred to the communication system at one of the end points are thus transferred internally to the respective opposite end point and are available there again in unchanged form.
Dabei kann bei zyklischer Datenübertragung über mehrere Schnittstellen potentiell abweichender Zykluszeiten bei Übergang von einer schnelleren auf eine langsamere Zykluszeit der Fall eintreten, dass ein Fragment das vorherige Fragment im Empfangspuffer überschreibt, bevor die gegenseitige langsamere Schnittstelle nächstmalig zur Aufnahme von Daten bereit ist. Um diesem Problem und dem damit verbundenen Datenverlust vorzubeugen, wird vorgeschlagen, dass zusammen mit jedem Daten-Fragment eine Fragmentinformation übertragen wird, die von der Gegenseite als Datum der Nachricht interpretiert werden kann. Erfolgt nun die Weiterverarbeitung des im Empfangspuffer liegenden Fragmentes durch die zweite Komponente, so wird dies in der Fragmentinformation quittiert und an die erste Komponente zurückgesendet. Zu diesem Zweck enthält jede gesendete Fragmentinformation neben dem Datum der gesendeten Nachricht zusätzlich eine Quittierung über ein Datum einer empfangenen Nachricht.In the case of cyclic data transmission over several interfaces, potentially different cycle times when changing from a faster to a slower cycle time can occur if a fragment overwrites the previous fragment in the receive buffer before the mutually slower interface is ready for the next time to accept data. In order to prevent this problem and the associated data loss, it is proposed that fragment information be transmitted with each data fragment, which can be interpreted by the other side as the date of the message. If the second component now processes the fragment located in the receive buffer, this is acknowledged in the fragment information and sent back to the first component. For this purpose, each fragment information sent contains, in addition to the date of the message sent, an acknowledgment of a date of a received message.
Da dem Sender jedoch in der Regel nicht bekannt ist, wann die tatsächliche Datenverarbeitung auf der Gegenseite erfolgt, wird das aktuelle Fragment mittels einer Fragment-Nachricht so lange von der ersten Automatisierungs-Netzwerkkomponente im Sendepuffer vorgehalten und zyklisch ausgesendet, bis eine von der ersten Komponente empfangene Nachricht eine Quittierung innerhalb der Fragmentinformation für das aktuelle Fragment enthält. Dadurch kann sichergestellt werden, dass der Sender durch aussenden des nächsten Fragmentes nicht das vorherige Fragment auf der Gegenseite überschreibt.However, since the sender generally does not know when the actual data processing takes place on the opposite side, the current fragment is kept in the send buffer by the first automation network component and sent out cyclically until one by the first component by means of a fragment message received message contains an acknowledgment within the fragment information for the current fragment. This ensures that the transmitter does not overwrite the previous fragment on the opposite side by sending out the next fragment.
Die Datenübertragung kann somit auch bei zyklischen Datenübertragungssystemen synchron und konsistent gehalten werden.The data transmission can thus be kept synchronous and consistent even with cyclic data transmission systems.
Zwischen der ersten Automatisierungs-Netzwerkkomponente und der zweiten Automatisierungs-Netzwerkkomponente können auch weitere Netzwerkkomponenten angeordnet sein, die zur Strukturierung des gesamten Automatisierungssystems dienen und die Nachrichten entsprechend ihrer Spezifikation weiterleiten.Further network components can also be arranged between the first automation network component and the second automation network component, which serve to structure the entire automation system and forward the messages according to their specification.
Darüber hinaus ermöglicht ein derartiges Verfahren, dass unabhängig von dem Kommunikationsprotokoll des Automatisierungsnetzwerkes beliebig große Datenelemente gesendet werden können, ohne dass auf das Kommunikationsprotokoll des Automatisierungsnetzwerkes und/oder anderer Teilabschnitte des Übertragungsweges, wie beispielsweise das des Feldbusses, Rücksicht genommen werden muss. Insbesondere in heterogenen Netzwerksituationen wird dadurch eine größtmögliche Flexibilität erreicht.In addition, such a method enables data elements of any size to be sent regardless of the communication protocol of the automation network, without having to take into account the communication protocol of the automation network and / or other sections of the transmission path, such as that of the fieldbus. This provides the greatest possible flexibility, especially in heterogeneous network situations.
Vorteilhafterweise ist die zweite Automatisierungs-Netzwerkkomponente (Gegenseite) nach dem Empfang aller Fragmente derart eingerichtet, dass sie mittels einer Defragmentierungssteuerung die empfangenen Fragmente wieder zu einem vollständigen Datenelement zusammensetzen kann.After receiving all fragments, the second automation network component (opposite side) is advantageously set up in such a way that it can use a defragmentation controller to reassemble the received fragments into a complete data element.
Um den Overhead bei der Übertragung der Fragmente möglichst gering zu halten, ist als Datum einer ausgehenden Nachricht sowie für die Quittierung einer erhaltenen Nachricht lediglich jeweils ein einziges Bit innerhalb der Fragmentinformation vorgesehen. Die Fragmentinformation ist dabei eine Bitfolge von Informationen bezüglich des entsprechenden Fragmentes. Die Bitfolge, umgangssprachlich oft Header genannt, wird den eigentlichen Nutzdaten meist vorangestellt, kann aber auch am Ende der Nutzdaten angeordnet werden. Innerhalb dieser Fragmentinformation beziehungsweise des Fragmentheaders befindet sich nun an einer bestimmten Stelle ein Bit, dessen Wert als Quittierung gilt. Die Quittierung erfolgt beispielsweise durch invertieren des Bits.In order to keep the overhead in the transmission of the fragments as low as possible, only a single bit within the fragment information is provided as the date of an outgoing message and for the acknowledgment of a received message. The fragment information is a bit sequence of information relating to the corresponding fragment. The bit sequence, often colloquially called header, is usually placed in front of the actual user data, but can also be arranged at the end of the user data. Within this fragment information or the fragment header there is now a bit at a certain point, the value of which is considered an acknowledgment. The acknowledgment takes place, for example, by inverting the bit.
Die Gegenseite ist dabei vorteilhafterweise derart eingerichtet, dass sie einen entsprechenden Status einer Fragmenterkennung erwartet. Hat sie ein entsprechendes Fragment mit einer erwarteten Fragmenterkennung verarbeitet, so invertiert die Gegenseite ebenfalls ihre Fragmenterkennungsbit, um so auf das nächste zu erwartende Fragmenterkennungsbit eingestellt zu sein. Entspricht das erwartete Fragmenterkennungsbit nicht dem tatsächlich empfangenen Fragmenterkennungsbit, so wird die Nachricht als Wiederholung bereits bekannter Daten gewertet und ignoriert. Somit kann immer die korrekte Sende- und Empfangsreihenfolge der einzelnen Fragmente, die für den letztendlichen fehlerfreien Zusammenbau der gesamten Daten auf der Gegenseite notwendig ist, sichergestellt werden. The opposite side is advantageously set up in such a way that it expects a corresponding status of a fragment detection. If it has processed a corresponding fragment with an expected fragment detection, the opposite side also inverts its fragment detection bit in order to be set to the next fragment detection bit to be expected. If the expected fragment detection bit does not correspond to the fragment detection bit actually received, the message is interpreted as a repetition of already known data and ignored. In this way, the correct sending and receiving sequence of the individual fragments, which is necessary for the ultimately error-free assembly of the entire data on the opposite side, can always be ensured.
Besonders vorteilhaft ist es nun, wenn die Fragmentinformation sowohl zum ausgehenden als auch zum eingehenden Datenstrom entsprechende Informationen enthält. Somit kann beispielsweise der Empfang eines Fragmentes an die Gegenseite mit der aktuellen Nachricht quittiert werden, während diese aktuelle Nachricht ein neues Fragment und zugehörige Fragmentinformationen enthält.It is particularly advantageous if the fragment information contains information corresponding to both the outgoing and the incoming data stream. Thus, for example, the receipt of a fragment on the opposite side can be acknowledged with the current message, while this current message contains a new fragment and associated fragment information.
Potentiell nachteilig an der Notwendigkeit der Quittierung jeder Nachricht ist, dass der Sender erst dann eine neue Nachricht generieren kann, wenn die Quittierung vorliegt. Es ist daher ganz besonders vorteilhaft, wenn jedem Fragment eine Übertragungskanalnummer zugeordnet wird und die Fragmente dann in Abhängigkeit von der jeweiligen Übertragungskanalnummer von der ersten an die zweite Automatisierungs-Netzwerkkomponente gesendet werden. Die Übertragungskanalnummer kann beispielsweise in die Fragmentinformation beziehungsweise in den Fragmentheader eingetragen werden und ermöglicht dadurch eine Differenzierung auf der Gegenseite.A potential disadvantage of the need to acknowledge each message is that the sender can only generate a new message when the acknowledgment has been received. It is therefore particularly advantageous if a transmission channel number is assigned to each fragment and the fragments are then sent depending on the respective transmission channel number from the first to the second automation network component. The transmission channel number can be entered in the fragment information or in the fragment header, for example, and thereby enables differentiation on the opposite side.
So ist es beispielsweise in einer besonders vorteilhaften Ausführungsform denkbar, dass jedem Fragment eine Übertragungskanalnummer einer begrenzten Anzahl von möglichen Übertragungskanalnummern zugeordnet wird. Fragmente, denen jeweils die gleiche Übertragungskanalnummer zugeordnet wurde, werden dabei sequenziell gesendet, das heißt es wird erst dann das nächste Fragment mit der gleichen Übertragungskanalnummer gesendet, wenn der entsprechend korrekte Empfang des vorherigen Fragmentes mit dieser Übertragungskanalnummer entsprechend quittiert wurde. Fragmente mit unterschiedlichen Übertragungskanalnummern jedoch können parallel übertragen werden, das heißt, dass beispielsweise zwei Fragmente mit unterschiedlichen Übertragungskanalnummern nacheinander auf das Übertragungsmedium geschrieben werden, ohne dass der Empfang des ersten Fragmentes von der Gegenseite bereits quittiert wurde. Somit lassen sich trotz der zeitlichen Verzögerung durch die Verarbeitung der Gegenseite die Fragmente unter Ausnutzung der gesamten Kanalbandbreite effektiv übertragen.For example, in a particularly advantageous embodiment, it is conceivable that each fragment is assigned a transmission channel number of a limited number of possible transmission channel numbers. Fragments to which the same transmission channel number has been assigned are sent sequentially, that is, the next fragment with the same transmission channel number is only sent when the corresponding correct receipt of the previous fragment has been acknowledged with this transmission channel number. However, fragments with different transmission channel numbers can be transmitted in parallel, which means that, for example, two fragments with different transmission channel numbers are written to the transmission medium one after the other without the receipt of the first fragment having already been acknowledged by the opposite side. Thus, despite the time delay due to the processing of the opposite side, the fragments can be effectively transmitted using the entire channel bandwidth.
Somit lässt sich insbesondere im Falle, dass die lokale Zykluszeit von der Round-Trip-Time einer Nachricht zum Empfänger stark abweicht, eine besonders hohe Ausnutzung der verfügbaren Ressourcen feststellen.In this way, particularly in the event that the local cycle time deviates significantly from the round trip time of a message to the recipient, a particularly high utilization of the available resources can be determined.
Um auch bei großen Datenmengen, die mit Hilfe von einer Vielzahl von Fragmenten übertragen werden sollen, sicherheitskritische Aspekte des Automatisierungssystems nicht in den Hintergrund treten zu lassen, ist es ganz besonders vorteilhaft, wenn den zu sendenden Daten eine Priorisierung beziehungsweise eine Priorität zugeordnet wird und die Reihenfolge der Übertragung in Abhängigkeit von den zugeordneten Prioritäten gewählt wird. Dadurch lassen sich zeitkritische Daten, die beispielsweise in Form dringlicher Diagnosenachrichten vorliegen können, ohne Verzögerung an die Gegenseite übertragen.In order not to allow security-critical aspects of the automation system to take a back seat even with large amounts of data that are to be transmitted with the aid of a large number of fragments, it is particularly advantageous if a prioritization or priority is assigned to the data to be sent and that Sequence of transmission is selected depending on the assigned priorities. As a result, time-critical data, which may be in the form of urgent diagnostic messages, for example, can be transmitted to the other side without delay.
In einer besonderen Ausführungsform der Priorisierung werden an die Gegenseite zu sendende sowie von dieser erhaltene Fragmente nieder-priorisierter Daten zwischengespeichert, so dass später eingegangene, aber höher-priorisierte Daten von der ersten Automatisierungs-Netzwerkkomponente sofort an die Gegenseite gesendet und von dieser auch verarbeitet werden können. Sind alle höher-priorisierten Daten übertragen, so kann mit den hinsichtlich der zwischengespeicherten Daten noch ausstehenden Fragmenten fortgefahren werden. So ist es beispielsweise denkbar, dass sowohl dem Sender als auch dem Empfänger jeweils entsprechende Prioritätskanäle zugeordnet werden, in denen dann die Fragmente entsprechend ihrer Priorität, die sie von der Priorität ihrer Daten erhalten haben, zugeordnet werden. Stellt der Sender nun fest, dass in einem Prioritätskanal neue höher priorisierte Daten vorhanden sind, so wird eine entsprechende kurze Nachricht an die Gegenseite gesendet, um den dortigen Empfangs-Prioritätskanal umzuschalten, so dass die nun gesendeten höher-priorisierten Daten auch in den entsprechend höher-priorisierten Empfangskanal eingeschrieben werden. Bereits gesendete Fragmente nieder-priorisierter Daten in den anderen Empfangs-Prioritätskanälen werden dabei so lange zwischengespeichert. Nach Übertragung aller höher-priorisierten Fragmente kann wieder auf den nächstniedrigeren Prioritätskanal umgeschaltet werden. Für die Datenübertragung niedrigerer Prioritäten stellt sich die Umschaltung und temporäre Übertragung in anderen Prioritätskanälen lediglich als Übertragungspause dar, nach Rückwechsel zur betreffenden Priorität müssen weder bereits erfolgreich übertragene Fragmente wiederholt werden, noch tritt ein Datenverlust ein.In a special embodiment of the prioritization, fragments of low-priority data to be sent to and received from the opposite side are temporarily stored, so that data which have been received but which have a higher priority later, however, are immediately sent to the opposite side by the first automation network component and are also processed by the latter can. Once all the data with higher priority has been transmitted, the fragments still outstanding with regard to the temporarily stored data can be continued. For example, it is conceivable that both the transmitter and the receiver are assigned corresponding priority channels, in which the fragments are then assigned according to their priority, which they have received from the priority of their data. If the sender now determines that there is new, higher-priority data in a priority channel, a corresponding short message is sent to the opposite side in order to switch over the reception priority channel there, so that the now higher-priority data is also sent in the correspondingly higher data -prioritized receive channel. Fragments of low-priority data that have already been sent are temporarily stored in the other receive priority channels. After all fragments with higher priority have been transmitted, it is possible to switch back to the next lower priority channel. For the data transmission of lower priorities, the switchover and temporary transmission in other priority channels only present themselves as Transmission pause, after switching back to the relevant priority, fragments that have already been successfully transmitted do not have to be repeated, and there is no data loss.
In dieser obig beschriebenen ersten Ausführungsform ist es somit möglich, dass höher priorisierte Daten sofort an die Gegenseiten ausgesendet werden können, und zwar unabhängig von dem Übertragungsstatus der jeweils nieder priorisierten Daten beziehungsweise Fragmente. Auf der anderen Seite muss die Gegenseite in dieser Ausführungsform entsprechend eingerichtet sein, damit sie die bereits gesendeten Fragmente zwischenspeichern und die höher priorisierten Daten empfangen kann. Um unabhängig von dem technischen Ausrüstungszustand der Gegenseite eine Priorisierung durchführen zu können, ist es in einer zweiten Ausführungsform ganz besonders vorteilhaft, wenn Daten höherer Priorität innerhalb der Sendeliste weiter vorne eingefügt werden, so dass eine schnellere Bearbeitung sichergestellt werden kann. Wurden jedoch bereits Fragmente eines Datenelementes gesendet, so müssen zunächst alle Fragmente dieses Datenelementes übertragen werden, ehe die höher priorisierten Daten übertragen werden können. Der Vorteil hierbei ist jedoch, dass die Prioritäts-Intelligenz lediglich auf Seiten des Senders notwendig ist. Der Empfänger ist hierbei nicht betroffen.In this first embodiment described above, it is thus possible for data with higher priority to be sent immediately to the opposite sides, regardless of the transmission status of the data or fragments with lower priority. On the other hand, the opposite side in this embodiment must be set up accordingly so that it can buffer the fragments that have already been sent and receive the data with higher priority. In order to be able to carry out a prioritization regardless of the technical equipment status of the opposite side, it is particularly advantageous in a second embodiment if data of higher priority are inserted further ahead in the transmission list, so that faster processing can be ensured. However, if fragments of a data element have already been sent, all fragments of this data element must first be transmitted before the higher-priority data can be transmitted. The advantage here, however, is that priority intelligence is only necessary on the transmitter side. The recipient is not affected.
Des Weiteren wird vor oder während der Datenübertragung die Empfängerfunktionalität, die dem Empfänger zugrunde gelegt ist, ermittelt und verifiziert. Insbesondere wenn sich der technischen Ausrüstungszustand der kommunizierenden Netzwerkkomponenten voneinander unterscheidet, ermöglicht dies, einen dem technischen Ausrüstungsstand der schwächeren Komponente angepassten Übertragungskanal zu etablieren, der hinsichtlich der Übertragungsparameter wie beispielsweise der Fragmentgröße, Anzahl der Übertragungskanäle sowie Anzahl der Prioritäten dennoch eine möglichst effiziente Ausnutzung des zugrunde gelegten Kommunikationsprotokolls realisiert.Furthermore, the receiver functionality on which the receiver is based is determined and verified before or during the data transmission. In particular, if the technical equipment status of the communicating network components differs from one another, this makes it possible to establish a transmission channel that is adapted to the technical equipment status of the weaker component, but which uses the transmission parameters such as fragment size, number of transmission channels and number of priorities as efficiently as possible communication protocol implemented.
Im Übrigen ist es auch ganz besonders vorteilhaft, wenn die Fragmentierungssteuerung und/oder Defragmentierungssteuerung jeweils ein Bestandteil eines auf der jeweiligen Automatisierungs-Netzwerkkomponente ablaufenden Steuerprogramms zur Steuerung des Automatisierungsprozesses darstellt. Durch die Anordnung der Fragmentsteuerung in der Applikationsebene ist die Fragmentierungs- und/oder Defragmentierungssteuerung vollständig unabhängig von dazwischenliegenden Kommunikationsprotokollen wie beispielsweise dem internen Systembus des I/O-Systems oder dem Feldbus zwischen Feldbuskoppler und Feldbusmaster. Es können daher beliebige Datenmengen beziehungsweise Datengrößen über jedes beliebige Automatisierungsnetzwerk übertragen werden, da eine Änderung des Kommunikationsprotokolls hierfür nicht notwendig ist.In addition, it is also particularly advantageous if the fragmentation control and / or defragmentation control each form part of a control program running on the respective automation network component for controlling the automation process. The arrangement of the fragment control in the application level means that the fragmentation and / or defragmentation control is completely independent of communication protocols in between, such as the internal system bus of the I / O system or the fieldbus between the fieldbus coupler and the fieldbus master. Any amount of data or data sizes can therefore be transmitted via any automation network, since a change in the communication protocol is not necessary for this.
Im Übrigen wird die Aufgabe auch mit einem Computerprogramm mit Programmcodemitteln, die insbesondere auf einem maschinenlesbaren Träger gespeichert sind, eingerichtet zur Durchführung des vorstehenden Verfahrens, wenn das Computerprogramm auf einem Rechner ausgeführt wird, gelöst.Otherwise, the object is also achieved with a computer program with program code means, which are in particular stored on a machine-readable carrier, for carrying out the above method when the computer program is executed on a computer.
Darüber hinaus wird die Aufgabe auch mit einem Automatisierungssystem, eingerichtet zur Durchführung des vorstehenden Verfahrens, umfassend eine erste Automatisierungs-Netzwerkkomponente und wenigstens eine zweite Automatisierungs-Netzwerkkomponente, die über ein Automatisierungsnetzwerk zur zyklischen Datenübertragung unter Verwendung eines dem Automatisierungsnetzwerkes zwecks Datentransports zugrunde gelegten Kommunikationsprotokoll ausgebildet und miteinander verbunden sind, gelöst. Im Übrigen wird die Aufgabe auch mit einer Automatisierungs-Netzwerkkomponente mit einer Fragmentierungssteuerung und/oder Defragmentierungssteuerung gelöst.In addition, the task is also set up with an automation system designed to carry out the above method, comprising a first automation network component and at least a second automation network component, which is formed via an automation network for cyclic data transmission using a communication protocol on which the automation network is based for the purpose of data transport and are interconnected, solved. The task is also solved with an automation network component with a fragmentation control and / or defragmentation control.
Die Erfindung wird anhand der beigefügten Zeichnungen beispielhaft näher erläutert. Es zeigen:
-
1 - schematische Darstellung eines Automatisierungssystems mit mehreren Ebenen; -
2 - schematische Darstellung einer Fragmentierung eines Datenelementes; -
3 - schematische Darstellung des Kanal-Multiplexing; -
4a ,4b ,4c - Abbildung von Nachrichtenprioritäten.
-
1 - Schematic representation of an automation system with several levels; -
2 - schematic representation of a fragmentation of a data element; -
3 - Schematic representation of channel multiplexing; -
4a .4b .4c - Mapping of message priorities.
Das Automatisierungsnetzwerk
Unterscheiden sich jedoch die zyklischen Verarbeitungszeiten, beispielsweise derart, dass das I/O-System (bestehend aus
Würden nun nacheinander im I/O-Modul
Daher werden die einzelnen Datenfragmente
Das Fragment
Aufgrund der Integration von Status- und Kontrollnachrichten in dem Datenbereich einer Nachricht mit Hilfe der Fragmentinformation
Jeder Übertragungskanal für sich verwendet die Quittierungsfunktionalität der sequenziellen Betriebsart, das heißt, dass erst dann ein weiteres Fragment des jeweiligen Kanals gesendet wird, wenn das zuvor gesendete Fragment von der Gegenseite quittiert wurde. Im Ausführungsbeispiel bedeutet dies, das Fragment
Dies soll anhand eines konkreten Ausführungsbeispiels kurz erläutert werden. Zu Beginn wird das Fragment
Mit Hilfe der Übertragungskanäle kann damit erreicht werden, dass nicht für jedes Fragment die Quittierung abgewartet werden muss, sondern dass innerhalb der zyklischen Verarbeitungszeit der Gegenseite bereits weitere Fragmente gesendet werden können, ohne dass die vorher gesendeten Fragmente quittiert werden müssen. Somit kann auch bei schmaler Bandbreite und hoher Diskrepanz der zyklischen Verarbeitungszeiten ein hoher Datendurchsatz erreicht werden.With the help of the transmission channels it can be achieved that the acknowledgment does not have to be awaited for each fragment, but that further fragments can be sent within the cyclic processing time of the opposite side without the fragments previously sent having to be acknowledged. This means that high data throughput can be achieved even with a narrow bandwidth and high discrepancy in the cyclic processing times.
Die maximale Priorität ergibt sich dabei aus:
Die Subprioritäten spiegeln dabei diejenigen Prioritäten wieder, mit denen die Sendeliste neu sortiert werden kann. Die Anzahl der Fragmentierer ist dabei die Anzahl derjenigen Prioritäten, mit denen eine Zwischenspeicherung durchgeführt werden kann.The sub-priorities reflect those priorities with which the transmission list can be re-sorted. The number of fragmenters is the number of those priorities with which buffering can be carried out.
Bei der Priorisierung werden dabei je nach Priorität die Fragmente in den Fragmentierer eingeordnet, der mit der entsprechenden Priorität assoziiert ist. Erst wenn die Priorität die Anzahl der möglichen Fragmentierer überschreitet, werden die Daten in den Fragmentierer der höchst möglichen Priorität einsortiert und dort wird dann die Sendeliste entsprechend umsortiert.When prioritizing, depending on the priority, the fragments are classified in the fragmenter that is associated with the corresponding priority. Only when the priority exceeds the number of possible fragmenters will the data be sorted into the fragmenter of the highest possible priority and the send list will be re-sorted there accordingly.
Auf der Gegenseite befindet sich dazu ein entsprechendes Empfängerpendant, das heißt auch dort werden entsprechende Defragmentierer mit unterschiedlichen Prioritäten assoziiert. Welche Priorität gerade verwendet wird, wird zuvor zwischen Sender und Empfänger mittels einer Nachricht festgelegt. Ist der Sendepuffer eines Fragmentierers mit hoher Priorität leer gelaufen, so wird der Sendepuffer der nächst höheren Priorität zur weiteren Verarbeitung herangezogen, wobei zuvor die Priorität auch auf der Empfängerseite umgeschaltet werden muss.On the opposite side there is a corresponding recipient counterpart, which means that there too, corresponding defragmenters are associated with different priorities. The priority that is currently being used is determined beforehand between the sender and receiver by means of a message. If the send buffer of a fragmenter with high priority has run empty, the send buffer of the next higher priority is used for further processing, the priority also having to be switched over on the receiver side beforehand.
Die höchste, vom Kanal unterstützte Priorität entspricht in diesem Modell
In diesem Beispiel liegt auf der Senderseite ein Fragmentierer brach, da der Empfänger weniger Defragmentierer als der Sender Fragmentierer zur Verfügung hat.In this example, a fragmenter is unused on the transmitter side because the receiver has fewer defragmenters than the transmitter fragmenter.
Die höchste, vom Kanal unterstützte Priorität entspricht in diesem Modell derer von Modell
Claims (17)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102011123052.5A DE102011123052B3 (en) | 2011-04-04 | 2011-04-04 | automation system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102011123052.5A DE102011123052B3 (en) | 2011-04-04 | 2011-04-04 | automation system |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102011123052B3 true DE102011123052B3 (en) | 2020-02-27 |
Family
ID=69412392
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102011123052.5A Active DE102011123052B3 (en) | 2011-04-04 | 2011-04-04 | automation system |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102011123052B3 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110069668A1 (en) * | 2009-04-28 | 2011-03-24 | Zte (Usa) Inc. | Dedicated Acknowledgement and Delivery of Management Messages in Wireless Communication Systems |
-
2011
- 2011-04-04 DE DE102011123052.5A patent/DE102011123052B3/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110069668A1 (en) * | 2009-04-28 | 2011-03-24 | Zte (Usa) Inc. | Dedicated Acknowledgement and Delivery of Management Messages in Wireless Communication Systems |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102011015966B4 (en) | automation system | |
DE112015001932B4 (en) | Relay device and data transmission method | |
WO2002043336A9 (en) | System and method for the parallel transmission of real-time critical and non real-time critical data via switched data networks, especially ethernet | |
DE102012224024A1 (en) | Data transfer using a log exemption state | |
DE102013207826B3 (en) | Method for operating a slave node of a digital bus system | |
WO2019007516A1 (en) | Method for high-performance data transfer in a data network with, in part, real-time requirements and device for carrying out the method | |
EP3674824B1 (en) | Method for operating a communication system for transferring time-critical data and communication device | |
WO2019081230A1 (en) | Data transmission method and communication network | |
EP3759871B1 (en) | Master-slave bus system and method for operating a bus system | |
EP1729454B1 (en) | Apparatus and method for a combined transmission of input/output data in automation bus systems | |
EP1702245B1 (en) | Method, node and network for the cyclic transmission of Ethernet telegrams | |
WO2003028336A2 (en) | Receipt of data messages in communications systems comprising redundant network paths | |
EP1238319A2 (en) | Serial data transmission via a bus system | |
DE102017209309A1 (en) | Method for transmitting time-critical and non-time-critical data in a communication cycle | |
DE102011123052B3 (en) | automation system | |
WO2003028279A2 (en) | Forwarding of data messages with double-node data replacement | |
EP1436924A2 (en) | Method for operating an end-user of an isochronous cyclical communication system | |
DE102019125545B3 (en) | DATA TRANSFER PROCEDURE, SEGMENT TELEGRAM AND AUTOMATION COMMUNICATION NETWORK | |
EP2506500B1 (en) | Method for synchronous control of at least one subordinate network participant by one superordinate control unit through an asynchronous network segment | |
DE10307424A1 (en) | Data switching device and multiplex communication systems | |
EP3917089A1 (en) | Method for operating a communication system for transferring time-critical data and switch | |
DE10260807B4 (en) | Transmission method for a time reference via a transmission medium and timer block corresponding thereto | |
EP4070530B1 (en) | Method for cyclically transmitting data between communication subscribers on a data transmission channel, and data transmission system | |
WO2006114391A1 (en) | Communication system | |
EP3590235B1 (en) | Data transmission method and automation communication network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R129 | Divisional application from |
Ref document number: 102011015966 Country of ref document: DE |
|
R083 | Amendment of/additions to inventor(s) | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final |