WO2011114776A1 - 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体 - Google Patents

表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体 Download PDF

Info

Publication number
WO2011114776A1
WO2011114776A1 PCT/JP2011/051611 JP2011051611W WO2011114776A1 WO 2011114776 A1 WO2011114776 A1 WO 2011114776A1 JP 2011051611 W JP2011051611 W JP 2011051611W WO 2011114776 A1 WO2011114776 A1 WO 2011114776A1
Authority
WO
WIPO (PCT)
Prior art keywords
series
command
data
screen
positions
Prior art date
Application number
PCT/JP2011/051611
Other languages
English (en)
French (fr)
Inventor
俊洋 森谷
Original Assignee
オムロン株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP11755966.6A priority Critical patent/EP2549347B1/en
Priority to US13/579,625 priority patent/US9563195B2/en
Priority to CN201180014647.4A priority patent/CN102812407B/zh
Publication of WO2011114776A1 publication Critical patent/WO2011114776A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/406Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
    • G05B19/4069Simulating machining process on screen
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/35Nc in input of data, input till input file format
    • G05B2219/35353While machining compare real path with simulated, command path, contour display
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/42Servomotor, servo controller kind till VSS
    • G05B2219/42307Compare actual feedback with predicted, simulated value to detect run away

Definitions

  • the present invention relates to a display device that displays a change in the position of a specific part in a control target to be driven based on a series of command values output by executing a motion program as a trajectory on a screen.
  • Patent Document 1 discloses a robot language processing apparatus as an apparatus for processing a work program that is the motion program.
  • the robot language processing apparatus stores a work program in which target position data of an industrial robot is described by a movement command.
  • the robot language processing apparatus graphically displays the locus of the tip of the robot arm that moves according to the work program in a three-dimensional manner.
  • Patent Document 2 discloses a tool path display method of a numerical control device.
  • the numerical control device displays a path of a tool driven by the X-axis servo motor and the Y-axis servo motor on the XY plane.
  • One is an ideal path as programmed.
  • the other is the actual tool path with an error from the ideal path.
  • the numerical control device displays the programmed movement amount component as it is at 1 time and displays the error amount component at a large magnification such as 20,000 times for the actual tool path.
  • the numerical control device displays the actual tool path by superimposing it on the display of the ideal path, or by replacing the error path with the display of the ideal path.
  • the motion program is a program that outputs a series of command values related to the movement of the controlled object to be given to the controlled object.
  • the motion program is typically executed in a controller such as a PLC (Programmable Logic Controller).
  • the controller gives a series of command values indicating the position of a specific part to be controlled to a motor driver for driving a motor included in the controlled object.
  • the specific part to be controlled is, for example, the rotational position of the motor and / or the tip position of the arm included in the controlled object. Since the control target has mass and friction, an error occurs dynamically between the position of the specific part of the control target and the position indicated by the command value.
  • Patent Document 2 discloses one method for displaying a position error.
  • the locus of the actual measurement position obtained by enlarging only the error component with a large magnification is displayed in a superimposed manner on the locus of the command position. For this reason, when the corresponding command position and the actual measurement position are far apart on the display screen, the correspondence between the command position and the actual measurement position is difficult to understand. Therefore, it becomes difficult for the user to accurately grasp the error occurrence state.
  • the commanded position (command position) of the specific part of the control target corresponding to the command value and the theoretically predicted position of the specific part of the actual control target (
  • a display device, a display control method, a display program, and a computer-readable recording medium capable of easily displaying an error between the predicted position) or the measured position (measured position) of the specific part to the user Is to provide.
  • a display device is a display device that displays a change in the position of a specific part in a control target to be driven based on a series of command values output by execution of a motion program as a trajectory on a screen. is there.
  • the display device includes a first position acquisition unit that acquires a series of command positions that are positions of specific parts based on a series of command values when the mass and friction of the control target are ignored, and the mass and friction of the control target When a simulation is performed in consideration of at least one of the above, a series of positions of the specific part based on the series of command values and a series of specific parts measured when driving based on the series of command values is performed
  • a second position acquisition unit that acquires a series of response positions corresponding to a series of command positions, which is a series of at least one of the positions, and a position of the command position and the response position corresponding to the command position
  • An error calculation unit for calculating a difference, a determination unit for determining whether the calculated difference is equal to or greater than a predetermined threshold, a spatial trajectory formed by a series of command positions, and a series of responses
  • a first display for generating data for displaying on the screen at least one of the spatial trajectories formed by the position and a first
  • the second display data creating unit further creates a second mark indicating the command position at the specified time, a third mark indicating the response position at the specified time, and data to be displayed on the screen.
  • the display control unit displays the second mark and the third mark on the screen when displaying the data created by the second display data creation unit on the screen.
  • the second display data creation unit creates data for displaying each spatial trajectory on the screen
  • the color of the spatial trajectory of the enlarged response position changes based on the calculated magnitude of the difference.
  • the data is created as follows.
  • the display control unit displays the enlarged spatial locus of the response position on the screen in a color based on the calculated difference.
  • the second display data creation unit creates a first direction on the screen and a second direction orthogonal to the first direction when creating data for displaying each spatial locus on the screen.
  • the data is generated so that the display magnification of the spatial trajectory becomes the designated display magnification.
  • the display control unit displays each spatial trajectory enlarged at the display magnification designated in each of the first direction and the second direction on the screen.
  • the first axis is time or the amount of movement of the specific part
  • the second axis is calculated based on the command position, the speed of the specific part calculated based on the command position, the response position, or the response position.
  • Data for displaying a two-dimensional graph indicating the speed of the specific part and data for displaying a portion on which the calculated difference is equal to or greater than a predetermined threshold on the two-dimensional graph.
  • a third display data creation unit for creating data for displaying the target fourth mark is further provided. The display control unit displays the two-dimensional graph and the fourth mark on the screen.
  • data for displaying a two-dimensional graph in which the first axis is time or the amount of movement of the specific part and the second axis is the magnitude of the calculated difference and the calculated difference are predetermined.
  • a third display data creation unit for creating data for displaying a portion that is equal to or greater than the threshold value on the two-dimensional graph and displaying data for displaying the fourth mark to be selected. Prepare.
  • the display control unit displays the two-dimensional graph and the fourth mark on the screen.
  • the first axis is time or the amount of movement of the specific part
  • the second axis is responded from the spatial trajectory of the command position along a direction perpendicular to the tangential direction of the spatial trajectory of the command position.
  • Data for displaying a two-dimensional graph as a distance to a spatial trajectory of a position, and data for displaying on a two-dimensional graph a portion where the calculated difference is equal to or greater than a predetermined threshold A third display data creation unit is further provided for creating data for displaying the fourth mark to be selected.
  • the display control unit displays the two-dimensional graph and the fourth mark on the screen.
  • a display control method displays a change in the position of a specific part in a control target to be driven based on a series of command values output by executing a motion program as a trajectory on a screen of a display device. It is a method to make it.
  • the display control method includes a step in which a processor of the display device acquires a series of command positions that are positions of specific parts based on a series of command values when the mass and friction of a control target are ignored, and the processor controls Measured when a series of positions of a specific part based on a series of command values and driving based on a series of command values when simulation is performed taking into account at least one of the target mass and friction.
  • the second data is generated
  • a program displays a change in the position of a specific part in a control target to be driven based on a series of command values output by executing a motion program as a trajectory on a screen of a display device. It is.
  • the program obtains at least one of the step of obtaining a series of command positions, which are the positions of specific parts based on the series of command values, when the mass and friction of the control target are ignored, and the mass and friction of the control target. At least one of the series of positions of the specific part based on the series of command values and the series of positions of the specific part measured when driving based on the series of command values when the simulation is taken into account.
  • a computer-readable recording medium displays on a screen of a display device a change in the position of a specific part in a control target to be driven based on a series of command values output by execution of a motion program.
  • a recording medium storing a program to be displayed as a locus. The program obtains at least one of the step of obtaining a series of command positions, which are the positions of specific parts based on the series of command values, when the mass and friction of the control target are ignored, and the mass and friction of the control target. At least one of the series of positions of the specific part based on the series of command values and the series of positions of the specific part measured when driving based on the series of command values when the simulation is taken into account.
  • the error can be displayed to the user in an easy-to-understand manner.
  • FIG. 12 is a diagram illustrating a second part of the motion program following FIG. 11.
  • FIG. 13 is a diagram showing a third part of the motion program following FIG. 12.
  • FIG. 15 is a graph in which a trajectory of a command position when the motion program of FIGS. 11 to 14 is executed is displayed with an axis A on the horizontal axis and an axis B on the vertical axis.
  • FIG. 16 is an enlarged graph displayed by the PC 10 when the user clicks on an error occurrence mark 211 near the FB 9 in FIG. 15. It is the figure which showed the state which displayed the same time marker, ie, a command position marker, and a response position marker on the enlarged display screen of FIG.
  • FIG. 16 is a diagram illustrating contents displayed on a screen when a user clicks an error occurrence mark between FB10 and FB11 in FIG. 15 in a state where a check of a linkage check box is released. It is the figure which showed the state which displayed the locus
  • FIG. 1 is a diagram showing a schematic configuration of a control system 1 according to the present embodiment.
  • the control system 1 includes a PC (Personal Computer) 10, a PLC 20, servo amplifiers 31 to 33, and servo motors 41 to 43.
  • the servo motors 41 to 43 are connected to movable mechanisms (see FIG. 9) driven by the servo motors 41 to 43, respectively.
  • an apparatus including each servo motor and each movable mechanism is referred to as a “control target”.
  • the PLC 20 includes a power supply unit 21, a CPU (Central Processing Unit) unit 22, an I / O (Input / Output) unit 23, an MC (Motion Control) unit 24, and a backplane 25.
  • the power supply unit 21, CPU unit 22, I / O unit 23, and MC unit 24 are electrically connected to each other via a backplane 25.
  • the motion program in the present embodiment is a program including motor control.
  • the sequence of the motion program is described in the form of a sequence program using a ladder diagram (ladder diagram) language or the like.
  • an FB (Function Block) for motor control that is, a motion FB is used.
  • the motion FB is sometimes called a motion program.
  • the CPU unit 22 executes a sequence program.
  • the MC unit 24 receives from the CPU unit 22 instructions for the type of motion FB to be executed and parameters necessary for the motion FB execution.
  • the MC unit 24 executes the contents of the motion FB.
  • the MC unit 24 outputs a series of command values to the servo amplifiers 31 to 33 over time.
  • the MC unit 24 reports the execution status and execution result of the contents of the motion FB to the CPU unit 22. Note that the MC unit 24 independent of the CPU unit 22 may not be provided, and the CPU unit 22 may have the function of the MC unit 24.
  • the I / O unit 23 acquires input data from switches, sensors, etc., and provides it to the CPU unit 22.
  • the input data is used in the CPU unit 22 to determine whether the conditions in the sequence program are met.
  • Servo amplifiers 31 to 33 are motor drivers for driving the servo motors 41 to 43 in response to command values from the MC unit 24.
  • the control system 1 not only the servo motors 41 to 43 but also a pulse motor can be used. In this case, a motor driver corresponding to the type of motor to be used is used.
  • the servo amplifiers 31 to 33 are connected to the MC unit 24 via a communication line 60 such as EtherCAT (registered trademark).
  • the command values given from the MC unit 24 to the servo amplifiers 31 to 33 are values such as the motor position, speed, and torque. In this embodiment, it is assumed that the position command value is given from the MC unit 24 to the servo amplifiers 31 to 33 at a constant cycle.
  • the position command value may be the rotation position (rotation angle) of the servo motors 41 to 43, or may be the position of a specific part to be controlled that is driven by the servo motors 41 to 43.
  • the position of a specific part of the control target that is to be displayed in particular corresponding to the position command value is referred to as “command position”.
  • the servo amplifiers 31 to 33 are set in advance to drive the servo motors 41 to 43 by correctly interpreting the command value (for example, multiplying the command value by an appropriate coefficient).
  • the servo amplifiers 31 to 33 supply drive current to the servo motors 41 to 43.
  • the servo amplifiers 31 to 33 receive feedback of measured values from encoders that detect the rotational positions of the servo motors provided in the servo motors 41 to 43.
  • the servo amplifiers 31 to 33 control the drive current so that the actual measurement value follows the command value using the actual measurement value and the actual measurement speed calculated as the change amount of the actual measurement value.
  • the position command value may be expressed in the form of the number of pulses sent within one control cycle through the communication line 60 directly connecting the MC unit 24 and the servo amplifiers 31-33.
  • the number of pulses represents a relative position (position change amount) from the position in the immediately preceding control cycle.
  • the servo amplifiers 31 to 33 are set with the number of pulses corresponding to one rotation of the servo motors 41 to 43.
  • the number of pulses corresponding to one rotation of the servo motors 41 to 43 is set, and the movement amount of the specific part to be controlled corresponding to one rotation of the servo motors 41 to 43 is set.
  • the MC unit 24 sends the necessary number of pulses to the servo amplifiers 31 to 33 to realize the motion of the controlled object programmed for each control cycle.
  • Servo amplifiers 31 to 33 rotate servo motors 41 to 43 according to the number of received pulses.
  • the encoder that detects the rotational positions of the servo motors 41 to 43 is an incremental method, the PLC 20 detects the actual position value in the form of the number of pulses corresponding to the rotational angle of the servo motors 41 to 43. For this reason, PLC20 can obtain
  • the PC 10 functions as a display device that displays the trajectory on the screen 11.
  • the PC 10 is connected to the CPU unit 22 via a communication line 70 such as a USB (Universal Serial Bus).
  • a support program for the PLC 20 is installed in the PC 10.
  • the PLC 20 support program includes a display program for displaying the trajectory on the screen 11.
  • CD-ROM (Compact Disk-Read Only Memory) 999 stores the support program of PLC20.
  • the PLC support program is installed in the PC 10 from the CD-ROM 999.
  • FIG. 2 is a block diagram showing the hardware configuration of the PC 10.
  • the PC 10 includes, as main components, a CPU 901 that executes a program, a ROM (Read Only Memory) 902 that stores data in a nonvolatile manner, data generated by execution of the program by the CPU 901, or A RAM 903 that stores data input via the keyboard 905 or the mouse 906 in a volatile manner, an HDD (Hard Disk Drive) 904 that stores data in a nonvolatile manner, a keyboard 905 that receives an instruction input by a user of the PC 10, and A mouse 906, a monitor 907, a CD-ROM drive 908, and a communication IF 909 are included. Each component is connected to each other by a data bus.
  • a CD-ROM 999 is mounted on the CD-ROM drive 908.
  • the processing in the PC 10 is realized by each hardware and software executed by the CPU 901.
  • Such software may be stored in advance in the HDD 904.
  • the software may be stored in a CD-ROM 999 or other storage medium and distributed as a program product.
  • the software may be provided as a program product that can be downloaded by an information provider connected to the so-called Internet.
  • Such software is read from the storage medium by the CD-ROM drive 908 or other reading device, or downloaded via the communication IF 909 and then temporarily stored in the HDD 904.
  • the software is read from the HDD 904 by the CPU 901 and stored in the RAM 903 in the form of an executable program.
  • the CPU 901 executes the program.
  • PC 10 Each component constituting the PC 10 shown in the figure is a general one. Therefore, it can be said that the essential part of the present invention is software stored in the RAM 903, HDD 904, CD-ROM 999 or other storage medium, or software downloadable via a network. Since the operation of each hardware of PC 10 is well known, detailed description will not be repeated.
  • Recording media are not limited to DVD-ROM, CD-ROM, FD (Flexible Disk), and hard disk, but are magnetic tape, cassette tape, optical disk (MO (Magnetic Optical Disc) / MD (Mini Disc) / DVD (Digital). Versatile Disc), IC (Integrated Circuit) card (including memory card), optical card, mask ROM, EPROM (Electronically Programmable Read-Only Memory), EEPROM (Electronically Erasable Programmable Read-Only Memory), flash ROM, and other semiconductors It may be a medium that carries a fixed program such as a memory.
  • the recording medium is a non-temporary medium that can be read by the computer.
  • the program here includes not only a program directly executable by the CPU but also a program in a source program format, a compressed program, an encrypted program, and the like.
  • FIG. 3 is a diagram showing a general development procedure of a control system including a control object including a servo motor and a PLC that controls the operation of the control object.
  • the mechanical staff (mechanism staff) and the control staff perform the following steps in cooperation and cooperation.
  • step S2 the mechanical staff performs concept design. Specifically, in the same step, the mechanical staff determines specifications such as the function, structure, and performance of the entire control target. In step S4, the mechanical staff performs detailed design of the mechanism to be controlled. In this step, the mechanical staff may check the operation interference of the movable part using a three-dimensional CAD.
  • step S6 the mechanical staff and control staff perform control timing design. Specifically, in this step, first, the mechanical staff creates a timing chart and a velocity diagram for each operation of the apparatus. The mechanical staff transmits the created timing chart and velocity diagram to the control staff. The person in charge of control selects the PLC model and unit configuration based on the transmitted design information.
  • step S8 the control person performs control programming. Specifically, in this step, the person in charge of the control performs the operations shown in the following (a) to (e).
  • the person in charge of control creates a memory map (definition of control input and control output in PLC).
  • B The control person determines the network and data link between the PLC and the servo amplifier and between the PLCs when a plurality of PLCs are used.
  • C The person in charge of control determines the parameters of the MC unit and the servo amplifier.
  • D The person in charge of control creates a sequence program using a ladder diagram language or the like.
  • the person in charge of control determines parameters such as position and speed for the motion FB used in the sequence program.
  • step S10 the person in charge of the control debugs the program in an off-line state. Specifically, in the same step, the person in charge of the control uses the PC 10 to debug the contents shown in the following (f) to (j) on the desk.
  • the person in charge of the control corrects if there is a compile error.
  • the control person refers to the locus of the command position and corrects any motion FB parameter error.
  • the person in charge of the control checks whether the simulated trajectory of the two-dimensional or three-dimensional command position simulated under various conditions such as the ON / OFF state of the contact and whether the intended command is executed under the various conditions. If there is an error in the sequence program, correct it.
  • step S12 the mechanical staff and control staff cooperate to perform machine assembly and wiring. Furthermore, the person in charge of control transfers the motion program for which desktop debugging has been completed from the PC 10 to the PLC 20.
  • step S14 the person in charge of the control performs the test operation and adjustment of the controlled object. Specifically, in the same step, the person in charge of the control performs the operations shown in the following (k) to (o).
  • K The person in charge of the control performs JOG operation for each axis and confirms that there is no problem in the performance of the apparatus.
  • the “shaft” is derived from the term “rotary shaft” of the motor, and refers to one motor or one motor and a movable part driven by the motor. JOG operation refers to continuing to move an axis at a specified constant speed.
  • L The person in charge of the control performs a trial run of program control and confirms that the apparatus moves as expected.
  • the person in charge of the control performs a continuous operation test.
  • the person in charge of control performs online debugging. That is, the control person collects data corresponding to a series of actually measured positions of a specific part of the apparatus by using the data trace function provided in the PLC and transfers the data to the PC. Confirm that the error is within the allowable range.
  • O The control person measures the tact time, and if the measured tact time exceeds the design time, the control person modifies the program so that it is within the design time as in the case of off-line debugging.
  • step S10 and step S14 the trajectory of both positions is displayed on the screen 11 of the PC 10 in contrast to indicate an error between the command position and the predicted position or the actually measured position.
  • a PC 10 as a display device is used.
  • FIG. 4 is a functional block diagram of the motion trajectory display program included in the support program executed in the PC 10.
  • the support program includes an editor and debugger of the sequence program 101, a communication program with the PLC 20, a program for performing various settings of the PLC 20, and the like.
  • the display program includes a simulation unit 102, an FB library 103, a command value calculation unit 104, a command position calculation unit 105, a predicted position calculation unit 106, a trace data storage unit 107, a display.
  • a data processing unit 108, a display control unit 109, and a reception unit 110 are provided.
  • the predicted position calculation unit 106 includes a motor current calculation unit 161, a torque value calculation unit 162, a motor DB (Data Base) 163, a motion equation calculation unit 164, and a device DB 165.
  • the sequence program 101 is created by the user.
  • the sequence program 101 is given to the simulation unit 102.
  • the sequence program 101 is not a part of the display program.
  • the simulation unit 102 functions as a simulator of the PLC 20 and executes the sequence program 101.
  • a program for providing input data to the simulation unit 102 is used in combination with the sequence program 101, if necessary, instead of an actual control target.
  • the simulation unit 102 gives information specifying the motion FB to be executed and parameters necessary for the execution of the motion FB to the command value calculation unit 104.
  • the FB library 103 is stored in the HDD 904 of the PC 10 and accumulates various types of FBs as executable programs.
  • the FB library 103 is also provided in the PLC 20 for use when the PLC 20 executes a motion program.
  • the PLC 20 is operated as follows until the end condition is satisfied. That is, the motion FB for calculating the command value causes the PLC 20 to calculate the command value and output the calculated command value for each constant control period of the PLC 20 based on the given parameters. Make it work.
  • the command value calculation unit 104 reads a necessary motion FB from the FB library 103.
  • the command value calculation unit 104 simulates FB execution in the PLC 20.
  • the command value calculation unit 104 outputs a series of command values corresponding to the output for each control cycle in the PLC 20.
  • the command position calculation unit 105 calculates a command position to be a locus display target from the command value.
  • the command position is the position of the specific part of the control target based on the output command value when the mass and friction of the control target are ignored. In other words, it can be said that the command position is a position of a specific part of the control target to be realized by a given series of command values when the mass and friction of the control target are ignored.
  • the “series of command positions” are positions of specific parts of the control target based on the series of output command values when the mass and friction of the control target are ignored.
  • the command position calculation unit 105 corresponds to a “first position acquisition unit”.
  • the command value of one axis and the command position have a one-to-one correspondence as in the case of calculating the X coordinate of the table from the command value that gives the rotation angle of the X axis motor of the XY table. is there.
  • the command value may be used as a command position as it is.
  • the command value ( ⁇ value or R value) and the display command position (X value or Y value) may not correspond one-to-one.
  • the command position calculation unit 105 does not calculate the command position by execution simulation of the PLC 20, but the PC 10 obtains a series of control command values calculated by the PLC 20 itself, and the command position calculation unit 105 uses the command for the locus display.
  • the command position may be calculated.
  • the command position calculation unit 105 calculates the command position by simulation
  • the execution simulation of the PLC 20 the calculation of the command position, and the drawing of the trajectory are not necessarily performed by the same computer.
  • the PC 10 may acquire a command position calculated by another computer and draw a locus based on the command position.
  • a communication interface or a storage medium interface for acquiring a command position from another computer corresponds to the “first position acquisition unit”.
  • the predicted position calculation unit 106 calculates the predicted position of the specific part of the control target to be displayed as the locus from the given command value. In the process, the predicted position calculation unit 106 reads necessary data from the motor DB 163 storing data related to the motor specifications and the device DB 165 storing data related to the specifications of the control target, and the read data Is used. The predicted position calculation unit 106 corresponds to a “predicted position acquisition unit”.
  • Calculating the predicted position and drawing the trajectory are not necessarily performed on the same computer.
  • the PC 10 may acquire the predicted position calculated by another computer and draw the locus.
  • the communication interface or the storage medium interface for acquiring the predicted position from another computer corresponds to the “predicted position acquisition unit”.
  • the motor current calculation unit 161 calculates the current value supplied to the servo motors 41 to 43 from the given command value.
  • the torque value calculation unit 162 calculates the torque value exerted by the servo motor from the given current value and the motor torque coefficient of the servo motor to be used read from the motor DB 163.
  • the equation of motion calculation unit 164 is a portion driven by the servo motor to be controlled, read from the device DB 165, and the value of the torque value, the moment of inertia of the servo motor used, the dynamic friction coefficient, etc. read from the motor DB 163.
  • the predicted position is calculated from the values of inertia moment, dynamic friction coefficient, and the like.
  • the servo motor control system model required for calculating the current value from the command value is generally disclosed as a block diagram for each servo amplifier, and information on the block diagram is incorporated in the display program.
  • the torque value calculation unit 162 calculates the torque value Tm of the motor according to the following equation (1).
  • T m K T I (1)
  • KT is a motor torque coefficient which is a constant for each motor
  • I is the motor current.
  • the equation of motion calculation unit 164 obtains the predicted position
  • an equation of motion is used in which the product of the moment of inertia (that is, the moment of mass) and the angular acceleration is equal to the force generated by the motor torque, various frictions, and the like. it can. That is, it can be said that the predicted position is a position of a specific part of the control target based on the series of command values when a simulation is performed in consideration of at least one of the mass and friction of the control target.
  • the equation of motion of the motor shaft is expressed by the following equation (2).
  • I m ⁇ ′′ T m ⁇ k m ⁇ ′ ⁇ m N m (2)
  • is the rotation angle of the motor
  • ⁇ ′ is the derivative of ⁇ , that is, the rotational speed of the motor
  • ⁇ ′′ is the second derivative of ⁇ , that is, the rotational angular acceleration of the motor
  • T m is the torque value of the motor
  • k m is the viscous friction coefficient of the motor
  • mu m is the dynamic friction coefficient of the motor
  • N m is the vertical drag of the motor.
  • the rotation angle ⁇ of the servo motors 41 to 43 corresponds to the predicted position.
  • the position of the specific part driven by the motor is set as the predicted position of the locus display target, appropriate conversion is performed from the rotation angle ⁇ of the servomotors 41 to 43, and the converted value is set as the predicted position.
  • the constants of the driving devices driven by the servo motors 41 to 43 can be taken into consideration.
  • the equation of motion when a speed reducer is connected to the servo motors 41 to 43 is as the following equation (3).
  • T m is the torque value of the motor
  • n G is the transmission efficiency
  • H G the force transmission ratio
  • CG is the viscous friction coefficient of the barrel inside the reducer
  • ⁇ G is the dynamic friction coefficient of the reducer
  • NG is the normal force of the reduction gear.
  • I G , n G , H G , C G , ⁇ G , and N G are constants determined for each reduction gear, and are acquired from the device DB 165.
  • the rotation angle ⁇ G of the speed reducer corresponds to the predicted position.
  • appropriate conversion is performed from the rotation angle ⁇ G of the speed reducer, and the converted value is set as the predicted position. .
  • the trace data storage unit 107 stores a series of position data in which a series of command values and a series of actual measurement values accumulated in the PLC 20 acquired from the PLC 20 are converted in advance into command positions and actual measurement positions that can be used for locus display. Is remembered.
  • the trace data storage unit 107 corresponds to an “actual measurement position acquisition unit”.
  • the PC 10 includes at least one of the “predicted position acquisition unit” and the “measured position acquisition unit”, the PC 10 includes a “response position acquisition unit”.
  • the display data processing unit 108 receives the command position from the command position calculation unit 105, the predicted position from the predicted position calculation unit 106, the command position and the actual measurement position from the trace data storage unit 107, and the operation data input from the reception unit 110.
  • the display data processing unit 108 creates various display data using the input data, and outputs the created various display data to the display control unit 109. Detailed processing contents of the display data processing unit 108 will be described later.
  • the display control unit 109 displays the display data generated by the display data processing unit 108 on the screen 11 of the monitor 907.
  • the display control unit 109 performs display control of the monitor 907 in the PC 10. That is, the display control unit 109 displays various images on the screen 11 of the monitor 907.
  • the accepting unit 110 accepts a mark selection operation by the user.
  • the mark will be described later.
  • FIG. 5 is a functional block diagram showing details of the display data processing unit 108.
  • display data processing unit 108 includes display data creation processing control unit 1081, error calculation unit 1082, determination unit 1083, first display data creation unit 1084, and second display data creation unit 1085. And a third display data creation unit 1086.
  • the display data creation processing control unit 1081 (I) transition control of the type of screen to be displayed, (II) control of scrolling and display magnification change, and (III) screen content. (IV) Display of input command position, predicted position, and measured position data on first, second, and third display data creation units 1084, 1085, 1086 and error calculation unit 1082 Transmission control according to the content of the screen to be performed, (V) Control of transmission of the determination content by the determination unit 1083 to each display data creation unit 1084, 1085, 1086, (VI) In each display data creation unit 1084, 1085, 1086 Transmission control of the generated display data to the display control unit 109 is performed.
  • the error calculation unit 1082 calculates the difference between the command position and the predicted position or the actual measurement position corresponding to the command position.
  • the determination unit 1083 determines whether or not the difference calculated by the error calculation unit 1082 is greater than or equal to a predetermined threshold value.
  • the first display data creation unit 1084 displays at least one of a spatial trajectory formed by a series of command positions, a spatial trajectory formed by a series of predicted positions, and a spatial trajectory formed by a series of actually measured positions. Create data to be displayed on the screen.
  • the spatial trajectory may be two-dimensional or three-dimensional.
  • a two-dimensional spatial trajectory is a projection of a trajectory in a three-dimensional space onto a plane.
  • the first display data creation unit 1084 further creates data for displaying on the screen an error occurrence mark indicating a portion of the spatial trajectory that is determined by the determination unit 1083 to have an error equal to or greater than a threshold value.
  • the second display data creation unit 1085 calculates a spatial trajectory of the command position of the part corresponding to the error occurrence mark selected by the user's operation and a spatial trajectory of the predicted position or the actually measured position corresponding to the spatial trajectory. Data for displaying each spatial trajectory on the screen is created in a manner in which the enlarged spatial trajectories overlap with each other in an aspect enlarged at the same magnification.
  • the spatial trajectory may be two-dimensional or three-dimensional.
  • the third display data creation unit 1086 creates data for displaying a two-dimensional graph having the first axis, for example, the horizontal axis as time or movement amount.
  • the second axis of the two-dimensional graph for example, the vertical axis, is selected from the following types.
  • the first aspect of the vertical axis is the speed of the specific part of the control target calculated based on the command position, the predicted position, the actually measured position, or any one of these positions.
  • the second aspect of the vertical axis is the magnitude of the difference calculated by the error calculation unit 1082.
  • the third aspect of the vertical axis is a distance from the spatial locus of the command position to the predicted location or the spatial locus of the actually measured position along a direction perpendicular to the tangential direction of the spatial locus of the command position.
  • the third display data creating unit 1086 further creates data for displaying on the two-dimensional graph an error occurrence mark indicating a portion where the error is determined to be greater than or equal to the threshold by the determining unit 1083.
  • FIG. 6 is a diagram showing an example of the data structure of the motor DB 163.
  • the motor DB 163 stores the motor type, rated output, moment of inertia, viscous friction coefficient, dynamic friction coefficient, and the like of the servo motor in a table format in association with each other.
  • the device DB 165 also stores various constants for each control target in the form of a table, similarly to the motor DB 163.
  • FIG. 7 is a flowchart showing a process for displaying the predicted position.
  • the simulation unit 102 reads the sequence program 101.
  • the simulation unit 102 acquires an instruction to be executed or a motion FB.
  • the simulation unit 102 determines whether the acquired data is a motion FB.
  • step S26 the simulation unit 102 executes the command acquired in step S28.
  • step S30 the simulation unit 102 determines whether or not the execution of the sequence program 101 has ended.
  • the display control unit 109 displays the trajectory on the screen 11 in step S32. If simulation unit 102 determines that execution of sequence program 101 has not ended (NO in step S30), the process proceeds to step S24.
  • the command value calculation unit 104 reads the motion FB designated by the simulation unit 102 from the FB library 103 in step S34.
  • step S36 the command value calculation unit 104 starts a loop process
  • step S40 the command value calculation unit 104 ends the loop process.
  • the process is repeatedly executed until the end of the read motion FB while advancing the simulation time at regular time intervals.
  • step S38 the command value calculation unit 104 repeats the process of executing the motion FB and calculating the command value.
  • step S42 the command position calculation unit 105 calculates a series of command positions corresponding to the series of command values.
  • step S44 the predicted position calculation unit 106 calculates a series of predicted positions corresponding to the series of command positions.
  • FIG. 8 is a flowchart showing a process for displaying the measured position.
  • display data processing unit 108 acquires a series of actually measured positions from trace data storage unit 107 in step S52.
  • step S ⁇ b> 54 the display control unit 109 displays the measured position acquired by the display data processing unit 108 on the screen 11 of the monitor 907.
  • FIG. 9 is a diagram showing a schematic configuration of a mount cutting device 1A which is an application example of the control system 1.
  • a mount cutting apparatus 1A includes a PC 10 (not shown), a PLC 20, servo amplifiers 31 to 33, a communication line 60, and a uniaxial stage mechanism 501 to movably controlled. 503.
  • the Z-direction stage mechanism 501 includes a servo motor 41 and a feed screw 51.
  • the feed screw 51 has a nut 51a that is screwed onto the screw shaft.
  • the stage mechanism 502 in the X direction includes a servo motor 42 and a feed screw 52.
  • the feed screw 52 has a nut 52a that is screwed onto the screw shaft.
  • the Y-direction stage mechanism 503 includes a servo motor 43, a feed screw 53, and a cutter 54.
  • the feed screw 53 has a nut 53a that is screwed onto the screw shaft.
  • the cutter 54 is fixed to the nut 53a.
  • the cutting edge of the cutter 54 faces the Z-axis negative direction (the direction of the mount 90).
  • the cutter 54 is movable in the X-axis direction, the Y-axis direction, and the Z-axis direction by driving the servo motors 41 to 43.
  • the cutter 54 is provided for cutting the mount 90.
  • FIG. 10 is a diagram showing an example of cutting the mount 90 by the mount cutting device 1A.
  • the board cutting device 1A moves the cutter 54 waiting at the initial position O (0, 0, 0) to P6. Thereafter, the board cutting device 1A lowers the cutter 54 onto the board 90, and moves the cutter 54 in the order of P1, P2, P3, P4, P5, and P1.
  • the board cutting device 1A cuts the board 90 by the movement. Thereafter, the board cutting device 1A raises the cutter 54 and moves to P6, and ends the cutting process.
  • 11 to 14 are diagrams showing an example of a motion program for causing the mount cutting device 1A of FIG. 9 to execute the mount cutting process shown in FIG.
  • the motion program the process of aligning the position of the cutter 54 to the initial position O (0,0,0) at the start of the operation, and the return of the cutter 54 to the initial position O (0,0,0) after the operation is completed.
  • the description of the part to be made is omitted.
  • FB1 to FB13 are motion FBs in the motion program.
  • the terminal on the left side of the FB represents an input to the FB, and the terminal on the right side of the FB is an output from the FB.
  • There are more input terminals and output terminals in the FB that is actually commercialized, and various settings can be made. However, terminals that are not used in the description are not shown.
  • the output shown from the FB is the output for the other parts of the sequence program.
  • the motion FB is executed in the PLC 20
  • the calculated command value and other signals for the servo amplifiers 31 to 33 are output from the MC unit 24.
  • the process of outputting the command value and the signal is a function for the MC unit of the FB. For this reason, the function is not expressed in the notation of the sequence program.
  • the unit of the numerical value of the position input to the FB is mm, and the unit of the numerical value of the speed is mm / sec.
  • the command value actually sent from the MC unit 24 to the servo amplifiers 31 to 33 is converted into a value representing the rotation angle of the motor.
  • FIG. 11 is a diagram showing a first part of the motion program. Referring to FIG. 11, the following processes (A) to (C) are described in each line of the motion program.
  • C) 5th to 6th lines It is determined whether or not the cutter 54 is moving to the coordinate P6 in FIG. When all the servo motors 41 to 43 are operable, the coil Under_Moving P6 is turned on.
  • FIG. 12 is a diagram showing a second part of the motion program following FIG. Referring to FIG. 12, the following processes (D) to (G) are described in each line of the motion program.
  • the cutter 54 is moved to the coordinate P6 in FIG. FB4, FB5, and FB6 are FBs that calculate a series of command values for one axis.
  • Axis is a terminal for inputting an axis designation.
  • AxisA inputted from the terminal represents an X axis
  • AxisB represents a Y axis
  • AxisC represents a Z axis.
  • Position is a terminal for inputting the coordinates of the movement destination
  • Velocity is a terminal for inputting the movement speed.
  • the designated coordinates are as shown in FIG. For example, since the XYZ coordinates of P6 are (100, 100, 200), 100 is given as the value of P6_Position_X.
  • the values of P6_Velocity_X, P6_Velocity_Y, and P6_Velocity_Z are 41, 41, and 82, respectively.
  • FIG. 13 is a diagram showing a third part of the motion program following FIG. Referring to FIG. 13, the following processes (H) to (J) are described in each line of the motion program.
  • (H) 15th line The lowering operation (movement from P6 to P1) of the cutter 54 to the mount 90 is executed.
  • FB7 is an FB for calculating a series of command values for one axis. The Z axis is specified by the input of AxisC.
  • the value of P1_Position_Z is 0, and the value of Down_Velocity is 100.
  • Lines 16 to 17 It is determined whether or not a cutting operation is in progress.
  • FIG. 14 is a diagram showing a fourth part of the motion program following FIG. Referring to FIG. 14, the following processes (K) and (L) are described in each line of the motion program.
  • FIG. 15 is a graph in which the trajectory of the command position when the motion program of FIGS. 11 to 14 is executed is displayed with the horizontal axis as axis A and the vertical axis as axis B.
  • axes A and B are axis names used inside the MC unit, and correspond to the axis of the feed screw 52 (X axis) and the axis of the feed screw 53 (Y axis) in FIG. .
  • the user can select any one of the axis A (X axis), the axis B (Y axis), and the axis C (Z axis) on the horizontal axis and the vertical axis by using the pull-down menus 201 and 202 at the top of the screen 11, respectively. Can be specified.
  • the user can select a command position, a predicted position, or a measured position to be displayed by using the selection check boxes 203 to 205 in the upper part of the screen 11.
  • the PC 10 displays the trajectory of the command position on the screen 11 with a dotted line, and the trajectory of the response position (predicted position or measured position) with a solid line.
  • the PC 10 displays the command position and the predicted position, but it appears to the user that both loci overlap and only the solid line is displayed.
  • an error that occurs between the command position and the response position in an operation in the range of several hundreds of millimeters is about several tens of ⁇ m. I can't confirm.
  • the PC 10 may omit the display processing itself of any track.
  • “FB9 ⁇ ” displayed on the side of the locus represents a position when the execution of the displayed motion FB is started (position when the FB executed before that is finished).
  • the visual field changing hand 206 is a kind of mouse pointer, and indicates that the display range of the graph can be moved when the trajectory protrudes from the outer frame of the graph.
  • the PC 10 changes the mouse pointer and moves the displayed graph corresponding to the movement of the mouse.
  • Enlarged / reduced slide bars 207 and 208 represent the scales of the vertical and horizontal axes of the graph, respectively.
  • the PC 10 changes the scale of the vertical and horizontal axes.
  • the user checks the interlocking check box 209 when the scale of one of the vertical axis and the horizontal axis changes, the PC 10 causes the other scale to follow the same scale.
  • the user can independently change the scales of the vertical axis and the horizontal axis.
  • the error occurrence marks 211 and 212 are marks indicating locations of a locus having a large error.
  • the error occurrence marks 211 and 212 are marks indicating portions where the error is equal to or greater than a predetermined threshold.
  • a portion having a large error is also referred to as “a portion where it is determined that an error has occurred” or “a portion where an error has occurred”. The determination criteria will be described later.
  • the PC 10 displays the location in a state where a location with a large error is surrounded by a dotted rectangle. On the path from FB10 to FB11, there are intermittently many places with large errors, but when the error occurrence places are close to each other, the PC 10 displays one figure surrounding them as shown in the figure. .
  • the shape and color of the error occurrence marks 211 and 212 can be arbitrarily designed so as to facilitate visual recognition.
  • the PC 10 can also change the color of the locus itself of the portion determined to have an error and display the locus portion where the color has changed as an error occurrence mark. In this case, if the length of the portion where the error has occurred is short, it is difficult for the user to visually recognize even if the color of the portion is changed. Therefore, when changing the color of the trajectory, the PC 10 may change the color over a length that allows the portion to be easily visually recognized, regardless of the length of the trajectory of the portion where the error actually occurs.
  • the PC 10 may display the graphic that is the error occurrence marks 211 and 212 even when changing the color of the locus of the portion that is determined to have an error.
  • the PC 10 When the user clicks on the error occurrence marks 211 and 212, the PC 10 performs screen transition and enlarges and displays the portion where the error has occurred.
  • FIG. 16 is an enlarged graph displayed by the PC 10 when the user clicks the error occurrence mark 211 near the FB 9 in FIG.
  • the PC 10 changes the color of the response positions (predicted positions in this case) 221 to 223 in the portion where the error is large with respect to the command position 224 in two steps according to the magnitude of the error. Is displayed. By changing the color in this way, the PC 10 can display the magnitude of the error in a clear state for the user based on the locus of the response position itself.
  • the PC 10 automatically adjusts the display scale of the enlarged graph to a size suitable for observing the error occurrence state. For example, when the number of scales to be displayed is a fixed value, the PC 10 obtains the scale width on the vertical axis by the following method.
  • the PC 10 adjusts the display so that the scale width is a value obtained by multiplying 1, 2, or 5 by a power of 10.
  • the PC 10 performs the same processing as the vertical axis on the horizontal axis.
  • the user can manually change the scale using the enlargement / reduction slide bars 207 and 208.
  • the user can uncheck the interlocking check box 209 and independently change the scale of the vertical axis and the horizontal axis. Even in this case, since the scale is changed in both the command position trajectory and the response position trajectory, the vertical scales and the horizontal scales of the command position trajectory and the response position trajectory are the same.
  • the PC 10 enlarges both loci at the same magnification in a manner in which the spatial locus of the command position of the portion corresponding to the selected error occurrence mark and the spatial locus of the response position corresponding thereto are overlapped. 11 is displayed. More precisely, the PC 10 is an aspect in which the spatial trajectory of the command position of the portion corresponding to the selected error occurrence mark and the spatial trajectory of the response position corresponding to the spatial trajectory are enlarged at the same magnification. The spatial trajectories are displayed on the screen 11 in such a manner that the enlarged spatial trajectories overlap each other. For this reason, it is easy for the user to understand the occurrence of the error.
  • the two-dimensional trajectory data generation unit 181 basically creates the trajectory display screen of FIG. 15 and the enlarged display screen of the trajectory of FIG. 16 using the same program.
  • the user can manually display the screen 11 shown in FIG. 16 by manually enlarging the scale from the display screen of FIG. 15 and operating the visual field changing hand 206 to adjust the display location.
  • the PC 10 stops displaying the error occurrence mark when the error has reached a level that can be easily visually recognized on the graph.
  • the PC 10 may continue displaying the error occurrence mark even at this stage.
  • the display data creation may be shared by realizing the first display data creation unit 1084 and the second display data creation unit 1085 with different programs.
  • the user can enlarge the display on the PC 10 only by manual operation as described above, but can use the screen transition by clicking the error occurrence mark to quickly check the error occurrence status.
  • the PC 10 may be designed so that the display returns when the backspace key is pressed.
  • FIG. 17 is a diagram showing a state in which the same time marker, that is, the command position marker and the response position marker are displayed on the enlarged display screen of FIG.
  • command position marker 232 and response position marker 231 are figures indicating the command position and the response position at the same time.
  • the PC 10 displays the portion up to the marker as a trajectory, the entire trajectory that falls within the display range may be displayed as in FIG. With such a marker, the PC 10 can clearly display the positional relationship between the command position and the response position at the same time.
  • the user performs an operation of changing the time corresponding to the marker with the various buttons 233 to 236 on the lower left side of the screen 11 and the slide bar 237 arranged next to the various buttons.
  • the slide bar 237 represents the length of time taken from the start to the end of the motion program corresponding to one tact.
  • the position of the knob 2371 on the slide bar 237 represents the elapsed time (time).
  • the PC 10 displays a marker at a position on the locus at the time.
  • the knob 2371 can be moved left and right by a drag operation with a mouse.
  • the PC 10 changes the position of the marker in accordance with the operation of the user's knob 2371.
  • the PC 10 moves the knob 2371 on the slide bar 237 and the marker position to the right as the real time passes.
  • the PC 10 moves the position of the knob 2371 and the position of the marker on the slide bar 237 to the right faster than the passage of real time.
  • the PC 10 moves the position of the knob 2371 and the position of the marker on the slide bar 237 to the left at the same pace as the passage of real time.
  • the PC 10 moves the position of the knob 2371 and the marker position on the slide bar 237 to the left at a faster pace than the passage of real time.
  • the PC 10 can also display the slide bar 237 and the same time marker on the display screens of FIG. 15 and FIGS.
  • FIG. 18 is a diagram showing the contents displayed on the screen 11 when the user clicks on the error occurrence mark 212 between FB10 and FB11 in FIG. 15 in a state in which the interlocking check box 209 is unchecked. More specifically, FIG. 18 shows a screen 11 after transition from the display content shown in FIG. 15, which is displayed when the horizontal axis direction is selectively enlarged at a magnification at which the user can visually recognize the error.
  • FIG. 18 shows a screen 11 after transition from the display content shown in FIG. 15, which is displayed when the horizontal axis direction is selectively enlarged at a magnification at which the user can visually recognize the error.
  • the PC 10 determines the display magnification in the vertical axis direction so that the entire area where the error is intermittently generated can be displayed.
  • the PC 10 displays the horizontal axis display so that the error generated in the horizontal axis direction is visible to the user.
  • the display is enlarged and the display in the vertical axis direction is also enlarged at the same magnification as that in the horizontal axis direction. For this reason, the PC 10 displays only a small part of the locus portion where the error occurs in the vertical axis direction.
  • the user When the user manually displays the screen 11 shown in FIG. 18 from the display screen shown in FIG. 15, the user operates the visual field changing hand 206 to display the midpoint between FB10 and FB11 near the center of the screen 11. Above, the scale on the horizontal axis may be enlarged.
  • the screen 11 shown in FIG. 18 is manually displayed from the display screen shown in FIG. 15, the user can quickly determine the error occurrence status by using the screen transition by clicking the error occurrence mark. Can be confirmed.
  • the directions of the vertical and horizontal axes for display may be set to arbitrary directions different from the axial direction of the coordinate system used for control of the controlled object, such as the axis A direction and the axis B direction. .
  • the direction of the horizontal axis for display is set to a direction of 18 degrees counterclockwise with respect to the direction of the axis A in the plane extending from the axis A and the axis B
  • the locus graphic displayed on the screen is as shown in FIG. Is displayed in a mode rotated clockwise by 18 degrees with respect to the locus graphic displayed in FIG. If it does so, the linear part of the locus
  • the vertical axis direction is selectively enlarged, the user can observe the occurrence of errors in the direction perpendicular to the traveling direction with respect to the locus between FB11 and FB12.
  • the PC 10 can change the display magnification of the trajectory between one direction and a direction orthogonal to the direction. Therefore, when the error generation direction is substantially constant locally, the PC 10 relatively increases the display magnification in the error generation direction and relatively decreases the display magnification in the direction orthogonal to the error generation direction. In this case, the PC 10 can display a relatively wide range of trajectories while showing the error occurrence state with a large display magnification.
  • FIG. 19 is a diagram showing a state in which the trajectory between the command position and the predicted position is displayed on the screen 11 with the horizontal axis representing time and the vertical axis representing axis B.
  • the PC 10 displays an error occurrence mark 241 at a location where it is determined that an error has occurred in the axial direction displayed as the vertical axis.
  • FIG. 19 makes it easier for the user to confirm the location where an error occurs on a single axis.
  • the PC 10 changes the content displayed on the screen 11 from the display content shown in FIG. 19 to the display content (enlarged display screen) shown in FIG. 16.
  • the PC 10 When the user clicks on the error occurrence mark 241, the PC 10 performs screen transition, and displays on the screen 11 an enlarged image of a part of the graph of FIG. 19 with the horizontal axis as time and the vertical axis as axis B. Good.
  • the horizontal axis in FIG. 19 may be the amount of movement from the start of operation (the amount of movement from coordinate P6 in this embodiment) instead of time.
  • the vertical axis in FIG. 19 may be speed (speed calculated from change in command position or speed calculated from change in response position) instead of position (command position or response position).
  • a graph that is often referred to in the design of a motion program, in which the horizontal axis is time or movement amount, and the vertical axis is position or speed, is directly shifted to an enlarged display in which the locus of the error occurrence portion is enlarged. be able to.
  • FIG. 20 is a diagram showing a state where a graph is displayed on the screen 11 with the horizontal axis representing time and the vertical axis representing error, that is, the distance between the command position and the response position at the same time. Note that the PC 10 may use the horizontal axis as the amount of movement. Th1 is a threshold value for determining that an error has occurred.
  • the PC 10 displays the trajectory of the portion where the error exceeds Th1 in FIGS. 16 to 18 (for example, response positions 221 and 223 in FIG. 16) in the second color.
  • Th2 is a threshold value for determining that a larger error has occurred.
  • the PC 10 displays the locus of the portion where the error exceeds Th2 in FIGS. 14 to 16 (for example, the response position 222 in FIG. 16) in the third color.
  • the PC 10 is configured so that the user can adjust the size of each threshold. In the present embodiment, the PC 10 can clearly display the magnitude of the error by the response position locus itself.
  • the PC 10 calculates the distance between the command position and the response position at the same time as the distance in the three-dimensional space.
  • the present invention is not limited to this, and the PC 10 selects two axes and selects the distance between the command value projected on the plane formed by each axis and the response position, or selects one axis and projects it on the axis. The distance between the command value and the response position may be calculated.
  • the user can confirm the amount of error and the time when the error occurred.
  • the user can use the confirmed error as reference information for appropriately tuning command values and servo parameters.
  • the error occurrence marks 251 and 252 are also displayed on the screen 11 shown in FIG. 20.
  • the PC 10 displays the contents to be displayed on the screen 11 as shown in FIG. Transition to contents (enlarged display screen). That is, the PC 10 can display the transition of the magnitude of the error on the time or movement amount axis by displaying the screen 11 shown in FIG. Furthermore, the PC 10 can also make a direct transition from a screen showing the transition of the magnitude of error on the time or movement amount axis to an enlarged display screen of the locus of the error occurrence portion.
  • FIG. 21 is a diagram showing a state in which the horizontal axis is the amount of movement, and the vertical axis is a vertical error between the command position and the response position displayed on the screen 11.
  • the horizontal axis may be time.
  • the vertical error is a distance from the spatial trajectory of the command position to the spatial trajectory of the response position along a direction perpendicular to the tangential direction of the three-dimensional or two-dimensional spatial trajectory of the command position.
  • the vertical error indicates the magnitude of the spatial deviation between both spatial trajectories excluding the temporal advance and delay elements between the command position and the response position.
  • the direction of the error where the error is large is almost perpendicular to the tangential direction of the spatial trajectory of the command position. While there is no difference, the vertical error is smaller in the magnitude of the error where the error is small. This is because the error in FIG. 20 includes a component in which a time delay such as a response position change being delayed with respect to a command position change appears as a distance error. Conceivable.
  • the PC 10 can indicate the magnitude of the spatial deviation between the two spatial trajectories, excluding the temporal advance and delay elements between the command position and the response position. Further, the PC 10 can make a direct transition from the screen showing the magnitude of the spatial deviation to a screen displaying the enlarged locus of the error occurrence portion.
  • the error occurrence marks 261 and 262 are also displayed on the screen 11 shown in FIG. 21, and when the user clicks on the error occurrence marks 261 and 262, the PC 10 performs screen transition, and the display contents shown in FIG. Can be displayed on the screen 11.
  • FIG. 22 is a diagram showing a state in which the trajectory between the command position and the response position in the three-dimensional space is displayed on the screen 11 using a perspective view technique.
  • the PC 10 is configured so that the user can arbitrarily change the position of the viewpoint for drawing and the line-of-sight direction. Compared with the screen 11 shown in FIG. 15 which is a projection view of the locus on the plane, the user can intuitively understand the movement of the three axes.
  • the PC 10 displays error occurrence marks 271 and 272 in the portion of the locus where it is determined that an error has occurred.
  • the PC 10 changes the display content on the screen 11 from the display content shown in FIG. 22 to the display content shown in FIG.
  • the PC 10 may be configured to enlarge and display the error occurrence portion while maintaining the three-dimensional display. Further, the PC 10 may be configured to display the same-time marker described based on FIG. 17 in the three-dimensional display.
  • FIG. 23 is a diagram showing the screen 11 when the virtual device model of the XYZ stage that operates according to the command position or the response position is arranged in the three-dimensional space shown in FIG.
  • the PC 10 performs such display, the user can more realistically understand the movement of the mount cutting device 1A shown in FIG.
  • FIG. 24 is a diagram showing an example of a combination that can be practically used for the command position, the command value, the predicted position, the subject of the actual value calculation process, and the like.
  • PC 10 calculates a command position and displays the calculated command position. Further, the PC 10 calculates a predicted position and displays the calculated predicted position.
  • the display main body (display main body) is the PC 10.
  • the PC 10 calculates the command position and displays the calculated command position.
  • the PLC 20 calculates a command value for control.
  • the PLC 20 transfers the actual measurement value to the PC 10.
  • the PLC 20 calculates a command value for control.
  • the PLC 20 transfers the command value to the PC 10.
  • the PC 10 displays the command value.
  • the PLC 20 transfers the actual measurement value to the PC 10.
  • the PC 10 displays the actual measurement value.
  • the PC 10 calculates the command position and displays the calculated command position.
  • the PLC 20 calculates a command value for control. Further, the PC 10 calculates a predicted position and displays the calculated predicted position. The PLC 20 transfers the actual measurement value to the PC 10. The PC 10 displays the actual measurement value.
  • the PC 10 calculates a command position in order to calculate a predicted position.
  • the PLC 20 calculates a command value for control.
  • the PLC 20 transfers the command value to the PC 10.
  • the PC 10 displays the command value.
  • the PC 10 calculates a predicted position and displays the calculated predicted position.
  • the PLC 20 transfers the actual measurement value to the PC 10.
  • the PC 10 displays the actual measurement value.
  • the PC 10 of the control system 1 determines the commanded command position of the specific part of the control target corresponding to the command value and the theoretically predicted predicted position of the specific part of the actual control target or An error between the measured position of the specific part and the measured position can be easily displayed to the user.
  • 1 control system 1A mount cutting device, 10 PC, 11 screen, 20 PLC, 21 power supply unit, 22 CPU unit, 23 I / O unit, 24 MC unit, 25 backplane, 31, 32, 33 servo amplifier, 41, 42, 43 servo motor, 51a, 52a, 53a nut, 54 cutter, 60, 70 communication line, 80 switch, 90 mount, 101 sequence program, 102 simulation unit, 103 FB library, 104 command value calculation unit, 105 command position calculation Unit, 106 predicted position calculation unit, 107 trace data storage unit, 108 display data processing unit, 109 display control unit, 110 reception unit, 161 motor current calculation unit, 162 torque value calculation unit, 163 motor DB, 164 Dynamic equation calculation unit, 165 device DB, 181 two-dimensional trajectory data generation unit, 182 three-dimensional trajectory data generation unit, 201, 202 pull-down menu, 203, 204, 205 selection check box, 206 visual field change hand, 207, 208 enlargement / Reduced slide bar, 209 interlock check box

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Numerical Control (AREA)
  • Programmable Controllers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Control Of Position Or Direction (AREA)

