Location programming apparatus and location programming method

Information

  • Patent Grant
  • 6571138
  • Patent Number
    6,571,138
  • Date Filed
    Tuesday, September 21, 1999
    24 years ago
  • Date Issued
    Tuesday, May 27, 2003
    21 years ago
Abstract
A location programming apparatus and method according to the present invention generates operation control information consisting of a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, the location programming apparatus including: locating control type setting means (control S/W) for setting locating control type for controlling the operation of the subject which must be controlled; graphical data generating means (control S/W) for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means (control S/W) for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in the work memory. Thus, a locating program and a locating control parameter can be generated by only graphically setting the locating locus operation, a speed pattern and time transition control.
Description




FIELD OF THE INVENTION




The present invention relates to a location programming apparatus for supplying a program to a locating controller for controlling a servo motor or the like of a carrier apparatus or the like in a manufacturing plant or the like and a method therefor, and more particularly to a location programming apparatus for graphically describing a program and a method therefor.




More particularly, the present invention relates to a location programming apparatus for automatically generating a position data table for a locating controller for use in a process for controlling a plurality of axes each of which repeats a predetermined operation in accordance with an operation timing chart for each axis.




BACKGROUND ART




A conventional location programming apparatus is arranged to set a locating program by using a formed list and set parameters for controlling a control process on a parameter window.




The conventional location programming apparatus will now be described.

FIG. 170

is a diagram showing the structure of the conventional locating controller and that of the system of the location programming apparatus.




Referring to

FIG. 170

, reference numeral


1001


represents a locating controller,


1002




a


,


1002




b


and


1002




c


represent servo amplifiers,


1003




a


,


1003




b


and


1003




c


represent servo motors,


1004


represents the location programming apparatus comprising a personal computer,


1005


represents a CPU for performing locating operations,


1006


represents an O/S ROM on which an O/S for operating the locating controller


1001


is stored and


1007


represents a work memory for the CPU


1005


. Reference numeral


1008


represents a parameter memory on which parameters required to control the locating process are stored,


1009


represents a locating-program memory in which a locating program is stored and


1010


represents a communication interface between the location programming apparatus


1004


and the locating controller


1001


. Reference numeral


1011


represents a servo-amplifier interface between the servo amplifiers


1002




a


,


1002




b


and


1002




c


and the locating controller


1001


. Reference numeral


1012


represents a signal input/output interface with an external device.




Referring to

FIG. 170

, reference numeral


1013


represents a CPU for the location programming apparatus


1004


. Reference numeral


1014


represents a memory on which software (S/W) for controlling the locating program is stored. Reference numeral


1015


represents a work memory for setting parameter required to controlling the locating process,


1016


represents a parameter memory on which the set parameters are stored,


1017


represents a work memory for setting a list-form locating program and


1018


represents a locating-program memory on which the set locating program is stored. Reference numeral


1019


represents a communication interface to the locating controller


1001


so that the contents of the set parameter memory


1016


and locating-program memory


1018


are written on the locating controller


1001


and reads the same from the locating controller


1001


. Note that a display unit is omitted from illustration.





FIG. 171

shows an example of a window for setting axis parameters for the conventional location programming apparatus


1004


. A list is displayed so that setting is performed by inputting figures to a set data column


1100


.





FIG. 172

shows an example of a window for setting parameters for controlling acceleration/deceleration for the conventional location programming apparatus


1004


. A list is displayed so that setting is performed by inputting figures to a set data column


1200


.





FIG. 173

shows an example of a window for setting parameters for restoration to an original point for the conventional location programming apparatus


1004


. A list is displayed so that setting is performed by inputting figures to a set data column


1300


.





FIG. 174

shows example of a location programming window for the conventional location programming apparatus


1004


. A program list corresponding to the type of location control selected in a locating-control-type selection area


1400


is displayed on a locating-program-list setting/display area


1401


so as to set required items by inputting figures.

FIG. 174

shows a locating program list by a passage-point instruction circular interpolation method in such a manner that absolute positions are instructed. Items to be set include end-point position data


1402


, instructed speed


1403


, passing-point position data


1404


, M code


1405


, limited torque value


1406


, dwell time


1407


and acceleration/deceleration parameter number


1408


. The setting operation is performed by inputting figures to each of the setting columns.





FIG. 175

shows an example of another location programming window for the conventional location programming apparatus


1004


. Programming is performed by using standardized codes. Required position data


1501


, instructed speed


1502


and the like are set by inputting figures.




The location programming window, the axis parameter setting window, the acceleration/deceleration control parameter setting window and the original-point restoration setting window are independent windows. The window is switched to perform the setting operation.




The structure of the parameter memory


1008


of the locating controller


1001


will now be described with reference to

FIGS. 176

to


179


.

FIG. 176

shows the overall structure of the parameter memory


1008


on which the contents set in each of the parameter setting windows are stored. Reference numeral


1700


represents an area on which the axis parameter is stored and


1900


represents an area on which original-point restoration parameter is store. Each area is determined to correspond to each axis and the number of axes to be controlled. Reference numeral


1800


represents an area on which the acceleration/deceleration control parameter is stored which corresponds to the number of parameters.





FIG. 177

shows the structure of an axis parameter storage area


1700


composed of a position control unit storage area


1701


, an area


1702


on which a movement amount per rotation of an electronic gear is stored, an area


1703


on which the number of pulses per rotation of the electronic gear is stored, an area


1704


on which a unit magnification of the electronic gear is stored, an area


1705


on which an upper limit stroke indicating the permissible movement range for the axis is stored and an area


1706


on which a lower stroke limit is stored.





FIG. 178

shows the structure of an acceleration/deceleration control parameter storage area


1800


composed of an area


1801


on which a speed control unit is stored, an area


1802


on which the limited speed is stored, an acceleration time storage area


1803


, a deceleration time storage area


1804


, a rapid-stop deceleration time storage area


1805


and an area


1806


on which the type of the acceleration/deceleration pattern is stored whether the pattern is trapezoid acceleration/deceleration, S-figure acceleration/deceleration or exponential acceleration/deceleration.




The speed control unit is a unit of the speed which is instructed when two or more axes having different position control units are interpolation-controlled. The acceleration time indicates time required for the speed to reach limited speed. When the type of the acceleration/deceleration pattern is the exponential acceleration/deceleration, the acceleration time indicates set time required for the speed to reach 99% of the limited speed. Similarly, the deceleration time and the rapid stop deceleration time indicates time required for the limited speed to be reduced to the completion of deceleration. When the type of the acceleration/deceleration pattern is the exponential acceleration/deceleration, set time is indicated which takes from 99% of the limited speed to completion of deceleration.





FIG. 179

shows the structure of an original-point-restoration parameter storage area


1900


composed of an area


1901


on which an original-point-restoration method is stored, an area


1902


on which an original-point-restoration direction is stored, an area


1903


on which the address of the original point is stored, an area


1904


on which original-point-restoration speed is stored, an area


1905


on which creep speed is stored, an area


1906


on which a set amount of movement performed after a DOG signal has been turned on is stored and an area


1907


on which the acceleration/deceleration control parameter number is stored. Only required items corresponding to the employed method of returning to the original point are stored.




The structure of the locating-program memory


1009


of the locating controller


1001


will now be described with reference to

FIGS. 180

to


194


.

FIG. 180

shows the overall structure of the locating-program memory


1009


which is composed of areas on which header information


2000


and a locating program code


2100


are stored. The header information storage area


2000


has areas


2001




a


,


2001




b


,


2001




c


and


2001




d


on which information about areas on which locating program codes having program number k are stored is stored.





FIG. 181

shows the structure of the area


2100


on which the locating program code is stored and which is composed of an area


2101


on which the program size is stored, an area


2102


on which the type of the locating control is stored, an area


2103


on which the number of axes to be interpolated is stored, areas


2104




a


,


2104




b


and


2104




c


on which the start axis number is stored, an area


2105


on which whether the method of instructing the position is instruction of the absolute position or instruction of the amount of relative movement is stored. Moreover, the area


2100


has an area


2106


on which a speed instruction method indicating whether the instruction of the speed is instruction of the interpolation axis synthesized speed or instruction of the speed of a reference axis in such a manner that the speed of an instructed axis is instructed or instruction of the speed of the longer axis in such a manner that the speed of the axis which has moved maximally is instructed is stored. In addition, the area


2100


has an area


2107


on which the acceleration/deceleration control parameter number is stored and an area


2108


on which data corresponding to the type of the locating control is stored.





FIG. 182

shows the structure of a locating program storage area for use in a linear locating control. The area


2108


on which data corresponding to the type of the locating control is stored is composed of an area


2200


on which instructed speed is stored, areas


2201




a


,


2201




b


and


2201




c


on each of which data of the required positions of start axis numbers


1


,


2


, . . . , h is stored, an area


2202


on which the M code is stored, an area


2203


on which the limited torque is stored and an area


2204


on which the dowel time is stored.





FIG. 183

shows the structure of an area on which locating program code for use in passage-point instruction circular interpolation control. The area


2108


on which data corresponding to the type of the locating control is stored is composed of an area


2200


on which instructed speed is stored, areas


2201




a


and


2201




b


on each of which data of a required position of each of start axis numbers


1


and


2


is stored, areas


2300




a


and


2300




b


on each of which data of a passing position of each of the start axis numbers


1


and


2


is stored, an area


2202


on which the M code is stored, an area


2203


on which limited torque is stored and an area


2204


on which dowel time is stored.





FIG. 184

shows the structure of the area on which locating program code for use in radius-instructed circular interpolation control is stored. The area


2108


on which data corresponding to the type of the locating control is stored is composed of an area


2200


on which instructed speed is stored, areas


2201




a


and


2201




b


on each of which data of a required position of each of the start axis numbers


1


and


2


is stored, an area


2400


on which the radius is stored and an area


2401


on which passage information


1


is stored which indicates whether the circular arc passage is clockwise or counterclockwise. Moreover, the area


2108


has an area


2402


on which passage information


2


is stored which indicates whether the angle of the circular arc is not smaller than 180° or smaller than 180°, an area


2202


on which the M code is stored, an area


2203


on which the limited torque is stored and an area


2204


on which dowel time is stored.





FIG. 185

shows the structure of an area on which a locating program code for use in central-position-instructed circular interpolation control is stored. The area


2108


on which data corresponding to the type of the locating control is stored is composed of an area


2200


on which instructed speed is stored, area


2201




a


and


2201




b


on each of which data of a required position for each of the start axis numbers


1


and


2


is stored, areas


2500




a


and


2500




b


on which data items of the positions of the central points of the start axis numbers


1


and


2


are stored, an area


2401


on which passage information


1


is stored, an area


2501


on which a permissible error range in the circular interpolation is stored in a case where a required position is deviated from an ideal final position, an area


2202


on which the M code is stored, an area


2203


on which the limited torque is stored and an area


2204


on which dowel time is stored.





FIG. 186

shows the structure of an area on which locating program code for use in a locus control. The area


2108


on which on which data corresponding to the type of the locating control is stored is composed of an area


2607


on which the number (M) of passing points is stored, areas


2608




p




1


,


2608




p




2


and


2608




p




M


on each of which data of locating control of between passing points (regions


1


to M) is stored and an area


2608


on which locating control data in the final region (region M+1) is stored. Data of locating control between passing points is composed of instructed speed


2600




p




M


between points, position instruction method


2601




p




M


between points, passing method


2602




p




M


between points, data


2603




p




M


corresponding to the passing method between points, M code


2604




p




M


between points and limited torque


2605




p




M


between points. Position control data of the final region is composed of dwell time


2606


in addition to locating control data between passing points.





FIG. 187

shows the structure of data


2603


corresponding to the passing method in a case where the passing method of the locating program code of the locus control is linear control. Data


2603


is composed of required position data items


2610




a


,


2610




b


and


2610




c


of the start axis numbers


1


,


2


, . . . , h.





FIG. 188

shows the structure of data


2603


corresponding to the passing method in a case where the passing method of the locating program code of the locus control is circular interpolation control which is performed in such a manner that the passing point is instructed. Data


2603


is composed of data


2611




a


and


2611




b


of circular interpolation axis numbers


1


and


2


, data


2612




a


and


2612




b


of required positions of circular interpolation axis numbers


1


and


2


and data


2613




a


and


2613




b


of circular interpolation axis numbers


1


and


2


.





FIG. 189

shows the structure of data


2603


corresponding to the passing method in a case where the passing method of the locating program code of the locus control is circular interpolation control which is performed in such a manner that the radius is instructed. Data


2603


is composed of data


2611




a


and


2611




b


of the circular interpolation axis numbers


1


and


2


, data


2612




a


and


2612




b


of required positions of the circular interpolation axis numbers


1


and


2


, data


2614


of the radius, data


2615


of passage information


1


and data


2616


of passage information


2


.





FIG. 190

shows the structure of data


2603


corresponding to the passing method in a case where the passing method of the locating program code of the locus control is circular interpolation control which is performed in such a manner that the central point is instructed. Data


2603


is composed of data


2611




a


and


2611




b


of the circular interpolation axis numbers


1


and


2


, data


2612




a


and


2612




b


of the required positions of circular interpolation axis numbers


1


and


2


, data


2617




a


and


2617




b


of the positions of the central points of circular interpolation axis numbers


1


and


2


, data


2615


of passage information


1


and data


2618


of the permissible error range in the circular interpolation.





FIG. 191

shows the structure of a locating program code for use when the speed control is performed. The area


2108


on which data corresponding to the type of the locating control is stored is composed of instructed speed


2200


, a moving direction


2701


indicated whether the direction is a forward direction or a reverse direction, the M code


2202


and a limited torque


2203


.





FIG. 192

shows the structure of a locating program code for use when the speed and position are controlled. The area


2108


on which data corresponding to the type of the locating control is stored is composed of instructed speed


2200


, a moving direction


2701


, an amount


2800


of movement after the position control has been switched, the M code


2801


after the position control has been switched, limited torque


2802


after the position control has been switch, the M code


2202


at the start of the speed control, limited torque


2203


at the start of the speed control and dwell time


2204


.





FIG. 193

shows the structure of a locating program code for use in the original-point restoration control. The locating program requires the start axis number. Except for this, the locating program is controlled in accordance with the contents of the original-point-restoration parameter memory


1900


.





FIG. 194

shows the structure of the locating program code for use in high-speed oscillate control. The area


2108


on which data corresponding to the type of the locating control is stored is composed of a start angle


2900


, an amplitude


2901


, the frequency


2902


, the M code


2202


and the limited torque


2203


.




The structures of the parameter memory


1008


and the locating-program memory


1009


of the locating controller


1001


and those of the parameter memory


1016


and the locating-program memory


1018


of the location programming apparatus


1004


are the same.




As described above, the conventional location programming apparatus


1004


is structured in such a manner that the locating program and parameters are set on the parameter list window so that the locating program is set by using the list form. Therefore, all of position data, speed data and parameters are set by inputting figures and displayed in the form of figures. Thus, when the initial programming process is performed, the locus of the locations and a diagram of the speed pattern during the operation must be calculated and constructed. Moreover, a substituting process for the values of the program and parameters of the list form in accordance with the constructed diagram. Therefore, there arises a problem in that excessively long time takes to set the parameter and the parameters.




When the set values are changed because debugging of the program is performed, calculations must again be performed. As a result, long time is required to determine figures. Moreover, there arises a problem in that the control operation affected by the changed parameter cannot easily detected.




Since the conventional location programming apparatus


1004


has the structure that the programs for setting the parameters and position use lists which requires figures to be input, there arises a problem in that the actual operation of the subject which must be controlled cannot easily be recognized by simply looking the program and the parameters.




To solve the above-mentioned problems, an object of the present invention is to obtain a location programming apparatus and a method therefor with which the operations for controlling the position and the speed are graphically displayed to enable anyone to easily understand the control operation, the graph can easily be constructed/changed and direct substitution for the locating program and parameters is permitted.




Since the conventional location programming apparatus has the structure that the programs for setting the parameters and position use lists which requires figures to be input, the functions of the items set by the programs for setting the parameter and the position in the control operation of the determined locating control type cannot easily be recognized. Moreover, the relation of the items with the control operation cannot easily be recognized.




The present invention is achieved to solve the above-mentioned problems and an object of the present invention is to obtain a location programming apparatus and a method therefor capable of graphically displaying a graph for enabling the relation of items with the control operation in the determined type of the locating control and the programs for setting the parameter and the position to easily be understood so as to easily set/change a graph pattern and enable substation for the locating program and parameters.




Since the conventional location programming apparatus is arranged to set a locating program by using the list form, all of position data items are set by inputting figures. When a subject, which must be controlled, is located by performing interpolation of a plurality of axes, such as interpolation of three spindles or four spindles, the locus chart which is previously constructed when the initial programming operation is performed becomes too complicated. Thus, there arises a problem in that excessively long time is required to set a program.




Since the conventional location programming apparatus uses a locating program in the form of a list, there arises a problem in that the locus operation of a subject which must be controlled cannot easily be understood by simplifying looking the program.




Since the conventional location programming apparatus uses a locating program in the form of a list, a result of change of a locus cannot easily be understood when position data of the program has been changed. Therefore, there arises a problem in that long time is required to determine position data.




The present invention is achieved to solve the above-mentioned problems and an object of the present invention is to obtain a location programming apparatus and a method therefor capable of easily graphically constructing and changing the locus of a subject which must be controlled even if a plurality of axes are interpolation-controlled and permitting direct substitution for a locating program.




Since the conventional location programming apparatus uses a locating program in the form of a list, there arises a problem in that whether position data is instructed with an absolute position or an amount of relative movement cannot quickly be recognized by only looking at the program depending on the program language.




The present invention is achieved to solve the above-mentioned problem and an object of the present invention is to obtain a location programming apparatus and a method therefor which enables a method of instructing the position to be recognized by only looking at the locus.




Since the conventional location programming apparatus uses a locating program in the form of a list, there arises a problem in that an amount of relative movement between points or a corresponding absolute position cannot immediately be recognized by only looking at the program for controlling the locus of a type in which different methods of instructing the position are mixed.




The present invention is achieved to solve the above-mentioned problem and an object of the present invention is to obtain a location programming apparatus and a method therefor with which enables the absolute position of each point and an amount of relative movement between points to immediately be recognized only by looking even if a locus control program is employed.




Since the conventional location programming apparatus is arranged in such a manner that location programming and setting of locating control parameter, such as the stroke limit, are performed on individual windows, the window must be switched to change/confirm the parameter during the location programming process. Thus, there arises a problem in that a complicated switching operation is required.




Another problem arises in that position data is set without consciousness of a stroke limit when a location programming process is performed and the controller detects an error deviated from the stroke limit range. Thus, start of the operation is sometimes inhibited.




If the start and auxiliary points which are set by the program satisfy the stroke limit range when the circular interpolation is set, deviation of the intermediate path of the circular arc from the stroke limit range cannot be detected when the programming operation is performed. Thus, the controller detects an error deviated from the stroke limit range when the program is started. Therefore, there arises a problem in that the operation is undesirably interrupted.




To solve the above-mentioned problem, an object of the present invention is to obtain a location programming apparatus and a method therefor with which the stroke limit range and the locating locus can always be recognized.




The conventional location programming apparatus is arranged in such a manner that all of data items of, for example, instructed speed, limited speed, acceleration time, deceleration time and rapid stop deceleration time, for controlling acceleration and deceleration are set by inputting figure. Therefore, a speed pattern which is being employed during the operation cannot easily be recognized. To determine a speed pattern, confirmation of the operation by using a machine is required. To modify/change the operation, figures must again be obtained and set followed by confirmation using the machine. Thus, there arises a problem in that excessively long time is required to determine figures and a complicated operation is required.




The conventional location programming apparatus is arranged in such a manner that instructed speed is set on a location programming window in the form of a list. Moreover, data of limited speed, acceleration time, deceleration time and rapid stop deceleration time for controlling acceleration and deceleration is set on a parameter list window. Therefore, data relating to the speed must be set on an individual window. As a result, the relation cannot easily be recognized. Thus, the window must be switched to change/confirm the parameters during the location programming operation. As a result, there arises a problem in that a complicated operation must be performed.




To solve the above-mentioned problem, an object of the present invention is to obtain a location programming apparatus and a method therefor with which a speed pattern for use in the operation can easily be produced/changed and direct substitution for the acceleration/deceleration parameter and for a locating program is permitted.




The conventional location programming apparatus is arranged in such a manner that the location programming window in the form of a list is used to set instructed speed and limited speed is set on a parameter list window by using figures. Therefore, there arises a problem in that instructed speed higher than limited speed is unintentionally set when location programming is performed. As a result, the controller detects an error of a type that the speed is higher than the instructed speed. Thus, there arises a problem in that control to realize instructed speed cannot be performed.




To solve the above-mentioned problem, an object of the present invention is to provide a location programing apparatus and a method therefor with which limited speed can always be recognized during the location programming operation and an error of a type that the speed is higher than the instructed speed can be prevented.




The conventional location programming apparatus is arranged in such a manner that data for controlling the acceleration/deceleration pattern by inputting figures. Therefore, there arises a problem in that an employed pattern for controlling the acceleration/deceleration cannot easily be recognized.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which an actual acceleration/deceleration pattern to be displayed is formed into a speed graph and setting/change is permitted.




The conventional location programming apparatus is arranged in such a manner that a parameter list window is used to set limited speed, acceleration time, deceleration time and rapid stop deceleration time by inputting figures. Therefore, actual acceleration time, deceleration time and rapid stop deceleration time which take in the operation when the speed instructed by the locating program is realized cannot easily be recognized. Thus, there arises a problem in that a user must perform calculations to recognize the time.




If an operation speed pattern is, in a locus control, employed with which the speed is changed at an intermediate passing point, there arises a problem in that actual acceleration/deceleration time at the point at which the speed is changed cannot easily be recognized.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which actual acceleration time, deceleration time and rapid stop deceleration time from the speed instructed by using the locating program can automatically be calculated and displayed.




The conventional location programming apparatus is arranged in such a manner that the list-form locating program is used to set dowel time, the M code and limited torque by inputting figures. Therefore, there arises a problem in that the control operation which is performed during the operation cannot easily be recognized.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which the ratio of dowel time, timing at which the M code must be transmitted and an effective range of the limited torque can visually be recognized when the location programming is performed.




The conventional location programming apparatus suffers from a problem in that the speed of each axis with respect to instructed speed cannot be detected when two or more axes are interpolation-controlled.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefore with which the speed of each axis can graphically be displayed when interpolation control is performed.




The conventional location programming apparatus has a problem in that acceleration distance, deceleration distance and rapid stop deceleration distance which are determined in accordance with the instructed speed, acceleration time, deceleration time and rapid stop deceleration time cannot be detected when the programming operation is performed. That is, there arises a problem in that the distance for which movement is required to realize the instructed speed and the distance required to make the instructed speed to be reduced to completion of movement cannot directly be detected.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor capable of graphically displaying a distance of movement required to change the speed from the instructed speed, acceleration time, deceleration time and rapid stop deceleration time.




The conventional location programming apparatus has a problem in that the relationships among the rated number of revolutions, maximum number of revolutions and the instructed speed must previously be calculated from parameters.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor a reference to the rated number of revolutions and maximum number of revolutions of the motor can easily be performed when the speed or the instructed speed is determined.




The conventional location programming apparatus has a problem in that only information, such as acceleration time and deceleration time, relating to the acceleration and formed into figures can be obtained and thus the acceleration cannot directly be determined.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which acceleration time and deceleration time can be changed by changing the acceleration.




The conventional location programming apparatus uses a list-form locating program and an effective region in which the speed can be changed is not displayed. Therefore, there arises a problem in that a user must perform complicated calculations to detect the region.




Another problem arises in that requested change in the speed is performed during control of a type in which speed change during the operation is not permitted or in a region in which the speed change is ineffective and thus the controller detects an error.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which an effective region in which speed can be changed can previously be detected when the locating programming is performed.




The conventional location programming apparatus has a problem in that the control operation cannot easily be understood by looking the list-form locating program and a parameter list. Another problem arises in that a control original point which will be affected by the change in the list-form locating program or that in the location control parameter cannot easily be recognized.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which the control operation can easily be understood in accordance with a graph displayed by a list-form locating program and a control operation which is affected by change in the list-form locating program can easily be understood.




An object of the present invention is to provide a location programming apparatus and a method therefor with which a process for the operation pattern of a produced graph to be changed to a list-form locating program can easily be recognized.




The conventional location programming apparatus has a problem in that whether or not a program can be used in a circular interpolation operation cannot easily be determined when locating programming is performed to perform circular interpolation. Thus, there arises a problem in that the controller cannot be started when the program is started because of an error of a type that the position is deviated from the circular interpolation radius or a permissible range for the circular interpolation.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which a set range in which the circular interpolation operation is permitted can be recognized when programming is performed.




The conventional location programming apparatus has the structure that setting required for a locating program is performed by using a list. Therefore, there arises a problem in that an amount of movement of a speed reference axis for use in the liner interpolation cannot easily be detected. Thus, the conventional apparatus suffers from a problem in that the controller cannot be started when the program is started because the amount of movement of the reference axis is zero.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which an axis which can be employed as the speed reference axis for use in the linear interpolation can be recognized when programming is performed.




The conventional location programming apparatus has the structure that setting required for a locating program is performed by using a list. Therefore, a program is unintentionally determined with which deceleration cannot be completed at the determined speed or within the amount of movement which is performed in the employed speed/position switching control depending on the employed deceleration pattern. Thus, there arises a problem in that an overrun error occurs in that the amount of movement exceeds a determined value during execution of the program. In some cases, there arises a problem in that a collision of the machine occurs.




Since excessively large deviation takes place when the speed/position is switched during the execution of the program, there arises a problem in that an overrun error occurs in that the amount of movement exceeds a determined value. In some cases, there arises a problem in that a collision of the machine occurs.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which an amount of movement which is performed in speed/position switching control which corresponds to a speed pattern and which can be employed can be recognized when programming of the speed/position switching control is performed and permissible deviation with respect to the determined amount of movement can be recognized when programming is performed.




The conventional location programming apparatus is arranged in such a manner that data for returning to the original point is set by using only numerical data. Therefore, there arises a problem in that the speed pattern for use in control for returning to the original point by a dog method and control for returning to the original point by a count method cannot easily be detected.




The length of the near dog is too short depending on the speed at which returning to the original point is performed and the determined creep speed. Thus, there arises a problem in that deceleration to the creep speed cannot be performed and thus overrun takes place. As a result, normal returning to the original point cannot be performed.




When count method returning to the original point is performed, setting of an insufficient amount of movement after the near dog as compared with a deceleration distance from the speed at which returning to the original point is performed cannot be found. Thus, there arises a problem in that overrunning takes place which exceeds the determined amount of movement during execution of the program and thus normal returning to the original point cannot be performed.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which the length of a near dog required to decelerate the speed from the speed at which returning to the original point to the creep speed and the deceleration distance from the from the speed at which returning to the original point is performed can easily be recognized when programming for returning to the original point is performed.




The conventional location programming apparatus is arranged in such a manner that programming for control, such as high-speed oscillation, with which a reciprocating operation is performed in accordance with a sine wave is performed by only inputting figures. Therefore, there arises a problem in that an actual operation cannot easily be recognized during the programming operation.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus and a method therefor with which programming of a high-speed oscillation function can be performed in such a manner that the actual operation is recognized.




A first conventional locating mode has been described. A second conventional locating mode will now be described.




Hitherto, control of a plurality of axes each of which repeats a predetermined operation has been performed by a controller with which a locating program for each axis is produced and which is arranged to administrate the start timing of the locating program in accordance with the operation timing of each axis.




When a motor for moving a subject, which must be controlled, is controlled to locating the subject to three points apart from one another for arbitrary intervals made up of


1030




a


-


1030




u


as shown in

FIG. 195

, locating programs by a number corresponding to the locating patterns must be produced. When some locating programs are sequentially started, a sequencer or the like is required to administrate the start timings.




Referring to a flow chart shown in

FIG. 197

, a sequence program will now be described. Initially, locating programs


1031




a


,


1031




b


and


1031




c


as shown in FIG.


196


and corresponding to the number of locating points are produced (step S


1100


).




Then, the program


1031




a


for a first axis which is first operated is started by a sequencer (step S


1101


). After the starting operation has been performed, whether or not the locating program


1031




a


for the first axis has been completed is administrated by a sequencer program (step S


1102


). If the completion is confirmed, whether or not arbitrary periods


1030




d


to


1030




e


of time have passed from completion of the locating program


1031




a


is administrated and determined by the sequencer (step


1103


). If completion has been confirmed (step S


1104


), the locating program


1031




b


is started (step S


1105


). Then, steps S


1106


to S


1110


are similarly performed so that sequential locating of three points is completed.




The above-mentioned conventional location programming apparatus


1004


is arranged in such a manner that each of the Locating programs must be operated to set the locating address, limited speed and acceleration/deceleration time. Moreover, the sequencer or the like is required to manage the programs and sequentially start the programs. Thus, there arises a problem in that long time is required to produce the locating program for each locating point. What is worse, use of the sequencer to administrate the start timing causes the start timing to be affected by scan time of the sequencer. In addition, a program is required for the sequencer.




To solve the above-mentioned problem, the present invention is arranged in such a manner that a sequential operation timing chart is produced to automatically produce a position data table. In accordance with the position data table, locating is performed. Therefore, the necessity of sequentially starting the locating programs can be eliminated and an additional sequencer program is not required. Thus, an object of the present invention is to obtain a location programming apparatus having position information provided as data of sequential position table and enabling preventing a problem of delay of operation start and the like.




When a plurality of axes are located while timings are arranged, for example, when three axes are controlled at an operation timing as shown in

FIG. 198

, a method as shown in flow charts shown in

FIGS. 200 and 201

is available in which the position address of each axis is administrated by a sequencer to arrange the start timing operation the locating program shown in FIG.


199


. Another method may be employed in which timing is arranged in accordance with input from an external sensor or a timer so that the locating program is started to perform the control.




When each axis is located while timing of a plurality of axes is arranged, the conventional location programming apparatus must adjust the positional relationship with the other axes and arrange the start timing. Therefore, the sequencer or the like is required to administrate the positional relationship among the axes so as to perform required control. Therefore, an additional sequencer program is required. Since the administrating sequencer is employed, there arises a problem in that start varies because of scan time of the sequencer.




To solve the above-mentioned problem, an object of the present invention is to provide a location programming apparatus arranged in such a manner that an operation timing chart for each axis is converted into position table data for controlling each cycle of the plurality of the axes; and the position of each axis is controlled in accordance with data. Thus, even if a plurality of axes are controlled, a necessity of producing a sequence for administrating the positional relationship with other axes and adjusting the start timing can be eliminated. Moreover, the problem of delay of start of each axis can be prevented.




DISCLOSURE OF THE INVENTION




According to the present invention, there is provided a location programming apparatus for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, the location programming apparatus comprising: locating control type setting means for setting locating control type for controlling the operation of the subject which must be controlled; graphical data generating means for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in the work memory.




The location programming apparatus according to the present invention has the structure that the graphical data generating means uses a coordinate graph in which a position control unit of the instructed axis which must be operated is made to be a unit of a coordinate axis and which indicates the position of the subject which must be controlled and a speed graph having a speed axis and a time axis to indicate change of the speed as time elapses so as to generate graph data.




The location programming apparatus according to the present invention has the structure that the graphical data generating means uses a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data.




The location programming apparatus according to the present invention has the structure that the graphical data generating means uses a other-time-transition graph having an amplitude axis and a time axis to indicate change in the degree of reciprocating motion as time elapses and a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data.




The location programming apparatus according to the present invention has the structure that when the set locating control type is linear locating control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the linear locating control as operation control information in accordance with information stored in the work memory.




The location programming apparatus according to the present invention has the structure that when the set locating control type is passing-point-instructed circular interpolation control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the passing-point-instructed circular interpolation control as operation control information in accordance with information stored in the work memory.




The location programming apparatus according to the present invention has the structure that when the set locating control type is radius-instructed circular interpolation control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the radius-instructed circular interpolation control as operation control information in accordance with information stored in the work memory.




The location programming apparatus according to the present invention has the structure that when the set locating control type is central-point-instructed circular interpolation control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the central-point-instructed circular interpolation control as operation control information in accordance with information stored in the work memory.




The location programming apparatus according to the present invention has the structure that when the set locating control type is locus control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the locus control as operation control information in accordance with information stored in the work memory.




The location programming apparatus according to the present invention has the structure that when the set locating control type is speed control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the speed control as operation control information in accordance with information stored in the work memory.




The location programming apparatus according to the present invention has the structure that when the set locating control type is speed/position switching control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the speed/position switching control as operation control information in accordance with information stored in the work memory.




The location programming apparatus according to the present invention has the structure that when the set locating control type is original-point returning control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the original-point returning control as operation control information in accordance with information stored in the work memory.




The location programming apparatus according to the present invention has the structure that when the set locating control type is high-speed oscillation control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the high-speed oscillation control as operation control information in accordance with information stored in the work memory.




According to another aspect of the present invention, there is provided a location programming apparatus for generating operation control information for a controller for controlling a motor for operating a subject which must be controlled, the location programming apparatus comprising:




graphical data generating means for generating, on a work memory, a position data table for a locating program having a time transition graph to graphically correspond to time transition; and means for transmitting the position data table stored in the work memory to the locating controller.




The location programming apparatus according to the present invention has the structure that the graphical data generating means generates a position data table for controlling one cycle of a plurality of axes corresponding to the set number of axes to be controlled.




According to another aspect of the present invention, there is provided a location programming method for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, the location programming method comprising: a step of setting locating control type for controlling the operation of the subject which must be controlled; a step of graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and a step of generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in the work memory.




The location programming method according to the present invention has the structure that the graphical data generating step uses a coordinate graph in which a position control unit of the instructed axis which must be operated is made to be a unit of a coordinate axis and which indicates the position of the subject which must be controlled and a speed graph having a speed axis and a time axis to indicate change of the speed as time elapses so as to generate graph data.




The location programming method according to the present invention has the structure that the graphical data generating step uses a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data.




The location programming method according to the present invention has the structure that the graphical data generating step uses a other-time-transition graph having an amplitude axis and a time axis to indicate change in the degree of reciprocating motion as time elapses and a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data.











BRIEF DESCRIPTION OF THE DRAWINGS





FIG. 1

is a block diagram showing the system of a location programming apparatus and a locating controller according to a first embodiment of the present invention;





FIG. 2

is a diagram showing the structure of a work memory for graphic programming of the location programming apparatus according to the first embodiment of the present invention;





FIG. 3

is a diagram showing the structure of a common information storage area of the graphic programming work memory of the location programming apparatus according to the first embodiment of the present invention;





FIG. 4

is a diagram showing the structure of an axis parameter information storage area of a common information storage area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 5

is a diagram showing the structure of a graphic programming window of the location programming apparatus according to the first embodiment of the present invention;





FIG. 6

is a flow chart showing the procedure of graphic programming in the location programming apparatus according to the first embodiment of the present invention;





FIG. 7

is a flow chart showing the overall operation of graphic programming in the location programming apparatus according to the first embodiment of the present invention;





FIG. 8

is a flow chart schematically showing the operation which is performed when graphical programming is performed by using a coordinate graph and a speed graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 9

is a flow chart schematically showing the operation which is performed when graphic programming is performed by using a speed graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 10

is a flow chart schematically showing the operation which is performed when graphic programming is performed by using a other-time-transition graph and the speed graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 11

is a diagram showing an example of an initial window for locating programming by using the coordinate graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 12

is a diagram showing the structure of a coordinate graph output information storage area of the graphic programming work memory of the location programming apparatus according to the first embodiment of the present invention;





FIG. 13

is a diagram showing the structure of a locating program information storage area of coordinate graph output information of the location programming apparatus according to the first embodiment of the present invention;





FIG. 14

is a detailed view showing a window structure information storage area of coordinate graph output information of the location programming apparatus according to the first embodiment of the present invention;





FIG. 15

is a flow chart showing a setting operation and the operation which are performed until an initial window for the locating programming by using the coordinate graph is displayed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 16

is a diagram showing an example of an initial window for locating programming by using the coordinate graph when one axis is linear-controlled by the location programming apparatus according to the first embodiment of the present invention;





FIG. 17

is a diagram showing an example of a locating programming window by using a coordinate graph in a case where linear control of two axes is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 18

is a flow chart showing an operation for setting locating programming by using a coordinate graph in a case where liner control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 19

is a flow chart showing the locating programming operation by using a coordinate graph in a case where linear control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 20

is a diagram showing an example of a locating programming window by using the coordinate graph in a case where passing-point-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 21

is a flow chart showing a setting operation of a locating programming by using the coordinate graph in a case where passing-point-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 22

is a flow chart showing a setting operation of a locating programming by using the coordinate graph in a case where passing-point-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 23

is a detailed view showing a locating control type corresponding information storage area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 24

is a diagram showing an example of a locating programming window by using the coordinate graph in a case where radius-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 25

is a flow chart showing a setting operation for locating programming by using the coordinate graph in a case where radius-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 26

is a flow chart showing a locating programming operation by using the coordinate graph in a case where radius-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 27

is a detailed view showing locating control type corresponding information storage area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 28

is a diagram showing a locating programming window by using the coordinate graph in a case where central-point-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 29

is a flow chart showing a setting operation of locating Programming by using a coordinate graph in a case where central-point-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 30

is a flow chart showing the operation of locating programming by using the coordinate graph in a case where central-point-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 31

is a detailed view showing a locating control type corresponding information storage area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 32

is a diagram showing an example of a locating programming window by using the coordinate graph in a case where locus control of two axes is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 33

is a detailed view showing the locating program information storage area when locus control of coordinate graph output information is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 34

is a detailed view showing a passing type corresponding information storage area when the passing method is the passing-point-instructed circular interpolation in the locating program information storage area when locus control of coordinate graph output information is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 35

is a detailed view showing a passing type corresponding information storage area when the passing method is the radius-instructed circular interpolation in the locating program information storage area when locus control of coordinate graph output information is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 36

is a detailed view showing a passing type corresponding information storage area when the passing method is the central-point-instructed circular interpolation in the locating program information storage area when locus control of coordinate graph output information is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 37

is a detailed view showing a window structure information storage area for storing position information of a passing point which is being additionally set when locus control of coordinate graph output information is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 38

is a flow chart showing a setting operation of a locating programming by using a coordinate graph in a case where locus control is set in the location programming apparatus according to the first embodiment of the present invention;





FIGS. 39 and 40

show a flow chart showing a locating programming operation by using the coordinate graph in a case where locus control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 41

is a flow chart showing the operation which is performed when a passing point is additionally set during the locating programming operation by using the coordinate graph in a case where locus control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 42

is a flow chart showing the operation which is performed when a passing method is set during the locating programming operation by using the coordinate graph in a case where locus control is set in the location programming apparatus according to the first embodiment of the present invention;





FIGS. 43 and 44

show a flow chart showing the operation which is performed when setting is completed during the locating programming operation by using the coordinate graph in a case where locus control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 45

