EP0824726A1 - Process for operating a numerical control with critical-time and non-critical-time processes in a real time system - Google Patents
Process for operating a numerical control with critical-time and non-critical-time processes in a real time systemInfo
- Publication number
- EP0824726A1 EP0824726A1 EP96908023A EP96908023A EP0824726A1 EP 0824726 A1 EP0824726 A1 EP 0824726A1 EP 96908023 A EP96908023 A EP 96908023A EP 96908023 A EP96908023 A EP 96908023A EP 0824726 A1 EP0824726 A1 EP 0824726A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- time
- critical
- computing
- computing process
- subordinate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/414—Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/05—Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34411—Handling time critical and time non critical program sequences
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/34—Director, elements to supervisory
- G05B2219/34412—Mark some sequences of time non critical sequences as locked, non interruptable
Definitions
- the invention relates to a method for operating a numerical control having a real-time system, in particular for machine tools and robots, the real-time system having time-critical computing processes and non-time-critical computing processes each having at least one program sequence consisting of program step sequences to be processed having.
- This is, for example, the continuous output of setpoints required for the age and speed control to the drives of the machine tool or the robot. This also includes the constant recording of the position and speed encoder values.
- the real-time system of the control must therefore ensure that the time-critical computing processes are always processed immediately.
- a non-time-critical computing process that is being processed is interrupted if necessary.
- the measures required here, for example processor interrupts, are known to the person skilled in the art.
- the real-time system must also ensure that the non-time-critical computing processes are also processed in the computing time still available between the processing of the time-critical computing processes. When processing these non-time-critical computing processes, it must also be taken into account that all non-time-critical computing processes are processed at the same time as possible using the "time sharing" method.
- Each computing process consists of one or more program sequences, which in turn consist of a sequence of individual program steps to be processed. Some of these program sequences are heavily load-dependent. For example, a computing process that loads an NC part program into the memory of the real-time system requires considerably more computing time for a large, complex part program than for a small, simple part program.
- This load dependency means that the computing time required for individual program sequences fluctuates greatly and may become disproportionately large in comparison to other program sequences.
- the problem thus arises that a single program sequence uses up all the computing time still available between the processing of the time-critical computing processes and therefore the other program sequences, e.g. the screen display, can not be processed further.
- a resultant behavior of the control could disturb the user or lead to misconduct.
- the object of the invention is to develop a method of the type mentioned at the outset in such a way that highly load-dependent, non-time-critical program sequences are prevented in a simple manner from using up all of the computing time still available between processing the time-critical computing processes.
- the inventors go in
- this object is achieved in that - in order to limit the running time of a program sequence of a non-time-critical computing process, the program sequence is issued as a computing process subordinate to the computing process with a runtime limit value and is processed in such a way that - the subordinate computing process preferably does not interrupt program steps within the program before the start its program sequence sets a bar assigned to it and, after processing such program step sequences, removes the bar assigned to it, - that after the expiry of the period corresponding to the runtime limit value, the subordinate computing process for 4 Processing of other pending, non-time-critical computing processes is interrupted, provided that no bar assigned to the subordinate computing process is set,
- the subordinate computing process for processing other pending non-time-critical computing processes is interrupted, regardless of whether a bar assigned to the subordinate computing process is set or not, - that when canceled, the Riegel assigned to him in the
- the subordinate computing process is immediately interrupted for processing other pending, non-time-critical computing processes
- Limiting the running time of a non-time-critical program sequence ensures that the real-time system can interrupt this program sequence at the latest after a predefinable period of time in order to be able to further process other non-time-critical computing processes. This ensures that a computationally time-consuming program sequence cannot hold up other non-time-critical computing processes for longer than a predefinable period.
- the implementation of the running time limitation according to the invention by means of a subordinate computing process with deadline setting does not require complex administration, is also suitable for program sequences which cannot always be localized in advance and can in principle also be carried out during the running time without increasing the system complexity.
- An advantageous further development of the invention consists in the subordinate computing process providing feedback to the original computing process as to whether it has ended itself after processing or whether it has been interrupted due to its runtime limitation. This has the advantage that, for example, the runtime limit can be redefined with the next activation. An optimization of the computing time distribution can therefore still be easily carried out at runtime.
- FIG. 1 shows a block diagram of a numerical control based on a real-time system in cooperation with a machine tool
- FIG. 2 shows the computing time division between time-critical computing processes and non-time-critical computing processes
- FIG. 3a shows a symbolic representation of four non-time-critical computing processes before the method according to the invention is used
- 3b shows a symbolic representation of the non-time-critical computing processes when using the method according to the invention
- FIG. 1 shows a block diagram of a numerical control based on a real-time system NCK.
- the real-time system NCK is connected to a machine tool WM, an input and output unit PC and an information bus BU.
- several computing processes are shown as rectangles Rzl, Rz2, R10, Rll, R12, R13.
- the computing processes Rzl and Rz2 are for the regular Moderate and time-critical output of setpoints to the drives of the WM machine tool and the regular and time-critical recording of the position and speed sensor values.
- arithmetic process R13 Other arithmetic processes are responsible for updating the display unit (arithmetic process R13), querying the keyboard of the input unit (arithmetic process R11), reading in part programs (arithmetic process R12) and preparing NC data on the basis of the part programs (arithmetic process RIO) and are therefore not time-critical.
- the illustration according to FIG. 2 shows a horizontal bar diagram in which the time increases along the horizontal axis in the direction of the arrow.
- the existing computing time of the controller is divided into individual sections, in which only one computing process is processed at a time.
- the sections marked with Rzl correspond to a cyclically recurring time-critical computing process which is responsible, for example, for the position control of an axis on the machine tool.
- the sections marked Rz2 correspond to a second cyclically recurring time-critical computing process which is responsible, for example, for the speed control of a further axis on the machine tool.
- To simplify the illustration only two time-critical computing processes Rzl and Rz2 are shown. In the FZI periods between the processing of the time-critical
- Computing processes must be housed in the processing of all non-time-critical computing processes.
- non-time-critical computing processes R10, R11, R12, R13 are represented symbolically as bars.
- the length of the bars corresponds to the relative computing time required for the complete processing of the respective process.
- the computing process R13 requires the least computing time and the computing process R12 by far the most.
- the real-time system selects one of the non-time-critical computing processes R10, R11, R12, R13 according to methods known to the person skilled in the art and processes this in the still free periods FZI between the processing of the cyclically recurring time-critical computing processes Rzl and Rz2.
- Each computing process consists of at least one program sequence consisting of program step sequences to be processed.
- the program sequences of the other computing processes are not shown in FIG. 3a.
- a non-time-critical program sequence such as PS2 is provided with a runtime limitation.
- the real-time system can then interrupt the program sequence PS2 in order to further process one of the other non-time-critical computing processes RIO, R11, R13.
- the program sequence PS2 is set down as a computing process R14 subordinate to the computing process R12 (see arrow P) and provided with a runtime limit value LZG in the real-time system.
- FIG. 4 shows symbolically how the subordinate computing process R14 is processed.
- the time Z is shown in FIG. 4 as a horizontal axis with times tO, tl, etc. to tl5 pictured. Below this, the bar R14 from tO to tl4 symbolizes the subordinate computing process R14 which is limited in runtime.
- the time periods tl to t2, t3 to t9 and tl2 to tl3 are identified by R and represent program step sequences within the program sequence PS2, which should preferably not be interrupted.
- the transmission of a data packet would correspond to such a program step sequence which cannot be interrupted. If the process is interrupted in the middle of the transmission of a data packet, the entire packet must be retransmitted at a later point in time, which is not very efficient. If, on the other hand, there is no interruption until a packet has been completed, the transmission of the next data packet can be continued at a later point in time without loss of efficiency.
- a program step sequence which is preferably not to be interrupted, is set within the program sequence PS2 a lock R (also called 'lock') assigned to the computing process R14 (in the exemplary embodiment at times t1, t3 and tl2 ) and after processing such program step sequences, the bolt R is released again (in the exemplary embodiment at times t2, t9 and tl3). 4 therefore correspond to the sections marked R in the interior of the beam.
- R14 the time periods tl to t2, t3 to t9 and tl2 to t! 3, where the bar was set for the computing process R14.
- Section A of FIG. 4 shows the runtime limitation LZG as a horizontal double arrow below the bar R14 for the computing process R14.
- the runtime limit LZG ends at the time t11 at which the bolt R is in the non-set state.
- the computing process R14 is then interrupted at the time t11, which is identified by the cross U1.
- Section B of FIG. 4 shows the runtime limitation LZG as a horizontal double arrow below the bar R14 for the computing process R14.
- LZG ' Next to it is another dash-dotted double arrow LZG 'of the same length, which represents a doubling of the originally specified runtime limit LZG.
- the original runtime limit LZG ends at time t7, at which the bolt R is in the set state.
- the computing process R14 is not interrupted at time t7. Instead, he is granted an extension of the term limit, which consists, for example, of a doubling of the original given term limit from LZG to LZG + LZG '.
- This longer term limitation period LZG + LZG ' which can also be derived in another way from the term limitation LZG, would only end at time t14.
- the program step sequence which is preferably not to be interrupted, has already ended at the earlier time t9. Accordingly, the computing process R14 releases the latch R at time t9. The real-time system then interrupts the runtime limit LZG already covered computing process R14 immediately at time t9, which is indicated by the cross U2.
- Section C of FIG. 4 shows the runtime limitation LZG as a horizontal double arrow below the bar R14 for the computing process R14.
- LZG ' Next to it is another dash-dotted double arrow LZG 'of the same length, which represents a doubling of the originally specified runtime limit LZG.
- the original runtime limit LZG ends at time t4 at which the bolt R is in the set state.
- the computing process R14 is not interrupted at time t4. Instead, he is granted an extension of the term limit, which e.g. consists of a doubling of the original given term limitation from LZG to LZG + LZG '.
- This longer term limitation period LZG + LZG ' which can also be derived in another way from the term limitation LZG, is only completed at time t8.
- the program step sequence which is preferably not to be interrupted, has not yet ended at this point in time. Nevertheless, the real-time system interrupts the computing process R14, which has already been overlaid in comparison to its original runtime limit LZG, at the time t8, which is identified by the cross U3.
- a corresponding feedback can be passed on to the higher-level computing process R12, so that the next time it is activated, it can carry out a possible optimization of the runtime limitation LZG.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Numerical Control (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
Claims
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19514471 | 1995-04-19 | ||
DE19514471 | 1995-04-19 | ||
PCT/DE1996/000619 WO1996033450A1 (en) | 1995-04-19 | 1996-04-09 | Process for operating a numerical control with critical-time and non-critical-time processes in a real time system |
Publications (1)
Publication Number | Publication Date |
---|---|
EP0824726A1 true EP0824726A1 (en) | 1998-02-25 |
Family
ID=7759903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP96908023A Withdrawn EP0824726A1 (en) | 1995-04-19 | 1996-04-09 | Process for operating a numerical control with critical-time and non-critical-time processes in a real time system |
Country Status (5)
Country | Link |
---|---|
US (1) | US5909371A (en) |
EP (1) | EP0824726A1 (en) |
KR (1) | KR19990007812A (en) |
CN (1) | CN1181139A (en) |
WO (1) | WO1996033450A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10030358A1 (en) * | 2000-06-21 | 2002-01-03 | Heidenhain Gmbh Dr Johannes | Method and device for serial data transmission between a position measuring system and a processing unit |
DE10144987A1 (en) * | 2001-09-12 | 2003-07-24 | Rexroth Indramat Gmbh | Process for controlling and / or regulating industrial processes |
CN100390688C (en) * | 2004-02-04 | 2008-05-28 | 周建南 | Control system for numerical control machine tool |
EP2109019A1 (en) | 2008-04-07 | 2009-10-14 | Siemens Aktiengesellschaft | Method for controlling a recipe of a batch process |
KR102079499B1 (en) * | 2015-10-20 | 2020-02-21 | 엘에스산전 주식회사 | A method of independent control period allocation of axis in the PLC positioning system |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT1062827B (en) * | 1976-03-29 | 1985-02-11 | Olivetti Controllo Numerico | NUMERIC CONTROL SYSTEM FOR MACHINE TOOLS |
US4638452A (en) * | 1984-02-27 | 1987-01-20 | Allen-Bradley Company, Inc. | Programmable controller with dynamically altered programmable real time interrupt interval |
US5297260A (en) * | 1986-03-12 | 1994-03-22 | Hitachi, Ltd. | Processor having a plurality of CPUS with one CPU being normally connected to common bus |
US5235508A (en) * | 1990-05-31 | 1993-08-10 | At&T Bell Laboratories | Automated resource allocation cutting stock arrangement using random cut patterns |
US5473757A (en) * | 1992-12-11 | 1995-12-05 | Ge Fanuc Automation North America, Inc. | I/O controller using single data lines for slot enable/interrupt signals and specific circuit for distinguishing between the signals thereof |
US5537549A (en) * | 1993-04-28 | 1996-07-16 | Allen-Bradley Company, Inc. | Communication network with time coordinated station activity by time slot and periodic interval number |
ES2134883T3 (en) * | 1993-07-28 | 1999-10-16 | Siemens Ag | DATA UPLOAD PROCEDURE. |
-
1996
- 1996-04-09 KR KR1019970707335A patent/KR19990007812A/en not_active Application Discontinuation
- 1996-04-09 WO PCT/DE1996/000619 patent/WO1996033450A1/en not_active Application Discontinuation
- 1996-04-09 CN CN96193152A patent/CN1181139A/en active Pending
- 1996-04-09 EP EP96908023A patent/EP0824726A1/en not_active Withdrawn
- 1996-04-09 US US08/945,489 patent/US5909371A/en not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
See references of WO9633450A1 * |
Also Published As
Publication number | Publication date |
---|---|
CN1181139A (en) | 1998-05-06 |
WO1996033450A1 (en) | 1996-10-24 |
US5909371A (en) | 1999-06-01 |
KR19990007812A (en) | 1999-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0655682B1 (en) | Multitasking arithmetic unit | |
EP2194432B1 (en) | Scheduling Method | |
DE4410775C2 (en) | Control unit and operating method of an operating system for this control unit | |
DE3610433C2 (en) | Method for controlling a machine with a programmable logic controller with a function chart interpreter | |
EP0011685B1 (en) | Programmable memory protection arrangement for microprocessors and circuitry with such an arrangement | |
WO2011061046A1 (en) | Parallelized program control | |
DE3732808A1 (en) | METHOD AND DEVICE FOR GENERATING AND EDITING INTERRUPT POINTS IN A MONITOR PROGRAM | |
EP0742498A2 (en) | Implementation of a single channel code program in a system with a two-channel safety-oriented structure | |
EP0851348A1 (en) | Method and device for implementing a realtime control program in a non realtime control program | |
DE4011745A1 (en) | Task performance recorder for multi-tasking operating system protocol - includes stores for interrupt information of sizes of task selection interrupts and information on system calls | |
DE4005042C2 (en) | Multi-computer system for performing motion controls | |
DE10144788A1 (en) | Process data recording method e.g. for robot, involves storing process data in data buffer memory having first-in-first out characteristic | |
EP0838054B1 (en) | Graphic control process and device for controlling operations in a network management system | |
DE4445651A1 (en) | Process for the control of technical processes | |
EP0824726A1 (en) | Process for operating a numerical control with critical-time and non-critical-time processes in a real time system | |
DE10296995T5 (en) | Method for tuning and synchronizing the movement of servo-assisted axes | |
EP1770521B1 (en) | Multiprocessor architecture and method for controlling memory access in a multiprocessor architecture | |
DE19647407C2 (en) | Control device, in particular for use in a motor vehicle | |
DE2622140C3 (en) | Device for controlling manual operations | |
DE10065498A1 (en) | Reconstructing control program process flow, involves generating table from contents of tables generated during process containing identity of last process carried out before each new task | |
DE102005039771B3 (en) | Real time process managing unit for programmable electronic system, has memory blocks to store parameter sets of parameter processes, and data busses to access register sets to write and read contents of input and output sets, respectively | |
EP0991995B1 (en) | Interrupt method in a computer system with interrupt control | |
EP0972232B1 (en) | Programmable control system | |
DE2715750B2 (en) | Test circuit for a microcomputer | |
DE19728971A1 (en) | Data processing device and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19971006 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT CH DE ES FR GB IT LI SE |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
17Q | First examination report despatched |
Effective date: 19980918 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 19991103 |