WO2020137522A1 - Synchronization control device, synchronization control system, synchronization control method, and simulation device - Google Patents

Synchronization control device, synchronization control system, synchronization control method, and simulation device Download PDF

Info

Publication number
WO2020137522A1
WO2020137522A1 PCT/JP2019/048289 JP2019048289W WO2020137522A1 WO 2020137522 A1 WO2020137522 A1 WO 2020137522A1 JP 2019048289 W JP2019048289 W JP 2019048289W WO 2020137522 A1 WO2020137522 A1 WO 2020137522A1
Authority
WO
WIPO (PCT)
Prior art keywords
spindle
control mechanism
servo control
control
unit
Prior art date
Application number
PCT/JP2019/048289
Other languages
French (fr)
Japanese (ja)
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
Priority claimed from JP2019163280A external-priority patent/JP7310465B2/en
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to US17/298,856 priority Critical patent/US11822313B2/en
Priority to CN201980079285.3A priority patent/CN113168135A/en
Priority to EP19906291.0A priority patent/EP3876044A4/en
Publication of WO2020137522A1 publication Critical patent/WO2020137522A1/en

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
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • 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
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P5/00Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors
    • H02P5/46Arrangements specially adapted for regulating or controlling the speed or torque of two or more electric motors for speed regulation of two or more dynamo-electric motors in relation to one another