Abstract

 制御対象の特定部位の指令された指令位置と、当該特定部位の応答位置との間の誤差をユーザにわかりやすく表示する表示装置を提供する。表示装置は、指令値に基づいた特定部位の応答位置を取得し、指令位置と応答位置との位置の差を算出する。表示装置は、差が閾値以上であるか否かを判定する。表示装置は、指令位置に基づく空間的軌跡または応答位置に基づく空間的軌跡と当該空間的軌跡のうち閾値以上であると判定された部分を示すマークとを画面に表示する。さらに、表示装置は、選択されたマーク(FB9)に対応する部分の指令位置の空間的軌跡と当該空間的軌跡に対応する応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各空間的軌跡が互いに重なる態様にて、各空間的軌跡を画面(11)に表示する。

Description

表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体
 本発明は、モーションプログラムの実行によって出力される一連の指令値に基づいて駆動する制御対象における特定部位の位置の変化を、画面に軌跡として表示する表示装置に関する。
 従来、制御対象を駆動するためのモーションプログラムが知られている。
 特開2007-242054号公報(特許文献1)には、上記モーションプログラムである作業プログラムを処理する装置としてロボット言語処理装置が開示されている。当該ロボット言語処理装置は、産業用ロボットの目標位置データを移動命令によって記述した作業プログラムを格納している。ロボット言語処理装置は、作業プログラムにしたがって動くロボットアーム先端の軌跡をグラフィカルに3次元表示する。
 特開平6-138934号公報(特許文献2)には、数値制御装置の工具経路表示方法が開示されている。当該数値制御装置は、X軸のサーボモータとY軸のサーボモータとによって駆動される工具の経路をXY平面上に表示する。数値制御装置が表示する工具の経路は2種類ある。1つはプログラムされたとおりの理想的な経路である。もう1つは、理想的な経路からの誤差がある実際の工具の経路である。数値制御装置は、実際の工具の経路について、プログラムされた移動量成分については1倍のままで表示し、誤差量成分についてはたとえば2万倍といった大きな倍率で拡大表示する。数値制御装置は、実際の工具の経路を、理想的な経路の表示に重ねて、または誤差のある部分については理想的な経路の表示に置き換えて表示する。