is a diagram showing an example of a locating programming window by using a absolute coordinate graph in a case where liner control of two axes is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 46

is a diagram showing an example of a locating programming window using a relative coordinate graph in a case where liner control of two axes is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 47

is a detailed view showing a position information storage area for each point of coordinate graph output information of the location programming apparatus according to the first embodiment of the present invention;





FIG. 48

is a flow chart showing the operation which is performed when a position instruction method is set for the locating programming using the coordinate graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 49

is a flow chart showing the locating programming operation using the relative coordinate graph in a case where linear control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 50

is a diagram showing an example of a locating programming window using the coordinate graph in a case where position instruction methods for regions are mixed in a case where locus control of two axes is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 51

is a detailed view showing the relative-movement-amount information storage area between passing point which is being added and a next point of the locus control of coordinate graph output information in the location programming apparatus according to the first embodiment of the present invention;





FIG. 52

is a flow chart showing the setting operation of the locating programming by using the coordinate graph in a case where a position instruction method for each region is set when locus control is set in the location programming apparatus according to the first embodiment of the present invention;





FIGS. 53 and 54

show a flow chart of the operation of the locating programming by using the coordinate graph in a case where a position instruction method is set for each region when locus control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 55

is a flow chart of the operation which is performed when the position of the locating start point is changed during the operation of the locating programming by using the coordinate graph when a position instruction method is set for each region for the locus control in the location programming apparatus according to the first embodiment of the present invention;





FIG. 56

is a flow chart of the operation which is performed when the position of the passing point is changed during the locating programming operation by using the coordinate graph in a case where a position instruction method is set for each region for the locus control in the location programming apparatus according to the first embodiment of the present invention;





FIG. 57

is a flow chart of the operation which is performed when a passing point is additionally set during the locating programming operation by using the coordinate graph in a case where a position instruction method is set for each region for the locus control in the location programming apparatus according to the first embodiment of the present invention;





FIG. 58

is a flow chart of the operation which is performed when a position instruction method is set during the locating programming operation by using the coordinate graph in a case where a position instruction method is set for each region for the locus control in the location programming apparatus according to the first embodiment of the present invention;





FIGS. 59 and 60

show a flow chart of the operation which is performed when setting is completed during the locating programming operation by using the coordinate graph in a case where a position instruction method is set for each region for the locus control in the location programming apparatus according to the first embodiment of the present invention;





FIG. 61

is a diagram showing an example of a locating programming window by using the coordinate graph in a case where an operation permissible range for a subject which must be controlled is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 62

is a flow chart showing a setting operation of the locating programming by using the coordinate graph in a case where the operation permissible range for the subject which must be controlled is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 63

is a flow chart showing a setting operation of the locating programming by using the coordinate graph in a case where the operation permissible range for the subject which must be controlled is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 64

is a diagram showing an example of an initial locating programming window by using the coordinate graph of the location programming apparatus according to the first embodiment of the present invention;





FIG. 65

is a detailed view showing the speed graph output information storage area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 66

is a detailed view showing the acceleration/deceleration control parameter information storage area of speed graph output information of the location programming apparatus according to the first embodiment of the present invention;





FIG. 67

is a detailed view showing a locating programming speed information storage area of speed graph output information of the location programming apparatus according to the first embodiment of the present invention;





FIG. 68

is a flow chart showing the setting operation and the operation which are performed until the locating programming initial window is displayed by using the speed graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 69

is a diagram showing an example of a locating programming window by using the speed graph in a case where the speed instruction method, the speed control unit and instructed speed are set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 70

is a flow chart showing the setting operation of locating programming by using the speed graph in a case where the speed instruction method, the speed control unit and instructed speed are set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 71

is a flow chart showing the operation of locating programming by using the speed graph in a case where the speed instruction method, the speed control unit and instructed speed are set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 72

is a diagram showing an example of a locating programming window by using the speed graph in a case where the speed instruction method, the speed control unit and instructed speed are set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 73

is a flow chart showing the setting operation of locating programming by using the speed graph when the limited speed is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 74

is a flow chart showing the operation of locating programming by using the speed graph when the limited speed is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 75

is a diagram showing an example of a locating programming window by using the speed graph when the S-figure ratio in the S-figure acceleration/deceleration is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 76

is a flow chart showing the setting operation of locating programming by using the speed graph when the type of the speed pattern is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 77

is a flow chart showing the operation of locating programming by using the speed graph when the type of the speed pattern is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 78

is a diagram showing an example of a locating programming window by using the speed graph when acceleration time, deceleration time and rapid stop deceleration time are set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 79

is a flow chart showing the setting operation of locating programming by using the speed graph when the acceleration time is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 80

is a flow chart showing the locus of locating programming by using the speed graph when the acceleration time is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 81

is a detailed view showing an actual acceleration/deceleration time information storage area of speed graph output information of the location programming apparatus according to the first embodiment of the present invention;





FIG. 82

is a diagram showing an example of a locating programming window by suing the speed graph when the actual acceleration time, actual deceleration time and actual rapid stop deceleration time are calculated and displayed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 83

is a detailed view showing an actual acceleration/deceleration time information storage area of speed graph output information when the actual acceleration time, acceleration deceleration time and actual rapid stop deceleration time are calculated and displayed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 84

is a flow chart showing the operation of locating programming by using the speed graph when the actual acceleration time is calculated and displayed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 85

is a flow chart showing the setting operation of locating programming by using the speed graph when the changed time is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 86

is a flow chart showing the operation of locating programming by using the speed graph when the deceleration time is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 87

is a flow chart showing the operation of locating programming by using the speed graph when the actual deceleration time is calculated and displayed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 88

is a flow chart showing the setting operation of locating programming by using the speed graph when the rapid stop deceleration time is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 89

is a flow chart showing the locating programming operation by using the speed graph when the rapid stop deceleration time is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 90

is a flow chart showing the locating programming operation by using the speed graph when the actual rapid stop deceleration time is calculated and displayed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 91

is a diagram showing an example of a locating programming window by using the speed graph when dowel time, M code output and limited torque are set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 92

is a detailed view showing an auxiliary item information storage area of speed graph output information of the location programming apparatus according to the first embodiment of the present invention;





FIG. 93

is a flow chart showing the setting operation and the operation which are performed until the auxiliary item is initialized and displayed on the locating programming window by using the speed graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 94

is a flow chart showing the setting operation of locating programming by using the speed graph when the dowel time is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 95

is a flow chart showing the locating programming operation by using the speed graph when the dowel time is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 96

is a flow chart showing the setting operation of locating programming by using the speed graph when the M code output is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 97

is a flow chart showing the locating programming operation by using the speed graph when the M code output is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 98

is a flow chart showing the setting operation of locating programming by suing the speed graph when the limited torque is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 99

is a flow chart showing the locating programming operation by using the speed graph when the limited torque is set and changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 100

is a flow chart for decomposition to the speed for each axis in accordance with the type of the instructed speed according to the first embodiment of the present invention;





FIG. 101

is a flow chart for decomposition to the speed for each axis in the case where synthesized speed is instructed in the structure according to the first embodiment of the present invention;





FIG. 102

is a diagram showing an example of a window in which the speed pattern decomposed to each axis is displayed on the speed graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 103

is a diagram showing an idea for decomposing to the speed for each cursor when circular interpolation is performed in the structure according to the first embodiment of the present invention;





FIG. 104

is a diagram showing an acceleration distance in the speed graph according to the first embodiment of the present invention;





FIG. 105

is a flow chart for displaying an acceleration region according to the first embodiment of the present invention;





FIG. 106

is a diagram showing an example of display of the coordinate graph showing the acceleration region according to the first embodiment of the present invention;





FIG. 107

is a diagram showing another example of the coordinate graph showing the acceleration region according to the first embodiment of the present invention;





FIG. 108

is a diagram showing a deceleration distance in the speed graph according to the first embodiment of the present invention;





FIG. 109

is a diagram showing a rapid stop deceleration distance in the speed graph according to the first embodiment of the present invention;





FIG. 110

is a structural view showing a memory according to the first embodiment of the present invention in which a unit conversion parameter is stored;





FIG. 111

is a structural view showing a memory in which maximum speed and rated speed of a motor according to the first embodiment of the present invention are stored;





FIG. 112

is a diagram showing an example of display of a rated speed and maximum speed on the speed graph according to the first embodiment of the present invention;





FIG. 113

is a diagram showing the relationship between the speed and the acceleration when trapezoid acceleration/deceleration is performed in the structure according to the first embodiment of the present invention;





FIG. 114

is a diagram showing a window of a acceleration graph according to the first embodiment of the present invention;





FIG. 115

is a diagram showing change in the instructed speed as time elapses in the structure according to the first embodiment of the present invention;





FIG. 116

is a diagram showing an effective range in which the speed can be changed in the structure according to the first embodiment of the present invention;





FIG. 117

is a flow chart showing the operation for displaying the effective range in which the speed can be changed in the structure according to the first embodiment of the present invention;





FIG. 118

is a diagram showing an example of a locating programming window when locating programming is performed by using the coordinate graph while displaying a list-form locating program in the location programming apparatus according to the first embodiment of the present invention;





FIG. 119

is a flow chart showing the operation which is performed when locating programming is performed by using the coordinate graph while displaying the list-form locating program in the location programming apparatus according to the first embodiment of the present invention;





FIG. 120

is a diagram showing an example of a locating programming window which is displayed when locating programming is performed by using the list-form locating program while displaying the coordinate graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 121

is a flow chart showing the operation for performing locating programming by using the list-form locating program while displaying the coordinate graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 122

is a flow chart showing the operation which performed when locating programming is performed by using the list-form locating program while displaying the coordinate graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 123

is a diagram showing an example of a locating programming window which is displayed when locating programming is performed by using the speed graph while displaying the list-form locating program in the location programming apparatus according to the first embodiment of the present invention;





FIG. 124

is a flow chart showing the operation which is performed when locating programming is performed by using the speed graph while displaying the list-form locating program in the location programming apparatus according to the first embodiment of the present invention;





FIG. 125

is a diagram showing an example of a locating programming window which is displayed when locating programming is performed by using the list-form locating program while displaying the speed graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 126

is a flow chart showing the operation which is performed when locating programming is performed by using the list-form locating program while displaying speed graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 127

is a flow chart showing the operation which is performed when locating programming is performed by using the list-form locating program while displaying the speed graph in the location programming apparatus according to the first embodiment of the present invention;





FIG. 128

is a diagram showing an example of a locating programming window by using the coordinate graph when passing-point-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 129

is a flow chart showing the operation for displaying, on the coordinate graph, a passing point setting permissible range for the passing-point-instructed circular interpolation control in the location programming apparatus according to the first embodiment of the present invention;





FIG. 130

is a detailed view showing a circular arc type setting range information storage area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 131

is a diagram showing an example of a locating programming window by using the coordinate graph when radius-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 132

is a flow chart showing the operation for displaying, on the coordinate graph, the radius-instruction-point setting permissible range for the radius-instructed circular interpolation control in the location programming apparatus according to the first embodiment of the present invention;





FIG. 133

is a diagram showing an example of a locating programming window by using the coordinate graph when central-point-instructed circular interpolation control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 134

is a flowchart showing the operation for displaying, on the coordinate graph, circular interpolation central point setting permissible range and the circular interpolation permissible error range for the central-point-instructed circular interpolation control in the location programming apparatus according to the first embodiment of the present invention;





FIG. 135

is a detailed view showing the circular arc type setting range information storage area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 136

is a diagram showing an example of a window display dialog for selecting a reference axis for instructing the speed of the reference axis in the location programming apparatus according to the first embodiment of the present invention;





FIG. 137

is a flow chart showing the operation for selecting the reference axis for instructing the speed of the reference axis in the location programming apparatus according to the first embodiment of the present invention;





FIG. 138

is a diagram showing an example of a locating programming which by using the speed graph when speed/position switching control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 139

is a flow chart showing the setting operation of locating programming by using the speed graph when the speed/position switching control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 140

is a flow chart showing the locating programming operation by using the speed graph when the speed/position switching control is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 141

is a flow chart showing the setting operation for locating programming by using the speed graph when a position control unit and upper and lower stroke limits are changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 142

is a flow chart showing the operation of locating programming by using the speed graph when the position control unit and the upper and lower stroke limits are changed in the location programming apparatus according to the first embodiment of the present invention;





FIG. 143

is a detailed view showing a locating program speed information storage area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 144

is a diagram showing an example of a locating programming window by using the speed graph when the dog-method returning to an original point is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 145

is a flow chart showing the setting operation of locating programming by using the speed graph when the dot-method returning to the original point is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 146

is a flow chart showing the locating programming operation by using the speed graph when the dog-method returning to the original point is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 147

is a detailed view showing a locating program speed information storage area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 148

is a diagram showing an example of a locating programming window by using the speed graph when a count-method returning to the original point is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 149

is a flow chart showing the setting operation of locating programming by using the speed graph when the count-method returning to the original point is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 150

is a flow chart showing the locating programming operation by using the speed graph when the count-method returning to the original point is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 151

is a diagram showing an example of a locating programming window by using other-time-transition graph when high speed oscillation is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 152

is a diagram showing the structure of a other-time-transition graph output information area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 153

is a structural view showing a high speed oscillation programming information area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 154

is a structural view showing a window structure information area of the location programming apparatus according to the first embodiment of the present invention;





FIG. 155

is a flow chart showing the locating programming operation by using the other-time-transition graph when the high speed oscillation is set in the location programming apparatus according to the first embodiment of the present invention;





FIG. 156

is a block diagram showing the structures of a location programming apparatus and a locating controller according to a second embodiment of the present invention;





FIG. 157

is a diagram showing a window for setting position data corresponding to transition time according to the second embodiment of the present invention;





FIG. 158

is a flow chart showing the procedure for setting position data corresponding to the transition time according to the second embodiment of the present invention;





FIG. 159

is a flow chart showing the procedure for making position data table of the setting operation procedure according to the second embodiment of the present invention;





FIG. 160

is a diagram showing an area for storing data of transition time and the address of the position according to the second embodiment of the present invention;





FIG. 161

is a diagram showing an area for storing data of speed and acceleration characteristics for each region according to the second embodiment of the present invention;





FIG. 162

is a diagram showing the structure of the position data table according to the second embodiment of the present invention;





FIG. 163

is a flow chart showing a procedure for setting when a plurality of axes are continuously operated in the structure according to a third embodiment of the present invention;





FIG. 164

is a flow chart showing a detailed procedure for setting transition time and the address of the position according to the second embodiment of the present invention;





FIG. 165

is a flow chart showing detailed procedure for setting a position data table according to the second embodiment of the present invention;





FIG. 166

is a diagram showing a window for setting the transition time and the address of the position according to the second invention;





FIG. 167

is a diagram showing a window for setting the position data table according to the second embodiment of the present invention;





FIG. 168

is a diagram showing a window for setting the number of axes to be controlled and time for one cycle according to the third embodiment of the present invention;





FIG. 169

is a diagram showing a window for setting the axis number according to the third embodiment of the present invention;





FIG. 170

is a block diagram showing the system structure of the conventional location programming apparatus and the locating controller;





FIG. 171

is a diagram showing an example of a window for setting an axis parameter by using a parameter list of the conventional location programming apparatus;





FIG. 172

is a diagram showing an example of a window for setting acceleration/deceleration control parameter by using the parameter list of the conventional location programming apparatus;





FIG. 173

is a diagram showing an example of a window for setting original-point returning parameter by using the parameter list of the conventional location programming apparatus;





FIG. 174

is a diagram showing an example of a window for performing locating programming by the list-form method in the conventional location programming apparatus;





FIG. 175

is a diagram showing another example of a window for performing locating programming by the list-form method in the conventional location programming apparatus;





FIG. 176

is a detailed view showing the structure of a parameter memory of the conventional location programming apparatus;





FIG. 177

is a detailed view showing the structure of an axis parameter storage area of the conventional location programming apparatus;





FIG. 178

is a detailed view showing the structure of a acceleration/deceleration control parameter storage area of the conventional location programming apparatus;





FIG. 179

is a detailed view showing the structure of a original-point returning parameter storage area of the conventional location programming apparatus;





FIG. 180

is a detailed view showing the structure of a locating programming memory of the conventional location programming apparatus;





FIG. 181

is a detailed view showing the structure of a locating program code storage area of the conventional location programming apparatus;





FIG. 182

is a detailed view showing the structure of a locating program code for the linear locating control for the conventional location programming apparatus;





FIG. 183

is a detailed view showing the structure of a locating program code for the passing-point-instructed circular interpolation control for the conventional location programming apparatus;





FIG. 184

is a detailed view showing the structure of the locating program code for the radius-instructed circular interpolation control for the conventional location programming apparatus;





FIG. 185

is a detailed view showing the structure of the locating program code for the central-point-instructed circular interpolation control for the conventional location programming apparatus;





FIG. 186

is a detailed view showing the of the locating program code for locus control in the conventional location programming apparatus;





FIG. 187

is a detailed view showing the structure of the locating program code for a linear passing region for the locus control in the conventional location programming apparatus;





FIG. 188

is a detailed view showing the structure of a locating program code for passing-point-instructed circular interpolation passing region for locus control in the conventional location programming apparatus;





FIG. 189

is a detailed view showing the structure of a locating program code for the radius-instructed circular interpolation passing region in the conventional location programming apparatus;





FIG. 190

is a detailed view showing the structure of a locating program code for the central-point-instructed circular interpolation passing region for the locus control in the conventional location programming apparatus;





FIG. 191

is a detailed view showing the structure of a locating program code for speed control in the conventional location programming apparatus;





FIG. 192

is a detailed view showing the structure of a locating program code for the speed/position switching control in the conventional location programming apparatus;





FIG. 193

is a detailed view showing the structure of a locating program code for the original-point returning control in the conventional location programming apparatus;





FIG. 194

is a detailed view showing the structure of a locating program code for the high speed oscillation control in the conventional location programming apparatus;





FIG. 195

is a timing chart of the operation which is performed when continuous locating (for example, three points) is performed in the conventional location programming apparatus;





FIG. 196

is a diagram showing a locating program for the conventional location programming apparatus;





FIG. 197

is a flow chart showing the Operation which is performed when continuous locating is performed in the conventional location programming apparatus;





FIG. 198

is a timing chart showing the operation which is performed when continuos locating of a plurality of axes is performed in the conventional location programming apparatus;





FIG. 199

is a diagram showing an example of each locating program when continues locating of a plurality of axes is performed in the conventional location programming apparatus; and





FIGS. 200 and 201

show a flow chart of the operation when a plurality of axes are continuously located in the conventional location programming apparatus.











BEST MODE FOR CARRYING OUT OF THE INVENTION




Embodiments of the present invention will now be described with reference to the drawings.




First Embodiment




A first embodiment of the present invention will now be described in such a manner that the operations relating to control S/W will be described for each of the following functions.




1. Overall Operation




2. Locating Programming Using Coordinate Graph




3. Locating Programming for Linear Control Using Coordinate Graph




4. Locating programming for Passing-Point-Instructed Circular Interpolation Using Coordinate Graph




5. Locating programming for Circular Interpolation While instructing Radius using Coordinate Graph




6. Locating programming for Circular Interpolation While Instructing Central Point Using Coordinate Graph




7. Locating programming for Locus Control Using Coordinate Graph




8. Locating programming for Setting Position Instruction Method Using Coordinate Graph




9. Locating programming for Locus Control by Setting Position Instruction Method Using Coordinate Graph




10. Setting/Change of Operation Permissible Range for Subject Which Must be Controlled by Using Coordinate Graph




11. Locating Programming Using Speed Graph




12. Setting/Change of Limited Speed Using Speed Graph




13. Setting of Acceleration/Deceleration Pattern Type Using Speed Graph




14. Setting/Change of Acceleration Time Using Speed Graph




15. Calculation/Display of Actual Acceleration Time In Acceleration Region Using Speed Graph




16. Setting/Change of Deceleration Time Using Speed Graph




17. Calculation/Display of Actual Deceleration Time in Deceleration Region Using Speed Graph




18. Setting/Change of Rapid Stop Deceleration Time Using Speed Graph




19. Calculation/Display of Actual Rapid Stop Deceleration time Using Speed Graph




20. Setting/Change of Dowel Time Using Speed Graph




21. Setting/Change of M Code Using Speed Graph




22. Setting/Change of Limited Torque Using Speed Graph




23. Decomposition/Display of Instructed Speed to Each Axis Using Speed Graph In a Case where Two or More Axes Are Interpolation-Controlled




24. Calculation/Display of Amount of Movement Performed Until Instructed Speed is Realized In Accordance With Acceleration Time and Using Speed Graph




25. Calculation/Display of Amount of Movement Performed From Start of Deceleration to Stop In Accordance With Deceleration Time and Using Speed Graph




26. Calculation/Display of Amount of Movement Performed From Deceleration to Stop In Accordance With Rapid Stop Deceleration Time and Using Speed Graph




27. Display of Maximum Speed and Rated Speed of Motor On Drive Shaft Using Speed Graph




28. Change of Acceleration/Deceleration Pattern Using Speed Graph




29. Display of Effective Speed Change Range Using Coordinate Graph




30. Locating Programming Using Coordinate Graph While Displaying List Form Locating Program




31. Locating Programming Using List Form Locating Program While Displaying Coordinate Graph




32. Locating Programming Using Speed Graph While Displaying List Form Locating Program




33. Locating Programming Using List Form Locating Program While Displaying Speed Graph




34. Display of Range In Which Passing Points In Circular Interpolation Can Be Set When Passing-Point Instructed Circular Interpolation Is Performed




35. Display of Range In Which Radius-Instructed Points Can Be Set When Radius-Instructed Circular Interpolation Is Performed




36. Display of Range In Which Central Point of Circular Arc Can Be Set When Central-Point-Instructed Circular Interpolation Is Performed




37. Selection of Reference Axis By Instructing Speed of Reference Axis




38. Locating Programming for Speed/Position Switching Control Using Speed Graph




39. Programming of Dog-Method Returning to Original Point Using Speed Graph




40. Programming of Count-Method Returning to Original Point Using Speed Graph




41. Programming of High Speed Oscillation Using




1. Overall Operation




A location programming apparatus according to a first embodiment of the present invention will now be described with reference to the drawings.

FIG. 1

is a block diagram showing the structures of a location programming apparatus and a locating controller according to the first embodiment of the present invention. The same reference numerals among the drawings represent the same or similar elements.




Referring to

FIG. 1

, reference numeral


1


represents a location programming apparatus and


2


represents a CPU of the location programming apparatus


1


. Reference numeral


3


represents a memory on which software (S/W) for controlling locating programming is stored and


4


represents a graphic programming work memory on which graph information is stored. Reference numeral


1016


represents a parameter memory on which set parameters are stored,


1018


represents a locating program memory on which set locating program is stored and


1019


represents a communication interface to a locating controller


1001


. The structures of the parameter memory


1016


and the locating program memory


1018


are the same as those of the conventional structure shown in

FIGS. 176

to


194


. The other structures are similar to those of the conventional structure.





FIG. 2

shows the structure of the graphic programming work memory


4


. The graphic programming work memory


4


is composed of a common-information storage area


70


on which information common to each of graph setting operations is stored and a coordinate-graph-output-information storage area


71


on which information to be set to a coordinate graph with which information required to control the position is set is stored. Moreover, there are provided a speed-graph-output-information storage area


72


on which information to be set to a speed graph with which information required to mainly control speed is set is stored and an other-time-transition-graph storage area


73


on which information set to another-time-transition graph is stored. In addition, a locating-program-code storage area


74


is provided on which a locating program code generated in accordance with information transmitted from each graph is stored.





FIG. 3

shows the common-information storage area


70


composed of an area


80


on which locating program number to be set is stored, a locating control type storage area


81


, a start-axis-number storage area


82


, start-axis-number storage areas


83




a


,


83




b


and


83




c


and an axis-parameter-information storage area


100


.





FIG. 4

shows the axis-parameter-information storage area


100


included in the common-information storage area


70


and composed of position-control-unit reading areas


111




a


,


111




b


and


111




c


of the start-axis number, upper stroke limit storage areas


112




a


,


112




b


and


112




c


of the start axis number and lower stroke limit storage areas


113




a


,


113




b


and


113




c


of the start axis number.





FIG. 5

shows the structure of a programming window according to an example of graphic programming. Referring to

FIG. 5

, reference numeral


10


represents an area on which common information required during programming is always displayed and which is composed of a locating-program-number setting area


130


and a position-locating-control-type selection button


131


having a linear locating button


131




a


, a passing-point-instructed circular interpolation button


131




b


, a radius-instructed circular interpolation button


131




c


, a central-point-instructed circular interpolation button


131




d


, a locus control button


131




e


, a speed control button


131




f


, a speed/position switching control button


131




g


, an original-point returning button


131




h


and a high speed oscillation control button


131




i


. Moreover, there are provided an area


132


for setting the number of start axes, a start-axis-number setting area


133


, a setting completion button


160


for defining setting of one program, a transfer button


13


for transferring, to a controller, a set program and parameters when all of items have been set to the program and a completion button


14


for ending the programming operation. Reference numeral


11


represents a graph making/display area on which a graph sheet, which must be set, is displayed which is selected from a coordinate graph sheet


11




a


, a speed graph sheet


11




b


and other-time-transition graph sheet


11




c


in accordance with the selected locating control type. If various graphs must be set, a graph index


12


indicating the coordinate graph


12




a


, the speed graph


12




b


and the other-time-transition graph


12




c


is selected so that the graph sheet is switched.




A procedure for operating graphic programming will now be described with reference to a flow chart shown in FIG.


6


. Initially, a locating program number which is set in the locating-program-number setting area


130


is set (step S


100


). Then, the position-locating-control-type selection button


131


is operated to select locating control type (step S


101


). If the locating control type is “linear locating


131




a


” or “passing-point-instructed circular interpolation


131




b


” or “radius-instructed circular interpolation


131




c


” or central-point-instructed circular interpolation


131




d


” or “locus control


131




e


” (step S


102


), the number of axes to be interpolated is set by using the area


132


for setting the number of start axes (step S


103


). Then, the start axis numbers corresponding to the number of the axes to be interpolated is set by using the start-axis-number setting area


133


(step S


104


). The control operation at the position is set by using the coordinate graph sheet


11




a


displayed on the graph making/display area


11


(step S


105


), and then the speed graph


12




b


of the graph index


12


is selected to display the speed graph sheet


11




a


with which the speed control operation is set (step S


106


). When the graph is changed, the coordinate graph


12




a


or the speed graph


12




b


of the graph index


12


is selected to change the graph. After the graph has been made (step S


107


), the operation proceeds to step S


108


.




If the locating control type is “speed control


131




f


” or “speed/position switching control


131




g


” or “returning to original point


131




h


” (step S


112


), the start axis number is set by using the start-axis-number setting area


133


because the number of axes to be started is fixed to one (step S


113


). Then, the speed graph sheet


11




b


displayed on the graph making/display area


11


is used to set the speed control operation and required information (step S


114


). After the graph has been made (step S


115


), the operation proceeds to step S


108


.




If the locating control type is “high speed oscillation control


131




i


” (that is, in another case), the start axis number is set by using the start-axis-number setting area


133


because the number of axes to be started is fixed to one (step S


116


). Then, the other-time-transition graph sheet


11




c


displayed on the graph making/display area


11


is used to set the control operation and required information (step S


117


). When the speed control operation is confirmed by using the speed graph, the speed graph


12




b


of the graph index


12


is selected so as to switch the graph sheet (step S


118


). When the graph is again changed, the other-time-transition graph


12




c


of the graph index


12


is selected so as to switch the graph sheet. After the graph has been made (step S


119


), the operation proceeds to step S


108


.




After the graph corresponding to the locating control type has been made, the setting completion button


160


is selected so as to define the locating operation of the instructed locating program number (step S


108


). When another locating program is produced, the operation returns to step S


100


. When all of the programs have been made (step S


109


), the transfer button


13


is selected. Then, the locating controller


1001


is operated to transfer the locating program and parameters (step S


110


). Then, the end button


14


is selected so that programming is ended (step S


111


).




The overall operation of graphic programming will now be described with reference to a flow chart shown in FIG.


7


. When locating program number has been set (step S


130


), the set locating program number (k) is stored on the area


80


of the common-information storage area


70


on which locating program number to be set is stored (step S


131


). When the position-locating-control-type selection button


131


is selected (step S


132


), the selected locating control type code is stored in the locating control type storage area


81


of the common-information storage area


70


(step S


133


). In accordance with the locating controller type, a graph which must be set is displayed. Note that steps S


132


to S


133


correspond to the control type setting means.




If the locating control type is “linear locating


131




a


” or “passing-point-instructed circular interpolation


131




b


” or “radius-instructed circular interpolation


131




c


” or central-point-instructed circular interpolation


131




d


” or “locus control


131




e


” (step S


134


), the coordinate graph sheet


11




a


and the speed graph sheet


11




b


are used to perform the graphic programming process (step S


135


). Then, the operation proceeds to step S


136


.




If the locating control type is “speed control


131




f


” or “speed/position switching control


131




g


” or “returning to original point


131




h


” (step S


140


), the speed graph sheet


11




b


is used to perform the graphic programming process (step S


141


). Then, the operation proceeds to step S


136


.




If the locating control type is “high speed oscillation control


131




i


” the other-time-transition graph sheet


11




c


and the speed graph sheet


11




b


are used to perform the graphic programming process (step S


142


). Then, the operation proceeds to step S


136


. Note that steps S


134


and S


135


and S


140


to S


141


and S


142


correspond to the graphical data making means and drive control information making means.




When the transfer button


13


has been selected (step S


136


), the contents of the parameter memory


1016


and the locating-program memory


1018


stored by dint of the graphic programming process are transferred to the parameter memory


1008


and the locating-program memory


1009


of the locating controller


1001


through the communication interfaces


1019


and


1010


(step S


137


).




The operation returns to step S


130


until the completion button


14


is selected. When the completion button


14


is selected (step S


138


), programming is ended (step S


139


).




The operation, which is performed when a graphic programming process using the coordinate graph and the speed graph is performed, will schematically be described with reference to a flow chart shown in FIG.


8


. Initially, the coordinate graph sheet


11




a


is displayed on the front surface of the graph making/display area


11


and the speed graph sheet


11




b


is displayed on the rear surface of the same (step S


150


). The set number of start axes and the start axes numbers are stored in the start-axis-number storage area


82


and the start-axis-number storage area


83


of common-information storage area


70


. In accordance with the start axis number, an initial value is stored in the axis-parameter-information storage area


100


(step S


151


). Moreover, an initial value is stored in the coordinate-graph-output-information storage area


71


, and initial window of the coordinate graph is displayed on the coordinate graph sheet


11




a


(step S


152


). Moreover, an initial value is stored in the speed-graph-output-information storage area


72


, and an initial window of the speed graph is displayed on the speed graph sheet


11




b


(step S


153


).




Information produced on the coordinate graph displayed on the front surface is stored in the coordinate-graph-output-information storage area


71


and the common-information storage area


70


(step S


154


). When the speed graph


12




b


is selected (step S


155


), the graph sheet which is displayed on the front surface is switched to the speed graph sheet


11




b


(step S


156


). Then, information of the speed parameter produced on the speed graph is stored in the speed-graph-output-information storage area


72


(step S


157


). When the coordinate graph index


12




a


is selected (step S


158


), a graph sheet which is displayed on the front surface is again switched to the coordinate graph sheet


11




a


(step S


159


). Then, the operation returns to step S


154


. Steps S


154


and S


157


form an example of graphical data making means.




When the setting completion button


160


has been selected (step S


160


), whether or not setting for the set locating control type has been completed is determined (step S


161


). If setting has normally been completed, a locating program code corresponding to the set locating control type shown in

FIGS. 182

to


190


is generated in accordance with the contents of the common-information storage area


70


, the coordinate-graph-output-information storage area


71


and the speed-graph-output-information storage area


72


so as to be stored in the locating-program-code storage area


74


(step S


162


). Then, header information and the locating program code are stored in the areas of the header-information storage area


2000


and the program-code storage area


2100


of the locating program memory


1018


corresponding to the program number k (step S


163


). Moreover, upper stroke limit and the like is stored in the upper stroke limit storage area


1705


and the lower stroke limit storage area


1706


of the axis-parameter storage area


1700


in accordance with the contents of the axis-parameter-information storage area


100


of the common-information storage area


70


(step S


164


). In accordance with the contents of the speed-graph-output-information storage area


72


, acceleration/deceleration parameter is stored in the acceleration/deceleration control program storage area


1800


corresponding to the set acceleration/deceleration parameter number (step S


165


). Steps S


163


to S


165


form an example of the drive control information generating means.




The operation returns to step S


155


until the transfer button


13


or the completion button


14


or the locating program number setting button


130


or the locating control type selection button


131


is selected. If a button is selected (step S


166


), the foregoing operation is completed and the operation proceeds to step S


136


of the overall operation.




The operation, which is performed when graphic programming is performed by using the speed graph, will schematically be described with reference to a flow chart shown in FIG.


9


. Initially, the speed graph sheet


11




b


is displayed on the graph making/display area


11


(step S


170


). The set number of the start axes and the start axis number are stored in the area


82


on which the number of start axes is stored and the start-axis number storage area


83


of the common-information storage area


70


. In accordance with the start axis number, an initial value is stored in the axis-parameter-information storage area


100


(step S


171


). Moreover, an initial value is stored in the speed-graph-output-information storage area


72


, and then an initial window of the speed graph corresponding to the locating control type is displayed on the speed graph sheet


11




b


(step S


172


).




Information produced on the speed graph is stored in the speed-graph-output-information storage area


72


and the common-information storage area


70


(step S


173


).




When the setting completion button


160


is selected (step S


174


), whether or not setting for the set locating control type has been completed is determined (step S


175


). If setting has normally been completed, a locating program code corresponding to the set locating control type shown in

FIGS. 191

to


193


is generated in accordance with the contents operation the common-information storage area


70


and the speed-graph-output-information storage area


72


so as to be stored in the locating-program-code storage area


74


(step S


176


). Then, storage in the areas of the header-information storage area


2000


and the locating-program-codes storage area


2100


of the locating-program memory


1018


corresponding to the locating program number k are performed (step S


163


). In accordance with the contents of the axis-parameter-information storage area


100


of the common-information storage area


70


, storage in the upper stroke limit storage area


1705


and the lower stroke limit storage area


1706


of the axis parameter storage area


1700


corresponding to the set start axis number are performed in accordance with the contents of the axis-parameter-information storage area


100


of the common-information storage area


70


(step S


164


). Moreover, storage in the acceleration/deceleration control parameter storage area


1800


corresponding to the set acceleration/deceleration parameter number is performed in accordance with the speed-graph-output-information storage area


72


(step S


165


).




If the locating control type is “returning to original point


131




h


” (step S


177


), storage in the area


1900


on which a parameter for returning to the original point and which corresponds to the set start axis number is performed in accordance with the contents of the speed-graph-output-information storage area


72


(step S


178


).




The operation returns to step S


173


until the transfer button


13


or the completion button


14


or the locating program number setting button


130


or the locating control type selection button


131


is selected. When any one of the buttons is selected (step S


166


), the foregoing operation is ended and the operation proceeds to step S


136


of the overall operation.




The operation, which is performed when graphic programming using the other-time-transition graph and the speed graph will schematically be described with reference to a flow chart shown in FIG.


10


. Initially, the other-time-transition graph sheet


11




c


is displayed on the front surface of the graph making/display area


11


and the speed graph sheet


11




b


is displayed on the rear surface of the same (step S


180


). The set number of start axes and the start axis number are stored in the area


82


on which the number of start axes is stored in the start-axis-number storage area


83


. Then, an initial value is stored in the axis-parameter-information storage area


100


in accordance with the start axis number (step S


181


).




Information produced on the other-time-transition graph displayed on the front surface is stored in the other-time-transition-graph-output-information storage area


72


and the common-information storage area


70


(step S


182


). When the speed graph


12




b


is selected (step S


183


), the graph sheet which is displayed on the front surface is switched to speed graph sheet


11




b


(step S


184


). In accordance with information produced on the other-time-transition graph, the speed pattern is displayed on the speed graph sheet


11




b


(step S


185


). When the other-time-transition graph


12




c


is selected (step S


186


), the graph sheet which is displayed on the front surface is again switched to the other-time-transition graph sheet


11




c


(step S


187


). Then, the operation returns to step S


182


.




When the setting completion button


160


is selected (step S


188


), whether or not setting for the set locating control type has been completed is determined (step S


189


). If setting has normally been completed, a locating program code corresponding to the set locating control type shown in

FIG. 194

is generated in accordance with the contents of the common-information storage area


70


and the other-time-transition-graph storage area


73


so as to be stored in the locating-program-code storage area


74


(step S


190


). Then, storage in the areas of the header-information storage area


2000


and the locating-program-code storage area


2100


of the locating program memory


1018


corresponding to the locating program number k is performed (step S


163


). In accordance with the contents of the axis-parameter-information storage area


100


of the common-information storage area


70


, storage in the upper stroke limit storage area


1705


and the lower stroke limit storage area


1706


of the axis-parameter storage area


1700


corresponding to the set start axis number is performed (step S


164


).




The operation returns to step S


183


until the transfer button


13


or the completion button


14


or the locating-program-number setting button


130


or the locating-control-type button


131


is selected. When any one of the buttons is selected (step S


166


), the foregoing operation is ended and the operation proceeds to step S


136


of the overall operation.




The location programming apparatus


1


enables items required for the locating controller


1001


to perform control corresponding to the locating control type to be set while the control operation pattern is graphically displayed. As a result, a necessity of making a list-form locating program can be eliminated




The location programming apparatus according to the present invention is able to automatically generate a locating program and a location control parameter only by graphically setting the locating locus operation, the speed pattern and the time transition control.




Moreover, the control operation can visually and easily be identified for any one and time required to complete the initial programming process can significantly be shortened.




Since calculations are not required when the operation is changed, the changing operation can quickly be completed.




Moreover, the relationship among the set items in the control operation corresponding to the locating control type and the parameter and locating program can easily be understood.




2. Locating Programming Using Coordinate Graph




The operation for performing a locating programming process by using a coordinate graph will now be described with reference to

FIGS. 11

to


16


.

FIG. 11

shows an example of a locating programming window using a coordinate graph.

FIG. 11

shows an initial display window of the coordinate graph. Referring to

FIG. 11

, contents of a locating-program-number setting area


130


and a location-control-type selection button


131


which have been determined previously are displayed. Reference numeral


132


represents an area for setting the number of start axes,


133


represents a start-axis-number setting area,


134




a


and


134




b


represent axis number selection buttons for the X- and Y-coordinates,


135




a


and


135




b


represent position-control-unit display area of the axis numbers set on the X- and Y-coordinates. Reference numeral


136


represents a coordinate-graph making/display area,


150


represents a location start point,


151


represents a location end point,


152




a


and


153




a


represent upper and lower stroke limits of the X-coordinate axis numbers and


152




b