Definitions

  • the present invention relates to a synchronous control device, a synchronous control system, a synchronous control method, and a simulation device that perform synchronous control.
  • a technology is known that performs synchronous control of multiple servo motors such as machine tools.
  • position information master shaft feedback position
  • slave shaft servo control mechanism in order to operate the slave shaft in synchronization with the master shaft, position information (master shaft feedback position) of the master shaft is given to the slave shaft servo control mechanism as a slave shaft command position.
  • a future spindle predicted value is calculated from a dynamic characteristic model of the spindle control system and input/output values (spindle command position, spindle feedback position), and It is disclosed that the accuracy of the synchronous drive is improved by calculating the slave axis command position based on this.
  • One aspect of the present invention has been made in view of the above problems, and an object thereof is to realize synchronous control that further improves the accuracy of synchronous drive of the slave axis.
  • a synchronous control device based on time-series target position information for the spindle servo control mechanism, a spindle command calculation unit that calculates a spindle command position for the spindle servo control mechanism, the spindle command position, A spindle feedback position in the spindle servo control mechanism, and a predicted spindle command position after a predetermined time, which is calculated based on the target position information, are input, and the spindle servo control mechanism is determined by a dynamic characteristic model of the spindle servo control mechanism.
  • a slave spindle for calculating a slave spindle command position for the slave spindle servo control mechanism, based on the spindle spindle position for calculating the predicted spindle feedback position of the spindle spindle controller and the predicted spindle spindle feedback position of the spindle servo control mechanism calculated by the spindle model portion. And a command calculation unit.
  • the synchronous control device includes a recording unit that stores information on dynamic characteristic models of servo control mechanisms of a plurality of models, and information of dynamic characteristic models of the spindle servo control mechanism on the plurality of models stored in the recording unit. And a dynamic characteristic model information acquisition unit that selects and acquires from the dynamic characteristic model information of the servo control mechanism.
  • the synchronous control device may further include a dynamic characteristic model information acquisition unit that acquires information on the dynamic characteristic model of the spindle servo control mechanism via a communication network.
  • the synchronization control device further includes a model information acquisition unit that acquires model information of the spindle servo control mechanism connected to the synchronization control device, and the dynamic characteristic model information acquisition unit is configured by the model information acquisition unit.
  • the configuration may be such that dynamic characteristic model information corresponding to the acquired model information is acquired.
  • the various servo control mechanisms are automatically set to appropriately perform the synchronous control by using the synchronous control device, which further enhances the convenience for the user.
  • the synchronous control device may further include a dynamic characteristic model information generation unit that operates the spindle servo control mechanism connected to the synchronous control device to generate a dynamic characteristic model of the spindle servo control mechanism. Good.
  • the slave axis servo control mechanism may have a plurality of control axes. Then, the synchronous control device performs the processing by the spindle command calculation unit, the processing by the spindle model unit, and the processing by the slave axis command calculation unit, the spindle servo control mechanism and the slave axis servo control mechanism. In the first transition period immediately before switching from the asynchronous control to the synchronous control by the switching unit, and/or the switching unit switching between the synchronous control and the asynchronous control in which the synchronous control is not performed.
  • the slave axis is controlled so that the acceleration of at least one control axis of the plurality of control axes of the slave axis servo control mechanism continuously changes. It may be configured to further include a switching time command calculation unit that calculates the slave axis command position for the servo control mechanism.
  • the asynchronous control immediately before the synchronous control is started, and/or the asynchronous control immediately after the synchronous control is released.
  • the servo control is performed so as to suppress the discontinuous change in the acceleration of the slave axis servo control mechanism, that is, the generation of a steep jerk.
  • the vibration of the slave axis servo control mechanism at the time of switching can be suitably suppressed, and the transition between the synchronous control and the asynchronous control can be smoothly realized.
  • the switching time command calculation unit may control all the control axes of the plurality of control axes included in the slave axis servo control mechanism in the first transition period and/or the second transition period.
  • the slave axis command position for the slave axis servo control mechanism may be calculated so that the acceleration of the slave axis continuously changes.
  • a simulation device is a simulation device connected to the synchronous control device according to any one of the above, wherein the spindle command calculation unit and the spindle model are provided for a plurality of predetermined times different from each other.
  • Section, the slave axis command calculation section, the master axis servo control mechanism, and the slave axis servo control mechanism by simulating the operations of the master axis servo position in the master axis servo control mechanism for a plurality of mutually different predetermined times.
  • a simulation processing unit that executes a simulation of a slave axis feedback position in the slave axis servo control mechanism; a display unit that displays a plurality of simulation results by the simulation processing unit for a plurality of mutually different predetermined times;
  • the receiving unit that receives an input for selecting one of the simulation results from the user from the user, and the transmitting unit that transmits the parameter corresponding to the simulation result received by the receiving unit to the synchronization control device. ..
  • a synchronous control system is any of the above synchronous control devices, a main axis servo control mechanism connected to the synchronous control device, a slave axis servo control mechanism connected to the synchronous control device, It is characterized by including.
  • a synchronous control method based on time-series target position information for the spindle servo control mechanism, a spindle command calculation step of calculating a spindle command position for the spindle servo control mechanism, the spindle command position, A spindle feedback position in the spindle servo control mechanism, and a predicted spindle command position after a predetermined time, which is calculated based on the target position information, are input, and the spindle servo control mechanism is determined by a dynamic characteristic model of the spindle servo control mechanism.
  • a slave axis command position for the slave servo control mechanism is calculated based on the predicted spindle feedback position of the spindle servo control mechanism calculated by the spindle model calculation step. And a slave axis command calculation step.
  • the slave axis servo control mechanism may have a plurality of control axes, and the synchronous control method, a process by the spindle command computing unit, a process by the spindle model unit, A step of switching between synchronous control of the master axis servo control mechanism and the slave axis servo control mechanism, in which processing by the slave axis command calculation section is performed, and asynchronous control in which the synchronous control is not performed;
  • the plurality of slave axis servo control mechanisms include Of the control axes, the step of calculating the slave axis command position for the slave axis servo control mechanism so that the acceleration of at least one of the control axes continuously changes.
  • vibration of the slave axis servo control mechanism at the time of switching can be suitably suppressed, and a transition between synchronous control and asynchronous control can be smoothly realized.
  • the synchronous control device According to the synchronous control device, the synchronous control system, the synchronous control method, and the simulation device of the present invention, it is possible to realize synchronous control with improved accuracy of synchronous drive of the slave axis.
  • FIG. 1 It is a schematic diagram showing a synchronous control system and a synchronous control device concerning Embodiment 1 of the present invention. It is a control block diagram showing a control logic of a synchronous control system and a synchronous control device concerning Embodiment 1 of the present invention. It is a figure for demonstrating operation
  • (A) to (c) are examples of results when the synchronous control device according to the first embodiment performs synchronous control
  • (d) to (f) are cases where synchronous control is performed by the synchronous control device of the comparative example. It is an example of the result of.
  • FIG. 6 is a schematic diagram showing a synchronization control system and a synchronization control device according to Embodiments 2 to 5 of the present invention.
  • FIG. 6 is a schematic diagram showing a function of a control unit of the simulation device of the synchronous control system according to the second to third embodiments of the present invention. It is a figure which shows the example of a screen of the display part of the simulation apparatus of the synchronous control system which concerns on Embodiment 3 of this invention. It is a control block diagram showing the control logic of the synchronous control apparatus of a comparative example.
  • FIG. 10 is a diagram showing a flow of processing executed by the synchronous control device shown in FIG. 9 in accordance with a control cycle.
  • 10 is a first flowchart relating to synchronization control executed by the synchronization control device shown in FIG. 9.
  • 10 is a second flowchart relating to synchronization control executed by the synchronization control device shown in FIG. 9.
  • FIG. 10 is a diagram showing a transition of acceleration of the control axis of the robot when switching from asynchronous control to synchronous control in the synchronous control device shown in FIG. 9.
  • FIG. 1 is a schematic diagram showing the overall device configuration of the synchronous control system 1 according to the first embodiment.
  • the synchronization control system 1 includes a synchronization control device 10, a master axis servo control mechanism 20, a slave axis servo control mechanism 30 according to the first embodiment, and a communication network 40 that mediates communication between these devices.
  • the synchronous control device 10 controls two control target devices, the master axis servo control mechanism 20 and the slave axis servo control mechanism 30, but the synchronous control device 10 controls more devices. You may go.
  • the synchronous control device 10 has a control unit 11, an interface 12, and a recording unit 13.
  • the interface 12 communicates with other devices via the communication network 40.
  • the recording unit 13 can store a motion control program or the like to be executed by the control unit 11.
  • the recording unit 13 can hold dynamic characteristic models of various controlled devices.
  • the synchronous control device 10 that performs synchronous control includes a control unit 11 that calculates the slave axis command position u of the slave axis servo control mechanism 30 for each cycle using the spindle feedback position ym of the master axis servo control mechanism 20.
  • the synchronization control device 10 transmits the slave axis command position u to the slave axis servo control mechanism 30 every cycle to synchronize the slave axis servo control mechanism 30 with the master axis servo control mechanism 20.
  • the synchronous control device 10 is, for example, a programmable logic controller (PLC).
  • the recording unit 13 is, for example, a semiconductor memory, a magnetic memory such as a hard disk, or another recording medium.
  • the master axis servo control mechanism 20 and the slave axis servo control mechanism 30 are, for example, a servo control stage and a robot arm. More specifically, the operation of grasping the work on the servo control stage with the robot arm is an example requiring synchronous control.
  • FIG. 2 is a control block diagram showing a control logic when the synchronous control device 10 according to the first embodiment controls the master axis servo control mechanism 20 and the slave axis servo control mechanism 30.
  • the spindle servo control mechanism 20 includes a spindle motor Pm (spindle) such as a servo motor, and a spindle control unit Cm that controls the spindle motor Pm.
  • the spindle motor Pm is provided with, for example, an encoder, and outputs a spindle feedback position ym that is position information of the spindle.
  • the spindle control unit Cm performs feedback control of the spindle motor Pm using the spindle feedback position ym according to the spindle command position r from the synchronous control device 10.
  • the slave axis servo control mechanism 30 includes a slave axis motor Ps (slave axis) such as a servo motor, and a slave axis control unit Cs that controls the slave axis motor Ps.
  • the slave shaft motor Ps is provided with an encoder, for example, and outputs a slave shaft feedback position ys, which is position information of the slave shaft.
  • the slave axis control unit Cs performs feedback control of the slave axis motor Ps using the slave axis feedback position ys in accordance with the slave axis command position u from the synchronous control device 10.
  • the control unit 11 includes a spindle command computing unit Cmm as a functional block, a spindle model unit Mm, and a slave axis command computing unit Cms.
  • the control unit 11 realizes the functions of these units by executing the motion control program stored in the recording unit 13, for example.
  • the spindle command position r calculated by the spindle command calculation unit Cmm is transmitted to the spindle control unit Cm.
  • the spindle model section Mm receives the spindle feedback position ym from the spindle motor Pm.
  • the slave axis command position u calculated by the slave axis command calculator Cms is transmitted to the slave axis controller Cs.
  • values transmitted from one block to another block are shown in a specific period i.
  • the spindle command position r(i) is input to the spindle control unit Cm, and the spindle motor Pm outputs the spindle feedback position ym(i).
  • the spindle control unit Cm controls the operation of the spindle motor Pm based on the spindle command position r and the spindle feedback position ym that are sequentially input. This is normal feedback control.
  • the spindle command calculation unit Cmm reads the spindle target position from a motion control program or the like that defines the operation of the spindle or the like stored in the recording unit 13 and calculates the spindle command position r (spindle command calculation step).
  • Fig. 3 is a graph for explaining the calculation method.
  • the spindle command calculation unit Cmm calculates a spindle target position for each unit period from a spindle target position that is time-series target position information for the spindle servo control mechanism, and determines the spindle target position r(i), r for each period. (I+1), r(i+2). . . To judge.
  • the spindle command calculation unit Cmm outputs the spindle command position r(i) of the period i to the spindle control unit Cm, and the spindle model unit Mm outputs the spindle command position r(i+k) of the period i+k (after a predetermined time).
  • the predicted spindle command position of is output.
  • the period i+k is a future period that is k unit periods after the period i.
  • the spindle model unit Mm includes a dynamic characteristic model of the spindle servo control mechanism 20 that estimates the spindle feedback position from the spindle command position r by referring to the spindle feedback position ym.
  • the spindle model unit Mm is a future spindle feedback position until the period i+k from the spindle command position r until the period i+k and the spindle feedback position ym until the period i received from the spindle command calculation unit Cmm.
  • Predicted spindle feedback positions ym * (i+1), ym * (i+2). . . Simulates ym * (i+k) and outputs it to the slave axis command calculator Cms (master axis model calculation step).
  • the slave axis command calculation unit Cms calculates the slave axis command position u, the slave axis feedback position ys and the predicted master spindle feedback position ym * (i+1), ym * (i+2). . .
  • the slave axis command position u(i) in the period i is calculated from ym * (i+k) and output to the slave axis control unit Cs (slave axis command calculation step).
  • the slave axis command position u(i) to be calculated is a value adjusted from the spindle feedback position ym(i) using the above other values.
  • the slave axis command calculation unit Cms can be configured to perform the same calculation processing as a combination of a converter of a comparative example (prior art) described later and a preview controller, but other known techniques can be used. You may apply suitably.
  • the predicted value of the future spindle feedback position given to the slave axis command calculation unit Cms is a value simulated from the future spindle command position r by the dynamic characteristic model of the spindle servo control mechanism 20.
  • the future spindle command position r is a correct value actually provided to the spindle servo control mechanism 20.
  • the dynamic characteristic model of the spindle servo control mechanism 20 can be accurately constructed by a well-known established method. Therefore, the predicted value of the future spindle feedback position will be accurate. Therefore, the synchronous control device 10 according to the first embodiment can improve the accuracy of synchronous drive of the slave shaft.
  • the predictor uses the predicted spindle feedback positions ym * (i+1), ym * (i+2). . . Calculate ym * (i+k).
  • the converter and the preview controller (corresponding to the slave axis command calculation unit Cms of the synchronous control device 10) use the slave axis command position u, the slave axis feedback position ys, and the predicted master axis feedback position ym * (i+1) up to the period i. ym * (i+2). . .
  • the slave axis command position u(i) in the period i is calculated from ym * (i+k) and output to the slave axis control unit Cs.
  • the predicted spindle feedback positions ym * (i+1), ym * (i+2). . . ym * (i+k) is calculated from the spindle command position r and the spindle feedback position ym up to the present. Therefore, the accuracy is inferior when compared with the synchronization control device 10 according to the first embodiment. Therefore, the accuracy of the synchronous drive of the slave shaft is lower than that of the synchronous control device 10.
  • FIG. 4 is a diagram showing an example of a result comparison when the synchronous control device 10 according to the first embodiment and the synchronous control device 90 of the comparative example perform synchronous control.
  • FIG. 4(a) An example of transitions of the spindle command position r, the spindle feedback position ym, and the slave spindle feedback position ys in the synchronous control device 10 is shown in FIG. 4(a), and a similar graph in the synchronous control device 90 is shown in FIG. 4(d). Be done.
  • FIGS. 4B and 4E show the time derivative (speed) of the spindle command position r, the spindle feedback position ym, and the slave spindle feedback position ys in the synchronous control device 10 and the synchronous control device 90, respectively. As shown in these graphs, this example is an example in which control is performed to accelerate the spindle and then decelerate the spindle.
  • FIGS. 4C and 4F show the position deviation ym-ys between the master and the slave in the synchronous control device 10 and the synchronous control device 90, respectively.
  • the timings of the change in the speed of the main shaft and the change in the speed of the slave shaft are more consistent. , The synchronization is done better.
  • the slave axis may not only be delayed from the master axis but may overtake, and tracking may not be smooth. In the synchronous control device 10 according to No. 1, tracking is smoother.
  • the synchronization control device 90 of the comparative example can also perform the synchronization control with relatively high accuracy.
  • the predicted value of the future spindle feedback position calculated from the spindle command position r up to the present and the spindle feedback position ym becomes inaccurate.
  • the tracking accuracy of the slave axis position is greatly reduced.
  • the slave axis command position u(i) can be calculated in consideration of the fact that the reversing operation is performed in the future even in such a case. High tracking accuracy.
  • the synchronization control device 10 it is possible to flexibly deal with various operations of the spindle and improve the accuracy of the synchronization control.
  • FIG. 5 is a schematic diagram showing the overall device configuration of a synchronous control system 2 of another embodiment.
  • the control unit 51 of the synchronization control device 50 of the synchronization control system 2 includes a model information acquisition unit 52, a dynamic characteristic model information acquisition unit 53, and a dynamic characteristic model information generation.
  • Each functional block of the unit 54 is provided.
  • the synchronous control system 2 includes a simulation device 60 in addition to the configuration of the synchronous control system 1 in the first embodiment.
  • the simulation device 60 transmits/receives information to/from the synchronization control device 10 via the communication network 40.
  • the simulation device 60 includes a simulation processing unit 61, an interface 62, a recording unit 63, a display unit 64, a reception unit 65, and a transmission unit 66.
  • the simulation processing unit 61 simulates the control system shown in the block diagram of FIG.
  • the interface 62 communicates with other devices via the communication network 40.
  • the recording unit 63 holds dynamic characteristic models of various controlled devices.
  • the display unit 64 displays various information such as simulation results.
  • the receiving unit 65 receives an operation performed on the simulation device 60 by a user.
  • the transmitting unit 66 transmits the information to the synchronization control device 50 through the interface 62.
  • the operation of the simulation processing unit 61 will be described based on FIG. 6 showing the configuration of the simulation processing unit 61 of the simulation device 60.
  • the simulation processing unit 61 includes a spindle command computing unit Cmm, a spindle model unit Mm, and a slave axis command computing unit Cms. Further, it has functional blocks of a spindle servo control mechanism simulation section Sm and a slave axis servo control mechanism simulation section Ss which are operation models of the spindle servo control mechanism 20 and the slave axis servo control mechanism 30.
  • the spindle servo control mechanism simulation unit Sm receives the spindle command position r from the spindle command calculation unit Cmm in place of the actual spindle servo control mechanism 20 in the synchronous control system 1, and outputs the spindle feedback position ym to the spindle model unit Mm. To do.
  • the slave axis servo control mechanism simulation unit Ss receives the slave axis command position u from the slave axis command calculation unit Cms and replaces the slave axis feedback position ys with the slave axis feedback position ys in place of the actual slave axis servo control mechanism 30 in the synchronous control system 1. Output to the axis command calculator Cms.
  • the simulation processing unit 61 of the simulation device 60 can simulate the operation of the synchronous control system 1 shown in FIG.
  • the model is extracted.
  • the dynamic characteristic model of the spindle servo control mechanism 20 is set in the spindle servo control mechanism simulation section Sm and the spindle model section Mm.
  • the dynamic characteristic model of the slave axis servo control mechanism 30 is set in the slave axis servo control mechanism simulation section Ss and the slave axis command calculation section Cms.
  • the simulation device 60 can freely perform the simulation of the operation of the synchronous control system including the spindle servo control mechanism 20 and the slave axis servo control mechanism 30 arbitrarily selected by the user.
  • the simulation result of the operation of the synchronous control system 1 by the simulation processing unit 61 is displayed on the display unit 64 and can be confirmed by the user.
  • various parameters to be selected or determined by the user for the work intended by the user such as a unit period of control, a communication cycle between the devices, and predictive control
  • An appropriate value for the pre-reading time (k unit period) or the like can be examined in advance.
  • the transmitting unit 66 of the simulation device 60 causes the dynamic characteristic model and each parameter of the master axis servo control mechanism 20 and the slave axis servo control mechanism 30 to be transmitted. Can be transmitted to the synchronization control device 10 through the interface 62.
  • control unit 51 of the synchronous control device 50 is provided with at least a functional block of the dynamic characteristic model information acquisition unit 53 in addition to the functional blocks of the control unit 11 according to the first embodiment.
  • Each functional block of the model information acquisition unit 52 and the dynamic characteristic model information generation unit 54 shown in FIG. 5 may also be provided in the control unit 51.
  • the dynamic characteristic model information acquisition unit 53 of the synchronous control device 10 receives, via the interface 12, the dynamic characteristic model and each parameter of the spindle servo control mechanism 20 and the slave axis servo control mechanism 30 transmitted from the simulation device 60.
  • the dynamic characteristic model information acquisition unit 53 sets these data in the spindle command calculation unit Cmm, the spindle model unit Mm, and the slave shaft command calculation unit Cms of the control unit 11 as the models and parameters determined in the simulation device 60. To do. In addition, the dynamic characteristic model information acquisition unit 53 saves these data in the recording unit 13 as appropriate.
  • the user can construct the synchronous control system after thoroughly examining the device selection and the parameter setting, and the convenience for the user is enhanced.
  • the simulation apparatus 60 selects appropriate parameters to be determined in the combination, It may be acquired from a cloud server through an internet line. It is also preferable that the display unit 64 has a function of presenting the obtained parameter value as a recommended value to the user.
  • the third embodiment will explain an example in which the user can easily determine the appropriate value for the prefetch time determined from the period described in the first embodiment, that is, the time difference between the period i+k and the period i.
  • the configurations of the synchronous control system 2 and the synchronous control device 50 according to the third embodiment are the same as those in the second embodiment.
  • the simulation processing unit 61 has a function of displaying a list of simulation results when the prefetch time is changed on the display unit 64.
  • FIG. 7 is a diagram showing an example of such a display screen on the display unit 64. The results when the look-ahead time is changed in three ways are arranged in three columns. In each column, the lower graph shows the position (main spindle command position r, main spindle feedback position ym, slave spindle feedback position ys) in the upper graph. Shows the speed (main axis command position r, main axis feedback position ym, time derivative of slave axis feedback position ys) at the same time.
  • the prefetch time is set to 0.3 (arbitrary unit)
  • the timings of speed changes of the master and slave axes match, which is the most appropriate.
  • the user can easily know the appropriate value of the prefetch time, which is a characteristic parameter relating to the synchronization control device of the present invention.
  • the transmission unit 66 can transmit to the synchronous control device 50 together with the dynamic characteristic model adopted by the selection of the device and other parameters.
  • the simulation device 60 has the dynamic characteristic models of various controlled devices in the recording unit 63 provided therein.
  • the dynamic characteristic models of various controlled devices are stored in the recording unit 13 of the synchronization control device 50. Therefore, in the synchronous control system of the fourth embodiment, it is possible to easily set the control logic according to the selected control target device in the control unit 11 of the synchronous control device 10 without including the simulation device 60.
  • the configuration of the synchronous control system according to the fourth embodiment does not necessarily have to include the simulation device 60 in the synchronous control system 2 shown in FIG.
  • the control unit 51 of the synchronization control device 50 is provided with at least a functional block of the dynamic characteristic model information acquisition unit 53 in addition to the functional blocks of the control unit 11 according to the first embodiment.
  • the dynamic characteristic model information acquisition unit 53 causes the recording unit 13 to operate according to the main-axis servo control mechanism 20 and the sub-axis servo control mechanism 30 selected by a user operation through a terminal or the like.
  • the control logic shown in FIG. 2 is set from the dynamic characteristic model held in the.
  • the control unit 51 of the synchronization control device 10 is further provided with a functional block of the model information acquisition unit 52.
  • the model information acquisition unit 52 recognizes the types of the connected spindle servo control mechanism 20 and slave axis servo control mechanism 30 via the interface 12 and the communication network. Then, according to the recognized main axis servo control mechanism 20 and slave axis servo control mechanism 30, the dynamic characteristic model information acquisition unit 53 controls the dynamic characteristic model held in the recording unit 13 from the control shown in FIG.
  • the logic may be set.
  • the dynamic characteristic model information acquisition unit 53 provides various parameters that should be determined appropriately in the combination of the model types of the selected spindle servo control mechanism 20 and slave axis servo control mechanism 30. It is also preferable to have a function of acquiring from a cloud server through an internet line and setting it in the control unit 11 or presenting it to the user as a recommended value.
  • the synchronization control device 10 has the recording unit 13 with the dynamic characteristic models of various control target devices.
  • the device to be controlled may be unknown, and in that case, setting the control logic is troublesome.
  • the configuration of the synchronous control system according to the fifth embodiment does not necessarily require the simulation device 60 in the synchronous control system 2 shown in FIG.
  • the control unit 51 of the synchronization control device 50 is provided with at least a functional block of the dynamic characteristic model information generation unit 54 in addition to the functional blocks of the control unit 11 according to the first embodiment.
  • the dynamic characteristic model information generating unit 54 causes the spindle that is the control target device.
  • the test spindle command position can be transmitted to the servo control mechanism 20.
  • the spindle servo control mechanism 20 is actually operated, and the dynamic characteristic model information generation unit 54 receives the spindle feedback position which is a response from the spindle servo control mechanism 20 to the test spindle command position.
  • the dynamic characteristic model information generation unit 54 can build a dynamic characteristic model of the controlled device by analyzing the response of the controlled device to the test spindle command position. The same applies to the case where the dynamic characteristic model of the slave axis servo control mechanism 30 is not included.
  • the constructed dynamic characteristic model can be held in the recording unit 13.
  • the synchronous control device 10 sets the control logic shown in FIG. 2 in the control unit 11 from the dynamic characteristic model of the control target device thus obtained.
  • control logic of the present invention can be easily set in the control unit 11 even when the dynamic characteristic model of the controlled device is not held.
  • FIG. 9 is a schematic configuration diagram of a control system 1 to which the synchronization control device 10 is applied
  • FIG. 10 is a diagram showing an image of functional units formed in the synchronization control device 10.
  • the synchronous control device 10 corresponds to an industrial controller that controls control targets (field devices) such as various types of equipment and devices.
  • the synchronization control device 10 is a kind of computer that executes a control calculation as described later.
  • a robot, a servo driver, and a motor are control targets for the synchronous control device 10.
  • synchronous control is performed between the robot and the servo driver and the motor.
  • the servo driver and the motor serve as the main axis servo control mechanism
  • the robot serves as the slave axis servo control mechanism. Therefore, based on the above-described embodiments, the reference number of the servo driver and the motor is “20”, and the reference number of the robot is “30”.
  • the servo driver 20 drives the motor 20 according to output data (for example, a position command or a speed command) from the synchronous control device 10.
  • the robot 30 may be a parallel robot, a SCARA robot, or an articulated robot.
  • the synchronous control device 10 is a control device configured to integrally servo-control the robot 30, the servo driver 20, and the motor 20.
  • the synchronization control device 10 exchanges data with one or more field devices via the communication network 40 or the like.
  • the synchronization control device 10 collects data (hereinafter also referred to as “input data”) collected or generated by various field devices (input process), data such as a command to the field device (hereinafter, “output data”). (Also referred to as “.”) (calculation process), a process of transmitting the generated output data to the target field device (output process), and the like.
  • the communication network 40 employs a bus or a network that performs fixed-cycle communication in which the arrival time of data is guaranteed.
  • EtherCAT registered trademark
  • the data exchanged between the synchronization control device 10 and the field device via the communication network 40 is updated at a very short cycle of several hundred ⁇ sec order to several tens msec order.
  • the update process of the exchanged data is also called an input/output refresh process.
  • the control application processing unit 130 and the IEC program processing unit 140 shown in FIG. 10 are functional units formed in the control unit 11 shown in FIG. 1, and the IEC program 151 and the application program 152 are the recording units shown in FIG. It is a program stored in the unit 13.
  • the synchronization control device 10 is a kind of computer that executes a predetermined control calculation as described above, and includes a processor and a memory necessary for the control calculation.
  • the processor is one form of the control unit 11 and includes a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like.
  • the memory is one form of the recording unit 13, and includes, for example, a volatile storage device such as a DRAM (Dynamic Random Access Memory) and an SRAM (Static Random Access Memory), an HDD (Hard Disk Drive) and an SSD (Solid State Drive). ) And other non-volatile storage devices.
  • the processor reads and executes various programs stored in the memory to realize control according to the control target and various processes described later.
  • the memory stores a user program (IEC program 151 and application program 152) created according to the manufacturing apparatus or equipment to be controlled, in addition to the system program for realizing the basic functions.
  • the IEC program 151 in the present application is a program in which the whole is scanned for each execution, and one or more command values are calculated for each execution.
  • the International Electrotechnical Commission: IEC including a program consisting of one or more instructions described in accordance with the international standard IEC61131-3.
  • the IEC program 151 includes instructions for sequence control and motion control.
  • the IEC program 151 as described above corresponds to an execution format in which all programs are executed (scanned) in each control cycle, and is suitable for control requiring immediacy and high speed.
  • the application program 152 in the present application is a control program for performing a specific machining or operation using a robot, and includes a program consisting of one or a plurality of instructions for realizing a control application by the robot. Specifically, it is distinguished from the IEC program 151.
  • the application program 152 relating to robot control is, for example, described in a robot language and employs an interpreter method in which it is sequentially executed line by line.
  • the synchronization control device 10 includes an IEC program processing unit 140, an interface 12, and a control application processing unit 130.
  • the interface 12 mediates exchange of data between the IEC program processing unit 140 and the control application processing unit 130 and field devices connected via the communication network 40.
  • the IEC program processing unit 140 executes (scans) the IEC program 151 for each predetermined control cycle to calculate one or more command values. That is, the IEC program processing unit 140 calculates the command value for each control cycle according to the IEC program 151.
  • the IEC program 151 is executed to servo-control a predetermined device including the motor 20.
  • the motion processing unit 142 provides a function of calculating a command value for each control cycle according to a motion command included in the IEC program 151. That is, the motion command included in the IEC program 151 includes a command for instructing behavior over a plurality of control cycles (for example, a command for drawing an orbit of the output of a predetermined device configured by the motor 20).
  • the motion processing unit 142 calculates a command value for each control cycle according to the instruction content of the executed motion command. That is, the motion processing unit 142 realizes the behavior instructed by the motion command by outputting the command value to the above-described predetermined device every control cycle.
  • control application processing unit 130 calculates a command value for controlling the control application based on the application program 152 and the like.
  • the control application processing unit 130 can also calculate and output the command value for the control application in synchronization with the calculation and output of the command value by the IEC program processing unit 140, or the command value of the IEC program processing unit 140 It is also possible to calculate and output the command value for the control application without being synchronized with the calculation and output. That is, the control application processing unit 130 executes the operation processing of the command value in synchronization with or asynchronously with the operation processing by the IEC program processing unit 140. The synchronization processing between the IEC program processing unit 140 and the control application processing unit 130 will be described later.
  • the interpreter 134 sequentially interprets at least a part of the application program 152 to generate an intermediate code, and has a buffer 133 for storing the generated intermediate code.
  • the intermediate code in the present application is a concept including an instruction for calculating a command value for each control cycle, and may include one or a plurality of instructions or one or a plurality of functions.
  • the motion processing unit 132 calculates the command value for each control cycle according to the intermediate code generated in advance by the interpreter 134 and stored in the buffer 133.
  • the instructions (codes) described in the application program 152 are sequentially executed, and therefore the operation cycle of the command value cannot be guaranteed.
  • the motion The processing unit 132 can calculate the command value for each control cycle.
  • a coordinate system according to each control application may be used for the command described in the intermediate code.
  • a shared memory 131 is provided to share data between the IEC program processing unit 140 and the control application processing unit 130.
  • a part or all of the processing result by the control application processing unit 130 is stored in the shared memory 131, and the IEC program processing unit 140 refers to the data stored in the shared memory 131 of the control application processing unit 130.
  • synchronous execution of the IEC program 151 for servo-controlling the motor 20 and the application program 152 for servo-controlling the robot 30 is realized.
  • the synchronous control can be appropriately set to the non-execution state according to the necessity of control, and the servo control of the motor 20 and the robot 30 in that case is also referred to as asynchronous control.
  • the interpreter 134 of the control application processing unit 130 sequentially executes the application program 152 in a cycle longer than the control cycle, for example, a cycle of twice the control cycle.
  • the motion processing unit 142 of the IEC program processing unit 140 and the motion processing unit 132 of the control application processing unit 130 both calculate the command value for each same control cycle. Therefore, the output of the command value from the synchronization control device 10 is performed in synchronization with each other in a predetermined control cycle.
  • the IEC program processing unit 140 and the control application processing unit 130 each have a motion processing unit for continuously controlling the movement of the actuator, and these motion processing units synchronously output the command value. By performing the calculation, both the control according to the IEC program 151 and the control according to the application program 152 can be executed in synchronization with the control cycle, whereby precise control is realized in control cycle units.
  • FIG. 11 is a diagram showing an example of program execution timings in the synchronization control device 10.
  • a high priority task with high priority processing in the upper stage of FIG. 11
  • a low priority task with low priority lower process in FIG. 11
  • Process is set.
  • the execution of the interface 12, the IEC program processing unit 140 and its motion processing unit 142, and the execution of the motion processing unit 132 of the control application processing unit 130 are set as high priority tasks, and the control application processing unit 130 is set.
  • the execution of the interpreter 134 is set as a low priority task.
  • the input/output refresh process B60 related to the interface 12 the execution process B40 of the IEC program 151, the command value calculation process B42 performed by the motion processing unit 142 according to the IEC program 151, and the motion processing unit 132 according to the application program 152.
  • the command value calculation process B32 is executed as a high-priority task.
  • the process B34 of sequentially interpreting the application program 152 is executed as a low priority task.
  • the high-priority task is repeatedly executed every predetermined control cycle T1.
  • the low priority task is executed each time the high priority task is not executed in each control cycle. That is, the execution time of the high-priority task is assigned to each control cycle, and the low-priority task is executed at times other than the execution time of the high-priority task.
  • the IEC program processing unit 140 executes (scans) the entire IEC program 151, and the sequence control is performed. 1 or a plurality of command values are calculated (execution process B40).
  • the motion processing unit 142 executes the motion process related to the motion command included in the IEC program 151 to calculate one or more command values for the motion command (execution process B42).
  • This execution process B42 includes the calculation process by the spindle command calculation unit Cmm described above.
  • the motion processing unit 132 of the control application processing unit 130 prepares a motion command for controlling the robot 30 according to the intermediate code stored in the buffer 133 (execution process B32).
  • the execution process B32 includes the calculation process by the above-described spindle model unit Mm and the calculation process by the slave axis command calculation unit Cms. Hereinafter, the same process is repeated every control cycle.
  • the timing at which the motion processing unit 132 reads the intermediate code from the buffer 133 does not have to be each control cycle. This is because when the read intermediate code includes an instruction that can calculate a command value over a plurality of control cycles T1, the intermediate code can be read at a time in the plurality of control cycles T1.
  • a command value set for the servo control of the motor 20 and a command value set for the servo control of the robot 30 are prepared.
  • These command values are basically reflected on the field side when the next control cycle arrives. That is, since the IEC program processing unit 140 and the control application processing unit 130 calculate the command value according to the input data in the same control cycle, the command value can be output in synchronization.
  • the interpreter 134 of the control application processing unit 130 sequentially executes the application program 152. That is, the interpreter 134 reads and analyzes the application program 152 with low priority.
  • the intermediate code generated by the interpreter 134 by analyzing the application program 152 is sequentially stored in the buffer 133 in consideration of the capacity of the buffer 133.
  • the intermediate code stored in the buffer 133 is sequentially referred to by the motion processing unit 132 of the control application processing unit 130, and is used to generate a command value in the arithmetic processing B32.
  • the interpreter 134 preliminarily generates an intermediate code for an integral multiple of the control cycle, which is the operation cycle of the high-priority task, in advance, without affecting the processing by the motion processing unit 132.
  • a command value for the control application can be calculated for each control cycle.
  • the interpreter 134 suspends the interpretation of the application program 152 before a predetermined control application synchronization cycle (an integral multiple of the control cycle) arrives.
  • data synchronization is performed between the IEC program processing unit 140 and the control application processing unit 130 to share data having consistency with both.
  • the interpreter 134 updates the data shared with the IEC program processing unit 140 for each synchronization cycle.
  • the input data and the output data acquired from the field side may also be updated (data synchronization).
  • the control application processing unit 130 side can control the robot 30 using the data acquired by the IEC program processing unit 140.
  • the control application synchronization cycle may have any length as long as it is set to an integral multiple of the control cycle. It is set as appropriate according to the precision of control required in the control application.
  • FIG. 12 is a flowchart regarding the processing of the high priority task described above
  • FIG. 13 is a flowchart regarding the processing of the low priority task described above.
  • the interface 12 executes an input/output refresh process (process of S101).
  • the command value (command value by B40, B42, B32, etc.) calculated in the immediately preceding control cycle T1 is output to the motor 20 and the robot 30, and the input data from them is acquired.
  • S102 it is determined whether or not the current control cycle matches the timing of data synchronization. If a positive determination is made there, data synchronization is executed between the IEC program processing unit 140 and the control application processing unit 130 (processing of S103). If a negative determination is made in S102, the process proceeds to S104.
  • the command value calculated and prepared by the series of processes of the high priority task shown in FIG. 12 is output to the field when the next control cycle T1 arrives. Then, the low-priority task shown in FIG. 13 is executed during the period after the end of the series of processes and before the arrival of the next control cycle T1.
  • the processing flow of the low priority task relates to the interpreting process of the application program 152 by the interpreter 134.
  • the control application processing unit 130 determines whether or not an intermediate code remains in the buffer 133. The determination is performed so that the intermediate code that exceeds the capacity of the buffer 133 is not generated. If an affirmative decision is made in S301, the low-priority task ends, and if a negative decision is made, the processing advances to S302.
  • the interpreter 134 reads a part of the application program 152. For example, one line of the code forming the application program 152 is read.
  • the code read by the interpreter 134 is interpreted and an intermediate code is generated.
  • the generated intermediate code is stored in the buffer 133 in S304. Note that, regarding the processes of S302 to S304, if there is no application program to be executed, these processes are not performed, and as a result, the intermediate code is not stored in the buffer 133.
  • the low-priority task having such a series of processes is repeated in the period in which the program execution time is assigned to itself.
  • the synchronous control device 10 executes the IEC program 151 and the application program 152 at the execution timing shown in FIG. It becomes possible to perform synchronous control.
  • the switching from the state where the synchronous control of the motor 20 and the robot 30 is not performed that is, the state of the asynchronous control to the state where the synchronous control is performed, will be described.
  • the switching from the asynchronous control to the synchronous control is executed by the switching unit formed in the control unit 11 (see FIG. 1).
  • the switching unit switches from asynchronous control to synchronous control based on a control program provided to the motor 20 and the robot 30, that is, a command regarding execution or cancellation of synchronous control included in the IEC program 151 and the application program 152.
  • a switch to control or a switch from synchronous control to asynchronous control is realized.
  • FIG. 9 when the output point of the field device controlled by the motor 20 (hereinafter, simply referred to as “output point of the motor 20”) is at the position MP1 and the output point of the robot 30 is at the position SP1, both of them are It is assumed to be in the asynchronous control state. From this state, when the output point of the motor 20 follows the locus ML1 to reach the position MP2 and the output point of the robot 30 follows the locus SL1 to reach the position SP2, synchronous control of both is started, FIG. 9 shows how the output point of the motor 20 follows the locus ML2 and the output point of the robot 30 follows the locus SL2 parallel to the locus ML2 in the state where the synchronization control is performed.
  • the motor 20 and the robot 30 whose output points are distant from each other are controlled so that the output points approach the positions MP2 and SP2 and the synchronous control of both is performed. Therefore, the switching processing by the switching unit is started when the output points of the motor 20 and the robot 30 reach the positions MP2 and SP2.
  • the robot 30, which is the slave axis servo control device since the control mode is switched from the asynchronous control to the synchronous control during the switching processing by the switching unit, the robot 30, which is the slave axis servo control device, is likely to generate vibration. When the vibration occurs, there is a possibility that the improvement effect of the tracking accuracy in the synchronous control by the calculation processing of the spindle command calculation unit Cmm, the spindle model unit Mm, and the slave shaft command calculation unit Cms described above may be reduced. Therefore, preferably, the acceleration of each control axis of the robot 30, which is the slave axis servo control device (acceleration in the present application, during the first transition period at the time of asynchronous control, immediately before switching from asynchronous control to synchronous control by the switching unit).
  • the command position of the robot 30 is calculated by the switching command calculator included in the synchronous control device 10 so that the deceleration is also included in the concept (1).
  • the switching time command calculation unit is a functional unit formed in the control unit 11 (see FIG. 1 ), and the processing of the switching time command calculation unit will be described with reference to FIG. 14.
  • FIG. 14 shows a time transition of acceleration on each control axis (X axis, Y axis, Z axis in the present embodiment) of the robot 30.
  • Time T2 shown in FIG. 14 is the time when the synchronous control of the motor 20 and the robot 30 is started, that is, the time when the output points of the motor 20 and the robot 30 reach the position MP2 and the position SP2 in FIG. Is.
  • the switching time command calculation unit is set so that the acceleration of each control axis of the robot 30 continuously changes as shown in FIG. Calculates the command position of each control axis.
  • the robot 30 can suitably and smoothly realize the transition to the synchronous control of each control axis at the timing of switching from the asynchronous control to the synchronous control.
  • the vibration of the output point of the robot 30 can be effectively suppressed. This is effective in avoiding deterioration of the tracking accuracy in the synchronous control.
  • the vibration suppression at the time of switching from the asynchronous control to the synchronous control is referred to.
  • the switching command computing unit similarly causes each control axis of robot 30.
  • the switching time command calculation unit causes the robot to operate.
  • the command position of each control axis may be calculated so that the acceleration of each control axis of 30 continuously changes.
  • the lengths of the first transition period and the second transition period may be appropriately set as long as the instructed synchronous control can be realized, which is suitable for suppressing the vibration of the output point of the robot 30.
  • the calculation of the command position by the switching command calculation unit does not necessarily have to be performed for all the control axes of the robot 30.
  • the command position at switching may be calculated by a command calculation unit at the time of a part of the control axis of the robot 30.
  • Functional blocks of the synchronous control device 10 are realized by a logic circuit (hardware) formed in an integrated circuit (IC chip) or the like. It may be realized by software.
  • a spindle command calculation unit that calculates a spindle command position for the spindle servo control mechanism (20) based on time-series target position information for the spindle servo control mechanism (20); The spindle command position, the spindle feedback position in the spindle servo control mechanism (20), and the predicted spindle command position after a predetermined time calculated based on the target position information are input, and the spindle servo control mechanism (20).
  • the spindle command position, the spindle feedback position in the spindle servo control mechanism (20), and the predicted spindle command position after a predetermined time calculated based on the target position information are input, and the spindle servo control mechanism (20).

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Numerical Control (AREA)

