AUTOMATION SYSTEM AND METHOD FOR CLOCK TIME, PROCESS, AND/OR MACHINE OPTIMIZATION

Information

  • Patent Application
  • 20080052554
  • Publication Number
    20080052554
  • Date Filed
    August 01, 2007
    17 years ago
  • Date Published
    February 28, 2008
    17 years ago
Abstract
Automation system with computerized numerical control includes at least two data processing levels, particularly a data block preparation level and a data block processing level, and a clock time-registering unit assigned to the particular data processing levels for registering clock times of subsystems in the particular data processing levels, and a unit for comparing the clock times—and relating them to each other in terms of time—registered for the particular data processing levels.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows a block diagram that explains a preferred embodiment of the inventive clock time, process, and/or machine optimization;



FIG. 2 shows a preferred embodiment of a visualization—that can be used within the framework of the present invention—of the data (signals) that were determined, with time reference to the particular NC blocks of the NC program; and



FIG. 3 shows a further block diagram for depicting further aspects of the present invention.





DESCRIPTION OF THE PREFERRED EMBODIMENTS


FIG. 1 describes the basic principle of a computerized numerical control (CNC). The NC program in a not-shown CNC is depicted schematically and labeled with reference numeral 100. When NC program 100 is called up by the controller, the program is loaded from memory into a RAM in a manner known per se. The NC program provides, e.g., a process for a robotic system.


The data loaded in the RAM are first subjected to an SAV block preparation, which is labeled with reference numeral 150. Block preparation 150 is a first time domain of the NC program, which typically takes place within milliseconds. The object of block preparation 150 is to prepare data provided by NC program 100. It must be possible—by using these prepared NC data blocks—to realize an interpolator operation IPO (labeled with reference numeral 160), which takes place within milliseconds or in real time. Interpolator operation 160 is a second time domain within the overall system. It should be noted that this rough subdivision into two time domains serves merely to illustrate the present invention. Actual systems can include a large number of domains of this type, as depicted below with reference to FIG. 3.


Typical applications and/or preparations within the framework of block preparation 150 include acting upon the data of NC program 100 with basic command blocks and/or motion commands, e.g., according to DIN 66025 (reference numeral 152). Furthermore, the customer programming language (CPL blocks) can be prepared here (depicted as reference numeral 154). Insertion blocks (labeled with reference numeral 156) insert the block preparation, e.g., when tool radius correction is switched on and the machine is moved around a corner. In this case, the block preparation inserts a segment of a circle as the intermediate block.


Block preparation 150 includes, overall, an interpretation 158 of the data received from NC program 100, and block preparation 157. Interpretation and block preparation can take place in parallel to a certain extent. It is also possible, however, to carry out block preparation 157 after interpretation 158 ends.


Using internal clocks 120 through 124 that are synchronized with each other and that are provided in a computer in which NC program 100 runs, time stamps are generated, e.g., at the beginning of the interpretation (using clock 120), at the end of interpretation (using clock 121) (this point in time can coincide with the beginning of block preparation), and at the end of block preparation (using clock 122). Using this time stamp, it is possible to easily monitor the NC program in terms of time and function, as well as all subprocesses that influence this overall process, e.g., the acceleration phase of a drive, or the switching of a hydraulic valve for opening a tool gripper, as described below.


As mentioned above, the data and/or data blocks generated within the framework of block preparation are processed in interpolator device 160 (step 166). In this case as well, the start of interpolation (using clock 123) and the end of interpolation (using clock 124) are registered in terms of time, preferably using time stamps generated by synchronized clocks.


The data generated within the framework of block preparation and processing can be stored for the interim in a memory for prepared NC blocks (depicted schematically in FIG. 1 and labeled with reference numeral 159).


Based on the time stamps that were registered, it is possible to easily optimize the overall process (e.g., an NC program for manufacturing a rotary part), as will now be explained with reference to FIG. 2 as an example. This is a visualization—according to the present invention—of the particular clock times that were registered (e.g., via the time stamps). Using related dialogs, the user pre-selects the data to be recorded, stored, and subsequently visualized.


It should be noted that row N_S1 refers to the rotational speed of a spindle, as an example. The second row Mom_X1 depicts the torque of an axle. The remaining rows refer to programs or subprograms, e.g., for automatically rotating a bearing receptacle.