and


153




b


represent upper and lower stroke limit lines. Reference numerals


137




a


and


137




b


represent X- and Y-coordinate set-information-values display areas for displaying upper and lower limit liens of the axes set by the coordinate-graph making/display area


136


and positions indicated by the points at


140




a


,


140




b


,


141




a


,


141




b


,


142




a


,


142




b


,


143




a


and


143




b


with figures. Reference numerals


138




a


and


138




b


represent X- and Y-coordinate scroll bars for moving the graph display ranges. Reference numerals


139




a


and


139




b


represent X- and Y-coordinate scale buttons for adjusting enlargement, contraction and standard display of the graph scale.





FIG. 12

shows the coordinate-graph-output-information storage area


71


of the graphic programming work memory


4


, the coordinate-graph-output-information storage area


71


being composed of the locating-program-information storage area


101


and the window-structure-information storage area


102


.





FIG. 13

shows the locating-program-information storage area


101


of the coordinate-graph-output-information storage area


71


in the case where the locating control type is linear locating, passing-point-instructed circular interpolation, radius-instructed circular interpolation or central-point-instructed circular interpolation. The locating-program-information storage area


101


is composed of an area


120


for storing the number of set points, a position-location-method storage area


121


, a position-location-method storage area


121


, location-end-point-position information storage area


122




a


,


122




b


and


122




c


and a location-control-type corresponding information storage area


123


.





FIG. 14

shows the window-structure-information storage area


102


of the coordinate-graph-output-information storage area


71


, that being composed of an X-coordinate-axis-number storage area


125


, a Y-coordinate-axis-number storage area


126


and locating-start-point-position-information storage areas


127




a


,


127




b


and


127




c


of the start axis numbers.




The setting manipulation and operation which are performed to display an initial window in a state shown in

FIG. 11

will now be described with reference to a flow chart shown in FIG.


15


. When any one of the linear location


131




a


, passing-point-instructed circular interpolation


131




b


, radius-instructed circular interpolation


131




c


, the central-point-instructed circular interpolation


131




d


or the locus control


131




e


has been selected by the location-control-type selection button


131


, the area


120


for storing the number of set points of the graphic programming work memory


4


is initialized to “1” so that a coordinate graph window is displayed. When the number h of start axes is set by using the area


132


for setting the number of start axes (step S


200


), h is stored in the area


82


on which the number of start axes is stored of the graphic programming work memory


4


(step S


201


). Thus, the start axis numbers corresponding to the number of the start axes number of start axes are set by using the start-axis-number setting area


133


(step S


202


). Therefore, the set axis numbers are stored in the start-axis-number storage area


83


of the graphic programming work memory


4


(step S


203


). Then, the position control units and upper and lower stroke limits of the set start axis numbers are read from the axis-parameter memory


1700


so as to be stored in the position-control-unit reading area


111


for the start axis numbers and upper and lower-stroke-limit storage areas


112


and


113


of the start axis numbers of the graphic programming work memory


4


by the number corresponding to the number of the start axes (step S


204


). Then, the locating-start-point-position-information storage area


127


and the locating-end-point-position-information storage area


122


of the start axis numbers are initialized (step S


205


).




Then, display on the window is performed in accordance with information above. When the number h of the start axes is one, the operation proceeds to step S


207


in which one-dimensional graph display on only the X-coordinate is performed. When the number h of the start axes is two or more, the operation proceeds to step S


214


in which two-dimensional graph display on the X- and Y-coordinates is performed (step S


206


).




When one-dimensional graph is used, a button of the start axis number n is displayed on the X-coordinate-axis-number selection button


134




a


. The Y-coordinate-axis-number selection button


134




b


is deleted (step S


207


). The start axis number n set in step S


202


is stored in the X-coordinate-axis-number storage area


125


of the window-structure-information storage area


102


. “None” is stored in the Y-coordinate-axis-number storage area


126


(step S


208


). Display of the coordinate-graph making/display area


136


is performed by the one dimensional manner in which only the X coordinate is displayed. Also only X coordinates of a scroll bar


138


and a scale button


139


are displayed (step S


209


).




In accordance with information in the position-control-unit reading area


111




a


of the start axis number n, any one of [um], [inch], [degree] and [PLS] is displayed on the position-control-unit display area


135




a


of the of the X coordinate (step S


210


). In accordance with information in the upper- and lower-stroke-limits storage area of the start axis number n


112




a


and


113




a


, figures are displayed on the upper- and lower-stroke-limit display areas


140




a


and


141




a


of the X-coordinate-setting-information value display area


137




a


. Moreover, line display


152




a


and


153




a


on the coordinate graph is performed (step S


211


). In accordance with locating-start-point position information


127




a


and locating-end-point-position-information storage area


122


of the start axis number n, figures are displayed on the point-position display areas


142




a


and


143




a


of the X-coordinate-setting-information value display area


137




a


(step S


212


) in such a manner that location start point (×)


150


and location end point (•)


151


are displayed on the X coordinate (step S


213


). Thus, display of the initial window of the one dimensional graph is completed.




When a two-dimensional graph is displayed, each of buttons of the start axis numbers set to the X-coordinate-axis-number selection button


134




a


and the Y-coordinate-axis-number selection button


134




b


is displayed (step S


214


). When axis numbers nx and ny of the X- and Y-coordinates are selected by the above-mentioned buttons (step S


215


), nx and ny are stored in the X-coordinate-axis-number storage area


125


and the Y-coordinate-axis-number storage area


126


of the window-structure-information storage area


102


(step S


216


). The coordinate-graph making/display area


136


is displayed two-dimensionally on the X- and Y-coordinates. Also the scroll bar


138


and the scale button


139


are displayed on both X- and Y-coordinates (step S


217


).




In accordance with the position control unit


111


, the upper stroke limit


112


, the lower stroke limit


113


, the locating-start-point-position information


127


and location-end-point-position information


122


of the X coordinate axis number nx and Y coordinate axis number ny, display at


135




a


,


140




a


,


141




a


,


152




a


,


153




a


,


142




a


and


143




a


on the X coordinate and


135




b


,


140




b


,


141




b


,


152




b


,


153




b


,


142




b


and


143




b


on the Y coordinate is performed (steps S


218


, S


219


and S


220


). The location start point (×)


150


and location end point (•)


151


are displayed on the two-dimensional coordinates (step S


221


). Thus, display of the initial window of the two-dimensional graph is ended.




When the number h of the start axes is three or more, an arbitrary combination of the X coordinate number and the Y coordinate number can be selected. When the X coordinate number or the Y coordinate number is changed, the process in step S


216


and ensuing steps shown in

FIG. 15

are performed. Thus, display of the coordinate graph is switched.





FIG. 11

shows an initial window of the coordinate graph which is displayed when, for example, linear control of two axes has been set.

FIG. 16

shows an initial window of a coordinate graph which is displayed when linear control of one axis has been set.




Start axis number


82


and start axis number


83


stored, in steps S


201


and S


202


, in the graphic programming work memory


4


are outputted as number


2103


of axes to be interpolated and number


2104


of axes to be interpolated of the locating program code common portion when the setting completion button


160


has been selected.




The above-mentioned location programming apparatus is structured in such a manner that the operation permissible range of an axis is previously displayed on a graph when a required position is set. When a plurality of axes are interpolation-controlled, the operation at a position with respect to a certain axis can be set. Therefore, the relationship among the axes can easily be understood.




The location programming apparatus according to the present invention is able to generate a locating program by simply setting a locus on a coordinate graph.




Moreover, a locus operation of other axes with respect to a reference axis can be set when a plurality of axes are interpolation-controlled. Thus, the locus operation can easily be recognized.




3. Locating Program for Linear Control by Using Coordinate Graph




The operation for performing locating programming for linear control by using a coordinate graph will now be described with reference to from

FIGS. 17

to


19


.

FIG. 17

shows an example of a window which is displayed when linear control of two axes is performed. Reference numeral


154


represents a pointer for arbitrarily moving a pointer. When the mouse cursor is moved to a required point, the cursor is formed into an arrow cursor facing up, down, right and left as illustrated. When a dragging operation is performed, the cursor is able to freely move in the coordinate-graph making/display area


136


. The point at which the mouse has been released is a decided point. Reference numeral


155




a


represents a cursor bar for moving the point in the direction of the X coordinate and reference numeral


155




b


represents a cursor bar for moving the point in the direction of the Y coordinate. The cursor bars are always displayed for the set point. When the mouse cursor is moved onto the cursor bar, arrow cursors


156




a


and


156




b


permitted to be moved in the directions as illustrated are displayed. When a dragging operation is performed, the point is moved together with the cursor bar. The point at which the mouse dragging has been suspended is the decided position. Reference numeral


157


represents a locus from a location start point


150


to a location end point


151


when linear locating is performed.




The operation which is performed when the point is changed will now be described with reference to a flow chart shown in FIG.


18


. The location start point


150


and the location end point


151


are located at the initial positions in the coordinate-graph making/display area


136


because of the initial window display. When the locating end point is changed (step S


300


), the present location end point (•) is dragged with the mouse to display the movable pointer


154


which is moved to an arbitrary position on the coordinate graph (step S


301


). When the location end point is determined (step S


302


), mouse dragging is suspended (step S


303


). Then, the operation proceeds to step S


304


. When the location end point is not changed in step S


300


, the operation proceeds to step S


304


. When the location start point is changed (step S


304


), the present location start point (×) is dragged by the mouse so that the movable pointer


154


is displayed and moved to an arbitrary position on the coordinate graph (step S


305


). After the location start point has been determined (step S


306


), mouse dragging is suspended (step S


307


). Then, the operation proceeds to step S


308


. When the location start point is not changed in step S


304


, the operation proceeds to step S


308


. When the point is changed, the operation returns to step S


300


. When change has been completed (step S


308


), the setting completion button


160


is selected (step S


309


). Thus, the operation is ended.




The operation which is performed when the point is changed will now be described with reference to a flow chart shown in FIG.


19


. When the location end point


151


is being dragged with the mouse (step S


320


), the location end point (•) is moved to follow the movable pointer


154


. Moreover, also the locus


157


for the linear location and the cursor bars


155




a


and


155




b


are changed (step S


321


). Position information of the X-coordinate axis number nx and that of Y-coordinate axis number ny corresponding to the point (•) on the coordinate graph are calculated so as to be stored in the locating-end-point-position-information storage area


122


of the start axis numbers nx and ny (step S


322


). Thus, the display of the end-point-position display areas


143




a


and


143




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


323


). The processes in steps S


321


to S


323


are performed until mouse dragging is suspended. When the mouse dragging is suspended, the operation proceeds to step S


325


(step S


324


). If the location end point


151


is not being dragged with the mouse in step S


320


, the operation proceeds to step S


325


.




When the location start point


150


is being dragged with the mouse (step S


325


), the location start point (×) is moved to follow the movable pointer


154


. Moreover, the locus


157


and the cursor bars


155




a


and


155




b


are changed (step S


326


). Position information of X-coordinate axis number nx and that of Y-coordinate axis number ny corresponding to the point (×) on the coordinate graph are calculated so as to be stored in the locating-start-point-position-information storage area


127


of the start axis numbers nx and ny (step S


327


). Thus, display on the start-point-position display areas


142




a


and


142




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


328


). The processes in steps S


326


to S


328


are performed until mouse dragging is suspended. When mouse dragging is suspended, the operation proceeds to step S


330


(step S


329


). If the location start point


150


is not being dragged with the mouse in step S


325


, the operation proceeds to step S


330


.




When the locating control type is linear location


131




a


, no data is stored in the location-control-type corresponding information storage area


123


of the graphic programming work memory


4


.




The operation returns to step S


320


until the setting completion button


160


is selected. When the setting completion button


160


is selected (step S


330


), location-end-point-position information


122


of the start axis number of coordinate graph output information is outputted as required-position data


2201


of the start axis number of the linear control locating program code. Then, the operation is ended (step S


331


).




The linear control of two axes is performed as described above. When three axes are linear-controlled, two pages of two-dimensional graphs are made by combining the start axis numbers of the X coordinate and Y coordinate. When, for example, first, second and third axes are linear-controlled, two pages are made which include a two-dimensional graph of the first and second axes and that of the first and third axes.




When four axes are linear-interpolated, two or three pages are made to complete the setting operation. When, for example, first, second, third and fourth axes are linear-interpolated, two pages are made which include a two-dimensional graph of the first and second axes and that of the third and fourth axes. As an alternative to this, three pages are made which include a two-dimensional graph of the first and second axes, that of the first and third axes and that of the first and fourth axes.




The above-mentioned location programming apparatus enables required position data to easily be set and changed. Also change of the locus operation caused from the change can simultaneously be confirmed.




The above-mentioned location programming apparatus enables a locating program for the linear control to easily be set and changed by using a locus graph.




4. Locating programming for Passing-Point-Instructed Circular Interpolation Using Coordinate Graph




The operation for performing locating programming for the passing-point-instructed circular interpolation by using a coordinate graph will now be described with reference to

FIGS. 20

to


23


.

FIG. 20

shows an example of a window which is displayed when the passing-point-instructed circular interpolation is performed. Reference numeral


500


represents a circular-interpolation passing point which is one instructed passing point during the circular interpolation. When a dragging operation with the mouse is performed, the movable pointer


154


is displayed on the circular-interpolation passing point


500


. Moreover, the circular-interpolation passing point


500


is able to freely moved in the coordinate-graph making/display area


136


. The point at which dragging has been suspended is the decided position. Reference numeral


502




a


and


502




b


represent circular-interpolation-passing-point-position display areas on which X- and Y-coordinates of the circular-interpolation passing point


500


are displayed with figures. Reference numeral


503


represents a locus formed from the location start point


150


to pass through the circular-interpolation passing point


500


so as to reach the location end point


151


, the locus


503


being formed in the circular interpolation.





FIG. 23

shows the location-control-type corresponding information storage area


123


of the graphic programming work memory


4


which is, when locating programming is performed for the passing-point-instructed circular interpolation, composed of the circular-interpolation radius


550


, circular-interpolation-central-point-position-information storage areas


551




a


and


551




b


of the start axis numbers, circular-interpolation-passing-point-position-information storage areas


552




a


and


552




b


of the start axis numbers and a circular-interpolation-type-setting-range-information storage area


558


.




The operation for setting and changing the circular-interpolation passing point


500


will now be described with reference to a flow chart shown in FIG.


21


. The location start point


150


and the location end point


151


are positioned at the initial positions in the coordinate-graph making/display area


136


on the initial window. When dragging operation is performed with the mouse, movement of each point to an arbitrary position is permitted. To display the circular-interpolation passing point


500


, the mouse cursor is moved to an arbitrary position in the coordinate-graph making/display area


136


. Then, the left side of the mouse is clicked so that location to the initial position is performed (step S


2700


). When the circular-interpolation passing point is changed (step S


2701


), the present circular-interpolation passing point (O) is moved to an arbitrary position on the coordinate graph with a movable pointer


154


displayed by dragging the mouse (step S


2702


). When the circular-interpolation passing point has been determined (step S


2703


), mouse dragging is suspended (step S


2704


). Then, the operation proceeds to step S


2705


. When the circular-interpolation passing point is not changed in step S


2701


, the operation proceeds to step S


2705


. When the circular-interpolation passing point is changed, the operation returns to step S


2701


. When the change has been completed (step S


2705


), the setting completion button


160


is selected (step S


2706


). Thus, the operation is ended.




The operation for setting and changing the circular-interpolation passing point


500


will now be described with reference to a flow chart shown in FIG.


22


. When the left side of the mouse has been clicked on the coordinate-graph making/display area


136


(step S


2710


), the circular-interpolation passing point


500


(O) is displayed at the present position of the mouse pointer. Moreover, cursor bars


155




a


and


155




b


corresponding to the point (O) on the coordinate graph are displayed (step S


2711


). Then, position information of X-coordinate axis number nx and that of Y-coordinate axis number ny corresponding to the point (O) on the coordinate graph are calculated so as to be stored in the circular-interpolation-passing-point-position-information storage areas


552




a


and


552




b


of the start axis numbers nx and ny (step S


2712


). Moreover, circular-interpolation-passing-point-position display areas


502




a


and


502




b


are displayed on the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored so that position information is displayed with figures (step S


2713


). In accordance with information in the location start point, location end point and circular-interpolation passing point storage areas


127




a


,


127




b


,


122




a


,


122




b


,


552




a


and


552




b


, position information of the coordinates of the central point operation a circular arc which passes through the three points is calculated so as to be stored in the circular-interpolation-central-point-position-information storage areas


551




a


and


551




b


of the start axis numbers nx and ny in step S


2714


. Then, the circular-interpolation radius is calculated in accordance with information in the location start point and circular-interpolation-central-point position information storage areas


127




a


,


127




b


,


551




a


and


551




b


so as to be stored in the circular-interpolation radius


550


in step S


2715


. In accordance with information in the circular-interpolation-radius, location start point and circular-interpolation-central-point position information storage areas


550


,


127




a


,


127




b


,


122




a


,


122




b


,


551




a


and


551




b


, the locus


503


for the linear locating control is performed is displayed in step S


2716


.




When the circular-interpolation passing point (O)


500


is being dragged with the mouse (step S


2717


), the circular-interpolation passing point (O) is moved to follow the movable pointer


154


. Also the cursor bars


155




a


and


155




b


are changed to follow the movable pointer


154


(step S


2718


). Position information of the X-coordinate axis number nx and Y-coordinate axis number ny corresponding to the point (O) on the coordinate graph is calculated so as to be stored in the circular-interpolation-passing-point-position-information storage areas


552




a


and


552




b


of the start axis numbers nx and ny (step S


2719


). Thus, displayed figures on the circular-interpolation-passing-point-position display areas


502




a


and


502




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored are updated (step S


2720


). Then, in accordance with information in the location start point, location end point and circular-interpolation passing point storage areas


127




a


,


127




b


,


122




a


,


122




b


,


552




a


and


552




b


, position information of the coordinate of the central point of a circular arc which passes through three points is calculated so as to be stored in the circular-interpolation-central-point-position-information storage areas


551




a


and


551




b


of the start axis numbers nx and ny in step S


2721


. Then, the circular-interpolation-radius is calculated in accordance with information in the location start point and circular-interpolation-central-point position information storage areas


127




a


,


127




b


,


551




a


and


551




b


so as to be stored in the circular-interpolation radius


550


in step S


2722


. In accordance with information in the circular-interpolation-radius, location start point and circular-interpolation-central-point position information storage areas


550


,


127




a


,


127




b


,


122




a


,


122




b


,


551




a


and


551




b


, the locus


503


for the circular interpolation is updated in step S


2723


. The processes in steps S


2718


to S


2723


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


2725


(step S


2724


). If the circular-interpolation passing point


500


is not being dragged with the mouse in step S


2717


, the operation proceeds to step S


2725


.




The operation returns to step S


2717


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


2725


), position information in the location-end-point-position-information storage areas


122




a


and


122




b


of the start axis numbers stored in the graphic programming work memory


4


is outputted as required position data


2201




a


and


2201




b


of the start axis numbers of the passing-point-instructed circular interpolation locating program code (step S


2726


). Moreover, position information in the circular-interpolation-passing-point-position-information storage areas


552




a


and


552




b


of the start axis numbers is outputted as passing-point position data


2300




a


and


2300




b


of the start axis numbers of the passing-point-instructed circular interpolation locating program code (step S


2727


).




The operation for setting and changing the circular-interpolation passing point


500


is performed as described above. Also the location start point


150


and the location end point


151


can arbitrarily be changed by the above-mentioned operation until the setting completion button


160


is selected.




The above-mentioned location programming apparatus enables the locating program for the passing-point-instructed circular interpolation control to easily be set and changed by using a locus graph.




5. Locating programming for Radius-Instructed Circular Interpolation by Using Coordinate Graph




The operation for locating programming for radius-instructed circular interpolation by using a coordinate graph will now be described with reference to

FIGS. 24

to


27


.

FIG. 24

shows an example of a window which is displayed when radius-instructed circular interpolation is performed. An alternate long and short dash line and symbols A to G are auxiliary lines and auxiliary symbols for description which are not displayed on the window. Straight line AB is a is a straight line connecting the location start point


150


and the location end point


151


to each other. Straight line CD is an extension of the straight line AB to divide the coordinate-graph making/display area


136


into region E and region F. Circle G is a circle, the diameter of which is the straight line AB. Referring to

FIG. 24

, reference numeral


505


represents a circular-arc-radius-instructing point for instructing the circular interpolation radius with the position of a midpoint of a circular arc which connects the location start point


150


and the location end point


151


to each other. The circular-arc-radius-instructing point


505


is displayed at the initial position of the initial window. When dragging operation with the mouse is performed, the movable pointer


154


is displayed. When the circular-arc-radius-instructing point


505


is moved on a perpendicular bisector of the straight line AB, the radius of the circular arc can be changed. When dragging is suspended, the radius of the circular arc is determined. Reference numeral


506


represents a graph of a radius of a circular arc, the graph connecting the central point of the circular arc and the circular-arc-radius-instructing point


505


to each other so as to graphically indicate the radius of the circular arc. Reference numeral


507


represents a circular-arc-radius display area for displaying the radius of the circular arc with figure.





FIG. 27

shows the location-control-type corresponding information storage area


123


of the graphic programming work memory


4


. When the locating programming for the radius-instructed circular interpolation is performed, the location-control-type corresponding information storage area


123


is composed of the circular-interpolation radius


550


, the circular-interpolation-central-point-position-information storage areas


551




a


and


551




b


of the start axis numbers, a passage-information-1-storage area


555


for storing information whether the rotational direction of the circular arc is clockwise or counterclockwise, a passage-information-2-storage area


556


for storing information whether the center angle of the circular arc is not smaller than 180 degrees or smaller than


180


degrees, radius-instructed-point-position-information storage areas


557




a


and


557




b


and the circular-interpolation-type-setting-range-information storage area


558


.




The operation for changing setting of the radius-instructed circular arc will now be described with reference to a flow chart shown in FIG.


25


. The location start point


150


and the location end point


151


are located at the initial positions in the coordinate-graph making/display area


136


because of the display of the initial window. When the mouse dragging operation is performed, movement to arbitrary position of each point is permitted. Also the circular-arc-radius-instructing point (O)


505


is disposed on the initial position on the perpendicular bisector of the straight line AB. When setting of the radius-instructed circular arc is changed (step S


2800


), the present circular-arc-radius-instructing point (O)


505


is dragged with the mouse so that the movable pointer


154


is displayed and movement on the perpendicular bisector of the straight line AB is performed (step S


2801


). When setting is not changed in step S


2800


, the operation proceeds to step S


2811


. When the rotational direction of the circular arc is made to be clockwise in step S


2802


, the circular-arc-radius-instructing point (O)


505


is moved to the region E (step S


2803


). When the direction is made to be counterclockwise, the circular-arc-radius-instructing point (O)


505


is moved to the region F (step S


2804


). Then, the operation proceeds to step S


2805


. When the center angle of the circular arc is made to be not smaller than


180


degrees in step S


2805


, the circular-arc-radius-instructing point (O)


505


is moved to the outside of the circle G (step S


2806


). If the center angle is made to be smaller than 180 degrees, the circular-arc-radius-instructing point (O)


505


is moved into the circle G (step S


2807


). The operation proceeds to step S


2808


so that the circular-arc-radius-instructing point (O)


505


is moved in each region to change the radius. When change of the radius has been completed (step S


2809


), mouse dragging is suspended (step S


2810


). If the change is not changed, step S


2808


is repeated. When setting of the radius-instructed circular arc is changed, the operation returns to step S


2800


. When the change has been completed (step S


2811


), the setting completion button


160


is selected (step S


2812


). Thus, the operation is ended.




The operation for changing setting of the radius-instructed circular arc will now be described with reference to a flow chart shown in FIG.


26


. The initial operation is performed in such a manner that the radius-instructed-point-position-information storage areas


557




a


and


557




b


of the X-coordinate axis number nx and Y-coordinate axis number ny, the circular-interpolation-central-point-position-information storage areas


551




a


and


551




b


, the circular-interpolation radius


550


, the passage-information-1-storage area


555


and the passage-information-2-storage area


556


are initialized (step S


2820


). In accordance with information in the above-mentioned storage areas, the circular-arc-radius-instructing point (O)


505


, the circular-arc-radius graph


506


and the circular-arc-radius-figure display area


507


are displayed in step S


2821


. In step S


2822


the locus


503


for the circular interpolation is displayed.




When the circular-arc-radius-instructing point (O)


505


is being dragged by the mouse (step S


2823


), the circular-arc-radius-instructing point (O) is moved on the perpendicular bisector of the straight line AB following the movable pointer


154


. Moreover, position information of the X-coordinate axis number nx and that of Y-coordinate axis number ny corresponding to the position of the point (O) on the coordinate graph are calculated so as to be stored in the radius-instructed-point-position-information storage areas


557




a


and


557




b


of the start axis numbers nx and ny (step S


2824


). Then, in accordance with information in the location start point, location end point and circular-arc-radius-instructed-point position information storage areas


127




a


,


127




b


,


122




a


,


122




b


,


557




a


and


557




b


, position information of the coordinate of the central point of a circular arc which passes through three points is calculated so as to be stored in the circular-interpolation-central-point-position-information storage areas


551




a


and


551




b


of the start axis numbers nx and ny in step S


2825


. In accordance with information in the location start point and circular-interpolation-central-point position information storage areas


127




a


,


127




b


,


551




a


and


551




b


, the circular interpolation radius is calculated in step S


2826


so as to be stored in the circular-interpolation radius


550


in step S


2826


. In accordance with in the circular-arc-radius-instructed-point and circular-interpolation-central-point position information storage areas


557




a


,


557




b


,


551




a


and


551




b


, the circular-radius graph


506


and the circular-arc-radius-figure display area


507


are updated in step S


2827


. In accordance with information in the circular-interpolation-radius, location start point, location end point and circular-interpolation-central-point position information storage areas


550


,


127




a


,


127




b


,


122




a


,


122




b


,


551




a


and


551




b


, the locus


503


for the circular interpolation is updated in step S


2828


. The processes in steps S


2824


to S


2828


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


2830


(step S


2829


). If the circular-arc-radius-instructing point (O)


505


is not being dragged by the mouse in step S


2823


, the operation proceeds to step S


2836


.




When the circular-arc-radius-instructing point (O)


505


is in the region E in step S


2830


, “clockwise” is stored in the passage-information-1-storage area


555


(step S


2831


). When the circular-arc-radius-instructing point (O)


505


is in the region F, “counterclockwise” is stored (step S


2832


). Then, the operation proceeds to step S


2833


. If the circular-arc-radius-instructing point (O)


505


is on the inside of the circle G in step S


2833


, “smaller than 180 degrees” is stored in the passage-information-2-storage area


556


(step S


2834


). When the circular-arc-radius-instructing point (O)


505


is on the circle G or outside the circle G, “not smaller than 180 degrees” is stored (step S


2835


). Then, operation proceeds to step S


2836


.




The operation returns to step S


2823


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


2836


), position in f in the location-end-point-position-information storage areas


122




a


and


122




b


of the start axis numbers stored in the graphic programming work memory


4


is outputted as required position data


2201




a


and


2201




b


of the start axis numbers of the radius-instructed circular interpolation locating program code (step S


2837


). Then, information in the circular-interpolation radius storage area, passage-information-1-storage area and passage-information-2-storage area


550


,


555


and


556


is outputted as data


2400


,


2401


and


2402


of circular interpolation radius, passage information


1


and passage information


2


(step S


2838


).




The operation for setting and changing the circular-arc-radius-instructing point


505


is performed as described above. Also the location start point


150


and the location end point


151


can arbitrarily be changed by the above-mentioned operation until the setting completion button


160


is selected.




The above-mentioned location programming apparatus enables the locating program for the radius-instructed circular interpolation control to easily be set and changed by using the locus graph.




6. Locating Programming for Central-Point-Instructed Circular Interpolation Using Coordinate Graph




The operation for performing locating programming for the central-point-instructed circular interpolation by using a coordinate graph will now be described with reference to

FIGS. 28

to


31


.

FIG. 28

shows an example of a window which is displayed when central-point-instructed circular interpolation is performed. Reference numeral


510


circular interpolation central point. When mouse dragging is performed, the movable pointer


154


is displayed. Moreover, the circular interpolation central point


510


is able to freely move in the coordinate-graph making/display area


136


. The point at which dragging has been suspended is the decided point. Reference numerals


511




a


and


511




b


represent circular interpolation central-point-position display areas


511




a


and


511




b


in which the X- and Y-coordinates of the circular interpolation central point


510


are displayed with figures. Reference numeral


512


represents a rotational-direction-instructing radius graph for connecting the location start point


150


and the circular interpolation central point


510


to each other. Reference numeral


513


represents an arrow cursor for instructing the rotational direction. When the mouse cursor has been moved onto the circular interpolation central point


510


, an arrow facing opposite to the locus


503


for the circular interpolation is displayed. When dragging in the direction indicated by the arrow is performed, the rotational direction is changed. When the central-point-instructed circular interpolation is performed, the location end point


151


is not always set on a circular arc calculated from the circular interpolation central point


510


and the location start point


150


. Therefore, the locus


503


for the circular interpolation is subjected to error correction by a spiral correction method in such a manner that the locus


503


for the circular interpolation pass through the location end point


151


.





FIG. 31

shows the location-control-type corresponding information storage area


123


of the graphic programming work memory


4


. When locating programming for the central-point-instructed circular interpolation is performed, the location-control-type corresponding information storage area


123


is composed of the circular-interpolation radius


550


, the circular-interpolation-central-point-position-information storage areas


551




a


and


551




b


of the start axis numbers, the passage-information-1-storage area


555


for storing information indicating whether the rotational direction of the circular arc is clockwise or counterclockwise and the circular-interpolation-type-setting-range-information storage area


558


.




The operation for setting and changing the central-point-instructed circular arc will now be described with reference to a flow chart shown in FIG.


29


. The location start point


150


and the location end point


151


are located at the initial positions in the coordinate-graph making/display area


136


because of display of the initial window. Each point can be moved to an arbitrary position when the mouse dragging operation has been performed. To display the circular interpolation central point


510


, the mouse cursor is moved to an arbitrary position in the coordinate-graph making/display area


136


. Then, the left side of the mouse is clicked so that the circular interpolation central point


510


is position at the initial position (step S


2900


). When the circular-interpolation central point is changed (step S


2901


), the present circular-interpolation central point (O) is dragged by the mouse. Thus, the movable pointer


154


is displayed so as to be moved to an arbitrary position on the coordinate graph (step S


2902


). When the position of the circular-interpolation central point has been determined (step S


2903


), mouse dragging is suspended (step S


2904


). Then, the operation proceeds to step S


2905


. When the circular-interpolation central point is not changed in step S


2901


, the operation proceeds to step S


2905


. When the rotational direction is changed (step S


2905


), the mouse pointer is moved onto the rotational-direction-instructing radius graph


512


so that the rotational-direction-instructing radius graph


512


is displayed. Then, mouse dragging is performed in the direction indicated by the arrow so that the rotational direction is changed (step S


2906


). When the rotational direction is not changed in step S


2905


, the operation proceeds to step S


2907


. When the central-point-instructed circular arc is changed, the operation returns to step S


2901


. When the change has been completed (step S


2907


), the setting completion button


160


is selected (step S


2708


). Thus, the operation is ended.




The operation for setting and changing the central-point-instructed circular arc will now be described with reference to a flow chart shown in FIG.


30


. When the left side of the mouse has been clicked on the coordinate-graph making/display area


136


(step S


2910


), the circular interpolation central point (O)


510


is displayed at the present position of the mouse pointer. Moreover, the cursor bars


155




a


and


155




b


corresponding to the point (O) on the coordinate graph are displayed (step S


2911


). Moreover, position information of the X-coordinate axis number nx and Y-coordinate axis number ny corresponding to the point (O) on the coordinate graph is calculated so as to be stored in the circular-interpolation-central-point-position-information storage areas


551




a


and


551




b


of the start axis numbers nx and ny (step S


2912


). Moreover, the initial value of the rotational direction is stored in the passage-information-1-storage area (step S


2912


). Moreover, the circular interpolation central-point-position display areas


511




a


and


511




b


are displayed in the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored so that position information is displayed with figures (step S


2913


). In accordance with information in the areas


127




a


,


127




b


,


551




a


and


551




b


for storing information of the positions of the location start point and the circular interpolation central point, the circular interpolation radius is calculated in step S


2914


so as to be stored in the circular-interpolation radius


550


. Moreover, the rotational-direction-instructing radius graph


512


is displayed (step S


2915


). In accordance with information in the areas


550


,


127




a


,


127




b


,


122




a


,


122




b


,


551




a


,


551




b


and


555


for storing information of the positions of the circular interpolation radius, the location start point, the location end point, the circular interpolation central point and passage information


1


, the locus


503


for the circular interpolation control is displayed in step S


2916


.




When the circular interpolation central point (O)


510


is being dragged with the mouse (step S


2917


), the circular interpolation central point (O) is moved to follow the movable pointer


154


. Moreover, the cursor bars


155




a


and


155




b


are changed to follow the movable pointer


154


(step S


2918


). Then, position information of the X-coordinate axis number nx and Y-coordinate axis number ny corresponding to the point (O) on the coordinate graph is calculated so as to be stored in the circular-interpolation-central-point-position-information storage areas


551




a


and


551




b


of the start axis numbers nx and ny (step S


2919


). Thus, the displayed figures in the circular-interpolation-passing-point-position display areas


502




a


and


502




b


of the areas


137




a


and


137




b


for storing the number of set information on X- and Y-coordinates are stored is updated (step S


2920


). In accordance with information in the areas


127




a


,


127




b


,


551




a


and


551




b


for storing position information of the location start point and the circular interpolation central point, the circular interpolation radius is calculated so as to be stored in the circular-interpolation radius


550


in step S


2921


. Moreover, the rotational-direction-instructing radius graph


512


is updated (step S


2922


). In accordance with information in the areas


550


,


127




a


,


127




b


,


122




a


,


122




b


,


551




a


,


551




b


and


555


for storing position information of the circular interpolation radius, the location start point, the location end point, the circular interpolation central point and passage information


1


, the locus


503


is updated for the circular interpolation in step S


2923


. The processes in steps S


2918


to S


2923


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


2925


(step S


2924


). When the circular interpolation central point (O)


510


is not being dragged in step S


2917


, the operation proceeds to step S


2925


.




When the rotational-direction-instructing radius graph


512


has been dragged toward the rotational-direction-instructing arrow cursor


513


(step S


2925


), the operation proceeds to step S


2926


. When present information in the passage-information-1-storage area


555


is “clockwise”, “counterclockwise” is stored in the passage-information-1-storage area


555


(step S


2927


). When present information is “counterclockwise”, “clockwise” is stored (step S


2928


). In accordance with information in the areas


550


,


127




a


,


127




b


,


122




a


,


122




b


,


551




a


,


551




b


and


555


for storing position information of the circular interpolation radius, the location start point, the location end point, the circular interpolation central point and passage information


1


, the locus


503


for the circular interpolation control is updated in step S


2929


. When the rotational-direction-instructing radius graph


512


is not being dragged to toward the rotational-direction-instructing arrow cursor


513


in step S


2925


, the operation proceeds to step S


2930


.




The operation returns to step S


2917


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


2930


), position information in the location-end-point-position-information storage areas


122




a


and


122




b


of the start axis numbers stored in the graphic programming work memory


4


are outputted as required position data


2201




a


and


2201




b


of the start axis numbers of the central-point-instructed circular interpolation program code (step S


2931


). Position information in the circular-interpolation-passing-point-position-information storage areas


552




a


and


552




b


of the start axis numbers is outputted as central-point data


2500




a


and


2500




b


of the start axis numbers of the central-point-instructed circular interpolation circular interpolation locating program code (step S


2932


). Moreover, information of the rotational direction in the passage-information-1-storage area


555


is outputted as data


2401


of passage information


1


of the central-point-instructed circular interpolation circular interpolation locating program code (step S


2933


).




The setting and changed of the circular interpolation central point


510


and the operation of the rotational direction are performed as described above. Also the location start point


150


and the location end point


151


can arbitrarily be changed by the above-mentioned operation until the setting completion button


160


is selected.




The above-mentioned location programming apparatus enables the locating program for the central-point-instructed circular interpolation circular interpolation control to easily be set and changed by using a locus graph.




7. Locating Programming for Locus Control Using Coordinate Graph




The operation for performing locating programming for the locus control by using a coordinate graph will now be described with reference to

FIGS. 32

to


44


.

FIG. 32

shows an example of a window which is displayed when two axes are locus-controlled. Reference numeral


158


represents passing-point setting/moving pointer,


159




p




x


represents a passing point which is being set additionally,


151




p




1


,


151




p




2


and


151




p




m


represent set passing points P


1


, P


2


and P


m


, and


142




a




x


,


142




a




1


,


142




a




2


,


142




a




m


,


161




b




x


,


161




b




1


,


161




b




2


and


161




b




m


represent areas for displaying X- and Y-coordinates of the passing points with figures. Reference numeral


163


represents a selected region. A method of passing through the region is selected from straight line


164




a


, passing-point-instructed circular interpolation


164




b


, radius-instructed circular interpolation


164




c


and central-point-instructed circular interpolation


164




d


by using a passing method selection button


164


. Reference numeral


162


represents a locus connecting the location start point


150


, passing points


151




p




1


,


151




p




2


and


151




p




m


and the location end point by a set passing method.





FIG. 33

shows a locating program information storage area


101


of the coordinate-graph-output-information storage area


71


when the locating control type is the locus control. Reference numeral


120


represents an area for storing the set number of passing point (M)+1 (end point). Reference numeral


168


P


1


represents position control information of a region (region


1


) from the location start point


150


to a first passing point P


1


,


168




p




2


represents position control information of a region (region


2


) from the first passing point P


1


to the second point P


2


and


168


represents position control information of a region (region M) from the M−1th passing point P


M−1


to p


M


th point p


M


and


168




p




M


represents a position-control-information storage area of a position-control-information storage area of a region (region M+1) from the M-th passing point P


M


to the location end point


151


. The regions


1


to M (1≦m≦M) are composed of passing-point-position-information storage areas


169




a




m


,


169




b




m


and


169




c




m


, the position-instruction-method storage


165




p




m


, the passing-method storage area


166




p




m


and the passing-method-corresponding-information storage area


167




p




m


. The region M+1 is composed of the position-instruction-method storage area


165


, the passing-method storage area


166


and the passing-method-corresponding-information storage area


167


.





FIG. 34

shows the structures of the passing-method-corresponding-information storage areas


167




p




m


and


167


for use when the passing method is, in the structure shown in

FIG. 33

, the passing-point-instructed circular interpolation. The passing-method-corresponding-information storage areas


167




p




m


and


167


are composed of the circular-interpolation-start-axis-number storage areas


170




a


and


170




b


and an area


171


for storing position information when the passing method is the passing-point-instructed circular interpolation. The structure of the area


171