Abstract

This synchronization control device (10) is provided with: a main shaft command calculation unit (Cmm) that calculates a main shaft command position on the basis of chronological target position information; a main shaft model unit (Mm) that uses a predicted main shaft command position after a predetermined length of time calculated on the basis of the main shaft command position, a main shaft feedback position, and the target position information as input to calculate a predicted main shaft feedback position by means of a dynamic characteristic model from a main shaft servo control mechanism (20); and a driven shaft command calculation unit (Cms) that calculates a driven shaft command position on the basis of the predicted main shaft feedback position. As a result of this configuration, it is possible to achieve synchronization control in which the precision of synchronous driving of a driven shaft is improved.

Description

同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置Synchronous control device, synchronous control system, synchronous control method, and simulation device
 本発明は同期制御を行う同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置に関する。 The present invention relates to a synchronous control device, a synchronous control system, a synchronous control method, and a simulation device that perform synchronous control.
 工作機械などの複数のサーボモータの同期制御を行う技術が知られている。同期制御においては、主軸に同期して従軸を動作させるために、従軸サーボ制御機構に対し、主軸の位置情報(主軸フィードバック位置)を従軸指令位置として与えている。 A technology is known that performs synchronous control of multiple servo motors such as machine tools. In the synchronous control, in order to operate the slave shaft in synchronization with the master shaft, position information (master shaft feedback position) of the master shaft is given to the slave shaft servo control mechanism as a slave shaft command position.
 更に特許文献1では、従軸の同期遅れを補償するため、主軸制御系の動特性モデルと入出力値(主軸指令位置、主軸フィードバック位置)とから、主軸の未来位置予測値を算出し、それに基づき従軸指令位置を演算することで、同期駆動の精度を向上させることが開示されている。 Further, in Patent Document 1, in order to compensate for the synchronization delay of the slave axis, a future spindle predicted value is calculated from a dynamic characteristic model of the spindle control system and input/output values (spindle command position, spindle feedback position), and It is disclosed that the accuracy of the synchronous drive is improved by calculating the slave axis command position based on this.
特許第3551328号公報Japanese Patent No. 3551328
 しかしながら、特許文献1の従来技術では、現在までの主軸指令位置、主軸フィードバック位置から主軸の未来位置予測値を算出するため、主軸の未来位置予測値の精度が必ずしも良好ではない。そのため、主軸が減速停止するなどの速度の変化を伴うような動きをする場合についての従軸の同期については、更に改善が求められる。 However, in the prior art of Patent Document 1, the future position predicted value of the spindle is calculated from the spindle command position and the spindle feedback position up to the present, so the accuracy of the future position predicted value of the spindle is not always good. Therefore, further improvement is required for the synchronization of the slave shaft in the case where the main shaft moves in a manner accompanied by a change in speed such as deceleration stop.
 本発明の一側面は、上記の問題点に鑑みてなされたものであり、従軸の同期駆動の精度を更に向上させる同期制御を実現することを目的とする。 One aspect of the present invention has been made in view of the above problems, and an object thereof is to realize synchronous control that further improves the accuracy of synchronous drive of the slave axis.
 本発明の一態様に係る同期制御装置は、主軸サーボ制御機構に対する時系列の目標位置情報に基づいて、前記主軸サーボ制御機構に対する主軸指令位置を算出する主軸指令演算部と、前記主軸指令位置、前記主軸サーボ制御機構における主軸フィードバック位置、および、前記目標位置情報に基づいて算出した、所定時間後の予測主軸指令位置を入力とし、前記主軸サーボ制御機構の動特性モデルによって、前記主軸サーボ制御機構の予測主軸フィードバック位置を算出する主軸モデル部と、前記主軸モデル部によって算出された前記主軸サーボ制御機構の予測主軸フィードバック位置に基づいて、従軸サーボ制御機構に対する従軸指令位置を算出する従軸指令演算部と、を備えることを特徴としている。 A synchronous control device according to an aspect of the present invention, based on time-series target position information for the spindle servo control mechanism, a spindle command calculation unit that calculates a spindle command position for the spindle servo control mechanism, the spindle command position, A spindle feedback position in the spindle servo control mechanism, and a predicted spindle command position after a predetermined time, which is calculated based on the target position information, are input, and the spindle servo control mechanism is determined by a dynamic characteristic model of the spindle servo control mechanism. And a slave spindle for calculating a slave spindle command position for the slave spindle servo control mechanism, based on the spindle spindle position for calculating the predicted spindle feedback position of the spindle spindle controller and the predicted spindle spindle feedback position of the spindle servo control mechanism calculated by the spindle model portion. And a command calculation unit.
 上記の構成によれば、主軸が減速停止するなどの速度の変化を伴うような動きをする場合についても、従軸の同期の精度を高めることができる。従って、従軸の同期駆動の精度が向上した同期制御を実現することができる。 According to the above configuration, even when the main spindle moves in a manner that changes the speed such as decelerating and stopping, the accuracy of synchronization of the slave axis can be improved. Therefore, it is possible to realize the synchronous control in which the accuracy of the synchronous drive of the slave shaft is improved.
 上記同期制御装置は、複数の機種のサーボ制御機構の動特性モデルの情報を記憶する記録部と、前記主軸サーボ制御機構の動特性モデルの情報を、前記記録部に記憶された前記複数の機種のサーボ制御機構の動特性モデルの情報から選択して取得する動特性モデル情報取得部と、を更に備える構成としてもよい。 The synchronous control device includes a recording unit that stores information on dynamic characteristic models of servo control mechanisms of a plurality of models, and information of dynamic characteristic models of the spindle servo control mechanism on the plurality of models stored in the recording unit. And a dynamic characteristic model information acquisition unit that selects and acquires from the dynamic characteristic model information of the servo control mechanism.
 上記の構成によれば、各種サーボ制御機構に対し、上記同期制御装置を用いて適切に同期制御を行うための設定が容易になる。 According to the above configuration, it becomes easy to set various servo control mechanisms to appropriately perform synchronous control using the synchronous control device.
 上記同期制御装置は、前記主軸サーボ制御機構の動特性モデルの情報を、通信ネットワークを介して取得する、動特性モデル情報取得部を更に備える構成としてもよい。 The synchronous control device may further include a dynamic characteristic model information acquisition unit that acquires information on the dynamic characteristic model of the spindle servo control mechanism via a communication network.
 上記の構成によれば、各種サーボ制御機構に対し、上記同期制御装置を用いて適切に同期制御を行うための設定が容易になる。 According to the above configuration, it becomes easy to set various servo control mechanisms to appropriately perform synchronous control using the synchronous control device.
 上記同期制御装置は、前記同期制御装置に接続されている前記主軸サーボ制御機構の機種情報を取得する、機種情報取得部を更に備え、前記動特性モデル情報取得部が、前記機種情報取得部によって取得された機種情報に対応する動特性モデル情報を取得する構成としてもよい。 The synchronization control device further includes a model information acquisition unit that acquires model information of the spindle servo control mechanism connected to the synchronization control device, and the dynamic characteristic model information acquisition unit is configured by the model information acquisition unit. The configuration may be such that dynamic characteristic model information corresponding to the acquired model information is acquired.
 上記の構成によれば、各種サーボ制御機構に対し、上記同期制御装置を用いて同期制御を適切に行うための設定が自動的に行われ、ユーザの利便性がさらに高まる。 According to the above configuration, the various servo control mechanisms are automatically set to appropriately perform the synchronous control by using the synchronous control device, which further enhances the convenience for the user.
 上記同期制御装置は、前記同期制御装置に接続されている前記主軸サーボ制御機構を動作させて、前記主軸サーボ制御機構の動特性モデルを生成する、動特性モデル情報生成部を更に備える構成としてもよい。 The synchronous control device may further include a dynamic characteristic model information generation unit that operates the spindle servo control mechanism connected to the synchronous control device to generate a dynamic characteristic model of the spindle servo control mechanism. Good.
 上記の構成によれば、同期制御装置に接続されている主軸サーボ制御機構の設定パラメタが未知の場合であっても、同期制御装置を用いて同期制御を適切に行うための設定が容易になる。 According to the above configuration, even if the setting parameter of the spindle servo control mechanism connected to the synchronous control device is unknown, the setting for performing the synchronous control properly using the synchronous control device becomes easy. ..
 上記同期制御装置において、前記従軸サーボ制御機構は、複数の制御軸を有してもよい。そして、前記同期制御装置は、前記主軸指令演算部による処理と、前記主軸モデル部による処理と、前記従軸指令演算部による処理とが行われる、前記主軸サーボ制御機構と前記従軸サーボ制御機構との同期制御と、該同期制御が行われない非同期制御とを切り替える、切替部と、前記切替部により前記非同期制御から前記同期制御に切り替えられる直前の第1移行期間において、および/又は、該同期制御から該非同期制御に切り替えられる直後の第2移行期間において、前記従軸サーボ制御機構が有する前記複数の制御軸のうち少なくとも一の制御軸の加速度が連続して変化するように該従軸サーボ制御機構に対する前記従軸指令位置を算出する、切替時指令演算部と、を更に備える構成としてもよい。 In the above synchronous control device, the slave axis servo control mechanism may have a plurality of control axes. Then, the synchronous control device performs the processing by the spindle command calculation unit, the processing by the spindle model unit, and the processing by the slave axis command calculation unit, the spindle servo control mechanism and the slave axis servo control mechanism. In the first transition period immediately before switching from the asynchronous control to the synchronous control by the switching unit, and/or the switching unit switching between the synchronous control and the asynchronous control in which the synchronous control is not performed. In the second transition period immediately after switching from the synchronous control to the asynchronous control, the slave axis is controlled so that the acceleration of at least one control axis of the plurality of control axes of the slave axis servo control mechanism continuously changes. It may be configured to further include a switching time command calculation unit that calculates the slave axis command position for the servo control mechanism.
 上記の構成によれば、同期制御と非同期制御の切り替えが行われるときに、同期制御に入る直前の非同期制御時の第1移行期間において、および/又は、同期制御が解除された直後の非同期制御時の第2移行期間において、従軸サーボ制御機構の加速度の非連続的な変化、すなわち、急峻な加加速度(ジャーク)の発生を抑制するようにサーボ制御されることになる。その結果、切替時における従軸サーボ制御機構の振動を好適に抑制でき、同期制御と非同期制御との移行を円滑に実現することができる。 According to the above configuration, when the switching between the synchronous control and the asynchronous control is performed, the asynchronous control immediately before the synchronous control is started, and/or the asynchronous control immediately after the synchronous control is released. In the second transition period of time, the servo control is performed so as to suppress the discontinuous change in the acceleration of the slave axis servo control mechanism, that is, the generation of a steep jerk. As a result, the vibration of the slave axis servo control mechanism at the time of switching can be suitably suppressed, and the transition between the synchronous control and the asynchronous control can be smoothly realized.
 また、上記同期制御装置において、前記切替時指令演算部は、前記第1移行期間、および/又は前記第2移行期間において、前記従軸サーボ制御機構が有する前記複数の制御軸の全ての制御軸の加速度が連続して変化するように該従軸サーボ制御機構に対する前記従軸指令位置を算出する構成としてもよい。 Further, in the above synchronous control device, the switching time command calculation unit may control all the control axes of the plurality of control axes included in the slave axis servo control mechanism in the first transition period and/or the second transition period. The slave axis command position for the slave axis servo control mechanism may be calculated so that the acceleration of the slave axis continuously changes.
 上記の構成によれば、切替時における従軸サーボ制御機構が有する全ての制御軸の振動を好適に抑制でき、同期制御と非同期制御との移行を円滑に実現することができる。 According to the above configuration, it is possible to preferably suppress the vibration of all control axes of the slave axis servo control mechanism at the time of switching, and it is possible to smoothly realize the transition between the synchronous control and the asynchronous control.
 本発明の一態様に係るシミュレーション装置は、上記いずれかに記載の同期制御装置に接続されるシミュレーション装置であって、互いに異なる複数の前記所定時間に対して、前記主軸指令演算部、前記主軸モデル部、前記従軸指令演算部、前記主軸サーボ制御機構、前記従軸サーボ制御機構の動作をシミュレートすることにより、互いに異なる複数の前記所定時間に対する、前記主軸サーボ制御機構における前記主軸フィードバック位置及び前記従軸サーボ制御機構における従軸フィードバック位置のシミュレーションを実行するシミュレート処理部と、前記シミュレート処理部による、互いに異なる複数の前記所定時間に対する複数のシミュレーション結果を表示する表示部と、前記複数のシミュレーション結果のいずれかを選択する入力を、ユーザから受け付ける受付部と、前記受付部で受け付けたシミュレーション結果に対応するパラメタを前記同期制御装置に送信する送信部と、を備えることを特徴としている。 A simulation device according to an aspect of the present invention is a simulation device connected to the synchronous control device according to any one of the above, wherein the spindle command calculation unit and the spindle model are provided for a plurality of predetermined times different from each other. Section, the slave axis command calculation section, the master axis servo control mechanism, and the slave axis servo control mechanism by simulating the operations of the master axis servo position in the master axis servo control mechanism for a plurality of mutually different predetermined times. A simulation processing unit that executes a simulation of a slave axis feedback position in the slave axis servo control mechanism; a display unit that displays a plurality of simulation results by the simulation processing unit for a plurality of mutually different predetermined times; The receiving unit that receives an input for selecting one of the simulation results from the user from the user, and the transmitting unit that transmits the parameter corresponding to the simulation result received by the receiving unit to the synchronization control device. ..
 上記の構成によれば、上記同期制御装置において同期制御を適切に行うための設定を容易に行うことができるようになる。 With the above configuration, it becomes possible to easily perform the setting for appropriately performing the synchronization control in the synchronization control device.
 本発明の一態様に係る同期制御システムは、上記いずれかの同期制御装置と、前記同期制御装置に接続された主軸サーボ制御機構と、前記同期制御装置に接続された従軸サーボ制御機構と、を備えることを特徴としている。 A synchronous control system according to an aspect of the present invention is any of the above synchronous control devices, a main axis servo control mechanism connected to the synchronous control device, a slave axis servo control mechanism connected to the synchronous control device, It is characterized by including.
 上記の構成によれば、主軸が減速停止するなどの速度の変化を伴うような動きをする場合についても、従軸の同期の精度を高めることができる。従って、従軸の同期駆動の精度が向上した同期制御を実現することができる。 According to the above configuration, even when the main spindle moves in a manner that changes the speed such as decelerating and stopping, the accuracy of synchronization of the slave axis can be improved. Therefore, it is possible to realize the synchronous control in which the accuracy of the synchronous drive of the slave shaft is improved.
 本発明の一態様に係る同期制御方法は、主軸サーボ制御機構に対する時系列の目標位置情報に基づいて、前記主軸サーボ制御機構に対する主軸指令位置を算出する主軸指令演算ステップと、前記主軸指令位置、前記主軸サーボ制御機構における主軸フィードバック位置、および、前記目標位置情報に基づいて算出した、所定時間後の予測主軸指令位置を入力とし、前記主軸サーボ制御機構の動特性モデルによって、前記主軸サーボ制御機構の予測主軸フィードバック位置を算出する主軸モデル演算ステップと、前記主軸モデル演算ステップによって算出された前記主軸サーボ制御機構の予測主軸フィードバック位置に基づいて、従軸サーボ制御機構に対する従軸指令位置を算出する従軸指令演算ステップと、を有することを特徴としている。 A synchronous control method according to an aspect of the present invention, based on time-series target position information for the spindle servo control mechanism, a spindle command calculation step of calculating a spindle command position for the spindle servo control mechanism, the spindle command position, A spindle feedback position in the spindle servo control mechanism, and a predicted spindle command position after a predetermined time, which is calculated based on the target position information, are input, and the spindle servo control mechanism is determined by a dynamic characteristic model of the spindle servo control mechanism. Of the predicted spindle feedback position, and a slave axis command position for the slave servo control mechanism is calculated based on the predicted spindle feedback position of the spindle servo control mechanism calculated by the spindle model calculation step. And a slave axis command calculation step.
 上記の構成によれば、主軸が減速停止するなどの速度の変化を伴うような動きをする場合についても、従軸の同期の精度を高めることができる。従って、従軸の同期駆動の精度が向上した同期制御を実現することができる。 According to the above configuration, even when the main spindle moves in a manner that changes the speed such as decelerating and stopping, the accuracy of synchronization of the slave axis can be improved. Therefore, it is possible to realize the synchronous control in which the accuracy of the synchronous drive of the slave shaft is improved.
 上記同期制御方法において、前記従軸サーボ制御機構は、複数の制御軸を有してもよく、そして、前記同期制御方法は、前記主軸指令演算部による処理と、前記主軸モデル部による処理と、前記従軸指令演算部による処理とが行われる、前記主軸サーボ制御機構と前記従軸サーボ制御機構との同期制御と、該同期制御が行われない非同期制御とを切り替えるステップと、前記切替部により前記非同期制御から前記同期制御に切り替えられる直前の第1移行期間において、および/又は、該同期制御から該非同期制御に切り替えられる直後の第2移行期間において、前記従軸サーボ制御機構が有する前記複数の制御軸のうち少なとも一の制御軸の加速度が連続して変化するように該従軸サーボ制御機構に対する前記従軸指令位置を算出するステップと、を更に有してもよい。 In the synchronous control method, the slave axis servo control mechanism may have a plurality of control axes, and the synchronous control method, a process by the spindle command computing unit, a process by the spindle model unit, A step of switching between synchronous control of the master axis servo control mechanism and the slave axis servo control mechanism, in which processing by the slave axis command calculation section is performed, and asynchronous control in which the synchronous control is not performed; In the first transition period immediately before switching from the asynchronous control to the synchronous control, and/or in the second transition period immediately after switching from the synchronous control to the asynchronous control, the plurality of slave axis servo control mechanisms include Of the control axes, the step of calculating the slave axis command position for the slave axis servo control mechanism so that the acceleration of at least one of the control axes continuously changes.
 上記の構成によれば、切替時における従軸サーボ制御機構の振動を好適に抑制でき、同期制御と非同期制御との移行を円滑に実現することができる。 According to the above configuration, vibration of the slave axis servo control mechanism at the time of switching can be suitably suppressed, and a transition between synchronous control and asynchronous control can be smoothly realized.
 本発明の同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置によれば、従軸の同期駆動の精度が向上した同期制御を実現することができる。 According to the synchronous control device, the synchronous control system, the synchronous control method, and the simulation device of the present invention, it is possible to realize synchronous control with improved accuracy of synchronous drive of the slave axis.
