Method for generating and visualizing a task-oriented step representation6957122Abstract A method for generating and visualizing a task-oriented step representation of one or more parts programs in machine tools or production machines is described. A syntax analyzer searches the parts program for key terms, whereafter a task-oriented step representation of the parts program(s) is generated based on the key terms found in the search. The task-oriented step representation can then be visualized to a user. The disclosed method can advantageously be used to visualize and display parts programs of machine tools or production machines, which are available in ASCII code, in form of a step representation or step diagram without necessitating changes in the parts programs. Claims 1. A method for generating and visualizing a task-oriented step representation of at least one parts program in machine tools or production machines, comprising the steps of: Description CROSS-REFERENCES TO RELATED APPLICATIONS
which indicates that the x-axis and the y-axis of the machine with the tool are to move rapidly to the position 100,100. The exemplary instruction 2c states, for example,
which indicates that the x-axis is to be moved to the position 150. Because a parts program can include a large number of instructions and in multi-channel machines several parts programs frequently have to be coordinated with each other, it is desirable and necessary to provide the user a representation of the parts program in the form of the so-called task-oriented step representation which can be more easily understood by the user. FIG. 2 shows the method of the invention in the form of a functional block diagram. First, a syntax analyzer 7 searches the parts program 1 for key terms. Based on found key terms, a task-oriented step representation of the parts program 1 is generated and visualized by the user with the help of an editor 9. A configuration file 8, which is read by the syntax analyzer 7, contains information about the step(s) to be associated with the respective key terms. A key term can be a part of an instruction, but can also be a complete instruction of the parts program 1. In addition, the configuration file 8 contains optional information about the type of the symbol that is associated with the respective key term or the respective step. The configuration file 8 can be changed and/or configured by the user according to the existing requirements and needs. FIG. 3 shows schematically an exemplary task-oriented step representation 5, as visualized, for example, to a machine user, on for example a monitor. FIG. 3 shows four exemplary steps 6a, 6b, 6c and 6d. The step 6a his herein designated as "Cut Thread", the step 6b is designated as "free DIN code", the step 6c is designated as "Smooth Surfaces", and the step 6d is designated as "WAITM (1,1,2)". In addition, the step 6a is graphically depicted by a symbol 4a. Likewise, each of the steps 6b, 6c and 6d is also graphically depicted by a corresponding symbol 3b, 3c and 3d. It should be understood that the symbols shown in the step representation are optional. At the start of the method, the syntax analyzer 7 searches the parts program 1 for key terms. In the illustrated embodiment, the key terms CYC90, CYC70 and WAITM are defined, wherein the key term CYC90 is associated with the step 6a and the symbol 4a. Likewise, the key term CYC70 is associated with the step 6c and the symbol 4c, and the key term WAITM is associated with the step 6d and the symbol 4d. In the parts program of FIG. 1, the instruction 2a is [N40 CYC90 ( . . . )], the instruction 2e is [N80 CYC70 ( . . . )], and the instruction 2f is [N100 WAITM (1,1,2)]. Additional attributes, such as the attributes indicated in parentheses by dots, can be supplied. If the syntax analyzer 7 of FIG. 2 encounters the key term CYC90 in the instruction 2a, then it generates in the step representation 5 the step 6a, with the designation "Cut Thread", and the corresponding symbol 4a. The syntax analyzer 7 then further searches the parts program 1 until it finds another key term. The instructions 2b, 2c, 2d in the illustrated embodiment do not contain a key term and are located between the two key terms CYC90 and CYC70. Accordingly, these instructions are combined by the syntax analyzer 7 to a step 6b designated as "free DIN code", and the associated symbol 4b is generated. Both the identifier and the symbol are defined in the configuration file 8. In the depicted embodiment, the syntax analyzer 7 finds the next key term CYC70 in the instruction 2e [N80 CYC70( . . . )]. Since the key term CYC70 in the embodiment is connected in the configuration file 8 with the step 6c designated as "Smooth Surfaces", the syntax analyzer 7 in the step representation 5 generates the step 6c with the designation "Smooth Surfaces", as well as the associated symbol 4c. The syntax analyzer 7 then searches again the parts program 1 according to FIG. 1 until it finds the next key term which in the depicted embodiment is represented by the key term WAITM. According to the association in the configuration file 8, a corresponding step 6d with the designation WAITM (1,1,2) is generated, as well as a corresponding symbol. This represents a special case, since the key term is substantially identical with the designation of the step 6d. In this way, closely related instructions are combined into a single step. The instruction associated with step 6a (Cut Thread) in FIG. 3 is enclosed in FIG. 1 by a dotted line and has the reference character 3a. The instructions associated with step 6b (free DIN code) are given the reference character 3b in FIG. 1. The instruction associated with the step 6c (Smooth Surfaces) in FIG. 1 has the reference character 3c. The instruction associated with the step 6d is also in FIG. 1 by a dotted line and provided with the reference character 3d. Accordingly, the method of the invention generates from the confusing parts program 1 a structured step representation 5 that can be easily understood by a user and visualized with the editor 9. It should be mentioned here that in addition to the key terms used in the depicted embodiment, other key terms can be used that can have different effects on the syntax analyzer 7. For example, special key terms can be employed that can cause the syntax analyzer 7 to combine all intermediate instructions into a single step, until the next key term is found and to designate the step according to the special key term and/or to generate a suitable symbol. As already mentioned at the beginning, in multi-channel machines a dedicated parts program can be associated with each channel. A user can use a corresponding selection menu in these machines to cause the syntax analyzer to convert several parts programs into a single step representation and optionally visualize the step representation on the editor 9. For example, by simultaneously visualizing two parts programs with the editor, the execution of the programs can be compared with each other. The editor 9 provides a so-called normalized step representation and a so-called synchronized step representation for a visualization purposes. In the normalized step representation, the individual steps are sequentially displayed on the monitor. In the synchronized step representation, which is depicted in FIG. 4, the two step representations 5 and 10 of two different parts programs are displayed next to each other so that special steps, such as the steps indicating synchronization between the two parts programs and/or coordination instructions, are displayed in the same row. Such specific synchronization steps are, for example, the step 6d [WAITM(1,1,2)] and the step 11d [WAITM(1,1,2)] in FIG. 4. In the embodiment depicted in FIG. 4, the step representation 5 of a first parts program 1 is displayed next to the step representation 10 of a second parts program. In this embodiment, the execution of the second parts program is stopped when reaching the step 11d [WAITM(1,1,2)] for synchronizing the two parts programs, until the parts program 1 depicted in the step representation 5 has reached the step 6d. The two parts programs are from here on processed together. If in the step representation the first parts program has more steps than the second parts program between two special steps associated with the synchronization and/or coordination of parts programs, then corresponding empty steps are inserted into the parts program with the lesser number of steps in the step representation, as indicated by the empty step 11d in FIG. 4. For the sake of clarity, the synchronization and/or coordination step before "Cut Thread" or "Drill" is not shown in FIG. 4. Suitable key terms are particularly the aforementioned synchronization instructions or associated syntax segments, such as WAITM and/or user cycle instructions, i.e., jumps to sub-programs such as the instruction segment CYC as well as special coordination instruction segments, such as GET/RELEASE of commonly used resources (e.g., exchange of axes in the channels). The synchronization instruction WAITM represents, for example, an instruction for program coordination of parts programs that affects the program execution of the parts programs. The configuration file, which can be freely configured by the user, is capable of writing any syntax sequences or parts of instructions or entire instructions into the configuration file 8, where they can be associated with freely selectable designations of the associated steps and the associated symbols and the desired plane. Using the editor 9, a corresponding parts program can be directly loaded and represented in ASCII code. Alternatively or in addition, the editor can also be used to directly write instructions in ASCII source code into the parts program or to change the ASCII code of the parts program. For example, special instructions, so-called configuration instructions 23 (see FIG. 2), that are not already present in the parts program 1 can be written later to the parts program. Such configuration instruction 23 contains in addition to the actual key term information about the designation of the steps generated by the syntax analyzer from the key term, and optionally a definition of the associated symbol as well as a definition of the desired hierarchical plane. The step designations, symbols and planes can then be directly stored in the parts program independent of the configuration file. The editor 9 can also be used to combine several steps into a higher-level step with the help of the configuration instructions 23 and to thereby build hierarchical step structures depicted in FIG. 5. The steps can be displayed as an exploded view B in FIG. 5, showing all the steps, or as an imploded view A whereby only the steps of, for example, a first hierarchical plane are shown. Of course, the editor can also display, in addition to the aforedescribed synchronized step representation, a synchronized representation of the parts program in ASCII source code. With the help of a so-called definition file 20 (see FIG. 2) which can supply the editor 9 with information about particular key terms and instructions, certain defined key terms and/or instructions can be highlighted in the editor 9, in particular color-coded. In this way, for example, manufacturer-specific instructions and instructions conforming with the DIN code can be displayed to the user in different form. So-called association parameters 22 (see FIG. 2) can be used to combine several steps associated with each key term in the configuration file 8 to a higher-level step or plane (see FIG. 1 and 5). The method according to the invention can advantageously be used to visualize and display parts programs of machine tools or production machines, which are available in ASCII code, as a step representation or step diagram without necessitating changes in the parts programs. While the invention has been illustrated and described in connection with currently preferred embodiments shown and described in detail, 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. The embodiments were chosen and described in order to best explain the principles of the invention and practical application to thereby enable a person skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated. What is claimed as new and desired to be protected by Letters Patent is set forth in the appended claims and includes equivalents of the elements recited therein:
|
Same subclass Same class Consider this |
||||||||||||||||||||||||||