for storing position information when the passing method is the passing-point-instructed circular interpolation is the same as that shown in FIG.


23


.





FIG. 35

shows the structures of the passing-method-corresponding-information storage areas


167




p




m


and


167


when the passing method shown in

FIG. 33

is the passing-point-instructed circular interpolation, the passing-method-corresponding-information storage areas


167




p




m


and


167


being composed of the circular-interpolation-start-axis-number storage areas


170




a


and


170




b


and an area


172


for storing position information when the passing method is the radius-instructed circular interpolation. The structure of the area


172


for storing position information when the passing method is the radius-instructed circular interpolation is the same as that shown in FIG.


27


.





FIG. 36

shows the structures of the passing-method-corresponding-information storage areas


167




p




m


and


167


when the passing method shown in

FIG. 33

is the central-point-instructed circular interpolation. The passing-method-corresponding-information storage areas


167




p




m


and


167


are composed of the circular-interpolation-start-axis-number storage areas


170




a


and


170




b


and an area


173


for storing position information when the passing method is the central-point-instructed circular interpolation. The structure of the area


173


for storing position information when the passing method is the central-point-instructed circular interpolation is the same as that shown in FIG.


31


.





FIG. 37

shows window structure information of the coordinate-graph-output-information storage area


71


when passing point P


x


is being added. The window is composed of a position-instruction-method storage area


165




p




x


, a passing-method storage area


166




p




x


and passing-point-position-information storage areas


169




a




x


,


169




b




x


and


169




c




x


of the start axis numbers.




The operation for setting and changing the passing point and the passing method will now be described with reference to a flow chart shown in FIG.


38


. When the location start point


150


and the location end point


151


are changed (step S


400


), the operation described to perform the linear control is performed so that changes are performed (step S


401


). When a passing point is added (step S


402


), the mouse cursor is moved onto a locus in a region (a region between the location start point


150


and the location end point


151


in an initial state) to which the passing point is added so that the passing point setting/moving pointer


158


is displayed. Then, the mouse is dragged so as to move the passing point setting/moving pointer


158


to any one of arbitrary upper, lower, right and left position (step S


403


). When the position of the passing point has been determined (step S


404


), mouse dragging is suspended (step S


405


). Then, the operation proceeds to step S


406


. If no passing point is added in step S


402


, the operation proceeds to step S


406


.




When a method of passing between points is changed (step S


406


), the mouse cursor is moved to a locus in a region in which the passing method is changed. Then, the left side is clicked so that selection is performed (step S


407


). Then, a button is selected by the passing-method selection button


164


from straight line


164




a


, passing-point-instructed circular interpolation


164




b


, radius-instructed circular interpolation


164




c


and the central-point-instructed circular interpolation


164




d


(step S


408


). When the circular interpolation has been selected (step S


409


), required auxiliary setting (circular arc passing point, the radius, the central point and the like) is performed in accordance with the passing-point-instructed circular interpolation, the radius-instructed circular interpolation and the central-point-instructed circular interpolation (step S


410


). Then, the operation proceeds to step S


411


. If the passing method is not changed in step S


406


, the operation proceeds to step S


411


.




When the position of the set passing point is changed (step S


411


), the passing point (O)


159




p




m


which must be changed is dragged with the mouse so that the movable pointer


154


is displayed which is moved to an arbitrary position on the coordinate graph (step S


412


). When the position of the passing point has been determined (step S


413


), mouse dragging is suspended (step S


414


) and the operation proceeds to step S


415


. If auxiliary setting in the regions across the point, which must be changed, is changed when the position of the passing point is changed (step S


415


), change is performed in accordance with the passing-point-instructed circular interpolation, the radius-instructed circular interpolation and the central-point-instructed circular interpolation (step S


416


). Then, the operation proceeds to step S


417


. If the position of the passing point is not changed in step S


411


, the operation proceeds to step S


417


.




If the passing point and the passing method is set and changed, the operation returns to step S


400


. When all passing points have been set and when passing methods for all regions have been set, the setting completion button


160


is selected (step S


418


). Then, the operation is ended.




The operation for setting and changing the passing point and the passing method will now be described with reference to a flow chart shown in

FIGS. 39

to


44


. The process until the initial window of the coordinate graph is displayed is performed similarly to the above-mentioned coordinate graph. The area


120


for storing the number of set points in the graphic programming work memory


4


is initialized to “1”. Also the locating-start-point-position-information storage area


127


and the locating-end-point-position-information storage area


122


have been initialized.




In a state shown in

FIG. 39

, a passing-method storage area


166


for the region M+1 is initialized to “straight line” (step S


420


). Then, the operation proceeds to step S


421


. When the location end point


151


is being dragged with the mouse (step S


421


), the location end point (•) is moved to follow the movable pointer


154


. Moreover, also the cursor bars


155




a


and


155




b


are changed so that also the locus


162


in the region M+1 is changed by the passing method


166


set for the region M+1 (step S


422


). Position information of X-coordinate axis number nx and that of Y-coordinate axis number ny corresponding to the position of the point (•) on the coordinate graph are calculated so as to be stored in the locating-end-point-position-information storage area


122


of the start axis numbers nx and ny (step S


322


). Moreover, display in the end-point-position display areas


143




a


and


143




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


323


). The processes in steps S


422


to S


323


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


424


(step S


423


). If the location end point


151


is not being dragged with the mouse in step S


421


, the operation proceeds to step S


424


.




If the location start point


150


is being dragged with the mouse (step S


424


), the location start point (×) is moved to follow the movable pointer


154


. Also the cursor bars


155




a


and


155




b


are changed (step S


425


). If the passing point P


1


has been set (step S


426


), the locus


162


for the region


1


is changed by the passing method


166




p




1


(step S


427


). If setting is not performed, the locus


162


for the region M+1 (=region


1


) is changed by the passing method


166


(straight line) set for the region M+1 (step S


428


). Position information of the X-coordinate axis number nx and that of the Y-coordinate axis number ny corresponding to the position of the point (×) on the coordinate graph are calculated so as to be stored in the locating-start-point-position-information storage area


127


of the start axis numbers nx and ny (step S


327


). Thus, display on the start-point-position display areas


142




a


and


142




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


328


). The processes in steps S


425


to S


328


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


430


(step S


429


). If the location start point


150


is not being dragged with the mouse in step S


424


, the operation proceeds to step S


430


.




When the passing point P


m




159




p




m


is being dragged with the mouse (step S


430


), the passing point (O) is moved to follow the movable pointer


154


. Moreover, also the cursor bars


155




a


and


155




b


are changed (step S


431


). Thus, the locus


162


in the regions m and m+1 is changed by the passing methods


166




p




m


and


166




p




m+1


set for the regions m and m+1 (step S


432


). Position information of the X-coordinate axis number nx and that of the Y-coordinate axis number ny corresponding to the position of the point P


m


(O) on the coordinate graph are calculated so as to be stored in the areas corresponding to the nx and ny axes of the passing point position information storage areas


169




a




m


,


169




b




m


and


169




c




m


of the start axis numbers in the region m (step S


433


). Thus, display of the display areas


161




a




m


and


16




b




m


of the position of the passing point P


m


in the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored (step S


434


). The processes in steps S


431


to S


434


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


436


(step S


423


). If the passing point P


m


is not being dragged with the mouse in step S


430


, the operation proceeds to step S


436


.




When the locus in the region m is being dragged with the pointer for setting/moving the passing point (step S


436


), the process for adding the passing point shown in a flow chart shown in

FIG. 41

is performed (step S


437


). When dragging with the pointer for setting/moving the passing point is not being performed in step S


436


, the operation proceeds to step S


438


.




When the passing method selection button has been selected (step S


438


), the process for setting a passing method shown in a flow chart shown in

FIG. 42

is performed (step S


439


). If the button has not been selected, the operation proceeds to step S


440


.




When auxiliary setting is being changed in the region in which the passing method is the circular interpolation (step S


440


), the processes described in the passing-point-instructed circular interpolation, the radius-instructed circular interpolation and the central-point-instructed circular interpolation are performed (step S


441


).




The operation returns to step S


421


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


442


), locating program information of coordinate graph output information when the locus control has been set is outputted as position data of the linear control locating program code in accordance with a flow chart shown in

FIGS. 43 and 44

. Then, the operation is ended (step S


443


).




The operation for adding a passing point will now be described with reference to a flow chart shown in FIG.


41


. When a locus in a region m is dragged, the position-information storage area for the passing point which is being added is initialized. Position instruction method


165




p




m


for the present region m is stored in the position-instruction-method storage area


165




p




x


as an initial value, “straight line” is stored in the passing-method storage area


166




p




x


as an initial value and information of the dragging position is stored in the passing-point-position-information storage areas


169




a




x


,


169




b




x


and


169




c




x


of the start axis numbers as initial value (step S


450


). Then, the passing point P


x


(O) which is being added is moved to follow the passing point setting/moving pointer


158


. Moreover, the cursor bars


155




a


and


155




b


are displayed so that change is made (step S


451


). Thus, the area between the points P


m−1


and P


x


and that between the points P


x


and P


m


are connected to each other with a linear locus so as to be changed (step S


452


). Moreover, position information of the X-coordinate axis number nx and that of the Y-coordinate axis number ny corresponding to the position of the point P


x


on the coordinate graph are calculated so as to be stored in the areas of the areas


169




a




x


,


169




b




x


, and


169




c




x


for storing position information of a passing point of the start axis number which is being set (step S


453


). Thus, display on the areas


161




a




x


and


161




b




x


for displaying the position of the passing point P


x


in the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


454


). The processes in steps S


451


to S


454


are performed until mouse dragging is suspended. When the mouse dragging has been suspended, the operation proceeds to step S


456


(step S


455


) so that locating program information is updated.




Initially, the number M of passing points is made to be M+1, the value of the area


120


for storing the number of set points is increased by one (step S


456


). Position control information


168




pm


to


168




p




M


of the regions m to M before the point is added is made to be position control information


168




p




m+1


to


168




p




m


of the regions m+1 to M after the point has been added (step S


457


). Then, the passing-method storage area


166




p




m+1


of the region m+1 after the point has been added is initialized to “straight line” (step S


458


). Then, the contents of the area for storing information of the position of the passing point which is being added are stored in the position-control-information storage area


168




p




m


for the region m (step S


459


). Finally, passing point names P


m+1


to P


M+1


are substituted for P


m


to P


M


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored. Moreover, P


m


is substituted for P


x


(step S


460


). Thus, the process for adding a passing point is ended.




The operation which is performed when the passing method selection button has been selected will now be described with reference to a flow chart shown in FIG.


42


. If no region has been selected, no operation is performed and the process is ended (step S


470


). The passing-method storage area


166


or


166




p




m


of the region m (1≦m≦M+1) indicated with the selected region


163


is updated (step S


471


). When “straight line


164




a


” has been selected (step S


472


), display of the locus in the region m is modified with display of a straight line (step S


473


). If the locus is not the “straight line”, X-coordinate axis number nx and Y-coordinate axis number ny are stored in the areas


170




a


and


170




b


for storing circular interpolation axis numbers


1


and


2


of the area


167


or


167




p




m


for storing passing-method corresponding information for the region m (step S


474


). When auxiliary setting of the circular-arc passing point, radius and central point of the circular arc has been set in accordance with the passing point, radius and central-point instructed circular interpolation (step S


475


), the locus of the circular arc is displayed (step S


476


). Thus, the operation for selecting the passing method is ended.




The operation which is performed when the setting completion button has been selected will now be described with reference to a flow chart shown in

FIGS. 43 and 44

. A value −1(M) obtained by subtracting one from a value of the number


120


of the set points of coordinate graph output information is made to be the number


2607


of passing points of the locus control locating program code (step S


480


). Output is made from area


168




p




m


for storing position control information of the region m of coordinate graph output information to the region m


2608




p




m


of the locus control locating program code is performed for the region


1


to region M. Initially, information of the passing method


166




p




m


is made to be passing method


2602




p




m


(step S


481


). When the passing method is “straight line” (step S


482


), passing-point-position information


169




a




m


,


169




b




m


and


169




c




m


of the start axis numbers are made to be data


2610




a


,


2610




b


and


2610




c


of the start axis numbers of data


2603




p




m


corresponding to the passing method (step S


483


). When the passing method is not straight line, circular interpolation axis numbers


170




a


and


170




b


are made to be circular interpolation axis numbers


2611




a


and


2611




b


. Moreover, information of the axes corresponding to the circular interpolation axis numbers of passing-point-position information


169




a




m


,


169




b




m


and


169




c




m


of the start axis numbers is made to be required position data


2612




a


and


2612




b


of the circular interpolation axis numbers (step S


484


). When the passing method is the “passing-point-instructed circular interpolation” (step S


485


), passing-point-position data


2613




a


and


2613




b


of the circular interpolation axis number is outputted from position information


171


when the method is the passing-point-instructed circular interpolation (step S


486


). When the passing method is the “radius-instructed circular interpolation” (step S


487


), radius


2614


, data


2615


of passage information


1


and data


2616


of passage information


2


are outputted from position information


172


when the interpolation is the radius-instructed circular interpolation (step S


488


). When the passing method is the “central-point-instructed circular interpolation”, central-point-position data


2617




a


and


2617




b


and circular-interpolation-error-permissible range


2618


of the circular interpolation axis numbers are outputted from the position information


173


when the interpolation method is the central-point-instructed circular interpolation (step S


489


).




When the processes in steps


481


to


489


for all of the passing points (1≦m≦M) have been completed (step S


490


), a process for the region M+1 is similarly performed. Information of the passing method


166


is made to be passing method


2602


(step S


491


). When the passing method is the “straight line” (step S


492


), location-end-point-position information


122




a


,


122




b


and


122




c


of the start axis numbers is made to be required position data


2610




a


,


2610




b


and


2610




c


of data


2603


corresponding to the passing method (step S


493


). When the passing method is not the straight line method, circular interpolation axis numbers


170




a


and


170




b


are made to be circular interpolation axis numbers


2611




a


and


2611




b


. Moreover, information of the axes corresponding to circular interpolation axis numbers of location-end-point-position information


122




a


,


122




b


and


122




c


of the start axis numbers is made to be required position data


2612




a


and


2612




b


of the circular interpolation axis numbers (step S


494


). Moreover, the processes which are the same as those in steps S


485


to S


489


are performed, and then the operation which is performed when setting has been completed is ended.




The above-mentioned location programming apparatus enables the passing point to easily be set, changed and added when a plurality of passing points are instructed and the locus control is set. Moreover, the process of the change of the locus operation occurring due to change in the position of the passing point can simultaneously be confirmed.




The above-mentioned location programming apparatus enables a locating program for use when the locus control is performed to easily be set and changed by using a locus graph.




8. Locating Programming for Setting Position Instruction Method by Using Coordinate Graph




The operation for performing locating programming by setting a position instruction method by using a coordinate graph will now be described with reference to

FIGS. 45

to


49


.

FIG. 45

shows an example of a window for performing programming of linear interpolation of two axes by using an absolute coordinate graph in such a manner that the locating position is instructed with an absolute position.

FIG. 46

shows an example of a window for performing programming of linear interpolation of two axes by using a relative coordinate graph in such a manner that the locating position is instructed with a relative amount of movement from the locating start point. Referring to

FIGS. 45 and 46

, reference numeral


180


represents a position-instruction-method selection button for selecting either absolute-position instruction


180




a


or relative-movement-amount instruction


180




b


. When the initial window of the coordinate graph is displayed, an absolute position instruction is displayed. Reference numeral


157


represents a locus when the absolute position is instructed and


182


represents a locus when the relative amount of movement is instructed. A solid line and an alternate long and short dash line are used to display the corresponding instruction. Reference numeral


181


represents a reference point for a relative coordinate.





FIG. 47

shows the structure of a position-information storage area for each point of coordinate graph output information, the area being composed of an absolute-position-information storage area


183


and a relative-movement-amount storage area


184


. Foregoing information corresponds to each point position information in the locating-end-point-position-information storage area


122


and the location-control-type corresponding information storage area


123


of the start axis numbers shown in FIG.


13


and the locating-start-point-position-information storage area


127


of the start axis number shown in FIG.


14


.




The operation which is performed when the position-instruction-method selection button has been selected will now be described with reference to a flow chart shown in FIG.


48


. When the locating control type is linear control locating, passing-point-instructed circular interpolation, the radius-instructed circular interpolation or the central-point-instructed circular interpolation, “absolute position instruction” is stored in the position-location-method storage area


121


of the graphic programming work memory


4


(step S


500


). In accordance with the description in the coordinate graph, a an initial window of the coordinate graph is displayed (step S


501


).




When the relative-movement-amount instruction


180




b


is selected with the position-instruction-method selection button


180


and thus the position instruction method has been changed from the “absolute position instruction” to the “relative movement amount instruction” (step S


502


), “relative movement amount instruction” is stored in the position-location-method storage area


121


(step S


503


). Moreover, the reference point


181


is displayed at the position of the present location start point (×)


150


so that switch to the relative coordinate graph is performed (step S


504


). The relative movement amount is calculated from absolute position information of each point in accordance with equations


500


,


501


and


502


so as to be stored in the relative-movement-amount storage area


184


portion of the locating-start-point-position-information storage areas


127




a


,


127




b


and


127




c


of the start axis numbers, the location-end-point-position-information storage areas


122




a


,


122




b


and


122




c


, the location-end-point-position-information storage areas


122




a


,


122




b


and


122




c


and the location-control-type corresponding information storage area


123


(step S


505


).








Psi


(


n


)=0  Equation 500










Pei


(


n


)=


Pea


(


n


)−


Psa


(


n


)  Equation 501










Poi


(


n


)=


Poa


(


n


)−


Psa


(


n


)  Equation 502








(1


≦n≦h


)






Psi(n): location start point relative movement amount position information of start axis number n




Pei (n): location end point relative movement amount position information of start axis number n




Poi (n): circular interpolation auxiliary setting point relative movement amount position information of start axis number n




Psa (n): location start point absolute position information of start axis number n




Pea (n): location end point absolute position information of start axis number n




Poa (n): circular interpolation auxiliary setting point absolute position information of start axis number n




h: number of start axes




Displayed values of points


142




a


,


142




b


,


143




a


,


143




b


,


502




a


,


502




b


,


551




a


and


551




b


in the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored are updated to relative movement amounts in accordance with relative movement amount position information of the points (step S


506


). Moreover, a locus of the location is again displayed with an alternate long and short dash line (step S


507


).




The operation for changing a point in a relative coordinate graph will now be described with reference to a flow chart shown in

FIG. 49

(step S


508


).




When a process for completing setting is not performed when the point is changed, the operation returns to step S


502


. When setting has been completed (step S


509


), the position instruction method


121


of the coordinate graph output information is outputted as a position instruction method


2105


of the locating program code (step S


510


).




If the position instruction method which is the “relative movement amount instruction” is not changed in step S


502


, the operation proceeds to step S


508


(step S


511


). Thus, the absolute-position instruction


180




a


is selected so that the position instruction method is changed from the “relative movement amount instruction” to the “absolute position instruction” (step S


512


). Thus, the “absolute position instruction” is stored in the position-location-method storage area


121


(step S


513


). Then, display of the reference point


181


is deleted and switch to the absolute coordinate graph is performed (step S


514


). In accordance with equations


503


,


504


and


505


, the absolute-position-information storage area


183


portion of the location-start-point-position-information storage areas


127




a


,


127




b


and


127




c


of the start axis numbers, the location-end-point-position-information storage areas


122




a


,


122




b


and


122




c


of the start axis numbers and the location-control-type corresponding information storage area


123


is initialized (step S


515


). Thus, the locus of locating is again displayed with a solid line (step S


516


).








Psa


(


n


)=


Psi


(


n


)  Equation 503









Pea


(


n


)=


Pei


(


n


)  Equation 504








Poa


(


n


)=


Poi


(


n


)  Equation 505








(1


≦n≦h


)






Psi (n): location start point relative movement amount position information of start axis number n




Pei (n): location end point relative movement amount position information of start axis number n




Poi (n): circular interpolation auxiliary setting point relative movement amount position information of start axis number n




Psa (n): location start point absolute position information of start axis number n




Pea (n): location end point absolute position information of start axis number n




Poa (n): circular interpolation auxiliary setting point absolute position information of start axis number n




h: number of start axes




The operation for changing a point with an absolute coordinate graph is performed in accordance with the linear control, the passing-point-instructed circular interpolation, the radius-instructed circular interpolation and the central-point-instructed circular interpolation (step S


517


). Then, the operation proceeds to step S


509


.




If the instructed position instruction method “absolute position instruction” is not changed in step S


512


, the operation proceeds to step S


517


.




If the position instruction method is the absolute position instruction in step S


517


, an operation is performed in accordance with a flow chart shown in

FIG. 19

when linear control is performed. Position information of the location end point and that of the location start point calculated in steps S


322


and


327


are stored in the absolute-position-information storage area


183


. In step S


331


required position data of the locating program code is outputted in accordance with absolute-position-information storage area


183


of the locating-end-point-position-information storage area


122


of the start axis number. Also the passing-point-instructed circular interpolation, the radius-instructed circular interpolation and the central-point-instructed circular interpolation are performed similarly.




The operation for changing a point with a relative coordinate graph will now be described with reference to a flow chart shown in FIG.


49


. The same operations in the flow chart as those of the point changing operation with the absolute coordinate graph in the flow chart shown in

FIG. 19

are given the same step numbers and operated as described in the linear control.




In step S


520


which is the operation during dragging of a location end point with the mouse, the relative among from point (•) to the location start point (×) on the coordinate graph is calculated as position information of X-coordinate axis number nx and that of Y-coordinate axis number ny so as to be stored in the relative-movement-amount storage area


184


of the locating-end-point-position-information storage area


122


of the start axis numbers nx and ny (step S


520


). Moreover, information of the relative movement amount is displayed in the end-point-position display areas


143




a


and


143




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored (step S


521


). Then, the operation proceeds to step S


324


.




After step S


326


which is the operation during dragging of the location start point with the mouse has been performed, also the reference point


181


for the relative coordinate is moved to following location start point (×)(step S


522


). The moving location start point (×) is always made to be a reference point (O) to calculate a relative amount to the location end point (•) on the coordinate graph. A result is, as position information of the X-coordinate axis number nx and Y-coordinate axis ny, stored in the relative-movement-amount storage area


184


of the end-point-position-information storage area


122


of the start axis numbers nx and ny (step S


523


). Finally, information of the relative movement amount is displayed on the end-point-position display areas


143




a


and


143




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored (step S


524


). Then, the operation proceeds to step S


329


.




When the setting completion button


160


has been selected (step S


330


), required position data of the locating program code is outputted in accordance with relative-movement-amount information


184


of location-end-point-position information


122


of the start axis number (step S


525


).




The processes in the other steps are the same as those when a point is changed by using the absolute coordinate graph.





FIG. 49

shows the linear control. When circular interpolation is performed, a process similar to that for the location end point is added for the circular interpolation auxiliary point.




The above-mentioned location programming apparatus enables the method of instructing a position to immediately be understood. If a method of instructing the position has been changed, position information can be maintained and the same is converted into position information corresponding to the position instruction method.




The above-mentioned location programming apparatus enables a locating program to easily be set and changed by using a locus graph. Thus, a position instruction method can easily be recognized from a locus graph.




9. Locating Programming for Locus Control for Setting Position Instruction Method by Using Coordinate Graph




The operation for performing locating programming of a locus control in such a manner that a position instruction method is set by using a coordinate graph will now be described with reference to

FIGS. 50

to


60


.

FIG. 50

shows an example of a window for performing programming for locus-controlling two axes by using a coordinate graph in a case where a region in which the passing point and location end point are instructed with an absolute position and a region in which instruction is performed in accordance with a relative movement amount from the previous point are mixed. Referring to the drawings, reference numeral


180


represents a position-instruction-method selection button


180


for each region. Either of the absolute-position instruction


180




a


or the relative-movement-amount instruction


180




b


is selected for a selected region


163


so that a position instruction method is set and changed. When the initial window of the coordinate graph is displayed, the region M+1 (=region


1


) is instructed with an absolute position. Reference numeral


162


represents a locus in an absolute position instruction region and


185


represents a locus in a relative movement amount instruction region which are displayed by different types of lines which are a solid line and an alternate lone and short dash line. Both of absolute position information and relative movement amount information are displayed on point position display areas


142




a


,


142




b


,


143




a


,


143




b


,


142




a




x


,


142




a




1


,


142




a




2


,


142




a




m


,


161




b




x


,


161




b




1


,


161




b




2


and


161




b




m


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored.




Also the areas for storing location end point position information


122


of the start axis number, passing point position information


169




a




m


,


169




b




m


and


169




c




m


of the start axis number, each point position information in information


167


corresponding to the passing method shown in FIG.


33


and areas for storing information


169




a




x


,


169




b




x


, and


169




c




x


of the position of the passing point of the start axis number which is being set and shown in

FIG. 47

are composed of the absolute-position-information storage area


183


and the relative-movement-amount storage area


184


.





FIG. 51

shows information of the structure of a window for the coordinate-graph-output-information storage area


71


when passing point P


x


is being added. The window is composed of P


x


·P


m


relative movement amount information storage areas


186




a


,


186




b


and


186




c


of the start axis number for storing a result of an amount of a relative movement between P


x


and next point P


m


.




The operation for setting and changing the position instruction method for each region will now be described with reference to a flow chart shown in FIG.


52


. Referring to

FIG. 52

, the same portions as those in the flow chart shown in

FIG. 38

of the operation for setting and changing the passing point and the passing method by the locus control method are given the same step numbers and they are performed similarly to the locus control. When the position instruction method is changed in each region (step S


550


), the mouse cursor is moved onto the locus in the region in which the position instruction method is changed. Then, right side is clicked to perform selection (step S


551


). Then, a button corresponding to required method is selected from the absolute-position instruction


180




a


and the relative-movement-amount instruction


180




b


of the position-instruction-method selection button


180


(step S


552


). When all of the passing points have been set and the passing method and the position instruction method have been completed for all of the regions (step S


553


), the setting completion button


160


is selected (step S


418


). Then, the operation is ended.




The operation for setting position instruction method for each region in the locus control and performing programming will now be described with reference to a flow chart shown in

FIGS. 53

to


60


.

FIGS. 53 and 54

shows a flow chart showing the overall operation. In

FIGS. 53 and 54

, the same portions as those in the flow chart shown in

FIGS. 39 and 40

of the operation for setting and changing the passing point and the passing method are given the same step numbers and they are operated as described in the locus control. When the locating control type is the locus control, “absolute position instruction” is stored in the position-instruction-method storage area


165


of the graphic programming work memory


4


for the region M+1 (step S


560


). Thus, an initial window of the coordinate graph is displayed in accordance with the description of the coordinate graph (step S


561


).




If the position instruction method for each region is the absolute position instruction or the relative movement amount instruction, absolute position information of the subject point and the relative movement amount of regions across the moving point are always updated and administrated when the location start point and the location end point are moved and a passing point is added and moved. When the location end point (•) is being dragged, the absolute positions of the X-coordinate axis number nx and the Y-coordinate axis number ny corresponding to the position of the point (•) and a relative amount from the previous point are calculated so as to be stored in the absolute-position-information storage area


183


and the relative-movement-amount storage area


184


of end-point-position information


122


of the start axis numbers nx and ny (step S


562


). Then, both of the absolute position and the relative movement amount are displayed in the end-point-position display areas


143




a


and


143




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored (step S


563


).




When the location start point (×) is being dragged, the operation will now be described with reference to a flow chart shown in

FIG. 55

(step S


564


). Initially, the absolute positions of the start axis numbers nx and ny corresponding to the point (×) are calculated so as to be stored in the absolute-position-information storage area


183


of the locating-start-point-position-information storage area


127


of the start axis numbers nx and ny (step S


580


). Then, display of the absolute position in the start-point-position display areas


142




a


and


142




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


581


). If the passing point P


1


has been set (step S


582


), the relative amounts of the nx and ny axes from the point (×) to the point P


1


are calculated so as to be stored in the relative-movement-amount storage area


184


of the corresponding nx and ny areas of the passing-point-position information


169




a




1


,


169




b




1


and


169




c




1


of the start axis numbers in the region


1


(step S


583


). Thus, display of the relative movement amount in the areas


161




a




1


and


161




b




1


for displaying the number P


1


of the passing points in the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


584


). If the passing point P


1


has not been set in step S


582


, the relative amounts of the nx and ny axes from the point (×) to the location end point (•) are calculated so as to be stored in the area for storing relative amount information


184


of the end-point-position information


122


of the start axis number (step S


585


). Thus, display of the relative movement amount in the end-point-position display areas


143




a


and


143




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


586


).




When the passing point P


m


(O) is being dragged, the description will be made in accordance with a flow chart shown in

FIG. 56

(step S


565


). Initially, the absolute positions of the X-coordinate axis number nx and Y-coordinate axis number ny corresponding to the point (O) and a relative amount from the previous point are calculated so as to be stored in the absolute-position-information storage area


183


and the relative-movement-amount storage area


184


of the corresponding axes nx and ny of the passing-point-position information


169




a




m


,


169




b




m


and


169




c




m


of the start axis numbers nx and ny in the region m (step S


590


). Thus, display of both of the absolute positions and relative movement amounts in the areas


161




a




m


and


161




b




m


for displaying the number P


m


of passing points of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


591


). If the relationship that passing point P


m


=final passing point P


M


is not satisfied (step S


592


), a relative amount of the nx and ny axes from the point P


m


(O) to P


m+1


calculated so as to be stored in the area for storing relative-movement-amount information


184


of the corresponding start axis numbers nx and ny of passing point information


169




a




m


,


169




b




m


and


169




c




m


of the start axis number in the region m+1 (step S


593


). Thus, display of the relative movement amount in the areas


161




a




m+1


and


161




b




m+1


for displaying the number P


m+1


of the passing points of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


594


). If passing point P


m


=final passing point P


M


in step S


592


, relative amounts of the nx and ny axes from the point P


m


(O) to the location end point (•) are calculated so as to be stored in the relative-movement-amount storage area


184


of location end point position information


122


(step S


595


). Thus, display of relative movement amounts in the end-point-position display areas


143




a


and


143




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


596


).




The operation which is performed when the locus in the region m is being dragged with the passing-point setting and moving pointer will now be described with reference to a flow chart shown in

FIG. 57

(step S


566


). The same portions as those in the flow chart shown in

FIG. 41

of the operation which is performed when a passing point is added and set are given the same step numbers and they are operate similarly to those in the locus control. Initially, the areas for storing position information of the passing point which is being added are initialized in such a manner that initial value are stored in the absolute-position-information storage area


183


and the relative-movement-amount storage area


184


for information of the passing point of the start axis number which is being set (step S


600


). When mouse dragging is being performed, the absolute positions of the X-coordinate axis number nx and Y-coordinate axis number ny corresponding to the position of the point Px (O) and a relative amount from the previous point are calculated so as to be stored in the absolute-position-information storage area


183


and the relative-movement-amount storage area


184


of the corresponding axes nx and ny of information


169




a




x


,


169




b




x


and


169




c




x


of the position of the passing point of the start axis number which is being set (step S


601


). Thus, display of both of the absolute position and the relative movement amount of the areas


161




a




x


and


161




b




x


for displaying the number P


x


of passing points in the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


602


). Then, relative amounts of nx and ny axes from the point P


x


(O) to P


m


are calculated so as to be stored in the areas for the corresponding axes nx and ny of information


186




a


,


186




b


and


186




c


of the relative movement amount between P


x


and P


m


of the start axis numbers (step S


603


). Thus, display of the relative movement amount in the areas


161




a




m


and


161




b




m


for displaying the number P


m


of passing points in the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


604


). When dragging is suspended, stored information


186




a


,


186




b


and


186




c


of the relative movement amount between P


x


and P


m


of the start axis number for nx and ny axes is stored in the relative-movement-amount storage area


184


for the passing point position information


169




a




m+1


,


169




b




m+1


and


169




c




m+1


of the start axis number in the region m+1 (step S


605


).




When the position-instruction-method selection button


180


has been selected (step S


567


), an operation is performed to follow a flow chart shown in

FIG. 58

(step S


568


). If selection of a region is not performed, no operation is performed and the process is ended (step S


610


). The position-instruction-method storage area


165


or


165




p




m


in the region m (1≦m≦M+1) indicated with a selected region


163


is updated (step S


611


). If the “absolute-position instruction


180




a


” has been selected (step S


612


), the locus in the region m is modified with a solid line. If “instruction


180




b


of relative movement amount” has been selected, the locus in the region m is modified with an alternate long and short dash line (step S


614


). When the locus is changed by moving the point, the type of the line corresponding to the method of instructing the position in the corresponding region is employed.




When circular interpolation auxiliary setting has been changed in step S


441


, a relative amount is calculated from information of the absolute position of the auxiliary set point (circular interpolation passing point or the circular interpolation central point) for the circular interpolation and information of the absolute position of the circular interpolation start point so as to be stored in the relative-movement-amount storage area


184


for position information of the corresponding point (step S


569


).




When the setting completion button has been selected, an operation following a flow chart shown in

FIGS. 59 and 60

is performed (step S


570


). The same portions as those in the flow chart shown in

FIG. 43 and 44

which show the operation which is performed when setting of the locus control has been performed are given the same step numbers and they are performed similarly to those in the locus control. In steps S


481


to S


490


for outputting locating program code for the regions


1


to M, information of the position instruction method


165




pm


is made to be position instruction method


2601




pm


(step S


630


). In a region in which the position instruction method is the “absolute position instruction”, absolute position information


183


is made to be required position data


2610


of the start axis number, required position data


2612


of the circular interpolation axis number, passing-point-position data


2613


of the circular interpolation axis number and central-point position data


2617


of the circular interpolation axis number. In the region of the “relative movement amount”, relative movement amount information


184


is made to be the same (steps S


631


, S


632


, S


633


and S


634


).




Also in steps S


491


to S


634


for outputting the locating program code for the region M+1, information of position instruction method


165


is made to be position instruction method


2601


(step S


635


). If the position instruction method is the “absolute position instruction”, location end point position information, circular interpolation passing point position information and circular interpolation central-point position information of the start axis are absolute position information


183


. When the position instruction method is the “relative movement amount instruction”, the relative movement amount information


184


is made to be required position data


2610


of the start axis number, required position data


2612


of the circular interpolation axis number, data


2613


of the passing point data of the circular interpolation axis number and central-point position data


2617


of the circular interpolation axis number (steps S


636


, S


637


, S


633


and S


634


).




The above-mentioned location programming apparatus enables the position instruction method between passing points to quickly be recognized when a plurality of passing points are instructed and a locus control is set. Moreover, even if the position instruction method between the passing points is changed, a necessity of again setting position data can be eliminated.




The above-mentioned location programming apparatus enables the locating program for the locus control to easily be set and changed by using a locus graph. Thus, the position instruction method between passing points can easily be understood from the locus graph.




Moreover, the absolute position and the relative position between the passing points for the locus control can easily be understood.




10. Setting and Change of Operation Permissible Range of Subject Which Must be Controlled By using Coordinate Graph




The operation for setting and changing the operation permissible range for a subject which must be controlled by using a coordinate graph will now be described with reference to

FIGS. 61

to


63


.

FIG. 61

shows an example of a programming window using a coordinate graph. An operation permissible range for a subject which must be controlled is, as upper and lower stroke limit lines


152




a


and


153




a


of the X coordinate axis number and upper and lower stroke limit lines


152




b


and


153




b


of the Y coordinate axis number, read and displayed in such a manner that the upper and lower stroke limits


1705


and


1706


of the axis-parameter memory


1700


are read and displayed to the upper and lower stroke limit storage areas


112


and


113


of the graphic programming work memory


4


. The locating points which are set on the coordinate graph and the locus can easily be recognized. Reference numeral


187


represents a stroke-limit-range changing pointer. When the mouse cursor is moved onto the X coordinate side stroke limit line, the stroke-limit-range changing pointer


187


is formed into an arrow cursor facing right and left. When the mouse cursor is moved onto the Y coordinate side stroke limit line, the stroke-limit-range changing pointer


187


is formed into an arrow cursor facing up and down. The stroke-limit-range changing pointer


187


can be moved into directions indicated by the arrows when a dragging operation has been performed. A position at which the mouse has been released is a decided position.




The operation for changing the stroke limit range will now be described with reference to a flow chart shown in FIG.


62


. When an upper X coordinate stroke limit is changed (step S


650


), the upper X coordinate stroke limit line which is being displayed is dragged with the mouse so that the stroke-limit-range changing pointer


187


is displayed so as to be moved on the coordinate graph to the right or left (step S


651


). When the position has been determined (step S


652


), mouse dragging is suspended (step S


653


). When a lower X coordinate stroke limit is changed (step S


654


), the lower X coordinate stroke limit line which is being displayed is dragged with the mouse so that the stroke-limit-range changing pointer


187


is displayed so as to be moved on the coordinate graph to the right or left (step S


655


). When the position has been determined (step S


656


), mouse dragging is suspended (step S


657


).




When the upper Y coordinate stroke limit is changed in the case where the coordinate graph is a two-dimensional graph (step S


658


), the upper Y coordinate stroke limit line which is being displayed is dragged with the mouse so that the stroke-limit-range changing pointer


187


is displayed which is moved in the vertical direction on the coordinate graph (step S


659


). When the position has been determined (step S


660


), mouse dragging is suspended (step S


661


). When the lower Y coordinate stroke limit is changed (step S


662


), the lower Y coordinate stroke limit line which is being displayed is determined by the mouse so that the stroke-limit-range changing pointer


187


is displayed which is moved in the vertical direction (step S


663


). When the position has been determined (step S


664


), mouse dragging is suspended (step S


665


).




When the stroke limit range is changed, the operation returns to step S


650


. When change has been completed (step S


666


), the setting completion button


160


is selected (step S


667


). Thus, the operation is ended.




The operation for changing the stroke limit range will now be described with reference to a flow chart shown in FIG.


63


. When the line upper X-coordinate stroke lime line


152




a


is being dragged with the mouse (step S


670


), the upper X-coordinate stroke lime line


152




a


is moved to follow the stroke-limit-range changing pointer


187


(step S


671


). Then, position information of the X-coordinate axis number nx corresponding to the line position on the coordinate graph is calculated so as to be stored in the upper stroke limit storage area


112


of the X-coordinate axis number nx (step S


672


). Moreover, the upper stroke limit display area


140




a


in the X-coordinate-setting-information value display area


137




a


is updated (step S


673


). The processes in steps S


671


to S


673


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


675


(step S


674


). When the upper X-coordinate stroke lime line


152




a


is not being dragged with the mouse in step S


670


, the operation proceeds to step S


675


.




When the lower X-coordinate stroke limit line


153




a


is being dragged with the mouse (step S


675


), the lower X-coordinate stroke limit line


153




a


is moved to follow the stroke-limit-range changing pointer


187


(step S


676


), the lower X-coordinate stroke limit line


153




a


is moved to follow the stroke-limit-range changing pointer


187