The “PROG” row is, e.g., the main program (NC program), which calls up related subprograms, e.g., M6, which initiates a tool change. Further subprograms and/or variables are labeled with further abbreviations CPL (mentioned above), NC (NC block), Hifu (help functions for rapid data exchange between NC and SPC, i.e., stored-program control), Var_1 (variable of NC), Var_A (variable of SPC) and Ch_Ena (interface signals between NC and SPC). Using a cursor 200, which is displaceable, e.g., continually along the particular row, it is possible to obtain a comparative view of the clock times and/or control times in the individual rows. A further cursor could be used, e.g., as a measurement cursor, e.g., to measure times of a certain procedure relative to the overall process, e.g., the acceleration phase of a drive at the beginning of a certain processing sequence.


The NC blocks are depicted in the NC row. Note here that NC block N0010 last for a relatively long time. It could now be checked, e.g., whether the execution time of this block could be reduced by setting an early channel release (Ch_Ena on the SPC). In the same manner, the instantaneous course appears to not be optimal in block N0120 (see, FIG. 2, Mom_X1). Next, the acceleration torque of the axle in the run-up and braking phase will be investigated in greater detail. Further potential for savings can be attained, e.g., with spindle run-up (N_S1). Savings can also be gained by further investigating the subprocesses triggered via help functions M40, M71 and M88. Process M71 “Open tool gripper” could possibly be set somewhat sooner on the SPC after specific monitoring steps are carried out; the triggering of the hydraulic valve to open a tool gripper would therefore require somewhat less productive time. Another possibility is for help function M71 to output an NC block at an earlier point in time.


The NC block or CPL block selected using the cursor is displayed, together with the particular execution time, at the bottom of FIG. 2. In the example, this is NC block “G0 X1=400 M40, M71, M88, S400” with an execution time of 243.73 ms, and a CPL block “REPEAT”, with 0.61 ms.


Another important application of clock time analysis is process and machine optimization. For example, the machine resilience during machining (above and beyond the entire machining process, if necessary) can be recorded, stored, displayed, evaluated, and optimized if necessary, by utilizing simultaneous recording by the motor sensor and the external sensor.



FIG. 3 shows a possible internal realization on the NC in greater detail. In particular, this figure serves to illustrate the numerous control domains that occur in practice (time domains: tasks, sections, functions); particularly at the level of block preparation 150, block processing 166, and interpolator 160.


The following are linked with each NC function:

    • Start jobs 102, which are processed only once, when the related NC function is called up;
    • Modal jobs 104, which are called up anew (until they are removed via a further NC command) every time a new NC block is read in, and
    • Exit jobs, which are processed once, when the related function is deselected.


Recording can be switched on using a command in NC program 100, e.g., OSC(1), or using a suitable, not-shown interface, using a button. As soon as a command to record NC blocks and/or block-based or non-block-based signals (including corresponding trigger conditions) is issued by a subsystem of the control system, the NC activates—with reference to the data (signals) specified (to be recorded) by the user—the required start (102), modal (104) and exit jobs (106) to record the data at the various levels of the control system.


In a start job (with functionalities OscOnStart and OscOnIpoBlk), the preparations required for the recording operation, e.g., request from memory, or the address calculations for the data to be recorded are carried out. The various levels and/or functionalities of start job 102 are depicted schematically, and they are labeled with reference numerals 102a and 102b.


A few modal functions that are relevant for the recording operation (OscPrep, SaveBlkData, OscEndOfPrep and OscParser), i.e, 104a through 104d of modal job 104, are shown in FIG. 3. They record the data selected by the user within the various levels of block preparation 150, block processing 166, and interpolator 160 (and in the remaining subsystems such as SPC and drive, if necessary), including the associated time stamps, using synchronized clocks (not shown in FIG. 3). In this manner, e.g., at the block preparation level of the particular NC block, the particular subprogram, the active subprogram levels, the axle positions in workpiece coordinates; and, at the block processing level, the line speed, and at the interpolator level the current axle speed are all recorded with the associated time stamp.


When the recording operation has ended, the NC performs exit job (106) OscOffIpoBlk, which releases, e.g., the temporary memory.


Recording is halted using the NC command OSC ( ) or a suitable, not-shown interface, using a button. To this end, the NC carries out a further start job 108 OscOffStart and removes modal jobs 104 in particular.