特開2007-242054号公報 特開平6-138934号公報
 モーションプログラムは、制御対象の運動に関する、当該制御対象に与えられるための一連の指令値を出力するプログラムである。モーションプログラムは、典型的にはPLC(Programmable Logic Controller)のようなコントローラにおいて実行される。コントローラは、制御対象が備えるモータを駆動するためのモータドライバに制御対象の特定部位の位置を示す一連の指令値を与える。制御対象の特定部位は、たとえばモータの回転位置および/または制御対象が備えるアームの先端位置である。制御対象には質量や摩擦があるため、制御対象の特定部位の位置は、指令値によって指示された位置との間で誤差が動的に生じる。
 モーションプログラムをユーザが作成または修正する際に、位置の誤差の発生状態を把握できれば、ユーザは、精密な制御を要する部分については誤差が少なくなるようにプログラムを容易に調整できる。さらに、ユーザは、逆に許容される誤差が大きな部分については運動を高速化するようにプログラムを容易に調整できる。
 特許文献2は、位置の誤差を表示する方法の一つを開示している。この方法では、指令位置の軌跡に対して誤差成分のみを大きな倍率で拡大した実測位置の軌跡を重ねて表示する。このため、対応する指令位置と実測位置とが表示画面上において遠く離れてしまう場合には、指令位置と実測位置との対応関係がわかりにくくなる。それゆえ、ユーザは、誤差の発生状態の正確な把握が難しくなる。
 本発明は、モーションプログラムを実行したときの、指令値に対応する制御対象の特定部位の指令された位置(指令位置)と、実際の制御対象の特定部位についての理論的に予測される位置(予測位置)または当該特定部位についての測定された位置(実測位置)との間の誤差をユーザにわかりやすく表示することが可能な表示装置、表示制御方法、表示プログラム、およびコンピュータ読み取り可能な記録媒体を提供することにある。
 本発明のある局面にしたがうと、表示装置は、モーションプログラムの実行によって出力される一連の指令値に基づいて駆動する制御対象における特定部位の位置の変化を、画面に軌跡として表示する表示装置である。表示装置は、制御対象の質量および摩擦を無視した場合における、一連の指令値に基づいた特定部位の位置である一連の指令位置を取得する第1の位置取得部と、制御対象の質量および摩擦のうち少なくとも一つを考慮したシミュレートがなされた場合における、一連の指令値に基づいた特定部位の一連の位置、および一連の指令値に基づく駆動がなされた場合に測定された特定部位の一連の位置のうち少なくとも1つの一連の位置である、一連の指令位置に対応する一連の応答位置を取得する第2の位置取得部と、指令位置と当該指令位置に対応する応答位置との位置の差を算出する誤差算出部と、算出された差が予め定められた閾値以上であるか否かを判定する判定部と、一連の指令位置によって形成される空間的軌跡および一連の応答位置によって形成される空間的軌跡の少なくともいずれかと、当該空間的軌跡のうち閾値以上であると判定された部分を示す第1のマークとを画面に表示させるためのデータを作成する第1の表示データ作成部と、第1のマークの選択操作を受け付ける受付部と、選択されたマークに対応する部分の指令位置の空間的軌跡と当該空間的軌跡に対応する応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各空間的軌跡が互いに重なる態様にて、各空間的軌跡を画面に表示させるためのデータを作成する第2の表示データ作成部と、第1の表示データ作成部によって作成されたデータ、および第2の表示データ作成部によって作成されたデータを画面に表示させる表示制御部とを備える。
 好ましくは、第2の表示データ作成部は、指定された時刻における指令位置を示す第2のマークと、当該時刻における応答位置を示す第3のマークと画面に表示させるためのデータをさらに作成する。表示制御部は、第2の表示データ作成部によって作成されたデータを画面に表示させるときには、第2のマークと第3のマークとを画面に表示させる。
 好ましくは、第2の表示データ作成部は、各空間的軌跡を画面に表示させるためのデータを作成するときに、拡大した応答位置の空間軌跡の色が算出された差の大きさに基づき変化するように当該データを作成する。表示制御部は、第2の表示データ作成部によって作成されたデータを画面に表示させるときには、拡大した応答位置の空間軌跡を算出された差の大きさに基づいた色で画面に表示させる。
 好ましくは、第2の表示データ作成部は、各空間的軌跡を画面に表示させるためのデータを作成するときに、画面における第1の方向と当該第1の方向に直行する第2の方向とにおいて、空間的軌跡の表示倍率が各々指定された表示倍率となるように当該データを作成する。表示制御部は、第1の方向および第2の方向の各々において指定された表示倍率で拡大した各空間的軌跡を画面に表示させる。
 好ましくは、第1の軸を時間または特定部位の移動量とし、第2の軸を、指令位置、当該指令位置に基づき算出された特定部位の速度、応答位置、または当該応答位置に基づき算出された特定部位の速度とする2次元グラフを表示するためのデータと、算出された差が予め定められた閾値以上である部分を2次元グラフ上に表示させるためのデータであって、選択操作の対象となる第4のマークを表示させるためのデータとを作成する第3の表示データ作成部をさらに備える。表示制御部は、2次元グラフと第4のマークとを画面に表示させる。
 好ましくは、第1の軸を時間または特定部位の移動量とし、第2の軸を、算出された差の大きさとする2次元グラフを表示するためのデータと、算出された差が予め定められた閾値以上である部分を2次元グラフ上に表示させるためのデータであって、選択操作の対象となる第4のマークを表示させるためのデータとを作成する第3の表示データ作成部をさらに備える。表示制御部は、2次元グラフと第4のマークとを画面に表示させる。
 好ましくは、第1の軸を時間または特定部位の移動量とし、第2の軸を、指令位置の空間的軌跡の接線方向に対して垂直な方向に沿った、指令位置の空間的軌跡から応答位置の空間的軌跡までの距離とする2次元グラフを表示するためのデータと、算出された差が予め定められた閾値以上である部分を2次元グラフ上に表示させるためのデータであって、選択操作の対象となる第4のマークを表示させるためのデータとを作成する第3の表示データ作成部をさらに備える。表示制御部は、2次元グラフと第4のマークとを画面に表示させる。
 本発明の他の局面に従うと、表示制御方法は、モーションプログラムの実行によって出力される一連の指令値に基づいて駆動する制御対象における特定部位の位置の変化を、表示装置の画面に軌跡として表示させる方法である。表示制御方法は、表示装置のプロセッサが、制御対象の質量および摩擦を無視した場合における、一連の指令値に基づいた特定部位の位置である一連の指令位置を取得するステップと、プロセッサが、制御対象の質量および摩擦のうち少なくとも一つを考慮したシミュレートがなされた場合における、一連の指令値に基づいた特定部位の一連の位置、および一連の指令値に基づく駆動がなされた場合に測定された特定部位の一連の位置のうち少なくとも1つの一連の位置である、一連の指令位置に対応する一連の応答位置を取得するステップと、プロセッサが、指令位置と当該指令位置に対応する応答位置との位置の差を算出するステップと、プロセッサが、算出された差が予め定められた閾値以上であるか否かを判定するステップと、プロセッサが、一連の指令位置によって形成される空間的軌跡および一連の応答位置によって形成される空間的軌跡の少なくともいずれかと、当該空間的軌跡のうち閾値以上であると判定された部分を示すマークとを画面に表示させるための第1のデータを作成するステップと、プロセッサが、マークの選択操作を受け付けるステップと、プロセッサが、選択されたマークに対応する部分の指令位置の空間的軌跡と当該空間的軌跡に対応する応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各空間的軌跡が互いに重なる態様にて、各空間的軌跡を前記画面に表示させるための第2のデータを作成するステップと、プロセッサが、第1のデータおよび第2のデータを画面に表示させるステップとを備える。
 本発明のさらに他の局面に従うと、プログラムは、モーションプログラムの実行によって出力される一連の指令値に基づいて駆動する制御対象における特定部位の位置の変化を表示装置の画面に軌跡として表示させるプログラムである。プログラムは、制御対象の質量および摩擦を無視した場合における、一連の指令値に基づいた特定部位の位置である一連の指令位置を取得するステップと、制御対象の質量および摩擦のうち少なくとも一つを考慮したシミュレートがなされた場合における、一連の指令値に基づいた特定部位の一連の位置、および一連の指令値に基づく駆動がなされた場合に測定された特定部位の一連の位置のうち少なくとも1つの一連の位置である、一連の指令位置に対応する一連の応答位置を取得するステップと、指令位置と当該指令位置に対応する応答位置との位置の差を算出するステップと、算出された差が予め定められた閾値以上であるか否かを判定するステップと、一連の指令位置によって形成される空間的軌跡および一連の応答位置によって形成される空間的軌跡の少なくともいずれかと、当該空間的軌跡のうち閾値以上であると判定された部分を示すマークとを画面に表示させるための第1のデータを作成するステップと、マークの選択操作を受け付けるステップと、選択されたマークに対応する部分の指令位置の空間的軌跡と当該空間的軌跡に対応する応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各空間的軌跡が互いに重なる態様にて、各空間的軌跡を画面に表示させるための第2のデータを作成するステップと、第1のデータおよび第2のデータを画面に表示させるステップとを、表示装置に実行させる。
 本発明のさらに他の局面に従うと、コンピュータ読み取り可能な記録媒体は、モーションプログラムの実行によって出力される一連の指令値に基づいて駆動する制御対象における特定部位の位置の変化を表示装置の画面に軌跡として表示させるプログラムを格納した記録媒体である。プログラムは、制御対象の質量および摩擦を無視した場合における、一連の指令値に基づいた特定部位の位置である一連の指令位置を取得するステップと、制御対象の質量および摩擦のうち少なくとも一つを考慮したシミュレートがなされた場合における、一連の指令値に基づいた特定部位の一連の位置、および一連の指令値に基づく駆動がなされた場合に測定された特定部位の一連の位置のうち少なくとも1つの一連の位置である、一連の指令位置に対応する一連の応答位置を取得するステップと、指令位置と当該指令位置に対応する応答位置との位置の差を算出するステップと、算出された差が予め定められた閾値以上であるか否かを判定するステップと、一連の指令位置によって形成される空間的軌跡および一連の応答位置によって形成される空間的軌跡の少なくともいずれかと、当該空間的軌跡のうち閾値以上であると判定された部分を示すマークとを画面に表示させるための第1のデータを作成するステップと、マークの選択操作を受け付けるステップと、選択されたマークに対応する部分の指令位置の空間的軌跡と当該空間的軌跡に対応する応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各空間的軌跡が互いに重なる態様にて、各空間的軌跡を画面に表示させるための第2のデータを作成するステップと、第1のデータおよび2のデータを画面に表示させるステップとを、表示装置に実行させる。
 指令値に対応する制御対象の特定部位の指令された指令位置と、実際の制御対象の特定部位についての理論的に予測される予測位置または当該特定部位についての測定された実測位置との間の誤差をユーザにわかりやすく表示することができる。