(step S


676


). Then, position information of the X-coordinate axis number nx corresponding to the line position on the coordinate graph is calculated so as to be stored in the lower stroke limit storage area


113


of the X-coordinate axis number nx (step S


677


). Moreover, the lower stroke limit display area


141




a


of the X-coordinate-setting-information value display area


137




a


is updated (step S


678


). The processes in steps S


676


to S


678


are performed until mouse dragging is suspended. When mouse dragging is suspended, the operation proceeds to step S


680


(step S


679


). When the lower X-coordinate stroke limit line


153




a


is not being dragged with the mouse in step S


675


, the operation proceeds to step S


680


.




When the upper Y-coordinate stroke limit line


152




b


is being dragged with the mouse (step S


680


), the upper Y-coordinate stroke limit line


152




b


is moved to follow the stroke-limit-range changing pointer


187


(step S


681


). Then, position information of Y-coordinate axis number ny corresponding to the line position on the coordinate graph is calculated so as to be stored in the upper stroke limit storage area


112


of the Y-coordinate axis number ny (step S


682


). Moreover, the upper stroke limit display area


140




b


of the set Y-coordinate information value display area


137




b


is updated (step S


683


). The processes in steps S


681


to S


683


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


685


(step S


684


). If the upper Y-coordinate stroke limit line


152




b


is not being dragged in step S


680


, the operation proceeds to step S


685


.




When the lower Y-coordinate stroke limit


153




b


is being dragged with the mouse (step S


685


), the lower Y-coordinate stroke limit


153




b


is moved to follow the stroke-limit-range changing pointer


187


(step S


686


). Position information of the Y-coordinate axis number ny corresponding to the line position on the coordinate graph is calculated so as to be stored in the lower stroke limit storage area


113


of the Y-coordinate axis number ny (step S


687


). Moreover, the lower stroke limit display area


141




b


of the set Y-coordinate information value display area


137




b


is updated (step S


688


). The processes in steps S


686


to S


688


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


690


(step S


689


). If the lower Y-coordinate stroke limit


153




b


is not being dragged with the mouse in step S


685


, the operation proceeds to step S


690


.




The operation returns to step S


670


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


690


), the contents of the areas for storing the upper and lower stroke limits


112


and


113


of the start axis number are, as the locating control parameters, stored in the axis areas of the axis-parameter memory


1700


for storing the upper stroke limit


1705


and the lower stroke limit


1706


(step S


691


). Then, the operation is ended.




The above-mentioned location programming apparatus enables the stroke range for the corresponding axis to easily be confirmed and changed when position data is set.




The above-mentioned location programming apparatus enables the operation permissible range of the subject which must be controlled to easily be set and changed on a locating program window.




When locating programming is performed, the relationship among the points which must be set, the locus and the operation permissible range of the subject which must be controlled can always easily be recognized.




An error that “start cannot be performed because the instructed position does not satisfy the stroke limit range” which is detected by the controller when the program is started can be prevented when locating program is performed.




An error that “operation cannot be performed because an intermediate passage for the location does not satisfy the stroke limit range” which is detected by the controller when the program is started can previously be prevented when programming is performed.




11. Locating Programing By Using Speed Graph




The operation for performing locating programming by using a speed graph will now be described with reference to

FIGS. 64

to


71


.

FIG. 64

shows an example for setting data relating to the speed by using a speed graph and shows an initial window of the speed graph. Referring to the drawing, reference numerals


130


to


133


,


138


,


139


and


160


represent the same elements as those shown in FIG.


11


. Reference numeral


200


represents an acceleration/deceleration-control-parameter-number setting area and


201


represents a speed-instruction-method selection button for performing selection from a synthesis speed instruction button


201




a


, a reference-axis speed instruction button


201




b


and a major-axis-speed instruction button


201




c


. Reference numeral


217


represents an acceleration/deceleration pattern type selection button,


218


represents a S-figure ratio display area,


204


represents a speed-graph making and displaying area on which an instruction speed line


205


for each region, a speed limit line


206


, an acceleration time pointer


210


, a deceleration time pointer


211


, a rapid stop deceleration time pointer


212


, inclination


242


of the acceleration pattern, inclination


243


of the deceleration pattern, inclination


244


of the rapid stop deceleration pattern, a speed pattern


214


and speed changing points


225




a


and


225




b


are displayed. Reference numeral


203


represents a speed-information-value display area on which instructed speed


205


and limited speed


206


set in the speed graph making and displaying area


204


are displayed at


215


and


216


with figures. Reference numeral


213


represents speed-control-unit display area. Reference numeral


219


represents a set-region-number display area for displaying the number of points set on the coordinate graph. Reference numeral


202


represents a time-information-number display area on which acceleration time, deceleration time and rapid stop deceleration time indicated by the acceleration time pointer


210


, the deceleration time pointer


211


and the rapid stop deceleration pointer


212


are displayed in


207


,


208


and


209


with figures. Moreover, each set time period is indicated with arrows


248


,


246


and


245


.





FIG. 65

shows the speed-graph-output-information storage area


72


of the graphic programming work memory


4


which is composed of an acceleration/deceleration control-parameter-information storage area


220


, a locating-program-speed-information storage area


221


, an actual acceleration/deceleration time information storage area


222


and an auxiliary-item-information storage area


223


.





FIG. 66

shows the acceleration/deceleration control-parameter-information storage area


220


of the speed-graph-output-information storage area


72


which is composed of an acceleration/deceleration parameter number storage area


230


, a speed-control-unit storage area


231


, a limit-speed storage area


232


, an acceleration-time storage area


233


, a deceleration-time storage area


234


, a rapid-stop-deceleration-time storage area


235


and an acceleration/deceleration pattern type storage area


236


.





FIG. 67

shows the locating-program-speed-information storage area


221


of the speed-graph-output-information storage area


72


which is composed of a speed-instruction-method storage area


238


and a region-instructed-speed storage area


239


. The region-instructed-speed storage area


239


is composed of the number of points set on the coordinate graph.




The setting operation which is performed until an initial window of the speed graph in a state shown in

FIG. 64

will now be described with reference to a flow chart shown in FIG.


68


. When acceleration/deceleration parameter number


1


is set in the acceleration/deceleration control-parameter number setting area


200


(step S


1200


),


1


is stored in the acceleration/deceleration parameter number storage area


230


of the graphic programming work memory


4


(step S


1201


). Then, data of acceleration/deceleration control parameter number


1


is read from the acceleration/deceleration control parameter memory


1800


so as to be stored in the speed-control-unit storage area


231


, the limit-speed storage area


232


, the acceleration-time storage area


233


, the deceleration-time storage area


234


, the rapid-stop-deceleration-time storage area


235


and the acceleration/deceleration pattern type storage area


236


of the acceleration/deceleration control-parameter-information storage area


220


(step S


1202


). The speed-instruction-method storage area


238


of the locating-program-speed-information storage area


221


is initialized so that the region-instructed-speed storage area


239


is initialized in a quantity corresponding to the number of points set in the area


120


for storing the number of set points of coordinate graph output information (step S


1203


).




Then, display on the window is performed in accordance with information above. When the set number


82


of start axes is two or more (step S


1204


), any one of [mm/min], [inch/min], [degree/min] and [PLS/sec] is displayed on the speed-control-unit display area


213


in accordance with information in the speed-control-unit storage area


231


(step S


1205


). Then, the operation proceeds to step S


1206


. If the number


82


of the start axes is one in step S


1204


, any one of [mm/min], [inch/min], [degree/min] and [PLS/sec] is displayed on the speed-control-unit display area


213


in accordance with information in the position-control-unit reading area


111


of the start axis number (step S


1213


). Then, the operation proceeds to step S


1206


. In accordance with information in the limit-speed storage area


232


, figures are displayed on the limited speed display area


216


of the speed-information-value display area


203


. Moreover, line display


206


is performed on the speed graph (step S


1206


).




In accordance with information in the acceleration-time storage area


233


, the deceleration-time storage area


234


and the rapid-stop-deceleration-time storage area


235


, display on the acceleration time


207


,and the deceleration time


208


of the display area


202


and the rapid stop deceleration time display area


209


is performed. Each of set time is displayed with arrows


248


,


246


and


245


. Then, the acceleration time pointer


210


, the deceleration time pointer


211


and the rapid stop deceleration time pointer


212


are displayed on the speed graph. Moreover, the inclination


242


of the acceleration pattern, the inclination


243


of the deceleration pattern and the inclination


244


of the rapid stop deceleration pattern are displayed (step S


1207


). In accordance with information in the acceleration/deceleration pattern type storage area


236


, a corresponding acceleration/deceleration pattern selection button


217


is displayed inversely. If S-figure acceleration/deceleration is set, the S-figure ratio is displayed on a S-figure ratio display area


218


(step S


1208


). Information in the area


120


for storing the number of set points is displayed on the set-region-number display area


219


(step S


1209


).




In accordance with information in the speed-instruction-method storage area


238


, the corresponding speed-instruction-method selection button


201


is inverted (step S


1210


). In accordance with information in the region-instructed-speed storage area


239


, figures are displayed on the instructed speed figure display area


215


of the speed-information-value display area


203


. Line display


205


is performed on the speed graph (step S


1211


). In accordance with information in the area


120


for storing the number of set points and region-instructed-speed storage area


239


, the speed pattern


214


is displayed on the speed graph. The speed changing pointers


225




a


and


225




b


are displayed at the start point of a region in which the instructed speed can be set (step S


1212


). Thus, display of the initial window of the speed graph is ended.




The operation for selecting and changing the speed instruction method and the speed control unit and setting and changing the speed pattern by using a speed graph will now be described with reference to

FIGS. 69

to


71


.

FIG. 69

shows an example of a locating programming window by using a speed graph when the speed instruction method, the speed control unit and the instructed speed are set and changed. Reference numeral


240


represents a speed movement pointer for vertically moving the speed line. When the mouse cursor is moved onto a speed line required to be changed, the pointer is formed into an arrow cursor facing up and down as illustrated. When a dragging operation is performed, the pointer is able to move vertically in the speed-graph making and displaying area


204


. A position at which mouse dragging has been suspended is the set speed. Reference numeral


249


represents a speed-control-unit selection button. When the speed-control-unit selection button is clicked, a speed-control-unit selection window


241


is opened. Thus, speed units which can be selected are displayed in accordance with information in the position-control-unit reading area


111


of the start axis number. When an instructed unit is clicked, selection is performed.




An example of the operation will now be described with reference to a flow chart shown in FIG.


70


. If the number


82


of the start axes is not smaller than two and the locating control type


81


is the linear locating, the speed instruction method is initialized to “synthesized speed”. When the speed instruction method is changed (step S


1220


), a synthesized-speed instruction button


201




a


, a reference-axis-speed instruction button


201




b


and a major-axis-speed instruction button


201




c


of the speed-instruction-method selection button


201


are operated so that selection is performed (step S


1221


). If the speed instruction method is not changed in step S


1220


, the operation proceeds to step S


1222


. If the speed control unit is changed in a case where the number


82


of start axes is not smaller than two (step S


1222


), the speed-control-unit selection button


249


is clicked by the mouse so that the speed-control-unit selection window


241


is displayed (step S


1223


). When clicking with the mouse is performed, a unit is selected (step S


1224


). If the speed control unit is not changed in step S


1222


, the operation proceeds to step S


1225


.




When the speed pattern


214


is changed (step S


1225


), the mouse cursor is moved onto the speed pattern


214


for the region intended to be changed. Then, mouse dragging is performed so that the speed movement pointer


240


is displayed which is arbitrarily moved in the vertical direction on the speed graph (step S


1226


). After the instructed speed has been determined (step S


1228


), mouse dragging is suspended (step S


1229


). Then, the operation proceeds to step S


1230


. When the speed pattern is not changed in step S


1225


, the operation proceeds to step S


1230


.




When all items for the speed graph have been set (step S


1230


), the setting completion button


160


is selected (step S


1231


) to complete the operation.




The operation for selecting and changing the speed instruction method and the speed control unit and setting and changing the speed pattern will now be described with reference to a flow chart shown in FIG.


71


. When the speed-instruction-method selection button


201


is clicked by the mouse (step S


1240


) and the number


82


of start axes is not smaller than two and the locating control type storage area


81


is “linear locating” (step S


1241


), information of the selected speed instruction method is stored in the speed-instruction-method storage area


238


(step S


1242


). Moreover, the corresponding buttons


201




a


,


201




b


and


201




c


are inversely displayed (step S


1243


). If the speed-selection-method selection button is not selected in step S


1240


and if locating is not linear locating of two or more axes in step S


1241


, the operation proceeds to step S


1244


.




When the speed control unit selection window is clicked with the mouse (step S


1244


) and the number


82


of start axes is not smaller than two (step S


1245


), the information of the selected speed control unit is stored in the speed-control-unit storage area


231


(step S


1246


) so that display on the speed-control-unit display area


213


is updated (step S


1247


). If the speed control unit window is not clicked with the mouse in step S


1244


, the operation proceeds to step S


1248


in a case where the number of start axis is one in step S


1245


.




If the speed pattern


214


is being dragged with the mouse (step S


1248


), the instructed speed line


205


in the corresponding region is moved to follow the speed movement pointer


240


and also the speed pattern


214


is changed (step S


1249


). Thus, information of the speed corresponding to the position of the instructed speed line


205


in the corresponding region on the speed graph is calculated so as to be stored in the region-instructed-speed storage area


239


in the corresponding region (step S


1250


). If the instructed speed in the corresponding region is different from the instructed speed (step S


1251


), region instructed speed display areas


215




a


and


215




b


of the speed-information-value display area


203


are added and displayed with figures (step S


1252


). If the instructed speed in the corresponding region is the same as that in the previous region in step S


1251


, the operation proceeds to step S


1253


. The processes in the steps S


1249


to S


1252


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


1254


(step S


1253


). If the speed pattern


214


is not being dragged with the mouse in step S


1248


, the operation proceeds to step S


1254


.




The operation returns to step S


1240


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


1254


), information in the speed-instruction-method storage area


238


of the speed graph output information is outputted as data


2106


of speed instruction method of the locating program code. If the set locating control type


81


is locus control, information of the region-instructed-speed and final region instructed-speed storage area


239


is outputted as data


2600




pm


(1≦m≦M) of instructed speed of the passing point of the locus control locating program code and data


2600


of instructed speed of the location end point. If the set locating control type is another type, it is outputted as instructed speed data


2200


of the control-type corresponding data


2108


. Moreover, information in the speed-control-unit storage area


231


is outputted as speed-control-unit data


1801


of the acceleration/deceleration control parameter corresponding to the acceleration/deceleration control parameter number


1230


and the operation is ended (step S


1255


).




The above-mentioned location programming apparatus is able to generate a locating program by simply graphically setting an instructed speed pattern for the operation.




Moreover, the instructed speed pattern can visually be understood for any user. The instructed speed can easily be set and changed. Moreover, change in the speed pattern occurring when change has been performed can simultaneously be recognized.




Moreover, the relationship between the speed and parameters relating to the control can easily be understood.




12. Setting and Change in Limited Speed By Using Speed Graph




The operation for setting and changing the limited speed by using the speed graph will now be described with reference to

FIGS. 72

to


74


.

FIG. 72

shows an example of a locating programming window by using a speed graph when the limited speed is set and changed. Reference numeral


240


represents a speed movement pointer for vertically moving the speed line. When the mouse cursor is moved onto a limited speed line


206


, the speed movement pointer


240


is formed into an arrow cursor facing up and down as illustrated. When a dragging operation is performed, the pointer is able to vertically move in the speed-graph making and displaying area


204


. A point at which mouse dragging has been suspended is the set speed. Reference numeral


242


represents inclination of the acceleration pattern,


243


represents inclination of the deceleration pattern,


244


represents inclination of the rapid stop deceleration pattern and


214


represents the speed pattern.




The operation for setting and changing the limited speed will now be described with reference to a flow chart shown in FIG.


73


. The limited speed line


206


is located at the position of the set speed in the speed-graph making and displaying area


204


in the displayed initial window described with the speed graph. When the limited speed is changed (step S


1300


), the present limited speed line


206


is dragged with the mouse so that the speed movement pointer


240


is displayed so as to be vertically moved to an arbitrary position on the speed graph (step S


1301


). When the limited speed has been determined (step S


1302


), mouse dragging is suspended (step S


1303


). Then, the operation proceeds to step S


1304


. If the limited speed is not changed in step S


1300


, the operation proceeds to step S


1304


. If the limited speed is changed, the operation returns to step S


1300


. When the change of the limited speed has been completed (step S


1304


), the setting completion button


160


is selected (step S


1305


). Then, the operation is ended.




The operation for changing the limited speed will now be described with reference to a flow chart shown in FIG.


74


. If the limited speed line


206


is being dragged with the mouse (step S


1310


), the limited speed line


206


is moved to follow the speed movement pointer


240


. Moreover, also the inclination


242


of the acceleration pattern, the inclination


243


of the deceleration pattern, the inclination


244


of the rapid stop deceleration pattern and the speed pattern


214


are changed (step S


1311


). Moreover, information of the speed corresponding to the position of the limited speed line


206


on the speed graph is calculated so as to be stored in the limit-speed storage area


232


(step S


1312


). Thus, display on the limited speed display area


216


of the speed-information-value display area


203


is updated (step S


1313


). The processes in steps S


1311


to S


1313


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


1315


(step S


1314


). When the limited speed line


206


is not being dragged with the mouse in step S


1310


, the operation proceeds to step S


1315


.




The operation returns to step S


1310


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


1315


), information in the limit-speed storage area


232


for the speed graph output information is outputted as limited-speed data


1802


of the acceleration/deceleration control parameter corresponding to the acceleration/deceleration control parameter number


1230


and the operation is ended (step S


1316


).




The above-mentioned location programming apparatus is able to easily set and change limited speed simultaneously with the locating programming operation.




Moreover, limited speed can always be recognized during locating programming. In addition, an error that “operation is performed at the limited speed because the instructed speed exceeds the limited speed” which is detected by the controller when the program is started can be prevented.




In addition, the relationship among the limited speed, the acceleration pattern and the deceleration pattern can easily be understood.




13. Setting of Acceleration/Deceleration Pattern Type By Using Speed Graph




The operation for setting the acceleration/deceleration pattern type by using the speed graph will now be described with reference to

FIGS. 72 and 75

to


77


.

FIG. 72

shows an example of a locating programming window by using a speed graph when the acceleration/deceleration pattern type is set and changed. Reference numeral


217


represents a acceleration/deceleration pattern selection button composed of a trapezoid acceleration/deceleration selection button


217




a


, an exponential acceleration/deceleration button


217




b


and an S-figure acceleration/deceleration selection button


217




c.







FIG. 75

shows an S-figure ratio setting window


250


which is displayed when the S-figure acceleration/deceleration pattern selection button is selected. Reference numeral


252


represents a 100% acceleration pattern in an acceleration region when the S-figure acceleration/deceleration control is performed in accordance with, for example, a sine curve. Reference numeral


251


represents a center line of the sine curve. Reference numeral


254


represents an S-figure-ratio setting pointer which is formed into an arrow cursor as illustrated when the mouse cursor has been moved onto the sine curve


252


. When a dragging operation causes the S-figure-ratio setting pointer


254


on the sine curve


252


, a symmetrical set region


253


for the S-figure acceleration pattern with respect to the center line


251


, that is, the S-figure ratio can be changed. A position at which dragging has been suspended indicate set data. Reference numeral


255


represents an S-figure-ratio setting completion button for completing setting of the S-figure ratio and closing the S-figure ratio setting window


250


.




The operation for setting and changing the acceleration/deceleration pattern type will now be described with reference to a flow chart shown in FIG.


76


. When the acceleration/deceleration pattern type is changed (step S


1400


), any one of the “trapezoid acceleration/deceleration selection button


217




a


”, “the exponential acceleration/deceleration button


217




b


” and the “S-figure acceleration/deceleration selection button


217




c


” of the acceleration/deceleration pattern selection button


217


is operated to perform selection (step S


1401


). When the S-figure acceleration/deceleration selection button


217




c


has been selected (step S


1402


), the S-figure acceleration/deceleration pattern region is set on the displayed S-figure ratio setting window


250


. Initially, the mouse is dragged on the sine curve


252


so as to display the S-figure-ratio setting pointer


254


. Then, the S-figure-ratio setting pointer


254


is moved to an arbitrary position on the sine curve so as to set the region for the S-figure acceleration pattern (step S


1403


). After the S-figure acceleration pattern region has been determined (step S


1404


), mouse dragging is suspended (step S


1405


). When the S-figure pattern region has been set (step S


1406


), the S-figure-ratio setting completion button


255


is selected (step S


1407


) to close the S-figure ratio setting window. Then, the operation proceeds to step S


1408


. If the S-figure pattern region is furthermore changed in step S


1406


, the operation returns to step S


1403


.




If the acceleration/deceleration pattern type is not changed in step S


1400


, the operation proceeds to step S


1408


. When a button except for the S-figure acceleration/deceleration selection button


217




c


has been selected in step S


1402


, the operation proceeds to step S


1408


. If the acceleration/deceleration pattern type is furthermore changed, the operation returns to step S


1400


. When setting of the acceleration/deceleration pattern type has been completed (step S


1408


), the setting completion button


160


is selected (step S


1409


). Then, the operation is ended.




The operation for setting and changing the acceleration/deceleration pattern type will now be described with reference to a flow chart shown in FIG.


77


. When the acceleration/deceleration pattern selection button


217


has been selected (step S


1410


), information of the selected acceleration/deceleration pattern type is stored in the acceleration/deceleration pattern type storage area


236


(step S


1411


). Moreover, a corresponding button is inversely displayed (step S


1412


).




If the selected acceleration/deceleration pattern type is the S-figure acceleration/deceleration (step S


1413


), the S-figure ratio setting window


250


is displayed (step S


1414


) so that the process for setting the S-figure acceleration/deceleration pattern region is performed. If the S-figure-ratio setting pointer


254


is being dragged with the mouse (step S


1415


), a S-figure setting region


253


indicated with the pointer is displayed on the 100% acceleration pattern


252


(step S


1416


). Then, information of the ratio corresponding to the S-figure setting region


253


is calculated so as to be stored in the acceleration/deceleration pattern type storage area


236


(step S


1417


). Then, a result of the calculation is displayed on the S-figure ratio display area


218


with figures (step S


1418


). The processes in steps S


1416


to S


1418


are performed until mouse dragging is suspended. When mouse dragging is suspended, the operation proceeds to step S


1420


(step S


1419


). If the S-figure-ratio setting pointer


254


is not being dragged with the mouse in step S


1415


, the operation proceeds to step S


1420


. The operation returns to step S


1415


until the S-figure-ratio setting completion button


255


is selected. When the S-figure-ratio setting completion button


255


has been selected (step S


1420


), the S-figure ratio setting window


250


is closed (step S


1421


). Then, the operation proceeds to step S


1422


.




If acceleration/deceleration pattern type selected in step S


1413


is not the S-figure acceleration/deceleration, the S-figure ratio display area


218


is blank-displayed (step S


1425


). Then, the operation proceeds to step S


1422


.




In accordance with information in the acceleration/deceleration pattern type storage area


236


, the acceleration pattern and the deceleration pattern of the speed pattern


214


are displayed on the speed graph (step S


1422


). Then, the operation proceeds to step S


1423


. If the acceleration/deceleration pattern selection button


217


has not been selected in step S


1410


, the operation proceeds to step S


1423


.




The operation returns to step S


1410


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


1423


), information in the acceleration/deceleration pattern type storage area


236


of speed graph output information is outputted as data


1806


of the acceleration/deceleration pattern type of the acceleration/deceleration parameter corresponding to the acceleration/deceleration control parameter number


1230


, and the operation is ended (step S


1424


).




The above-mentioned location programming apparatus enables the acceleration/deceleration pattern, that is, the control operation to easily be understood. Moreover, an acceleration/deceleration pattern suitable for a subject which must be controlled can easily be determined.




14. Setting and Changing Acceleration Time By Using Speed Graph




The operation for setting and changing acceleration time by suing the speed graph will now be described with reference to

FIGS. 78

to


80


.

FIG. 78

shows an example of a locating programming window by using a speed graph for setting and changing acceleration time. Reference numeral


247


represents a time movement pointer for changing time data. When the mouse cursor is moved onto the time pointer, the time movement pointer


247


is formed into an arrow cursor facing right and left as illustrated. When a dragging operation is performed, the time movement pointer


247


is able to move in the speed-graph making and displaying area


204


to the right and left. A position at which mouse dragging has been suspended indicate set time. Reference numeral


248


represents an acceleration time range with which the width of acceleration time for which acceleration has been started to reach limited speed is indicated by the length of an arrow. Reference numeral


207


represents an acceleration time display area,


242


represents a inclination of the acceleration pattern and


210


represents a acceleration time pointer for changing acceleration time, that is, the inclination


242


of the acceleration pattern.




The operation for changing acceleration time will now be described with reference to a flow chart shown in FIG.


79


. The acceleration time pointer


210


is located at the position of set time in the speed-graph making and displaying area


204


in the displayed initial window described in the locating programming using the above-mentioned speed graph. When acceleration time is changed (step S


1500


), the acceleration time pointer


210


is dragged with the mouse so that the time movement pointer


247


is displayed which is moved to an arbitrary position in the right and left directions on the speed graph (step S


1501


). When the acceleration time has been set (step S


1503


), mouse dragging is suspended (step S


1504


), the operation proceeds to step S


1505


. If acceleration time is not changed in step S


1500


, the operation proceeds to step S


1505


. If acceleration time is furthermore changed, the operation returns to step S


1500


. If the operation for setting acceleration time has been completed (step S


1505


), the setting completion button


160


is selected (step S


1506


) and the operation is ended.




The operation for changing acceleration time will now be described with reference to a flow chart shown in FIG.


80


. When the acceleration time pointer


210


is being dragged with the mouse (step S


1510


), the acceleration time pointer


210


is moved to follow the time movement pointer


247


. Moreover, also the inclination


242


of the acceleration pattern, the acceleration time range


248


and the speed pattern


214


are changed (step S


1511


). Moreover, information of acceleration time corresponding to the length of the acceleration time range


248


on the speed graph is calculated so as to be stored in the acceleration-time storage area


233


(step S


1512


). Thus, display on the acceleration time display area


207


of the time-information-value display area


202


is updated (step S


1513


). The processes in steps S


1511


to S


1513


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


1515


(step S


1514


). If the acceleration time pointer


210


is not being dragged with the mouse in step S


1510


, the operation proceeds to step S


1515


.




The operation returns to step S


1510


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


1515


), information in the acceleration-time storage area


233


of speed graph output information is outputted as acceleration time data


1803


of the acceleration/deceleration control parameter corresponding to the acceleration/deceleration control parameter number


1


and the operation is ended (step S


1516


).




The above-mentioned location programming apparatus enables adjustment to be performed while change of the acceleration pattern can be confirmed as a result of change in the acceleration time.




15. Calculation and Display of Actual Acceleration Time in Acceleration Region By Using Speed Graph




The Operation for calculating and displaying actual acceleration time in an acceleration period by using a speed graph will now be described with reference to

FIGS. 81

to


84


.

FIG. 81

shows an actual acceleration/deceleration time information storage area


222


of the speed-graph-output-information storage area


72


which is composed of an actual-acceleration-time storage area


260


for storing a result of calculations of actual acceleration time required to reach instructed speed for region


1


and an actual-deceleration-time storage area


261


for storing a result of calculations of actual deceleration time required from instructed speed in the final region to completion of deceleration. Moreover, the actual acceleration/deceleration time information storage area


222


has an actual-rapid-stop-deceleration-time storage area


262


for storing a result of calculations of actual rapid stop deceleration time required from the instructed speed for the region


1


to completion of rapid stop, a speed-change-point-acceleration/deceleration-time storage area


263


for storing a result of calculations of acceleration time or deceleration time required for the speed to reach the instructed speed between passing points and an actual acceleration/deceleration-time calculating work area


264


. The speed-change-point-acceleration/deceleration-time storage area


263


has a capacity corresponding to the number M of the passing points.





FIG. 82

shows an example of a locating programming window by using a speed graph and displaying a result of calculations of actual acceleration/deceleration time. Reference numeral


271




a


represents actual-acceleration-time display area,


271




c


and


271




d


represent speed-change-point-actual acceleration/deceleration time display areas and


272




a


,


272




c


and


272




d


represent ranges indicated by the areas


271




a


,


271




c


and


271




d


with arrows.





FIG. 83

shows the actual acceleration/deceleration-time calculating work area


264


for use when the actual acceleration/deceleration time for the speed change point and composed of a work area


280


for data of the number of regions, a work area


281


for a counter of the number of regions, a work area


282


for an amount of changed speed and a work area


283


for a result of calculations of acceleration/deceleration time.




The operation for calculating and displaying actual acceleration time in an acceleration period will now be described with reference to a flow chart shown in FIG.


84


. If the speed is not instructed, no operation is performed and the process is ended. If speed has been instructed (step S


1600


), actual acceleration time Tar with respect to instructed speed for the region


1


is calculated in accordance with Equation 1100 (step S


1601


). A result of the calculations is stored in the work area


283


for a result of calculations of acceleration/deceleration time and an actual-acceleration-time storage area


260


(step S


1602


).








Tar=Ta*V




1


/


Vmax


  Equation 1100






Tar: actual acceleration time in region


1






Ta: acceleration time




Vmax: limited speed




V


1


: instructed speed for region


1






In accordance with data in the actual-acceleration-time storage area


260


, the actual-acceleration-time display area


271




a


and actual-acceleration-time range


272




a


of the time-information-value display area


202


are displayed (step S


1603


).




The contents (A) of the area


120


for storing the number of set points are stored in the work area


280


for data of the number of regions (step S


1604


). Then, the work area


281


for the counter (a) of the number of regions is initialized to “1” (step S


1605


). If data A of the number of regions is larger than the counter a of the number of regions, the processes in step S


1607


to S


1612


are performed. Thus, actual acceleration time required for the acceleration region between passing points to reach the instructed speed is calculated. If data A of the number of regions is smaller than the counter a of the number of regions, the process for calculating and displaying the actual acceleration time is ended (step S


1606


).




If data A of the number of regions is larger than the counter a of the number of regions, the difference between the instructed speed in the region P


a


and that in the region P


a+1


is calculated in accordance with Equation 1101 so as to be stored in the work area


282


for changing speed (X) (step S


1607


). If the amount X of changed speed is larger than 0 (step S


1608


), an acceleration region is indicated. Therefore, actual acceleration time Tarx between regions P


a


and P


a+1


is calculated in accordance with the Equation 1102 so as to be stored in the work area


283


for a result of calculations of acceleration/deceleration time (step S


1609


). Then, the contents of the work area


283


for a result of calculations of acceleration/deceleration time are stored in the Pa→Pa+1 acceleration/deceleration-time storage area


263


(step S


1610


). In accordance with data above, regions of the speed-change-point acceleration/deceleration time display areas


271




c


and


271




d


and the actual acceleration/deceleration time ranges


272




c


and


272




d


corresponding to P


a


→P


a+1


of the time-information-value display area


202


are displayed (step S


1611


). Then, the operation proceeds to step S


1612


.








X=Va


+1


−Va


  Equation 1101










Tarx=Ta*X/Vmax


  Equation 1102






X: amount of changed speed




Va: instructed speed in region a




Va+1: instructed speed in region a+1




Tarx: actual acceleration time between region Pa and region Pa+1




Ta: acceleration time




Vmax: limited speed




If the amount X of the changed speed is zero or smaller than zero in step S


1608


, the same instructed speed or a deceleration region is indicated. Therefore, the operation proceeds to step S


1612


. Finally, the counter a for counting the number of regions is increased by one so that the counter is updated (step S


1612


). Then, the operation returns to step S


1606


. In step S


1606


data A of the number of regions and the counter a for counting the number of regions are again subjected to a comparison. If the counter a for counting the number of regions is larger than A, calculation and display of the actual acceleration time are completed.




The above-mentioned location programming apparatus enables actual acceleration time in an acceleration period of an instructed speed pattern to automatically be recognized when a locating programming process is performed. Moreover, acceleration time suitable for a subject which must be controlled can easily be determined.




16. Setting and Change of Deceleration Time By Using Speed Graph




The operation for setting and changing deceleration time by using a speed graph will now be described with reference to

FIGS. 78

,


85


and


86


.

FIG. 78

shows an example of a locating programming window by using a speed graph when the acceleration time is set and changed. A similar window is used when the deceleration time is set and changed as described below. Referring to the drawing, reference numeral


246


represents a deceleration time range in which the width of deceleration time required from limited speed to completion of deceleration and stop with the length of an arrow. Reference numeral


208


represents a deceleration time display area,


243


represents inclination of a deceleration pattern and


211


represents a deceleration time pointer for changing deceleration time, that is, the inclination


243


of the deceleration pattern.




The operation for changing deceleration time will now be described with reference to a flow chart shown in FIG.


85


. The deceleration time pointer


211


is located at the position of set time in the speed-graph making and displaying area


204


of the initially displayed window for use when the locating programming is performed by using a speed graph. When deceleration time is changed (step S


1700


), the deceleration time pointer


211


is dragged with the mouse so that the time movement pointer


247


is displayed which is moved to an arbitrary position in the right or left direction on the speed graph (step S


1701


). When deceleration time has been determined (step S


1703


), mouse dragging is suspended (step S


1704


). Then, the operation proceeds to step S


1705


. When deceleration time is not changed in step S


1700


, the operation proceeds to step S


1705


. When deceleration time is furthermore changed, the operation returns to step S


1700


. When deceleration time has been set (step S


1705


), the setting completion button


160


is selected (step S


1706


). Then, the operation is ended.




The operation for changing deceleration time will now be described with reference to a flow chart shown in FIG.


86


. When the deceleration time pointer


211


is being dragged with the mouse (step S


1710


), the deceleration time pointer


211


is moved to follow the time movement pointer


247


. Moreover, also the inclination


243


of the deceleration pattern, the deceleration time range


246


and the speed pattern


214


are changed (step S


1711


). Moreover, information of deceleration time corresponding to the length of the deceleration time range


246


on the speed graph is calculated so as to be stored in the deceleration-time storage area


234


(step S


1712


). Thus, display on the deceleration time display area


208


of the time-information-value display area


202


is updated (step S


1713


). The processes in steps S


1711


to S


1713


are performed until mouse dragging is suspended. When mouse dragging is suspended, the operation proceeds to step S


1715


(step S


1714


). When the deceleration time pointer


211


is not being dragged with the mouse in step S


1710


, the operation proceeds to step S


1715


.




The operation returns to step S


1710


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


1715


), information in the deceleration-time storage area


234


of speed graph output information is outputted as data


1804


of deceleration time of the acceleration/deceleration control parameter corresponding to the acceleration/deceleration control parameter number


1


and the operation is ended (step S


1716


).




The above-mentioned location programming apparatus is able to perform adjustment while change in the deceleration pattern occurring when the deceleration time is changed is confirmed.




17. Calculation and Display of Actual Deceleration Time in Deceleration Region By Using Speed Graph




The operation for calculating and displaying actual deceleration time in a deceleration region by using a speed graph will now be described with reference to

FIGS. 81

to


83


and


87


.

FIG. 87

shows an example of a locating programming window by using a speed graph in such a manner that a result of calculated actual acceleration/deceleration time is shown. Reference numeral


271




e


represents actual-deceleration-time display area,


271




c


and


271




d


represent speed-change-point-actual acceleration/deceleration time display areas and


272




c


,


272




d


and


272




e


represents the ranges indicated by the areas


271




c


,


271




d


and


271




e


with arrows.




The operation for calculating and displaying actual deceleration time in a deceleration region will now be described with reference to a flow chart shown in FIG.


87


. If the speed is not instructed, no operation is performed and the process is ended. If speed has been instructed (step S


1800


), actual deceleration time Tdr with respect to instructed speed for the final region is calculated in accordance with Equation 1200 (step S


1801


). A result of calculations is stored in the work area


283


for calculating acceleration/deceleration time and stored in the actual-deceleration-time storage area


261


(step S


1802


).








Tdr=Td*VM


+1


/Vmax


  Equation 1200






Tdr: actual deceleration time in final region




Td: deceleration time




Vmax: limited speed




VM+1: instructed speed for final region




In accordance with data in the actual-deceleration-time storage area


261


, the actual-deceleration-time display area


271




e


and the actual deceleration time range


272




e


of the time-information-value display area


202


are displayed (step S


1803


).




The contents (A) of the area


120


for storing the number of set points are stored in the work area


280


for data of the number of regions (step S


1804


). Then, the work area


281


for the counter (a) of the number of regions is initialized to “1” (step S


1805


). If data A of the number of regions is larger than the counter a of the number of regions, the processes in step S


1807


to S


1812


are performed. Thus, actual deceleration time required for the deceleration region between the passing points from instructed speed to completion of the deceleration and stop is calculated. If data A of the number of regions is smaller than the counter a of the number of regions, the process for calculating and displaying the actual deceleration time is ended (step S


1806


).




If data A of the number of regions is larger than the counter a of the number of regions, the difference between the instructed speed in the region P


a


and that in the region P


a+1


is calculated in accordance with Equation 1201 so as to be stored in the work area


282


for changing speed (X) (step S


1807


). If the amount X of changed speed is larger than 0 (step S


1808


), a deceleration region is indicated. Therefore, actual deceleration time Tdrx between regions P


a


and P


a+1


is calculated in accordance with the Equation 1202 so as to be stored in the work area


283


for a result of calculations of acceleration/deceleration time (step S


1809


). Then, the contents of the work area


283


for a result of calculations of acceleration/deceleration time are stored in the P


a


→P


a+1


acceleration/deceleration-time storage area


263


(step S


1810


). In accordance with data above, regions of the speed-change-point acceleration/deceleration time display areas


271




c


and


271




d


and the actual acceleration/deceleration time ranges


272




c


and


272




d


corresponding to P


a


→P


a+1


are displayed (step S


1811


). Then, the operation proceeds to step S


1812


.








X=Va+


1


−Va


  Equation 1201










Tdrx=Td*|X|/Vmax


  Equation 1202






X: amount of changed speed




Va: instructed speed in region a




Va+1: instructed speed in region a+1




Tdrx: actual deceleration time between region Pa and region Pa+1




Td: deceleration time




Vmax: limited speed




If the amount X of the changed speed is zero or larger than zero in step S


1808


, the same instructed speed or a acceleration region is indicated. Therefore, the operation proceeds to step S


1812


. Finally, the counter a for counting the number of regions is increased by one so that the counter is updated (step S


1812


). Then, the operation returns to step S


1806


. In step S


1806


data A of the number of regions and the counter a for counting the number of regions are again subjected to a comparison. If the counter a for counting the number of regions is larger than A, calculation and display of the actual deceleration time are completed.




The above-mentioned location programming apparatus enables actual deceleration time with respect to a deceleration region of an instructed speed pattern to automatically be recognized when locating programming is performed. Moreover, deceleration time suitable for a subject which must be controlled can easily be determined.