Using various jobs 102 through 108, e.g., internal block memories can be requested, and addresses, such as the channel, axle and spindle interface between NC and SPC, or tokens for permanent CPL variables or Sercos data can be determined.


The memory (159) is shown in the bottom left corner of FIG. 3. An area Ctrl (reference numeral 159a) is used to configure the recording operation, e.g., to specify signals or the time frame in which the signals and data are to be recorded. An area BIPrepOszi (159b) represents for the memory, in which the data and signals registered at block preparation levels are stored. The data and signals occurring at the interpolator are stored under IpoOszi (159c). The two latter memories can also be realized in the form of an alternating buffer, so that larger quantities of data can be recorded at a high sampling rate within the NC over longer periods of time.


Further systems involved in a recording operation are connected via the forwarding of the trigger signal between the systems. Clocks that are synchronized with each other across the subsystem boundaries are an essential prerequisite for clock-synchronous recording to be carried out across the subsystems.


In all, according to the present invention, a tool is provided that can be used to record, store, administer and prepare clock time-relevant data, and to depict them graphically in highly diverse manners. As bar charts or pie charts, for instance. According to the present invention, a very high level of accuracy of time registration is realized, Data in all time domains of the control can therefore be registered and recorded (not just IPO data). A time-based reference can therefore be provided across all time domains, particularly using synchronized clocks in the total system, and it can be visualized graphically. Recorded block information and other recorded data and signals from the various control levels can therefore be displayed in a clock-synchronous manner. A clock-synchronous, graphical processing simulation can be used as necessary; it can include the option to scroll through blocks forward or backward, for example.


It will be understood that each of the elements described above, or two or more together, may also find a useful application in other types of systems and methods differing from the type described above.


While the invention has been illustrated and described as embodied in an automation system and method for clock time, processor, and/or machine optimization, it is not intended to be limited to the details shown, since various modifications and structural changes may be made without departing in any way from the spirit of the present invention.


Without further analysis, the foregoing will so fully reveal the gist of the present invention that others can, by applying current knowledge, readily adapt it for various applications without omitting features that, from the standpoint of prior art, fairly constitute essential characteristics of the generic or specific aspects of this invention.

Claims
  • 1. An automation system with computerized numerical control, including at least two data processing levels, clock type registering means assigned to the data processing levels for registering clock times of subsystems in the data processing levels; and means for comparing the clock times-and relating them to each other in terms of time-registered for the data processing levels.
  • 2. An automation system as defined in claim 1; further comprising means for visualizing the clock times that were registered.
  • 3. An automation system as defined in claim 1, further comprising means for acting upon the clock time-registering means such that clock times can be registered anew, in a manner selected from the group consisting of regularly acting and selectively acting.
  • 4. An automation system as defined in claim 1, further comprising means for querying the clock time-registering means such that clock times can be registered anew, in a manner selected from the group consisting of regularly querying and selectively querying.
  • 5. An automation system as defined in claim 1, wherein said subsystems include systems selected from the group consisting of drive systems, SPC systems, NC systems, RC systems, and combinations thereof.
  • 6. An automation system as defined in claim 1, wherein said clock time-registering means are configured as clocks that are synchronized with each other.
  • 7. An automation system as defined in claim 1, wherein the at least two data processing levels are a data block preparation level and a data block processing level.
  • 8. A method for optimization selected from the group consisting of a clock time optimization, a process optimization, a machine optimization, and combinations thereof of a system that includes at least two data processing level, comprising the steps of assigning clock times to the data processing levels; registering the clock times assigned to the particular data processing levels in the data processing level; comparing the clock times registered for the data processing levels with each other and relating to each other in terms of time.
  • 9. A method as defined in claim 8, wherein the method for optimization of the system is a method for optimization of the system formed as an automation system.
  • 10. A method as defined in claim 8, wherein the at least two data processing levels include a data block preparation level and a data block processing level.
  • 11. A method as defined in claim 8, wherein said registering of the clock times includes visualization of the clock times that are registered.
  • 12. A method as defined in claim 8, further comprising registering the clock times anew in a manner selected from the group consisting of regularly and selectively.
Priority Claims (1)
Number Date Country Kind
10 2006 039 244.2 Aug 2006 DE national