WO2003028337A2 - Method for accessing a command unit for a data network - Google Patents
Method for accessing a command unit for a data network Download PDFInfo
- Publication number
- WO2003028337A2 WO2003028337A2 PCT/DE2002/003444 DE0203444W WO03028337A2 WO 2003028337 A2 WO2003028337 A2 WO 2003028337A2 DE 0203444 W DE0203444 W DE 0203444W WO 03028337 A2 WO03028337 A2 WO 03028337A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- command
- pointer
- subscriber
- writing
- application
- Prior art date
Links
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
-
- 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/40006—Architecture of a communication node
- H04L12/40019—Details regarding a bus master
Definitions
- the invention relates to a method for accessing a command unit for a data network, in particular a real-time ethernet, a computer program product and a subscriber with such a command unit and a communication system.
- a synchronous, clocked communication system with equidistance properties is understood to mean a system composed of at least two participants which are connected to one another via a data network for the purpose of mutual exchange of data or the mutual transmission of data.
- the data exchange takes place cyclically in equidistant communication cycles, which are specified by the communication clock used by the system.
- Participants include, for example, central automation devices, programming, project planning or operating devices, peripheral devices such as Input / output modules, drives, actuators, sensors, programmable logic controllers (PLC) or other control units, computers or machines that exchange electronic data with other machines, in particular process data from other machines. Participants are also called network nodes or nodes.
- control units are understood to mean any type of regulator or control unit, but also, for example, switches and / or switch controllers.
- bus systems such as e.g. Fieldbus, Profibus, Ethernet, Industrial Ethernet, FireWire or even PC-internal bus systems (PCI), etc., but in particular also isochronous real-time Ethernet used.
- PCI PC-internal bus systems
- Data networks enable communication between several participants by networking, i.e. connecting the individual participants to one another. Communication means that Transfer of data between participants.
- the data to be transmitted are sent as data telegrams, ie the data are packed into several packets and sent in this form to the corresponding recipient via the data network.
- transmission of data is used in this document completely synonymously with the transmission of data telegrams or data packets mentioned above.
- Automation components e.g. controls, drives, (7) generally have an interface to a cyclically clocked communication system.
- a run level of the automation component (fast cycle) (eg position control in a controller, torque control of a drive) is synchronized with the communication cycle. This sets the communication clock.
- Other, low-performance algorithms (slow cycle) (e.g. temperature controls) of the automation component can also only communicate with other components (e.g. binary switches for fans, pumps, ...) via this communication cycle, although a slower cycle would be sufficient.
- slow cycle e.g. temperature controls
- command unit for access to a data network (command interface) on a multi-master system
- several applications can access the command unit simultaneously or in succession, but in any case uncoordinated.
- the individual applications must be coordinated with the command interface in order to ensure that the commands are transferred and processed at the command interface.
- processors (masters) of the subscriber can be provided for the implementation of the applications.
- the invention is therefore based on the object of providing an improved method for accessing a command unit for a data network.
- the invention is also based on the object of providing an improved computer program for the access of an application to such a command unit and a subscriber for a communication system.
- the objects on which the invention is based are each achieved with the features of the corresponding independent claims. Preferred embodiments of the invention are specified in the dependent claims.
- the command transfer to the command unit does not take place directly, but indirectly, in that only a pointer to the address area of the command structure in the subscriber's memory is transferred to the input register of the command unit. It is particularly advantageous that the transfer of the command to the command unit can be carried out as "atomic" write access to the input register, which, for example, only requires one bus cycle.
- the command unit is used to carry out certain basic operations via the data network.
- the command unit is used by the different applications of the participant via a common interface. All applications are treated as equivalent.
- An arbitration unit regulates the access to an internal data bus of the subscriber for the access of the applications to the command unit.
- a command structure is first stored in the subscriber's memory, in particular the communication memory, before it Command structure is written into the input register by writing a pointer to the address area of the command structure in the memory, and both the processor and the command unit can access the communication memory.
- the command unit then accesses the command structure and processes it. In comparison to the direct transfer of the command parameters to the command unit, this has the partly that command structures of any length, for example of more than 32 bits, can be processed. Furthermore, the execution time for executing a command structure is not limited and can return different amounts of information.
- commands can be issued by several applications, which do not necessarily have to be coordinated with one another. Furthermore, several, even identical, commands can be written to the input register one after the other without having to wait for each individual command to be executed.
- commands received via the input register are confirmed by the command unit in that the command unit enters the confirmation in a confirmation field in the command structure in the subscriber's memory.
- no demands are made on the data bus with regard to locking or blocking, that is to say the bus is never locked beyond a single read or write operation.
- the amount of information transmitted between the applications and the command unit is not limited. Coordination, such as interrupt blocking, between the calling applications is not necessary.
- all commands issued by the applications are transferred to the input register (command interface) in a write cycle in order to avoid bus lock times.
- the command interface is only passed a pointer (address) to a memory area in which the command structure previously stored in the memory by the application is located. This prevents multiple write accesses to the command interface those that are otherwise required for instructions with multiple operands.
- the command data from a defined command structure are then read out from the address area in the memory, interpreted by the command interface and transferred to the corresponding execution unit for processing.
- the active bus nodes of the data bus i.e. the active applications, can carry out write access to the command interface independently of one another. This also supports multi-tasking through unordered (mixed) access by the various applications to the command interface. In order not to interlock the individual tasks of an application by means of interrupt locks, mechanisms are preferably implemented in the command interface which allow random access by all applications to the interface in a wide variety of sequences and at different times.
- the applications can preferably recognize whether their pointers to a command structure that has been written into the command interface have been adopted. If the read and written addresses are identical, the command on the command interface was accepted. If they are not the same, two options can be responsible for this:
- the hardware therefore preferably supports two mechanisms, both of which must be used by the software for unambiguous identification:
- Reading back the data just written (address on command structure) from the command interface This detects whether the data of an application on the command interface has been taken over. If this is the case, the command is executed via the command interface; if not, then the data of a second application have already been entered in the interface and not yet linked from the hardware to the command list, so that a command of the first application could not be accepted.
- the "Acknowledge" field is preferably set before the command interface can be written again.
- the transfer of a command is usually completed by chaining the command structure into a command list, so it is done quickly. Optimization for the shortest possible and guaranteed takeover mezeit has priority to avoid unnecessary waiting times in the processing of the software when the command interface is re-written.
- a command or command sequences of the applications are transferred to the command unit via a shared input register (command register).
- the address is stored in the command register on a command structure.
- the structure itself contains all the data necessary for processing the command.
- the command structure transferred is linked in a command list.
- the command structure contains a "next" pointer, which can be used to link structures that have not yet been processed.
- the "next" pointer contains the address of the next command structure that has not yet been processed. This chaining means that the command structures are temporarily stored in the command list. In this way, a decoupling between command processing and command transfer is achieved.
- the associated command structures are returned to the user.
- a separate return register also called output register below, through which the command structures are transferred.
- No pace pickup To ensure that the command structures on the return register have to be guaranteed by the participants, the processed structures are linked into separate, participant-dependent return lists. The return of every edited structure will be announced to the respective participant. The linked command structures are returned via the return register.
- an application transfers a command structure to the command interface by means of write access to the command register.
- the application must preferably analyze the "Acknowledge" field of the command structure. If the confirmation is set in the "Acknowledge” field of the structure, the command structure has been adopted and linked to the command list. Failure to accept the structure will result in cyclic write access to the command register (polling).
- the methods disclosed can be used or used in automation systems, in particular in and in packaging machines, presses, plastic injection machines, textile machines, printing machines, machine tools, robots, handling systems, wood processing machines, glass processing machines, ceramic processing machines and lifting equipment.
- the invention is suitable both for communication applications and for other applications, such as e.g. Comr ⁇ and interfaces of other intelligent subsystems, in particular graphics systems, can be used.
- FIG. 1 shows a block diagram of an embodiment of a subscriber of a data network according to the invention
- FIG. 2 shows a basic illustration of the command interface
- FIG. 3 shows an example of chained command structures in the subscriber's memory
- FIG. 4 shows a flow diagram of an embodiment of the method according to the invention.
- FIG. 1 shows a subscriber 100 of a data network 102.
- the data network 102 can be, for example, real-time Ethernet for applications in automation technology.
- a plurality of subscribers are typically connected to such a data network 102, and are basically constructed in the same way as subscriber 100. This creates a communication system.
- the subscriber 100 has several applications 104, 106, 108, ... which can access a data bus 110 of the subscriber 100.
- the access of the individual applications 104, 106, 108, ... to the data bus 110 is regulated by an arbiter 112.
- the subscriber 100 has a memory 114 and a command unit 116.
- the memory 114 and the command unit 116 are also coupled to the data bus 110.
- Each of the applications 104, 106, 108 can write to the memory 114 with a command structure 118 via the data bus 110.
- the command structure 118 consists of a command 120 which can be executed by the command unit 116 and an acknowledgment field 122.
- the command structure 118 is stored in an address area of the memory 114 to which the pointer 124 points.
- the command unit 116 is coupled to both the data bus 110 and the data network 102.
- the command unit 116 is used to carry out various basic operations which relate to the data network 102 with respect to the applications 104, 106, 108, ...
- the command unit 116 contains an interface for the applications 104, 106, 108, ... which has a command register 126 and a plurality of return registers 128.
- the command register 126 serves as an input register for storing pointers 124.
- the command register 126 can be accessed by any of the applications 104, 106, 108,... Via the data bus 110.
- each of the return registers 128 is assigned to a specific application.
- the return register 130 is associated with the application 104, the return register 132 with the application 106 and the return register 134 with the application 108, etc.
- the command unit 116 also contains a command list 136, which is also referred to as a so-called stack.
- a command list 136 In the command list 136 are the commands accepted and to be processed by the command unit 116.
- command unit 116 has a logic circuit 138 for processing the commands.
- one of the applications of subscriber 100 accesses memory 114 via data bus 110 in order to store a command structure 118 there.
- the application 104 then accesses the command register 126 via the data bus 110 with a write access in order to write the pointer 124 to the command structure 118 into the command register 126.
- the command unit 116 then takes over the command structure 118 from the memory 114 into the command list 136 and confirms the takeover by a corresponding entry in the confirmation field 122 of the command structure 118.
- FIG. 2 shows a further development of the command interface of FIG. 1.
- the command register 126 can be written uncoordinated by the various applications 104, 106, 108, ...
- the command list 136 results from the adopted command structures 118.
- each of the return registers 130, 132, 134, ... is assigned a return list 140, ..., the return list 140 being assigned to the return register 130, which in turn is assigned to the application 104.
- the output of pointers 124 can be buffered.
- FIG. 3 shows an exemplary embodiment of a chained command structure in the memory 114.
- the command structure 118 has a field 142 for storing one or more commands 120 (cf. FIG. 1), a field 144 for storing an acknowledgment, which corresponds to the confirmation field 122 of FIG. 1, and a field 146 for storing a pointer 148 to a further command structure 118, which in principle has the same structure.
- the further command structure 118 has a pointer 150 to a further command structure 118 etc.
- the last command structure 118 of the chain has no further pointer, with which the last link of the linked command structure is identified.
- the command structures 118 also have fields 152 for storing parameters, user data or operands for the execution of the relevant command 120.
- the pointer 124 is transferred to the command register 126 (see FIG. 1) and the transfer is confirmed by the command unit 116, the entire chain of command structures 118 is then processed by the command unit 116.
- the processing of a complex sequence of commands by the command unit 116 can be initiated by an application.
- FIG. 4 shows a flow diagram of a method for operating the system of FIG. 1.
- the method is subdivided into a software process 154 and a hardware process 156.
- the application leads to which the software process 154 belongs to, for example the application 104 in FIG. 1, has write access to the command register in one bus cycle. This takes place in step 202.
- the application 104 transfers the pointer 124 to a command structure 118 or a chain of command structures 118. This starts the hardware process 156.
- step 204 of the hardware process 156 it is checked whether the command register is writable. If this is not the case, the process ends in step 206. In this case, the application must start the software process 154 again with step 200.
- the command register is writable
- the pointer 124 passed by the application 104 is entered in the command register, which is done in step 206. Thereafter, writing to the command register is inhibited in step 208 so that other applications cannot overwrite the pointer in the register.
- step 210 the command structure or the linked command structure is adopted, that is to say the commands to be processed are linked into the command list and the acceptance is confirmed in the confirmation field of the command structure. Thereafter, the writing of the command register is released again in step 212 and the execution of the hardware process 156 ends with step 206.
- step 214 After the write cycle in step 202, a read cycle in step 214 is performed on the command register in step 214 in software process 154. In step 216 it is checked whether the data previously written in step 202 in the command register, that is to say pointer 124, is still in the command register.
- step 210 If this is the case, it means that the command structure was adopted in step 210, so that the software process ends with step 218. If the opposite is the case, this can mean that a takeover has taken place and another application has already written the command register with a different pointer, or that the hardware process 156 has not taken over. In this case, the confirmation field in the command structure is checked in step 220. If a confirmation has been entered there, the software process 154 can again be ended with step 218. If this is not the case, the control flow must go back to step 202.
Abstract
Description
Claims
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA002461763A CA2461763A1 (en) | 2001-09-26 | 2002-09-13 | Method for accessing a command unit for a data network |
DE50207328T DE50207328D1 (en) | 2001-09-26 | 2002-09-13 | METHOD FOR ACCESSING A COMMAND UNIT FOR A DATA NETWORK |
EP02774365A EP1430690B1 (en) | 2001-09-26 | 2002-09-13 | Method for accessing a command unit for a data network |
CN028187954A CN1636373B (en) | 2001-09-26 | 2002-09-13 | Method for accessing a command unit for a data network |
US10/809,446 US20050025139A1 (en) | 2001-09-26 | 2004-03-26 | Method for accessing a command unit for a data network |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10147411.3 | 2001-09-26 | ||
DE10147411 | 2001-09-26 | ||
DE10237350.7 | 2002-08-14 | ||
DE10237350A DE10237350A1 (en) | 2001-09-26 | 2002-08-14 | Method for accessing a command unit for a data network |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/809,446 Continuation US20050025139A1 (en) | 2001-09-26 | 2004-03-26 | Method for accessing a command unit for a data network |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2003028337A2 true WO2003028337A2 (en) | 2003-04-03 |
WO2003028337A3 WO2003028337A3 (en) | 2003-08-07 |
Family
ID=26010222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/DE2002/003444 WO2003028337A2 (en) | 2001-09-26 | 2002-09-13 | Method for accessing a command unit for a data network |
Country Status (8)
Country | Link |
---|---|
US (1) | US20050025139A1 (en) |
EP (1) | EP1430690B1 (en) |
CN (1) | CN1636373B (en) |
AT (1) | ATE331378T1 (en) |
CA (1) | CA2461763A1 (en) |
DE (1) | DE50207328D1 (en) |
ES (1) | ES2266579T3 (en) |
WO (1) | WO2003028337A2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110663222A (en) * | 2017-05-24 | 2020-01-07 | Wago管理有限责任公司 | Processing process data |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4806295B2 (en) * | 2006-05-25 | 2011-11-02 | 富士通株式会社 | Communication interface device and communication method |
JP4890613B2 (en) * | 2007-06-04 | 2012-03-07 | 富士通株式会社 | Packet switch device |
US20100145340A1 (en) * | 2008-12-05 | 2010-06-10 | Kyphon Sarl | Introducer Tool for Bone Measurement |
CN108664213B (en) * | 2017-03-31 | 2024-01-19 | 北京忆恒创源科技股份有限公司 | Atomic write command processing method based on distributed cache and solid-state storage device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000052585A2 (en) * | 1999-03-01 | 2000-09-08 | Sun Microsystems, Inc. | Method and apparatus for interrupt handling |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5133062A (en) * | 1986-03-06 | 1992-07-21 | Advanced Micro Devices, Inc. | RAM buffer controller for providing simulated first-in-first-out (FIFO) buffers in a random access memory |
JP2575557B2 (en) * | 1990-11-13 | 1997-01-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Super computer system |
FR2702578B1 (en) * | 1993-03-12 | 1995-04-14 | Bull Sa | Communication system with a network. |
US7159223B1 (en) * | 2000-05-12 | 2007-01-02 | Zw Company, Llc | Methods and systems for applications to interact with hardware |
KR100716950B1 (en) * | 2000-08-11 | 2007-05-10 | 삼성전자주식회사 | Bus system |
-
2002
- 2002-09-13 AT AT02774365T patent/ATE331378T1/en not_active IP Right Cessation
- 2002-09-13 CA CA002461763A patent/CA2461763A1/en not_active Abandoned
- 2002-09-13 DE DE50207328T patent/DE50207328D1/en not_active Expired - Lifetime
- 2002-09-13 WO PCT/DE2002/003444 patent/WO2003028337A2/en active IP Right Grant
- 2002-09-13 ES ES02774365T patent/ES2266579T3/en not_active Expired - Lifetime
- 2002-09-13 CN CN028187954A patent/CN1636373B/en not_active Expired - Fee Related
- 2002-09-13 EP EP02774365A patent/EP1430690B1/en not_active Expired - Lifetime
-
2004
- 2004-03-26 US US10/809,446 patent/US20050025139A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000052585A2 (en) * | 1999-03-01 | 2000-09-08 | Sun Microsystems, Inc. | Method and apparatus for interrupt handling |
Non-Patent Citations (1)
Title |
---|
KIEL E ET AL: "EINCHIP-CONTROLLER FUER DAS SERCOS-INTERFACE. ÖINTEGRIERTE ECHTZEIT-KOMMUNIKATION FUER DIE MSR-TECHNIK" ELEKTRONIK, FRANZIS VERLAG GMBH. MUNCHEN, DE, Bd. 41, Nr. 6, 17. M{rz 1992 (1992-03-17), Seiten 50,55-59, XP000287921 ISSN: 0013-5658 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110663222A (en) * | 2017-05-24 | 2020-01-07 | Wago管理有限责任公司 | Processing process data |
CN110663222B (en) * | 2017-05-24 | 2022-09-27 | Wago管理有限责任公司 | Processing process data |
Also Published As
Publication number | Publication date |
---|---|
EP1430690A2 (en) | 2004-06-23 |
DE50207328D1 (en) | 2006-08-03 |
EP1430690B1 (en) | 2006-06-21 |
US20050025139A1 (en) | 2005-02-03 |
ES2266579T3 (en) | 2007-03-01 |
CN1636373B (en) | 2010-06-16 |
CN1636373A (en) | 2005-07-06 |
WO2003028337A3 (en) | 2003-08-07 |
CA2461763A1 (en) | 2003-04-03 |
ATE331378T1 (en) | 2006-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1430406B1 (en) | Method for the arbitration of access to a data bus | |
DE3204905C2 (en) | ||
DE3820544C2 (en) | Local area network system with a multi-computer system coupled to it and method for controlling it | |
EP2030118B1 (en) | Multi-processor gateway | |
EP0006164B1 (en) | Multiprocessor system with jointly usable storages | |
DE102005004464A1 (en) | Method for storing messages in a message memory and message memory | |
EP2485153B1 (en) | Switch assemblies and method for controlling data exchange in a switch assembly | |
CH675781A5 (en) | ||
DE4005042C2 (en) | Multi-computer system for performing motion controls | |
EP2110995A1 (en) | Data transfer device | |
EP1430690B1 (en) | Method for accessing a command unit for a data network | |
EP0739509A1 (en) | Arrangement with master and slave units | |
DE102006009034B3 (en) | Bus system method for operating a bus system has transmission channels for linking masters and slaves to each other and linking each master to an arbiter | |
DE10306285A1 (en) | Microcomputer system | |
DE10237350A1 (en) | Method for accessing a command unit for a data network | |
EP0970426B1 (en) | Dependency controller for overlapping memory access operations | |
DE202011052249U1 (en) | Timing for microcontroller system bus for multiport slave modules | |
EP1430669B1 (en) | Method for processing consistent data sets | |
DE2544071C3 (en) | Multi-level memory system | |
DE10234145A1 (en) | Method for arbitrating access to a data bus | |
EP1430657B1 (en) | Method for creating a dynamic address table for a switching node in a data network and a method for transmitting a data message | |
EP0496919B1 (en) | Method to chronologically order accesses of units for data transmission and processing to a multiport area | |
DE69733542T2 (en) | Method and device for data exchange between two processor units | |
DE10149296B4 (en) | Multiprocessor system | |
DE2362117B2 (en) | Data processing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): CA CN |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FR GB GR IE IT LU MC NL PT SE SK TR |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
WWE | Wipo information: entry into national phase |
Ref document number: 2002774365 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2461763 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20028187954 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 10809446 Country of ref document: US |
|
WWP | Wipo information: published in national office |
Ref document number: 2002774365 Country of ref document: EP |
|
WWG | Wipo information: grant in national office |
Ref document number: 2002774365 Country of ref document: EP |