本実施の形態に係る制御システムの概略構成を示した図である。 PCのハードウェア構成を表わすブロック図である。 サーボモータを備えた制御対象と、当該制御対象の動作を制御するPLCとを含む制御システムの一般的な開発手順を示した図である。 PC10において実行されるサポートプログラムに含まれている、モーション軌跡の表示プログラムの機能ブロック図である。 表示データ処理部の詳細を示した機能ブロック図である。 モータDBのデータ構造の一例を示した図である。 予測位置を表示する処理を示したフローチャートである。 実測位置を表示する処理を示したフローチャートである。 制御システムの適用例である台紙切断装置1Aの概略構成を示した図である。 台紙切断装置による台紙の切断例を示した図である。 モーションプログラムの第1の部分を示した図である。 図11に続く、モーションプログラムの第2の部分を示した図である。 図12に続く、モーションプログラムの第3の部分を示した図である。 図13に続く、モーションプログラムの第4の部分を示した図である。 図11から図14のモーションプログラムが実行されたときの指令位置の軌跡を、横軸を軸A、縦軸を軸Bとして表示したグラフである。 図15のFB9付近の誤差発生マーク211をユーザがクリックしたときに、PC10が表示する拡大グラフである。 図16の拡大表示画面に、同時刻マーカー、すなわち指令位置マーカーおよび応答位置マーカーを表示した状態を示した図である。 連動チェックボックスのチェックを解除した状態で図15のFB10とFB11の間にある誤差発生マークをユーザがクリックしたときに画面に表示される内容を示した図である。 横軸を時間、縦軸を軸Bとして指令位置と予測位置との軌跡を画面に表示した状態を示した図である。 横軸を時間、縦軸を誤差、すなわち同時刻における指令位置と応答位置との間の距離としたグラフを画面に表示した状態を示した図である。 横軸を移動量とし、縦軸を指令位置と応答位置との間の垂直誤差を画面に表示した状態を示した図である。 3次元空間内の指令位置と応答位置との軌跡を透視図の手法で画面に表示した状態を示した図である。 指令位置または応答位置に合わせて動作するXYZステージの仮想装置モデルを図22に示した3次元空間に配置したときの画面を示した図である。 指令位置、指令値、予測位置、実測値の算出処理の主体等について、現実的に採り得る組み合わせを示した図である。
 以下、図面を参照しつつ、本発明の実施の形態に係る表示装置について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
 図1は、本実施の形態に係る制御システム1の概略構成を示した図である。図1を参照して、制御システム1は、PC(Personal Computer)10と、PLC20と、サーボアンプ31~33と、サーボモータ41~43とを備える。なお、サーボモータ41~43には、それぞれ、サーボモータ41~43によって駆動される可動機構(図9参照)が接続される。以下では、各サーボモータと各可動機構とを含む装置を、「制御対象」と称する。
 PLC20は、電源ユニット21と、CPU(Central Processing Unit)ユニット22と、I/O(Input/Output)ユニット23と、MC(Motion Control)ユニット24と、バックプレーン25とを備える。電源ユニット21、CPUユニット22、I/Oユニット23、およびMCユニット24は、バックプレーン25を介して互いに電気的に接続されている。
 PLC20は、モーションプログラムを実行する。本実施形態におけるモーションプログラムは、モータの制御を含むプログラムである。モーションプログラムのシーケンスはラダー図(ラダーダイアグラム)言語等を用いてシーケンスプログラムの形で記述される。シーケンスプログラムにおいては、モータ制御用のFB(Function Block)、すなわちモーションFBが用いられる。狭義にはモーションFBをモーションプログラムと呼ぶこともある。
 CPUユニット22は、シーケンスプログラムを実行する。
 MCユニット24は、CPUユニット22から、実行するモーションFBの種類およびモーションFB実行に必要なパラメータの指示を受ける。MCユニット24は、当該モーションFBの内容を実行する。MCユニット24は、時間の経過にしたがってサーボアンプ31~33へ一連の指令値を出力する。MCユニット24は、モーションFBの内容の実行状況および実行結果をCPUユニット22に報告する。なお、CPUユニット22から独立したMCユニット24を設けず、CPUユニット22がMCユニット24の機能を兼ね備えるようにしてもよい。
 I/Oユニット23は、スイッチ、センサ等からの入力データを取得してCPUユニット22に提供する。入力データは、CPUユニット22においてシーケンスプログラムの中の条件成立の判断等に使用される。
 サーボアンプ31~33は、MCユニット24からの指令値を受けてサーボモータ41~43を駆動するためのモータドライバである。制御システム1においては、サーボモータ41~43に限らずパルスモータなども利用可能である。なお、この場合、採用するモータの種類に応じたモータドライバが用いられる。サーボアンプ31~33は、イーサキャト(EtherCAT)(登録商標)などの通信線60を介してMCユニット24と接続される。
 MCユニット24からサーボアンプ31~33に与えられる指令値は、モータの位置、速度、トルクなどの値である。なお、本実施の形態では位置の指令値がMCユニット24からサーボアンプ31~33に一定周期で与えられるものとする。
 位置の指令値は、サーボモータ41~43の回転位置(回転角度)である場合もあるし、サーボモータ41~43によって駆動される制御対象の特定の部位の位置である場合もある。以下では、位置の指令値に対応して実現されるべき、特に軌跡の表示対象となる制御対象の特定部位の位置を「指令位置」と称する。サーボアンプ31~33には、指令値を正しく解釈して(たとえば指令値に適当な係数を乗じるなどして)サーボモータ41~43を駆動するための設定が予めなされている。サーボアンプ31~33は、サーボモータ41~43に駆動電流を供給する。サーボアンプ31~33は、サーボモータ41~43に設けられたサーボモータの回転位置を検出するエンコーダから、実測値のフィードバックを受ける。サーボアンプ31~33は、実測値および実測値の変化分として算出される実測速度を用いて、実測値が指令値に追従するように駆動電流を制御する。
 位置の指令値は、MCユニット24とサーボアンプ31~33を直結する通信線60を通して、1制御周期内に送られるパルスの数の形で表現される場合がある。この場合、パルス数は、直前の制御周期における位置からの相対位置(位置の変化量)を表現している。
 たとえば、サーボアンプ31~33にはサーボモータ41~43の1回転に対応するパルス数が設定される。また、MCユニット24には同様にサーボモータ41~43の1回転に対応するパルス数が設定されるほか、サーボモータ41~43の1回転に対応する制御対象の特定部位の移動量が設定される。これらの設定値を用いて、MCユニット24は、制御周期ごとにプログラムされた制御対象の運動を実現するのに必要な数のパルスをサーボアンプ31~33に送る。
 サーボアンプ31~33は、受けたパルスの数に応じてサーボモータ41~43を回転させる。なお、サーボモータ41~43の回転位置を検出するエンコーダがインクリメンタル方式の場合には、PLC20は、位置の実測値についてもサーボモータ41~43の回転角度に対応するパルス数の形で検出する。このため、PLC20は、制御周期ごとに検出される一連のパルス数から制御対象の実測位置を求めることができる。
 PC10は、軌跡を画面11に表示する表示装置として機能する。PC10はUSB(Universal Serial Bus)などの通信線70を介してCPUユニット22に接続される。PC10には、後述するように(図2)、PLC20のサポートプログラムがインストールされている。PLC20のサポートプログラムは、軌跡を画面11に表示するための表示プログラムを含んでいる。
 CD-ROM(Compact Disk-Read Only Memory)999は、PLC20のサポートプログラムを格納している。PLCのサポートプログラムはCD-ROM999からPC10にインストールされる。
 図2は、PC10のハードウェア構成を表わすブロック図である。図2を参照して、PC10は、主たる構成要素として、プログラムを実行するCPU901と、データを不揮発的に格納するROM(Read Only Memory)902と、CPU901によるプログラムの実行により生成されたデータ、又はキーボード905もしくはマウス906を介して入力されたデータを揮発的に格納するRAM903と、データを不揮発的に格納するHDD(Hard Disk Drive)904と、PC10の使用者による指示の入力を受けるキーボード905およびマウス906と、モニタ907と、CD-ROM駆動装置908と、通信IF909とを含む。各構成要素は、相互にデータバスによって接続されている。CD-ROM駆動装置908には、CD-ROM999が装着される。
 PC10における処理は、各ハードウェアおよびCPU901により実行されるソフトウェアによって実現される。このようなソフトウェアは、HDD904に予め記憶されている場合がある。また、ソフトウェアは、CD-ROM999その他の記憶媒体に格納されて、プログラムプロダクトとして流通している場合もある。あるいは、ソフトウェアは、いわゆるインターネットに接続されている情報提供事業者によってダウンロード可能なプログラムプロダクトとして提供される場合もある。このようなソフトウェアは、CD-ROM駆動装置908その他の読取装置によりその記憶媒体から読み取られて、あるいは、通信IF909を介してダウンロードされた後、HDD904に一旦格納される。そのソフトウェアは、CPU901によってHDD904から読み出され、RAM903に実行可能なプログラムの形式で格納される。CPU901は、そのプログラムを実行する。
 同図に示されるPC10を構成する各構成要素は、一般的なものである。したがって、本発明の本質的な部分は、RAM903、HDD904、CD-ROM999その他の記憶媒体に格納されたソフトウェア、あるいはネットワークを介してダウンロード可能なソフトウェアであるともいえる。なお、PC10の各ハードウェアの動作は周知であるので、詳細な説明は繰り返さない。
 なお、記録媒体としては、DVD-ROM、CD-ROM、FD(Flexible Disk)、ハードディスクに限られず、磁気テープ、カセットテープ、光ディスク(MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、IC(Integrated Circuit)カード(メモリカードを含む)、光カード、マスクROM、EPROM(Electronically Programmable Read-Only Memory)、EEPROM(Electronically Erasable Programmable Read-Only Memory)、フラッシュROMなどの半導体メモリ等の固定的にプログラムを担持する媒体でもよい。また、記録媒体は、当該プログラム等をコンピュータが読取可能な一時的でない媒体である。
 ここでいうプログラムとは、CPUにより直接実行可能なプログラムだけでなく、ソースプログラム形式のプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
 図3は、サーボモータを備えた制御対象と、当該制御対象の動作を制御するPLCとを含む制御システムの一般的な開発手順を示した図である。メカ担当者(機構担当者)と制御担当者とが、分担および協力して以下の各工程を行なう。
 図3を参照して、ステップS2において、メカ担当者が、構想設計を行なう。具体的には、同ステップにおいては、メカ担当者が、制御対象全体の機能、構造、性能などの仕様を決定する。ステップS4において、メカ担当者が、制御対象の機構の詳細設計を行なう。同ステップにおいては、メカ担当者が、3次元CADを使用して可動部の動作干渉チェックを行なうこともある。
 ステップS6において、メカ担当者および制御担当者が制御タイミング設計を行なう。具体的には、同ステップにおいては、まず、メカ担当者が装置の各動作のタイミングチャートや速度線図を作成する。メカ担当者は、作成したタイミングチャートや速度線図を、制御担当者に伝達する。制御担当者は、伝達された設計情報をもとに、PLCの機種およびユニット構成を選定する。
 ステップS8において、制御担当者は、制御プログラミングを行なう。具体的には、同ステップにおいては、制御担当者は、以下の(a)~(e)に示した作業を行なう。
(a)制御担当者は、メモリマップ(PLCおける制御入力、制御出力の定義)を作成する。
(b)制御担当者は、PLC-サーボアンプ間、および複数のPLCを使用する場合のPLC間の、ネットワークおよびデータリンクを決定する。
(c)制御担当者は、MCユニットおよびサーボアンプのパラメータを決定する。
(d)制御担当者は、ラダー図言語などを用いてシーケンスプログラムを作成する。
(e)制御担当者は、シーケンスプログラム中で使用したモーションFBについて、位置、速度などのパラメータを決定する。
 ステップS10においては、制御担当者が、オフラインの状態でプログラムのデバックを行なう。具体的には、同ステップにおいて、制御担当者が、PC10を用いて机上で以下の(f)~(j)に示した内容のデバッグを行なう。
(f)制御担当者は、コンパイルエラーが生じた点があれば修正する。
(g)制御担当者は、指令位置の軌跡を参照してモーションFBのパラメータの誤りがあれば修正する。
(h)制御担当者は、接点のON/OFF状況などの各種条件においてシミュレートした2次元または3次元の指令位置の空間的軌跡や、各種条件において意図した命令が実行されるかを確認して、シーケンスプログラムに誤りがあれば修正する。
(i)制御担当者は、指令位置とシミュレーションによって得た予測位置との間の誤差が許容範囲を超えていれば、その部分の速度を落とす、誤差を見込んで目標位置を調整するなど、プログラムを修正する。
(j)制御担当者は、動作が一巡するのに要するタクトタイムが設計時間を越えていれば、動作経路を短縮する、位置誤差が許容される部分を高速化する、加速および減速時間を短くするなど、プログラムを修正する。
 ステップS12において、メカ担当者および制御担当者が協力して、機械組み立ておよび配線を行なう。さらに、制御担当者は、机上デバッグが完了したモーションプログラムをPC10からPLC20に転送する。
 ステップS14において、制御担当者が、制御対象の試験運転および調整を行なう。具体的には、同ステップにおいて、制御担当者が、以下の(k)~(o)に示した作業を行なう。
(k)制御担当者は、軸ごとにJOG運転を行って、装置の出来具合に問題がないことを確認する。ここで、「軸」とは、モータの「回転軸」の語に由来して、1つのモータ、または1つのモータおよびそのモータによって駆動される可動部分を指す。JOG運転とは、指定した一定の速度で軸を動かし続けることをいう。
(l)制御担当者は、プログラム制御の試運転を行ない、装置が想定どおりの動きをすることを確認する。
(m)制御担当者は、連続運転試験を行なう。
(n)制御担当者は、オンラインデバッグを行なう。すなわち、制御担当者は、PLCが備えるデータトレース機能により装置の特定部位の一連の実測位置に対応するデータを収集してPCに転送し、PCにて実測位置の軌跡を指令位置の軌跡と対比して表示させ、誤差が許容範囲内であることを確認する。
(o)制御担当者は、タクトタイムを測定し、当該測定したタクトタイムが設計時間を越えていれば、オフラインデバッグの場合と同様にして、設計時間以内になるようにプログラムを修正する。
 上記ステップS10およびステップS14において、指令位置と予測位置または実測位置との間の誤差を示すために両位置の軌跡が、PC10の画面11に対比表示される。この目的のために、表示装置としてのPC10が使用される。
 図4は、PC10において実行されるサポートプログラムに含まれている、モーション軌跡の表示プログラムの機能ブロック図である。サポートプログラムには、表示プログラムの他に、シーケンスプログラム101のエディタおよびデバッガ、PLC20との通信プログラム、PLC20の各種設定を行なうプログラムなどが含まれている。
 図4を参照して、表示プログラムは、シミュレーション部102と、FBライブラリ103と、指令値算出部104と、指令位置算出部105と、予測位置算出部106と、トレースデータ記憶部107と、表示データ処理部108と、表示制御部109と、受付部110とを備える。予測位置算出部106は、モータ電流算出部161と、トルク値算出部162と、モータDB(Data Base)163と、運動方程式計算部164と、装置DB165とを含む。
 シーケンスプログラム101は、ユーザによって作成される。シーケンスプログラム101は、シミュレーション部102に与えられる。シーケンスプログラム101は、表示プログラムの一部ではない。
 シミュレーション部102は、PLC20のシミュレータとして機能し、シーケンスプログラム101を実行する。シミュレーション部102においては、必要により実際の制御対象の代わりに、シミュレーション部102に入力データを与えるプログラムがシーケンスプログラム101に組み合わされて使用される。シミュレーション部102は、シーケンスプログラム101に含まれるモーションFBを実行する段階になると、実行すべきモーションFBを指定する情報と当該モーションFBの実行に必要なパラメータとを指令値算出部104に与える。
 FBライブラリ103は、PC10のHDD904に格納されており、多種類のFBを、実行可能なプログラムとして蓄積している。
 FBライブラリ103は、PLC20がモーションプログラムを実行する際に使用するために、PLC20の中にも備えられている。指令値を計算するためのモーションFBは、PLC20において実行が開始された場合には、終了条件が整うまでの間、以下のようにPLC20を動作させる。すなわち、指令値を計算するためのモーションFBは、与えられたパラメータに基づいてPLC20が有する一定の制御周期ごとにPLC20が指令値を計算し、当該計算した指令値を出力するように、PLC20を動作させる。
 指令値算出部104は、FBライブラリ103から必要なモーションFBを読み出す。指令値算出部104は、PLC20におけるFB実行をシミュレートする。指令値算出部104は、PLC20における制御周期ごとの出力に対応する一連の指令値を出力する。
 指令位置算出部105は、指令値から軌跡表示対象とする指令位置を算出する。指令位置は、制御対象の質量および摩擦を無視した場合における、出力された指令値に基づいた制御対象の特定部位の位置である。言い換えれば、指令位置は、制御対象の質量および摩擦を無視した場合に、与えられた一連の指令値によって実現されるべき制御対象の特定部位の位置であるともいえる。また、「一連の指令位置」とは、制御対象の質量および摩擦を無視した場合における、出力された一連の指令値に基づいた制御対象の特定部位の位置である。指令位置算出部105は、「第1の位置取得部」に相当する。
 たとえば、XYテーブルのX軸のモータの回転角を与える指令値からテーブルのX座標を算出する場合のように、1つの軸の指令値と指令位置とが1対1に対応している場合がある。さらに、指令値をそのまま指令位置として使用できる場合もある。
 一方、垂直回転軸とそれに取り付けられた水平直動軸で構成されたθR極座標系の指令値で駆動されるロボットアーム先端の指令位置をXY直交座標系で表示する場合のように、駆動用の指令値(θ値またはR値)と表示用の指令位置(X値またはY値)とが1対1に対応していない場合もある。
 なお、指令位置算出部105がPLC20の実行シミュレーションによって指令位置を算出するのではなく、PLC20自体が算出した制御用の一連の指令値をPC10が取得して、指令位置算出部105が軌跡表示用の指令位置を算出するようにしてもよい。
 指令位置算出部105が指令位置をシミュレーションによって算出する場合、PLC20の実行シミュレーションおよび指令位置の算出と軌跡の描画とは必ずしも同一のコンピュータで行なう必要はない。たとえば、PC10は、他のコンピュータで算出された指令位置を取得して、当該指令位置に基づき軌跡の描画を行なってもよい。その場合は、他のコンピュータから指令位置を取得するための通信インターフェースまたは記憶媒体インターフェースが、「第1の位置取得部」に相当する。
 予測位置算出部106は、与えられた指令値から軌跡の表示対象とする制御対象の特定部位の予測位置を算出する。その過程で、予測位置算出部106は、モータの仕様に関するデータを格納しているモータDB163と、制御対象の仕様に関するデータを格納している装置DB165とから必要なデータを読み出し、当該読み出したデータを利用する。予測位置算出部106は、「予測位置取得部」に相当する。
 予測位置の算出と軌跡の描画とは必ずしも同一のコンピュータで行なう必要はない。たとえば、PC10は、他のコンピュータで算出された予測位置を取得して軌跡描画をするようにしてもよい。その場合は、他のコンピュータから予測位置を取得するための通信インターフェースまたは記憶媒体インターフェースが、「予測位置取得部」に相当する。
 モータ電流算出部161は、与えられた指令値からサーボモータ41~43に供給する電流値を算出する。
 トルク値算出部162は、与えられた電流値とモータDB163から読み出した使用するサーボモータのモータトルク係数とから、当該サーボモータが発揮するトルク値を算出する。
 運動方程式計算部164は、与えられたトルク値と、モータDB163から読み出した使用するサーボモータの慣性モーメント、動摩擦係数などの値と、装置DB165から読み出した制御対象の当該サーボモータで駆動される部分の慣性モーメント、動摩擦係数などの値とから、予測位置を算出する。
 指令値から電流値を算出するときに必要となるサーボモータの制御系モデルは、サーボアンプごとにブロック線図として一般に公開されており、当該ブロック線図の情報が表示プログラムに組み込まれている。
 トルク値算出部162は、モータのトルク値Tmを下記の式(1)にしたがい算出する。
 T=KI … (1)
 ただし、
  Kは、モータごとの定数であるモータトルク係数であり、
  Iは、モータ電流である。
 運動方程式計算部164が予測位置を求める場合には、慣性モーメント(すなわち質量のモーメント)と角加速度との積が、モータトルク、各種摩擦などにより発生する力と等しいとおいた運動方程式を用いることができる。すなわち、予測位置は、前記制御対象の質量および摩擦のうち少なくとも一つを考慮したシミュレートがなされた場合における、前記一連の指令値に基づいた制御対象の特定部位の位置であるといえる。
 たとえば、モータ軸の運動方程式は次の式(2)で表される。
 Iθ’’=T-kθ’-μ … (2)
 ただし、
  Iは、モータの慣性モーメント、
  θは、モータの回転角度、
  θ’は、θの微分、すなわちモータの回転速度、
  θ’’は、θの2次微分、すなわちモータの回転角加速度、
  Tは、上記モータのトルク値、
  kは、モータの粘性摩擦係数、
  μは、モータの動摩擦係数、
  Nは、モータの垂直抗力である。
 I、k、μ、Nは、モータ毎に定められる定数であり、モータDB163から取得される。サーボモータ41~43の回転角度θが予測位置に相当する。モータによって駆動される特定部位の位置を軌跡表示対象の予測位置とする場合は、サーボモータ41~43の回転角度θから適当な換算を行ない、当該換算後の値を予測位置とする。
 運動方程式には、サーボモータ41~43が駆動する駆動装置の定数を考慮することもできる。たとえば、サーボモータ41~43に減速機を接続した場合の運動方程式は次の式(3)のとおりである。
 Iθ’’=T-Cθ’-μ … (3)
 ただし、
  Iは、減速機の慣性モーメント、
  θは、減速機の回転角度、
  θ’は、減速機の回転角速度、
  θ’’は、減速機の回転角加速度、
  Tは、T=nによって算出される減速機の駆動トルク、
   ただし
    Tは、上記モータのトルク値、
    nは、伝達効率、
    Hは、力の伝達倍率、
  Cは、減速機内部のバレルの粘性摩擦係数、
  μは、減速機の動摩擦係数、
  Nは、減速機の垂直抗力である。
 I、n、H、C、μ、Nは、減速機毎に定められた定数であり、装置DB165から取得される。減速機の回転角度θGが予測位置に相当する。減速機を介してモータによって駆動される装置部位の位置を軌跡表示対象の予測位置とする場合は、減速機の回転角度θから適当な換算を行ない、当該換算後の値を予測位置とする。
 また、必要に応じて、サーボモータ41~43によって駆動される他の構造部分の定数も考慮して運動方程式を立てることもできる。
 トレースデータ記憶部107には、PLC20から取得したPLC20に蓄積されている一連の指令値および一連の実測値を、軌跡表示のために使用可能な指令位置および実測位置にあらかじめ変換した一連の位置データが記憶されている。トレースデータ記憶部107は、「実測位置取得部」に相当する。
 なお、PC10は、「予測位置取得部」および「実測位置取得部」の少なくともいずれかを備えていれば、PC10は「応答位置取得部」を備えていることになる。
 表示データ処理部108は、指令位置算出部105から指令位置、予測位置算出部106から予測位置、トレースデータ記憶部107から指令位置および実測位置、受付部110から操作データの入力を受け付ける。表示データ処理部108は、入力されたデータを用いて各種表示データを作成し、当該作成した各種表示データを表示制御部109に出力する。表示データ処理部108の詳細な処理内容については後述する。
 表示制御部109は、表示データ処理部108が生成した表示データをモニタ907の画面11に表示させる。表示制御部109は、PC10におけるモニタ907の表示制御を行なう。つまり、表示制御部109により、モニタ907の画面11に各種の画像が表示される。
 受付部110は、ユーザによるマークの選択操作を受け付ける。なお、マークについては後述する。
 図5は、表示データ処理部108の詳細を示した機能ブロック図である。図5を参照して、表示データ処理部108は、表示データ作成処理制御部1081と、誤差算出部1082と、判定部1083と、第1表示データ作成部1084と、第2表示データ作成部1085と、第3表示データ作成部1086とを備える。
 表示データ作成処理制御部1081は、受付部110から入力された操作データに基づいて、(I)表示する画面の種類の遷移制御、(II)スクロールや表示倍率変更の制御、(III)画面内容の部分的な書き換えの制御、(IV)入力した指令位置、予測位置、実測位置のデータの、第1、第2、第3表示データ作成部1084,1085,1086および誤差算出部1082への表示しようとする画面内容に応じた伝達制御、(V)判定部1083による判定内容の各表示データ作成部1084,1085,1086への伝達制御、(VI)各表示データ作成部1084,1085,1086で作成された表示データの表示制御部109への送出制御などを行なう。
 誤差算出部1082は、指令位置と当該指令位置に対応する予測位置または実測位置との位置の差を算出する。
 判定部1083は、誤差算出部1082により算出された差が予め定められた閾値以上であるか否かを判定する。
 第1表示データ作成部1084は、一連の指令位置によって形成される空間的軌跡、一連の予測位置によって形成される空間的軌跡、および一連の実測位置によって形成される空間的軌跡の少なくともいずれかを画面に表示させるためのデータを作成する。空間的軌跡は2次元である場合と3次元である場合とがある。2次元の空間的軌跡は、3次元空間内の軌跡が平面に投影されたものである。第1表示データ作成部1084は、さらに、空間的軌跡のうち、判定部1083により誤差が閾値以上であると判定された部分を示す誤差発生マークを画面に表示させるためのデータを作成する。
 第2表示データ作成部1085は、ユーザの操作により選択された誤差発生マークに対応する部分の指令位置の空間的軌跡と、当該空間的軌跡に対応する予測位置または実測位置の空間的軌跡とを同じ倍率で拡大した態様であって、拡大された各空間的軌跡が互いに重なる態様にて、各空間的軌跡を画面に表示させるためのデータを作成する。空間的軌跡は2次元である場合と3次元である場合とがある。
 第3表示データ作成部1086は、第1の軸、たとえば横軸を時間または移動量とする2次元グラフを表示するためのデータを作成する。この2次元グラフの第2の軸、たとえば縦軸は、次のような種類の中から選ばれる。縦軸の第1の態様は、指令位置、予測位置、もしくは実測位置、またはそれらいずれかの位置に基づき算出された制御対象の特定部位の速度である。縦軸の第2の態様は、誤差算出部1082により算出された差の大きさである。縦軸の第3の態様は、指令位置の空間的軌跡の接線方向に対して垂直な方向に沿った、指令位置の空間的軌跡から予測位置または実測位置の空間的軌跡までの距離である。第3表示データ作成部1086は、さらに、判定部1083により誤差が閾値以上であると判定された部分を示す誤差発生マークを2次元グラフ上に表示させるためのデータを作成する。
 図6は、モータDB163のデータ構造の一例を示した図である。図6を参照して、モータDB163では、サーボモータのモータ型式、定格出力、慣性モーメント、粘性摩擦係数、動摩擦係数等を、互いに対応付けてテーブル形式で格納している。また、装置DB165も、モータDB163と同様に、制御対象毎に各種定数をテーブル形式で格納している。
 図7は、予測位置を表示する処理を示したフローチャートである。図7を参照して、ステップS22において、シミュレーション部102は、シーケンスプログラム101を読み出す。ステップS24において、シミュレーション部102は、実行すべき命令またはモーションFBを取得する。ステップS26において、シミュレーション部102は、取得したデータが、モーションFBか否かを判断する。
 シミュレーション部102は、モーションFBでないと判断した場合(ステップS26においてNO)、ステップS28において取得した命令を実行する。ステップS30において、シミュレーション部102は、シーケンスプログラム101の実行が終了したか否かを判断する。シミュレーション部102が、シーケンスプログラム101の実行が終了したと判断した場合(ステップS30においてYES)、ステップS32において、表示制御部109は軌跡を画面11に表示させる。シミュレーション部102が、シーケンスプログラム101の実行が終了していないと判断した場合(ステップS30においてNO)、処理をステップS24に進める。
 シミュレーション部102がモーションFBであると判断した場合(ステップS26においてYES)、ステップS34において、指令値算出部104は、シミュレーション部102から指定されたモーションFBをFBライブラリ103から読み出す。
 ステップS36において、指令値算出部104はループ処理を開始し、ステップS40において、指令値算出部104は当該ループ処理を終了する。当該ループ処理では、一定の時間間隔でシミュレーション上の時間を進めながら、読み出したモーションFBの終了まで処理を繰り返し実行する。当該ループ処理中においては、ステップS38において、指令値算出部104は、モーションFBを実行して指令値を算出する処理を繰り返す。
 ステップS42において、指令位置算出部105は、一連の指令値に対応する一連の指令位置を算出する。ステップS44において、予測位置算出部106は、一連の指令位置に対応する一連の予測位置を算出する。
 図8は、実測位置を表示する処理を示したフローチャートである。図8を参照して、表示データ処理部108は、ステップS52において、トレースデータ記憶部107から一連の実測位置を取得する。ステップS54において、表示制御部109は、表示データ処理部108が取得した実測位置を、モニタ907の画面11に表示させる。
 図9は、制御システム1の適用例である台紙切断装置1Aの概略構成を示した図である。図9を参照して、台紙切断装置1Aは、PC10(図示せず)と、PLC20と、サーボアンプ31~33と、通信線60と、制御対象の可動機構である1軸のステージ機構501~503とを備える。
 Z方向のステージ機構501は、サーボモータ41と送りねじ51とを含む。送りねじ51は、ねじ軸に螺合するナット51aを有する。X方向のステージ機構502は、サーボモータ42と送りねじ52とを含む。送りねじ52は、ねじ軸に螺合するナット52aを有する。Y方向のステージ機構503は、サーボモータ43と送りねじ53とカッター54とを含む。送りねじ53は、ねじ軸に螺合するナット53aを有する。カッター54は、ナット53aに固定されている。
 カッター54は、刃先がZ軸負方向(台紙90の方向)を向いている。カッター54は、サーボモータ41~43の駆動により、X軸方向、Y軸方向、およびZ軸方向に移動可能となっている。カッター54は、台紙90を切断するために設けられている。
 図10は、台紙切断装置1Aによる台紙90の切断例を示した図である。図10を参照して、図9のスイッチ80をONにすると、台紙切断装置1Aは、初期位置O(0,0,0)に待機しているカッター54をP6に移動する。その後、台紙切断装置1Aは、カッター54を台紙90に降ろして、P1→P2→P3→P4→P5→P1とカッター54を移動する。台紙切断装置1Aは、当該移動によって台紙90を切断する。その後、台紙切断装置1Aは、カッター54を上昇してP6へ移動し、切断処理を終了する。
 図11から図14は、図9の台紙切断装置1Aに図10に示した台紙切断処理を実行させるモーションプログラムの一例を示した図である。なお、当該モーションプログラムにおいては、動作開始時に初期位置O(0,0,0)へカッター54の位置を合わせる処理、および、動作完了後に初期位置O(0,0,0)へカッター54を復帰させる部分の記載は省略している。
 モーションプログラム中において、FB1からFB13はモーションFBである。FBの左側の端子はFBへの入力を表し、FBの右側の端子はFBからの出力である。実際に製品化されているFBにはより多くの入力端子、出力端子があって多様な設定をすることができるが、説明に使用しない端子は図示していない。FBからの図示されている出力は、シーケンスプログラムの他の部分に対する出力である。PLC20においてモーションFBが実行されると、算出された指令値やサーボアンプ31~33に対するその他の信号がMCユニット24から出力される。しかしながら、当該指令値や当該信号を出力する処理は、FBのMCユニットに対する機能である。このため、シーケンスプログラムの表記においては、当該機能は表現されない。
 FBに入力される位置の数値の単位はmmであり、速度の数値の単位はmm/secである。FBを実行した結果、MCユニット24からサーボアンプ31~33に実際に送られる指令値はモータの回転角度を表す値に変換されている。
 図11は、モーションプログラムの第1の部分を示した図である。図11を参照して、モーションプログラムのそれぞれの行には、以下の(A)~(C)の処理が記述されている。
(A)第1~3行目:接点Switch_StatusがONになる(図9のスイッチ80がONになる)と、軸X、Y、Zのそれぞれに接続されたサーボモータ41~43は動作可能な状態になる。
(B)第4行:3軸のサーボモータ41~43全てが動作可能状態であるとき、コイルAll_PowerはONになる。
(C)第5~6行:カッター54が図10(a)の座標P6へ移動中か否かが判定される。サーボモータ41~43全てが動作可能状態になったときに、コイルUnder_MovingP6はONになる。
 図12は、図11に続く、モーションプログラムの第2の部分を示した図である。図12を参照して、モーションプログラムのそれぞれの行には、以下の(D)~(G)の処理が記述されている。
(D)第7~9行:図10(a)の座標P6へカッター54を移動させる。FB4、FB5、FB6は、1軸についての一連の指令値を算出するFBである。Axisは軸の指定を入力する端子であり、当該端子から入力されているAxisAはX軸、AxisBはY軸、AxisCはZ軸を指定することを表す。Positionは移動先の座標、Velocityは移動速度の指定を入力する端子である。指定される座標は図10に示されるとおりである。例えばP6のXYZ座標は(100,100,200)であるから、P6_Position_Xの値として100が与えられる。P6_Velocity_X,P6_Velocity_Y,P6_Velocity_Zの値はそれぞれ、41,41,82である。
(E)第10行:X、Y、Zの各軸が座標P6へ移動完了したかどうかが判定される。
(F)第11~12行:待機中かどうかが判定される。座標P6への移動が完了し、外部から停止要求(Request_Stop)が入力されると、コイルUnder_WaitingはONになる。
(G)第13~14行:座標P1への下降中かどうかが判定される。待機状態が解除されたとき、コイルUnder_MovingDownはONになる。
 図13は、図12に続く、モーションプログラムの第3の部分を示した図である。図13を参照して、モーションプログラムのそれぞれの行には、以下の(H)~(J)の処理が記述されている。
(H)第15行:台紙90へのカッター54の下降動作(P6からP1への移動)が実行される。FB7は、1軸についての一連の指令値を算出するFBである。AxisCの入力によりZ軸が指定されている。P1_Position_Zの値は0、Down_Velocityの値は100である。
(I)第16~17行:カッティング動作中かどうかが判定される。座標P1へのカッター下降動作が完了したとき、コイルUnder_CuttingはONになり、五角形の各辺を切断後にカッター54が再び座標P1へ戻ったとき、コイルUnder_CuttingはOFFになる。
(J)第18行:カッター54を座標P1→P2→P3→P4→P5→P1へと順に移動させる。FB8~FB12は、そのFBの実行開始位置と指定された実行終了位置とを結ぶ直線に沿って移動するようにX軸とY軸を同時に駆動するFBである。FB8の入力のMoveP2_Positionの値は、P2のXY座標(159,181)である。MoveP2_VelocityはP1からP2にいたる直線に沿った移動速度である。FB8~FB12に入力される移動速度の値はいずれも100である。
 図14は、図13に続く、モーションプログラムの第4の部分を示した図である。図14を参照して、モーションプログラムのそれぞれの行には、以下の(K),(L)の処理が記述されている。
(K)第19~20行:カッター54が上昇動作中かどうかが判定される。
(L)第21行:カッター54の上昇動作(P1からP6への移動)が実行される。なお、Up_Velocityの値は100である。
 図15は、図11から図14のモーションプログラムが実行されたときの指令位置の軌跡を、横軸を軸A、縦軸を軸Bとして表示したグラフである。図15を参照して、軸A、軸Bは、MCユニット内部で使用する軸名称であり、図9の送りねじ52の軸(X軸)、送りねじ53の軸(Y軸)に相当する。ユーザは、画面11における上部のプルダウンメニュー201,202により、横軸、縦軸にはそれぞれ軸A(X軸)、軸B(Y軸)、軸C(Z軸)のうちの任意の軸を指定することができる。
 ユーザは、画面11における上部の選択チェックボックス203~205により、指令位置、予測位置、実測位置のいずれの軌跡を表示するかを選択することができる。
 PC10は、指令位置の軌跡は点線にて、応答位置(予測位置または実測位置)の軌跡は実線にて、それぞれ画面11に表示する。図15ではPC10は指令位置と予測位置とを表示させているが、ユーザには、双方の軌跡が重なって実線のみ表示されているように見えている。一般に、数100mmの範囲での動作において指令位置と応答位置との間に発生する誤差は数十μm程度であり、ユーザは、図15のように軌跡全体を表示可能なグラフの縮尺では誤差を確認できない。PC10は、軌跡が重なって2つの軌跡を識別できないような縮尺のときには、いずれかの軌跡の表示処理自体を省略してもよい。
 軌跡の脇に表示されている「FB9▽」などは、表示されたモーションFBの実行が開始されるときの位置(その前に実行されたFBが終了したときの位置)を表している。
 視野変更ハンド206は、マウスポインタの一種であり、軌跡がグラフの外枠からはみ出しているときにグラフの表示範囲を移動させることができることを示している。ユーザがグラフ上でマウスのドラッグ操作をすると、PC10は、マウスポインタを変化させ、マウスの移動に対応して表示しているグラフを移動する。
 拡大/縮小スライドバー207,208は、それぞれ、グラフの縦軸・横軸の縮尺を表している。拡大/縮小スライドバー207,208上のつまみをユーザが上下に移動させることにより、PC10は縦軸・横軸の縮尺を変更する。ユーザが連動チェックボックス209にチェックを入れておくと、PC10は、縦軸・横軸の一方の縮尺が変わると他方も同じ縮尺になるよう追従させる。一方、連動が解除された状態では、ユーザは縦軸・横軸の縮尺を独立に変えることができる。
 誤差発生マーク211,212は、誤差が大きい軌跡の箇所を示すマークである。換言すれば、誤差発生マーク211,212は、誤差が予め定められた閾値以上である部分を示すマークである。以下では、誤差が大きい箇所を、「誤差が発生していていると判定した部分」、または「誤差が発生している部分」とも称する。その判定基準については後述する。
 PC10は、誤差が大きい箇所を点線の矩形で囲った状態で、当該箇所を表示する。FB10からFB11にいたる経路上では誤差の大きい箇所が断続的に多数存在しているが、誤差発生箇所が互いに近い場合には、PC10は、図示されるようにそれらを囲む1つの図形を表示する。誤差発生マーク211,212の形状や色彩は、視認が容易になるように任意に設計することができる。
 PC10は、誤差が発生していると判定した部分の軌跡自体の色彩を変化させ、当該色彩が変化した軌跡部分を誤差発生マークとして表示することもできる。この場合、誤差が発生している部分の長さが短いと、ユーザは、当該部分だけ色彩を変えても視認することが困難である。それゆえ、PC10は、軌跡の色彩を変化させるときには実際に誤差が発生している部分の軌跡の長さにかかわらず、当該部分を容易に視認できるだけの長さにわたって色彩を変化させるとよい。
 PC10は、誤差が発生していると判定した部分の軌跡自体の色彩を変化させる場合においても、誤差発生マーク211,212である図形を表示するようにしてもよい。
 ユーザが誤差発生マーク211,212をクリックすると、PC10は、画面遷移を行ない、誤差が発生している部分を拡大表示する。
 図16は、図15のFB9付近の誤差発生マーク211をユーザがクリックしたときに、PC10が表示する拡大グラフである。図16を参照して、PC10は、指令位置224に対して誤差が大きい部分の応答位置(この場合は予測位置)221~223の軌跡を誤差の大きさに応じて2段階に色彩を変化させて表示している。PC10は、このように色彩を変化させることにより、応答位置の軌跡自体によって誤差の大きさを、ユーザにとって明瞭な状態で表示することができる。
 PC10は、拡大グラフの表示縮尺を、誤差の発生状況を観察するのに適した大きさに自動調整する。たとえば、PC10は、表示する目盛数を固定値とした場合、縦軸の目盛幅を次の方法で求める。
 縦軸目盛幅 = (縦軸最大値 - 縦軸最小値)/目盛数
 ここで、
  縦軸最大値 = max(抽出した区間における応答値の軸B最大値,抽出した区間における指令値の軸B最大値)と、
  縦軸最小値 = min(抽出した区間における応答値の軸B最小値,抽出した区間における指令値の軸B最小値)とする。
 また、PC10は、目盛幅が1、2または5に10のべき乗を乗じた値になるように表示を調整する。PC10は、横軸についても縦軸と同様の処理を行なう。
 その後、ユーザは、拡大/縮小スライドバー207,208を用いて手動で縮尺を変えることもできる。ユーザは、連動チェックボックス209のチェックをはずして、縦軸、横軸の縮尺を独立に変えることもできる。この場合でも、縮尺の変更は指令位置軌跡と応答位置軌跡の両方で行われるため、指令位置軌跡と応答位置軌跡との縦軸の縮尺同士、および横軸の縮尺同士は同一である。
 このように、PC10は、選択された誤差発生マークに対応する部分の指令位置の空間的軌跡とそれに対応する応答位置の空間的軌跡とを重ねた態様で両軌跡とも同じ倍率で拡大して画面11に表示させる。より正確には、PC10は、選択された誤差発生マークに対応する部分の指令位置の空間的軌跡と当該空間的軌跡に対応する応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各空間的軌跡が互いに重なる態様にて、各空間的軌跡を画面11に表示する。このため、ユーザにとって、誤差の発生状況がわかりやすい。
 なお、2次元軌跡データ生成部181は、基本的に同じプログラムを用いて、図15の軌跡表示画面および図16の軌跡の拡大表示画面を作成している。
 ユーザは、図15の表示画面から手動で縮尺を拡大し、視野変更ハンド206を操作して表示箇所を調整すれば、手動操作で図16に示した画面11を表示させることも可能である。この場合、PC10は、誤差の大きさがグラフ上で容易に視認できる大きさになった段階で、誤差発生マークの表示をやめる。もっとも、PC10は、当該段階になっても誤差発生マークの表示を継続しても差し支えない。もちろん、第1表示データ作成部1084と第2表示データ作成部1085とを別のプログラムで実現するようにして、表示データの作成を分担してもよい。
 ユーザは、上記のように手動操作のみによってもPC10に拡大表示をさせることは可能であるが、誤差発生マークのクリック操作による画面遷移を利用すると誤差の発生状況を迅速に確認することができる。図16の表示画面から図15の表示画面に戻ることができるように、たとえばバックスペースキーを押すと表示が戻るようにPC10を設計しておくとよい。
 図17は、図16の拡大表示画面に、同時刻マーカー、すなわち指令位置マーカーおよび応答位置マーカーを表示した状態を示した図である。図17を参照して、指令位置マーカー232と応答位置マーカー231とは、互いに同じ時刻における指令位置と応答位置を示す図形である。PC10は、マーカーにいたるまでの部分を軌跡として表示しているが、図16と同様に表示範囲におさまる軌跡の全体を表示してもよい。このようなマーカーにより、PC10は、同時刻における指令位置と応答位置との間の位置関係を明瞭に表示することができる。
 ユーザは、マーカーに対応する時刻を変更する操作を、画面11における左下の各種ボタン233~236および当該各種ボタンの横に配置されたスライドバー237にて行なう。
 スライドバー237は、バーの長さが、1タクトに相当するモーションプログラムの実行開始から終了までにかかる時間の長さを表している。スライドバー237上のつまみ2371の位置が経過時間(時刻)を表している。PC10は、当該時刻における軌跡上の位置にマーカーを表示する。つまみ2371は、マウスによるドラッグ操作で左右に移動可能である。ユーザのつまみ2371の操作に合わせて、PC10はマーカーの位置を変化させる。
 ユーザが再生ボタン235を押すと、PC10は、実時間の経過に合わせて、スライドバー237上のつまみ2371とマーカーの位置とを右へ動かす。ユーザが早送りボタン236を押すと、PC10は、実時間の経過よりも速く、スライドバー237上のつまみ2371の位置とマーカーの位置とを右へ動かす。ユーザが逆再生ボタン234を押すと、PC10は、実時間の経過と同じペースで過去方向に、スライドバー237上のつまみ2371の位置とマーカーの位置とを左へ動かす。ユーザが巻戻しボタン233を押すと、PC10は、実時間の経過よりも速いペースで過去方向に、スライドバー237上のつまみ2371の位置とマーカーの位置とを左へ動かす。PC10は、図15および後述の図18、19の表示画面においても、スライドバー237と同時刻マーカーとの表示を行なうことができる。
 図18は、連動チェックボックス209のチェックを解除した状態で図15のFB10とFB11の間にある誤差発生マーク212をユーザがクリックしたときに画面11に表示される内容を示した図である。より詳しくは、図18は、図15に示した表示内容から遷移した後の画面11であって、ユーザが誤差を視認できる倍率で横軸方向を選択的に拡大したときに表示される画面11を示した図である。
 PC10は、誤差が断続的に発生している領域の全体を表示できるように、縦軸方向の表示倍率を決定する。ユーザが、連動チェックボックス209のチェックを解除しないで誤差発生マーク212をクリックした場合には、PC10は、横軸方向に発生している誤差がユーザに視認できる大きさに横軸方向の表示を拡大し、かつ縦軸方向の表示も横軸方向の拡大倍率と同じ倍率で拡大する。このため、PC10は、縦軸方向について、誤差が発生している軌跡部分のごく一部しか表示しない。
 ユーザは、図15に示した表示画面から手動で図18に示した画面11を表示させるときには、視野変更ハンド206を操作してFB10とFB11との中点を画面11の中央付近に表示させた上で、横軸の縮尺を拡大すればよい。ここで、図15に示した表示画面から手動で図18に示した画面11を表示させるときに、ユーザは、誤差発生マークのクリック操作による画面遷移を利用すれば、誤差の発生状況を迅速に確認することができる。
 表示用の縦軸、横軸の方向を、軸A方向、軸B方向のような制御対象の制御に関して使用されている座標系の軸方向とは異なる任意の方向に設定できるようにしてもよい。たとえば、表示用の横軸の方向を軸Aと軸Bが張る平面内で軸Aの方向に対して反時計回りに18度の方向に設定すると、画面に表示される軌跡図形は、図15に表示された軌跡図形に対して時計回りに18度回転した態様で表示される。そうすると、FB11からFB12にいたる軌跡の直線状の部分が横軸と平行になる。その状態で、縦軸方向を選択的に拡大すれば、ユーザは、FB11とFB12の間の軌跡について、進行方向に垂直な方向の誤差の発生状況を観察することができる。
 以上のとおり、PC10は、1つの方向と当該方向に直交する方向との間で軌跡の表示倍率を異ならせることができる。このため、局所的に誤差の発生方向がほぼ一定である場合に、PC10が、誤差の発生方向の表示倍率を相対的に大きく、誤差の発生方向と直交する方向の表示倍率を相対的に小さくすれば、PC10は、誤差の発生状況を大きな表示倍率で示しながら比較的広い範囲の軌跡を表示することができる。
 図19は、横軸を時間、縦軸を軸Bとして指令位置と予測位置との軌跡を画面11に表示した状態を示した図である。PC10は、縦軸として表示している軸方向において誤差が発生していると判定された箇所に誤差発生マーク241を表示する。ユーザは、図19は図15と比べて、単軸における誤差の発生箇所を確認しやすい。ユーザが誤差発生マーク241をクリックすると、PC10は、画面11に表示する内容を、図19に示した表示内容から、図16に示した表示内容(拡大表示画面)に遷移させる。ユーザが誤差発生マーク241をクリックすると、PC10は、画面遷移を行ない、横軸を時間とし縦軸を軸Bとしたまま図19のグラフの一部を拡大した画像を画面11に表示させてもよい。
 図19の横軸を、時間に代えて、動作開始からの移動量(本実施の形態では座標P6からの移動量)としてもよい。図19の縦軸は、位置(指令位置または応答位置)に代えて、速度(指令位置の変化から算出された速度または応答位置の変化から算出された速度)としてもよい。本実施形態では、モーションプログラムの設計上参照されることの多い、横軸を時間または移動量、縦軸を位置または速度とするグラフから、誤差発生部分の軌跡を拡大した拡大表示に直接遷移することができる。
 図20は、横軸を時間、縦軸を誤差、すなわち同時刻における指令位置と応答位置との間の距離としたグラフを画面11に表示した状態を示した図である。なお、PC10は、横軸を移動量としてもよい。Th1は、誤差が発生していると判定するための閾値である。
 通常の軌跡の表示色彩を第1の色彩とすると、PC10は、図16から図18において誤差がTh1を越える部分(たとえば図16では応答位置221,223)の軌跡を第2の色彩で表示す。Th2は、さらに大きな誤差が発生していることを判定するための閾値である。PC10は、図14から図16において誤差がTh2を越える部分(たとえば図16では応答位置222)の軌跡を第3の色彩で表示する。各閾値の大きさはユーザが調整可能にPC10が構成されている。本実施形態では、PC10は、応答位置の軌跡自体によって誤差の大きさを明瞭に表示することができる。
 本実施形態では、PC10は、同時刻における指令位置と応答位置との距離を、3次元空間内での距離として算出している。しかしながら、これに限定されず、PC10は、2つの軸を選択して当該各軸がなす平面に投影された指令値と応答位置との距離、あるいは1つの軸を選択して当該軸上に投影された指令値と応答位置との距離を算出してもよい。
 図20に示したグラフによれば、ユーザは、誤差の量と誤差が発生した時刻とを確認できる。ユーザは、指令値やサーボパラメータを適切にチューニングするための参考情報として、当該確認した誤差を用いることができる。
 図20に示した画面11にも誤差発生マーク251,252が表示されており、ユーザが誤差発生マーク251,252をクリックすると、PC10は、画面11に表示させる内容を、図16に示した表示内容(拡大表示画面)に遷移する。すなわち、PC10は、図20に示した画面11を表示することにより、時間または移動量の軸上での誤差の大きさの推移を示すことができる。さらに、PC10は、時間または移動量の軸上での誤差の大きさの推移を示す画面から、誤差発生部分の軌跡の拡大表示画面に直接遷移することもできる。
 図21は、横軸を移動量とし、縦軸を指令位置と応答位置との間の垂直誤差を画面11に表示した状態を示した図である。なお、横軸を時間としてもよい。垂直誤差とは、指令位置の3次元または2次元の空間的軌跡の接線方向に対して垂直な方向に沿った、指令位置の空間的軌跡から応答位置の空間的軌跡までの距離である。
 垂直誤差は、指令位置と応答位置との間の時間的な進みや遅れ要素を除外した両空間的軌跡の間の空間的なずれの大きさを示している。図21のグラフと図20のグラフとを比較すると、誤差が大きく発生している箇所の誤差の方向は指令位置の空間的軌跡の接線方向に対してほぼ垂直であるため両グラフの間にほとんど差異がないのに対し、誤差が小さい部分の誤差の大きさは垂直誤差の大きさの方が小さくなっている。これは、図20の誤差の方には指令位置の変化に対して応答位置の変化が遅れているなどの時間的な遅れが距離の誤差となって現れている成分が含まれているためと考えられる。
 このように、PC10は、指令位置と応答位置との間の時間的な進みや遅れ要素を除外した、両空間的軌跡の間の空間的なずれの大きさを示すことができる。PC10は、さらに当該空間的なずれの大きさを示した画面から、誤差発生部分の軌跡を拡大表示した画面に直接遷移することができる。
 図21に示した画面11においても誤差発生マーク261,262が表示されており、ユーザが誤差発生マーク261,262をクリックすることによって、PC10は、画面遷移を行ない、図16に示した表示内容を画面11に表示することができる。
 図22は、3次元空間内の指令位置と応答位置との軌跡を透視図の手法で画面11に表示した状態を示した図である。作図のための視点の位置と視線方向とをユーザが任意に変更することができるようにPC10は構成されている。軌跡の平面への投影図である図15に示した画面11と比べて、ユーザは、3つの軸の動きを直感的に理解できる。
 PC10は、誤差が発生していると判定した軌跡の部分には誤差発生マーク271,272を表示する。ユーザが誤差発生マーク271,272をクリックすると、PC10は、画面11の表示内容を、図22に示した表示内容から図16に示した表示内容に遷移する。図16に示した表示内容に遷移する代わりに、3次元表示のままで誤差発生部分を拡大表示するようにPC10を構成してもよい。また、3次元表示において図17に基づき説明した同時刻マーカーを表示するようにPC10を構成してもよい。
 図23は、指令位置または応答位置に合わせて動作するXYZステージの仮想装置モデルを図22に示した3次元空間に配置したときの画面11を示した図である。このような表示をPC10が行なうことにより、ユーザは、図9に示した台紙切断装置1Aの動きをよりリアルに理解することができる。
 図24は、指令位置、指令値、予測位置、実測値の算出処理の主体等について、現実的に採り得る組み合わせの例を示した図である。
 図24を参照して、第1の組み合わせでは、PC10は、指令位置を算出し、かつ算出した指令位置を表示する。また、PC10は、予測位置を算出し、かつ算出した予測位置を表示する。なお、当該表示の主体(表示主体)は、PC10である。
 第2の組み合わせでは、PC10は、指令位置を算出し、かつ算出した指令位置を表示する。PLC20は、制御用の指令値を算出する。また、PLC20は、実測値をPC10に転送する。
 第3の組み合わせでは、PLC20は、制御用の指令値を算出する。PLC20は、指令値をPC10に転送する。PC10は、指令値を表示する。また、PLC20は、実測値をPC10に転送する。PC10は、実測値を表示する。
 第4の組み合わせでは、PC10は、指令位置を算出し、かつ算出した指令位置を表示する。PLC20は、制御用の指令値を算出する。また、PC10は、予測位置を算出し、かつ算出した予測位置を表示する。PLC20は、実測値をPC10に転送する。PC10は、実測値を表示する。
 第5の組み合わせでは、PC10は、予測位置を算出するために指令位置を算出する。PLC20は、制御用の指令値を算出する。PLC20は、指令値をPC10に転送する。PC10は、指令値を表示する。また、PC10が、予測位置を算出し、かつ算出した予測位置を表示する。PLC20は、実測値をPC10に転送する。PC10は、実測値を表示する。
 以上説明してきたように、制御システム1のPC10は、指令値に対応する制御対象の特定部位の指令された指令位置と、実際の制御対象の特定部位についての理論的に予測される予測位置または当該特定部位についての測定された実測位置との間の誤差をユーザにわかりやすく表示することが可能となる。
 今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
 1 制御システム、1A 台紙切断装置、10 PC、11 画面、20 PLC、21 電源ユニット、22 CPUユニット、23 I/Oユニット、24 MCユニット、25 バックプレーン、31,32,33 サーボアンプ、41,42,43 サーボモータ、51a,52a,53a ナット、54 カッター、60,70 通信線、80 スイッチ、90 台紙、101 シーケンスプログラム、102 シミュレーション部、103 FBライブラリ、104 指令値算出部、105 指令位置算出部、106 予測位置算出部、107 トレースデータ記憶部、108 表示データ処理部、109 表示制御部、110 受付部、161 モータ電流算出部、162 トルク値算出部、163 モータDB、164 運動方程式計算部、165 装置DB、181 2次元軌跡データ生成部、182 3次元軌跡データ生成部、201,202 プルダウンメニュー、203,204,205 選択チェックボックス、206 視野変更ハンド、207,208 拡大/縮小スライドバー、209 連動チェックボックス、211,212 誤差発生マーク、221,222,223 応答位置、231 応答位置マーカー、232 指令位置マーカー、233 巻戻しボタン、234 逆再生ボタン、235 再生ボタン、236 早送りボタン、237 スライドバー、241 誤差発生マーク、251,252 誤差発生マーク、261,262 誤差発生マーク、271,272 誤差発生マーク、501,502,503 ステージ機構、907 モニタ、908 駆動装置、1084 第1表示データ作成部、1085 第2表示データ作成部、1086 第3表示データ作成部、1811 誤差算出部、1812 判定部。

Claims (10)

  1.  モーションプログラムの実行によって出力される一連の指令値に基づいて駆動する制御対象における特定部位の位置の変化を、画面(11)に軌跡として表示する表示装置(10)であって、
     前記制御対象の質量および摩擦を無視した場合における、前記一連の指令値に基づいた前記特定部位の位置である一連の指令位置を取得する第1の位置取得部(105)と、
     前記制御対象の質量および摩擦のうち少なくとも一つを考慮したシミュレートがなされた場合における、前記一連の指令値に基づいた前記特定部位の一連の位置、および前記一連の指令値に基づく前記駆動がなされた場合に測定された前記特定部位の一連の位置のうち少なくとも1つの一連の位置である、前記一連の指令位置に対応する一連の応答位置を取得する第2の位置取得部(106,107)と、
     前記指令位置と当該指令位置に対応する前記応答位置との位置の差を算出する誤差算出部(1082)と、
     前記算出された差が予め定められた閾値以上であるか否かを判定する判定部(1083)と、
     前記一連の指令位置によって形成される空間的軌跡および前記一連の応答位置によって形成される空間的軌跡の少なくともいずれかと、当該空間的軌跡のうち前記閾値以上であると判定された部分を示す第1のマークとを前記画面に表示させるためのデータを作成する第1の表示データ作成部(1084)と、
     前記第1のマークの選択操作を受け付ける受付部(110)と、
     前記選択されたマークに対応する部分の前記指令位置の空間的軌跡と当該空間的軌跡に対応する前記応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各前記空間的軌跡が互いに重なる態様にて、各前記空間的軌跡を前記画面に表示させるためのデータを作成する第2の表示データ作成部(1085)と、
     前記第1の表示データ作成部によって作成されたデータ、および前記第2の表示データ作成部によって作成されたデータを前記画面に表示させる表示制御部(109)とを備える、表示装置。
  2.  前記第2の表示データ作成部は、指定された時刻における前記指令位置を示す第2のマークと、当該時刻における前記応答位置を示す第3のマークと前記画面に表示させるためのデータをさらに作成し、
     前記表示制御部は、前記第2の表示データ作成部によって作成されたデータを前記画面に表示させるときには、前記第2のマークと前記第3のマークとを前記画面に表示させる、請求項1に記載の表示装置。
  3.  前記第2の表示データ作成部は、各前記空間的軌跡を前記画面に表示させるためのデータを作成するときに、前記拡大した前記応答位置の空間軌跡の色が前記算出された差の大きさに基づき変化するように当該データを作成し、
     前記表示制御部は、前記第2の表示データ作成部によって作成されたデータを前記画面に表示させるときには、前記拡大した前記応答位置の空間軌跡を前記算出された差の大きさに基づいた色で前記画面に表示させる、請求項1に記載の表示装置。
  4.  前記第2の表示データ作成部は、各前記空間的軌跡を前記画面に表示させるためのデータを作成するときに、前記画面における第1の方向と当該第1の方向に直行する第2の方向とにおいて、前記空間的軌跡の表示倍率が各々指定された表示倍率となるように当該データを作成し、
     前記表示制御部は、前記第1の方向および前記第2の方向の各々において指定された前記表示倍率で拡大した各前記空間的軌跡を前記画面に表示させる、請求項1に記載の表示装置。
  5.  第1の軸を時間または前記特定部位の移動量とし、第2の軸を、前記指令位置、当該指令位置に基づき算出された前記特定部位の速度、前記応答位置、または当該応答位置に基づき算出された前記特定部位の速度とする2次元グラフを表示するためのデータと、
     前記算出された差が予め定められた閾値以上である部分を前記2次元グラフ上に表示させるためのデータであって、前記選択操作の対象となる第4のマークを表示させるためのデータとを作成する第3の表示データ作成部(1086)をさらに備え、
     前記表示制御部は、前記2次元グラフと前記第4のマークとを前記画面に表示させる、請求項1に記載の表示装置。
  6.  第1の軸を時間または前記特定部位の移動量とし、第2の軸を、前記算出された差の大きさとする2次元グラフを表示するためのデータと、
     前記算出された差が前記予め定められた閾値以上である部分を前記2次元グラフ上に表示させるためのデータであって、前記選択操作の対象となる第4のマークを表示させるためのデータとを作成する第3の表示データ作成部(1086)をさらに備え、
     前記表示制御部は、前記2次元グラフと前記第4のマークとを前記画面に表示させる、請求項1に記載の表示装置。
  7.  第1の軸を時間または前記特定部位の移動量とし、第2の軸を、前記指令位置の空間的軌跡の接線方向に対して垂直な方向に沿った、前記指令位置の空間的軌跡から前記応答位置の空間的軌跡までの距離とする2次元グラフを表示するためのデータと、
     前記算出された差が前記予め定められた閾値以上である部分を前記2次元グラフ上に表示させるためのデータであって、前記選択操作の対象となる第4のマークを表示させるためのデータとを作成する第3の表示データ作成部(1086)をさらに備え、
     前記表示制御部は、前記2次元グラフと前記第4のマークとを前記画面に表示させる、請求項1に記載の表示装置。
  8.  モーションプログラムの実行によって出力される一連の指令値に基づいて駆動する制御対象における特定部位の位置の変化を、表示装置(10)の画面(11)に軌跡として表示させる表示制御方法であって、
     前記表示装置のプロセッサ(901)が、前記制御対象の質量および摩擦を無視した場合における、前記一連の指令値に基づいた前記特定部位の位置である一連の指令位置を取得するステップと、
     前記プロセッサが、前記制御対象の質量および摩擦のうち少なくとも一つを考慮したシミュレートがなされた場合における、前記一連の指令値に基づいた前記特定部位の一連の位置、および前記一連の指令値に基づく前記駆動がなされた場合に測定された前記特定部位の一連の位置のうち少なくとも1つの一連の位置である、前記一連の指令位置に対応する一連の応答位置を取得するステップと、
     前記プロセッサが、前記指令位置と当該指令位置に対応する前記応答位置との位置の差を算出するステップと、
     前記プロセッサが、前記算出された差が予め定められた閾値以上であるか否かを判定するステップと、
     前記プロセッサが、前記一連の指令位置によって形成される空間的軌跡および前記一連の応答位置によって形成される空間的軌跡の少なくともいずれかと、当該空間的軌跡のうち前記閾値以上であると判定された部分を示すマークとを前記画面に表示させるための第1のデータを作成するステップと、
     前記プロセッサが、前記マークの選択操作を受け付けるステップと、
     前記プロセッサが、前記選択されたマークに対応する部分の前記指令位置の空間的軌跡と当該空間的軌跡に対応する前記応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各前記空間的軌跡が互いに重なる態様にて、各前記空間的軌跡を前記画面に表示させるための第2のデータを作成するステップと、
     前記プロセッサが、前記第1のデータおよび前記第2のデータを前記画面に表示させるステップとを備える、表示制御方法。
  9.  モーションプログラムの実行によって出力される一連の指令値に基づいて駆動する制御対象における特定部位の位置の変化を表示装置(10)の画面(11)に軌跡として表示させるプログラムであって、
     前記制御対象の質量および摩擦を無視した場合における、前記一連の指令値に基づいた前記特定部位の位置である一連の指令位置を取得するステップと、
     前記制御対象の質量および摩擦のうち少なくとも一つを考慮したシミュレートがなされた場合における、前記一連の指令値に基づいた前記特定部位の一連の位置、および前記一連の指令値に基づく前記駆動がなされた場合に測定された前記特定部位の一連の位置のうち少なくとも1つの一連の位置である、前記一連の指令位置に対応する一連の応答位置を取得するステップと、
     前記指令位置と当該指令位置に対応する前記応答位置との位置の差を算出するステップと、
     前記算出された差が予め定められた閾値以上であるか否かを判定するステップと、
     前記一連の指令位置によって形成される空間的軌跡および前記一連の応答位置によって形成される空間的軌跡の少なくともいずれかと、当該空間的軌跡のうち前記閾値以上であると判定された部分を示すマークとを前記画面に表示させるための第1のデータを作成するステップと、
     前記マークの選択操作を受け付けるステップと、
     前記選択されたマークに対応する部分の前記指令位置の空間的軌跡と当該空間的軌跡に対応する前記応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各前記空間的軌跡が互いに重なる態様にて、各前記空間的軌跡を前記画面に表示させるための第2のデータを作成するステップと、
     前記第1のデータおよび前記第2のデータを前記画面に表示させるステップとを、前記表示装置に実行させるためのプログラム。
  10.  モーションプログラムの実行によって出力される一連の指令値に基づいて駆動する制御対象における特定部位の位置の変化を表示装置(10)の画面(11)に軌跡として表示させるプログラムを格納したコンピュータ読み取り可能な記録媒体(999)であって、
     前記プログラムは、
     前記制御対象の質量および摩擦を無視した場合における、前記一連の指令値に基づいた前記特定部位の位置である一連の指令位置を取得するステップと、
     前記制御対象の質量および摩擦のうち少なくとも一つを考慮したシミュレートがなされた場合における、前記一連の指令値に基づいた前記特定部位の一連の位置、および前記一連の指令値に基づく前記駆動がなされた場合に測定された前記特定部位の一連の位置のうち少なくとも1つの一連の位置である、前記一連の指令位置に対応する一連の応答位置を取得するステップと、
     前記指令位置と当該指令位置に対応する前記応答位置との位置の差を算出するステップと、
     前記算出された差が予め定められた閾値以上であるか否かを判定するステップと、
     前記一連の指令位置によって形成される空間的軌跡および前記一連の応答位置によって形成される空間的軌跡の少なくともいずれかと、当該空間的軌跡のうち前記閾値以上であると判定された部分を示すマークとを前記画面に表示させるための第1のデータを作成するステップと、
     前記マークの選択操作を受け付けるステップと、
     前記選択されたマークに対応する部分の前記指令位置の空間的軌跡と当該空間的軌跡に対応する前記応答位置の空間的軌跡とを同じ倍率で拡大した態様であって、当該拡大された各前記空間的軌跡が互いに重なる態様にて、各前記空間的軌跡を前記画面に表示させるための第2のデータを作成するステップと、
     前記第1のデータおよび前記第2のデータを前記画面に表示させるステップとを、前記表示装置に実行させる、コンピュータ読み取り可能な記録媒体。
PCT/JP2011/051611 2010-03-15 2011-01-27 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体 WO2011114776A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP11755966.6A EP2549347B1 (en) 2010-03-15 2011-01-27 Display device, display control method, program, and computer-readable recording medium
US13/579,625 US9563195B2 (en) 2010-03-15 2011-01-27 Device and method for displaying a change in the position of an object
CN201180014647.4A CN102812407B (zh) 2010-03-15 2011-01-27 显示设备、显示控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2010057474A JP5428965B2 (ja) 2010-03-15 2010-03-15 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP2010-057474 2010-03-15

Publications (1)

Publication Number Publication Date
WO2011114776A1 true WO2011114776A1 (ja) 2011-09-22

Family

ID=44648885

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/051611 WO2011114776A1 (ja) 2010-03-15 2011-01-27 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体

Country Status (5)

Country Link
US (1) US9563195B2 (ja)
EP (1) EP2549347B1 (ja)
JP (1) JP5428965B2 (ja)
CN (1) CN102812407B (ja)
WO (1) WO2011114776A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016174716A1 (ja) * 2015-04-27 2016-11-03 三菱電機株式会社 数値制御装置

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11062615B1 (en) * 2011-03-01 2021-07-13 Intelligibility Training LLC Methods and systems for remote language learning in a pandemic-aware world
US8804148B2 (en) * 2011-09-26 2014-08-12 Brother Kogyo Kabushiki Kaisha Image forming apparatus and non-transitory computer readable medium storing a program for controlling the same
JP5444412B2 (ja) 2012-05-30 2014-03-19 ファナック株式会社 加工処理の評価を行うための情報を表示する表示部を備えた数値制御装置
JP5374616B1 (ja) 2012-06-14 2013-12-25 ファナック株式会社 工作機械の工具ベクトルを表示する工具軌跡表示装置
JP6155570B2 (ja) * 2012-08-10 2017-07-05 オムロン株式会社 データ表示装置、方法、プログラム
JP6008766B2 (ja) * 2013-03-25 2016-10-19 住友重機械工業株式会社 支援装置およびコンピュータプログラム
TWI554915B (zh) * 2013-07-04 2016-10-21 友達光電股份有限公司 觸控系統與指令定位方法
CN104063153B (zh) * 2014-05-04 2018-12-11 南京中兴软件有限责任公司 一种实现人机交互的方法和装置
JP2016012191A (ja) * 2014-06-27 2016-01-21 オムロン株式会社 情報処理装置、情報処理方法、およびプログラム
US9283678B2 (en) * 2014-07-16 2016-03-15 Google Inc. Virtual safety cages for robotic devices
US10048851B2 (en) * 2015-03-19 2018-08-14 Denso Wave Incorporated Apparatus for operating robots
JP6631279B2 (ja) * 2015-03-19 2020-01-15 株式会社デンソーウェーブ ロボット操作装置、ロボット操作プログラム
JP6363643B2 (ja) * 2016-03-04 2018-07-25 ファナック株式会社 プログラム指令の解析桁数を増やすことを可能とする数値制御装置
JP6179870B1 (ja) * 2016-09-23 2017-08-16 大槻 俊明 数値制御工作機械測定装置
JP6506341B2 (ja) * 2017-04-07 2019-04-24 ファナック株式会社 加工経路表示装置
JP6834910B2 (ja) 2017-10-27 2021-02-24 オムロン株式会社 サーボモータ調整装置およびサーボモータ調整方法
US10676022B2 (en) 2017-12-27 2020-06-09 X Development Llc Visually indicating vehicle caution regions
KR20200042660A (ko) * 2018-10-16 2020-04-24 현대자동차주식회사 차량 디스플레이 제어 장치, 그를 포함한 시스템 및 그 방법
WO2020194424A1 (ja) * 2019-03-25 2020-10-01 三菱電機株式会社 表示支援プログラム、同プログラムを記憶したコンピュータ可読記憶媒体、表示支援方法、及び表示支援システム
WO2023105567A1 (ja) * 2021-12-06 2023-06-15 ファナック株式会社 波形表示装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6237706A (ja) * 1985-08-12 1987-02-18 Toyota Motor Corp ロボツト性能計測装置
JPH06138934A (ja) 1992-10-27 1994-05-20 Fanuc Ltd 数値制御装置の工具経路表示方法
JPH1034252A (ja) * 1996-07-29 1998-02-10 Nec Corp 板金モデル製造不良検証方式
JPH11143514A (ja) * 1997-11-10 1999-05-28 Fanuc Ltd 加工誤差チェックができる数値制御装置
JP2006026640A (ja) * 2004-07-12 2006-02-02 Matsushita Electric Ind Co Ltd アーク溶接ロボット
JP2007242054A (ja) 1995-09-19 2007-09-20 Yaskawa Electric Corp ロボット言語処理装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3438007A1 (de) 1984-10-17 1986-04-17 Robert Bosch Gmbh, 7000 Stuttgart Einrichtung zur diagnose einer bahngesteuerten maschine
JPH0321814A (ja) * 1989-06-20 1991-01-30 Nissan Motor Co Ltd 形状計測方法
JPH03264215A (ja) * 1990-02-13 1991-11-25 Mitsubishi Electric Corp 放電加工機用数値制御装置
JP2666512B2 (ja) * 1990-03-30 1997-10-22 トヨタ自動車株式会社 機械座標系補正装置
DE4323992A1 (de) * 1992-09-22 1994-03-24 Bosch Gmbh Robert Verfahren zur Überprüfung der Arbeitsgenauigkeit einer NC-Maschine
JP2776242B2 (ja) * 1994-03-22 1998-07-16 日本電気株式会社 Camシステム
EP0852346B1 (en) 1995-09-19 2002-01-16 Kabushiki Kaisha Yaskawa Denki Robot language processor
JP2000132214A (ja) * 1998-10-27 2000-05-12 Mitsubishi Electric Corp 加工機遠隔監視装置
JP3399419B2 (ja) * 1999-10-28 2003-04-21 三菱電機株式会社 数値制御シミュレーション装置
JP3970559B2 (ja) * 2001-07-06 2007-09-05 日産自動車株式会社 データの座標変換方法
JP2003224543A (ja) * 2002-01-30 2003-08-08 Mitsubishi Electric Corp 誤り訂正復号方法、誤り訂正復号器および誤り訂正復号プログラム
KR100959280B1 (ko) * 2002-05-17 2010-05-26 오쿠마 가부시키가이샤 Nc데이터의 공구궤적 표시방법 및 nc데이터 해석방법
JP4256353B2 (ja) * 2005-02-17 2009-04-22 ファナック株式会社 サーボ制御装置及びサーボ系の調整方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6237706A (ja) * 1985-08-12 1987-02-18 Toyota Motor Corp ロボツト性能計測装置
JPH06138934A (ja) 1992-10-27 1994-05-20 Fanuc Ltd 数値制御装置の工具経路表示方法
JP2007242054A (ja) 1995-09-19 2007-09-20 Yaskawa Electric Corp ロボット言語処理装置
JPH1034252A (ja) * 1996-07-29 1998-02-10 Nec Corp 板金モデル製造不良検証方式
JPH11143514A (ja) * 1997-11-10 1999-05-28 Fanuc Ltd 加工誤差チェックができる数値制御装置
JP2006026640A (ja) * 2004-07-12 2006-02-02 Matsushita Electric Ind Co Ltd アーク溶接ロボット

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2549347A4

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016174716A1 (ja) * 2015-04-27 2016-11-03 三菱電機株式会社 数値制御装置

Also Published As

Publication number Publication date
CN102812407B (zh) 2015-05-20
US9563195B2 (en) 2017-02-07
JP2011192017A (ja) 2011-09-29
US20130050276A1 (en) 2013-02-28
JP5428965B2 (ja) 2014-02-26
EP2549347A4 (en) 2014-03-19
EP2549347B1 (en) 2018-05-09
CN102812407A (zh) 2012-12-05
EP2549347A1 (en) 2013-01-23

Similar Documents

Publication Publication Date Title
JP5428965B2 (ja) 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体
US9149931B2 (en) Robot system, robot control device and method for controlling robot
JP5418322B2 (ja) 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体
EP2282873B1 (en) A method and a system for facilitating calibration of an off-line programmed robot cell
US8868228B2 (en) Numerical controller having speed control function for multi-axis machining device
EP2055446A1 (en) A portable robot control apparatus and a method for controlling a movement of a robot
CN111123842B (zh) 数值控制装置
US9897991B2 (en) Machine tool
JP5444412B2 (ja) 加工処理の評価を行うための情報を表示する表示部を備えた数値制御装置
JP5249452B1 (ja) 補正データを考慮した軌跡表示装置
CN107088878B (zh) 计算扫描空间的机器人的模拟装置
KR20180069031A (ko) 로봇의 다이렉트 교시방법
JP6915441B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP7052250B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
US20210096534A1 (en) Simulation apparatus
JP2010218036A (ja) ロボットオフラインプログラミング装置
US20170312912A1 (en) Robot control apparatus which displays operation program including state of additional axis
CN111819507A (zh) 信息处理系统、信息处理方法及信息处理程序
WO2016162066A1 (en) An industrial robot and a method for lead-through programming of an industrial robot
JP7157980B2 (ja) 運動訓練装置
JP2010179388A (ja) ロボット教示システム
JP2013107179A (ja) ダイレクト教示データの編集方法とパラレルリンクロボット
WO2022163839A1 (ja) 工作機械の段取り機能を備えた数値制御装置及び記憶媒体
US20230367558A1 (en) Engineering Station and Method for Diagnosing a User Program
JP2742959B2 (ja) レーザ加工装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180014647.4

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11755966

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011755966

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13579625

Country of ref document: US