18. Setting and Changing of Rapid Stop Deceleration Time By Using Speed Graph




The operation for setting and changing rapid stop deceleration time by using a speed graph will now be described with reference to

FIGS. 78

,


88


and


89


.

FIG. 78

shows an example of a locating programming window using a speed graph when the acceleration time is set and changed. Also the operation for setting and changing the rapid stop deceleration time uses a similar window. Referring to the drawing, reference numeral


245


represents a rapid stop deceleration time range in which the width of rapid stop deceleration time required for the limited speed to completion of rapid stop and deceleration is indicated with the length of an arrow. Reference numeral


209


represents a rapid stop deceleration time display area,


244


represents inclination of rapid stop deceleration pattern and


212


represents a rapid stop deceleration time pointer for changing the rapid stop deceleration time, that is, the inclination


244


of the rapid stop deceleration pattern.




The operation for changing rapid stop deceleration time will now be described with reference to a flow chart shown in FIG.


88


. The rapid stop deceleration time pointer


212


is located at the position of set time in the speed-graph making and displaying area


204


in the displayed initial window described in the locating programming using the speed graph. When the rapid stop deceleration time is changed (step S


1900


), the rapid stop deceleration time pointer


212


is dragged with the mouse so that the time movement pointer


247


is displayed which is moved to an arbitrary position in the right or left direction on the speed graph (step S


1901


). When the rapid stop deceleration time has been determined (step S


1903


), mouse dragging is suspended (step S


1904


). Then, the operation proceeds to step S


1905


. If the rapid stop deceleration time is not changed in step S


1900


, the operation proceeds to step S


1905


. When the rapid stop deceleration time is furthermore changed, the operation returns to step S


1900


. When setting of the rapid stop deceleration time has been completed (step S


1905


), the setting completion button


160


is selected (step S


1906


). Then, the operation is ended.




The operation for changing rapid stop deceleration time will now be described with reference to a flow chart shown in FIG.


89


. When the rapid stop deceleration time pointer


212


is being dragged with the mouse (step S


1910


), the rapid stop deceleration time pointer


212


is moved to follow the time movement pointer


247


. Moreover, also the inclination


244


of the rapid stop deceleration pattern


244


and the rapid stop and deceleration time range


245


are changed (step S


1911


). Moreover, information of rapid stop deceleration time corresponding to the length of the rapid stop and deceleration time range


245


on the speed graph is calculated so as to be stored in the rapid-stop-deceleration-time storage area


235


(step S


1912


). Thus, display on the rapid stop deceleration time display area


209


of the time-information-value display area


202


is updated (step S


1913


). The processes in steps S


1911


to S


1913


are performed until mouse dragging is suspended. When mouse dragging is suspended, the operation proceeds to step S


1915


(step S


1914


). If the rapid stop deceleration time pointer


212


is not being dragged with the mouse in step S


1910


, the operation proceeds to step S


1915


.




The operation returns to step S


1910


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


1915


), information in the rapid-stop-deceleration-time storage area


235


of speed graph output information is outputted a rapid stop deceleration time data


1805


of the acceleration/deceleration control parameter corresponding to acceleration/deceleration control parameter number


1


. Then, the operation is ended (step S


1916


).




The above-mentioned location programming apparatus enables adjustment to be performed while change in the deceleration pattern occurring due to change in the rapid stop deceleration time is confirmed.




19. Calculation and Display of Actual Rapid Stop Deceleration Time By Using Speed Graph




The operation for calculating and displaying actual rapid stop deceleration time by using a speed graph will now be described with reference to

FIGS. 81

to


83


and


90


.

FIG. 82

shows an example of a locating programming window by using a speed graph in which a result of calculations of actual acceleration/deceleration time is displayed. Referring to the drawings, actual rapid stop deceleration time is time taken from instructed speed for region


1


to completion of rapid stop deceleration. Reference numeral


270


represents an actual rapid stop deceleration pattern from instructed speed for the region


1


to completion of rapid stop deceleration,


271




b


represents actual rapid stop deceleration time display area and


272




b


represents a range indicated with


271




b


with an arrow.




The operation for calculating and displaying actual rapid stop deceleration time will now be described with reference to a flow chart shown in FIG.


90


. When instructed speed has not been set, no operation is performed and the process is ended. When instructed speed has been set (step S


2000


), actual rapid stop deceleration time Tedr with respect to instructed speed for the region


1


is calculated in accordance with Equation 1300 (step S


2001


). A result of calculations is stored in the work area


283


for a result of calculations of acceleration/deceleration time and stored in the actual-rapid-stop-deceleration-time storage area


262


(step S


2002


).







Tedr=Ted*V




1


/


Vmax


  Equation 1300




Tedr: actual rapid stop deceleration time with respect to instructed speed for region


1






Ted: rapid stop deceleration time




Vmax: limited speed




V


1


: instructed speed for region


1






In accordance with data in the actual-rapid-stop-deceleration-time storage area


262


, an actual rapid stop deceleration time display area


271




b


and an actual rapid stop deceleration time range


272




b


of the time-information-value display area


202


are displayed (step S


2003


). Thus, calculation and display of the actual rapid stop deceleration time are ended.




The actual rapid stop deceleration time with respect to the instructed speed for the region


1


is calculated as described above. Also calculation and display can be performed for the instructed speed for each region in accordance with Equation 1300.




The above-mentioned location programming apparatus enables actual rapid stop deceleration time with respect to each region of the instructed speed pattern to automatically be recognized when locating programming is performed. Moreover, rapid stop deceleration time suitable for a subject which must be controlled can easily be determined.




20. Setting and Change of Dwell Time By Using Speed Graph




The operation for setting and changing dowel time by using a speed graph will now be described with reference to

FIGS. 91

to


95


.

FIG. 91

shows an example of a locating programming window using a speed graph when dowel time is set and changed. Reference numeral


247


represents a time movement pointer,


291


represents a dwell time range for indicating the dowel time with the length of an arrow,


290


represents a dwell time display area,


292


represents a dwell time pointer,


293


represents a M-code setting/display area and


294


represents a limited-torque setting/display area.





FIG. 92

shows an auxiliary-item-information storage area


223


of the speed-graph-output-information storage area


72


which is composed of a dwell-time storage area


295


, an M-code storage area


296


for each region and a limited-torque storage area


297


for each region.




An operation for initializing auxiliary items in the displayed initial window of the speed graph will now be described with reference to a flow chart shown in FIG.


93


. Initially, the dwell-time storage area


295


of the auxiliary-item-information storage area


223


is initialized to an initial value (step S


2100


). Moreover, the M-code storage area


296


for each region and the limited-torque storage area


297


for each region are, with initial values, initialized in a quantity corresponding to the number of points set for the area


120


for storing the number of set points (step S


2101


).




Then, display on the window is performed in accordance with information above. In accordance with information in the dwell-time storage area


295


, figures are displayed on the dwell time display area


290


of the time-information-value display area


202


. The dwell time range


291


is displayed and the dwell time pointer


292


is line-displayed at the end point of the dowel time range on the speed graph (step S


2103


). Then, the M-code setting/display area


293


and the limited-torque setting/display area


294


are sectioned into the number corresponding to the number of points set for the area


120


for storing the number of set points similarly to the speed change points (step S


2104


). In accordance with information in the M-code storage area


296


for each region, figures are displayed in the corresponding region of the M-code setting/display area


293


(step S


2105


). In accordance with information in the limited-torque storage area


297


for each region, figures are displayed on the corresponding region of the limited-torque setting/display area


294


(step S


2106


). Thus, the operation for initializing the auxiliary items is completed.




The operation for setting and changing the dowel time will now be described with reference to a flow chart shown in FIG.


94


. The dwell time pointer


292


is located at the position of set time in the speed-graph making and displaying area


204


as a result of the initializing operation. When dowel time is set (step S


2111


), the dwell time pointer


292


is dragged with the mouse so that the time movement pointer


247


is displayed which is moved to an arbitrary position in the right or left id on the speed graph time (step S


2112


). When dowel time has been set (step S


2114


), mouse dragging is suspended (step S


2115


). Then, the operation proceeds to step S


2116


. When the dowel time is not changed in step S


2111


, the operation proceeds to step S


2116


. When the dowel time is furthermore changed, the operation returns to step S


2111


. When dowel time has been set (step S


2116


), the setting completion button


160


is selected (step S


2117


). Thus, the operation is ended.




The operation for changing dowel time will now be described with reference to a flow chart shown in FIG.


95


. When the dwell time pointer


292


is being dragged with the mouse (step S


2120


), the dwell time pointer


292


is moved to follow the time movement pointer


247


. Moreover, also the dwell time range


291


and the speed pattern


214


are changed (step S


2121


). Information of dowel time corresponding to the length of the dwell time range


291


on the speed graph is calculated so as to be stored in the dwell-time storage area


295


(step S


2122


). Thus, display on the dwell time display area


290


of the time-information-value display area


202


is updated (step S


2123


). The processes in steps S


2121


to S


2123


are performed until mouse dragging is suspended. When mouse dragging is suspended (step S


2124


), the operation proceeds to step S


2125


. When the dwell time pointer


292


is not being dragged with the mouse in step S


2120


, the operation proceeds to step S


2125


.




The operation returns to step S


2120


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


2125


), information in the dwell-time storage area


295


of speed graph output information is outputted as location end point dowel time


2606


of the locating program code in a case where the locating control type storage area


81


is locus control. In a case where the locating control type storage area


81


is another locating control type, it is outputted as dowel time


2204


of data


2108


corresponding to the locating control type of the locating program code (step S


2126


). Thus, the operation is ended.




The location programming apparatus enables the ratio of time required from start to stop and dowel time to visually be recognized when locating programming is performed.




21. Setting and Change of M-Code By Using Speed Graph




The operation for setting and changing M code by using a speed graph will now be described with reference to

FIGS. 91

to


93


,


96


and


97


.

FIG. 91

shows an example of a locating programming window using a speed graph for setting and changing M code. Reference numeral


293


represents an M code setting and display area which is capable of displaying M-code setting permission regions


293




a


corresponding to the number


120


of set points to permit setting for each region. Moreover, a region range


293




b


for outputting the M code with respect to the set M code is displayed.




The operation for setting M code will now be described with reference to a flow chart shown in FIG.


96


. The M-code storage area


296


for each region and the M-code setting/display area


293


have been initialized as a result of the initializing operation described when the dowel time has been set and changed by using the speed graph. When M code is set (step S


2130


), an arbitrary region of the M-code setting permissible range


293




a


of the M-code setting/display area


293


is clicked with the mouse so that figures are input to set the M code (step S


2131


). If no M code is set in step S


2130


, the operation proceeds to step S


2133


. When M code is furthermore set, the operation returns to step S


2130


. When setting of the M code has been completed (step S


2133


), the setting completion button


160


is selected (step S


2134


). Thus, the operation is ended.




The operation for setting M code will now be described with reference to a flow chart shown in FIG.


97


. When the M-code setting permissible range


293




a


in the M code setting and displaying area has been clicked with the mouse (step S


2140


), the corresponding region is brought to a state in which input of figures is waited for (step S


2141


). When input of figures has been completed (step S


2142


), input numeral data is stored in the M-code storage area


296


in the corresponding region and a region range


293




b


for outputting the corresponding M code is displayed (step S


2143


). Then, the operation proceeds to step S


2145


. When the M-code setting permissible range


293




a


is not being clicked in step S


2140


, the operation proceeds to step S


2145


.




The operation returns to step S


2140


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


2145


), information in the M-code storage area


296


for each region of speed graph output information is outputted as M code data


2604




pm


and


2604


(1≦m≦M+1) for the region m of the locating program code in a case where the set locating control type is locus control. In a case where the locating control type is another locating control type, it is outputted as M code data


2202


of data


2108


corresponding to the locating control type of the locating program code (step S


2146


). Thus, the operation is ended.




The above-mentioned location programming apparatus enables M code to graphically be set to correspond to the control operation.




22. Setting and Changing of Limited Torque By Using Speed Graph




The operation for setting and changing limited torque by using a speed graph will now be described with reference to

FIGS. 91

to


93


,


98


and


99


.

FIG. 91

shows an example of a locating programming window for setting and changing limited torque by using a speed graph. Reference numeral


294


represents a limited-torque setting and displaying area for displaying limited-torque setting permissible regions


294




a


corresponding to the number


120


of set points. Thus, setting for each region is permitted. Moreover, a region range


294




b


for instructing the corresponding limited torque with respect to the set limited torque is displayed.




The operation for setting a limited torque will now be described with reference to a flow chart shown in FIG.


98


. The limited-torque storage area


297


for each region and the limited-torque setting/display area


294


have been initialized as described when setting and changing of the dowel time using the speed graph have been described. When limited torque is set (step S


2150


), an arbitrary region of the limited-torque setting permissible regions


294




a


of the limited-torque setting/display area


294


is clicked with the mouse and figures are input so that setting is performed (step S


2151


). When limited torque is not set in step S


2150


, the operation proceeds to step S


2153


. When limited torque is furthermore set, the operation returns to step S


2150


. When setting of limited torque has been completed (step S


2153


), the setting completion button


160


is selected (step S


2154


). Then, the operation is ended.




The operation for setting limited torque will now be described with reference to a flow chart shown in FIG.


99


. When the limited-torque setting permissible region


294




a


of the limited torque setting and displaying area is clicked with the mouse (step S


2160


), the region is brought to a state in which input of figures is waited for (step S


2161


). After input of figures has been completed (step S


2162


), supplied numeral data is stored in the limited-torque storage area


297


for the corresponding region. Moreover, the region range


294




b


for instructing the limited torque is displayed (step S


2163


). Then, the operation proceeds to step S


2164


. When the limited-torque setting permissible region


294




a


is not being clicked with the mouse in step S


2160


, the operation proceeds to step S


2165


.




The operation returns to step S


2160


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


2165


), information of the limited-torque storage area


297


for each region of speed graph output information is outputted as limited torque data


2605




p




m


and


2605


(1≦m≦M+1) in the region m of the locating program code in a case where the set locating control type is locus control. When another locating control type is set, it is outputted as limited torque data


2203


of data


2108


corresponding to the locating control type of the locating program code (step S


2166


). Then, the operation is ended.




The above-mentioned location programming apparatus enables limited torque for the motor to graphically be set to correspond to the control operation.




23. Decomposition/Display of Instructed Speed to Each Axis Using Speed Graph in a Case Where Two or More Axes Are Interpolation-Controlled




The operation for decomposing and displaying instructed speed into a speed pattern for each axis when two or more axes are interpolation-controlled will now be described with reference to

FIGS. 100

to


103


.

FIG. 100

is a flow chart for calculating the speed of each axis when two axes are interpolation-controlled. In accordance with the locating control type storage area


81


shown in

FIG. 3

, determination is performed whether the interpolation is linear interpolation or circular interpolation (step S


3400


). If the interpolation is linear interpolation, the speed instruction method


238


in the locating program speed information structural diagram shown in

FIG. 67

is used to branch the process into instruction of synthesized speed, instruction of reference axis or instruction of major axis (step S


3401


). After branching has been performed, speed for each method is decomposed to each axis (step S


3402


).




A method of decomposing the speed to that for each axis in a case of where two axes are interpolation-controlled and synthesized speed is instructed will now be described with reference to a flow chart shown in FIG.


101


. Whether or not the position instruction method in the description of the position instruction method by using the coordinate graph is “absolute position instruction” or “relative position instruction” is read from the position-location-method storage area


121


shown in FIG.


13


. Then, branching is performed (step S


3403


). When relative position instruction has been set, movement amounts d


1


and d


2


to the instructed point are the amounts of relative movements set for the locating-end-point-position-information storage area


122


shown in FIG.


13


. Therefore, the relative movement amounts are read (step S


3404


). When absolute position instruction has been set, movement amounts d


1


and d


2


to the instructed point are calculated by the same method as that employed when the relative movement amounts are calculated when the position instruction method is changed from the “absolute position instruction” to the “relative position instruction” as described when the position instruction method using the coordinate graph has been described (step S


3405


). Moreover, synthesized movement speed v to the above-mentioned point is read from the region-instructed-speed storage area


239


shown in

FIG. 67

(step S


3406


). Then, the movement amount and synthesized speed of each axis are used to calculate the speed of each axis (step S


3407


). At this time, the speed of each axis is decomposed as follows:








v




1


=


v×{d




1


/{square root over ( )}(


d




1




2




+d




2




2


)}  (Equation 1400)










v




2


=


v×{d




2


/{square root over ( )}(


d




1




2




+d




2




2


)}  (Equation 1401)






When the speed instruction method is the instruction of a reference axis, decomposition to the speed for each axis is performed by the following method. The movement amounts d


1


and d


2


to the instructed point are calculated by the same method as that employed when the synthesized speed instruction is set. Assuming that the instructed speed is v, the speed of the reference axis is V


1


, the speed of another axis is v


2


, the movement amount of the reference axis is d


1


and that of another axis is d


2


, the speed of each axis is expressed by the following Equations 1402 and 1403:








v




1


=


v


  (Equation 1402)










v




2


=


v


×(


d




2


/


d




1


)  (Equation 1403)






When the speed instruction method is the major-axis reference instruction method, decomposition to the speed of each axis is performed by the following method. The movement amounts d


1


and d


2


to the instructed point are calculated by the same method as that employed in the case of the synthesized speed instruction method. Assuming that the instructed speed is v, the speed of an axis which is moved greater is v


1


and that of another axis is v


2


, the movement amount of the axis which is moved greater is d


1


and the movement amount of the other axis is d


2


, the speed of each axis is expressed by the following Equations 1404 and 1405:







v




1


=


v


  (Equation 1404)








v




2


=


v


×(


d




2


/


d




1


)  (Equation 1405)






In a case of locus control of a type that a plurality of speed switch points exist in one program, the foregoing calculations are performed by using the movement amount and the instructed speed for each point. Then, decomposition to each axis for each point is required.




Also in a case where the instructed speed for each point includes a pattern in which the acceleration and deceleration speeds are changed, the ratio of the speeds for the axes with respect to the instructed speed is expressed by Equations 1400 and 1401 when the synthesized speed instruction is employed, the same is expressed by Equations 1402 and 1403 when the reference axis speed instruction is employed and the same is expressed by Equations 1404 and 1405 when the major-axis reference instruction. Therefore, the instructed speed for each time period is required to be decomposed to the speed of each axis in accordance with the speed instruction method.




Although two axes are linear-interpolation-controlled, a similar method enables decomposition from instructed speed to the speed of each axis if three or more axes are linear-interpolation-controlled.




The speed pattern obtained as described above and decomposed to each axis is graphically displayed on the speed graph similarly to the instructed speed pattern.

FIG. 102

shows an example of display of the speed pattern decomposed to each axis on the speed graph. Reference numeral


300


represents a speed pattern of the second axis and


301


represents a selection button for selecting an axis to be displayed. The selection button


301


causes display to be performed by the number of the start axes in accordance with the number of start axes h


82


and the start axis number


83


in the structure of common information shown in FIG.


3


. Moreover, speed decomposed to each axis is calculated for the axis selected by the selection button so as to be displayed. Moreover, figures are displayed on the figure display area


302


for the decomposed speed.




Although the linear interpolation has been described, a method of the decomposition to the speed for each axis in the case of the circular interpolation will briefly be described with reference to FIG.


103


. Referring to

FIG. 103

, reference numeral


310


represents instructed speed in the case of the circular interpolation, the instructed speed being speed in the direction of a tangent of a circular arc. Reference numeral


311


represents a central point of the circular arc,


312


represents a present position,


313


represents a speed component in the direction of the X-axis and


314


represents a speed component in the direction of the Y-axis at the present position


312


. The speed components


313


and


314


for each axis can be obtained from the following Equation 1406 in accordance with the law of geometry:








v




1


=−


v ×


sin θ (


315


)  (Equation 1406)






v: instructed speed (speed in the tangent direction of circular arc)




v


1


: speed component in the direction of X-axis




v


2


: speed component in the direction of Y-axis




(x


0


, y


0


): coordinates of central point of circular arc




(x, y): coordinate of a position at which speed is obtained




The method of obtaining the coordinate of the present position


312


by the Equation 1406 may be performed in such a manner that calculations for actually performing circular interpolation control are performed. Since the foregoing method does not relate to the decomposition of the speed, it is omitted from description.




The above-mentioned location programming apparatus enables change in the speed of each axis to graphically be displayed when interpolation operation is performed. Since the operation pattern for each axis can be recognized, determination of the capacity of the motor and the like can easily be performed.




24. Calculation/Display of Amount of Movement Performed Until Instructed Speed is Realized in Accordance With Acceleration Time by Using Speed Graph




The operation for calculating the movement amount required to accelerate the speed to reach instructed speed in accordance with acceleration time by using a speed graph and displaying a result will now be described with reference to

FIGS. 104

to


107


. Referring to a speed graph shown in

FIG. 104

, reference numeral


320


represents an axis of abscissa of the graph standing for the time axis,


321


represents an axis of ordinate standing for the speed,


322


represents speed v


1


before acceleration,


323


represents speed v


2


after acceleration and


324


represents an acceleration region. It is apparent that the movement amount required to accelerate speed v


1


to another speed level v


2


is the area of the acceleration region


324


indicated with diagonal lines. Therefore, if the area of the acceleration region


324


is obtained, the movement amount required to reach the instructed speed can be obtained regardless of the acceleration pattern. The area of the acceleration region


324


, that is, the movement distance required to perform acceleration can be calculated in accordance with the following Equation 1500 assuming that time corresponding to time axis of the speed graph is t, time at which acceleration is started is t


0


, time at which acceleration is completed is t


1


and a function indicating the acceleration pattern is f (t). Note that integrating period is t


0


to t


1


.






area (movement distance required to perform acceleration)=∫


f


(


t


)


dt


  (Equation 1500)






An example of a method of calculating the distance required to accelerate the speed in accordance with Equation 1500 in a case of trapezoid acceleration/deceleration will now be described. In the case of the trapezoid acceleration/deceleration, Equation 1500 causes the area of a triangle formed when acceleration is performed in the speed graph. In accordance with actual acceleration time


260


shown in FIG.


81


and obtained by calculating and displaying the actual acceleration time in the acceleration region in the speed graph and in accordance with the instructed speed, the distance required to accelerate the speed can be obtained by the following Equation 1501:








dar


=(


tar=v


)/2  (Equation 1501)






dar: distance required to accelerate the speed




tar: actual acceleration time




v: instructed speed




A method of displaying an acceleration period from a start point to a position apart from the same for a movement distance required to accelerate the speed on the locating locus on the coordinate graph by using the movement amount obtained as described above and required to accelerate the speed will now be described with reference to

FIGS. 105

to


107


.

FIG. 105

is a flow chart showing the method of displaying an acceleration region on the coordinate graph. Initially, branching is performed depending on whether two or axes are interpolation-controlled or one axis is interpolation-controlled (step S


4500


). If one axis is controlled, the instructed speed is the speed of the above-mentioned axis (step S


4502


). If two or more axes are interpolation-controlled, the method of decomposing and displaying the instructed speed to the speed pattern for each axis is employed to decompose the instructed speed to the speed for each axis (step S


4501


). When interpolation control is performed, the actual acceleration time of the speed decomposed to each axis is the same as the actual acceleration time of the synthesized speed. Therefore, the actual-acceleration-time storage area


260


is read (step S


4503


). Then, the movement amount required to accelerate the speed is calculated for the number of start axes in accordance with Equation 1501 (step S


4504


). Assuming that the coordinate of the location start point of the two axes displayed on the coordinate graph are (x


0


, y


0


) and movement amounts of the two axes required to accelerate the speed are dx and dy, the coordinates at which the acceleration is completed are as follows (step S


4505


):






X-axis coordinates of point at which acceleration is completed=


x




0


+


dx








 Y-axis coordinates of point at which acceleration is completed=


y




0


+


dy


  (Equation 1502)




x


0


: coordinates of X-axis of point at which location is started




y


0


: coordinates of Y-axis of point at which location is started




dx: movement amount of X-axis required to accelerate speed




dy: movement amount of Y-axis required to accelerate speed




The thus-obtained coordinates at which the acceleration is completed and the location start point are displayed on the coordinate graph shown in

FIG. 106

as indicated with reference numeral


325


(step S


4506


). Note that the coordinates of the acceleration completion points may be displayed with figures as indicated with reference numerals


326


and


327


shown in FIG.


107


.




The above-mentioned location programming apparatus enables the position at which acceleration is completed to be displayed. Therefore, the position at which the speed is made to be constant can easily be detected.




25. Calculation/Display of Amount of Movement Performed From Start of Deceleration to Stop in Accordance With Deceleration Time and Using Speed Graph




The operation for calculating the movement amount required from start of deceleration to stop in accordance with the deceleration time and displaying a result will now be described with reference to FIG.


108


. Referring to a speed graph shown in

FIG. 108

, reference numeral


330


represents speed v


1


before deceleration,


331


represents speed v


2


after deceleration and


332


represents a deceleration region. It is apparent that the movement amount required to decelerate speed v


1


to another speed level of v


2


is the area of the deceleration region


332


indicated with diagonal lines. If the area of the deceleration region


332


is obtained, the movement amount required to decelerate the speed and stop the movement can be obtained regardless of the deceleration pattern. The area of the deceleration region


332


, that is, movement distance required to decelerate the speed can be calculated in accordance with the following Equation 1601 assuming that time corresponding to the time axis of the speed graph is t, time at which deceleration is started is t


0


, time at which movement is stopped is t


1


and a function indicating the deceleration pattern is f (t). Note that integrating region is t


0


to t


1


.






area (movement distance required to decelerate speed)=∫


f


(


t


)


dt


  (Equation 1601)






When two or more axes are interpolation-controlled, the movement amount required to decelerate the speed is obtained from the speed graph of the synthesized speed shown in FIG.


82


. Thus, a movement amount which is required to decelerate the speed and which is a result of the interpolation can be obtained. In accordance with the speed graph showing the decomposed speed for each axis shown in

FIG. 102

, the movement amount for each axis required to decelerate and stop the movement can be obtained.




The thus-obtained movement amount required to decelerate the speed and stop the movement is used to display a deceleration region from the movement stop position to a position returned for a movement amount required to decelerate the speed on the locating locus of the coordinate graph. The display method is similar to the method of calculating and displaying the movement amount required to reach the instructed speed in accordance with the acceleration time by using the above-mentioned speed graph.




The above-mentioned location programming apparatus enables the deceleration distance in accordance with the deceleration time to easily be displayed. Therefore, the position at which deceleration is started can easily be understood.




26. Calculation/Display of Amount of Movement Performed From Deceleration to Stop in Accordance with Rapid Stop Deceleration Time and Using Speed Graph




The operation for calculating the movement amount required to decelerate the speed and stop the movement in accordance with the rapid stop deceleration time and displaying a result will now be described with reference to FIG.


109


. Referring to the speed graph shown in

FIG. 109

, reference numeral


340


represents speed v


1


before rapid stop deceleration,


341


represents speed v


2


after rapid stop deceleration and


342


represents a rapid stop deceleration region. It is apparent that the movement amount required for speed v


1


to rapidly be decelerated to another speed level of v


2


is the area of the rapid stop deceleration region


342


indicated with diagonal lines. If the area of the rapid stop deceleration region


342


can be obtained, a requited movement amount to rapidly stop the movement can be obtained regardless of the rapid stop deceleration pattern. The area of the rapid stop deceleration region


342


, that is the movement distance required to complete the rapid stop can be calculated in accordance with the following Equation 1701 assuming that time corresponding to the time axis of the speed graph is t, time at which rapid stop is started is t


0


, time at which the movement is stopped is t


1


and a function indicating the rapid deceleration pattern is f (t). Note that the integrating period is t


0


to t


1


.






area (movement distance required to rapidly stop movement)=∫


f


(


t


)


dt


  (Equation 1701)






When two or more axes are interpolation-controlled, the movement amount required to rapid stop the movement is obtained from the speed graph of the synthesized speed shown in FIG.


82


. Thus, the movement amount which is required to accelerate the speed and which is a result of the interpolation can be obtained. In accordance with the speed graph decomposed to each axis shown in

FIG. 102

, the movement amount for each axis required to rapidly stop the movement can be obtained.




The thus-obtained movement amount required to rapid stop the movement is used to display a rapid stop deceleration region from the position at which rapid stop has been completed to a position returned for a movement amount required to rapid stop the movement on the locating locus of the coordinate graph. The display method is similar to the method of calculating and displaying the movement amount required to reach the instructed speed in accordance with the acceleration time by using the above-mentioned speed graph.




The above-mentioned location programming apparatus enables the rapid stop deceleration distance in accordance with the rapid stop deceleration time to be understood. Therefore, the distance required from instruction to rapid stop the movement can easily be understood.




27. Display of Maximum Speed and Rated Speed of Motor on Drive Shaft Using Speed Graph




The operation for displaying maximum speed and rated speed obtained from maximum number of revolutions and rated number of revolutions of a motor on a drive shaft will now be described with reference to

FIGS. 110

to


112


. The maximum number of revolutions and rated number of revolutions of a motor are limits with which the operation of the motor is guaranteed and which are determined for each type of the motors. In general, the number of revolutions is number of revolutions per minutes and indicated in units of [r/min]. On the other hand, the instructed speed for a locating program is expressed in a unit system of a machine which is operated by the motor.

FIG. 110

shows the structure of a parameter memory in which parameters for converting the number of revolutions of the motor into instructed speed unit. Reference numeral


350


a memory in which unit conversion parameter indicating the degree of movement in an instructed unit per rotation of the motor is stored.

FIG. 111

shows the structures of parameter memories on which the maximum number of revolutions for the motor and the rated number of revolutions are stored. Reference numeral


351


represents a memory on which the maximum number of revolutions for the motor is stored and


352


represents a memory on which the rated number of revolutions of the motor is stored.




In a case where the instructed unit is [mm] and the unit of the instructed speed is amount of movement [mm/min] per minute and the unit conversion parameter


350


indicates the distance which is in units of mm and for which the machine which is operated by the motor, the maximum speed converted into the instructed unit system from the unit conversion parameter


350


the maximum number of revolutions


351


can be obtained from the following Equation 1801:






maximum speed [mm/min]=unit conversion parameter [mm/r] maximum number of revolutions [r/min]  (Equation 1801)






Also the rated speed can be obtained from the unit conversion parameter


350


and the rated number of revolutions


351


in accordance with the following Equation 1802:






rated speed [mm/min]=unit conversion parameter [mm/r]×rated number of revolutions [r/min]  (Equation 1802)






Although the instructed unit is [mm] and the unit for the speed is [mm/min] in the description above, conversion may, of course, be performed if the unit system is another system.




The thus-obtained maximum speed and the rated speed are displayed on the speed graph.

FIG. 112

shows an example of the maximum speed and the rated speed on the speed graph. Reference numeral


353


represents a figure display area for the maximum speed,


354


represents a figure display area for the rated speed,


355


represents a maximum-speed display line showing the maximum speed and


356


represents a rated-speed display line showing the rated speed. The display is performed by a method similar to the method of displaying the limited speed described when the limited speed is set and changed by using the speed graph. Thus, the maximum speed and the rated speed obtained in accordance with the Equations 1801 and 1802 are used so that display on the speed graph shown in

FIG. 112

is performed.




The above-mentioned location programming apparatus is arranged in such a manner that the maximum number of revolutions and the rated number of revolutions of the employed motor are displayed on the speed graph. Therefore, the necessity of converting the maximum number of revolutions and the rated number of revolutions into the unit of the speed can be eliminated to determine limited speed.




28. Change of Acceleration/Deceleration Pattern Using Speed Graph




The operation for calculating and illustrating acceleration from data of a speed pattern by using the speed graph and changing the illustrated shape of the acceleration graph so as to change the acceleration/deceleration pattern on the speed graph will now be described with reference to

FIGS. 113 and 114

. The acceleration is an amount of change of the speed per unit time. Assuming that a function of the speed in terms of time t is v (t) and a function of the acceleration in terms of time is a (t), a fact has been known that the acceleration is expressed by differentiating the speed with time as shown in the following Equation 1900:








a


(


t


)=


dv


(


t


)/


dt


  (Equation 1900)






The foregoing Equation 1900 can be used to obtain a graph showing change as time elapses from the speed graph and the graph can be displayed.

FIG. 113

is a graph showing the relationship between the speed and the acceleration when the trapezoid acceleration/deceleration, that is, when the acceleration/deceleration is performed at a constant acceleration. Reference numeral


360


represents a graph showing change in the speed as time elapses and


361


represents a graph showing change in the acceleration as time elapses corresponding to change in the speed as time elapses. In the graph


360


showing the change in the acceleration as time elapses, it is apparent that the area of the portion


362


indicated with diagonal lines is the same as the speed which has been made to be constant from the above-mentioned Equation 1900.




A method of displaying the acceleration graph shown in

FIG. 114

will now be described in such a manner that the trapezoid acceleration/deceleration is performed for example. When the trapezoid acceleration/deceleration is performed, that is, when the constant acceleration is employed, the acceleration a can be obtained as follows from actual acceleration time ta


260


determined as a result of calculations and display of the actual acceleration time in the acceleration region in the above-mentioned speed graph and instructed speed


239


stored in the locating program speed information area shown in FIG.


67


.








a=V/Tar


  (Equation 1901)






a: acceleration




v: instructed speed




tar: actual acceleration time




Therefore, a straight line having a size of a which is the actual acceleration time tar is drawn from the point at which acceleration has been started. The acceleration is zero after the actual acceleration time has elapsed, that is, from the point at which acceleration has been completed to a next change in the speed. Then, the acceleration is required to be calculated and illustrated at each point at which the speed is changed. As a matter of course, the instructed speed v in the Equation 1901 is the different between the speed after the change and that before the change in a case where acceleration is not performed from a stopped state and in a case where the speed is changed at an intermediate locating point. As a matter of course, the straight line can be drawn in a case of deceleration similar to the acceleration.




The procedure for changing the acceleration and the acceleration time by using the acceleration graph will now be described.

FIG. 114

shows an example of the structure of a window for setting an acceleration graph obtained from a speed graph. Referring to

FIG. 114

, reference numeral


362


represents a graph showing acceleration,


363


represents a pointer for changing the acceleration and


364


represents a pointer for changing actual acceleration time. Reference numeral


365


represents an area for displaying the acceleration with figures. The pointer


363


is able to vertically move in the speed-graph making and displaying area


204


as a result of dragging operation of the mouse. A point at which the dragging operation has been suspended indicates the acceleration. When the acceleration is changed without change of the instructed speed, the actual acceleration time must be changed to correspond to the acceleration as can be understood from Equation 1901. In this case, the actual acceleration time can be obtained as follows as can be understood from Equation 1901:








tar=v/a


  (Equation 1902)






Therefore, the actual acceleration time is again calculated in accordance with the Equation 1902 to correspond to the determined acceleration. In accordance with the result of the calculations, an acceleration graph is again drawn. Moreover, the obtained acceleration time is stored in the actual-acceleration-time storage area


260


of the actual acceleration/deceleration time information area shown in FIG.


81


. Moreover, the acceleration time


233


in the acceleration/deceleration control parameter area shown in

FIG. 66

is again calculated so as to be stored in the area


233


. It is apparent that the method of again calculating the acceleration time


233


can be performed in accordance with the following Equation 1903 from the description of the locating programming using the speed graph:








ta