本発明の実施形態1に係る同期制御システム及び同期制御装置を示す概略図である。It is a schematic diagram showing a synchronous control system and a synchronous control device concerning Embodiment 1 of the present invention. 本発明の実施形態1に係る同期制御システム及び同期制御装置の制御ロジックを表す制御ブロック図である。It is a control block diagram showing a control logic of a synchronous control system and a synchronous control device concerning Embodiment 1 of the present invention. 本発明の実施形態1に係る同期制御システムの、制御部の主軸指令演算部Cmmの動作を説明するための図である。It is a figure for demonstrating operation|movement of the spindle command calculation part Cmm of a control part of the synchronous control system which concerns on Embodiment 1 of this invention. (a)~(c)は実施形態1に係る同期制御装置により同期制御を行った場合の結果例であり、(d)~(f)は比較例の同期制御装置により同期制御を行った場合の結果例である。それぞれ、(a)(d)は位置、(b)(e)は速度、(c)(f)は位置偏差のグラフである。(A) to (c) are examples of results when the synchronous control device according to the first embodiment performs synchronous control, and (d) to (f) are cases where synchronous control is performed by the synchronous control device of the comparative example. It is an example of the result of. (A) and (d) are positions, (b) and (e) are speeds, and (c) and (f) are position deviation graphs, respectively. 本発明の実施形態2~5に係る同期制御システム及び同期制御装置を示す概略図である。FIG. 6 is a schematic diagram showing a synchronization control system and a synchronization control device according to Embodiments 2 to 5 of the present invention. 本発明の実施形態2~3に係る同期制御システムのシミュレーション装置の制御部の機能を示す概略図である。FIG. 6 is a schematic diagram showing a function of a control unit of the simulation device of the synchronous control system according to the second to third embodiments of the present invention. 本発明の実施形態3に係る同期制御システムのシミュレーション装置の表示部の画面例を示す図である。It is a figure which shows the example of a screen of the display part of the simulation apparatus of the synchronous control system which concerns on Embodiment 3 of this invention. 比較例の同期制御装置の制御ロジックを表す制御ブロック図である。It is a control block diagram showing the control logic of the synchronous control apparatus of a comparative example. 本発明の実施形態6に係る同期制御システム1及び同期制御装置を示す概略図である。It is a schematic diagram showing a synchronous control system 1 and a synchronous control device concerning Embodiment 6 of the present invention. 図9に示す同期制御装置の機能をイメージ化した機能ブロック図である。It is a functional block diagram which visualized the function of the synchronous control device shown in FIG. 図9に示す同期制御装置で制御周期に従って実行される処理の流れを示す図である。FIG. 10 is a diagram showing a flow of processing executed by the synchronous control device shown in FIG. 9 in accordance with a control cycle. 図9に示す同期制御装置で実行される同期制御に関する第1のフローチャートである。10 is a first flowchart relating to synchronization control executed by the synchronization control device shown in FIG. 9. 図9に示す同期制御装置で実行される同期制御に関する第2のフローチャートである。10 is a second flowchart relating to synchronization control executed by the synchronization control device shown in FIG. 9. 図9に示す同期制御装置において、非同期制御から同期制御に切り替わるときの、ロボットの制御軸の加速度の推移を示す図である。FIG. 10 is a diagram showing a transition of acceleration of the control axis of the robot when switching from asynchronous control to synchronous control in the synchronous control device shown in FIG. 9.
 〔実施形態1〕
 以下、本発明の一側面に係る実施形態が、図1~図3に基づいて説明される。
[Embodiment 1]
Hereinafter, an embodiment according to one aspect of the present invention will be described with reference to FIGS. 1 to 3.
 (同期制御システム1の機器構成)
 図1は、実施形態1に係る同期制御システム1の全体の機器構成を示す概略図である。同期制御システム1は、実施形態1に係る同期制御装置10、主軸サーボ制御機構20、従軸サーボ制御機構30と、それら各装置間の通信を媒介する通信ネットワーク40とを備える。
(Device configuration of the synchronous control system 1)
FIG. 1 is a schematic diagram showing the overall device configuration of the synchronous control system 1 according to the first embodiment. The synchronization control system 1 includes a synchronization control device 10, a master axis servo control mechanism 20, a slave axis servo control mechanism 30 according to the first embodiment, and a communication network 40 that mediates communication between these devices.
 実施形態1において、同期制御装置10が主軸サーボ制御機構20と従軸サーボ制御機構30の2つの制御対象機器の制御を行う例で説明を行うが、同期制御装置10が更に多くの機器の制御を行ってもよい。 In the first embodiment, an example will be described in which the synchronous control device 10 controls two control target devices, the master axis servo control mechanism 20 and the slave axis servo control mechanism 30, but the synchronous control device 10 controls more devices. You may go.
 同期制御装置10は、制御部11、インターフェース12と記録部13とを有している。インターフェース12は、通信ネットワーク40を介して、他の装置間との通信を行う。記録部13は、制御部11が実行するためのモーション制御プログラム等を格納し得る。また、記録部13は、各種制御対象機器の動特性モデルを保持し得る。 The synchronous control device 10 has a control unit 11, an interface 12, and a recording unit 13. The interface 12 communicates with other devices via the communication network 40. The recording unit 13 can store a motion control program or the like to be executed by the control unit 11. In addition, the recording unit 13 can hold dynamic characteristic models of various controlled devices.
 同期制御を行う同期制御装置10は、主軸サーボ制御機構20の主軸フィードバック位置ym等を用いて従軸サーボ制御機構30の従軸指令位置uを周期ごとに算出する制御部11を備える。同期制御装置10は、周期ごとに従軸サーボ制御機構30に対し従軸指令位置uの送信を行い、従軸サーボ制御機構30を主軸サーボ制御機構20に同期させる。 The synchronous control device 10 that performs synchronous control includes a control unit 11 that calculates the slave axis command position u of the slave axis servo control mechanism 30 for each cycle using the spindle feedback position ym of the master axis servo control mechanism 20. The synchronization control device 10 transmits the slave axis command position u to the slave axis servo control mechanism 30 every cycle to synchronize the slave axis servo control mechanism 30 with the master axis servo control mechanism 20.
 同期制御装置10は、例えばプログラマブルロジックコントローラ(PLC)である。記録部13は、例えば半導体メモリ、ハードディスク等の磁気メモリ、その他の記録媒体である。主軸サーボ制御機構20と従軸サーボ制御機構30とは、例えば、サーボコントロールステージとロボットアームである。より具体的には、サーボコントロールステージ上のワークを、ロボットアームで掴む動作が、同期制御を要する例として挙げられる。 The synchronous control device 10 is, for example, a programmable logic controller (PLC). The recording unit 13 is, for example, a semiconductor memory, a magnetic memory such as a hard disk, or another recording medium. The master axis servo control mechanism 20 and the slave axis servo control mechanism 30 are, for example, a servo control stage and a robot arm. More specifically, the operation of grasping the work on the servo control stage with the robot arm is an example requiring synchronous control.
 (制御の構成)
 図2は、実施形態1に係る同期制御装置10が、主軸サーボ制御機構20及び従軸サーボ制御機構30に対する制御を行う際の、制御ロジックを示す制御ブロック図である。
(Control structure)
FIG. 2 is a control block diagram showing a control logic when the synchronous control device 10 according to the first embodiment controls the master axis servo control mechanism 20 and the slave axis servo control mechanism 30.
 主軸サーボ制御機構20は、サーボモータなどの主軸モータPm(主軸)と、主軸モータPmの制御を行う主軸制御部Cmとを備える。主軸モータPmは例えばエンコーダを備えることで、主軸の位置情報である主軸フィードバック位置ymを出力する。主軸制御部Cmは、同期制御装置10からの主軸指令位置rに従い、主軸フィードバック位置ymを用いた主軸モータPmのフィードバック制御を行う。 The spindle servo control mechanism 20 includes a spindle motor Pm (spindle) such as a servo motor, and a spindle control unit Cm that controls the spindle motor Pm. The spindle motor Pm is provided with, for example, an encoder, and outputs a spindle feedback position ym that is position information of the spindle. The spindle control unit Cm performs feedback control of the spindle motor Pm using the spindle feedback position ym according to the spindle command position r from the synchronous control device 10.
 従軸サーボ制御機構30は、サーボモータなどの従軸モータPs(従軸)と、従軸モータPsの制御を行う従軸制御部Csとを備える。従軸モータPsは例えばエンコーダを備えることで、従軸の位置情報である従軸フィードバック位置ysを出力する。従軸制御部Csは、同期制御装置10からの従軸指令位置uに従い、従軸フィードバック位置ysを用いた従軸モータPsのフィードバック制御を行う。 The slave axis servo control mechanism 30 includes a slave axis motor Ps (slave axis) such as a servo motor, and a slave axis control unit Cs that controls the slave axis motor Ps. The slave shaft motor Ps is provided with an encoder, for example, and outputs a slave shaft feedback position ys, which is position information of the slave shaft. The slave axis control unit Cs performs feedback control of the slave axis motor Ps using the slave axis feedback position ys in accordance with the slave axis command position u from the synchronous control device 10.
 同期制御装置10において、制御部11は、機能ブロックとしての主軸指令演算部Cmm、主軸モデル部Mm、従軸指令演算部Cmsとを備える。換言すれば、制御部11は、例えば記録部13に保持されたモーション制御プログラムを実行することで、これら各部の機能を実現する。主軸指令演算部Cmmの算出した主軸指令位置rは、主軸制御部Cmに送信される。主軸モデル部Mmは、主軸モータPmから主軸フィードバック位置ymを受信する。従軸指令演算部Cmsの算出した従軸指令位置uは、従軸制御部Csに送信される。 In the synchronous control device 10, the control unit 11 includes a spindle command computing unit Cmm as a functional block, a spindle model unit Mm, and a slave axis command computing unit Cms. In other words, the control unit 11 realizes the functions of these units by executing the motion control program stored in the recording unit 13, for example. The spindle command position r calculated by the spindle command calculation unit Cmm is transmitted to the spindle control unit Cm. The spindle model section Mm receives the spindle feedback position ym from the spindle motor Pm. The slave axis command position u calculated by the slave axis command calculator Cms is transmitted to the slave axis controller Cs.
 図2においては、特定の期間iにおいて、あるブロックから他のブロックに送信される値が示されている。例えば、期間iにおいて主軸制御部Cmには、主軸指令位置r(i)が入力され、主軸モータPmが主軸フィードバック位置ym(i)を出力する。主軸制御部Cmは、順次入力される主軸指令位置rと主軸フィードバック位置ymに基づいて、主軸モータPmの動作を制御する。これは、通常のフィードバック制御である。 In FIG. 2, values transmitted from one block to another block are shown in a specific period i. For example, in the period i, the spindle command position r(i) is input to the spindle control unit Cm, and the spindle motor Pm outputs the spindle feedback position ym(i). The spindle control unit Cm controls the operation of the spindle motor Pm based on the spindle command position r and the spindle feedback position ym that are sequentially input. This is normal feedback control.
 次に、同期制御装置10の制御部11の内部構成と動作が、図2~図3に基づいて詳細に説明される。 Next, the internal configuration and operation of the control unit 11 of the synchronous control device 10 will be described in detail with reference to FIGS.
 主軸指令演算部Cmmは、記録部13に格納された主軸等の動作を規定するモーション制御プログラム等から主軸目標位置を読み出し、主軸指令位置rを算出する(主軸指令演算ステップ)。 The spindle command calculation unit Cmm reads the spindle target position from a motion control program or the like that defines the operation of the spindle or the like stored in the recording unit 13 and calculates the spindle command position r (spindle command calculation step).
 図3は、その算出方法を説明するためのグラフである。主軸指令演算部Cmmは、主軸サーボ制御機構に対する時系列の目標位置情報である主軸目標位置から、単位期間毎の主軸目標位置を割り出し、それを各期間毎の主軸指令位置r(i)、r(i+1)、r(i+2)...と判断する。 Fig. 3 is a graph for explaining the calculation method. The spindle command calculation unit Cmm calculates a spindle target position for each unit period from a spindle target position that is time-series target position information for the spindle servo control mechanism, and determines the spindle target position r(i), r for each period. (I+1), r(i+2). . . To judge.
 主軸指令演算部Cmmは期間iにおいて、主軸制御部Cmに、期間iの主軸指令位置r(i)を出力し、主軸モデル部Mmに、期間i+kの主軸指令位置r(i+k)(所定時間後の予測主軸指令位置)を出力する。ここで、期間i+kは期間iからk単位期間後の、将来の期間である。 In the period i, the spindle command calculation unit Cmm outputs the spindle command position r(i) of the period i to the spindle control unit Cm, and the spindle model unit Mm outputs the spindle command position r(i+k) of the period i+k (after a predetermined time). The predicted spindle command position of is output. Here, the period i+k is a future period that is k unit periods after the period i.
 主軸モデル部Mmは、主軸フィードバック位置ymを参照し、主軸指令位置rから主軸フィードバック位置を推定する主軸サーボ制御機構20の動特性モデルを備える。 The spindle model unit Mm includes a dynamic characteristic model of the spindle servo control mechanism 20 that estimates the spindle feedback position from the spindle command position r by referring to the spindle feedback position ym.
 主軸モデル部Mmは期間iにおいて、主軸指令演算部Cmmから受信した期間i+kまでの主軸指令位置rと、期間iまでの主軸フィードバック位置ymとから、期間i+kまでの将来の主軸フィードバック位置である、予測主軸フィードバック位置ym(i+1)、ym(i+2)...ym(i+k)をシミュレートし、従軸指令演算部Cmsに対して出力する(主軸モデル演算ステップ)。 In the period i, the spindle model unit Mm is a future spindle feedback position until the period i+k from the spindle command position r until the period i+k and the spindle feedback position ym until the period i received from the spindle command calculation unit Cmm. Predicted spindle feedback positions ym * (i+1), ym * (i+2). . . Simulates ym * (i+k) and outputs it to the slave axis command calculator Cms (master axis model calculation step).
 従軸指令演算部Cmsは、期間iまでの従軸指令位置u、従軸フィードバック位置ysと、予測主軸フィードバック位置ym(i+1)、ym(i+2)...ym(i+k)とから、期間iにおける従軸指令位置u(i)を演算し、従軸制御部Csに対して出力する(従軸指令演算ステップ)。演算される従軸指令位置u(i)は、主軸フィードバック位置ym(i)から、上記他の値を用いて調整された値となる。 The slave axis command calculation unit Cms calculates the slave axis command position u, the slave axis feedback position ys and the predicted master spindle feedback position ym * (i+1), ym * (i+2). . . The slave axis command position u(i) in the period i is calculated from ym * (i+k) and output to the slave axis control unit Cs (slave axis command calculation step). The slave axis command position u(i) to be calculated is a value adjusted from the spindle feedback position ym(i) using the above other values.
 従軸指令演算部Cmsは、後述する比較例(従来技術)の変換器と予見制御器を合わせたものと同じ演算処理を行うものである構成とすることができるが、他の公知の技術を適宜に適用してもよい。 The slave axis command calculation unit Cms can be configured to perform the same calculation processing as a combination of a converter of a comparative example (prior art) described later and a preview controller, but other known techniques can be used. You may apply suitably.
 このように、従軸指令演算部Cmsに与えられる将来の主軸フィードバック位置の予測値は、将来の主軸指令位置rから主軸サーボ制御機構20の動特性モデルによりシミュレートされた値である。ここで、将来の主軸指令位置rは、実際に主軸サーボ制御機構20に提供される正しい値である。また、主軸サーボ制御機構20の動特性モデルは、公知の確立された手法により、精度良く構築できる。従って、将来の主軸フィードバック位置の予測値は精度が良いものとなる。従って、実施形態1に係る同期制御装置10では、従軸の同期駆動の精度を向上させることができる。 Thus, the predicted value of the future spindle feedback position given to the slave axis command calculation unit Cms is a value simulated from the future spindle command position r by the dynamic characteristic model of the spindle servo control mechanism 20. Here, the future spindle command position r is a correct value actually provided to the spindle servo control mechanism 20. Further, the dynamic characteristic model of the spindle servo control mechanism 20 can be accurately constructed by a well-known established method. Therefore, the predicted value of the future spindle feedback position will be accurate. Therefore, the synchronous control device 10 according to the first embodiment can improve the accuracy of synchronous drive of the slave shaft.
 (比較例)
 図8に示される、特許文献1の従来技術を用いた同期制御装置90により、同期制御を行うシステムを比較例として説明する。
(Comparative example)
A system for performing synchronization control by the synchronization control device 90 using the conventional technique of Patent Document 1 shown in FIG. 8 will be described as a comparative example.
 比較例の同期制御装置90では、期間iにおいて、予測器が期間iまでの主軸指令位置rと主軸フィードバック位置ymによって、予測主軸フィードバック位置ym(i+1)、ym(i+2)...ym(i+k)を算出する。変換器及び予見制御器(同期制御装置10の従軸指令演算部Cmsに対応)が、期間iまでの従軸指令位置u、従軸フィードバック位置ysと、予測主軸フィードバック位置ym(i+1)、ym(i+2)...ym(i+k)とから、期間iにおける従軸指令位置u(i)を演算し、従軸制御部Csに対して出力する。 In the synchronous control device 90 of the comparative example, in the period i, the predictor uses the predicted spindle feedback positions ym * (i+1), ym * (i+2). . . Calculate ym * (i+k). The converter and the preview controller (corresponding to the slave axis command calculation unit Cms of the synchronous control device 10) use the slave axis command position u, the slave axis feedback position ys, and the predicted master axis feedback position ym * (i+1) up to the period i. ym * (i+2). . . The slave axis command position u(i) in the period i is calculated from ym * (i+k) and output to the slave axis control unit Cs.
 このように比較例の同期制御装置90で、変換器及び予見制御器に与えられる予測主軸フィードバック位置ym(i+1)、ym(i+2)...ym(i+k)は、現在までの主軸指令位置rと主軸フィードバック位置ymから算出されたものである。従って、実施形態1にかかる同期制御装置10と比較すると精度に劣る。よって、同期制御装置10よりも、従軸の同期駆動の精度が劣ったものとなる。 Thus, in the synchronous control device 90 of the comparative example, the predicted spindle feedback positions ym * (i+1), ym * (i+2). . . ym * (i+k) is calculated from the spindle command position r and the spindle feedback position ym up to the present. Therefore, the accuracy is inferior when compared with the synchronization control device 10 according to the first embodiment. Therefore, the accuracy of the synchronous drive of the slave shaft is lower than that of the synchronous control device 10.
 図4は、実施形態1に係る同期制御装置10及び比較例の同期制御装置90により同期制御を行った場合の結果比較の一例を示す図である。 FIG. 4 is a diagram showing an example of a result comparison when the synchronous control device 10 according to the first embodiment and the synchronous control device 90 of the comparative example perform synchronous control.
 同期制御装置10における主軸指令位置r、主軸フィードバック位置ym、従軸フィードバック位置ysの推移の例が図4(a)に示され、同期制御装置90における同様のグラフが図4(d)に示される。 An example of transitions of the spindle command position r, the spindle feedback position ym, and the slave spindle feedback position ys in the synchronous control device 10 is shown in FIG. 4(a), and a similar graph in the synchronous control device 90 is shown in FIG. 4(d). Be done.
 図4(b)、(e)は、それぞれ同期制御装置10、同期制御装置90における主軸指令位置r、主軸フィードバック位置ym、従軸フィードバック位置ysの時間微分(速度)を示す。これらのグラフに表されているように、本例は、主軸を加速した後に減速する制御を行った場合の例である。 FIGS. 4B and 4E show the time derivative (speed) of the spindle command position r, the spindle feedback position ym, and the slave spindle feedback position ys in the synchronous control device 10 and the synchronous control device 90, respectively. As shown in these graphs, this example is an example in which control is performed to accelerate the spindle and then decelerate the spindle.
 図4(c)、(f)は、それぞれ同期制御装置10、同期制御装置90における主従間の位置偏差ym-ysを示す。 FIGS. 4C and 4F show the position deviation ym-ys between the master and the slave in the synchronous control device 10 and the synchronous control device 90, respectively.
 図4(b)、(e)を比較すると明らかなように、実施形態1に係る同期制御装置10を用いると、主軸の速度の変化と従軸の速度の変化のタイミングがより一致しており、同期がより適切に行われている。また、図4(f)に示されるように、従来技術の同期制御装置90では、従軸が主軸から遅れるだけでなく、追い越してしまうことがあり、追従がスムーズではないのに対し、実施形態1に係る同期制御装置10では、追従がよりスムーズである。 As is clear from comparison between FIGS. 4B and 4E, when the synchronous control device 10 according to the first embodiment is used, the timings of the change in the speed of the main shaft and the change in the speed of the slave shaft are more consistent. , The synchronization is done better. Further, as shown in FIG. 4(f), in the conventional synchronous control device 90, the slave axis may not only be delayed from the master axis but may overtake, and tracking may not be smooth. In the synchronous control device 10 according to No. 1, tracking is smoother.
 主軸を一定方向に加減速が無いか小さい状態で動作させている場合では、比較例の同期制御装置90によっても、比較的精度良く同期制御を行わせることができる。しかしながら、特に、主軸の動きを減速させ反転させるような動作を行わせる場合には、現在までの主軸指令位置rと主軸フィードバック位置ymから算出される将来の主軸フィードバック位置の予測値は不正確となり、従軸位置の追従精度が大きく下がってしまう。 When the spindle is operated in a certain direction with no acceleration or deceleration or in a small state, the synchronization control device 90 of the comparative example can also perform the synchronization control with relatively high accuracy. However, in particular, when performing an operation of decelerating and reversing the movement of the spindle, the predicted value of the future spindle feedback position calculated from the spindle command position r up to the present and the spindle feedback position ym becomes inaccurate. However, the tracking accuracy of the slave axis position is greatly reduced.
 一方、実施形態1にかかる同期制御装置10では、このような場合においても、将来に反転動作が行われることも織り込まれて従軸指令位置u(i)が算出され得るから、従軸位置の追従精度が高い。同期制御装置10では、様々な主軸の動作に柔軟に対応して、同期制御の精度を高めることができる。 On the other hand, in the synchronous control device 10 according to the first embodiment, the slave axis command position u(i) can be calculated in consideration of the fact that the reversing operation is performed in the future even in such a case. High tracking accuracy. In the synchronization control device 10, it is possible to flexibly deal with various operations of the spindle and improve the accuracy of the synchronization control.
 〔実施形態2〕
 本発明の他の実施形態について、以下に説明する。なお、説明の便宜上、上記実施形態にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付記し、その説明を繰り返さない。
