DE102017208818A1 - Initialization of data bus users - Google Patents
Initialization of data bus users Download PDFInfo
- Publication number
- DE102017208818A1 DE102017208818A1 DE102017208818.4A DE102017208818A DE102017208818A1 DE 102017208818 A1 DE102017208818 A1 DE 102017208818A1 DE 102017208818 A DE102017208818 A DE 102017208818A DE 102017208818 A1 DE102017208818 A1 DE 102017208818A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- bus
- data bus
- data packet
- subscriber
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40169—Flexible bus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/42—Loop networks
- H04L12/423—Loop networks with centralised control, e.g. polling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L2012/4026—Bus for use in automation systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
Abstract
Ein Verfahren zum Betrieb eines Datenbusteilnehmers (7a, 7b, ..., 7n) eines Lokalbusses (6), insbesondere eines Ringbusses ist beschrieben, das Verfahren aufweisend Empfangen eines ersten Datenpakets (17) über den Lokalbus (6), wobei das erste Datenpaket (17) eine Adresse (19) des Datenbusteilnehmers (7a, 7b, ..., 7n) an den es gerichtet ist und zumindest eine Instruktionsliste (27a, 27b, 27n) mit einem Satz von Instruktionen zum Verarbeiten von Prozessdaten (25a, 25b, 25c) aufweist, Empfangen eines zweiten Datenpakets (22) über den Lokalbus (6), wobei das zweite Datenpaket (24) Prozessdaten (25a, 25b, 25c) aufweist und Ausführen von Instruktionen der zumindest einen Instruktionsliste (27a, 27b, 27n) zum Verarbeiten der empfangenen Prozessdaten (25a, 25b, 25c). Des Weiteren ist ein entsprechender Datenbusteilnehmer (7a, 7b, ..., 7n) und ein Lokalbusmaster beschrieben.A method for operating a data bus subscriber (7a, 7b,..., 7n) of a local bus (6), in particular a ring bus, is described, the method comprising receiving a first data packet (17) via the local bus (6), wherein the first data packet (17) an address (19) of the data bus subscriber (7a, 7b, ..., 7n) to which it is addressed and at least one instruction list (27a, 27b, 27n) having a set of instructions for processing process data (25a, 25b , 25c), receiving a second data packet (22) via the local bus (6), the second data packet (24) having process data (25a, 25b, 25c) and executing instructions of the at least one instruction list (27a, 27b, 27n). for processing the received process data (25a, 25b, 25c). Furthermore, a corresponding data bus subscriber (7a, 7b,..., 7n) and a local bus master are described.
Description
Gebiet der ErfindungField of the invention
Die Erfindung betrifft im Allgemeinen die Initialisierung von Datenbusteilnehmern und im Speziellen die Programmierung von Datenbusteilnehmern eines Ringbusses mit Hilfe von Instruktionslisten.The invention generally relates to the initialization of data bus subscribers, and more particularly to the programming of data bus subscribers of a ring bus by means of instruction lists.
Stand der TechnikState of the art
Datenbusteilnehmer finden sich zumeist in Automatisierungsanlagen. Ein Datenbusteilnehmer dient zum Steuern oder Überwachen eines Prozesses einer Automatisierungsanlage. Dies wird bewerkstelligt durch eine Ausgabe von Steuersignalen z.B. an Aktoren und/oder durch einen Empfang von Messsignalen z.B. von Sensoren der Automatisierungsanlage.Data bus users are usually found in automation systems. A data bus subscriber serves to control or monitor a process of an automation system. This is accomplished by an output of control signals e.g. on actuators and / or by receiving measurement signals, e.g. of sensors of the automation system.
Automatisierungsanlagen werden insbesondere zur Steuerung von industriellen Anlagen, Gebäuden sowie von Verkehrsmitteln eingesetzt. Für die Steuerung einer Automatisierungsanlage sind zumeist mehrere Sensoren und Aktoren notwendig. Diese überwachen und steuern den von der Anlage ausgeführten Prozess. Die unterschiedlichen Sensoren und Aktoren einer Automatisierungsanlage werden dabei häufig auch als Automatisierungsgeräte bezeichnet.Automation systems are used in particular for the control of industrial plants, buildings and means of transport. For the control of an automation system usually several sensors and actuators are necessary. These monitor and control the process performed by the plant. The different sensors and actuators of an automation system are often referred to as automation devices.
Diese Automatisierungsgeräte können entweder direkt mit einer Steuerung der Automatisierungsanlage verbunden werden, oder können zunächst mit Ein- und Ausgangsmodulen, die häufig auch als E/A-Module bezeichnet werden, verbunden werden. Diese können dann wiederum direkt mit der Steuerung verbunden werden. Die Automatisierungsgeräte können dabei entweder direkt in den E/A-Modulen integriert sein oder können mit diesen über Kabel oder kabellos verbunden sein.These automation devices can either be connected directly to a control system of the automation system, or can first be connected to input and output modules, which are often referred to as I / O modules. These can in turn be connected directly to the controller. The automation devices can either be integrated directly in the I / O modules or can be connected to them via cable or wirelessly.
Die Steuerung einer Automatisierungsanlage wird in der Regel mit Hilfe einer oder mehrerer speicherprogrammierbaren Steuerungen, SPS, bewerkstelligt. Die SPSs können dabei hierarchisch oder dezentral in einer Automatisierungsanlage angeordnet sein. Dabei gibt es bei den SPS unterschiedliche Leistungsklassen, so dass diese je nach Rechen- und Speicherkapazität unterschiedliche Steuerungen und Regelungen übernehmen können. Eine SPS hat im einfachsten Fall Eingänge, Ausgänge, ein Betriebssystem (Firmware) und eine Schnittstelle, über die ein Anwenderprogramm geladen werden kann. Das Anwenderprogramm legt fest, wie die Ausgänge in Abhängigkeit von den Eingängen geschaltet werden sollen. Dabei können die Eingänge und Ausgänge mit den Automatisierungsgeräten und/oder den E/A-Modulen verbunden werden und anhand der im Anwenderprogramm hinterlegten Logik kann der Prozess, der von der Automatisierungsanlage durchgeführt wird, überwacht beziehungsweise gesteuert werden. Dabei wird die Überwachung des Prozesses durch die Sensoren bewerkstelligt und die Steuerung des Prozesses durch die Aktoren. Die Steuerung kann auch als zentrale Steuerung oder Zentraleinheit bezeichnet werden und übernimmt zumindest für ein mit der Steuerung verbundenes Automatisierungsgerät oder E/A-Modul die Steuerung.The control of an automation system is usually accomplished with the help of one or more programmable logic controllers, PLC. The PLCs can be arranged hierarchically or decentrally in an automation system. There are different performance classes for the PLC, so that they can take over different controls and regulations depending on the computing and storage capacity. In the simplest case, a PLC has inputs, outputs, an operating system (firmware) and an interface via which a user program can be loaded. The user program defines how the outputs are to be switched depending on the inputs. The inputs and outputs can be connected to the programmable controllers and / or the I / O modules, and the logic stored in the user program can be used to monitor or control the process performed by the automation system. In this case, the monitoring of the process is accomplished by the sensors and the control of the process by the actuators. The controller can also be referred to as a central controller or central unit and assumes control of at least one automation device or I / O module connected to the controller.
Allerdings ist das direkte Verbinden der Automatisierungsgeräte mit der zumindest einen Steuerung oder der E/A-Module mit der zumindest einen Steuerung in Form einer parallelen Verdrahtung, d.h. von jedem Automatisierungsgerät oder jedem E/A-Modul wird je eine Leitung zur übergeordneten Steuerung verlegt, sehr aufwendig. Gerade bei steigendem Automatisierungsgrad einer Automatisierungsanlage wächst der Verkabelungsaufwand bei paralleler Verdrahtung. Dies ist mit großem Aufwand bei der Projektierung, Installation, Inbetriebnahme und Wartung verbunden.However, the direct connection of the automation devices to the at least one controller or the I / O modules to the at least one controller in the form of a parallel wiring, i. Each automation device or each I / O module relocates one line to the higher-level control, which is very expensive. Especially with increasing degree of automation of an automation system, the cabling effort increases with parallel wiring. This is associated with great effort in the design, installation, commissioning and maintenance.
Daher werden heutzutage in der Automatisierungstechnik zumeist Bussysteme eingesetzt, mit denen die Automatisierungsgeräte beziehungsweise die E/A-Module an die Steuerung angeschlossen werden können. Die Teilnehmer eines Bussystems werden auch als Busteilnehmer bezeichnet. Weil auf dem Bussystem Daten ausgetauscht werden, werden die Busteilnehmer auch häufig als Datenbusteilnehmer bezeichnet. Um die Anbindung der einzelnen Automatisierungsgeräte beziehungsweise der E/A-Module mit dem Bussystem noch weiter zu vereinfachen, werden heutzutage häufig einzelne Gruppen von Automatisierungsgeräten beziehungsweise E/A-Modulen mit Hilfe eines spezialisierten Lokalbusses zunächst untereinander zu einem Lokalbussystem verbunden und anschließend wird zumindest ein Teilnehmer dieses Lokalbusses mit dem Bussystem verbunden, welches mit der Steuerung verbunden ist. For this reason, automation systems usually use bus systems today, with which the automation devices or the I / O modules can be connected to the controller. The subscribers of a bus system are also referred to as bus subscribers. Because data is exchanged on the bus system, bus subscribers are also often referred to as data bus subscribers. In order to simplify the connection of the individual automation devices or the I / O modules with the bus system even more, nowadays individual groups of automation devices or I / O modules with the help of a specialized local bus are initially connected to each other to a local bus system and then at least one Subscriber of this local bus connected to the bus system, which is connected to the controller.
Dabei kann sich das Lokalbussystem von dem Bussystem unterscheiden, welches eingesetzt wird, um die Verbindung mit der Steuerung zu realisieren.In this case, the local bus system may differ from the bus system, which is used to realize the connection with the controller.
Der mit dem Bussystem der Steuerung verbundene Teilnehmer einer Gruppe von Lokalbusteilnehmern wird häufig auch als Lokalbusmaster bezeichnet. Alternativ wird auch die Bezeichnung Kopfstation des Lokalbussystems verwendet. Dieser Lokalbusmaster kann gegenüber anderen Lokalbusteilnehmer weitere Logiken, Schaltungen oder Funktionalitäten beinhalten, die zur Anbindung an das Bussystem der Steuerung notwendig sind. Auch kann der Lokalbusmaster selbst eine SPS beinhalten. Auch kann dieser Teilnehmer Logiken und Schaltungen zur Umsetzung zwischen den zwei Bussystemen aufweisen. Der Lokalbusmaster kann daher auch als Gateway oder Busumsetzer ausgebildet sein und sorgt für eine Umsetzung der im Format des einen Bussystems vorliegenden Daten in das Format des Lokalbussystems und umgekehrt. Zumeist aber nicht zwingend, ist der Lokalbusmaster auf die Anbindung des Lokalbusses an den übergeordneten Bus spezialisiert.The subscriber of a group of local bus subscribers connected to the bus system of the controller is often referred to as a local bus master. Alternatively, the term headend of the local bus system is used. In comparison to other local bus subscribers, this local bus master can contain further logic, circuits or functionalities which are necessary for connection to the bus system of the controller. Also, the local bus master itself may include a PLC. Also, this participant can logics and circuits to implement between the two bus systems exhibit. The local bus master can therefore also be designed as a gateway or bus converter and ensures conversion of the data present in the format of the one bus system into the format of the local bus system and vice versa. In most cases, however, not mandatory, the local bus master is specialized in the connection of the local bus to the parent bus.
Die zum Einsatz kommenden Lokalbusse sind zumeist auf die speziellen Einsatzerfordernisse der Automatisierungsgeräte beziehungsweise E/A-Module abgestimmt oder berücksichtigen deren spezielle Hardwareausgestaltung. Dabei bilden die Gruppen an Automatisierungsgeräten beziehungsweise E/A-Modulen des Lokalbussystems zumeist eine Untergruppe der Automatisierungsanlage zur Ausführung einer speziellen Aufgabe in dem von der Automatisierungsanlage ausgeführten Prozess. Die auf den Bussen ausgetauschten Daten für den Prozess werden auch häufig als Lokalbusdaten oder Prozessdaten bezeichnet, weil diese Daten Informationen zur Regelung beziehungsweise Steuerung des von der Automatisierungsanlage ausgeführten Prozesses beinhaltet. Diese Daten können dabei unter anderem Messdaten, Steuerungsdaten, Zustandsdaten und/oder andere Informationen umfassen. Entsprechend des verwendeten Busprotokolls können diesen Daten andere Daten vorangestellt (engl. Header) oder angehängt (engl. Tail) sein. Diese anderen Daten können Informationen bezüglich der Daten beinhalten, oder Informationen bezüglich einer internen Kommunikation auf dem Lokalbus beinhalten. Hierbei ist eine Vielzahl von unterschiedlichen Informationen bekannt, die entsprechend des verwendeten Busprotokolls den Daten vorangestellt oder angefügt werden können.The local buses used are mostly tailored to the specific application requirements of the automation devices or I / O modules or take into account their special hardware design. The groups of automation devices or I / O modules of the local bus system usually form a subgroup of the automation system for performing a specific task in the process performed by the automation system. The data exchanged on the buses for the process are also often referred to as local bus data or process data, because this data includes information for controlling or controlling the executed by the automation system process. These data may include, among other things, measurement data, control data, status data and / or other information. Depending on the bus protocol used, this data may be preceded by other data (English: header) or appended (tail). These other data may include information regarding the data or include information regarding internal communication on the local bus. Here, a variety of different information is known, which can be preceded or added to the data according to the bus protocol used.
Ein Beispiel eines Lokalbusses ist ein Ringbus, der eine spezialisierte Form des Lokalbusses darstellt, wie zum Beispiel aus
In einer derartigen Ringbusanordnung oder auch in einem anderen Lokalbus ist es aufwendig die Datenbusteilnehmer zu programmieren. Für die Programmierung der Datenbusteilnehmer muss beispielsweise die Übertragung auf dem Bus unterbrochen werden, oder der Datenbusteilnehmer muss über eine externe Schnittstelle programmiert werden, wobei der Datenbusteilnehmer in dieser Zeit nicht an der Kommunikation auf dem Lokalbus teilnehmen kann.In such a ring bus arrangement or in another local bus, it is complicated to program the data bus users. To program the data bus users, for example, the transmission on the bus must be interrupted or the data bus user must be programmed via an external interface, whereby the data bus user can not participate in the communication on the local bus during this time.
Ausgehend hiervon ist es die Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren, einen verbesserten Datenbusteilnehmer sowie einen Lokalbusmaster bereitzustellen, mit dem eine Programmierung der Datenbusteilnehmer auch während des Betriebs des Lokalbusses möglich ist, so dass der Datenbusteilnehmer unmittelbar nach der Programmierung während des Betriebs des Lokalbusses Prozessdaten verarbeiten kann.Based on this, it is the object of the present invention to provide an improved method, an improved data bus subscriber and a local bus master, with the programming of the data bus participants is also possible during operation of the local bus, so that the data bus user immediately after programming during operation of the local bus Process data can process.
Zusammenfassung der ErfindungSummary of the invention
Diese Aufgabe wird mit einem Verfahren und einem Datenbusteilnehmer sowie einem Verfahren und einem Lokalbusmaster entsprechend der unabhängigen Ansprüche gelöst. Vorteilhafte Ausführungsformen sind in den Unteransprüchen beschrieben.This object is achieved by a method and a data bus subscriber as well as a method and a local bus master according to the independent claims. Advantageous embodiments are described in the subclaims.
Das erfindungsgemäße Verfahren zum Betrieb eines Datenbusteilnehmers eines Lokalbusses, insbesondere eines Ringbusses, weist die Schritte auf von Empfangen eines ersten Datenpakets über den Lokalbus, wobei das erste Datenpaket eine Adresse des Datenbusteilnehmers aufweist an den es gerichtet ist und zumindest eine Instruktionsliste mit einem Satz von Instruktionen zum Verarbeiten von Prozessdaten. Gerichtet in diesem Fall bedeutet, dass die in dem Datenpaket enthaltene Instruktionsliste für einen bestimmten Datenbusteilnehmer im Lokalbus bestimmt ist. Die Instruktionen der Instruktionsliste können unterschiedlichste Verarbeitungsschritte vorgeben, die mit den Prozessdaten durchgeführt werden sollen. Die zumindest eine Instruktionsliste enthält dabei beispielsweise Instruktionen, die ein Regelwerk zur Verarbeitung der Prozessdaten vorgeben. Das Regelwerk definiert beispielsweise welche Prozessdaten von einem Datenbusteilnehmer aus einem auf dem Lokalbus durchlaufenden Datenstrom selektiert werden sollen, welche gelesen werden sollen, oder an welchen Stellen vom Datenbusteilnehmer Prozessdaten geschrieben werden sollen, und/oder welche Prozessdaten der Datenbusteilnehmer auf andere Art und Weise manipulieren soll. Die Instruktionslisten definieren dementsprechend ein Verhalten des Datenbusteilnehmers in Bezug auf die zu verarbeitenden Prozessdaten. Der Datenbusteilnehmer an den die Instruktionsliste gerichtet ist, kann die Instruktionsliste in einem Speicher speichern und die Instruktionsliste zur Verarbeitung von Prozessdaten zu einem späteren Zeitpunkt verwenden. Dazu kann die Instruktionsliste derart gespeichert werden, dass diese gezielt auffindbar ist. Das Speichern kann dabei alle Arten des Vorhaltens der Instruktionsliste umfassen. Es ist dabei nur von Bedeutung, dass der Datenbusteilnehmer Zugriff auf die empfangene zumindest eine Instruktionsliste hat, d.h. Zugriff auf den Speicher hat. Entsprechend kann die zumindest eine Instruktionsliste in dem Datenbusteilnehmer selbst gespeichert werden, beispielsweise in einem Speicher des Datenbusteilnehmers, oder in einem mit dem Datenbusteilnehmer verbundenen Speicher. Die Verbindung zwischen Datenbusteilnehmer und Speicher kann dabei kabelgebunden oder kabellos geschehen. Auch ist denkbar, dass der Speicher ein Zusatzmodul ist, welches mit dem Datenbusteilnehmer verbunden werden kann. Der Speicher kann beliebig ausgestaltet sein.The method according to the invention for operating a data bus subscriber of a local bus, in particular of a ring bus, comprises the steps of receiving a first data packet via the local bus, wherein the first data packet has an address of the data bus subscriber to which it is addressed and at least one instruction list with a set of instructions for processing process data. Directed in this case means that the instruction list contained in the data packet is intended for a particular data bus subscriber in the local bus. The instructions of the instruction list can specify a very wide variety of processing steps that are to be carried out with the process data. The at least one instruction list contains, for example, instructions that specify a set of rules for processing the process data. The set of rules defines, for example, which process data are to be selected by a data bus subscriber from a data stream passing through on the local bus, which data are to be read, or at which points data is to be written by the data bus subscriber, and / or which process data To manipulate data bus users in other ways. The instruction lists accordingly define a behavior of the data bus user with respect to the process data to be processed. The data bus subscriber to which the instruction list is directed can store the instruction list in a memory and use the instruction list for processing process data at a later time. For this purpose, the instruction list can be stored in such a way that it can be found specifically. The storage can include all types of holding the instruction list. It is only important that the data bus subscriber has access to the received at least one instruction list, ie has access to the memory. Accordingly, the at least one instruction list may be stored in the data bus subscriber itself, for example in a memory of the data bus subscriber, or in a memory connected to the data bus subscriber. The connection between data bus users and memory can be wired or wireless. It is also conceivable that the memory is an additional module which can be connected to the data bus subscriber. The memory can be configured as desired.
Das erste Datenpaket kann auch als Kommunikationsdatenpaket bezeichnet werden und vorzugsweise keine Prozessdaten enthalten. Vorteilhafterweise enthält ein Kommunikationsdatenpaket Daten insbesondere zum Programmieren und/oder zum Steuern und/oder zum Überwachen und/oder zum Identifizieren zumindest eines Datenbusteilnehmers. Vorteilhafterweise weist das Kommunikationsdatenpaket eine Adresse auf, die mindestens einem Datenbusteilnehmer zugeordnet ist. Vorzugsweise ist der Datenbusteilnehmer eingerichtet, die Adresse auszuwerten und das Kommunikationsdatenpaket zu lesen, so dass der Datenbusteilnehmer mit den in dem Kommunikationsdatenpaket vorhandenen Informationen, beispielsweise der Instruktionsliste programmiert werden kann beziehungsweise diese Informationen speichert und damit programmiert ist.The first data packet may also be referred to as a communication data packet and preferably does not contain any process data. Advantageously, a communication data packet contains data, in particular for programming and / or for controlling and / or for monitoring and / or for identifying at least one data bus user. Advantageously, the communication data packet has an address which is assigned to at least one data bus subscriber. Preferably, the data bus subscriber is set up to evaluate the address and to read the communication data packet so that the data bus subscriber can be programmed with the information present in the communication data packet, for example the instruction list, or stores and thus programs this information.
Weiter weist das erfindungsgemäße Verfahren das Empfangen eines zweiten Datenpakets über den Lokalbus auf, wobei das zweite Datenpaket Prozessdaten aufweist. Diese empfangenen Prozessdaten lassen sich dann durch Ausführen von Instruktionen der zumindest einen im ersten Datenpaket empfangenen Instruktionsliste verarbeiten.Furthermore, the method according to the invention comprises receiving a second data packet via the local bus, wherein the second data packet has process data. These received process data can then be processed by executing instructions of the at least one instruction list received in the first data packet.
Das zweite Datenpaket kann auch als Prozessdatenpaket bezeichnet werden und enthält Prozessdaten, die von den Datenbusteilnehmern des Lokalbusses gesendet und/oder empfangen werden. Vorteilhafterweise weist das Prozessdatenpaket keine Adresse zur Übertragung der Prozessdaten an einen oder von einem Datenbusteilnehmer im Lokalbus auf. In dem Prozessdatenpaket sind die Prozessdaten beispielsweise derart angeordnet, dass Datenbusteilnehmer auf Grund der jeweiligen Position der Prozessdaten in dem Prozessdatenpaket, beispielsweise ein oder mehrere Bits innerhalb eines zugeordneten zusammenhängenden Datenblocks (1 Byte), diejenigen dem jeweiligen Datenbusteilnehmer zugehörigen Prozessdaten erkennen können. Vorteilhafterweise weist das Prozessdatenpaket eine Kennung (IDE) auf, die dem Typ des Datenpakets, also dem Prozessdatenpaket zugeordnet und durch den Datenbusteilnehmer identifizierbar ist. Die Prozessdaten können auch als Lokalbusdaten bezeichnet werden.The second data packet may also be referred to as a process data packet and contains process data that is sent and / or received by the data bus users of the local bus. Advantageously, the process data packet has no address for transmitting the process data to or from a data bus subscriber in the local bus. In the process data packet, the process data are arranged, for example, in such a way that data bus users can recognize the process data associated with the respective data bus subscriber based on the respective position of the process data in the process data packet, for example one or more bits within an associated contiguous data block. Advantageously, the process data packet has an identifier (IDE) which is assigned to the type of the data packet, that is to say to the process data packet, and can be identified by the data bus user. The process data can also be referred to as local bus data.
Durch die Verwendung eines ersten Datenpakets, welches in einer lokalbuskonformen Kommunikation an einen Datenbusteilnehmer gesendet wird, kann dieser programmiert werden, ohne dass hierfür eine externe Programmierung nötig wäre. Die Programmierung findet für den Datenbusteilnehmer dementsprechend im laufenden Betrieb des Lokalbusses statt. Sobald der Datenbusteilnehmer die im ersten Datenpaket enthaltene Instruktionsliste gespeichert hat, ist die Programmierung des Datenbusteilnehmers abgeschlossen und dieser kann die in einer weiteren lokalbuskonformen Kommunikation enthaltenen Prozessdaten verarbeiten.By using a first data packet, which is sent in a locally bus-compatible communication to a data bus subscriber, this can be programmed, without the need for an external programming would be necessary. The programming takes place accordingly for the data bus subscriber during operation of the local bus. As soon as the data bus subscriber has stored the instruction list contained in the first data packet, the programming of the data bus subscriber is completed and this can process the process data contained in a further local bus-compatible communication.
In einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens weist dieses weiter auf, Vergleichen der im ersten Datenpaket empfangenen Adresse mit einer Adresse des Datenbusteilnehmers. Nur bei einer Übereinstimmung der Adressen speichert der Datenbusteilnehmer die im ersten Datenpaket folgende Instruktionsliste, so dass nur der Datenbusteilnehmer programmiert wird, an den die Instruktionsliste gerichtet ist. Beispielsweise kann die Adresse aber auch eine Gruppenadresse sein, d.h. mehrere Datenbusteilnehmer werden eine Übereinstimmung mit der Adresse feststellen, so dass mehrere Datenbusteilnehmer programmiert werden können. Dies ist zum Beispiel vorteilhaft, wenn mehrere Datenbusteilnehmer die gleiche Aufgabe im Automatisierungssystem übernehmen und dementsprechend auch mit gleichen Sensoren und/oder Aktoren ausgestattet sind aber beispielsweise unterschiedliche Positionen im Automatisierungsprozess einnehmen.In a preferred embodiment of the method according to the invention, this further comprises comparing the address received in the first data packet with an address of the data bus subscriber. Only if the addresses match does the data bus subscriber store the instruction list following the first data packet, so that only the data bus subscriber to which the instruction list is addressed is programmed. For example, the address may also be a group address, i. multiple data bus users will detect a match with the address so that multiple data bus users can be programmed. This is advantageous, for example, if a plurality of data bus users undertake the same task in the automation system and are accordingly also equipped with the same sensors and / or actuators but occupy different positions in the automation process, for example.
In einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens werden das erste und zweite Datenpaket in einem Lokalbus konformen Zyklusrahmen empfangen. D.h. die Programmierung sowie die mit der Programmierung zu verarbeitenden Prozessdaten können in dem gleichen Zyklusrahmen gesendet werden. Es ist aber auch möglich, dass das erste und zweite Datenpaket in unterschiedlichen Zyklusrahmen empfangen werden. Ein Zyklusrahmen kann dabei beispielsweise als ein wiederkehrendes (zyklisches) vorzugsweise äquidistantes Zeitintervall, in dem Daten auf dem Lokalbus übertragbar sind, definiert werden. Der Zyklusrahmen weist beispielsweise zumindest eine Startkennung (SOC) und einen Zeitbereich zur Übertragung von Daten auf. Mehrere Startkennungen (SOC) aufeinander folgender Zyklusrahmen sind dabei vorteilhafterweise in einem zeitlich äquidistanten Abstand zueinander. Der genannte Zeitbereich ist für die Übertragung der Datenpakete vorgesehen. Die Startkennung (SOC) und die Datenpakete werden über den Lokalbus übertragen und durchlaufen alle Datenbusteilnehmer. Die Startkennung (SOC) ist separat, also als eigenständiges Symbol übertragbar oder vorteilhafterweise in einem Startdatenpaket (SOC-Paket) enthalten.In a preferred embodiment of the method according to the invention, the first and second data packets are received in a cycle frame that complies with the local bus. This means that the programming as well as the process data to be processed with the programming can be sent in the same cycle frame. However, it is also possible that the first and second data packets are received in different cycle frames. For example, a cycle frame can be considered a recurring one (cyclic) preferably equidistant time interval in which data is transferable on the local bus defined. The cycle frame has, for example, at least one start identifier (SOC) and a time range for the transmission of data. Several start identifiers (SOC) of successive cycle frames are advantageously at a time equidistant from each other. The named time range is intended for the transmission of the data packets. The start identifier (SOC) and the data packets are transmitted via the local bus and pass through all the data bus users. The start identifier (SOC) is separate, ie transferable as an independent symbol or advantageously contained in a start data packet (SOC packet).
Innerhalb des Zeitbereichs des Zyklusrahmens werden keine, ein oder mehrere Datenpakete übertragen. Vorteilhafterweise werden in einem Zyklusrahmen Leerlauf-Daten (Idle-Data) eingefügt, insbesondere angrenzend an zumindest ein Datenpaket. Vorteilhafterweise bewirkt die Übertragung der Datenpakete und/oder der Leerlauf-Daten ein ununterbrochenes Signal auf dem Lokalbus. Das Signal ermöglicht es den Datenbusteilnehmern, sich auf dieses zeitlich zu synchronisieren. Vorteilhafterweise weist der Zyklusrahmen zusätzlich einen Trailer auf. Der Trailer hat eine variable Länge und folgt auf den Zeitbereich zur Datenübertragung vorzugsweise bis zur folgenden Startkennung (SOC) des nächsten Zyklusrahmens. Vorteilhafterweise weist der Trailer Leerlauf-Daten auf.Within the time range of the cycle frame, none, one or more data packets are transmitted. Advantageously, idle data (idle data) are inserted in a cycle frame, in particular adjacent to at least one data packet. Advantageously, the transmission of the data packets and / or the idle data causes an uninterrupted signal on the local bus. The signal allows the data bus users to synchronize to this time. Advantageously, the cycle frame additionally has a trailer. The trailer has a variable length and preferably follows the time range for data transmission up to the next start identifier (SOC) of the next cycle frame. Advantageously, the trailer has idle data.
Vorzugsweise wird der Zyklusrahmen von einem Lokalbusmaster erzeugt. Dieser Lokalbusmaster kann bereits entsprechend der zu verarbeitenden Prozessdaten, die Programmierung vorgeben. Dies hat den Vorteil, dass es zu keiner Unterbrechung der Kommunikation kommt. Auch ist der zusätzliche Aufwand (engl. Overhead) für den Lokalbusmaster sehr gering, weil dieser nicht eine extra Kommunikation zur Programmierung verwenden muss oder aufwendig die lokalbuskonforme Kommunikation anpassen muss, sondern der Lokalbusmaster kann die Programmierung in die normale Prozessdatenkommunikation einbinden.Preferably, the cycle frame is generated by a local bus master. This local bus master can already specify the programming according to the process data to be processed. This has the advantage that there is no interruption of the communication. The additional overhead (overhead) for the local bus master is also very low because it does not have to use extra communication for programming or has to adapt the local bus-compatible communication in a costly way, but the local bus master can integrate the programming into the normal process data communication.
In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens weist das zweite Datenpaket weiter einen Instruktionslistenindex (ILI) auf. Dieser Instruktionslistenindex wird verwendet zum Auswählen einer Instruktionsliste zum Verarbeiten der empfangenen Prozessdaten. Der Instruktionslistenindex informiert den Datenbusteilnehmer darüber, welche gespeicherte Instruktionsliste verwendet werden soll. Ein Instruktionslistenindex ist also einer Instruktionsliste zugeordnet oder umgekehrt, so dass mit Hilfe des Instruktionslistenindexes die zu verwendende Instruktionsliste identifiziert werden kann. Hierzu weist der Instruktionslistenindex bevorzugt einen Wert auf, der zugeordnet ist zu einer Instruktionsliste, beispielsweise weist der Wert auf eine bestimmte Instruktionsliste hin oder auf deren Speicherplatz. Dazu kann der Wert selbst die Speicheradresse sein, wo die Instruktionsliste im Datenbusteilnehmer gespeichert ist oder wo zumindest eine erste Instruktion der Instruktionsliste gespeichert ist. Alternativ oder zusätzlich kann der Wert auch auf einen Speicherbereich hinweisen, in dem die entsprechende Instruktionsliste abgespeichert ist. In den zuvor genannten Fällen kann auch von einer direkten Zuordnung gesprochen werden. Der Wert des Instruktionslistenindex kann beispielsweise aber auch verwendet werden, als Eingabe einer Umsetzungstabelle (engl. Lookup-Tabelle, LUT). Dabei ist der Wert des Instruktionslistenindex der Eingangswert der Umsetzungstabelle. Der Ausgangswert der Umsetzungstabelle kann die Speicheradresse der ersten Instruktion in der zugehörigen Instruktionsliste sein oder anderweitig die Instruktionsliste identifizieren. Der Instruktionslistenindex kann vorzugsweise einen Wert aus einem festen Wertebereich aufweisen. Beispielsweise kann der Instruktionslistenindex aus dem Bitwertebereich zwischen 0000 bis 1111 stammen. Es ist dem Fachmann aber klar, dass auch andere Wertebereiche verwendet werden können. Die Umsetzungstabelle kann softwaretechnisch sowie hardwaretechnisch in Form von beispielsweise Logiken hinterlegt sein und eine eineindeutige Umsetzung von einem Eingangswert in einen Ausgangswert angeben, wobei der Ausgangswert einen Hinweis auf die zu verwendende Instruktionsliste gibt. Dabei hängt es von der Umsetzungstabelle ab, wie ein Zusammenhang zwischen dem Instruktionslistenindex und der Instruktionsliste hergestellt wird. Bei der Verwendung einer Umsetzungstabelle kann auch von einer indirekten Zuordnung gesprochen werden. Bei der direkten sowie indirekten Zuordnung ist aber über den Instruktionslistenindex die von dem Datenbusteilnehmer zu verwendende Instruktionsliste eineindeutig identifizierbar, d.h. auffindbar. Die über den Instruktionslistenindex aufgefundene Instruktionsliste wird dann durch den Datenbusteilnehmer ausgeführt zum Verarbeiten der Prozessdaten im zweiten Datenpaket. Es wird also der Satz von Instruktionen der ausgewählten Instruktionsliste abgearbeitet. Enthält der Instruktionslistenindex einen Verweis auf eine Instruktionsliste, die am Datenbusteilnehmer nicht vorhanden ist, so kann der Datenbusteilnehmer einen Fehler melden. Auch kann der Datenbusteilnehmer den Instruktionslistenindex ignorieren und keine Instruktionsliste für die Prozessdaten abarbeiten.In a further preferred embodiment of the method according to the invention, the second data packet further has an instruction list index (ILI). This instruction list index is used to select an instruction list for processing the received process data. The instruction list index informs the data bus user which stored instruction list to use. An instruction list index is thus assigned to an instruction list or vice versa, so that the instruction list to be used can be identified with the aid of the instruction list index. For this purpose, the instruction list index preferably has a value which is assigned to an instruction list, for example, the value indicates a specific instruction list or its memory location. For this purpose, the value itself may be the memory address where the instruction list is stored in the data bus subscriber or where at least a first instruction of the instruction list is stored. Alternatively or additionally, the value can also indicate a memory area in which the corresponding instruction list is stored. In the cases mentioned above can also be spoken of a direct assignment. The value of the instruction list index, however, can also be used, for example, as input of a look-up table (LUT). The value of the instruction list index is the input value of the conversion table. The output of the translation table may be the memory address of the first instruction in the associated instruction list or otherwise identify the instruction list. The instruction list index may preferably have a value from a fixed value range. For example, the instruction list index may be from the bit value range between 0000 to 1111. However, it is clear to the person skilled in the art that other ranges of values can also be used. The conversion table can be stored in terms of software technology and hardware in the form of, for example, logics and indicate a one-to-one conversion from an input value to an output value, the output value giving an indication of the instruction list to be used. It depends on the conversion table how a connection between the instruction list index and the instruction list is established. When using a conversion table, it is also possible to speak of an indirect assignment. In the direct and indirect assignment, however, the instruction list index to be used by the data bus subscriber is uniquely identifiable via the instruction list index, i. find. The instruction list found via the instruction list index is then executed by the data bus user to process the process data in the second data packet. Thus, the set of instructions of the selected instruction list is processed. If the instruction list index contains a reference to an instruction list which does not exist on the data bus subscriber, then the data bus subscriber can report an error. Also, the data bus user can ignore the instruction list index and not execute an instruction list for the process data.
In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens weisen das erste und zweite Datenpaket eine Anzahl von Symbolen auf, wobei jedes Symbol eine Anzahl von Bits aufweist, beispielsweise 8 Bits also 1 Byte. Es ist dem Fachmann aber bewusst, dass die Stückelung der Datenpakete auch in anderen Einheiten geschehen kann, die mehr oder weniger als 8 Bits umfassen. Die Datenpakete durchlaufen den Lokalbus in Form dieser Symbole, d.h. einheitenweise, stückchenweise, oder Teile weise. Ein derartiger Teil der Datenpakete wird im Folgenden auch als Stück oder Einheit bezeichnet. D.h. die Datenbusteilnehmer haben zu jeder gegebenen Zeit immer nur einen Teil der Datenpakete vorliegen. Dabei empfängt ein Datenbusteilnehmer symbolweise die ersten und zweiten Datenpakete. Nach Verarbeitung eines Symbols sendet der Datenbusteilnehmer den gerade bearbeiteten Teil an den nachgelagerten Datenbusteilnehmer weiter und empfängt im gleichen Schritt von dem vorgelagerten Datenbusteilnehmer einen neuen Teil der Datenpakete. Ein Verarbeiten eines Teils eines Datenpakets kann auch darin bestehen, dass der Datenbusteilnehmer den Teil des Datenpakets überspringt. Zum Beispiel können alle Datenbusteilnehmer an die das erste Datenpaket nicht gerichtet ist, die zumindest eine Instruktionsliste, welche in diesem Datenpaket enthalten ist überspringen und nur der Datenbusteilnehmer an den das erste Datenpaket gerichtet ist kann die Instruktionsliste speichern. Damit eine deterministische Verarbeitungszeit gewährleistet werden kann, verbleibt jeder Teil der Datenpakete immer gleich lang an einem Datenbusteilnehmer, egal ob eine oder keine Verarbeitung stattfindet. Dies ist nötig, um den anderen Datenbusteilnehmern genügend Zeit zu geben, ihre Verarbeitungen mit den an diesen Datenbusteilnehmern vorliegenden Teilen der Datenpakete durchzuführen, bevor ein neuer Teil der Datenpakete empfangen wird. Die Verarbeitung der Teile des ersten Datenpakets kann dabei entweder aus dem Überspringen, d.h. dem der Nicht-Verarbeitung, der zumindest einen Instruktionsliste bestehen oder in deren Speicherung, wenn das erste Datenpaket an den Datenbusteilnehmer gerichtet ist, der die jeweiligen Teile empfängt. Eine Verarbeitung der Teile des zweiten Datenpakets kann darin bestehen, dass eine Bitoperation auf den empfangenen Prozessdaten ausgeführt wird. In diesem Fall kann auch davon gesprochen werden, dass die Verarbeitung bitgranular geschieht. Die Bitoperationen die durchgeführt werden können basieren beispielsweise auf einem reduzierten Instruktionssatz den der Datenbusteilnehmer ausführen kann, beispielsweise „SKIP“, „MOVE“, „NEGATION“, „INCREMENT“, „AND“ und „OR“ oder einer Kombination daraus. Welche Bitoperationen ausgeführt werden sollen ist in dem Datenbusteilnehmer mit Hilfe von Instruktionslisten hinterlegt. Eine Instruktionsliste kann dabei dem jeweiligen Datenbusteilnehmer in einem ersten Datenpaket zugesandt werden und stellt die Programmierung des Datenbusteilnehmers dar. Diese Instruktionslisten enthalten für jeden Teil des zweiten Datenpakets oder für jedes Bit des zweiten Datenpakets zumindest eine Instruktion, d.h. eine Operation die mit dem entsprechenden Bit durchgeführt werden soll. Dabei kann für jedes Symbol eine feste Anzahl oder eine vorherbestimmte Anzahl von Instruktionen in der Instruktionsliste vorhanden sein. D.h. jeder Datenbusteilnehmer führt in der Zeit die im zur Verarbeitung zur Verfügung steht eine gewisse Anzahl von Instruktionen pro Symbol aus. Soll der Datenbusteilnehmer beispielsweise mit dem Bit keine Verarbeitung durchführen, so kann die entsprechende Instruktionsliste für das entsprechende Bit leer sein oder eine „SKIP“ Instruktion aufweisen. Die Instruktionsliste kann auch die Anzahl der Wiederholungen für eine bestimmte Instruktion aufweisen. Beispielsweise kann die Instruktionsliste eine „SKIP“ Instruktion beinhalten, mit dem Hinweis diese zweimal zu wiederholen. In diesem Fall werden dann die nächsten zwei Bit nicht verarbeitet, sondern übersprungen. Auch für die Instruktionen „MOVE“, „NEGATION“, „INCREMENT“, „AND“ und „OR“ können Parameter vorgegeben sein.In a further preferred embodiment of the method according to the invention, the first and second data packet have a number of symbols, each symbol having a number of bits, for example 8 bits,
In einer weiteren bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens ist die Adresse im ersten Datenpaket eine eineindeutige Adresse des Datenbusteilnehmers, an den das erste Datenpaket gerichtet ist. In diesem Fall bedeutet gerichtet, dass die im ersten Datenpaket enthaltene Instruktionsliste nur von dem Datenbusteilnehmer gespeichert wird, dessen Adresse mit der eineindeutigen Adresse im ersten Datenpaket übereinstimmt. D.h. eine Programmierung wird nur an dem Datenbusteilnehmer vorgenommen, dessen Adresse mit der Adresse im ersten Datenpaket übereinstimmt. Das erste Datenpakt kann dementsprechend auch als gerichtetes oder bestimmtes Datenpaket bezeichnet werden, weil es für nur einen Datenbusteilnehmer oder eine bestimmte Gruppe von Datenbusteilnehmern bestimmt ist, wohingegen das zweite Datenpaket keine Adresse beinhaltet und dementsprechend als ungerichtet oder unbestimmtes Datenpaket bezeichnet werden kann. Dabei ist das zweite Datenpaket unbestimmt, weil es die Prozessdaten für alle Datenbusteilnehmer des Lokalbusses trägt. Es kann auch davon gesprochen werden, dass das erste Datenpaket eine asynchrone Kommunikation darstellt, wohingegen das zweite Datenpaket eine synchrone Kommunikation darstellt. Die Kommunikation des ersten Datenpakets ist asynchron, weil das erste Datenpaket nicht in jedem Zyklusrahmen neu gesendet werden muss, sondern nur für die Programmierung eines Datenbusteilnehmers einmal verwendet wird. Die Kommunikation des zweiten Datenpakets ist synchron, weil das zweite Datenpaket zyklisch wiederholt wird. Dabei müssen die Prozessdaten nicht immer den gleichen Wert annehmen, aber dem Fachmann ist klar, dass bei einer Automatisierung immer wieder die gleichen Prozessschritte wiederholt werden, die das Vorhandensein von zyklisch wieder auftretenden Prozessdaten nötig machen.In a further preferred embodiment of the method according to the invention, the address in the first data packet is a one-to-one address of the data bus subscriber to which the first data packet is directed. In this case, directed means that the instruction list contained in the first data packet is stored only by the data bus subscriber whose address matches the one-to-one address in the first data packet. That programming is only performed on the data bus subscriber whose address matches the address in the first data packet. Accordingly, the first data packet may also be referred to as a directed or specific data packet because it is intended for only one data bus subscriber or a particular group of data bus subscribers, whereas the second data packet may not include an address and accordingly may be referred to as an undirected or undetermined data packet. In this case, the second data packet is indefinite because it carries the process data for all data bus users of the local bus. It can also be said that the first data packet represents an asynchronous communication, whereas the second data packet represents a synchronous communication. The communication of the first data packet is asynchronous, because the first data packet does not have to be retransmitted in each cycle frame, but is only used once for programming a data bus user. The communication of the second data packet is synchronous because the second data packet is cyclically repeated. In this case, the process data does not always have to assume the same value, but it is clear to the person skilled in the art that in the case of automation, the same process steps are repeated over and over again, which necessitate the presence of cyclically recurring process data.
Die oben genannte Aufgabe wird auch gelöst durch einen Datenbusteilnehmer eines Lokalbusses, insbesondere eines Ringbusses, wobei der Datenbusteilnehmer ein Mittel zum Empfangen eines ersten Datenpakets über den Lokalbus aufweist, wobei das erste Datenpaket eine Adresse des Datenbusteilnehmers aufweist an den es gerichtet ist und zumindest eine Instruktionsliste mit einem Satz von Instruktionen zum Verarbeiten von Prozessdaten. Der erfindungsgemäße Datenbusteilnehmer weist des Weiteren ein Mittel zum Empfangen eines zweiten Datenpakets über den Lokalbus auf, wobei das zweite Datenpaket Prozessdaten aufweist. Dabei können die Mittel zum Empfangen eine Empfängerschaltung oder eine Transceiverschaltung sein. Die Schaltungen sind zum Beispiel in einem anwendungsspezifischen integrierten Schaltkreis (engl. ASIC) oder in einer Feld programmierbaren (Logik-)Gatter-Anordnung (engl. FPGA) implementiert.The above object is also achieved by a data bus subscriber of a local bus, in particular a ring bus, wherein the data bus subscriber means for receiving a first data packet over the local bus, the first data packet having an address of the data bus subscriber to which it is addressed and at least one instruction list having a set of instructions for processing process data. The data bus subscriber according to the invention furthermore has a means for receiving a second data packet via the local bus, wherein the second data packet has process data. In this case, the means for receiving may be a receiver circuit or a transceiver circuit. The circuits are implemented, for example, in an application specific integrated circuit (ASIC) or field programmable (logic) gate array (FPGA).
Der erfindungsgemäße Datenbusteilnehmer weist weiter ein Mittel zum Ausführen von Instruktionen der zumindest einen Instruktionsliste zum Verarbeiten der empfangenen Prozessdaten auf. Dabei kann das Mittel zum Ausführen ein Mikrocontroller oder eine Rechenschaltung sein, die insbesondere aus Gatterelementen eines integrierten Schaltkreises gebildet sein kann. Die Rechenschaltung kann als digitale Logik ausgebildet sein, die insbesondere zumindest als ein Teil eines Halbleiterchips ausgebildet ist. Die Schaltungen können in einem ASIC oder einem FPGA implementiert sein.The data bus subscriber according to the invention also has a means for executing instructions of the at least one instruction list for processing the received process data. In this case, the means for carrying out may be a microcontroller or an arithmetic circuit, which may in particular be formed of gate elements of an integrated circuit. The arithmetic circuit can be embodied as digital logic, which is designed, in particular, at least as a part of a semiconductor chip. The circuits may be implemented in an ASIC or an FPGA.
In einer bevorzugten Ausführungsform des erfindungsgemäßen Datenbusteilnehmers weist dieser weiter ein Mittel zum Senden des empfangenen zweiten Datenpakets an einen weiteren Datenbusteilnehmer über den Lokalbus auf. Der Datenbusteilnehmer kann dabei das zweite Datenpaket symbolweise an einen weiteren Datenbusteilnehmer über den Lokalbus senden. Dabei kann der weitere Datenbusteilnehmer ein Datenbusteilnehmer sein, der dem sendenden Datenbusteilnehmer direkt folgt. Das Senden der Daten kann dabei bei allen Datenbusteilnehmern synchronisiert sein, beispielsweise auf eine von dem Lokalbusmaster vorgegeben Zeitgebung oder kann durch das Empfangen weiterer Datenpakete hervorgerufen werden.In a preferred embodiment of the data bus subscriber according to the invention, the latter further has a means for transmitting the received second data packet to a further data bus subscriber via the local bus. The data bus subscriber can send the second data packet symbol by symbol to another data bus subscriber via the local bus. In this case, the further data bus subscriber may be a data bus subscriber who directly follows the sending data bus subscriber. The transmission of the data can be synchronized in all data bus subscribers, for example, to a predetermined by the local bus master timing or can be caused by receiving further data packets.
Die oben genannte Aufgabe wird auch gelöst durch ein Verfahren zum Betrieb eines Lokalbusmasters eines Lokalbusses, insbesondere eines Ringbusses, wobei das Verfahren aufweist Erzeugen zumindest einer Instruktionsliste mit einem Satz von Instruktionen zum Verarbeiten von Prozessdaten für einen Datenbusteilnehmer, Erzeugen eines ersten Datenpakets, wobei das erste Datenpaket aufweist eine Adresse des Datenbusteilnehmers, an den das erste Datenpaket gerichtet ist, und die zumindest eine Instruktionsliste, Erzeugen eines zweiten Datenpakets, wobei das zweite Datenpaket Prozessdaten aufweist und Senden der ersten und zweiten Datenpakete an den Datenbusteilnehmer über den Lokalbus.The above object is also achieved by a method for operating a local bus master of a local bus, in particular a ring bus, the method comprising generating at least one instruction list with a set of instructions for processing process data for a data bus subscriber, generating a first data packet, wherein the first Data packet has an address of the data bus subscriber to which the first data packet is directed, and the at least one instruction list, generating a second data packet, wherein the second data packet comprises process data and transmitting the first and second data packets to the data bus subscriber via the local bus.
In einer bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens weisen das erste und zweite Datenpaket jeweils eine Anzahl von Symbolen auf, wobei jedes Symbol eine Anzahl von Bits aufweist und wobei die Datenpakete symbolweise an den Datenbusteilnehmer gesendet werden. Der Lokalbusmaster sendet dementsprechend taktweise ein erstes und zweites Datenpaket und diese durchlaufen sukzessive alle Datenbusteilnehmer in Abwärtsrichtung, d.h. vom Lokalbusmaster weg. Der letzte Datenbusteilnehmer im Lokalbus sendet dann die Teile nacheinander wieder zurück an den Lokalbusmaster in Aufwärtsrichtung, d.h. zum Lokalbusmaster hin. Dabei durchlaufen die zurückgesendeten Teile entweder wieder alle Datenbusteilnehmer oder werden an diesen vorbei an den Lokalbusmaster geleitet.In a preferred embodiment of the inventive method, the first and second data packet each have a number of symbols, each symbol having a number of bits and wherein the data packets are sent symbol by symbol to the data bus user. Accordingly, the local bus master intermittently transmits first and second data packets in cycles, and these successively traverse all data bus subscribers in the downlink direction, i.e., in the downstream direction. away from the local bus master. The last data bus subscriber in the local bus then sends the parts back one after the other back to the local bus master in the uplink direction; towards the local bus master. The returned parts either pass through all data bus users or are routed past the local bus master.
Die oben genannte Aufgabe wird auch gelöst durch einen Lokalbusmaster eines Lokalbusses, insbesondere eines Ringbusses, mit einem Datenbusteilnehmer. Dabei weist der Lokalbusmaster ein Mittel zum Erzeugen zumindest einer Instruktionsliste mit einem Satz von Instruktionen zum Verarbeiten von Prozessdaten für den Datenbusteilnehmer auf sowie ein Mittel zum Erzeugen eines ersten Datenpakets, wobei das erste Datenpaket aufweist eine Adresse des Datenbusteilnehmers, an den das erste Datenpaket gerichtet ist, und die zumindest eine Instruktionsliste. Des Weiteren weist der erfindungsgemäße Lokalbusmaster ein Mittel zum Erzeugen eines zweiten Datenpakets auf, wobei das zweite Datenpaket Prozessdaten aufweist. Dabei können die Mittel zum Erzeugen ein Prozessor, ein Mikrocontroller, oder eine Rechenschaltung, die insbesondere aus Gatterelementen eines integrierten Schaltkreises gebildet sein kann. Die Rechenschaltung kann als digitale Logik ausgebildet sein, die insbesondere zumindest als ein Teil eines Halbleiterchips ausgebildet ist. Die Schaltungen können in einem ASIC oder einem FPGA implementiert sein.The above object is also achieved by a local bus master of a local bus, in particular a ring bus, with a data bus subscriber. In this case, the local bus master has a means for generating at least one instruction list with a set of instructions for processing process data for the data bus subscriber and means for generating a first data packet, the first data packet having an address of the data bus subscriber to which the first data packet is addressed , and at least one instruction list. Furthermore, the local bus master according to the invention has a means for generating a second data packet, the second data packet having process data. In this case, the means for generating a processor, a microcontroller, or an arithmetic circuit, which may be formed in particular of gate elements of an integrated circuit. The arithmetic circuit can be embodied as digital logic, which is designed, in particular, at least as a part of a semiconductor chip. The circuits may be implemented in an ASIC or an FPGA.
Des Weiteren weist der erfindungsgemäße Lokalbusmaster ein Mittel zum Senden des ersten und zweiten Datenpakets an den Datenbusteilnehmer über den Lokalbus auf. Dabei können die beiden Datenpakete in einem Zyklusrahmen gesendet werden, den das Mittel zum Senden erzeugen kann. Das Mittel zum Senden kann die beiden Datenpakete auch in unterschiedlichen Zyklusrahmen senden und die entsprechenden Zyklusrahmen erzeugen. Das Mittel zum Senden kann eine Senderschaltung oder eine Transceiverschaltung sein. Die Schaltungen sind zum Beispiel in einem ASIC oder FPGA implementiert.Furthermore, the local bus master according to the invention has a means for transmitting the first and second data packet to the data bus subscriber via the local bus. In this case, the two data packets can be sent in a cycle frame which the means for sending can generate. The means for sending can also send the two data packets in different cycle frames and generate the corresponding cycle frames. The means for transmission may be a transmitter circuit or a transceiver circuit. The circuits are implemented, for example, in an ASIC or FPGA.
Figurenlistelist of figures
Die Erfindung wird nachfolgend anhand von Ausführungsbeispielen mit den beigefügten Zeichnungen näher erläutert. Aus den beschriebenen Ausführungsbeispielen ergeben sich weitere Einzelheiten, Merkmale und Vorteile des Gegenstands der Erfindung. Es zeigen:
-
1 ein schematisches Blockdiagramm einer beispielhaften Automatisierungsanlage mit einer speicherprogrammierbaren Steuerung und einem beispielhaften Ringbus; -
2 eine schematische Darstellung eines ersten Datenpakets zum Programmieren eines Datenbusteilnehmers; -
3 eine schematische Darstellung eines zweiten Datenpakets zum Senden von Prozessdaten an Datenbusteilnehmer; -
4 ein beispielhaftes Zeitdiagramm zeigend das Durchlaufen der inden 2 und3 gezeigten Datenpakete durch die beispielhaften Datenbusteilnehmer des in1 gezeigten Ringbusses; und -
5 eine schematische Darstellung von Instruktionslisten zur Verarbeitung der in2 gezeigten Prozessdaten des zweiten Datenpakets.
-
1 a schematic block diagram of an exemplary automation system with a programmable logic controller and an exemplary ring bus; -
2 a schematic representation of a first data packet for programming a data bus subscriber; -
3 a schematic representation of a second data packet for sending process data to data bus participants; -
4 an exemplary timing diagram showing the passing in the2 and3 shown data packets by the exemplary data bus subscribers of in1 shown ring bus; and -
5 a schematic representation of instruction lists for processing the in2 shown process data of the second data packet.
Beschreibung bevorzugter AusführungsbeispieleDescription of preferred embodiments
Die in
Zur Steuerung des Prozesses der Automatisierungsanlage ist die SPS
Der übergeordnete Bus
Der Lokalbusmaster
Der Ringbus
In dem hier gezeigten Ausführungsbeispiel werden die Verbindungen der Schnittstellen und der SPS
Auch wenn der Lokalbusmaster
Im Falle dessen, dass die Datenbusteilnehmer 7a, 7b, ..., 7n und der Lokalbusmaster
Des Weiteren weisen die Datenbusteilnehmer 7a, 7b, ..., 7n in dem in
Die Verarbeitungseinheit
Die Verarbeitungseinheit
Einfachheitshalber sind in dem hier gezeigten Ausführungsbeispiel die Datenbusteilnehmer 7a, 7b, ..., 7n nur mit einem Eingang
Alternativ können die Schnittstellen
Die in diesem Ausführungsbeispiel gezeigten Datenbusteilnehmer
Der in dem hier gezeigten Ausführungsbeispiel gezeigte Ringbus
Die Datenpakete durchlaufen dementsprechend einheitenweise, stückchenweise, oder Teile weise, zum Beispiel in Teilen oder Symbolen von 8 Bits, die Datenbusteilnehmer 7a, 7b, ..., 7n. Die Datenpakete, welche vom letzten Datenbusteilnehmer, in dem hier gezeigten Ausführungsbeispiel Datenbusteilnehmer 7n, verarbeitet worden sind, durchlaufen dann in Aufwärtsrichtung den Ringbus
In der Aufwärtsrichtung können die Datenpakete, wie in dem hier gezeigten Ausführungsbeispiel durch die einzelnen Datenbusteilnehmer 7a, 7b, ..., 7n zurück an den Lokalbusmaster
Bei der Verarbeitung der Datenpakete in Abwärtsrichtung, d.h. von dem Lokalbusmaster
Das erste Datenpaket
Der Informationsteil des ersten Datenpakets
Nachdem ein Datenbusteilnehmer 7a, 7b, ..., 7n mit Hilfe des ersten Datenpakets
Das zweite Datenpaket
Der Informationsteil des zweiten Datenpakets
Des Weiteren weist das zweite Datenpaket
Zur Zeit τ = 1 hat nur der Datenbusteilnehmer 7a das Bitmuster MWR des ersten Datenpakets
Zur Zeit τ = 2 hat der Datenbusteilnehmer 7a das erste Symbol an den zweiten Datenbusteilnehmer 7b weitergeleitet und ein weiteres Symbol von dem Lokalbusmaster
Zur Zeit τ = 3 empfängt der erste Datenbusteilnehmer 7a vom Lokalbusmaster
In dem hier gezeigten Ausführungsbeispiel hat zur Zeit τ = 4 der erste Datenbusteilnehmer
Die weiteren Datenbusteilnehmer 7n durch die das erste Datenpaket
In dem hier gezeigten Ausführungsbeispiel folgt dem ersten Datenpaket
Zu einer angenommenen Zeit τ = n empfängt der erste Datenbusteilnehmer 7a ein Symbol mit dem Bitmuster IDE, welches den Datenbusteilnehmer 7a in einen Verarbeitungsmodus versetzt, weil dieses Bitmuster anzeigt, dass die folgenden Symbole Prozessdaten
Auch wenn in dem in
Eine Verarbeitung der Prozessdaten
Sobald der erste Datenbusteilnehmer 7a das Symbol mit dem Instruktionslistenindex
Auch der Datenbusteilnehmer 7b in dem hier gezeigten Ausführungsbeispiel hat zwei Instruktionslisten gespeichert, nämlich Instruktionsliste
Auch der Datenbusteilnehmer 7n kann zwei Instruktionslisten
Dem Fachmann ist bewusst, dass die hier gezeigten Beispiele von Instruktionslisten nicht einschränkend zu verstehen sind und jegliche Art von Instruktionsliste und jegliche Kombinationen von Instruktionen in der Implementierung der Erfindung vorkommen kann, ohne dass von der erfinderischen Idee abgewichen wird.It will be appreciated by those skilled in the art that the examples of instruction lists shown herein are not intended to be limiting and any type of instruction list and any combinations of instructions may be included in the implementation of the invention without departing from the inventive idea.
Die hierin beschriebenen Verfahren können auch implementiert werden als ein computerlesbares Medium beinhaltend Code, der bewirkt, dass ein Computer zumindest eines der beschriebenen Verfahren ausführt. Das computerlesbare Medium kann dabei beliebig implementiert sein und auf deinem Trägermedium wie einer DVD, CD, Festplatte, oder anderweitiger Trägermedien bereitgestellt werden.The methods described herein may also be implemented as a computer readable medium including code that causes a computer to perform at least one of the described methods. The computer-readable medium can be implemented arbitrarily and provided on your carrier medium such as a DVD, CD, hard disk, or other carrier media.
BezugszeichenlisteLIST OF REFERENCE NUMBERS
- 11
- speicherprogrammierbare Steuerung (SPS)programmable logic controller (PLC)
- 22
- übergeordneter Bushigher-level bus
- 33
- LokalbusmasterLokalbusmaster
- 44
- erste Schnittstellefirst interface
- 5a,b5a, b
- zweite Schnittstellesecond interface
- 66
- Ringbusringbus
- 7a, b, n7a, b, n
- DatenbusteilnehmerDatenbusteilnehmer
- 88th
- erste Abwärtsdatenschnittstellefirst downlink data interface
- 99
- zweite Abwärtsdatenschnittstellesecond downlink data interface
- 1010
- erste Aufwärtsdatenschnittstellefirst upstream data interface
- 1111
- zweite Aufwärtsdatenschnittstellesecond upstream data interface
- 1212
- Verarbeitungseinheitprocessing unit
- 13, 1413, 14
- Ein-/AusgängeInput / Output
- 1515
- Sensorsensor
- 1616
- Aktoractuator
- 1717
- erstes Datenpaketfirst data packet
- 1818
- MWR CodewortMWR codeword
- 1919
- Adresseaddress
- 20 20
- weiteres Feldanother field
- 2121
- InstruktionslistendatenInstruction list data
- 2222
- zweites Datenpaketsecond data packet
- 2323
- IDE CodewortIDE codeword
- 2424
- InstruktionslistenindexInstruction List Index
- 25a, b, c25a, b, c
- Prozessdatenprocess data
- 2626
- Zählerwertcount
- 27a, b, c27a, b, c
- Instruktionslisteninstruction lists
ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE DESCRIPTION
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of the documents listed by the applicant has been generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.
Zitierte PatentliteraturCited patent literature
- US 5472347 A [0011]US 5472347A [0011]
Claims (13)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017208818.4A DE102017208818A1 (en) | 2017-05-24 | 2017-05-24 | Initialization of data bus users |
CN201880034529.1A CN110663225B (en) | 2017-05-24 | 2018-05-17 | Initialization of data bus user devices |
EP18726426.2A EP3632051A1 (en) | 2017-05-24 | 2018-05-17 | Initialization of data bus subscribers |
PCT/EP2018/062941 WO2018215295A1 (en) | 2017-05-24 | 2018-05-17 | Initialization of data bus subscribers |
US16/693,964 US11736318B2 (en) | 2017-05-24 | 2019-11-25 | Initialization of data bus subscribers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102017208818.4A DE102017208818A1 (en) | 2017-05-24 | 2017-05-24 | Initialization of data bus users |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102017208818A1 true DE102017208818A1 (en) | 2018-11-29 |
Family
ID=62222656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102017208818.4A Pending DE102017208818A1 (en) | 2017-05-24 | 2017-05-24 | Initialization of data bus users |
Country Status (5)
Country | Link |
---|---|
US (1) | US11736318B2 (en) |
EP (1) | EP3632051A1 (en) |
CN (1) | CN110663225B (en) |
DE (1) | DE102017208818A1 (en) |
WO (1) | WO2018215295A1 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5472347A (en) | 1993-09-17 | 1995-12-05 | Allen-Bradley Company, Inc. | System for interconnecting I/O modules for data communications over a common backplane |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5165024A (en) * | 1990-04-12 | 1992-11-17 | Apple Computer, Inc. | Information transfer and receiving system with a ring interconnect architecture using voucher and ticket signals |
US5457683A (en) * | 1993-05-07 | 1995-10-10 | Apple Computer, Inc. | Link and discovery protocols for a ring interconnect architecture |
US6510141B1 (en) * | 1996-11-27 | 2003-01-21 | Dynarc Inc. Dha Dynamic Network Architecture Inc. | Link auto-configuration protocol specification topology |
JPH10228421A (en) * | 1997-02-14 | 1998-08-25 | Nec Ic Microcomput Syst Ltd | Memory access control circuit |
US6496516B1 (en) * | 1998-12-07 | 2002-12-17 | Pmc-Sierra, Ltd. | Ring interface and ring network bus flow control system |
KR100497078B1 (en) * | 1999-08-30 | 2005-06-27 | 아이피플렉스 가부시키가이샤 | Program product and data processor |
US20020004897A1 (en) * | 2000-07-05 | 2002-01-10 | Min-Cheng Kao | Data processing apparatus for executing multiple instruction sets |
WO2002015517A2 (en) * | 2000-08-16 | 2002-02-21 | Microchip Technology Incorporated | Remote configuration of network node via controller area network messages |
US20020191603A1 (en) * | 2000-11-22 | 2002-12-19 | Yeshik Shin | Method and system for dynamic segmentation of communications packets |
US20020084655A1 (en) | 2000-12-29 | 2002-07-04 | Abb Research Ltd. | System, method and computer program product for enhancing commercial value of electrical power produced from a renewable energy power production facility |
US20030167348A1 (en) * | 2001-07-02 | 2003-09-04 | Globespanvirata, Inc. | Communications system using rings architecture |
DE10337699B4 (en) * | 2003-08-16 | 2006-01-12 | Phoenix Contact Gmbh & Co. Kg | Method and device for transmitting data over a bus network using the broadcast principle |
US8626882B2 (en) * | 2005-10-07 | 2014-01-07 | GM Global Technology Operations LLC | Reconfigurable communication for distributed embedded systems |
US7539888B2 (en) * | 2006-03-31 | 2009-05-26 | Freescale Semiconductor, Inc. | Message buffer for a receiver apparatus on a communications bus |
CN101178644B (en) * | 2006-11-10 | 2012-01-25 | 上海海尔集成电路有限公司 | Microprocessor structure based on sophisticated instruction set computer architecture |
US8782771B2 (en) | 2007-06-19 | 2014-07-15 | Rockwell Automation Technologies, Inc. | Real-time industrial firewall |
US8122279B2 (en) * | 2008-04-21 | 2012-02-21 | Kabushiki Kaisha Toshiba | Multiphase clocking systems with ring bus architecture |
US9444757B2 (en) * | 2009-04-27 | 2016-09-13 | Intel Corporation | Dynamic configuration of processing modules in a network communications processor architecture |
US8291136B2 (en) * | 2009-12-02 | 2012-10-16 | International Business Machines Corporation | Ring buffer |
WO2014006448A1 (en) | 2012-07-03 | 2014-01-09 | Freescale Semiconductor, Inc. | Cut through packet forwarding device |
US8824603B1 (en) * | 2013-03-01 | 2014-09-02 | Futurewei Technologies, Inc. | Bi-directional ring-bus architecture for CORDIC-based matrix inversion |
KR101576050B1 (en) | 2014-09-12 | 2015-12-11 | 한국전기연구원 | Method, apparatus and system for upgrading software of nodes |
CN105046913A (en) * | 2015-07-09 | 2015-11-11 | 广西牛博物联信息技术有限公司 | Remote environmental monitoring data acquisition system |
US9871674B2 (en) * | 2015-09-30 | 2018-01-16 | International Business Machines Corporation | Bridging between differing communication buses |
-
2017
- 2017-05-24 DE DE102017208818.4A patent/DE102017208818A1/en active Pending
-
2018
- 2018-05-17 CN CN201880034529.1A patent/CN110663225B/en active Active
- 2018-05-17 EP EP18726426.2A patent/EP3632051A1/en active Pending
- 2018-05-17 WO PCT/EP2018/062941 patent/WO2018215295A1/en active Application Filing
-
2019
- 2019-11-25 US US16/693,964 patent/US11736318B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5472347A (en) | 1993-09-17 | 1995-12-05 | Allen-Bradley Company, Inc. | System for interconnecting I/O modules for data communications over a common backplane |
Also Published As
Publication number | Publication date |
---|---|
EP3632051A1 (en) | 2020-04-08 |
CN110663225B (en) | 2022-02-18 |
CN110663225A (en) | 2020-01-07 |
US11736318B2 (en) | 2023-08-22 |
US20200092136A1 (en) | 2020-03-19 |
WO2018215295A1 (en) | 2018-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3632040B1 (en) | Processing of process data | |
EP3632052A1 (en) | Module unit for connecting a data bus participant | |
EP3632050B1 (en) | Bus converter | |
EP3632056B1 (en) | Initalization of a local bus | |
EP3632049B1 (en) | Status signal output | |
EP3632053B1 (en) | Processing of process data | |
EP3631630B1 (en) | Distributed processing of process data | |
DE102017208818A1 (en) | Initialization of data bus users | |
EP3632055B1 (en) | Transmission of data on a local bus | |
EP3632054B1 (en) | Determination of nodes of a local data bus | |
DE102017012250B4 (en) | Transfer of data on a local bus | |
EP3632066B1 (en) | Pre-loading of instructions | |
DE2114522A1 (en) | One-bit data transmission system | |
EP2418551A1 (en) | Diagnosis method for a field bus system designed in accordance with the AS interface standard |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R012 | Request for examination validly filed | ||
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012403000 Ipc: H04L0012240000 |
|
R079 | Amendment of ipc main class |
Free format text: PREVIOUS MAIN CLASS: H04L0012240000 Ipc: H04L0041000000 |
|
R016 | Response to examination communication |