=(


vmax/v





tar


  (Equation 1903)






ta: acceleration time




tar: actual acceleration time




vmax: limited speed




v: instructed speed




Also the acceleration graph permits the acceleration time to be changed. Referring to the drawing, the pointer


364


is able to move to the right and left in the speed-graph making and displaying area


204


when a dragging operation with the mouse has been performed. A point at which the dragging operation has been suspended indicates acceleration time. When the acceleration time is changed without change in the instructed speed, the acceleration must be changed as described above.




Although the process which is performed when acceleration is performed has been described, a similar method may, of course, be employed to change the deceleration time and acceleration for the deceleration process on the acceleration graph when the deceleration process is performed.




Although only the acceleration and the acceleration time are changed in the description above, the acceleration/deceleration pattern can be changed by deforming the acceleration graph.




The above-mentioned location programming apparatus enables acceleration time and deceleration time to be set by using the acceleration graph. Therefore, the acceleration time and deceleration time can be set while a user is conscious of the acceleration.




29. Display of Effective Speed Change Range Using Coordinate Graph




The operation for displaying an effective speed change range on the coordinate graph will now be described with reference to

FIGS. 115

to


117


.

FIG. 115

shows an example of a graph showing change in the instructed speed as time elapses when locating control is performed. Reference numeral


370


represents a graph showing change in the speed as time elapses. Reference numeral


371


represents a region in which deceleration is performed to a point at which location is completed. When the instructed speed is changed during the locating control, the position moved from the position at which deceleration has been started for a deceleration distance in accordance with a deceleration pattern is the position at which locating is completed. Therefore, speed cannot be changed even if change in the speed is requested during deceleration to the point at which locating is completed, that is, in a region


371


shown in FIG.


115


. That is, the region from the point at which locating has been started to a point at which deceleration is started toward the point at which locating is completed is the effective range for changing the speed.




A method of displaying the effective speed-change range on the coordinate graph will now be described in such a manner that two axes are linearly interpolated.

FIG. 116

shows an example of a coordinate graph showing an effective range in which speed can be changed. Reference numeral


380


represents a point at which locating is started,


381


represents a point a which deceleration is started and


382


represents a point at which locating is completed.

FIG. 117

is a flow chart for displaying the effective speed-change range on the coordinate graph. The description will be performed with reference to FIG.


117


. The deceleration distance required from the point at which deceleration has been started to the point at which locating is completed, that is, completion of the stop of the movement can be obtained by the method described when the movement amount is calculated and displayed (step S


700


). In accordance with the thus-obtained deceleration distance for each axis and the point at which locating is completed, the point at which deceleration is started toward the point at which locating is completed can be obtained as follows (step S


701


):








x




dp




=xe−dx












Y




dp




=ye−dy


  (Equation 700)






xdp: coordinate of deceleration start point to locating completion point on X-axis




ydp: coordinate of deceleration start point to locating completion point on Y-axis




xe: coordinate of locating completion point on X-axis




ye: coordinate of locating completion point on Y-axis




dx: deceleration distance on X-axis




dy: deceleration distance on Y-axis




Therefore, the range from the locating start point


380


to the deceleration start point


381


obtained in accordance with Equation 700 is the effective speed-change range. Since the passage from the locating start point


380


to the deceleration start point


381


on the coordinate graph shown in

FIG. 116

is the effect speed-change range, the locating passage in the effective speed-change range is drawn on the coordinate with a changed type of line or the color of the like (step S


702


).




The above-mentioned location programming apparatus is able to prevent an error that “request for changing speed is executed during operation in which speed change is ineffective” detected by a controller during execution of the program when the locating programming is performed.




30. Locating Programming Using Coordinate Graph While Displaying List Form Locating Program




The operation for performing locating programming by using a coordinate graph while displaying a list-form locating program will now be described with reference to

FIGS. 118 and 119

.

FIG. 118

shows an example of a window when a location end point


151


is changed in a program for linear interpolation locating of two axes in a case where the position instruction method is the absolute position instruction. The operation described when the linear control is performed by using the coordinate graph has been described is employed to change the locating end point. Referring to the drawing, reference numeral


430


represents a list-form locating program display area on which a corresponding locating program list is displayed in accordance with information stored in the graphic programming work memory


4


. Reference numerals


431




a


and


431




b


represent required position data of the start axis numbers in such a manner that the contents of the end-point-position information storage area


122


of the start axis number are displayed.




The operation for simultaneously displaying a list-form locating program when locating programming is performed by using a coordinate graph will now be described with reference to a flow chart shown in

FIG. 119

in such a manner that a case of two axes are linear-interpolated by instructing absolute position. In accordance with information in the locating control type storage area


81


of the common-information storage area


70


of the graphic programming work memory


4


, a corresponding program is determined. Required information is fetched from the coordinate-graph-output-information storage area


71


, the speed-graph-output-information storage area


72


and the other-time-transition-graph storage area


73


so as to be formed into a list which must be displayed. When the location end point


151


is being dragged with the mouse on the coordinate graph (step S


320


), display of required position data


431




a


and


431




b


of the start axis number in the list-form locating program display area


430


is updated in accordance with position information stored in the end-point-position information storage area


122


of the start axis number in addition to the process in steps S


321


to S


323


for the linear control by using the coordinate graph (step S


2300


). The processes in steps S


321


to S


2300


are performed until mouse dragging is suspended. When mouse dragging has been suspended, the operation proceeds to step S


325


. Then, a process similar to that when linear control is performed by using the coordinate graph is performed.




The above-mentioned location programming apparatus enables the process of setting a list-form locating program when the locus operation has been changed to simultaneously be recognized.




31. Locating Programming Using List Form Locating Program While Displaying Coordinate Graph




The operation for performing locating programming by using a list-form locating program while displaying a coordinate graph will now be described with reference to

FIGS. 120

to


122


.

FIG. 120

shows an example of a window for linear interpolation of two axes are performed in a state where the position instruction method is the absolute position instruction. Reference numeral


440


represents a cursor for showing a state where figures are input which is displayed when each data setting column of the list-form locating program display area


430


is clicked with the mouse. Thus, data can be set with figures.




The operation for changing the list-form locating program while displaying the coordinate graph will now be described with reference to a flowchart shown in FIG.


121


. When required position data is set and changed by using the list-form locating program (step S


2400


), the figure portion which must be set and changed is clicked with the mouse (step S


2401


). Thus, figures are input (step S


2402


). When setting and change have been completed (step S


2403


), a return key is depressed (step S


2404


) to end the setting operation using the list.




The operation for changing the list-form locating program while displaying the coordinate graph will now be described with reference to a flow chart shown in FIG.


122


.

FIG. 122

shows a case of a locating program for linear-interpolating two axis in a state in which the position instruction method is the absolute position instruction. When a required position data column in the list-form locating program display area


430


is clicked with the mouse (step S


2410


), the cursor


440


is displayed at the corresponding position so that a state in which input of figures is waited for is realized (step S


2411


). When figures are supplied (step S


2412


), the supplied figures are displayed at the position of the cursor


440


. Then, the cursor is moved to the right for a distance corresponding to one character (step S


2413


). The processes in steps S


2412


and S


2413


are performed until the return key is depressed. When the return key has been depressed (step S


2414


), information of supplied figures in the data column are fetched so as to be stored in the end-point-position information speed graph area


122


of the start axis number (step S


2415


).




In accordance with information in the end-point-position information storage area


122


of the start axis number, the location end point (•)


151


on the coordinate graph is moved to the corresponding position. Also the right-left directional cursor bar


155




a


and the up-down directional cursor bar


155




b


are moved. Thus, the locus


157


is displayed (step S


2416


). Moreover, display on the end-point-position display areas


143




a


and


143




b


of the areas


137




a


and


137




b


in which the number of set information on X- and Y-coordinates are stored is updated (step S


323


). Then, the cursor is erased (step S


2417


). Thus, the operation for setting and changing the program by using the list is ended.




The above-mentioned location programming apparatus enables the process of change of the locus operation when position data of the list-form locating program is changed to simultaneously be recognized.




32. Locating Programing Using Speed Graph While Displaying List Form Locating Program




The operation for performing locating programming by using a speed graph while displaying a list-form locating program will now be described with reference to

FIGS. 123 and 124

.

FIG. 123

shows an example of a window for changing a speed pattern in a locating program for linear-interpolating two axes. The speed pattern


214


is changed by the operation described when the locating programming is performed by using the speed graph. Referring to the drawing, reference numeral


430


represents a list-form locating program display area


430


on which a locating program list is displayed in accordance with information stored in the graphic programming work memory


4


. Reference numeral


450


represents instructed speed data in which the contents of the region-instructed-speed storage area


239


of the region


1


are displayed. Reference numeral


451


represents a speed instruction method which is displayed in accordance with the contents of the speed-instruction-method storage area


238


.




The operation for simultaneously displaying a list form locating program when locating programming is performed by using a speed graph will now be described with reference to a flow chart shown in FIG.


124


. Initially, a corresponding program is determined in accordance with information in the locating control type storage area


81


of the common-information storage area


70


of the graphic programming work memory


4


. Required information is fetched from the coordinate-graph-output-information storage area


71


, the speed-graph-output-information storage area


72


and the other-time-transition-graph storage area


73


so as to be formed into a list which must be displayed.




The same processes as those for the locating programming process using the speed graph are given the same step numbers as those shown in the flow chart shown in FIG.


71


. When the speed instruction method selection button is clicked with the mouse in step S


1240


, the method selected by the speed instruction method


451


of the list-form locating program display area


430


is displayed in addition to the process until step S


1243


is performed for performing locating programming by using the speed graph (step S


2500


). If the speed pattern


214


is being dragged with the mouse in step S


1247


, instructed speed data


450


in the list-form locating program display area


430


is displayed in accordance with information in the region-instructed-speed storage area


239


in addition to the processes until step S


1252


is performed (step S


2501


). Then, the same operation as that for performing locating programming by using the speed graph is performed.




The above-mentioned location programming apparatus enables setting of the list-form locating program when the speed pattern has been changed to simultaneously be recognized.




33. Locating Programming Using List Form Locating Program While Displaying Speed Graph




The operation for performing locating programming by using a list-form locating program while displaying the speed graph will now be described with reference to

FIGS. 125

to


127


.

FIG. 125

shows an example of a window for changing the speed pattern in the locating program for linear-interpolating two axes. Reference numeral


440


represents a cursor for showing a state in which figures which are displayed when each data setting column in the list-form locating program display area


430


is clicked with the mouse are input. Thus, each data can be set with figures.




The operation for changing the list-form locating program while displaying the speed graph will now be described with reference to a flow chart shown in FIG.


126


. When the instructed speed data is set and changed by using the list-form locating program (step S


2600


), the portion which must be set and changed is clicked with the mouse (step S


2401


) so that figures are input (step S


2402


). When setting and changing have been completed (step S


2403


), the return key is depressed (step S


2404


). Thus, setting with the list is ended.




The operation for changing the List-form locating program while displaying the speed graph will now be described with reference to a flow chart shown in FIG.


127


. When an instructed speed data column of the list-form locating program display area


430


is clicked with the mouse (step S


2610


), the cursor


440


is displayed at the clicked position so that a state in which input of figures is waited for is realized (step S


2411


). When figures have been supplied (step S


2412


), supplied figures are displayed at the position of the cursor


440


. Then, the cursor is moved to the right for a distance corresponding to one character (step S


2413


). The processes insteps S


2412


and S


2413


are performed until the return key is depressed. When the return key has been depressed (step S


2414


), information of supplied figures in the corresponding data column is stored in the region-instructed-speed storage area


239


(step S


2611


).




In accordance with information in the region-instructed-speed storage area


239


, the speed pattern


214


on the speed graph is changed. Moreover, the instructed speed line


205


in the corresponding region is moved (step S


2612


). Moreover, display in the instructed speed figure display area


215


in the corresponding region in the speed-information-value display area


203


is updated (step S


2613


). Then, the cursor is deleted (step S


2417


). Thus, setting and changing of the program by using a list is ended.




The above-mentioned location programming apparatus enables the change in the speed pattern when speed data in the list-form locating program has been changed to simultaneously be understood.




34. Display of Range in Which Passing Points in Circular Interpolation can be Set When Passing-Point Instructed Circular Interpolation is Performed




The operation for displaying a range in which the passing point for circular interpolation can be set and a range in which setting is inhibited on the coordinate graph when the locating programming for a passing-point-instructed circular interpolation is performed by using the coordinate graph described when the passing-point-instructed circular interpolation using the coordinate graph has been described will now be described with reference to

FIGS. 128

to


130


.

FIG. 128

shows an example of a window which is displayed when the passing-point-instructed circular interpolation is performed. The operation for the passing-point-instructed circular interpolation using the coordinate graph is performed to perform programming for the passing-point-instructed circular interpolation. Referring to the drawings, reference numerals


515




a


and


515




b


represent setting-range-displaying circle showing setting-range-permissive of the circular-interpolation passing point


500


which are two circles each of which passes through the location start point


150


and the location end point


151


and each of which has a maximum circular arc radius which can be circular-interpolation-controlled by a locating controller


1001


. Reference numeral


516


represents a region in which setting of a passing point is inhibited because the circular arc radius exceeds the maximum circular arc radius which can be circular-interpolation-controlled by the locating controller


1001


if the circular-interpolation passing point


500


is set. The range in which the outer regions of the setting-range-displaying circles


515




a


and


515




b


overlap and the range in which the inner regions overlap the above-mentioned region. In this description, the region is indicated with diagonal lines on the coordinate-graph making/display area


136


so as to be distinguished from the other regions. Reference numeral


517


represents a passing-point-setting-permissible region which can be circular-interpolation-controlled by the locating controller


1001


, the region being a region on the outside the region


516


in which setting of a passing point is inhibited on the coordinate-graph making/display area


136


.





FIG. 130

shows a circular-interpolation-type-setting-range-information storage area


558


of the graphic programming work memory


4


which is composed of a maximum circular interpolation radius storage area


560


, areas


561




a


,


561




b


,


562




a


and


562




b


for storing information of the positions of central points


1


and


2


for the circular interpolation of the start axis number when the locating programming for the passing-point-instructed circular interpolation or the radius-instructed circular interpolation is performed.




The operation for displaying, on the coordinate graph, the circular interpolation passing point setting permissible range and setting inhibited range when locating programming for the passing-point-instructed circular interpolation is performed will now be described with reference to a flow chart shown in FIG.


129


. Initially, the maximum circular interpolation radius which can be circular-interpolation-controlled by the locating controller


1001


is stored in the maximum circular interpolation radius storage area


560


(step S


3000


). In accordance with information in the areas


560


,


127




a


,


127




b


,


122




a


and


122




b


for storing information of the positions of the maximum circular interpolation radius, location start point and location end point, position information of the coordinates of the two central points of the circles passing through the location start point


150


and the location end point


151


and having the maximum circular interpolation radius are calculated in step S


3001


. Obtained information is stored in the areas


561




a


,


561




b


,


562




a


and


562




b


for storing central points


1


and


2


of the circles having the maximum radius of the start axis numbers nx and ny. In step S


3002


the two setting-range-displaying circles


515




a


and


515




b


are displayed in accordance with information in the areas


560


,


561




a


,


561




b


,


562




a


and


562




b


for storing information of the positions of the maximum circular arc radius, the central points


1


and


2


of the circles having the maximum radius of the start axis number. In step S


3003


the overlap range in the outer region of the two setting-range-displaying circles


515




a


and


515




b


is displayed with diagonal lines as the region


516


in which setting of a passing point is inhibited. In step S


3004


the overlap range in the inner portion of the two setting-range-displaying circles


515




a


and


515




b


is displayed with diagonal lines as the region


516


in which setting of a passing point is inhibited.




When the location start point


150


or the location end point


151


has been moved because of the mouse dragging operation described in locating programming by using coordinate graph (step S


3005


), the operation proceeds to step S


3006


. If the movement is not performed, the operation proceeds to step S


3010


. In step S


3006


position information of coordinates of the two central points of the circles passing through the location start point


150


and the location end point


151


and having the maximum circular interpolation radius is calculated in accordance with information in the areas


560


,


127




a


,


127




b


,


122




a


and


122




b


for storing information of the positions of the maximum circular interpolation radius, location start point and the location end point. Obtained information is stored in the areas


561




a


,


561




b


,


562




a


and


562




b


for storing information of the positions of the central points


1


and


2


of the circles having the maximum radius of the start axis numbers nx and ny. In step S


3007


the two setting-range-displaying circles


515




a


and


515




b


are updated in accordance with information in the areas


560


,


561




a


,


561




b


,


562




a


and


562




b


for storing information of the positions of the maximum circular arc radius and the central points


1


and


2


. In step S


3008


the overlap range of the outer regions of the two setting-range-displaying circles


515




a


and


515




b


is displayed with diagonal lines as the region


516


in which setting of a passing point is inhibited. In step S


3009


the overlap range of the inner regions of the two setting-range-displaying circles


515




a


and


515




b


is displayed with diagonal lines as the region


516


in which setting of a passing point is inhibited. The operation returns to step S


3005


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


3010


), the operation is ended.




The above-mentioned structure is arranged in such a manner that the setting permissible range and the setting inhibited range for the circular interpolation passing point are simply displayed on the coordinate graph. When movement of the circular interpolation passing point into the setting inhibited range is inhibited, undesirable making of a circular interpolation program which cannot be circular-interpolation-controlled by the locating controller


1001


can be prevented.




The above-mentioned structure is arranged in such a manner that the setting permissible range and the setting inhibited range for the circular interpolation passing point are always displayed on the coordinate graph. When an error message is made when the circular interpolation passing point exists in the setting inhibited range in a case where the setting completion button


160


has been selected, undesirable making of a circular interpolation program which cannot be circular-interpolation-controlled by the locating controller


1001


can be prevented.




The above-mentioned location programming apparatus enables a setting range which can be circular-interpolation-controlled by the locating controller to easily be confirmed when the locating program for the passing-point-instructed circular interpolation control is set and changed by using a locus graph.




35. Display of Range in Which Radius-Instructed Points can be Set When Radius-Instructed Circular Interpolation is Performed




The operation for displaying a range in which the passing point for radius-instructed circular interpolation can be set on the coordinate graph when the locating programming for a radius-instructed circular interpolation is performed by using the coordinate graph described when locating programming of the radius-instructed circular interpolation is performed by using the coordinate graph will now be described with reference to

FIGS. 131 and 132

.

FIG. 131

shows an example of a window which is displayed when the radius-instructed circular interpolation is performed. The operation for the radius-instructed circular interpolation using the coordinate graph is performed to perform programming for the radius-instructed circular interpolation. Referring to the drawings, an alternate long and short dash line and symbols A to N are auxiliary lines and symbols for the description and they are not displayed on the window. Circles H and J are two circles each of which passes through the location start point


150


and the location end point


151


and each of which has a maximum circular arc radius which can be circular-interpolation-controlled by a locating controller


1001


. Each circle intersects a perpendicular bisector of a straight line connecting the location start point


150


and the location end point


151


to each other at points K, L, M and N. Reference numeral


520




a


and


250




b


represent radius instructing point setting range gauges for indicating a range in which the radius instructing point can be set, the gauges being displayed on straight lines KL and MN, respectively.




The operation for displaying, on the coordinate graph, a range in which the circular arc radius instructing point can be set when locating programming for the radius-instructed circular interpolation is performed will now be described with reference to a flow chart shown in FIG.


132


. Initially, the maximum circular interpolation radius which can be circular-interpolation-controlled by the locating controller


1001


is stored in the maximum circular interpolation radius storage area


560


(step S


3100


). In accordance with information in the areas


560


,


127




a


,


127




b


,


122




a


and


122




b


for storing information of the positions of the maximum circular interpolation radius, location start point and location end point, position information of the coordinates of the two central points of the circles passing through the location start point


150


and the location end point


151


and having the maximum circular interpolation radius are calculated in step S


3101


. Obtained information is stored in the areas


561




a


,


561




b


,


562




a


and


562




b


for storing central points


1


and


2


of the circles having the maximum radius of the start axis numbers nx and ny. In step S


3102


position information of the coordinates of the points K, L, M and N is calculated in accordance with information in the areas


560


,


127




a


,


127




b


,


122




a


,


122




b


,


561




a


,


561




b


,


562




a


and


562




b


for storing information of the positions of the maximum circular arc radius, the location start point and the location end point of the start axis number and the central points


1


and


2


of the circles having the maximum radius of the start axis number. Then, the two radius instruction point setting range gauges


520




a


and


520




b


are displayed on the straight lines KL and MN.




When the location start point


150


or the location end point


151


has been moved because of the mouse dragging operation described in locating programming by using coordinate graph (step S


3103


), the operation proceeds to step S


3104


. If the movement is not performed, the operation proceeds to step S


3106


. In step S


3104


position information of coordinates of the two central points of the circles passing through the location start point


150


and the location end point


151


and having the maximum circular interpolation radius is calculated in accordance with information in the areas


560


,


127




a


,


127




b


,


122




a


and


122




b


for storing information of the positions of the maximum circular interpolation radius, location start point and the location end point. Obtained information is stored in the areas


561




a


,


561




b


,


562




a


and


562




b


for storing information of the positions of the central points


1


and


2


of the circles having the maximum radius of the start axis numbers nx and ny. In step S


3105


position information of the coordinate of the points K, L, M and N is calculated in accordance with information in the areas


560


,


127




a


,


127




b


,


122




a


,


122




b


,


561




a


,


561




b


,


562




a


and


562




b


for storing information of the positions of the maximum circular arc radius and the central points


1


and


2


. Thus, the two radius instruction point setting range gauges


520




a


and


520




b


are displayed on the straight lines KL and MN. The operation returns to step S


3103


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


3106


), the operation is ended.




The above-mentioned structure is arranged in such a manner that the setting permissible range for the circular-arc radius instructing point is displayed on the coordinate graph. When movement of the circular-arc instructing point to the outside of the setting permissible range, undesirable making of a circular interpolation program which cannot be circular-interpolation-controlled by the locating controller


1001


can be prevented.




The above-mentioned structure is arranged in such a manner that the setting permissible range for the circular-arc instructing point is always displayed on the coordinate graph. When an error message is made when the circular-arc instructing point is on the outside of the setting permissible range in a case where the setting completion button


160


has been selected, undesirable making of a circular interpolation program which cannot be circular-interpolation-controlled by the locating controller


1001


can be prevented.




The above-mentioned location programming apparatus enables a setting range which can be circular-interpolation-controlled by the locating controller to easily be confirmed when the locating program for the radius-instructed circular interpolation control is set and changed by using a locus graph.




36. Display of Range in Which Central Point of Circular Arc can be set When Central-Point-Instructed Circular Interpolation is Performed




The operation for displaying, on the coordinate graph for use to perform the central-point-instructed circular interpolation, a range in which the central point of a circular arc can be set and a range in which a permissible error range for circular interpolation when locating programming for the central-point-instructed circular interpolation is performed will now be described with reference to

FIGS. 133 and 135

.

FIG. 133

shows an example of a window which is displayed when the central-point-instructed circular interpolation is performed. The operation for performing the central-point-instructed circular interpolation by using the coordinate graph is performed so that programming of the central-point-instructed circular interpolation is performed. Referring to the drawing, an alternate long and short dash line and symbols A and B are an auxiliary line and symbols for the description and they are not displayed on the window. A straight line AB is a straight line passing through the circular interpolation central point


510


and the location end point


151


. Reference numeral


525


represents a central-point setting display circle which shows setting-range-permissive which of the location start point


150


and a circle having a maximum circular interpolation radius which can be circular-interpolation-controlled by the locating controller


1001


having the center which is the location start point


150


. Reference numeral


526


represents a region which can be circular-interpolation-controlled by the locating controller


1001


and in which the central point of the circular arc can be set, the region being on the inside of the central-point setting display circle


525


. Reference numeral


527


represents a region in which the central point cannot be set because the circular arc radius exceeds a maximum circular arc radius which can be circular-interpolation-controlled by the locating controller


1001


if the circular interpolation central point


510


is set, the region being the outer region of the central-point setting display circle


525


. In this description, it is displayed with diagonal lines on the coordinate-graph making/display area


136


so as to be distinguished from the other regions. Reference numeral


528


represents a location end point calculated from the location start point


150


and the circular interpolation central point


510


, the location end point being located on an intersection between a circle calculated from the location start point


150


and the circular interpolation central point


510


and the straight line AB. Reference numeral


529


represents a circular arc graph, the center of which is the circular interpolation central point


510


, and which connects the location start point


150


and the calculated location end point


528


. Reference numeral


530


represents a range in which an error in the circular interpolation is permitted between the set location end point


151


and the calculated location end point


528


. Reference numeral


531


represents a circle for displaying the range in which the error in the circular interpolation is permitted, the circle having the center which is the location end point and which displays, on the coordinate-graph making/display area


136


, the range in which the error in the circular interpolation is permitted.





FIG. 135

shows the circular-interpolation-type-setting-range-information storage area


558


of the graphic programming work memory


4


, the area


558


being composed of a maximum circular interpolation radius storage area


560


, the location-end-point position information storage areas


565




a


and


565




b


and an area


566


for storing the range in which an error in the circular interpolation is permitted when locating programming for the central-point-instructed circular interpolation is performed.




The operation for displaying, on the coordinate graph, the range in which the circular arc central point can be set, the range in which it cannot be set and the range in which an error in the circular interpolation is permitted will now be described with reference to a flow chart shown in FIG.


134


. Initially, a maximum circular interpolation radius which can be circular-interpolation-controlled by the locating controller


1001


is stored in the maximum circular interpolation radius storage area


560


. In accordance with information in the areas


127




a


and


127




b


for storing information of the positions of the location start points and the maximum circular interpolation radius storage area


560


, the central-point setting display circle


525


is displayed, the center of which is the location start point


150


(step S


3200


). In step S


3201


the outer region of the central-point setting display circle


525


is displayed with diagonal lines as a region


527


in which the central point cannot be set. In step S


3202


the area


566


for storing the range in which an error in the circular interpolation is permitted is initialized so that a circle


531


for displaying a range in which an error in the circular interpolation is permitted is displayed, the center of which is the location end point


151


. In accordance with information in the areas


550


,


122




a


,


122




b


,


551




a


and


551




b


for storing information of the positions of the circular interpolation radius, the location end point and the central point of the circular interpolation of the start axis number, information of the position of the location end point


529


is calculated in step S


3203


so as to be stored in the location-end-point position information storage areas


565




a


and


565




b


. Moreover, the calculated location end point


528


and the calculated circular arc graph


529


are displayed.




If data in the area


530


for setting an error in the circular interpolation is changed (step S


3204


), data in the area


530


for setting an error in the circular interpolation is stored in the area


566


for storing the range in which an error in the circular interpolation is permitted in step S


3205


. Thus, the circle


531


for displaying a range in which an error in the circular interpolation is permitted is updated. If data in the area


530


for setting an error in the circular interpolation is not changed in step S


3204


, the operation proceeds to step S


3206


.




If the location start point


150


or the location end point


151


or the circular interpolation central point


510


is moved in step S


3206


, information of the position of the calculated location end point


529


is calculated in step S


3207


in accordance with information in the areas


550


,


122




a


,


122




b


,


551




a


and


551




b


for storing information of the positions of the circular interpolation radius, the location end point and the central point of the circular interpolation of the start axis number. Obtained information is stored in the location-end-point position information storage areas


565




a


and


565




b


. Moreover, the calculated location end point


528


and the calculated circular arc graph


529


are updated. If the location start point


150


has been moved (step S


3208


), the central-point setting display circle


525


is updated in accordance with information in the areas


560


,


127




a


and


127




b


for storing information of the positions of the maximum circular interpolation radius and the location start point of the start axis number (step S


3209


). The outer region of the circle is displayed with diagonal lines as the


527


in which the central point cannot be set. If no point has been moved in step S


3206


, the operation proceeds to step S


3212


. If the location start point


150


has not been moved in step S


3208


, the operation proceeds to step S


3210


. If the location end point


151


has been moved in step S


3210


, the circle


531


for displaying a range in which an error in the circular interpolation is permitted is updated (step S


3211


). Then, the operation proceeds to step S


3212


. If the location end point


151


has not been moved in step S


3210


, the operation proceeds to step S


3212


.




The operation returns to step S


3204


until the setting completion button


160


is selected. When the setting completion button


160


has been selected (step S


3212


), information in the area


566


for storing the range in which an error in the circular interpolation is permitted stored in the graphic programming work memory


4


is outputted as data


2501


of the range in which the circular interpolation error is permitted of the central-point-instructed circular interpolation locating program code (step S


3213


).




The above-mentioned structure is arranged in such a manner that only the range in which the central point of the circular arc can be set and the range in which setting is inhibited are displayed on the coordinate graph. When movement of the central point of the circular arc to the outside of the setting permissible range is inhibited, making of a circular interpolation program which cannot be circular-interpolation-controlled by the locating controller


1001


can be prevented.




The above-mentioned structure is arranged in such a manner that only the range in which the error in the circular interpolation is permitted is displayed on the coordinate graph. When movement of the central point of the circular arc or the location end point in such a manner that the circular interpolation error is on the outside of the range in which the error in the circular interpolation is permitted is limited, making of a circular interpolation program which cannot be circular-interpolation-controlled by the controller


1001


can be prevented.




The above-mentioned structure is arranged in such a manner that the range in which the central point of the circular arc can be set and the range in which the error in the circular interpolation is permitted are always displayed on the coordinate graph. When an error message is outputted when the central point of the circular arc does not satisfy the setting permissible range or the error in the circular interpolation does not satisfy the range in which the error in the circular interpolation is permitted in a case where the setting completion button


160


has been selected, making of a circular interpolation program which cannot be circular-interpolation-controlled by the controller


1001


can be prevented.




The above-mentioned location programming apparatus enables a setting range which can be circular-interpolation-controlled by the locating controller to easily be confirmed when the locating program for the central-point-instructed circular interpolation control is set and changed by the locus graph.




37. Selection of Reference Axis by Instructing Speed of Reference Axis




The operation for selecting a reference axis in such a manner that the speed of the reference axis is instructed will now be described with reference to

FIGS. 69

,


136


and


137


.

FIG. 136

shows a dialogue displayed on the window for selecting a reference axis in such a manner that the speed of the reference axis is instructed. Reference numeral


595


represents a dialogue for setting the reference axis,


596




a


,


596




b


and


596




c


represent reference-axis selection buttons for selecting a reference axis with the mouse and


597


represents a reference-axis determining button.




The operation for selecting a reference axis in such a manner that the speed of the reference axis is instructed will now be described with reference to a flow chart shown in FIG.


137


. When any one of the speed instruction method selection buttons


201




a


to


201




c


shown in

FIG. 69

in such a manner that the speed of the reference axis is instructed has been selected (step S


3300


), the reference-axis setting dialogue


595


and the reference-axis determining button


597


shown in

FIG. 136

are displayed. Then, the reference-axis selection button


596


of the axis number stored in the start-axis-number setting area


133


by the number corresponding to the number of the axes stored in the number


82


of start axes of the common-information storage area


70


of the graphic programming work memory


4


is displayed (step S


3301


). A reference to position information in the locating-start-point-position-information storage area and the locating-end-point-position-information storage area


122


and


127


of the start axis number is made. Then, symbol is displayed on the reference-axis selection button


596


of the start axis number, the amount of movement of which is zero (step S


3302


).

FIG. 136

shows a case in which the amount of movement of the start axis number


2


is zero. When the reference-axis selection button


596


has been selected (step S


3303


), the selected reference-axis selection button


596


is inversely displayed (step S


3304


). Moreover, the corresponding start axis number is stored in the speed-instruction-method storage area


238


. If the reference-axis selection button


596


has not been selected in step S


3303


, the operation proceeds to step S


3305


. The operation returns to step S


3303


until the reference-axis selection button


597


is selected in step S


3305


. When the reference-axis determining button


597


has been selected, display of the reference-axis determining button


597


is ended (step S


3306


).




The above-mentioned structure is arranged in such a manner that only the start axis number, the amount of movement of which is zero is displayed on the reference-axis selection button. When selection of the reference-axis selection button corresponding to the start axis number, the movement of which is zero is inhibited, undesirable setting of a start axis number, the amount of movement of which is zero, to be the reference axis can be prevented.




The above-mentioned location programming apparatus is able to prevent undesirable setting of a reference axis with which start cannot be performed by the locating controller because the amount of movement of the reference axis is zero.




38. Locating Programming for Speed/Position Switching Control Using Speed Graph




The operation for performing locating programming for controlling switching of the speed and position by using a speed graph will now be described with reference to

FIGS. 138

to


143


.

FIG. 138

shows an example of a window for controlling switching of the speed and the position. Reference numeral


535


represents a speed/position switching point cursor capable of dividing the speed-graph making and displaying area


204


into a speed control region and a position control region. Moreover, when a mouse dragging operation has been performed, a speed/position switching arrow pointer


536


is displayed. When the cursor is moved to the right or left, the amount of movement after the position control has been switched can be changed. A position at which dragging has been suspended is the determined position. Reference numeral


537


represents movement amount display after the position control has been switched in such a manner that the amount of movement after the position control has been switched is displayed with diagonal lines to correspond to the area on the speed graph. Reference numeral


538


represents a movement amount figure display area after the position control has been switched. Reference numeral


539


represents an overrun point cursor for displaying, on the speed graph, a point at which overrun takes place even if the deviation is zero if the speed/position switching point cursor is set to the right. Reference numeral


540


represents a deceleration distance display area. Reference numeral


541


represents a permissible deviation display area for numerically displaying maximum deviation for preventing overrunning when the controller has controlled switching between speed and the position. Reference numeral


542




a


and


542




b


represent movement direction buttons for setting the movement direction to the forward direction or the reverse direction. Reference numeral


543


represents a position-control-unit setting button for setting the position control unit. Upper and lower stroke limits are displayed by upper and lower stroke limit cursors


544


and


545


and upper and lower stroke limit display areas


546


and


547


.





FIG. 143

shows the locating-program-speed-information storage area


221


of the graphic programming work memory


4


. When locating programming for the speed and position switching control is performed, the locating-program-speed-information storage area


221


is composed of the instructed speed storage area


239


for the region


1


, the movement-amount storage area


570


, the movement direction storage area


571


, the deceleration distance storage area


572


and the permissible deviation storage area


573


.




The operation for changing position control unit and the upper and lower stroke limits will now be described with reference to a flow chart shown in FIG.


139


. Initially, start axis number is set for the start-axis-number setting area


133


(step S


3441


). When the position control unit is changed (step S


3442


), the position-control-unit setting button


543


is selected (step S


3443


). When the unit is not changed, the operation proceeds to step S


3444


. When the upper stroke limit is changed (step S


3444


), the upper stroke limit cursor


545


is moved by dragging the mouse (step S


3445


). When the lower stroke limit is changed (step S


3446


), the lower stroke limit cursor


544


is moved by dragging the mouse (step S


3447


). When setting is furthermore changed in step S


3458


, the operation returns to step S


3442


. When setting has been completed, the setting completion button


160


is selected (step S


3459


) and the operation is ended.




The operation for changing the position control unit and the upper and lower stroke limits will now be described with reference to a flow chart shown in FIG.


140


. Initially,


1


is stored in the number


82


of start axes of the common-information storage area


70


of the graphic programming work memory


4


(step S


3470


). The start axis number set for the start-axis-number setting area


133


is stored in the area


83




a


for storing start axis number


1


. The position control unit and upper and lower stroke limits of the corresponding start axis number are read from the storage areas


1701


,


1705


and


1706


of the axis parameter memory to each of the storage areas


111




a


,


112




a


and


113




a


of the graphic programming work memory


4


(step S


3471


). Moreover, the corresponding position-control-unit setting button


543


is inversely displayed (step S


3472


). Moreover, the upper and lower stroke limit cursors


544


and


545


and the upper and lower stroke limit display areas


546


and


547


are displayed. When the position-control-unit setting button


543


has been selected (step S


3473


), the selected button is inversely displayed. The corresponding position control unit is stored in the position-control-unit reading area


111




a


of the start axis number


1


(step S


3474


). When the upper and lower stroke limit cursors


544


and


545


have been moved (steps S


3475


and S


3477


), position information corresponding to the coordinate of each cursor is stored in the upper and lower stroke limit storage areas


112




a


and


113




a


of the start axis number


1


and displayed on the upper and lower stroke limit display areas


547




547


(steps S


3476


and S


3478


). The operation returns to step S


3473


until the setting completion button


160


is selected in step S


3479


. When the setting completion button


160


has been selected, areas


82


and


83




a


for storing the number of axes and the start axis number


1


of the graphic programming work memory


4


are stored in the areas


2103


and


2104




a


for storing the number of interpolation axes and the start axis number


1


of the speed/position control program code (step S


3480


). Then, information in the position-control-unit reading area


111




a


of the start axis number


1


of the graphic programming work memory


4


and the upper and lower stroke limit storage areas


112




a


and


113




a


of the start axis number


1


are stored in the areas


1701


,


1705


and


1706


of the parameter memory for storing the position control unit and upper and lower stroke limits (step S


3481


).




The operation for changing the instructed speed, the acceleration/deceleration parameter number, dowel time, M code speed and limited torque will now be described. The speed of the speed control region which is on the left side of the position switching point cursor


53


is, on the speed-graph making and displaying area


204


, set by the operation for setting and changing the limited speed by using the speed graph and stored in the region-instructed-speed storage area


239


for the region


1


. The acceleration/deceleration parameter number is set in the acceleration/deceleration control-parameter number setting area


200


by the operation for setting and changing the limited speed by using the speed graph and stored in the acceleration/deceleration parameter number storage area


230


. The dowel time is set by the operation for setting and changing the dowel time by using the speed graph and stored in the dwell-time storage area


295


. The M code and the limited torque in the speed control region and the position control region are set by the operation for setting and changing the limited torque and stored in the area


296




p




1


,


297




p




1


,


296




p




2


and


297




p




2


for storing M code and limited torque for the regions


1


and


2


.




The operation for changing the movement direction and the speed/position switching point will now be described with reference to a flow chart shown in FIG.


141


. When the movement direction is changed (step S


3400


), the operation proceeds to step S


3401


. When the movement direction is the forward direction, the forward movement direction button


542




a


is selected (step S


3402


). When the movement direction is the reverse direction, the reverse movement direction button


542




b


is selected (step S


3403


). If the movement direction is not changed in step S


3400


, the operation proceeds to step S


3404


. When the amount of movement after the position control has been switched is changed in step S


3404


, the operation proceeds to step S


3405


. The speed/position switching point cursor


535


is dragged with the mouse so that the speed/position switching arrow pointer


536


is displayed which is moved to an arbitrary position on the speed graph. The operation returns to step S


3405


until the amount of movement after the position control has been switched in step S


3406


. After the amount has been determined, mouse dragging is suspended (step S


3407


). If the amount of movement after the position control has been switched is not changed in step S


3404


, the operation proceeds to step S


3408


. When the speed/position switching control is furthermore set, the operation returns to step S


3400


. When change has been completed (step S


3408


), the setting completion button


160


is selected (step S


3409


). Then, the operation is ended.




The operation for changing the speed/position switching point cursor


535


will now be described with reference to a flow chart shown in FIG.


142


. Initially, the area


570


and


571


for storing the amount of movement and the movement direction after the position control has been switched are initialized. In accordance with the initial values, the speed/position switching point cursor


535


is displayed, and the movement amount display


537


after the position control has been switched is displayed with diagonal lines. Display on the movement-amount display area


538


after the position control has been switched and the movement direction button


542


are inversely displayed (step S


3421


). In step S


3422


a deceleration distance is calculated in step S


3422


similarly to setting and change of the deceleration time by using the speed graph. In accordance with the following Equation 3400, a permissible deviation is calculated so as to be stored in the deceleration distance and permissible deviation storage areas


572


and


573


. Moreover, the areas


540


and


541


for displaying the deceleration distance and permissible deviation are displayed.






(permissible deviation)=(amount of movement after position control has been switched)−(deceleration distance)   Equation 3400






When the forward movement direction button has been selected (step S


3423


), “forward direction” is stored in the movement direction storage area (step S


3425


). When the reverse movement direction button has been selected (step S


3424


), “reverse direction” is stored (step S


3426


). When the speed/position switching point cursor


535


is dragged with the mouse in step S


3427


, the speed/position switching arrow pointer


536


is displayed. Moreover, the speed/position switching point cursor


535


is moved to follow the mouse pointer (step S


3428


). In step S


3429


the amount of movement is calculated after the position control has been switched so as to be stored in the movement-amount storage area


570


after the position control has been switched. The movement amount display


537


after the position control has been switched is displayed with diagonal lines and the movement amount display area


538


after the position control has been switched are updated. In step S


3430


the deceleration distance and the permissible deviation are calculated so as to be stored in the areas


572


and


573


for storing the deceleration distance and the permissible deviation. Thus, the areas


540


and


541


for displaying the deceleration distance and the permissible deviation are updated. If the speed/position switching point cursor is not dragged with the mouse in step S


3427


, the operation proceeds to step S


3432


.




Finally, steps S


3428


to S


3430


are repeated until mouse dragging is suspended in step S


3431


. When mouse dragging has been suspended, the operation proceeds to step S


3432


. The operation returns to step S


3423


until the setting completion button


160


is selected in step S


3432


. When the setting completion button


160


has been selected, the operation proceeds to step S


3433


. Thus, information in the areas


239


,


570


and


571


for storing instructed speed in the region


1


, the amount of movement and the movement direction after the position control has been switched is outputted as data in the areas


2200


,


2800


and


2701


for storing the instructed speed of the speed/position switching control position program code, the movement amount and the movement direction after the position control has been switched. Moreover In step S


3434


information in the areas


230


,


295


,


296




p




1


,


297




p




1


,


296




p




2


and


297




p




2


for storing acceleration/deceleration control parameter number, dowel time, M code for the region


1


, limited torque for the region


1


, M code for the region


2


and limited torque for the region


2


is output as data of the areas


2107


,


2204


,


2202


,


2203


,


2801


and


2802


for storing the acceleration/deceleration control parameter number of the speed/position switching control position locating position control, dowel time, M code, limited torque, M code after the position control has been switched and limited torque after the position control has been switched. Thus, INC is stored in the area for storing position instruction method, and then the operation is ended.




The above-mentioned structure is arranged in such a manner that the point at which overrunning takes place even if the deviation is zero is simply displayed on the speed graph. If movement of the speed/position switching point cursor to the region which causes overrunning to take place is inhibited, making of a speed/position switching control program which causes overrunning to take place with the locating controller


1001


can be prevented.




The above-mentioned structure is arranged in such a manner that the point at which overrunning takes place is always displayed on the speed graph. When an error message is outputted when a speed/position switching point cursor is located in the region in which overrunning takes place when the setting completion button