[Embodiment 2]
Another embodiment of the present invention will be described below. For convenience of explanation, components having the same functions as those of the components described in the above embodiment are designated by the same reference numerals, and the description thereof will not be repeated.
 図5は、他の実施形態の同期制御システム2の全体の機器構成を示す概略図である。同期制御システム2の同期制御装置50の制御部51には、実施形態1に係る制御部11の機能ブロックに加えて、機種情報取得部52、動特性モデル情報取得部53、動特性モデル情報生成部54の各機能ブロックが設けられている。 FIG. 5 is a schematic diagram showing the overall device configuration of a synchronous control system 2 of another embodiment. In addition to the functional blocks of the control unit 11 according to the first embodiment, the control unit 51 of the synchronization control device 50 of the synchronization control system 2 includes a model information acquisition unit 52, a dynamic characteristic model information acquisition unit 53, and a dynamic characteristic model information generation. Each functional block of the unit 54 is provided.
 更に、同期制御システム2は、実施形態1における同期制御システム1の構成に加えて、シミュレーション装置60を備えている。シミュレーション装置60は、通信ネットワーク40を介して、同期制御装置10と情報の送受信を行う。シミュレーション装置60は、シミュレート処理部61、インターフェース62、記録部63、表示部64、受付部65、送信部66とを備えている。 Further, the synchronous control system 2 includes a simulation device 60 in addition to the configuration of the synchronous control system 1 in the first embodiment. The simulation device 60 transmits/receives information to/from the synchronization control device 10 via the communication network 40. The simulation device 60 includes a simulation processing unit 61, an interface 62, a recording unit 63, a display unit 64, a reception unit 65, and a transmission unit 66.
 シミュレート処理部61は、図2のブロック線図に示された制御系をシミュレートする。インターフェース62は、通信ネットワーク40を介して、他の装置間との通信を行う。記録部63は、各種制御対象機器の動特性モデルを保持している。表示部64は、シミュレーション結果等の各種情報の表示を行う。受付部65は、ユーザによるシミュレーション装置60に対する操作を受け付ける。送信部66は、情報をインターフェース62を通じて、同期制御装置50に対して情報を送信する。 The simulation processing unit 61 simulates the control system shown in the block diagram of FIG. The interface 62 communicates with other devices via the communication network 40. The recording unit 63 holds dynamic characteristic models of various controlled devices. The display unit 64 displays various information such as simulation results. The receiving unit 65 receives an operation performed on the simulation device 60 by a user. The transmitting unit 66 transmits the information to the synchronization control device 50 through the interface 62.
 シミュレーション装置60のシミュレート処理部61の構成を示す図6に基づいて、シミュレート処理部61の動作を説明する。 The operation of the simulation processing unit 61 will be described based on FIG. 6 showing the configuration of the simulation processing unit 61 of the simulation device 60.
 シミュレート処理部61は、同期制御装置10の制御部11と同様に、主軸指令演算部Cmm、主軸モデル部Mm、従軸指令演算部Cmsとを備える。更に、主軸サーボ制御機構20及び従軸サーボ制御機構30の動作モデルである、主軸サーボ制御機構シミュレーション部Smと、従軸サーボ制御機構シミュレーション部Ssの各機能ブロックを有している。 Similar to the control unit 11 of the synchronous control device 10, the simulation processing unit 61 includes a spindle command computing unit Cmm, a spindle model unit Mm, and a slave axis command computing unit Cms. Further, it has functional blocks of a spindle servo control mechanism simulation section Sm and a slave axis servo control mechanism simulation section Ss which are operation models of the spindle servo control mechanism 20 and the slave axis servo control mechanism 30.
 主軸サーボ制御機構シミュレーション部Smは、同期制御システム1における現実の主軸サーボ制御機構20に替って、主軸指令演算部Cmmから主軸指令位置rを受け取り、主軸フィードバック位置ymを主軸モデル部Mmに出力する。 The spindle servo control mechanism simulation unit Sm receives the spindle command position r from the spindle command calculation unit Cmm in place of the actual spindle servo control mechanism 20 in the synchronous control system 1, and outputs the spindle feedback position ym to the spindle model unit Mm. To do.
 従軸サーボ制御機構シミュレーション部Ssは、同期制御システム1における現実の従軸サーボ制御機構30に替って、従軸指令演算部Cmsから従軸指令位置uを受け取り、従軸フィードバック位置ysを従軸指令演算部Cmsに出力する。 The slave axis servo control mechanism simulation unit Ss receives the slave axis command position u from the slave axis command calculation unit Cms and replaces the slave axis feedback position ys with the slave axis feedback position ys in place of the actual slave axis servo control mechanism 30 in the synchronous control system 1. Output to the axis command calculator Cms.
 このような構成により、シミュレーション装置60のシミュレート処理部61は、図2に示される同期制御システム1の動作のシミュレーションが可能である。 With such a configuration, the simulation processing unit 61 of the simulation device 60 can simulate the operation of the synchronous control system 1 shown in FIG.
 次に、同期制御システム2におけるシミュレーション装置60の利用方法について説明する。 Next, a method of using the simulation device 60 in the synchronous control system 2 will be described.
 ユーザが、シミュレーション装置60の受付部65から、同期制御を行おうとする主軸サーボ制御機構20及び従軸サーボ制御機構30の型式等を選択すると、記録部63から各制御対象機器に応じた動特性モデルが抽出される。すると、シミュレート処理部61において、主軸サーボ制御機構20の動特性モデルが主軸サーボ制御機構シミュレーション部Smと主軸モデル部Mmに設定される。また、従軸サーボ制御機構30の動特性モデルが従軸サーボ制御機構シミュレーション部Ssと従軸指令演算部Cmsに設定される。 When the user selects, from the accepting unit 65 of the simulation device 60, the type of the main-axis servo control mechanism 20 and the slave-axis servo control mechanism 30 for which synchronous control is to be performed, the dynamic characteristics corresponding to each control target device from the recording unit 63. The model is extracted. Then, in the simulation processing section 61, the dynamic characteristic model of the spindle servo control mechanism 20 is set in the spindle servo control mechanism simulation section Sm and the spindle model section Mm. The dynamic characteristic model of the slave axis servo control mechanism 30 is set in the slave axis servo control mechanism simulation section Ss and the slave axis command calculation section Cms.
 こうして、ユーザが任意に選択した主軸サーボ制御機構20及び従軸サーボ制御機構30を備えた同期制御システムの動作のシミュレーションがシミュレーション装置60において、自在に行えるようになる。シミュレート処理部61による同期制御システム1の動作のシミュレーション結果は、表示部64に表示され、ユーザが確認できる。 In this way, the simulation device 60 can freely perform the simulation of the operation of the synchronous control system including the spindle servo control mechanism 20 and the slave axis servo control mechanism 30 arbitrarily selected by the user. The simulation result of the operation of the synchronous control system 1 by the simulation processing unit 61 is displayed on the display unit 64 and can be confirmed by the user.
 シミュレーション装置60での、シミュレーションにより、ユーザが目的とする作業に対して適切な機器を選択したり、また決定すべき各種パラメタ、例えば、制御の単位期間、各機器間の通信周期、予測制御のための先読み時間(k単位期間)等についての適切な値を事前検討できる。 By the simulation in the simulation device 60, various parameters to be selected or determined by the user for the work intended by the user, such as a unit period of control, a communication cycle between the devices, and predictive control An appropriate value for the pre-reading time (k unit period) or the like can be examined in advance.
 こうして受付部65を通じて、ユーザにより、機器の選択やパラメタの決定が行われた後に、シミュレーション装置60の送信部66は、主軸サーボ制御機構20及び従軸サーボ制御機構30の動特性モデルや各パラメタを、インターフェース62を通じて、同期制御装置10に送信し得る。 In this way, after the user selects the device and determines the parameter through the accepting unit 65, the transmitting unit 66 of the simulation device 60 causes the dynamic characteristic model and each parameter of the master axis servo control mechanism 20 and the slave axis servo control mechanism 30 to be transmitted. Can be transmitted to the synchronization control device 10 through the interface 62.
 実施形態2において、同期制御装置50の制御部51では、実施形態1に係る制御部11の機能ブロックに加えて、少なくとも、動特性モデル情報取得部53の機能ブロックが設けられている。図5に示された機種情報取得部52、動特性モデル情報生成部54の各機能ブロックについても制御部51に設けられていてもよい。 In the second embodiment, the control unit 51 of the synchronous control device 50 is provided with at least a functional block of the dynamic characteristic model information acquisition unit 53 in addition to the functional blocks of the control unit 11 according to the first embodiment. Each functional block of the model information acquisition unit 52 and the dynamic characteristic model information generation unit 54 shown in FIG. 5 may also be provided in the control unit 51.
 同期制御装置10の動特性モデル情報取得部53は、シミュレーション装置60から送信された、主軸サーボ制御機構20及び従軸サーボ制御機構30の動特性モデルや各パラメタを、インターフェース12を通じて受信する。 The dynamic characteristic model information acquisition unit 53 of the synchronous control device 10 receives, via the interface 12, the dynamic characteristic model and each parameter of the spindle servo control mechanism 20 and the slave axis servo control mechanism 30 transmitted from the simulation device 60.
 更に動特性モデル情報取得部53は、これらのデータを、制御部11の主軸指令演算部Cmm、主軸モデル部Mm、従軸指令演算部Cmsを、シミュレーション装置60において決定されたモデルやパラメタに設定する。また、動特性モデル情報取得部53は、これらのデータを、適宜記録部13に保存する。 Further, the dynamic characteristic model information acquisition unit 53 sets these data in the spindle command calculation unit Cmm, the spindle model unit Mm, and the slave shaft command calculation unit Cms of the control unit 11 as the models and parameters determined in the simulation device 60. To do. In addition, the dynamic characteristic model information acquisition unit 53 saves these data in the recording unit 13 as appropriate.
 こうして、実施形態2によれば、ユーザが、機器の選択やパラメタの設定について十分に検討を行ったうえで同期制御システムを構築でき、ユーザの利便性が高まる。 Thus, according to the second embodiment, the user can construct the synchronous control system after thoroughly examining the device selection and the parameter setting, and the convenience for the user is enhanced.
 なお、シミュレーション装置60は、ユーザが受付部65から同期制御を行おうとする主軸サーボ制御機構20及び従軸サーボ制御機構30の型式等を選択すると、その組み合わせにおいて適切な各種決定すべきパラメタを、インターネット回線を通じてクラウドサーバーから取得するものであってもよい。また、取得したパラメタの値を、推奨値として表示部64においてユーザに提示する機能を有しているものであることも好ましい。 When the user selects the type of the main axis servo control mechanism 20 and the slave axis servo control mechanism 30 for which the user wants to perform synchronous control from the reception unit 65, the simulation apparatus 60 selects appropriate parameters to be determined in the combination, It may be acquired from a cloud server through an internet line. It is also preferable that the display unit 64 has a function of presenting the obtained parameter value as a recommended value to the user.
 〔実施形態3〕
 実施形態3では、実施形態1において説明された期間から決定される先読み時間、すなわち期間i+kと期間iとの時間差についての適正値を容易にユーザが決定できる例について説明する。
[Embodiment 3]
The third embodiment will explain an example in which the user can easily determine the appropriate value for the prefetch time determined from the period described in the first embodiment, that is, the time difference between the period i+k and the period i.
 先読み時間が長い方が精度が向上するわけでは必ずしもなく、制御対象機器やその組み合わせに応じて、先読み時間に最適値が存在する。そのため、ユーザが先読み時間の適正値を容易に知ることができれば、同期制御システム2のユーザにとっての利便性がさらに向上する。 Longer prefetch time does not necessarily improve accuracy, and there is an optimum prefetch time depending on the control target device and its combination. Therefore, if the user can easily know the appropriate value of the prefetch time, the convenience of the user of the synchronous control system 2 is further improved.
 実施形態3に係る同期制御システム2及び同期制御装置50の構成は、実施形態2の場合と同様である。 The configurations of the synchronous control system 2 and the synchronous control device 50 according to the third embodiment are the same as those in the second embodiment.
 実施形態3では、シミュレート処理部61が、先読み時間を変更したときのシミュレーション結果を、表示部64に一覧で示す機能を有している。図7は、表示部64におけるそのような表示画面の例を示す図である。先読み時間が3通りに変更された場合の結果が3列に並べられ、各列において下のグラフには位置(主軸指令位置r、主軸フィードバック位置ym、従軸フィードバック位置ys)が、上のグラフには速度(主軸指令位置r、主軸フィードバック位置ym、従軸フィードバック位置ysの時間微分)が同時に示されている。 In the third embodiment, the simulation processing unit 61 has a function of displaying a list of simulation results when the prefetch time is changed on the display unit 64. FIG. 7 is a diagram showing an example of such a display screen on the display unit 64. The results when the look-ahead time is changed in three ways are arranged in three columns. In each column, the lower graph shows the position (main spindle command position r, main spindle feedback position ym, slave spindle feedback position ys) in the upper graph. Shows the speed (main axis command position r, main axis feedback position ym, time derivative of slave axis feedback position ys) at the same time.
 図7に示されたケースでは、先読み時間を0.3(任意単位)と設定したときに主軸と従軸の速度変化のタイミングが一致しており、最も適切である。図7のような画面を視認することにより、ユーザは、容易に本発明の同期制御装置に関する特徴的なパラメタである先読み時間の適正値を容易に知ることができるようになる。 In the case shown in FIG. 7, when the prefetch time is set to 0.3 (arbitrary unit), the timings of speed changes of the master and slave axes match, which is the most appropriate. By visually recognizing the screen as shown in FIG. 7, the user can easily know the appropriate value of the prefetch time, which is a characteristic parameter relating to the synchronization control device of the present invention.
 こうしてユーザが受付部から、例えば先読み時間として0.3を選択すると、機器の選択により採用された動特性モデルやその他のパラメタと共に、送信部66が同期制御装置50に対して送信し得る。 Thus, when the user selects 0.3 as the prefetch time from the reception unit, the transmission unit 66 can transmit to the synchronous control device 50 together with the dynamic characteristic model adopted by the selection of the device and other parameters.
 〔実施形態4〕
 実施形態2では、シミュレーション装置60が、備えた記録部63に各種制御対象機器の動特性モデルを有していた。一方、実施形態4において各種制御対象機器の動特性モデルは、同期制御装置50がその記録部13に保持している。従って、実施形態4の同期制御システムでは、シミュレーション装置60を備えなくとも同期制御装置10の制御部11に、選択された制御対象機器に応じた制御ロジックを容易に設定できる。
[Embodiment 4]
In the second embodiment, the simulation device 60 has the dynamic characteristic models of various controlled devices in the recording unit 63 provided therein. On the other hand, in the fourth embodiment, the dynamic characteristic models of various controlled devices are stored in the recording unit 13 of the synchronization control device 50. Therefore, in the synchronous control system of the fourth embodiment, it is possible to easily set the control logic according to the selected control target device in the control unit 11 of the synchronous control device 10 without including the simulation device 60.
 実施形態4に係る同期制御システムの構成は、図2に示された同期制御システム2において、シミュレーション装置60は必ずしも備えていなくてもよいものである。実施形態4において、同期制御装置50の制御部51では、実施形態1に係る制御部11の機能ブロックに加えて、少なくとも、動特性モデル情報取得部53の機能ブロックが設けられている。 The configuration of the synchronous control system according to the fourth embodiment does not necessarily have to include the simulation device 60 in the synchronous control system 2 shown in FIG. In the fourth embodiment, the control unit 51 of the synchronization control device 50 is provided with at least a functional block of the dynamic characteristic model information acquisition unit 53 in addition to the functional blocks of the control unit 11 according to the first embodiment.
 実施形態4に係る同期制御装置10は、端末等を通じてのユーザの操作により選択された主軸サーボ制御機構20及び従軸サーボ制御機構30に応じて、動特性モデル情報取得部53が、記録部13に保持されている動特性モデルから図2に示された制御ロジックを設定する。 In the synchronization control device 10 according to the fourth embodiment, the dynamic characteristic model information acquisition unit 53 causes the recording unit 13 to operate according to the main-axis servo control mechanism 20 and the sub-axis servo control mechanism 30 selected by a user operation through a terminal or the like. The control logic shown in FIG. 2 is set from the dynamic characteristic model held in the.
 あるいは変形例として、実施形態4に係る同期制御装置10の制御部51には、更に機種情報取得部52の機能ブロックが設けられている。機種情報取得部52は、インターフェース12を介し、通信ネットワークを通じて、接続された主軸サーボ制御機構20及び従軸サーボ制御機構30の型式を認識する。そうして、認識した主軸サーボ制御機構20及び従軸サーボ制御機構30に応じて、動特性モデル情報取得部53が、記録部13に保持されている動特性モデルから図2に示された制御ロジックを設定するものであってもよい。 Alternatively, as a modification, the control unit 51 of the synchronization control device 10 according to the fourth embodiment is further provided with a functional block of the model information acquisition unit 52. The model information acquisition unit 52 recognizes the types of the connected spindle servo control mechanism 20 and slave axis servo control mechanism 30 via the interface 12 and the communication network. Then, according to the recognized main axis servo control mechanism 20 and slave axis servo control mechanism 30, the dynamic characteristic model information acquisition unit 53 controls the dynamic characteristic model held in the recording unit 13 from the control shown in FIG. The logic may be set.
 更に、実施形態4に係る同期制御装置10は、選択された主軸サーボ制御機構20及び従軸サーボ制御機構30の機種の組み合わせにおいて適切な各種決定すべきパラメタを、動特性モデル情報取得部53がインターネット回線を通じてクラウドサーバーから取得し、制御部11に設定、若しくは推奨値としてユーザに提示する機能を有しているものであることも好ましい。 Furthermore, in the synchronous control device 10 according to the fourth embodiment, the dynamic characteristic model information acquisition unit 53 provides various parameters that should be determined appropriately in the combination of the model types of the selected spindle servo control mechanism 20 and slave axis servo control mechanism 30. It is also preferable to have a function of acquiring from a cloud server through an internet line and setting it in the control unit 11 or presenting it to the user as a recommended value.
 〔実施形態5〕
 実施形態4では、同期制御装置10が記録部13に各種制御対象機器の動特性モデルを有していた。しかしながら、制御対象機器が未知である場合もあり、その場合、制御ロジックの設定が面倒である。
[Embodiment 5]
In the fourth embodiment, the synchronization control device 10 has the recording unit 13 with the dynamic characteristic models of various control target devices. However, the device to be controlled may be unknown, and in that case, setting the control logic is troublesome.
 実施形態5に係る同期制御システムの構成は、図2に示された同期制御システム2において、シミュレーション装置60は必ずしも備えていなくてもよいものである。実施形態5において、同期制御装置50の制御部51では、実施形態1に係る制御部11の機能ブロックに加えて、少なくとも、動特性モデル情報生成部54の機能ブロックが設けられている。 The configuration of the synchronous control system according to the fifth embodiment does not necessarily require the simulation device 60 in the synchronous control system 2 shown in FIG. In the fifth embodiment, the control unit 51 of the synchronization control device 50 is provided with at least a functional block of the dynamic characteristic model information generation unit 54 in addition to the functional blocks of the control unit 11 according to the first embodiment.
 例えば、記録部13が主軸サーボ制御機構20の動特性モデルを有していない場合等に、実施形態5に係る同期制御装置10は、動特性モデル情報生成部54が、制御対象機器である主軸サーボ制御機構20に試験主軸指令位置を発信できる。そうして主軸サーボ制御機構20を実際に動作させ、動特性モデル情報生成部54が、試験主軸指令位置に対する主軸サーボ制御機構20からの応答である主軸フィードバック位置を受信する。 For example, when the recording unit 13 does not have the dynamic characteristic model of the spindle servo control mechanism 20, in the synchronous control device 10 according to the fifth embodiment, the dynamic characteristic model information generating unit 54 causes the spindle that is the control target device. The test spindle command position can be transmitted to the servo control mechanism 20. Then, the spindle servo control mechanism 20 is actually operated, and the dynamic characteristic model information generation unit 54 receives the spindle feedback position which is a response from the spindle servo control mechanism 20 to the test spindle command position.
 動特性モデル情報生成部54は、試験主軸指令位置に対する制御対象機器の応答を分析することで、制御対象機器の動特性モデルを構築することができる。従軸サーボ制御機構30の動特性モデルを有していない場合についても同様である。構築された動特性モデルは、記録部13に保持され得る。 The dynamic characteristic model information generation unit 54 can build a dynamic characteristic model of the controlled device by analyzing the response of the controlled device to the test spindle command position. The same applies to the case where the dynamic characteristic model of the slave axis servo control mechanism 30 is not included. The constructed dynamic characteristic model can be held in the recording unit 13.
 このように制御対象機器の入出力から動特性モデルを構築する手法については、制御分野における公知の手法を適宜用いることができる。 As for the method of constructing the dynamic characteristic model from the input/output of the controlled device in this way, a known method in the control field can be appropriately used.
 実施形態5に係る同期制御装置10は、こうして得た制御対象機器の動特性モデルから、制御部11に、図2に示された制御ロジックを設定する。 The synchronous control device 10 according to the fifth embodiment sets the control logic shown in FIG. 2 in the control unit 11 from the dynamic characteristic model of the control target device thus obtained.
 実施形態5に係る同期制御装置によれば、制御対象機器の動特性モデルを保持していない場合であっても、簡便に制御部11に、本発明の制御ロジックを設定することができる。 According to the synchronous control device of the fifth embodiment, the control logic of the present invention can be easily set in the control unit 11 even when the dynamic characteristic model of the controlled device is not held.
 〔実施形態6〕
 実施形態6に係る同期制御装置10について、図9~図14に基づいて説明する。なお、上述までの実施形態で示された構成と実質的に同一の構成については、同一の参照番号を付してその詳細な説明を省略する。図9は、当該同期制御装置10が適用される制御システム1の概略構成図であり、図10は、同期制御装置10に形成される機能部をイメージ化した図である。
[Sixth Embodiment]
The synchronization control device 10 according to the sixth embodiment will be described with reference to FIGS. 9 to 14. In addition, about the structure substantially same as the structure shown by the above-mentioned embodiment, the same reference number is attached|subjected and the detailed description is abbreviate|omitted. FIG. 9 is a schematic configuration diagram of a control system 1 to which the synchronization control device 10 is applied, and FIG. 10 is a diagram showing an image of functional units formed in the synchronization control device 10.
 同期制御装置10は、各種の設備や装置などの制御対象(フィールド機器)を制御する産業用コントローラに相当する。同期制御装置10は、後述するような制御演算を実行する一種のコンピュータである。同期制御装置10にとって、ロボットやサーボドライバ、モータが制御対象となる。本実施形態では、ロボットとサーボドライバ及びモータとの間で同期制御が行われ、当該同期制御においては、サーボドライバ及びモータが主軸サーボ制御機構とされ、ロボットが従軸サーボ制御機構とされる。そこで、上述までの実施形態を踏まえて、サーボドライバ及びモータの参照番号を「20」とし、ロボットの参照番号を「30」とする。サーボドライバ20は、同期制御装置10からの出力データ(例えば、位置指令や速度指令など)に従って、モータ20を駆動する。また、ロボット30としては、パラレルロボット、スカラロボット、多関節ロボットが例示できる。このように同期制御装置10は、ロボット30やサーボドライバ20及びモータ20を統合的にサーボ制御し得るように構成された制御装置である。 The synchronous control device 10 corresponds to an industrial controller that controls control targets (field devices) such as various types of equipment and devices. The synchronization control device 10 is a kind of computer that executes a control calculation as described later. A robot, a servo driver, and a motor are control targets for the synchronous control device 10. In the present embodiment, synchronous control is performed between the robot and the servo driver and the motor. In the synchronous control, the servo driver and the motor serve as the main axis servo control mechanism, and the robot serves as the slave axis servo control mechanism. Therefore, based on the above-described embodiments, the reference number of the servo driver and the motor is “20”, and the reference number of the robot is “30”. The servo driver 20 drives the motor 20 according to output data (for example, a position command or a speed command) from the synchronous control device 10. The robot 30 may be a parallel robot, a SCARA robot, or an articulated robot. As described above, the synchronous control device 10 is a control device configured to integrally servo-control the robot 30, the servo driver 20, and the motor 20.
 同期制御装置10は、通信ネットワーク40などを介して、1または複数のフィールド機器との間でデータを遣り取りする。同期制御装置10は、各種のフィールド機器において収集または生成されたデータ(以下、「入力データ」とも称す。)を収集する処理(入力処理)、フィールド機器に対する指令などのデータ(以下、「出力データ」とも称す。)を生成する処理(演算処理)、生成した出力データを対象のフィールド機器へ送信する処理(出力処理)等を行う。 The synchronization control device 10 exchanges data with one or more field devices via the communication network 40 or the like. The synchronization control device 10 collects data (hereinafter also referred to as “input data”) collected or generated by various field devices (input process), data such as a command to the field device (hereinafter, “output data”). (Also referred to as “.”) (calculation process), a process of transmitting the generated output data to the target field device (output process), and the like.
 ここで、通信ネットワーク40は、データの到達時間が保証される、定周期通信を行うバスまたはネットワークを採用することが好ましい。このような定周期通信を行うバスまたはネットワークとしては、EtherCAT(登録商標)等が知られている。そして、通信ネットワーク40を介して、同期制御装置10とフィールド機器との間で遣り取りされるデータは、数100μsecオーダ~数10msecオーダのごく短い周期で更新されることになる。なお、このような遣り取りされるデータの更新処理は、入出力リフレッシュ処理とも称される。 Here, it is preferable that the communication network 40 employs a bus or a network that performs fixed-cycle communication in which the arrival time of data is guaranteed. EtherCAT (registered trademark) or the like is known as a bus or network for performing such fixed-cycle communication. Then, the data exchanged between the synchronization control device 10 and the field device via the communication network 40 is updated at a very short cycle of several hundred μsec order to several tens msec order. The update process of the exchanged data is also called an input/output refresh process.
 ここで、図10に基づいて、同期制御装置10の構成について説明する。なお、図10に示す制御アプリケーション処理部130及びIECプログラム処理部140は、図1に示す制御部11内に形成される機能部であり、IECプログラム151及びアプリケーションプログラム152は、図1に示す記録部13に格納されているプログラムである。具体的には、同期制御装置10は、上記の通り所定の制御演算を実行する一種のコンピュータであり、当該制御演算に必要なプロセッサやメモリを備えている。当該プロセッサは、上記制御部11の一形態であり、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)などで構成される。プロセッサとしては、複数のコアを有する構成を採用してもよいし、当該プロセッサを複数配置してもよい。当該メモリは上記記録部13の一形態であり、例えば、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置や、HDD(Hard Disk Drive)やSSD(Solid State Drive)などの不揮発性記憶装置などで構成される。そして、プロセッサは、メモリに格納された各種プログラムを読出して実行することで、制御対象に応じた制御、および、後述するような各種処理を実現する。メモリには、基本的な機能を実現するためのシステムプログラムに加えて、制御対象の製造装置や設備に応じて作成されるユーザプログラム(IECプログラム151およびアプリケーションプログラム152)が格納される。 Here, the configuration of the synchronization control device 10 will be described with reference to FIG. The control application processing unit 130 and the IEC program processing unit 140 shown in FIG. 10 are functional units formed in the control unit 11 shown in FIG. 1, and the IEC program 151 and the application program 152 are the recording units shown in FIG. It is a program stored in the unit 13. Specifically, the synchronization control device 10 is a kind of computer that executes a predetermined control calculation as described above, and includes a processor and a memory necessary for the control calculation. The processor is one form of the control unit 11 and includes a CPU (Central Processing Unit), an MPU (Micro Processing Unit), a GPU (Graphics Processing Unit), and the like. A configuration having a plurality of cores may be adopted as the processor, or a plurality of the processors may be arranged. The memory is one form of the recording unit 13, and includes, for example, a volatile storage device such as a DRAM (Dynamic Random Access Memory) and an SRAM (Static Random Access Memory), an HDD (Hard Disk Drive) and an SSD (Solid State Drive). ) And other non-volatile storage devices. Then, the processor reads and executes various programs stored in the memory to realize control according to the control target and various processes described later. The memory stores a user program (IEC program 151 and application program 152) created according to the manufacturing apparatus or equipment to be controlled, in addition to the system program for realizing the basic functions.
 なお、本願におけるIECプログラム151とは、実行毎に全体がスキャンされて、実行毎に1または複数の指令値が演算されるプログラムであり、典型的には、国際電気標準会議(International Electrotechnical Commission:IEC)によって規定された国際規格IEC61131-3に従って記述された1または複数の命令からなるプログラムを包含する。IECプログラム151には、シーケンス制御およびモーション制御の命令が含まれる。このようなIECプログラム151は、制御周期毎にすべてのプログラムが実行(スキャン)される実行形式に対応するものであり、即時性および高速性が要求される制御に好適である。一方で、本願におけるアプリケーションプログラム152は、ロボットを用いて特定の加工や動作を行うための制御プログラムであり、ロボットによる制御アプリケーションを実現するための1または複数の命令からなるプログラムを包含し、基本的には、IECプログラム151とは区別される。ロボット制御に関するアプリケーションプログラム152は、一例として、ロボット言語を用いて記述され、1行ずつ逐次実行されるインタプリタ方式が採用される。 The IEC program 151 in the present application is a program in which the whole is scanned for each execution, and one or more command values are calculated for each execution. Typically, the International Electrotechnical Commission: IEC) including a program consisting of one or more instructions described in accordance with the international standard IEC61131-3. The IEC program 151 includes instructions for sequence control and motion control. The IEC program 151 as described above corresponds to an execution format in which all programs are executed (scanned) in each control cycle, and is suitable for control requiring immediacy and high speed. On the other hand, the application program 152 in the present application is a control program for performing a specific machining or operation using a robot, and includes a program consisting of one or a plurality of instructions for realizing a control application by the robot. Specifically, it is distinguished from the IEC program 151. The application program 152 relating to robot control is, for example, described in a robot language and employs an interpreter method in which it is sequentially executed line by line.
 そして、図10に示すように、同期制御装置10は、IECプログラム処理部140と、インターフェース12と、制御アプリケーション処理部130と、を有する。インターフェース12は、IECプログラム処理部140および制御アプリケーション処理部130と、通信ネットワーク40を介して接続されているフィールド機器との間のデータの遣り取りを仲介する。 Then, as shown in FIG. 10, the synchronization control device 10 includes an IEC program processing unit 140, an interface 12, and a control application processing unit 130. The interface 12 mediates exchange of data between the IEC program processing unit 140 and the control application processing unit 130 and field devices connected via the communication network 40.
 IECプログラム処理部140は、予め定められた制御周期毎にIECプログラム151を実行(スキャン)して1または複数の指令値を演算する。すなわち、IECプログラム処理部140は、IECプログラム151に従って、制御周期毎に指令値を演算する。なお、本願では、モータ20を含んで構成される所定の装置をサーボ制御するためにIECプログラム151の実行が行われるものとする。そして、モーション処理部142は、IECプログラム151に含まれるモーション命令に従って、制御周期毎に指令値を演算する機能を提供する。すなわち、IECプログラム151に含まれるモーション命令は、複数の制御周期に亘る挙動を指示する命令(例えば、モータ20で構成される所定の装置の出力が何らかの軌道を描くための命令)を含む。このようなモーション命令が実行されると、実行されたモーション命令の指示内容に従って、モーション処理部142が制御周期毎に指令値を演算する。すなわち、モーション処理部142は、上記の所定の装置に対して制御周期毎に指令値を出力することで、モーション命令により指示された挙動を実現する。 The IEC program processing unit 140 executes (scans) the IEC program 151 for each predetermined control cycle to calculate one or more command values. That is, the IEC program processing unit 140 calculates the command value for each control cycle according to the IEC program 151. In the present application, it is assumed that the IEC program 151 is executed to servo-control a predetermined device including the motor 20. Then, the motion processing unit 142 provides a function of calculating a command value for each control cycle according to a motion command included in the IEC program 151. That is, the motion command included in the IEC program 151 includes a command for instructing behavior over a plurality of control cycles (for example, a command for drawing an orbit of the output of a predetermined device configured by the motor 20). When such a motion command is executed, the motion processing unit 142 calculates a command value for each control cycle according to the instruction content of the executed motion command. That is, the motion processing unit 142 realizes the behavior instructed by the motion command by outputting the command value to the above-described predetermined device every control cycle.
 次に、制御アプリケーション処理部130は、アプリケーションプログラム152などに基づいて、制御アプリケーションを制御するための指令値を演算する。なお、本願では、ロボット30をサーボ制御するためにアプリケーションプログラム152が制御アプリケーション処理部130によって実行されるものとする。制御アプリケーション処理部130は、IECプログラム処理部140による指令値の演算および出力と同期して、制御アプリケーション用の指令値を演算および出力することもでき、又は、IECプログラム処理部140による指令値の演算および出力とは同期せずに、制御アプリケーション用の指令値を演算および出力することもできる。すなわち、制御アプリケーション処理部130は、IECプログラム処理部140による演算処理と同期して、又は非同期で、指令値の演算処理を実行する。なお、このIECプログラム処理部140と制御アプリケーション処理部130の同期処理については、後述する。 Next, the control application processing unit 130 calculates a command value for controlling the control application based on the application program 152 and the like. In the present application, it is assumed that the application program 152 is executed by the control application processing unit 130 in order to servo-control the robot 30. The control application processing unit 130 can also calculate and output the command value for the control application in synchronization with the calculation and output of the command value by the IEC program processing unit 140, or the command value of the IEC program processing unit 140 It is also possible to calculate and output the command value for the control application without being synchronized with the calculation and output. That is, the control application processing unit 130 executes the operation processing of the command value in synchronization with or asynchronously with the operation processing by the IEC program processing unit 140. The synchronization processing between the IEC program processing unit 140 and the control application processing unit 130 will be described later.
 インタプリタ134は、逐次アプリケーションプログラム152の少なくとも一部を解釈して中間コードを生成するとともに、生成した中間コードを格納するバッファ133を有する。本願における中間コードは、制御周期毎に指令値を演算するための命令を包含する概念であり、1または複数の命令、あるいは、1または複数の関数を含んでもよい。そして、モーション処理部132は、インタプリタ134が事前に生成しバッファ133に格納されている中間コードに従って、制御周期毎に指令値を演算する。一般的に、アプリケーションプログラム152に記述される命令(コード)は、逐次実行されるために、指令値の演算周期を保証できないが、本願開示では、このように中間コードを利用することで、モーション処理部132は、制御周期毎に指令値を演算できるようになる。中間コードにおいて記述される命令には、各制御アプリケーションに応じた座標系が用いられてもよい。 The interpreter 134 sequentially interprets at least a part of the application program 152 to generate an intermediate code, and has a buffer 133 for storing the generated intermediate code. The intermediate code in the present application is a concept including an instruction for calculating a command value for each control cycle, and may include one or a plurality of instructions or one or a plurality of functions. Then, the motion processing unit 132 calculates the command value for each control cycle according to the intermediate code generated in advance by the interpreter 134 and stored in the buffer 133. Generally, the instructions (codes) described in the application program 152 are sequentially executed, and therefore the operation cycle of the command value cannot be guaranteed. However, in the present disclosure, by using the intermediate code in this way, the motion The processing unit 132 can calculate the command value for each control cycle. A coordinate system according to each control application may be used for the command described in the intermediate code.
 そして、IECプログラム処理部140と制御アプリケーション処理部130との間でデータを共有するために、共有メモリ131が設けられる。本願開示では、制御アプリケーション処理部130による処理結果の一部または全部が共有メモリ131に格納され、IECプログラム処理部140は、制御アプリケーション処理部130の共有メモリ131に格納されたデータを参照することができる。また、IECプログラム処理部140から制御アプリケーション処理部130の共有メモリ131へのデータ書込みも可能であってもよく、このようにIECプログラム処理部140から書込まれたデータは、インタプリタ134およびモーション処理部132から参照可能とされる。 A shared memory 131 is provided to share data between the IEC program processing unit 140 and the control application processing unit 130. In the present disclosure, a part or all of the processing result by the control application processing unit 130 is stored in the shared memory 131, and the IEC program processing unit 140 refers to the data stored in the shared memory 131 of the control application processing unit 130. You can Further, data writing from the IEC program processing unit 140 to the shared memory 131 of the control application processing unit 130 may be possible, and the data written from the IEC program processing unit 140 in this manner is used in the interpreter 134 and the motion processing. It can be referred to from the section 132.
 <プログラムの同期実行>
 同期制御装置10においては、モータ20をサーボ制御するためのIECプログラム151と、ロボット30をサーボ制御するためのアプリケーションプログラム152の同期実行が実現される。なお、当該同期制御は、制御の必要に応じて適宜非実行状態とすることもでき、その場合のモータ20、ロボット30のサーボ制御を非同期制御とも言う。同期制御においては、制御アプリケーション処理部130のインタプリタ134は、制御周期より長い周期、例えば、制御周期の2倍分の周期毎にアプリケーションプログラム152を逐次実行する。ただし、IECプログラム処理部140のモーション処理部142および制御アプリケーション処理部130のモーション処理部132は、いずれも同一の制御周期毎に指令値を演算する。したがって、同期制御装置10からの指令値の出力は、いずれも予め定められた制御周期で同期して行われる。このように、IECプログラム処理部140および制御アプリケーション処理部130は、アクチュエータの動きを連続的に制御するためのモーション処理部をそれぞれ有しており、これらのモーション処理部が同期して指令値を演算することで、IECプログラム151に従う制御およびアプリケーションプログラム152に従う制御の両方を制御周期と同期させて実行することができ、これによって制御周期単位での精密な制御が実現される。