160


has been selected, making of a speed/position switching control program which causes overrunning to take place with the locating controller


1001


can be prevented.




The above-mentioned structure is arranged in such a manner that only the figures of the permissible deviation which is the maximum deviation with which overrunning can be prevented when the speed/position switching control is performed by the controller is simply displayed. If a deviation when the speed/position switching control has been performed by the locating controller


1001


is previously set and an error message is outputted when the permissible deviation is smaller than the predetermined value, making of a speed/position switching control program which causes overrunning to take place can be prevented.




The above-mentioned location programming apparatus enables the speed/position switching control locating program to easily be set and changed by using the speed graph. Moreover, a set range which prevents overrunning with the locating controller can easily be confirmed on the speed graph.




39. Programming of Dog-Method Returning to Original Point Using Speed Graph




The operation for performing programming for returning to an original point by a dog method by using a speed graph will now be described with reference to

FIGS. 144 and 147

.

FIG. 144

shows an example of a window which is displayed when the dog method returning to the original point is performed. Symbols A to D are auxiliary symbols for the description and they are omitted from display. Reference numeral


580


represents an original-point-returning-method setting button,


581


represents an original-point-returning-speed cursor,


582


represents an original-point-returning-speed display area,


583


represents a creep-speed cursor for changing the creep speed by mouse dragging and


584


represents a creep speed display area. Reference numeral


585


represents a required-dog-length display area for displaying the near dog length required to decelerate the original-point returning speed to the creep speed,


586


represents an original-point address setting area,


587


represents an original point returning speed pattern for graphically displaying the speed pattern when returning to the original point is performed and


589


represents a near dog graph for graphically displaying input timing of a near dog signal.





FIG. 147

shows a locating-program-speed-information storage area


221


of the graphic programming work memory


4


and which is composed of a original point returning method storage area


574


, an original point address storage area


575


, an original point returning speed storage area


576


, a creep speed storage area


577


, an area


578


for storing a set movement amount after the DOG signal has been turned on and a required DOG length storage area


579


when the program for returning to the original point is performed.




The number of start axes and the start axis number are stored in the areas


82


and


83




a


for storing the number of start axes and the start axis number


1


of the graphic programming work memory


4


by the operation for setting and changing the limited speed by using the speed graph. When the setting completion button


160


has been selected, they are outputted to the storage areas


2103


and


2104




a


as the number of interpolation axes and the start axis number


1


of the original point returning program code. The position control unit and the upper and lower stroke limits are changed by the operation for performing the locating programming by using the list-form locating program while displaying the coordinate graph. When the setting completion button


160


has been selected, they are outputted to the areas


1701


,


1705


and


1706


for storing the process unit and upper and lower stroke limits of the parameter memory. The acceleration/deceleration parameter number is stored in the acceleration/deceleration parameter number storage area


230


of the graphic programming work memory


4


by the operation for setting and changing the limited speed by using the speed graph. The movement direction is stored in the movement direction storage area


571


of the graphic programming work memory


4


by the operation for performing locating programming for the speed/position switching control. When the setting completion button


160


has been selected, it is outputted to original point returning parameter memory in the direction in which returning to the original point is performed.




The operation for selecting the method of returning to the original point will now be described. When the dog method has been selected by the original-point returning-method selection button


580


shown in

FIG. 144

, a window for returning to the original point by the dog method is displayed. Moreover, the “dog method” is stored in the original-point returning-method storage area


1901


. When the count method has been selected, a window for returning to the original point by the count method is displayed. Moreover, the “count method” is stored in the original-point returning-method storage area


1901


. When the setting completion button


160


has been selected, it is outputted to the original-point returning method storage area of the original-point returning parameter memory.




The operation for changing the original-point returning speed, the creep speed and original-point returning address will now be described with reference to a flow chart shown in FIG.


145


. When the original-point returning speed is changed (step S


3500


), the original-point returning speed cursor


581


is dragged with the mouse so as to be moved vertically (step S


3501


). After the original-point returning speed has been determined (step S


3502


), mouse dragging is suspended (step S


3503


). If the original-point returning speed is not changed in step S


3500


, the operation proceeds to step S


3504


. When the creep speed is changed (step S


3504


), the creep-speed cursor


583


is dragged with the mouse so as to be moved vertically (step S


3505


). When the creep speed has been determined (step S


3506


), mouse dragging is suspended (step S


3507


). If the original-point returning speed is not changed in step S


3504


, the operation proceeds to step S


3508


. When the address of the original point is changed (step S


3508


), the address of the original point in the original-point address setting area


586


is changed (step S


3509


). If the address of the original point is not changed in step S


3508


, the operation proceeds to step S


3510


. The operation returns to step S


3500


until the setting of the dog-method returning to the original point is completed in step S


3510


. When setting has been completed, the setting completion button


160


is selected (step S


3511


). Then, the operation is ended.




The operation for changing the original-point returning speed, the creep speed and the original-point returning address will now be described with reference to a flow chart shown in FIG.


146


. Initially, information in the areas


1903


,


1904


and


1905


for storing the address of the original point, the original-point returning speed and the creep speed corresponding to the start axis in the area


83




a


for storing start axis number


1


of the original-point returning parameter memory is read to the corresponding storage areas


575


,


576


and


577


of the graphic programming work memory


4


(step S


3520


). Moreover, display of the original-point address setting area


586


, the original-point returning-speed display area


582


, the creep-speed display area


584


, the original-point returning-speed cursor


581


, the creep-speed cursor


583


, the original-point returning-speed pattern


587


and the near-dog graph


589


is performed (step S


3521


). A required length of the dog is calculated which corresponds to the area of the trapezoid ABCD so as to be stored in the required DOG-length storage area


579


and displayed on the required near dog display area


585


(step S


3522


).




When the original-point returning-speed cursor


581


has been moved in step S


3523


, the original-point returning speed corresponding to the coordinate position of the original-point returning-speed cursor


581


is stored in the original-point returning-speed storage area


576


and displayed on original-point returning-speed display area


582


(step S


3524


). A requited length of the dog corresponding to the area of the trapezoid ABCD is calculated so as to be stored in the required DOG-length storage area


579


and displayed on the required near dog display area


585


(step S


3525


). If the original-point returning-speed cursor


581


has not been moved in step S


3523


, the operation proceeds to step S


3526


.




When the creep-speed cursor


583


has been moved in step S


3526


, the creep speed corresponding to the coordinate position of the creep-speed cursor


583


is stored in the creep-speed storage area


577


and displayed on the creep-speed display area


584


(step S


3527


). Moreover, a required length of the dog corresponding to the area of the trapezoid ABCD is calculated so as to be stored in the required DOG-length storage area


579


and displayed on the required near dog display area


585


(step S


3528


). If the creep-speed cursor


583


has not been moved in step S


3526


, the operation proceeds to step S


3529


.




When the address of the original point in the original-point address setting area


586


has been changed in step S


3529


, the address of the original point in the original-point address setting area


586


is stored in the original-point-address storage area


575


(step S


3530


). If the address is not changed, the operation proceeds to step S


3531


.




The operation returns to step S


3523


until the setting completion button


160


is selected in step S


3531


. When the setting completion button


160


has been selected, information in the areas


575


,


576


and


577


for storing the address of the original point, the original-point returning speed and the creep speed of the graphic programming work memory


4


is outputted to the storage areas


1903


,


1904


and


1905


of the original-point returning parameter memory corresponding to the start axis of the area


83




a


for storing start axis number


1


(step S


3532


).




The above-mentioned structure is arranged in such a manner that only the length of the dog required to prevent overrunning when returning to the original point by the dog method by the locating controller


1001


is displayed with figures. If the dog length of the machine is previously set and an error message is outputted when the required dog length is smaller than the predetermined length, making an original-point returning parameter which causes overrunning to take place can be prevented.




The above-mentioned location programming apparatus enables a program for returning to the original point by the dog method to easily be set and changed. Therefore, a required length of the dog with which overrunning with the locating controller can easily be confirmed.




40. Programming of Count-Method Returning to Original Point Using Speed Graph




The operation for performing programming for returning to the original point by a count method by using a speed graph will now be described with reference to

FIGS. 148

to


150


.

FIG. 148

shows an example of a window which is displayed when returning to the original point by the count method is performed. Symbols A to F are auxiliary symbols for description and they are not displayed on the window. Reference numeral


590


represents a movement amount cursor after near DOG has been turned on for changing the movement amount after near DOG has been turned on when dragged with mouse to be moved to the right or left,


591


represents a movement amount pointer after near DOG has been turned on which is displayed when the movement amount cursor


590


after near DOG has been turned on is dragged with the mouse and


592


represents a movement amount display after near DOG has been turned on for displaying the movement amount after near DOG has been turned on with diagonal lines to correspond to the area on the speed graph. Reference numeral


593


represents a movement amount displaying area after near DOG has been turned on,


594


represents an overrun point cursor for indicating a point with which overrunning takes place in the count-method original-point returning when the movement amount cursor


590


after near DOG has been turned on is moved to the left.




The operation for changing the movement amount after near DOG has been turned on will now be described with reference to a flow chart shown in FIG.


149


. When the movement amount after near DOG has been turned on is changed (step S


3601


), the movement-amount cursor


590


after the near DOG has been turned on is dragged with the mouse so that the movement-amount arrow pointer


591


after the near DOG has been turned on is displayed so as to be moved to the right or left (step S


3602


). After the movement amount after near DOG has been turned on has been determined (step S


3603


), mouse dragging is suspended (step S


3604


). When the movement amount after near DOG has been turned on is not changed in step S


3601


, the operation proceeds to step S


3605


. The operation returns to step S


3601


until setting of the count-method returning to the original point is completed. When setting has been completed (step S


3606


), the setting completion button


160


is selected and the operation is ended.




The operation for changing the movement amount after near DOG has been turned on will now be described with reference to a flow chart shown in FIG.


150


. Initially, the set movement amount storage area


578


after near DOG has been turned on is initialized. Then, the movement-amount cursor


590


after the near DOG has been turned on, the movement-amount display


592


after the near DOG has been turned on and the movement-amount display area


593


after the near DOG has been turned on are displayed. Moreover, the movement-amount arrow pointer


591


after the near DOG has been turned on is displayed. The original-point returning overrun point cursor


594


is displayed as a vertical line which passes through a point at which deceleration to the creep speed is completed (step S


3620


). When the movement-amount cursor


590


after the near DOG has been turned on is dragged with the mouse (step S


3621


), the movement-amount arrow pointer


591


after the near DOG has been turned on is displayed. Moreover, the movement-amount cursor


590


after the near DOG has been turned on is moved to follow the mouse pointer so that the original-point returning-speed pattern


587


is updated (step S


3622


). The display of the movement-amount display


592


after the near DOG has been turned on with the diagonal lines is updated. The movement amount after near DOG has been turned on is calculated to correspond to the area of a polygon ABDCEF so as to be stored in the set movement amount storage area


578


after near DOG has been turned on. Thus, the movement-amount display area


593


after the near DOG has been turned on is updated (step S


3623


). The operation returns to step S


3622


until mouse dragging is suspended in step S


3624


. When mouse dragging is suspended, the operation proceeds to step S


3625


. When the movement-amount cursor


590


after the near DOG has been turned on is not dragged in step S


3621


, the operation proceeds to step S


3625


. In step S


3625


the operation returns to step S


3621


until the setting completion button


160


is selected. When the setting completion button is selected, information in the set movement amount storage area


578


after near DOG has been turned on is outputted as data of the set movement amount storage area


1906


after near DOG has been turned on of the original-point returning parameter memory (step S


3626


).




The original-point returning method, the original-point returning speed, the creep speed and the original-point returning address are changed by the operation for performing programming for returning to the original point by the dog method by using the speed graph so as to be outputted to the original-point returning parameter memory


1900


.




The above-mentioned structure is arranged in such a manner that only the region in which overrunning takes place when returning to the original point is performed by the count method is displayed on the speed graph. When movement of the movement cursor after near DOG has been turned on into the region which causes overrunning to take place is inhibited, setting of returning to the original point by the count method which causes overrunning to take place by the locating controller


1001


can be prevented.




The above-mentioned structure is arranged in such a manner that only the region in which overrunning takes place when returning to the original point is performed by the count method is displayed on the speed graph. When an error message is outputted when the movement amount cursor after near DOG has been turned on is positioned in the region in which overrunning takes place when the setting completion button


160


has been selected, setting of returning to the original point by the count method which causes overrunning to take place by the locating controller


1001


can be prevented.




The above-mentioned after near DOG has been turned on enables the program for returning to the original point by the count method by using a speed graph to easily be set and changed. The set range in which overrunning does not take place with the locating controller can easily be confirmed on the speed graph.




41. Programming of High Speed Oscillation Using




The operation for performing high-speed oscillation programming by using other-time-transition graph will now be described with reference to

FIGS. 151

to


155


. The high speed oscillation is control of one axis in such a manner that start at an instructed start angle is performed and a reciprocative motion is repeated with an instructed frequency and instructed amplitude in the form of a sine wave.

FIG. 151

shows an example of the other-time-transition graph for performing programming of the high speed oscillation. Reference numeral


600


represents a start-angle instructing pointer,


601


represents a frequency pointer,


602


represents an amplitude pointer,


603


represents a start-angle display area,


604


represents a frequency display area,


605


represents an amplitude display area and


606


represents a time axis.

FIG. 152

is a structural view showing the contents of the other-time-transition-graph storage area


73


shown in FIG.


2


. Reference numeral


607


represents high speed oscillation program information and


608


represents window structure information.

FIG. 153

is a structural view showing the contents of high speed oscillation program information


607


shown in FIG.


152


. The start angle is stored in a start angle storage area


609


, amplitude is stored in a amplitude storage area


610


and frequency is stored in the frequency storage area


611


.

FIG. 154

is a structural view showing the contents of window structure information


608


shown in FIG.


152


. Reference numeral


612


represents a storage area on which time required for one cycle, that is, period is stored and


613


represents a storage area on which the position of the start angle on the time axis is stored.




A method of displaying an initial window of the other-time-transition graph for the high speed oscillation will now be described. Initial value 0 is stored in the start angle storage area


609


of the high speed oscillation program information


607


, initial value a is stored in the amplitude storage area


610


and initial value f is stored in the frequency storage area


611


. Time


612


required for one cycle of window structure information


608


is obtained from information in the frequency storage area


611


in accordance with the following Equation 4000 so as to be stored in the time storage area


612


:








T


=1


/f


  (Equation 4000)






T: time required for one cycle




f: frequency




The position


613


of the start angle on the time axis is obtained from time


612


required for one cycle and the start angle


609


in accordance with the following Equation 4001 so as to be stored in the position storage area


613


.








ts=qs′T


/360  (Equation 4001)






ts: position of start angle on time axis




qs: start angle [degree]




T: time required for one cycle




A sine wave as shown in

FIG. 151

is drawn in the display area in accordance with time


612


required for one cycle and the amplitude


610


. Since the initial value of the start angle is zero, the start angle pointer


600


is displayed at the position of time


0


in accordance with Equation 4001. The frequency instructing pointer


601


is displayed at a position advanced from position


613




ts


of the start angle on the time axis for time


612


T required for one cycle on the time axis, that is, a position corresponding to time ts+T. The amplitude instructing pointer


602


is displayed to correspond to the degree of the amplitude


610


. The start angle display area


603


, the frequency display area


604


and the amplitude display area


605


display the start angle


609


, the frequency


611


and the amplitude


610


of high speed oscillation program information


607


.




A method of setting data for the high speed oscillation by using the other-time-transition graph will now be described with reference to a flow chart shown in FIG.


155


. The amplitude is set by changing the amplitude by vertically moving the amplitude instructing pointer


602


by a dragging operation (step S


4000


). The position of the amplitude instructing pointer


602


at which the dragging operation has been suspended is the amplitude (step S


4001


) so as to be stored in the amplitude storage area


610


of high speed oscillation program information


607


and displayed in the amplitude display area


605


(step S


4002


). The frequency is set in such a manner that the frequency instructing pointer


601


is moved to the right or left by a dragging operation. The frequency is determined at the position at which the dragging operation has been suspended. In actual, the frequency is set in such a manner that the period of the sine wave is changed by dragging the frequency instructing pointer (step S


4003


). The difference in time from the position


613


of the start angle on the time axis to time indicated by the frequency instructing pointer


601


is time required for one cycle. Therefore, time


612


required for one cycle is instructed. Then, the instructed value is stored in the area


612


of window structure information


608


for storing time required for one cycle (step S


4004


). In accordance with the following Equation 4002 which is an inverse operation of Equation 4001, the frequency


611


is obtained (step S


4005


) so as to be stored in the frequency storage area


611


of high speed oscillation program information


607


and displayed on the frequency display area


604


(step S


4006


).








f


=1


/T


  (Equation 4002)






T: time required for one cycle




f: frequency




Then, the sine waveform is again drawn in accordance with the instructed amplitude


610


and time


612


required for one cycle (step S


4007


). The start angle


609


is set in such a manner that the start-angle instructing pointer is dragged to the right or left (step S


4008


). The position on the time axis at which the dragging operation has been suspended is stored in the position storage area


613


for storing the position of the start angle on the time ax (step S


4009


). It is apparent that the start angle can be obtained in accordance with the position of the start angle on the time axis in accordance with the following Equation 4003 which is the inverse operation of Equation 4002. Therefore, calculations are performed (step S


4010


). A result of the calculations is stored in the start angle storage area


609


of high speed oscillation program information


607


and displayed in the start angle display area


603


(step S


4011


).








qs


=360


ts/T


  (Equation 4003)






ts: position of start angle on time axis




qs: start angle [degree]




T: time required for one cycle




Then, display of the frequency instructing pointer


601


is modified to a position shifted from the position


613




t




s


of the start angle on the time axis for a time


612


T required for one cycle on the time axis, that is, a position on the time axis cursor to ts+T (step S


4012


). After setting has been completed, the operation is completed (step S


4013


).




The above-mentioned location programming apparatus enables programming for the high speed oscillation to graphically be performed. Therefore, programming can be performed while a user is conscious of the actual operation.




Second Embodiment




A location programming apparatus according to a second embodiment of the present invention will now be described with reference to

FIGS. 156

to


162


and


164


to


167


.

FIG. 156

is a block diagram showing the system structure of a location programming apparatus and a locating controller according to the second embodiment of the present invention. The same reference numerals in the drawing represent the same or corresponding elements.




Referring to the drawings, reference numeral


1


A represents a location programming apparatus (a peripheral unit) for performing programming and monitoring of a locating controller


1001


. Reference numeral


2


represents a CPU for performing calculations of the location programming apparatus


1


A. Reference numeral


3


represents a control S/W storage memory for storing S/W for controlling the location programming apparatus


1


A. Reference numeral


4


represents a graphic programming work memory required to perform graphic programming and


5


represents a keyboard interface for inputting figures and characters to the location programming apparatus


1


A.




When the conventional operation pattern shown in

FIG. 195

is set with position data corresponding to transition time, a time transition graph shown in

FIG. 157

is constructed.

FIG. 158

is a flow chart of the operation for making a position data table in which sequential locating corresponds to transition time. Operation cycle time for performing sequential operations is set (step S


4200


). Then, arbitrary transition time (


38




b


to


381


) is set (step S


4201


). Then, position data (


38




m


to


38




u


) corresponding to set transition time is set (step S


4202


). Information of the address operation of the position corresponding to transition time set in step S


4201


and


4202


is temporarily restored in an internal memory (the graphic programming work memory


4


). If setting for arbitrary transition time required for the setting operation has been completed, the operation proceeds to a next step. If setting has not been completed, the operation returns to step S


4201


. The operations in steps S


4201


to S


4203


are repeated until step S


4203


is completed.




Then, speed and acceleration characteristics of transition time set in the step S


4201


for each region is set (step S


4204


). If setting of the speed and acceleration characteristics for all regions has been completed, the operation proceeds to a next step (step S


4205


). If setting has not been completed, steps S


4204


to S


4205


are repeated until setting is completed. The speed and acceleration characteristic for each region set in step S


4204


are temporarily restored in the graphic programming work memory


4


. After setting has been completed, automatic generation of position data is performed (step S


4206


) so that a position data table is generated. The generated position data table is communicated to the locating controller


1001


and stored in the work memory


1007


. The locating controller


1001


starts a predetermined program and makes a reference to the position data table so as to rotate the motor.




Referring to a flow chart shown in

FIG. 164

, a setting method in steps S


4201


and S


4202


will now be described.

FIG. 166

is a setting window. A passing point (•)


50


of the address of the position corresponding to the transition time is dragged with the mouse so as to be moved to up, down, right or left so that a rough coordinate position is set (step S


4270


). Then, the fine-adjustment up, down, right and left movement pointer


51


is operated so that the position of (•) is adjusted (step S


4271


). Reference numeral


52


represents an area on which set cycle time is displayed,


53


represents an area on which the coordinate of the position of the cursor in the cycle time is displayed and


54


represents an area on which the coordinate of the position of the cursor at the address of the position is displayed. When mouse dragging is suspended, the point is determined. When double clicking has been performed, the passing point (a bent point) is stored in the graphic programming work memory


4


(steps S


4273


and S


4274


). After processing of passing point data for one cycle has been completed, a button


55


for completing setting of a passing point is selected. Thus, generation is completed (step S


4276


). Thus, information shown in

FIG. 160

is stored in the graphic programming work memory


4


. If generation has not been completed, steps S


4270


to S


4275


are repeated until step S


4275


is completed.




The setting operation which is performed in step S


4204


to S


4206


will now be described with reference to a flow chart shown in

FIG. 165. A

setting window is shown in

FIG. 167. A

transition time region (for example,


38




e


to


38




f


) which must be set is clicked with the mouse so as to be selected (step S


4280


). Then, the speed and acceleration characteristic (for example, constant acceleration


60


) in the selected region are selected and set (step S


4281


). Whether or not setting for the set region has been completed is determined (step S


4282


). If setting has been completed, a next speed and acceleration characteristic setting completion button


61


is selected and the process is completed (step S


4283


). Thus, information shown in

FIG. 161

is stored in the graphic programming work memory


4


. If setting has not been completed, steps S


4280


to S


4282


are repeated until step S


4282


is completed.




The process in step S


4206


will now be described with reference to FIG.


159


. One cycle time set in step S


4200


is equally divided with an arbitrary resolution (when time for one cycle is divided into 1000, the resolution is 1000) (step S


4230


). Then, the amount of movement for each of arbitrary transition time periods set in step S


4201


and the speed and acceleration characteristics set in step S


4202


are used to calculate the amount of movement in each of the equally divided time periods (step S


4231


). In accordance with obtained amount of movement, position data is generated so as to be written on the position data table (step S


4232


). Whether or not generation of the position data table having position data for the resolution has been completed is determined (step S


4233


). If generation has been completed, the operation for generating the table is completed so that the position data table shown in

FIG. 162

is stored in the graphic programming work memory


4


. If generation has not been completed, steps S


4231


to S


4233


are repeated until step S


4233


is completed.




The location programming apparatus


1


A according to the second embodiment is arranged in such a manner that the timing chart for the sequential operations is generated. Therefore, the position data table is automatically generated and locating is performed in accordance with data in the Position data table. Therefore, the necessity of continuously executing the locating program can be eliminated and an additional sequence program is not required. Since position information is provided as the continuous position table data, any delay in the operation can be prevented.




Third Embodiment




A location programming apparatus according to a third embodiment of the present invention will now be described with reference to

FIGS. 163

,


168


and


169


. The structure according to the third embodiment is similar to that according to the second embodiment.





FIG. 168

shows an example of a means for setting the operations of a plurality of axes each of which repeats a predetermined conventional operation as shown in FIG.


198


. The apparatus according to this embodiment has a function capable of simultaneously setting operation timings of a plurality of axes on one window. The setting procedure will now be described with reference to a flow chart shown in FIG.


163


. The number


62


of axes to be set shown in

FIG. 168

is clicked so that the number of axes to be controlled is set (step S


4250


). Then, one-cycle-time setting


63


is clicked so that sequential operation time (one cycle time) of a subject which must be controlled is set (step S


4200


). After steps S


4250


and S


4200


have been completed, the window is switched to that shown in FIG.


169


. Then, the axis number to be set is selected to set position data corresponding to the arbitrary transition time for each axis (if the first axis is selected, “first axis”


64


is selected). Then, the window is switched to that shown in

FIG. 166

(step S


4251


). Then, the operations in step S


4201


to S


4206


are performed. Then, whether or not setting for the number of axes to be controlled which has been set in step S


4250


has been completed is determined (step S


4252


). If setting has not been completed, steps S


4251


to S


4206


are repeated. When step S


4252


has been completed, setting is completed.




The location programming apparatus


1


A according to the third embodiment has the structure that the operation timing chart for each axis according to the second embodiment is converted into position table data for controlling one cycle of a plurality of axes. In accordance with data, position of each axis is controlled. Therefore, even if a plurality of axes are controlled, the necessity of generating sequences for administrating the positional relationship with the other axes and start timing can be eliminated. Moreover, delay of the operation of each axis can be prevented.




INDUSTRIAL APPLICABILITY




As described above, the location programming apparatus for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, the location programming apparatus comprising: locating control type setting means for setting locating control type for controlling the operation of the subject which must be controlled; graphical data generating means for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in the work memory. Therefore, an effect can be obtained in that a locating program and locating control parameter can be generated by only graphically setting the locating locus operation, the speed pattern and time transition control.




As described above, the location programming apparatus according to the present invention has the structure that the graphical data generating means uses a coordinate graph in which a position control unit of the instructed axis which must be operated is made to be a unit of a coordinate axis and which indicates the position of the subject which must be controlled and a speed graph having a speed axis and a time axis to indicate change of the speed as time elapses so as to generate graph data. Therefore, an effect can be obtained in that the locating control operation can easily visually be understood for any user and time required to perform initial programming can significantly be shortened.




As described above, the location programming apparatus according to the present invention has the structure that the graphical data generating means uses a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data. Therefore, an effect can be obtained in that the locating control operation can easily visually be understood for any user and time required to perform initial programming can significantly be shortened.




As described above, the location programming apparatus according to the present invention has the structure that the graphical data generating means uses a other-time-transition graph having an amplitude axis and a time axis to indicate change in the degree of reciprocating motion as time elapses and a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data. Therefore, an effect can be obtained in that the locating control operation can easily visually be understood for any user and time required to perform initial programming can significantly be shortened.




As described above, the location programming apparatus according to the present invention has the structure that when the set locating control type is linear locating control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the linear locating control as operation control information in accordance with information stored in the work memory. Therefore, an effect can be obtained in that the locating program for the linear control can easily be set and changed by using the locus graph.




As described above, the location programming apparatus according to the present invention has the structure that when the set locating control type is passing-point-instructed circular interpolation control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the passing-point-instructed circular interpolation control as operation control information in accordance with information stored in the work memory. Therefore, an effect can be obtained in that the locating program for the passing-point-instructed circular interpolation control can easily be set and changed by using the locus graph.




As described above, the location programming apparatus according to the present invention has the structure that when the set locating control type is radius-instructed circular interpolation control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the radius-instructed circular interpolation control as operation control information in accordance with information stored in the work memory. Therefore, an effect can be obtained in that the locating program for the radius-instructed circular interpolation control can easily be set and changed.




As described above, the location programming apparatus according to the present invention has the structure that when the set locating control type is central-point-instructed circular interpolation control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the central-point-instructed circular interpolation control as operation control information in accordance with information stored in the work memory. Therefore, an effect can be obtained in that the locating program for the central-point-instructed circular interpolation control can easily be set and changed.




As described above, the location programming apparatus according to the present invention has the structure that when the set locating control type is locus control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the locus control as operation control information in accordance with information stored in the work memory. Therefore, an effect can be obtained in that the locating program for the locus control can easily be set and changed.




As described above, the location programming apparatus according to the present invention has the structure that when the set locating control type is speed control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the speed control as operation control information in accordance with information stored in the work memory. Therefore, an effect can be obtained in that the locating program can be generated by only graphically setting the instructed speed pattern for the operation.




As described above, the location programing apparatus according to the present invention has the structure that when the set locating control type is speed/position switching control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the speed/position switching control as operation control information in accordance with information stored in the work memory. Therefore, an effect can be obtained in that the locus for the speed/position switching control can easily be set and changed by using the locus graph.




As described above, the location programming apparatus according to the present invention has the structure that when the set locating control type is original-point returning control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the original-point returning control as operation control information in accordance with information stored in the work memory. Therefore, an effect can be obtained in that the locating program for the original-point returning control can easily be set and changed by using the locus graph.




As described above, the location programming apparatus according to the present invention has the structure that when the set locating control type is high-speed oscillation control, the graphical data generating means stores information generated on the coordinate graph and the speed graph in a predetermined area in the work memory, and the operation control information generating means generates a locating program and a parameter for the high-speed oscillation control as operation control information in accordance with information stored in the work memory. Therefore, an effect can be obtained in that the locating program for the high speed oscillation control can easily be set and changed by using the locus graph.




As described above, according to another aspect of the present invention, there is provided a location programming apparatus for generating operation control information for a controller for controlling a motor for operating a subject which must be controlled, the location programming apparatus comprising: graphical data generating means for generating, on a work memory, a position data table for a locating program having a time transition graph to graphically correspond to time transition; and means for transmitting the position data table stored in the work memory to the locating controller. Therefore, an effect can be obtained in that delay in the operation start can be prevented.




As described above, the location programming apparatus according to the present invention has the structure that the graphical data generating means generates a position data table for controlling one cycle of a plurality of axes corresponding to the set number of axes to be controlled. Therefore, even if a plurality of axes are controlled, the necessity of generating a sequence for administrating the positional relationship with other axes and start timing can be eliminated. Moreover, the problem in that the delay in the operation start of each axis can be prevented.




As described above, according to another aspect of the present invention, there is provided a location programming method for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, the location programming method comprising: a step of setting locating control type for controlling the operation of the subject which must be controlled; a step of graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and a step of generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in the work memory. Therefore, the locating program and the locating control parameter can be generated by only graphically setting the locus operation for the locating, the speed pattern and time transition control.




As described above, the location programming method according to the present invention has the structure that the graphical data generating step uses a coordinate graph in which a position control unit of the instructed axis which must be operated is made to be a unit of a coordinate axis and which indicates the position of the subject which must be controlled and a speed graph having a speed axis and a time axis to indicate change of the speed as time elapses so as to generate graph data. Therefore, an effect can be obtained in that the control operation can easily visually be understood for any user and time required to perform initial programming can significantly be shortened.




As described above, the location programming method according to the present invention has the structure that the graphical data generating step uses a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data. Therefore, an effect can be obtained in that the control operation can easily visually be understood for any user and time required to perform initial programming can significantly be shortened.




As described above, the location programming method according to the present invention has the structure that the graphical data generating step uses a other-time-transition graph having an amplitude axis and a time axis to indicate change in the degree of reciprocating motion as time elapses and a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data. Therefore, an effect can be obtained in that the control operation can easily visually be understood for any user and time required to perform initial programming can significantly be shortened.



Claims
  • 1. A location programming apparatus for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming apparatus comprising:locating control type setting means for setting locating control type based on input from a user for selecting one of a first process which interpolates axes, and at least a second process that does not require axes interpolation, for controlling the operation of the subject which must be controlled; graphical data generating means for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating means uses a coordinate graph in which a position control unit of the instructed axis which must be operated is made to be a unit of a coordinate axis and which indicates the position of the subject which must be controlled and a speed graph having a speed axis and a time axis to indicate change of the speed as time elapses so as to generate graph data.
  • 2. A location programming apparatus according to claim 1, wherein when the set locating control type is radius-instructed circular interpolation control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the radius-instructed circular interpolation control as operation control information in accordance with information stored in said work memory.
  • 3. A location programming apparatus according to claim 1, wherein when the set locating control type is central-point-instructed circular interpolation control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the central-point-instructed circular interpolation control as operation control information in accordance with information stored in said work memory.
  • 4. A location programming apparatus according to claim 1, wherein when the set locating control type is locus control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the locus control as operation control information in accordance with information stored in said work memory.
  • 5. A location programming apparatus according to claim 1, wherein when the set locating control type is linear locating control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the linear locating control as operation control information in accordance with information stored in said work memory.
  • 6. A location programming apparatus according to claim 1, wherein when the set locating control type is passing-point-in-instructed circular interpolation control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the passing-point-instructed circular interpolation control as operation control information in accordance with information stored in said work memory.
  • 7. A location programming apparatus for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming apparatus comprising:locating control type setting means for setting locating control type based on input from a user for selecting one of a first process which interpolates axes, and at least a second process that does not require axes interpolation, for controlling the operation of the subject which must be controlled; graphical data generating means for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating means uses a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data.
  • 8. A location programming apparatus according to claim 7, wherein when the set locating control type is speed/position switching control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the speed/position switching control as operation control information in accordance with information stored in said work memory.
  • 9. A location programming apparatus according to claim 7, wherein when the set locating control type is original-point returning control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the original-point returning control as operation control information in accordance with information stored in said work memory.
  • 10. A location programming apparatus according to claim 7, wherein when the set locating control type is speed control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the speed control as operation control information in accordance with information stored in said work memory.
  • 11. A location programming apparatus for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming apparatus comprising:locating control type setting means for setting locating control type for controlling the operation of the subject which must be controlled; graphical data generating means for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating means uses a coordinate graph in which a position control unit of the instructed axis which must be operated is made to be a unit of a coordinate axis and which indicates the position of the subject which must be controlled and a speed graph having a speed axis and a time axis to indicate change of the speed as time elapses so as to generate graph data, wherein when the set locating control type is radius-instructed circular interpolation control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the radius-instructed circular interpolation control as operation control information in accordance with information stored in said work memory.
  • 12. A location programming apparatus for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming apparatus comprising:locating control type setting means for setting locating control type for controlling the operation of the subject which must be controlled; graphical data generating means for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating means uses a coordinate graph in which a position control unit of the instructed axis which must be operated is made to be a unit of a coordinate axis and which indicates the position of the subject which must be controlled and a speed graph having a speed axis and a time axis to indicate change of the speed as time elapses so as to generate graph data, wherein when the set locating control type is central-point-instructed circular interpolation control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the central-point-instructed circular interpolation control as operation control information in accordance with information stored in said work memory.
  • 13. A location programming apparatus for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming apparatus comprising:locating control type setting means for setting locating control type for controlling the operation of the subject which must be controlled; graphical data generating means for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating means uses an other-time-transition graph having an amplitude axis and a time axis to indicate change in the degree of reciprocating motion as time elapses and a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate data, wherein when the set locating control type is high-speed oscillation control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the high-speed oscillation control as operation control information in accordance with information stored in said work memory.
  • 14. A location programming apparatus for generating operation control information for a controller for controlling a motor for operating a subject which must be controlled, said location programming apparatus comprising:graphical data generating means for generating, on a work memory, a position data table for a locating program having a time transition graph to graphically correspond to time transition; and means for transmitting said position data table stored in said work memory to said locating controller; and wherein said graphical data generating means generates a position data table for controlling one cycle of a plurality of axes corresponding to the set number of axes to be controlled.
  • 15. A location programming apparatus for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming apparatus comprising:locating control type setting means for setting locating control type for controlling the operation of the subject which must be controlled; graphical data generating means for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating means uses a other-time-transition graph having an amplitude axis and a time axis to indicate change in the degree of reciprocating motion as time elapses and a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data.
  • 16. A location programming apparatus according to claim 15, wherein when the set locating control type is high-speed oscillation control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the high-speed oscillation control as operation control information in accordance with information stored in said work memory.
  • 17. A location programming method for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming method comprising:a step of setting locating control type based on input by a user for selecting one of a first process which interpolates axes, and at least a second process that does not require axes interpolation, for controlling the operation of the subject which must be controlled; a step of graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and a step of generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating step uses a coordinate graph in which a position control unit of the instructed axis which must be operated is made to be a unit of a coordinate axis and which indicates the position of the subject which must be controlled and a speed graph having a speed axis and a time axis to indicate change of the speed as time elapses so as to generate graph data.
  • 18. A location programming method for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming method comprising:a step of setting locating control type based on input by a user for selecting one of a first process which interpolates axes, and at least a second process that does not require axes interpolation, for controlling the operation of the subject which must be controlled; a step of graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and a step of generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating step uses a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data.
  • 19. A location programming method for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming method comprising:a step of setting locating control type for controlling the operation of the subject which must be controlled; a step of graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and a step of generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating step uses a other-time-transition graph having an amplitude axis and a time axis to indicate change in the degree of reciprocating motion as time elapses and a speed graph having a speed axis and a time axis to indicate change in the speed as time elapses so as to generate graph data.
  • 20. A location programming apparatus for generating operation control information including a locating control parameter and a locating program for a controller for controlling a motor for operating a subject which must be controlled, said location programming apparatus comprising:locating control type setting means for setting locating control type for controlling the operation of the subject which must be controlled; graphical data generating means for graphically generating graph data of the locating program on a work memory in accordance with the set locating control type; and operation control information generating means for generating operation control information on a parameter memory and a locating program memory in accordance with graph data stored in said work memory, wherein said graphical data generating means uses a coordinate graph in which a position control unit of the instructed axis which must be operated is made to be a unit of a coordinate axis and which indicates the position of the subject which must be controlled and a speed graph having a speed axis and a time axis to indicate change of the speed as time elapses so as to generate graph data, wherein when the set locating control type is passing-point-instructed circular interpolation control, said graphical data generating means stores information generated on said coordinate graph and said speed graph in a predetermined area in said work memory, and said operation control information generating means generates a locating program and a parameter for the passing-point-instructed circular interpolation control as operation control information in accordance with information stored in said work memory.
PCT Information
Filing Document Filing Date Country Kind
PCT/JP98/00721 WO 00
Publishing Document Publishing Date Country Kind
WO99/42911 8/26/1999 WO A
US Referenced Citations (11)
Number Name Date Kind
3893616 Trousdale Jul 1975 A
4413314 Slater et al. Nov 1983 A
4469993 Swanson et al. Sep 1984 A
4617502 Sakaue et al. Oct 1986 A
5005119 Rumbaugh et al. Apr 1991 A
5379367 Song Jan 1995 A
5736824 Sato et al. Apr 1998 A
5757356 Takasaki et al. May 1998 A
5779749 Nafziger Jul 1998 A
6016110 Takinami Jan 2000 A
6160612 Itoh et al. Dec 2000 A
Foreign Referenced Citations (12)
Number Date Country
0 309 589 Apr 1989 EP
0 506 990 Oct 1992 EP
0 685 779 Dec 1995 EP
0 774 701 May 1997 EP
0 788 042 Aug 1997 EP
0 813 131 Dec 1997 EP
4-299708 Oct 1992 JP
404350701 Dec 1992 JP
06-131024 May 1994 JP
6-131024 May 1994 JP
10-20915 Jan 1998 JP
WO 97 09547 Mar 1997 WO