<Synchronous execution of programs>
In the synchronous control device 10, synchronous execution of the IEC program 151 for servo-controlling the motor 20 and the application program 152 for servo-controlling the robot 30 is realized. The synchronous control can be appropriately set to the non-execution state according to the necessity of control, and the servo control of the motor 20 and the robot 30 in that case is also referred to as asynchronous control. In the synchronous control, the interpreter 134 of the control application processing unit 130 sequentially executes the application program 152 in a cycle longer than the control cycle, for example, a cycle of twice the control cycle. However, the motion processing unit 142 of the IEC program processing unit 140 and the motion processing unit 132 of the control application processing unit 130 both calculate the command value for each same control cycle. Therefore, the output of the command value from the synchronization control device 10 is performed in synchronization with each other in a predetermined control cycle. As described above, the IEC program processing unit 140 and the control application processing unit 130 each have a motion processing unit for continuously controlling the movement of the actuator, and these motion processing units synchronously output the command value. By performing the calculation, both the control according to the IEC program 151 and the control according to the application program 152 can be executed in synchronization with the control cycle, whereby precise control is realized in control cycle units.
 なお、モータ20とロボット30が非同期制御となっている場合には、同期制御装置10からのモータ20への指令値の出力と、同期制御装置10からのロボット30への指令値の出力とが、同期しない状態で実行されることになる。 When the motor 20 and the robot 30 are asynchronously controlled, the output of the command value from the synchronous control device 10 to the motor 20 and the output of the command value from the synchronous control device 10 to the robot 30 are performed. , Will be executed out of sync.
 ここで、同期制御時の、同期制御装置10におけるIECプログラム151およびアプリケーションプログラム152の実行タイミングの詳細について、図11に基づいて説明する。図11は、同期制御装置10におけるプログラムの実行タイミングの一例を示す図である。なお、同期制御装置10においては、プロセッサのリソースを考慮して、優先度が高い高優先度タスク(図11中の上段の処理)と優先度が低い低優先度タスク(図11中の下段の処理)が設定されている。具体的には、インターフェース12、IECプログラム処理部140とそのモーション処理部142の実行、および制御アプリケーション処理部130のモーション処理部132の実行は、高優先度タスクとして設定され、制御アプリケーション処理部130のインタプリタ134の実行は低優先度タスクとして設定されている。 Here, details of the execution timing of the IEC program 151 and the application program 152 in the synchronous control device 10 during synchronous control will be described based on FIG. 11. FIG. 11 is a diagram showing an example of program execution timings in the synchronization control device 10. In the synchronization control device 10, in consideration of processor resources, a high priority task with high priority (processing in the upper stage of FIG. 11) and a low priority task with low priority (lower process in FIG. 11). Process) is set. Specifically, the execution of the interface 12, the IEC program processing unit 140 and its motion processing unit 142, and the execution of the motion processing unit 132 of the control application processing unit 130 are set as high priority tasks, and the control application processing unit 130 is set. The execution of the interpreter 134 is set as a low priority task.
 すなわち、インターフェース12に関連する入出力リフレッシュ処理B60、IECプログラム151の実行処理B40、IECプログラム151に従ってモーション処理部142によって行われる指令値の演算処理B42、アプリケーションプログラム152に従ってモーション処理部132によって行われる指令値の演算処理B32は、高優先度タスクとして実行される。一方、アプリケーションプログラム152を逐次解釈する処理B34は、低優先度タスクとして実行される。 That is, the input/output refresh process B60 related to the interface 12, the execution process B40 of the IEC program 151, the command value calculation process B42 performed by the motion processing unit 142 according to the IEC program 151, and the motion processing unit 132 according to the application program 152. The command value calculation process B32 is executed as a high-priority task. On the other hand, the process B34 of sequentially interpreting the application program 152 is executed as a low priority task.
 ここで、高優先度タスクは、予め定められた制御周期T1毎に繰返し実行される。低優先度タスクは、各制御周期内で高優先度タスクが実行されていない期間に都度実行される。すなわち、制御周期毎に、高優先度タスクの実行時間が割当てられ、高優先度タスクの実行時間以外の時間において、低優先度タスクが実行される。 Here, the high-priority task is repeatedly executed every predetermined control cycle T1. The low priority task is executed each time the high priority task is not executed in each control cycle. That is, the execution time of the high-priority task is assigned to each control cycle, and the low-priority task is executed at times other than the execution time of the high-priority task.
 まず、高優先度タスクについて説明すると、各制御周期が到来すると、入出力リフレッシュ処理B60が実行された後、IECプログラム処理部140によりIECプログラム151の全体が実行(スキャン)されて、シーケンス制御についての1または複数の指令値が演算される(実行処理B40)。併せて、モーション処理部142によりIECプログラム151に含まれるモーション命令に関するモーション処理が実行されて、モーション命令についての1または複数の指令値が演算される(実行処理B42)。この実行処理B42には、上述した主軸指令演算部Cmmによる演算処理が含まれる。 First, the high-priority task will be described. When each control cycle arrives, after the input/output refresh processing B60 is executed, the IEC program processing unit 140 executes (scans) the entire IEC program 151, and the sequence control is performed. 1 or a plurality of command values are calculated (execution process B40). At the same time, the motion processing unit 142 executes the motion process related to the motion command included in the IEC program 151 to calculate one or more command values for the motion command (execution process B42). This execution process B42 includes the calculation process by the spindle command calculation unit Cmm described above.
 さらに、制御アプリケーション処理部130のモーション処理部132により、バッファ133に格納されている中間コードに従ってロボット30の制御用のモーション指令が準備される(実行処理B32)。この実行処理B32には、上述した主軸モデル部Mmによる演算処理と、従軸指令演算部Cmsによる演算処理が含まれる。以下、同様の処理が制御周期毎に繰返される。なお、モーション処理部132がバッファ133から中間コードを読み出すタイミングは、各制御周期でなくともよい。これは、読み出された中間コードは、複数の制御周期T1にわたって指令値を演算できるだけの命令を含む場合、その複数の制御周期T1においては中間コードの読み出しを一度で行える。 Further, the motion processing unit 132 of the control application processing unit 130 prepares a motion command for controlling the robot 30 according to the intermediate code stored in the buffer 133 (execution process B32). The execution process B32 includes the calculation process by the above-described spindle model unit Mm and the calculation process by the slave axis command calculation unit Cms. Hereinafter, the same process is repeated every control cycle. The timing at which the motion processing unit 132 reads the intermediate code from the buffer 133 does not have to be each control cycle. This is because when the read intermediate code includes an instruction that can calculate a command value over a plurality of control cycles T1, the intermediate code can be read at a time in the plurality of control cycles T1.
 このように、ある制御周期における高優先度タスクの実行が完了すると、モータ20のサーボ制御についての指令値と、ロボット30のサーボ制御についての指令値のセットが用意される。これらの指令値は、基本的には、次の制御周期が到来すると、フィールド側に反映される。すなわち、IECプログラム処理部140および制御アプリケーション処理部130は、同一の制御周期で入力データに応じた指令値を演算するので、その指令値を同期して出力することができる。 In this way, when the execution of the high-priority task in a certain control cycle is completed, a command value set for the servo control of the motor 20 and a command value set for the servo control of the robot 30 are prepared. These command values are basically reflected on the field side when the next control cycle arrives. That is, since the IEC program processing unit 140 and the control application processing unit 130 calculate the command value according to the input data in the same control cycle, the command value can be output in synchronization.
 一方、低優先度タスクについては、制御アプリケーション処理部130のインタプリタ134は、アプリケーションプログラム152を逐次実行する。すなわち、インタプリタ134は、アプリケーションプログラム152の読込みおよび解析を低優先度で実行する。インタプリタ134がアプリケーションプログラム152を解析処理して生成された中間コードは、バッファ133の容量を考慮しながら、逐次、バッファ133に格納される。バッファ133に格納された中間コードは、制御アプリケーション処理部130のモーション処理部132により順次参照されて、演算処理B32での指令値の生成に用いられる。このとき、インタプリタ134は、高優先度タスクの演算周期である制御周期の整数倍分の中間コードを事前に余分に生成しておくことで、モーション処理部132による処理に影響を与えることなく、制御アプリケーションに対する指令値を制御周期毎に演算できる。 On the other hand, for low priority tasks, the interpreter 134 of the control application processing unit 130 sequentially executes the application program 152. That is, the interpreter 134 reads and analyzes the application program 152 with low priority. The intermediate code generated by the interpreter 134 by analyzing the application program 152 is sequentially stored in the buffer 133 in consideration of the capacity of the buffer 133. The intermediate code stored in the buffer 133 is sequentially referred to by the motion processing unit 132 of the control application processing unit 130, and is used to generate a command value in the arithmetic processing B32. At this time, the interpreter 134 preliminarily generates an intermediate code for an integral multiple of the control cycle, which is the operation cycle of the high-priority task, in advance, without affecting the processing by the motion processing unit 132. A command value for the control application can be calculated for each control cycle.
 また、インタプリタ134は、予め定められた制御アプリケーション同期周期(制御周期の整数倍)が到来する前に、アプリケーションプログラム152の解釈を一時停止する。その一時停止したタイミングで、IECプログラム処理部140と制御アプリケーション処理部130との間でデータ同期を行うことで、双方に整合性をもつデータを共有する。このように、インタプリタ134は、同期周期毎に、IECプログラム処理部140との間で共有するデータを更新する。共有データの更新に併せて、フィールド側から取得される入力データおよび出力データについても更新(データ同期)するようにしてもよい。これにより、制御アプリケーション処理部130側でも、IECプログラム処理部140で取得されたデータを利用してロボット30の制御が可能となる。制御アプリケーション同期周期は、制御周期の整数倍に設定されれば、どのような長さであってもよい。制御アプリケーションにおいて要求される制御の精度などに応じて、適宜設定される。 Also, the interpreter 134 suspends the interpretation of the application program 152 before a predetermined control application synchronization cycle (an integral multiple of the control cycle) arrives. At the timing of the suspension, data synchronization is performed between the IEC program processing unit 140 and the control application processing unit 130 to share data having consistency with both. In this way, the interpreter 134 updates the data shared with the IEC program processing unit 140 for each synchronization cycle. In addition to updating the shared data, the input data and the output data acquired from the field side may also be updated (data synchronization). As a result, the control application processing unit 130 side can control the robot 30 using the data acquired by the IEC program processing unit 140. The control application synchronization cycle may have any length as long as it is set to an integral multiple of the control cycle. It is set as appropriate according to the precision of control required in the control application.
 次に、図12及び図13に基づいて、モータ20を主軸サーボ制御機器としロボット30を従軸サーボ制御機器とした、同期制御装置10による同期制御での処理の流れについて説明する。図12は、上述した高優先度タスクの処理に関するフローチャートであり、、図13は、上述した低優先度タスクの処理に関するフローチャートである。 Next, based on FIGS. 12 and 13, a flow of processing in the synchronous control by the synchronous control device 10 using the motor 20 as the main axis servo control device and the robot 30 as the slave axis servo control device will be described. FIG. 12 is a flowchart regarding the processing of the high priority task described above, and FIG. 13 is a flowchart regarding the processing of the low priority task described above.
 先ず、高優先度タスクの処理の流れについて説明する。制御周期T1が到来すると、インターフェース12が入出力リフレッシュ処理を実行する(S101の処理)。これによって、直前の制御周期T1において演算された指令値(B40、B42、B32等による指令値)が、モータ20及びロボット30へ出力されるとともに、それらからの入力データが取得される。続いて、S102において、今回の制御周期がデータ同期のタイミングと一致するか否かが判定される。そこで肯定判定されると、IECプログラム処理部140と制御アプリケーション処理部130との間でデータ同期が実行される(S103の処理)。またS102で否定判定されると、処理はS104へ進む。 First, the processing flow of the high priority task will be explained. When the control cycle T1 arrives, the interface 12 executes an input/output refresh process (process of S101). As a result, the command value (command value by B40, B42, B32, etc.) calculated in the immediately preceding control cycle T1 is output to the motor 20 and the robot 30, and the input data from them is acquired. Subsequently, in S102, it is determined whether or not the current control cycle matches the timing of data synchronization. If a positive determination is made there, data synchronization is executed between the IEC program processing unit 140 and the control application processing unit 130 (processing of S103). If a negative determination is made in S102, the process proceeds to S104.
 次に、S104では上記の実行処理B40が行われ、続いてS105では上記の実行処理B42が行われる。これらの処理は、モータ20のサーボ制御に関する処理である。その後、S106で、ロボット30のサーボ制御に関する実行処理B32が行われる。 Next, in S104, the above-described execution process B40 is performed, and subsequently in S105, the above-mentioned execution process B42 is performed. These processes are processes relating to servo control of the motor 20. Then, in S106, an execution process B32 relating to the servo control of the robot 30 is performed.
 図12に示す高優先度タスクの一連の処理により演算、準備された指令値は、次の制御周期T1が到来したときにフィールドへ出力される。そして、当該一連の処理の終了後であって次の制御周期T1が到来するまでの期間において、図13に示す低優先度タスクが実行されることになる。 The command value calculated and prepared by the series of processes of the high priority task shown in FIG. 12 is output to the field when the next control cycle T1 arrives. Then, the low-priority task shown in FIG. 13 is executed during the period after the end of the series of processes and before the arrival of the next control cycle T1.
 図13に基づいて、低優先度タスクの処理の流れについて説明する。低優先度タスクは、インタプリタ134によるアプリケーションプログラム152の解釈処理に関するものである。先ず、S301で、制御アプリケーション処理部130により、バッファ133に中間コードが残っているか否かが判定される。当該判定を行うのは、バッファ133の容量を超えた中間コードの生成を行わないようにするためである。S301で肯定判定されれば低優先度タスクは終了し、否定判定されれば処理はS302へ進む。S302では、インタプリタ134によって、アプリケーションプログラム152の一部が読み込まれる。例えば、アプリケーションプログラム152を構成するコードの一行分が読み込まれる。そして、S303では、インタプリタ134によって読込んだコードが解釈されて中間コードが生成される。生成された中間コードは、S304でバッファ133に格納される。なお、S302~S304の処理に関し、実行対象となるアプリケーションプログラムが存在しない場合にはこれらの処理は行われず、結果として、バッファ133には中間コードは格納されないことになる。このような一連の処理を有する低優先度タスクは、自身に対してプログラムの実行時間が割当てられている期間において繰返される。 The processing flow of the low priority task will be described based on FIG. The low-priority task relates to the interpreting process of the application program 152 by the interpreter 134. First, in S301, the control application processing unit 130 determines whether or not an intermediate code remains in the buffer 133. The determination is performed so that the intermediate code that exceeds the capacity of the buffer 133 is not generated. If an affirmative decision is made in S301, the low-priority task ends, and if a negative decision is made, the processing advances to S302. In S302, the interpreter 134 reads a part of the application program 152. For example, one line of the code forming the application program 152 is read. Then, in S303, the code read by the interpreter 134 is interpreted and an intermediate code is generated. The generated intermediate code is stored in the buffer 133 in S304. Note that, regarding the processes of S302 to S304, if there is no application program to be executed, these processes are not performed, and as a result, the intermediate code is not stored in the buffer 133. The low-priority task having such a series of processes is repeated in the period in which the program execution time is assigned to itself.
 図12、図13に示す一連の処理が行われることで、同期制御装置10において、図11に示す実行タイミングで、IECプログラム151およびアプリケーションプログラム152が実行され、以てモータ20とロボット30とを同期制御することが可能となる。ここで、図9に戻り、モータ20とロボット30との同期制御が行われていない状態、すなわち非同期制御の状態から、当該同期制御が行われる状態への切り替えについて、言及する。なお、その非同期制御から同期制御への切り替えは、制御部11(図1を参照)において形成される切替部によって実行される。当該切替部は、モータ20及びロボット30に対して付与されている制御プログラム、すなわちIECプログラム151とアプリケーションプログラム152内に含まれる、同期制御の実行又はその解除に関する指令に基づいて、非同期制御から同期制御への切り替え又は同期制御から非同期制御への切り替えを実現する。 By performing the series of processing shown in FIGS. 12 and 13, the synchronous control device 10 executes the IEC program 151 and the application program 152 at the execution timing shown in FIG. It becomes possible to perform synchronous control. Here, returning to FIG. 9, the switching from the state where the synchronous control of the motor 20 and the robot 30 is not performed, that is, the state of the asynchronous control to the state where the synchronous control is performed, will be described. The switching from the asynchronous control to the synchronous control is executed by the switching unit formed in the control unit 11 (see FIG. 1). The switching unit switches from asynchronous control to synchronous control based on a control program provided to the motor 20 and the robot 30, that is, a command regarding execution or cancellation of synchronous control included in the IEC program 151 and the application program 152. A switch to control or a switch from synchronous control to asynchronous control is realized.
 図9において、モータ20により制御されるフィールド機器の出力点(以下、単に「モータ20の出力点」と言う)が位置MP1にあり、ロボット30の出力点が位置SP1にあるときは、両者は非同期制御状態にあるものとする。このような状態から、モータ20の出力点が軌跡ML1を辿って位置MP2に到達し、且つ、ロボット30の出力点が軌跡SL1を辿って位置SP2に到達すると、両者の同期制御が開始され、その同期制御が行われた状態で、モータ20の出力点が軌跡ML2を辿り、且つロボット30の出力点が軌跡ML2に平行な軌跡SL2を辿る様子が、図9には示されている。すなわち、非制御状態ではそれぞれの出力点が離れているモータ20とロボット30が、各出力点が位置MP2と位置SP2に近接して両者の同期制御が実行される。したがって、切替部による切替処理は、モータ20とロボット30のそれぞれの出力点が、位置MP2と位置SP2に到達したときに開始されることになる。 In FIG. 9, when the output point of the field device controlled by the motor 20 (hereinafter, simply referred to as “output point of the motor 20”) is at the position MP1 and the output point of the robot 30 is at the position SP1, both of them are It is assumed to be in the asynchronous control state. From this state, when the output point of the motor 20 follows the locus ML1 to reach the position MP2 and the output point of the robot 30 follows the locus SL1 to reach the position SP2, synchronous control of both is started, FIG. 9 shows how the output point of the motor 20 follows the locus ML2 and the output point of the robot 30 follows the locus SL2 parallel to the locus ML2 in the state where the synchronization control is performed. That is, in the non-controlled state, the motor 20 and the robot 30 whose output points are distant from each other are controlled so that the output points approach the positions MP2 and SP2 and the synchronous control of both is performed. Therefore, the switching processing by the switching unit is started when the output points of the motor 20 and the robot 30 reach the positions MP2 and SP2.
 このような場合、切替部による切替処理時に制御形態が非同期制御から同期制御に切り替えられるため、従軸サーボ制御機器であるロボット30において振動が発生しやすい。振動が発生すると、上述した主軸指令演算部Cmm、主軸モデル部Mm、従軸指令演算部Cmsの演算処理による同期制御における追従精度の改善効果が低減するおそれがある。そこで、好ましくは、切替部により非同期制御から同期制御に切り替えられる直前の、非同期制御時における第1移行期間において、従軸サーボ制御機器であるロボット30の各制御軸の加速度(本願においては、加速度の概念に減速度も含まれる)が連続して変化するように、同期制御装置10が有する切替時指令演算部によりロボット30の指令位置が演算される。切替時指令演算部は、制御部11(図1を参照)に形成される機能部であり、切替時指令演算部の処理について、図14に基づいて説明する。 In such a case, since the control mode is switched from the asynchronous control to the synchronous control during the switching processing by the switching unit, the robot 30, which is the slave axis servo control device, is likely to generate vibration. When the vibration occurs, there is a possibility that the improvement effect of the tracking accuracy in the synchronous control by the calculation processing of the spindle command calculation unit Cmm, the spindle model unit Mm, and the slave shaft command calculation unit Cms described above may be reduced. Therefore, preferably, the acceleration of each control axis of the robot 30, which is the slave axis servo control device (acceleration in the present application, during the first transition period at the time of asynchronous control, immediately before switching from asynchronous control to synchronous control by the switching unit). The command position of the robot 30 is calculated by the switching command calculator included in the synchronous control device 10 so that the deceleration is also included in the concept (1). The switching time command calculation unit is a functional unit formed in the control unit 11 (see FIG. 1 ), and the processing of the switching time command calculation unit will be described with reference to FIG. 14.
 図14は、ロボット30の各制御軸(本実施形態においては、X軸、Y軸、Z軸)における加速度の時間推移を表している。図14に示す時刻T2は、モータ20とロボット30との同期制御が開始される時刻、すなわち、図9において、モータ20とロボット30のそれぞれの出力点が、位置MP2と位置SP2に到達する時刻である。そして、この時刻T2の直前の第1移行期間である時刻T1~T2の期間において、ロボット30の各制御軸の加速度が図14に示すように連続して変化するように、切替時指令演算部が各制御軸の指令位置を演算する。このようにロボット30の各制御軸の指令位置が演算されることで、ロボット30は、非同期制御から同期制御に切り替わるタイミングにおいて各制御軸の同期制御への移行を好適に滑らかに実現でき、以て、ロボット30の出力点の振動を効果的に抑制することができる。これは、同期制御における追従精度の低下回避に効果的である。 FIG. 14 shows a time transition of acceleration on each control axis (X axis, Y axis, Z axis in the present embodiment) of the robot 30. Time T2 shown in FIG. 14 is the time when the synchronous control of the motor 20 and the robot 30 is started, that is, the time when the output points of the motor 20 and the robot 30 reach the position MP2 and the position SP2 in FIG. Is. Then, in the period from time T1 to T2, which is the first transition period immediately before this time T2, the switching time command calculation unit is set so that the acceleration of each control axis of the robot 30 continuously changes as shown in FIG. Calculates the command position of each control axis. By calculating the command position of each control axis of the robot 30 in this way, the robot 30 can suitably and smoothly realize the transition to the synchronous control of each control axis at the timing of switching from the asynchronous control to the synchronous control. Thus, the vibration of the output point of the robot 30 can be effectively suppressed. This is effective in avoiding deterioration of the tracking accuracy in the synchronous control.
 上記実施形態では、非同期制御から同期制御への切り替え時の振動抑制について言及したが、同期制御から非同期制御への切り替えの際にも、同様に切替時指令演算部が、ロボット30の各制御軸の指令位置を演算することで、ロボット30の出力点の振動を抑制することができる。すなわち、モータ20とロボット30との同期制御が終了される時刻、すなわち、同期制御から非同期制御に切り替えられる時刻の直後の、非同期制御時における第2移行期間において、切替時指令演算部が、ロボット30の各制御軸の加速度が連続して変化するように、各制御軸の指令位置を演算すればよい。 In the above-described embodiment, the vibration suppression at the time of switching from the asynchronous control to the synchronous control is referred to. However, at the time of switching from the synchronous control to the asynchronous control, the switching command computing unit similarly causes each control axis of robot 30. By calculating the command position of, the vibration of the output point of the robot 30 can be suppressed. That is, in the second transition period in the asynchronous control immediately after the time when the synchronous control of the motor 20 and the robot 30 ends, that is, the time when the synchronous control is switched to the asynchronous control, the switching time command calculation unit causes the robot to operate. The command position of each control axis may be calculated so that the acceleration of each control axis of 30 continuously changes.
 なお、第1移行期間、第2移行期間の長さは、指示されている同期制御が実現可能な限りにおいて、ロボット30の出力点の振動抑制に適した期間を適宜設定すればよい。また、切替時指令演算部による指令位置の演算は、必ずしもロボット30の制御軸の全てにおいて行う必要は無い。ロボット30の出力点の振動が抑制される限りにおいては、ロボット30の制御軸の一部において、切替時指令演算部による指令位置の演算を行ってもよい。 It should be noted that the lengths of the first transition period and the second transition period may be appropriately set as long as the instructed synchronous control can be realized, which is suitable for suppressing the vibration of the output point of the robot 30. Further, the calculation of the command position by the switching command calculation unit does not necessarily have to be performed for all the control axes of the robot 30. As long as the vibration at the output point of the robot 30 is suppressed, the command position at switching may be calculated by a command calculation unit at the time of a part of the control axis of the robot 30.
 〔ソフトウェアによる実現例〕
 同期制御装置10の機能ブロック(特に主軸指令演算部Cmm、主軸モデル部Mm、従軸指令演算部Cms、機種情報取得部52、動特性モデル情報取得部53、動特性モデル情報生成部54、IECプログラム処理部140、制御アプリケーション処理部130)あるいはシミュレーション装置60の機能ブロック(特にシミュレート処理部61の機能ブロック)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
[Example of software implementation]
Functional blocks of the synchronous control device 10 (particularly, the spindle command computing unit Cmm, the spindle model unit Mm, the slave spindle command computing unit Cms, the model information acquisition unit 52, the dynamic characteristic model information acquisition unit 53, the dynamic characteristic model information generation unit 54, IEC The program processing unit 140, the control application processing unit 130) or the functional blocks of the simulation device 60 (particularly the functional block of the simulation processing unit 61) are realized by a logic circuit (hardware) formed in an integrated circuit (IC chip) or the like. It may be realized by software.
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。 The present invention is not limited to the above-described embodiments, but various modifications can be made within the scope of the claims, and embodiments obtained by appropriately combining the technical means disclosed in the different embodiments Is also included in the technical scope of the present invention.
 <付記1>
 主軸サーボ制御機構(20)に対する時系列の目標位置情報に基づいて、前記主軸サーボ制御機構(20)に対する主軸指令位置を算出する主軸指令演算部(Cmm)と、
 前記主軸指令位置、前記主軸サーボ制御機構(20)における主軸フィードバック位置、および、前記目標位置情報に基づいて算出した、所定時間後の予測主軸指令位置を入力とし、前記主軸サーボ制御機構(20)の動特性モデルによって、前記主軸サーボ制御機構(20)の予測主軸フィードバック位置を算出する主軸モデル部(Mm)と、
 前記主軸モデル部(Mm)によって算出された前記主軸サーボ制御機構(20)の予測主軸フィードバック位置に基づいて、従軸サーボ制御機構(30)に対する従軸指令位置を算出する従軸指令演算部(Cms)と、を備える同期制御装置。
<Appendix 1>
A spindle command calculation unit (Cmm) that calculates a spindle command position for the spindle servo control mechanism (20) based on time-series target position information for the spindle servo control mechanism (20);
The spindle command position, the spindle feedback position in the spindle servo control mechanism (20), and the predicted spindle command position after a predetermined time calculated based on the target position information are input, and the spindle servo control mechanism (20). A spindle model section (Mm) for calculating a predicted spindle feedback position of the spindle servo control mechanism (20) by the dynamic characteristic model of
A slave axis command calculation unit (which calculates a slave axis command position for the slave axis servo control mechanism (30) based on the predicted spindle feedback position of the spindle servo control mechanism (20) calculated by the spindle model unit (Mm). Cms), and a synchronous control device.
 <付記2>
 主軸サーボ制御機構(20)に対する時系列の目標位置情報に基づいて、前記主軸サーボ制御機構(20)に対する主軸指令位置を算出する主軸指令演算ステップと、
 前記主軸指令位置、前記主軸サーボ制御機構(20)における主軸フィードバック位置、および、前記目標位置情報に基づいて算出した、所定時間後の予測主軸指令位置を入力とし、前記主軸サーボ制御機構(20)の動特性モデルによって、前記主軸サーボ制御機構(20)の予測主軸フィードバック位置を算出する主軸モデル演算ステップと、
 前記主軸モデル演算ステップによって算出された前記主軸サーボ制御機構(20)の予測主軸フィードバック位置に基づいて、従軸サーボ制御機構(30)に対する従軸指令位置を算出する従軸指令演算ステップと、を有する同期制御方法。
<Appendix 2>
A spindle command calculation step of calculating a spindle command position for the spindle servo control mechanism (20) based on time-series target position information for the spindle servo control mechanism (20);
The spindle command position, the spindle feedback position in the spindle servo control mechanism (20), and the predicted spindle command position after a predetermined time calculated based on the target position information are input, and the spindle servo control mechanism (20). Spindle model calculation step of calculating a predicted spindle feedback position of the spindle servo control mechanism (20) by the dynamic characteristic model of
A slave axis command calculation step of calculating a slave axis command position for the slave axis servo control mechanism (30) based on the predicted spindle feedback position of the spindle servo control mechanism (20) calculated in the spindle model calculation step. A synchronous control method having.
 1、2 同期制御システム
 10、50 同期制御装置
 11、51 制御部
 52 機種情報取得部
 53 動特性モデル情報取得部
 54 動特性モデル情報生成部
 12 インターフェース
 13 記録部
 20 主軸サーボ制御機構(モータ)
 30 従軸サーボ制御機構(ロボット)
 40 通信ネットワーク
 60 シミュレーション装置
 61 シミュレート処理部
 62 インターフェース
 63 記録部
 64 表示部
 65 受付部
 66 送信部
 130 制御アプリケーション処理部
 140 IECプログラム処理部
 151 IECプログラム
 152 アプリケーションプログラム
 Cmm 主軸指令演算部
 Cms 従軸指令演算部
 Mm 主軸モデル部
 Cm 主軸制御部
 Pm 主軸モータ(主軸)
 Cs 従軸制御部
 Ps 従軸モータ(従軸)
 Sm 主軸サーボ制御機構シミュレーション部
 Ss 従軸サーボ制御機構シミュレーション部
 
1, 2 Synchronous control system 10, 50 Synchronous control device 11, 51 Control unit 52 Model information acquisition unit 53 Dynamic characteristic model information acquisition unit 54 Dynamic characteristic model information generation unit 12 Interface 13 Recording unit 20 Spindle servo control mechanism (motor)
30 Slave axis servo control mechanism (robot)
40 communication network 60 simulation device 61 simulation processing unit 62 interface 63 recording unit 64 display unit 65 reception unit 66 transmission unit 130 control application processing unit 140 IEC program processing unit 151 IEC program 152 application program Cmm main axis command calculation unit Cms slave axis command Arithmetic section Mm Spindle model section Cm Spindle control section Pm Spindle motor (spindle)
Cs slave axis control unit Ps slave axis motor (slave axis)
Sm Spindle servo control mechanism simulation section Ss Slave axis servo control mechanism simulation section

Claims (11)

  1.  主軸サーボ制御機構に対する時系列の目標位置情報に基づいて、前記主軸サーボ制御機構に対する主軸指令位置を算出する主軸指令演算部と、
     前記主軸指令位置、前記主軸サーボ制御機構における主軸フィードバック位置、および、前記目標位置情報に基づいて算出した、所定時間後の予測主軸指令位置を入力とし、前記主軸サーボ制御機構の動特性モデルによって、前記主軸サーボ制御機構の予測主軸フィードバック位置を算出する主軸モデル部と、
     前記主軸モデル部によって算出された前記主軸サーボ制御機構の予測主軸フィードバック位置に基づいて、従軸サーボ制御機構に対する従軸指令位置を算出する従軸指令演算部と、を備える同期制御装置。
    A spindle command calculation unit that calculates a spindle command position for the spindle servo control mechanism based on time-series target position information for the spindle servo control mechanism;
    The spindle command position, the spindle feedback position in the spindle servo control mechanism, and, calculated based on the target position information, the predicted spindle command position after a predetermined time as an input, by the dynamic characteristic model of the spindle servo control mechanism, A spindle model section for calculating a predicted spindle feedback position of the spindle servo control mechanism;
    And a slave axis command calculation section that calculates a slave axis command position for the slave axis servo control mechanism based on the predicted spindle feedback position of the spindle servo control mechanism calculated by the spindle model section.
  2.  複数の機種のサーボ制御機構の動特性モデルの情報を記憶する記録部と、
     前記主軸サーボ制御機構の動特性モデルの情報を、前記記録部に記憶された前記複数の機種のサーボ制御機構の動特性モデルの情報から選択して取得する動特性モデル情報取得部と、を更に備える、請求項1に記載の同期制御装置。
    A recording unit that stores information on dynamic characteristic models of a plurality of servo control mechanisms,
    Further, a dynamic characteristic model information acquisition unit that acquires the dynamic characteristic model information of the spindle servo control mechanism by selecting it from the dynamic characteristic model information of the servo control mechanisms of the plurality of models stored in the recording unit. The synchronization control device according to claim 1, further comprising:
  3.  前記主軸サーボ制御機構の動特性モデルの情報を、通信ネットワークを介して取得する、動特性モデル情報取得部を更に備える、請求項1に記載の同期制御装置。 The synchronous control device according to claim 1, further comprising a dynamic characteristic model information acquisition unit that acquires dynamic characteristic model information of the spindle servo control mechanism via a communication network.
  4.  前記同期制御装置に接続されている前記主軸サーボ制御機構の機種情報を取得する、機種情報取得部を更に備え、
     前記動特性モデル情報取得部が、前記機種情報取得部によって取得された機種情報に対応する動特性モデル情報を取得する、請求項2または3に記載の同期制御装置。
    Further comprising a model information acquisition unit for acquiring model information of the spindle servo control mechanism connected to the synchronous control device,
    The synchronization control device according to claim 2, wherein the dynamic characteristic model information acquisition unit acquires dynamic characteristic model information corresponding to the model information acquired by the model information acquisition unit.
  5.  前記同期制御装置に接続されている前記主軸サーボ制御機構を動作させて、前記主軸サーボ制御機構の動特性モデルを生成する、動特性モデル情報生成部を更に備える、請求項1に記載の同期制御装置。 The synchronous control according to claim 1, further comprising a dynamic characteristic model information generation unit that operates the spindle servo control mechanism connected to the synchronous control device to generate a dynamic characteristic model of the spindle servo control mechanism. apparatus.
  6.  前記従軸サーボ制御機構は、複数の制御軸を有し、
     前記同期制御装置は、
     前記主軸指令演算部による処理と、前記主軸モデル部による処理と、前記従軸指令演算部による処理とが行われる、前記主軸サーボ制御機構と前記従軸サーボ制御機構との同期制御と、該同期制御が行われない非同期制御とを切り替える、切替部と、
     前記切替部により前記非同期制御から前記同期制御に切り替えられる直前の第1移行期間において、および/又は、該同期制御から該非同期制御に切り替えられる直後の第2移行期間において、前記従軸サーボ制御機構が有する前記複数の制御軸のうち少なくとも一の制御軸の加速度が連続して変化するように該従軸サーボ制御機構に対する前記従軸指令位置を算出する、切替時指令演算部と、
     を更に備える、請求項1から請求項5の何れか1項に記載の同期制御装置。
    The slave axis servo control mechanism has a plurality of control axes,
    The synchronous control device,
    Synchronous control between the spindle servo control mechanism and the slave axis servo control mechanism, in which processing by the spindle command computing unit, processing by the spindle model unit, and processing by the slave axis command computing unit are performed, and the synchronization. A switching unit that switches between asynchronous control that is not controlled and
    In the first transition period immediately before switching from the asynchronous control to the synchronous control by the switching unit, and/or in the second transition period immediately after switching from the synchronous control to the asynchronous control, the slave axis servo control mechanism. A switching command calculator, which calculates the slave axis command position for the slave axis servo control mechanism so that the acceleration of at least one control axis among the plurality of control axes included in
    The synchronous control device according to claim 1, further comprising:
  7.  前記切替時指令演算部は、前記第1移行期間、および/又は前記第2移行期間において、前記従軸サーボ制御機構が有する前記複数の制御軸の全ての制御軸の加速度が連続して変化するように該従軸サーボ制御機構に対する前記従軸指令位置を算出する、
     請求項6に記載の同期制御装置。
    The switching command calculator continuously changes accelerations of all control axes of the plurality of control axes of the slave axis servo control mechanism during the first transition period and/or the second transition period. To calculate the slave axis command position for the slave axis servo control mechanism,
    The synchronization control device according to claim 6.
  8.  請求項1~7のいずれか1項に記載の同期制御装置に接続されるシミュレーション装置であって、
     互いに異なる複数の前記所定時間に対して、前記主軸指令演算部、前記主軸モデル部、前記従軸指令演算部、前記主軸サーボ制御機構、前記従軸サーボ制御機構の動作をシミュレートすることにより、互いに異なる複数の前記所定時間に対する、前記主軸サーボ制御機構における前記主軸フィードバック位置及び前記従軸サーボ制御機構における従軸フィードバック位置のシミュレーションを実行するシミュレート処理部と、
     前記シミュレート処理部による、互いに異なる複数の前記所定時間に対する複数のシミュレーション結果を表示する表示部と、
     前記複数のシミュレーション結果のいずれかを選択する入力を、ユーザから受け付ける受付部と、
     前記受付部で受け付けたシミュレーション結果に対応するパラメタを前記同期制御装置に送信する送信部と、を備えるシミュレーション装置。
    A simulation device connected to the synchronous control device according to any one of claims 1 to 7,
    By simulating the operations of the spindle command calculator, the spindle model calculator, the slave spindle command calculator, the spindle servo control mechanism, and the slave servo control mechanism, for a plurality of predetermined times different from each other, A simulation processing unit that executes a simulation of the spindle feedback position in the spindle servo control mechanism and the slave axis feedback position in the slave axis servo control mechanism for a plurality of mutually different predetermined times,
    A display unit for displaying a plurality of simulation results for the plurality of predetermined times different from each other by the simulation processing unit,
    An accepting unit that accepts an input for selecting one of the plurality of simulation results from a user,
    A simulation device comprising: a transmission unit that transmits a parameter corresponding to the simulation result received by the reception unit to the synchronization control device.
  9.  請求項1~7のいずれか1項に記載の同期制御装置と、
     前記同期制御装置に接続された主軸サーボ制御機構と、
     前記同期制御装置に接続された従軸サーボ制御機構と、を備える、同期制御システム。
    A synchronization control device according to any one of claims 1 to 7,
    A spindle servo control mechanism connected to the synchronous control device,
    A slave axis servo control mechanism connected to the synchronous control device.
  10.  主軸サーボ制御機構に対する時系列の目標位置情報に基づいて、前記主軸サーボ制御機構に対する主軸指令位置を算出する主軸指令演算ステップと、
     前記主軸指令位置、前記主軸サーボ制御機構における主軸フィードバック位置、および、前記目標位置情報に基づいて算出した、所定時間後の予測主軸指令位置を入力とし、前記主軸サーボ制御機構の動特性モデルによって、前記主軸サーボ制御機構の予測主軸フィードバック位置を算出する主軸モデル演算ステップと、
     前記主軸モデル演算ステップによって算出された前記主軸サーボ制御機構の予測主軸フィードバック位置に基づいて、従軸サーボ制御機構に対する従軸指令位置を算出する従軸指令演算ステップと、を有する同期制御方法。
    A spindle command calculation step of calculating a spindle command position for the spindle servo control mechanism based on time-series target position information for the spindle servo control mechanism;
    The spindle command position, the spindle feedback position in the spindle servo control mechanism, and, calculated based on the target position information, the predicted spindle command position after a predetermined time as an input, by the dynamic characteristic model of the spindle servo control mechanism, A spindle model calculation step of calculating a predicted spindle feedback position of the spindle servo control mechanism;
    A slave axis command calculating step of calculating a slave axis command position for the slave axis servo control mechanism based on the predicted spindle feedback position of the spindle servo control mechanism calculated by the master axis model calculating step.
  11.  前記従軸サーボ制御機構は、複数の制御軸を有し、
     前記同期制御方法は、
     前記主軸指令演算部による処理と、前記主軸モデル部による処理と、前記従軸指令演算部による処理とが行われる、前記主軸サーボ制御機構と前記従軸サーボ制御機構との同期制御と、該同期制御が行われない非同期制御とを切り替えるステップと、
     前記切替部により前記非同期制御から前記同期制御に切り替えられる直前の第1移行期間において、および/又は、該同期制御から該非同期制御に切り替えられる直後の第2移行期間において、前記従軸サーボ制御機構が有する前記複数の制御軸のうち少なくとも一の制御軸の加速度が連続して変化するように該従軸サーボ制御機構に対する前記従軸指令位置を算出するステップと、
     を更に有する、請求項10に記載の同期制御方法。
     
    The slave axis servo control mechanism has a plurality of control axes,
    The synchronous control method,
    Synchronous control between the spindle servo control mechanism and the slave axis servo control mechanism, in which processing by the spindle command computing unit, processing by the spindle model unit, and processing by the slave axis command computing unit are performed, and the synchronization. A step of switching between asynchronous control where control is not performed,
    In the first transition period immediately before switching from the asynchronous control to the synchronous control by the switching unit, and/or in the second transition period immediately after switching from the synchronous control to the asynchronous control, the slave axis servo control mechanism. A step of calculating the slave axis command position for the slave axis servo control mechanism so that the acceleration of at least one control axis of the plurality of control axes of
    The synchronization control method according to claim 10, further comprising:
PCT/JP2019/048289 2018-12-27 2019-12-10 Synchronization control device, synchronization control system, synchronization control method, and simulation device WO2020137522A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/298,856 US11822313B2 (en) 2018-12-27 2019-12-10 Synchronization control device, synchronization control system, synchronization control method, and simulation device
CN201980079285.3A CN113168135A (en) 2018-12-27 2019-12-10 Synchronization control device, synchronization control system, synchronization control method, and simulation device
EP19906291.0A EP3876044A4 (en) 2018-12-27 2019-12-10 Synchronization control device, synchronization control system, synchronization control method, and simulation device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2018246019 2018-12-27
JP2018-246019 2018-12-27
JP2019-163280 2019-09-06
JP2019163280A JP7310465B2 (en) 2018-12-27 2019-09-06 Synchronous control device, synchronous control system, synchronous control method, and simulation device

Publications (1)

Publication Number Publication Date
WO2020137522A1 true WO2020137522A1 (en) 2020-07-02

Family

ID=71127983

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/048289 WO2020137522A1 (en) 2018-12-27 2019-12-10 Synchronization control device, synchronization control system, synchronization control method, and simulation device

Country Status (1)

Country Link
WO (1) WO2020137522A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3551328B2 (en) 1994-10-28 2004-08-04 株式会社安川電機 Synchronous control device
JP2004328829A (en) * 2003-04-22 2004-11-18 Yaskawa Electric Corp Method and device for controlling motor
JP2006172438A (en) * 2004-11-17 2006-06-29 Omron Corp Method of controlling electronic cam and servo motor control system
JP2010022145A (en) * 2008-07-11 2010-01-28 Yaskawa Electric Corp Synchronous control apparatus
WO2016185590A1 (en) * 2015-05-20 2016-11-24 三菱電機株式会社 Multi-shaft mechanical device simulator, design assistance apparatus for operation command device, design assistance apparatus for electric motor-controlling device, and electric motor capacity selection apparatus
JP2018120327A (en) * 2017-01-24 2018-08-02 オムロン株式会社 Control apparatus, control program and control system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3551328B2 (en) 1994-10-28 2004-08-04 株式会社安川電機 Synchronous control device
JP2004328829A (en) * 2003-04-22 2004-11-18 Yaskawa Electric Corp Method and device for controlling motor
JP2006172438A (en) * 2004-11-17 2006-06-29 Omron Corp Method of controlling electronic cam and servo motor control system
JP2010022145A (en) * 2008-07-11 2010-01-28 Yaskawa Electric Corp Synchronous control apparatus
WO2016185590A1 (en) * 2015-05-20 2016-11-24 三菱電機株式会社 Multi-shaft mechanical device simulator, design assistance apparatus for operation command device, design assistance apparatus for electric motor-controlling device, and electric motor capacity selection apparatus
JP2018120327A (en) * 2017-01-24 2018-08-02 オムロン株式会社 Control apparatus, control program and control system

Similar Documents

Publication Publication Date Title
JP7310465B2 (en) Synchronous control device, synchronous control system, synchronous control method, and simulation device
US10761884B2 (en) Control device for operating multiple types of programs in different execution formats
CN109388107B (en) Control device
US10496079B2 (en) Control device and control method
CN109581976B (en) Control device
US10606246B2 (en) Control device and control method with various command values in a shared memory providing access to various program execution and command value operation parts in each control cycle
US20190095246A1 (en) Support device and non-transitory storage medium
JP6900863B2 (en) Control unit, control method and control program
US11855907B2 (en) Robot control system and control method
JP7490979B2 (en) Processing device and processing method
WO2021095466A1 (en) Control device
WO2020137522A1 (en) Synchronization control device, synchronization control system, synchronization control method, and simulation device
WO2020026622A1 (en) Control device
JP7230703B2 (en) Control device
JP7456165B2 (en) Control device
JP7396063B2 (en) Data processing method
JP7318406B2 (en) Control device
US12032349B2 (en) Controller
JP2022139199A (en) System and method for controlling a plurality of moving mechanisms

Legal Events

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

Ref document number: 19906291

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019906291

Country of ref document: EP

Effective date: 20210602

NENP Non-entry into the national phase

Ref country code: DE