WO2022044971A1 - 電動機の制御装置、機械システム、及び制御方法 - Google Patents

電動機の制御装置、機械システム、及び制御方法 Download PDF

Info

Publication number
WO2022044971A1
WO2022044971A1 PCT/JP2021/030454 JP2021030454W WO2022044971A1 WO 2022044971 A1 WO2022044971 A1 WO 2022044971A1 JP 2021030454 W JP2021030454 W JP 2021030454W WO 2022044971 A1 WO2022044971 A1 WO 2022044971A1
Authority
WO
WIPO (PCT)
Prior art keywords
frequency band
feedback value
filter
industrial machine
unit
Prior art date
Application number
PCT/JP2021/030454
Other languages
English (en)
French (fr)
Inventor
翔吾 篠田
聡史 猪飼
Original Assignee
ファナック株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ファナック株式会社 filed Critical ファナック株式会社
Priority to US18/022,657 priority Critical patent/US20230315026A1/en
Priority to CN202180052122.3A priority patent/CN116113892A/zh
Priority to JP2022544526A priority patent/JPWO2022044971A1/ja
Priority to DE112021003494.4T priority patent/DE112021003494T5/de
Publication of WO2022044971A1 publication Critical patent/WO2022044971A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • G05B11/40Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining an integral characteristic
    • 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
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path

Definitions

  • This disclosure relates to a motor control device, a mechanical system, and a control method.
  • a motor control device is known (for example, Patent Document 1).
  • the command to the motor may be corrected based on the feedback value from the sensor.
  • the control device for controlling the electric motor of the industrial machine is a feedback acquisition unit that acquires a feedback value from the industrial machine operated by the operation of the electric machine, and a command for operating the electric motor based on the feedback value.
  • a correction unit that corrects for A filter switching unit that switches the frequency band of the filter processing executed by the filter unit from the first frequency band to the second frequency band when it is determined by the state determination unit and the operation state determination unit that the operation state has changed. And prepare.
  • a method of controlling an electric motor of an industrial machine obtains a feedback value from an industrial machine operated by the operation of the electric machine, corrects a command for operating the electric motor based on the feedback value, and corrects a command for operating the electric machine.
  • a filter process for reducing the value in a predetermined frequency band is executed for the feedback value for the correction, it is determined whether or not the operating state of the industrial machine has changed, and it is determined that the operating state has changed.
  • the frequency band of the filtering process to be executed is switched from the first frequency band to the second frequency band.
  • the present embodiment it is possible to appropriately execute the correction by the correction unit by switching the frequency band of the filter processing executed by the filter unit according to the operating state of the industrial machine. ..
  • the mechanical system 10 includes an industrial machine 12 and a control device 14 for controlling the industrial machine 12.
  • the industrial machine 12 is a machine tool for processing a work.
  • the industrial machine 12 has a tool 16, a driven body 18, a moving mechanism 20, and a sensor 22.
  • the moving mechanism 20 relatively moves the tool 16 and the driven body 18.
  • the moving mechanism 20 includes an electric motor 24 and a ball screw mechanism 26.
  • the ball screw mechanism 26 has a ball screw 26a extending straight along the axis A and a nut member 26b screwed to the ball screw 26a. One end of the ball screw 26a is connected to the output shaft 24a of the electric motor 24.
  • the driven body 18 is a work table having a work installation surface 18a which is a flat surface, and the work W is installed on the work installation surface 18a via a jig (not shown). ..
  • a nut member 26b of the ball screw mechanism 26 is fixed to the driven body 18.
  • the electric motor 24 is, for example, a servomotor, and in response to a command from the control device 14, the ball screw 26a is rotated, whereby the driven body 18 is reciprocated along the axis A.
  • the sensor 22 is an encoder (or Hall element) or the like that detects the rotation position (or rotation angle) of the electric motor 24.
  • the sensor 22 continuously (for example, periodically) detects the rotation speed V of the motor 24 by time-differentiating the rotation position of the detected motor 24, and sequentially supplies the speed feedback value FB V to the control device 14. do.
  • the control device 14 is a computer having a processor 30, a memory 32, and an I / O interface 34.
  • the processor 30 is communicably connected to the memory 32 and the I / O interface 34 via the bus 35, and is for realizing various functions described later while communicating with the memory 32 and the I / O interface 34. Perform arithmetic processing.
  • the memory 32 has a RAM, a ROM, or the like, and temporarily or permanently stores various data.
  • the I / O interface 34 has, for example, an Ethernet (registered trademark) port, a USB port, an optical fiber connector, or an HDMI (registered trademark) terminal, and data is transmitted to and from an external device under a command from the processor 30. Communicate by wire or wirelessly.
  • FIG. 3 shows a block diagram showing a control flow of the motor 24.
  • the control device 14 has a position command generation unit 36, a speed command generation unit 38, a torque command generation unit 40, a current control unit 42, a filter unit 44, a filter switching unit 46, and a gain 48.
  • the processor 30 is responsible for arithmetic processing for realizing the functions of the position command generation unit 36, the speed command generation unit 38, the torque command generation unit 40, the current control unit 42, the filter unit 44, the filter switching unit 46, and the gain 48. ..
  • the processor 30 acquires the speed feedback value FB V from the sensor 22 of the industrial machine 12 via the I / O interface 34.
  • This speed feedback value FB V is time series data showing the amplitude value of the rotation speed V of the electric motor 24 in time series.
  • the processor 30 functions as the feedback acquisition unit 52 (FIG. 1) that acquires the feedback value FB V from the industrial machine 12.
  • the velocity feedback value FB V acquired from the sensor 22 is input to the subtractor 54 and the integrator 56, respectively.
  • the integrator 56 time-integrates the input velocity feedback value FB V and outputs the position feedback value FB P to the subtractor 58.
  • the feedback value FB V acquired from the sensor 22 is input to the filter unit 44.
  • the filter unit 44 performs a filter process on the feedback value FB V. The details of this filtering process will be described later.
  • the filter unit 44 applies a filter process to the feedback value FB V and outputs the feedback value to the gain 48.
  • the gain 48 generates a speed correction value CV by multiplying the speed feedback value FB V output from the filter unit 44 by the gain G1, and outputs the speed correction value CV to the adder 60.
  • the position command generation unit 36 When the electric motor 24 is operated to operate the industrial machine 12, the position command generation unit 36 generates a position command PC according to the operation program OP and outputs the position command PC to the subtractor 58.
  • the subtractor 58 subtracts the position feedback value FB P from the position command PC and outputs it as a position deviation ⁇ P to the speed command generation unit 38.
  • the speed command generation unit 38 generates a speed command VC based on the position deviation ⁇ P and outputs it to the adder 60.
  • the adder 60 generates the correction speed command VC'by adding the speed correction value CV to the speed command VC.
  • the gain 48 generates the speed correction value C V based on the speed feedback value FB V filtered by the filter unit 44, and the adder 60 corrects the speed command VC by the speed correction value C V. is doing. Therefore, in the present embodiment, the gain 48 and the adder 60 constitute a correction unit 62 that corrects the command VC based on the feedback value FB V.
  • the driven body 18 and the work W are due to the elasticity of the components of the industrial machine 12 (for example, the driven body 18, the ball screw mechanism 26, the output shaft 24a of the motor 24, etc.). May vibrate slightly.
  • the correction unit 62 is configured to make a correction for canceling such a minute vibration.
  • the correction speed command VC'output from the adder 60 is input to the subtractor 54.
  • the subtractor 54 subtracts the speed feedback value FB V from the correction speed command VC'and outputs it as a speed deviation ⁇ V'.
  • the torque command generation unit 40 generates a torque command TC based on the speed deviation ⁇ V'and outputs it to the current control unit 42.
  • the current control unit 42 generates a voltage signal VS (for example, a PWM control signal) based on the torque command value TC, and transmits it to the servo amplifier 64 via the I / O interface 34.
  • the servo amplifier 64 amplifies the voltage signal VS and inputs it to the electric motor 24 of the industrial machine 12.
  • the electric motor 24 drives the driven body 18 (that is, the work W) according to the input voltage signal VS.
  • the signal passing through the control line from the position command generation unit 36 to the motor 24 is defined as a "command" for operating the motor 24. Therefore, in the present embodiment, the position command PC, the position deviation ⁇ P, the speed command VC, the correction speed command VC', the speed deviation ⁇ V', the torque command TC, and the voltage signal VS give commands for operating the motor 24. Configure.
  • the processor 30 generates the command PC, ⁇ P, VC, VC', ⁇ V', TC and VS according to the operation program OP, and controls the operation of the electric motor 24. Then, the processor 30 operates the industrial machine 12 so as to process the work W with the tool 16 while moving the driven body 18 by the operation of the electric motor 24.
  • the filter unit 44 performs a filter processing FR for reducing the value in a predetermined frequency band with respect to the feedback value FB (in the present embodiment, the velocity feedback value FB V ) supplied to the correction unit 62.
  • FIG. 4 shows an example of the filter processing FR executed by the filter unit 44.
  • the filter unit 44 performs a filter processing (that is, a low-pass filter processing) for reducing the amplitude value of the frequency band [ f > fa ] higher than the cutoff frequency fa with respect to the feedback value FB. )I do.
  • the filter processing FR A of the filter unit 44 for the feedback value FB is not limited to the low-pass filter processing, and is, for example, a frequency band [ f > fa] and a frequency band lower than the cutoff frequency fa [ f ⁇ fa ]. It may be a band pass filter process that further reduces a specific frequency (or frequency band) included in the above, or a notch filter process that further reduces a specific frequency (or frequency band).
  • the cutoff frequency fa is determined by the operator as a frequency lower than the frequency band of the noise component N1 from which the noise component N1 can be removed.
  • the feedback value FB (specifically, the velocity feedback value FB V ) detected by the sensor 22 includes the noise component N2 caused by the mechanical shock.
  • noise component N2 An example of such a noise component N2 is shown in FIG.
  • the noise component N2 is distributed in the frequency bands f b to f c lower than the cutoff frequency fa of the filtered FR A. Therefore, when such a noise component N2 is included in the feedback value FB, the noise component N2 cannot be removed by the above-mentioned filter processing FR A.
  • FIG. 6 shows an example of a filtered FR capable of removing such a noise component N2.
  • the filter unit 44 reduces the amplitude value of the feedback value FB in a frequency band [f> f d ] higher than the cutoff frequency f d ( ⁇ f b ) (filter processing FR B). Perform low-pass filter processing).
  • the noise component N2 can be removed from the feedback value FB supplied to the correction unit 62.
  • FIG. 7 shows another example of the filtered FR capable of removing the noise component N2.
  • the filter unit 44 sets the frequency band [ f d ⁇ f ⁇ .
  • a filter process for reducing the amplitude value is performed in the frequency band [ f > fa ] higher than the cutoff frequency fa .
  • Such a filter processing FRC can be realized, for example, by a combination of a notch filter processing that cuts off the frequency band of f d ⁇ f ⁇ fe and a low-pass filter processing that cuts off the frequency band of f> fa.
  • the noise component N2 can be removed from the feedback value FB supplied to the correction unit 62.
  • the frequency bands of this filtered FRC are set, for example, by obtaining the frequency characteristics of the noise component N2 in advance by an experimental method or simulation. can.
  • the filter unit 44 is configured to execute a digital filter (FIR filter, IIR filter, or the like) processing.
  • the filter unit 44 executes the filter processing FRA using the feedback value FB and a predetermined filter coefficient ⁇ A (tap coefficient or the like).
  • This filter coefficient ⁇ A is a parameter that determines the frequency band [ f > fa] of the filter processing FR A.
  • the filter unit 44 executes the filter processing FR B by using the feedback value FB and the predetermined filter coefficient ⁇ B.
  • This filter coefficient ⁇ B is a parameter that determines the frequency band [f d ⁇ f] of the filter processing FR B.
  • the filter unit 44 executes the filter processing FRC using the feedback value FB and the predetermined filter coefficient ⁇ C.
  • This filter coefficient ⁇ C is a parameter that determines the frequency band [f d ⁇ f ⁇ fe , fa ⁇ f] of the filtered FRC .
  • the filter switching unit 46 sets the frequency band of the filtered FR to the frequency band [ f > fa] of the filtered FR A according to the change in the operating state of the industrial machine 12. 1 frequency band) to the filtered FR B frequency band [f> f d ] (second frequency band) or the filtered FRC frequency band [f d ⁇ f ⁇ fe , fa ⁇ f. ] (Second frequency band).
  • the filter switching unit 46 has a filter coefficient ⁇ A (first filter coefficient) corresponding to the frequency band [f> fa ] of the filter processing FR A , and the frequency band [f> f d ] of the filter processing FR B.
  • ⁇ A first filter coefficient
  • ⁇ B second filter coefficient
  • the filter switching unit 46 has a filter coefficient ⁇ C (second filter ) corresponding to the frequency band [f d ⁇ f ⁇ fe , fa ⁇ f] of the filter processing FRC from the filter coefficient ⁇ A.
  • the frequency band of the filtered FR is switched from the frequency band [ f > fa] to the frequency band [f d ⁇ f ⁇ fe , fa ⁇ f].
  • the frequency band [f> f d ] of the filtered FR B is lower than the frequency band [f> fa] of the filtered FR A : f. Includes d ⁇ f ⁇ fa. Further, as shown in FIG. 7, the frequency band [f d ⁇ f ⁇ fe , fa ⁇ f ] of the filtered FR C is lower than the frequency band [f> fa] of the filtered FR A. : Includes f d ⁇ f ⁇ fe .
  • the flow shown in FIG. 8 is started when the processor 30 receives a filter control start command from a host controller, an operator, a computer program, or the like.
  • This filter control start command is transmitted, for example, when the processor 30 starts the operation of the industrial machine 12.
  • step S1 the processor 30 starts acquiring the feedback value FB. Specifically, the processor 30 starts the operation of acquiring the speed feedback value FB V from the sensor 22.
  • step S2 the processor 30 functions as the filter unit 44, and performs the filter processing FRA shown in FIG. 4 with respect to the feedback value FB.
  • step S3 the processor 30 functions as a correction unit 62, and starts an operation of correcting the command VC with the feedback value FB (in this embodiment, the speed feedback value FB V ).
  • step S4 the processor 30 determines whether or not the operating state of the industrial machine 12 has changed.
  • the processor 30 monitors the command PC, ⁇ P, VC, VC', ⁇ V', TC or VS to the motor 24 after the start of the flow of FIG. 8, and the command PC, ⁇ P, VC, VC',.
  • ⁇ V', TC or VS changes beyond a predetermined threshold ⁇ , it is determined that the operating state of the industrial machine 12 has changed.
  • the torque command TC and the voltage signal VS among the commands to the motor 24 may change (for example, increase) abruptly.
  • the processor 30 can detect that the machining of the work W has started (that is, the operating state of the industrial machine 12 has changed) by detecting the change in the torque command TC or the voltage signal VS. In this step S4, the processor 30 determines that the operating state of the industrial machine 12 has changed (that is, YES) when the torque command TC or the voltage signal VS changes beyond the threshold value ⁇ 1.
  • step S4 the processor 30 determines that the operating state of the industrial machine 12 has changed (ie, YES) when the command PC, VC, VC', TC or VS has changed beyond the threshold ⁇ 2.
  • the processor 30 obtains the slope of the command by time-differentiating the command PC, VC, VC', TC or VS, and determines YES if the slope exceeds the threshold ⁇ 3. May be good.
  • the processor 30 monitors the feedback value FB from the sensor 22, and determines that the operating state of the industrial machine 12 has changed when the feedback value FB changes beyond a predetermined threshold value ⁇ . ..
  • the processor 30 can detect that the operating state of the industrial machine 12 has changed by detecting the change in the feedback value FB.
  • the processor 30 may determine YES when the speed feedback value FB V from the sensor 22 exceeds a predetermined threshold value ⁇ 1 in this step S4. Alternatively, the processor 30 obtains the acceleration feedback value FB A by time-differentiating the velocity feedback value FB V , and determines YES when the acceleration feedback value FB A exceeds a predetermined threshold value ⁇ 2. good.
  • the processor 30 may obtain the current feedback value FB I or the load torque and FB ⁇ as the feedback value FB from the motor 24 via the I / O interface 34. Then, the processor 30 may determine YES when the current feedback value FB I or the load torque FB ⁇ exceeds a predetermined threshold value ⁇ 3.
  • the processor 30 may determine that the operating state of the industrial machine 12 has changed when the operation mode DM of the industrial machine 12 defined by the operation program OP is switched.
  • An example of the operation mode DM will be described with reference to Table 1 below.
  • the operation mode DM includes a positioning mode specified by the operation program OP command statement “G00” and a machining mode specified by the operation program OP command statement “G01”.
  • the processor 30 executes a feed operation of moving the driven body 18 to the work preparation position at a speed V1.
  • the processor 30 executes an approach operation of moving the driven body 18 from the work preparation position to the machining start position where the tool 16 comes into contact with the work W at a speed V2 ( ⁇ V1). After that, the machining operation of machining the work W with the tool 16 is executed while moving the driven body 18.
  • the processor 30 switches the operation mode DM between the positioning mode and the machining mode according to the instruction statements "G00" and "G01" of the operation program OP.
  • the processor 30 determines YES when the operation mode DM is switched from the positioning mode to the machining mode in step S4. More specifically, the processor 30 determines YES when the instruction statement "G01" is received during the execution of the instruction statement "G00" of the operation program OP.
  • the processor 30 may determine YES when a predetermined time t 1 has elapsed from the time when the operation mode DM is switched from the positioning mode to the machining mode.
  • the approach operation is executed, and then the tool 16 and the work W come into contact with each other. Processing is started. Therefore, the tool 16 and the work W actually come into contact with each other for the time t 1 required for the approach operation from the time when the positioning mode (command statement “G00”) is switched to the machining mode (command statement “G01”). It will be a point after that has passed.
  • step S4 the processor 30 measures the elapsed time t from the time when the operation mode DM switches from the positioning mode to the machining mode, and determines YES when the elapsed time t reaches the time t 1 . May be good.
  • This time t 1 can be predetermined by the operator so as to coincide with the time required for the approach operation.
  • the processor 30 sequentially acquires the rotational position of the electric motor 24 detected by the sensor 22, and based on the rotational position, the driven body 18 is driven from the time when the operation mode DM is switched from the positioning mode to the machining mode. Gets the distance d traveled by.
  • the driven body 18 moves by a predetermined distance d1.
  • the processor 30 may determine YES when the acquired distance d reaches a predetermined threshold value d1 after the operation mode DM is switched from the positioning mode to the machining mode in step S4.
  • the threshold value d 1 may be predetermined by the operator so as to correspond to the distance traveled by the driven body 18 in the approach operation.
  • the operation mode DM has a first machining mode executed when the mode switching signal is “00” (or “OFF”) and the mode switching signal is “01” (or “ON”).
  • the second machining mode executed at the time of is included.
  • the mode switching signal (for example, PMC signal) is stored in, for example, the memory 32, and is switched between “00” (ON) and “01” (OFF) in synchronization with the operation program OP.
  • the first machining mode and the second machining mode are operation modes defined by the operation program OP through the mode switching signal.
  • the processor 30 presses the tool 16 against the work W with a force F1 and cuts the work W while moving the driven body 18 against the tool 16 at a speed V3. Perform the action.
  • the processor 30 presses the tool 16 against the work W with a force F2 (> F1) and moves the driven body 18 against the tool 16 at a speed V4 (> V3). , Performs a heavy cutting operation that cuts the work W with a larger amount of cutting than the light cutting operation.
  • the processor 30 switches the operation mode DM between the first machining mode and the second machining mode according to the mode switching signals "00" and "01".
  • the operation mode DM is switched between the first machining mode and the second machining mode, the above-mentioned mechanical shock may occur.
  • the operation mode DM is switched in this way, it is considered that the operating state of the industrial machine 12 has changed.
  • the processor 30 is executing the first machining mode. In addition, it is judged as YES. More specifically, the processor 30 determines YES when the mode switching signal is switched from "00" to "01".
  • the processor 30 determines YES when the mode switching signal is switched from "01" to "00".
  • the processor 30 has a command to the motor 24 (PC, ⁇ P, VC, VC', ⁇ V', TC, VS), a feedback value FB (FB V , FB A ), or an operation of the industrial machine 12. Based on the program OP, it is determined whether or not the operating state of the industrial machine 12 has changed. Therefore, in the present embodiment, the processor 30 functions as an operating state determination unit 66 (FIG. 1) for determining whether or not the operating state of the industrial machine 12 has changed. If the processor 30 determines YES in step S4, the processor 30 proceeds to step S5, while if it determines NO, the processor 30 proceeds to step S8.
  • step S5 the processor 30 functions as the filter switching unit 46, and switches the frequency band of the filter processing FR executed by the filter unit 44 from the first frequency band to the second frequency band.
  • the processor 30 switches from the frequency band [f> fa ] (FIG. 4) of the filtered FR A started in step S2 to the frequency band [f> f d ] (FIG. 6) of the filtered FR B. ..
  • the processor 30 sets the frequency band of the filtered FR from the frequency band [ f > fa] of the filtered FRA started in step S2 to the frequency band [f d ⁇ f ⁇ of the filtered FR C. Switch to f e and fa ⁇ f] (FIG. 7).
  • the processor 30 steps from the first frequency band [f> fa] to the second frequency band [f> f d ] or [f d ⁇ f ⁇ fe , fa ⁇ f]. That is, it may be switched to discontinuous). For example, when switching from the first frequency band [f> fa] to the second frequency band [f> f d ] , the processor 30 starts from the cutoff frequency fa of the first frequency band [ f > fa ]. , The cutoff frequency f d of the second frequency band [f> f d ] may be switched in one step, or may be switched step by step in n steps (n is a positive number of 2 or more). ..
  • the processor 30 determines the frequency of f d ⁇ f ⁇ fe .
  • the band may be switched so as to be formed stepwise in one step or multiple steps.
  • the processor 30 has a frequency from the first frequency band [f> fa] to the second frequency band [f> f d ] or [f d ⁇ f ⁇ fe , fa ⁇ f].
  • the band may be switched so as to change continuously with time. For example, when switching from the first frequency band [f> fa] to the second frequency band [f> f d ] , the processor 30 changes the cutoff frequency from the cutoff frequency fa to the cutoff frequency dd continuously with time. It may be switched so as to change in a targeted manner.
  • the processor 30 determines the frequency of f d ⁇ f ⁇ fe . It may be switched so that the band is gradually formed (for example, the frequency band is gradually expanded). By continuously changing the frequency band of the filtered FR in this way, it is possible to prevent mechanical shock from occurring due to the switching of the filtered FR.
  • step S6 the processor 30 determines whether or not the predetermined condition CD is satisfied.
  • This condition CD is the filter processing of the frequency band [f> f d ] or [f d ⁇ f ⁇ fe , fa ⁇ f] of the filter processing FR B or FRC after the switching of step S5, and the filtering processing of step S3.
  • This is a condition for switching to the FR A frequency band [ f > fa] again.
  • the noise component N2 caused by the above-mentioned mechanical shock is not continuously generated for a long period of time, but is often generated instantaneously. Therefore, in order to return the filter processing FR to the filter processing FR A in step S3 again after the noise component N2 disappears, the operator sets the condition CD as a condition in which the effect of the noise component N2 disappears.
  • the condition CD can be determined as the elapse of a predetermined time t0 after the operating state of the industrial machine 12 changes.
  • the processor 30 measures, for example, the elapsed time t from the time when it is determined to be YES in step S4 (or the time when the start or end of step S5). Then, the processor 30 determines that the condition CD is satisfied (that is, YES) when the elapsed time t reaches a predetermined time t 0 .
  • condition CD may be defined for the command PC to the motor 24, ⁇ P, VC, VC', ⁇ V', TC or VS, or the feedback value FB V or FB A from the sensor 22. good.
  • condition CD is satisfied (that is, YES) when the rotation speed of the electric motor 24 (or the moving distance of the driven body 18) defined by the position command PC reaches a predetermined threshold value. ) May be judged.
  • the processor 30 proceeds to step S7 if it is determined to be YES, and proceeds to step S9 if it is determined to be NO.
  • step S7 the processor 30 functions as a filter switching unit 46, and switches the frequency band of the filter processing FR from the second frequency band to the first frequency band.
  • the processor 30 changes from the frequency band [f> f d ] to the frequency band [f> f a ] of the filter processing FR A.
  • the processor 30 uses the frequency band [f d ⁇ f ⁇ f e , f]. Switch from a ⁇ f ] to the frequency band [f> fa].
  • step S8 the processor 30 determines whether or not the operation of the industrial machine 12 has been completed. For example, the processor 30 can determine from the operation program OP whether or not the processing to the work W has been completed. When the processing to the work W is completed, the processor 30 determines YES, stops the operation of the electric motor 24, and thus ends the operation of the industrial machine 12. Then, the processor 30 ends the flow shown in FIG. On the other hand, if the processor 30 determines NO, the process returns to step S4.
  • step S9 the processor 30 determines whether or not the operation of the industrial machine 12 has been completed in the same manner as in step S8 described above. If the processor 30 determines YES, the operation of the industrial machine 12 ends and the flow shown in FIG. 8 ends, while if it determines NO, the process returns to step S6.
  • the frequency band of the filtered FR is set to the first frequency band [ f> f a ] is switched to the second frequency band [f> f d ] or [f d ⁇ f ⁇ fe , fa ⁇ f].
  • the noise component N2 is supplied from the feedback value FB supplied to the correction unit 62. Can be removed.
  • the processor 30 performs the filter processing FR A with respect to the feedback value FB by the filter unit 44. By executing this, the high frequency noise component N1 caused by electrical noise or the like can be removed from the feedback value FB.
  • the correction unit 62 sets the frequency band wider than the command VC. Since the correction can be performed over a period of time, the effect of the correction by the correction unit 62 can be enhanced. As described above, according to the present embodiment, it is possible to appropriately execute the correction by the correction unit 62 by switching the frequency band of the filter processing FR executed by the filter unit 44 according to the operating state of the industrial machine 12. Will be.
  • the processor 30 is a command (PC, ⁇ P, VC, VC', ⁇ V', TC, VS) to the electric motor 24, a feedback value FB (FB V , FB A ), or an industrial machine. Based on the operation program OP of 12, it is determined whether or not the operating state has changed. For example, the processor 30 determines that the operating state has changed when the command or feedback value changes beyond the threshold value ⁇ or ⁇ .
  • the processor 30 determines when the operation mode DM specified by the operation program OP is switched (specifically, when the operation mode DM is switched, and when a predetermined time t 1 has elapsed from that time point. Or, when the vehicle has moved by a predetermined distance d1 from that time point), it is determined that the operating state has changed. According to this configuration, the timing at which the operating state changes can be determined with high accuracy.
  • the processor 30 functions as a filter unit 44, and uses the feedback value FB and the filter coefficients ⁇ A , ⁇ B , or ⁇ C to digitally digitize the filter processing FR A , FR B , or FR C. It is being executed as a filtering process. Then, the processor 30 functions as a filter switching unit 46, and by switching the filter coefficient ⁇ between the coefficients ⁇ A , ⁇ B , and ⁇ C , the frequency band of the filter processing FR is changed to the first frequency band [f. > Fa] and the second frequency band [f> f d ] or [f d ⁇ f ⁇ fe and fa ⁇ f]. According to this configuration, the processor 30 can quickly and accurately switch the frequency band of the filtered FR.
  • the processor 30 functions as a filter switching unit 46, and after switching the frequency band of the filter processing FR to the second frequency band in step S5, the frequency band is determined according to the predetermined condition CD. Is switched from the second frequency band to the first frequency band (steps S6 and S7).
  • the noise component N2 when the operating state of the industrial machine 12 changes, the noise component N2 can be blocked by the filter processing FR B or FRC , but after the condition CD is satisfied (that is, after the noise component N2 disappears).
  • the effect of the correction by the correction unit 62 can be enhanced while removing the high frequency noise component N1.
  • steps S6, S7 and S9 may be omitted from the flow shown in FIG.
  • the processor 30 performs steps S6, S7 and after step S5 during the operation of the industrial machine 12. If the process proceeds to step S8 without executing S9 and NO is determined in step S8, the step S8 may be looped. In this case, the processor 30 will continue to execute the filter processing FR B or FRC after switching in step S5 until it is determined to be YES in step S8.
  • the subtractor 54 subtracts the speed feedback value FB V from the sensor 22 from the speed command VC output by the speed command generation unit 38, and outputs it as a speed deviation ⁇ V. Then, the torque command generation unit 40 generates the torque command TC based on the speed deviation ⁇ V.
  • the velocity feedback value FB V acquired from the sensor 22 is input to the differentiator 68.
  • the differentiator 68 time-differentiates the input velocity feedback value FB V and outputs it to the filter unit 44 as the acceleration feedback value FB A.
  • the filter unit 44 selectively executes the filter processing FR A , FR B , or FRC with respect to the acceleration feedback value FB A in the same manner as in the above-described embodiment.
  • f e and fa may have the same cutoff frequency as the form shown in FIG. 3 (that is, filter processing for the speed feedback value FB V ), or are uniquely determined for the acceleration feedback value FB A as different cutoff frequencies. May be done.
  • the filter unit 44 executes the filter processing FR A , FR B or FRC with respect to the acceleration feedback value FB A , and inputs the filter processing to the gain 48.
  • the gain 48 generates an acceleration correction value CA by applying a gain to the input acceleration feedback value FB A , and inputs the gain 48 to the adder 60.
  • the adder 60 generates the correction torque command TC'by adding the acceleration correction value CA to the torque command TC generated by the torque command generation unit 40. Therefore, the gain 48 and the adder 60 constitute a correction unit 62 that corrects the torque command TC based on the feedback value FB A.
  • the processor 30 executes the flow shown in FIG. 8, and sets the frequency band of the filtering FR executed by the filter unit 44 in response to the change in the operating state of the industrial machine 12 to the first frequency band.
  • the frequency band [f> fa] is switched to the second frequency band [f> f d ] or [f d ⁇ f ⁇ fe , fa ⁇ f].
  • the speed feedback value FB V from the sensor 22 is supplied to the filter unit 44A in the same manner as in the form shown in FIG. 3, and after being filtered by the filter unit 44A, the gain 48A and It is supplied to the correction unit 62A composed of the adder 60A.
  • the velocity feedback value FB V from the sensor 22 is supplied to the filter unit 44B through the differentiator 68 as in the embodiment shown in FIG. 9, and after being subjected to the filter processing FR by the filter unit 44B, the gain 48B and the adder It is supplied to the correction unit 62B composed of 60B.
  • the filter switching unit 46 switches the frequency band of the filter processing FR executed by the filter units 44A and 44B, respectively.
  • the processor 30 executes the flow shown in FIG. 8, and sets the frequency band of the filter processing FR executed by the filter units 44A and 44B, respectively, according to the change in the operating state of the industrial machine 12.
  • the first frequency band [f> fa] is switched to the second frequency band [f> f d ] or [f d ⁇ f ⁇ fe , fa ⁇ f].
  • the cutoff frequency of the filter processing FR (FR A , FR B or FRC ) executed by the filter unit 44A for the speed feedback value FB V and the filter processing executed by the filter unit 44B for the acceleration feedback value FB A.
  • the cutoff frequencies of FR (FR A , FR B or FRC ) may be the same as or different from each other.
  • the cutoff frequency fa_A and the filter unit 44B of the filter processing FR A executed by the filter unit 44A are used.
  • the cutoff frequency fa_B of the filtering FRA to be executed may be the same as or different from each other.
  • the cutoff frequency f d_A of the filter processing FR B executed by the filter unit 44A and the filter unit 44B may be the same as or different from each other.
  • step S5 when the processor 30 switches the frequency bands of the filter units 44A and 44B from the first frequency band to the second frequency band in step S5, if the second frequency band is different from that of the filter units 44A and 44B. You may let me. For example, in step S5, the processor 30 switches the filter processing FR executed by the filter unit 44A from the filter processing FR A to the filter processing FR B (or FRC ), while the filter processing FR executed by the filter unit 44B is switched. You may switch from the filtering FR A to the filtering FRC (or FR B ) .
  • the velocity feedback value FB V acquired from the sensor 22 passes through the differentiator 68, the filter unit 44, and the gain 48 as the acceleration correction value CA as in the embodiment shown in FIG. It is output to the adder 60.
  • the torque command generation unit 40 has a proportional gain 70, an integral gain 72, and an integrator 74.
  • the proportional gain 70 is set as the torque command T1 by multiplying the speed deviation ⁇ V output from the subtractor 54 by the gain G2, and is output to the adder 76.
  • the integrated gain 72 is set as the torque command T2 by multiplying the speed deviation ⁇ V output from the subtractor 54 by the gain G3, and is output to the adder 60.
  • the adder 60 generates the correction torque command T2'by adding the acceleration correction value CA output from the gain 48 to the torque command T2 output from the integral gain 72.
  • the integrator 74 integrates the correction torque command T2'and outputs it to the adder 76.
  • the adder 76 generates a torque command TC by adding the correction torque command T2'to the torque command T1 output from the proportional gain 70, and outputs the torque command TC to the current control unit 42.
  • the correction unit 62 is composed of the gain 48 and the adder 60, and corrects the signal (torque command T2) used for generating the torque command TC in the torque command generation unit 40. ing.
  • the processor 30 executes the flow shown in FIG. 8, and sets the frequency band of the filter processing FR executed by the filter unit 44 according to the change in the operating state of the industrial machine 12 to the first frequency band. It switches from [f> f a ] to the second frequency band [f> f d ] or [f d ⁇ f ⁇ fe , fa ⁇ f].
  • the correction unit 62 corrects the signal T2 used for generating the command TC in the torque command generation unit 40 has been described, but the present invention is not limited to this, and the speed command generation unit 38 or the speed command generation unit 38 or The current control unit 42 may be configured to correct the signal used to generate the command VC or VS.
  • the mechanical system 80 includes an industrial machine 82 and a control device 14 for controlling the industrial machine 82.
  • the industrial machine 82 is different from the above-mentioned industrial machine 12 in that the sensor 84 is further provided.
  • the sensor 84 is a linear scale, a displacement sensor, or the like, and is arranged to face the driven body 18 (or the work W).
  • the sensor 84 continuously (for example, periodically) detects the position P (for example, coordinates) of the driven body 18 (or the work W) in the direction of the axis A, and sets the position feedback value FB P2 as a control device. It is sequentially transmitted to 14 I / O interfaces 34.
  • the processor 30 of the control device 14 functions as a feedback acquisition unit 52, and sequentially acquires the position feedback value FB P2 from the sensor 84 through the I / O interface 34.
  • This position feedback value FB P2 is time-series data indicating the position P of the driven body 18 in time series.
  • FIG. 14 shows an example of the control flow of the electric motor 24 in the mechanical system 80.
  • the control flow shown in FIG. 14 differs from that of FIG. 10 in the following points.
  • the position feedback value FB P2 acquired from the sensor 84 is input to the differentiator 86.
  • the differentiator 86 time-differentiates the input position feedback value FB P2 and outputs it as the velocity feedback value FB V2 to the filter unit 44A and the differentiator 68.
  • the speed feedback value FB V2 is supplied to the correction unit 62A including the gain 48A and the adder 60A after being filtered by the filter unit 44A. Further, the speed feedback value FB V2 is time-differentiated by the differentiator 68, subjected to the filter processing FR by the filter unit 44B, and then supplied to the correction unit 62B composed of the gain 48B and the adder 60B.
  • step S4 the processor 30 determines whether or not the operating state of the industrial machine 82 has changed based on the distance L between the industrial machine 82 and the work W.
  • the processor 30 obtains the distance L between the industrial machine 82 and the work W based on the position feedback value FB P2 acquired from the sensor 84. For example, the processor 30 acquires the position data of the tool 16 of the industrial machine 82 together with the position feedback value FB P2 .
  • the processor 30 obtains the distance L (FIG. 13) between the tool 16 and the work W from the position data of the tool 16 and the position feedback value FB P2 .
  • the processor 30 functions as the distance acquisition unit 88 (FIG. 12) for obtaining the distance L based on the feedback value FB P2 .
  • the processor 30 functions as the operating state determination unit 66 in step S4, and when the distance L becomes smaller than the predetermined threshold value ⁇ , the operating state of the industrial machine 82 changes (that is, YES).
  • the distance L becomes smaller than the predetermined threshold value ⁇ it can be considered that the tool 16 comes into contact with the work W and starts machining.
  • step S5 the processor 30 functions as the filter switching unit 46, and the frequency band of the filter processing FR executed by the filter units 44A and 44B is changed from the first frequency band [ f > fa] to the second frequency band. Switch to the frequency band [f> f d ] or [f d ⁇ f ⁇ fe , fa ⁇ f].
  • the processor 30 determines whether or not the operating state of the industrial machine 82 has changed (specifically, the tool 16 has come into contact with the work W) based on the distance L. is doing. According to this configuration, the processor 30 can determine the timing at which the operating state of the industrial machine 82 changes with higher accuracy. Then, the processor 30 sets the frequency band of the filter processing FR in the filter units 44A and 44B at the timing when the operating state changes, and the frequency band [f> f d ] capable of removing the noise N2 generated due to the change. Alternatively, it can be switched to [f d ⁇ f ⁇ fe , fa ⁇ f].
  • the mechanical system 90 includes an industrial machine 92 and a control device 14 for controlling the industrial machine 92.
  • the industrial machine 92 differs from the above-mentioned industrial machine 82 in that it includes a sensor 94.
  • the sensor 94 is an acceleration sensor and is provided on the driven body 18.
  • the sensor 94 continuously (for example, periodically) detects the acceleration of the driven body 18 (or the work W), and sequentially transmits the acceleration feedback value FB A2 to the I / O interface 34 of the control device 14.
  • the processor 30 of the control device 14 functions as a feedback acquisition unit 52, and sequentially acquires the acceleration feedback value FB A2 from the sensor 94 through the I / O interface 34.
  • the acceleration feedback value FB A2 is time-series data showing the amplitude value of the acceleration of the driven body 18 in time series.
  • FIG. 17 shows an example of the control flow of the electric motor 24 in the mechanical system 90.
  • the control flow shown in FIG. 17 differs from that of FIG. 9 in the following points.
  • the acceleration feedback value FB A2 acquired from the sensor 94 is input to the filter unit 44.
  • the filter unit 44 executes the filter processing FR on the acceleration feedback value FB A2 and supplies it to the correction unit 62 including the gain 48 and the adder 60.
  • the processor 30 executes the flow shown in FIG. 8, and sets the frequency band of the filtering FR executed by the filter unit 44 according to the change in the operating state of the industrial machine 12 to the first frequency band.
  • the frequency band [f> fa] is switched to the second frequency band [f> f d ] or [f d ⁇ f ⁇ fe , fa ⁇ f].
  • the mechanical system 100 includes an industrial machine 102 and a control device 14 for controlling the industrial machine 102.
  • the industrial machine 102 is a press machine.
  • the industrial machine 102 has driven bodies 18A and 18B, a first moving mechanism 108, a second moving mechanism 110, and sensors 22A, 22B, 84 and 112.
  • the driven body 18B is a die cushion of a press machine and is provided so as to be movable in the direction of the axis A.
  • the work (not shown) is installed on the driven body 18B.
  • the driven body 18A is a slide of the press machine and is arranged to face the driven body 18B on the upper side so as to be movable in the direction of the axis A.
  • the first moving mechanism 108 has an electric motor 24A and a crank mechanism 114.
  • the electric motor 24A rotationally drives the output shaft 24a in response to a command from the control device 14.
  • the crank mechanism 114 converts the rotational movement of the output shaft 24a of the electric motor 24A into a reciprocating movement in the direction of the axis A of the driven body 18A.
  • the second moving mechanism 110 includes an electric motor 24B, pulleys 116 and 118, a belt 120, a ball screw 122, and a linear motion unit 124.
  • the electric motor 24B rotationally drives the output shaft 24a in response to a command from the control device 14.
  • the pulley 116 is fixed to the output shaft 24a of the motor 24B, and a tooth portion is formed on the outer peripheral surface thereof.
  • the pulley 118 is fixed to the lower end of the ball screw 122, and a tooth portion is formed on the outer peripheral surface thereof.
  • the belt 120 has teeth formed on its inner peripheral surface and is stretched over the outer peripheral surfaces of the pulleys 116 and 118.
  • the tooth portions formed on the outer peripheral surfaces of the pulleys 116 and 118 and the tooth portions formed on the inner peripheral surface of the belt 120 engage with each other.
  • the rotational force of the output shaft 24a of the motor 24B is transmitted to the ball screw 122 via the pulleys 116 and 118 and the belt 120, and the ball screw 122 is rotated around the axis A.
  • the linear motion unit 124 is installed so as to be movable in the direction of the axis A, and is fixed to the driven body 18B.
  • a bolt member 126 is fixedly installed in the central portion of the linear motion portion 124, and a ball screw 122 is screwed into the bolt member 126. As the electric motor 24B rotates the ball screw 122, the bolt member 126 is reciprocated, whereby the driven body 18B is reciprocated in the direction of the axis A.
  • the sensor 22A is an encoder (or Hall element) or the like that detects the rotational position of the electric motor 24A. Similar to the sensor 22 described above, the sensor 22A detects the rotation speed V of the motor 24A by time-differentiating the detected rotation position of the motor 24A, and sequentially supplies the speed feedback value FB V to the control device 14. ..
  • the sensor 22B is an encoder (or Hall element) or the like that detects the rotation position of the motor 24B, and like the sensor 22 described above, the sensor 22B is the motor 24B by time-differentiating the detected rotation position of the motor 24B.
  • the rotation speed V is detected and sequentially supplied to the control device 14 as the speed feedback value FB V.
  • the sensor 84 is a linear scale, a displacement sensor, or the like, and is arranged to face the driven body 18A.
  • the sensor 84 continuously (for example, periodically) detects the position P (for example, coordinates) of the driven body 18A in the direction of the axis A, and sets the position feedback value FB P2 as the I / O interface of the control device 14. It is sequentially transmitted to 34.
  • the sensor 112 is a force sensor or a pressure sensor, and detects the force F3 applied by the driven body 18B to the driven body 18A.
  • the force F3 may mean not only the force (unit: N) but also the pressure (unit: N / m 2 , Pa).
  • the sensor 112 is built in the driven body 18B. The sensor 112 continuously (for example, periodically) detects the force F3 generated by the driven body 18B, and sequentially transmits the force feedback value FBF to the I / O interface 34 of the control device 14.
  • the processor 30 functions as a feedback acquisition unit 52, and sequentially acquires the velocity feedback value FB V , the position feedback value FB P2 , and the force feedback value FB F through the I / O interface 34.
  • the processor 30 controls the electric motors 24A and 24B individually, moves the driven body 18A downward, sandwiches the work installed on the driven body 18B between the driven body 18B, and then receives the driven body 18B.
  • the drives 18A and 18B are moved downward in synchronization with each other, and the work is pressed by a die (not shown).
  • FIG. 20 shows an example of the control flow of the electric motor 24B.
  • the processor 30 determines the force F3 in advance based on the force feedback value FB F acquired from the sensor 112. Perform force control to maintain the target value F ⁇ .
  • the position feedback value FB P2 acquired from the sensor 84 is input to the differentiator 86, time-differentiated by the differentiator 86, and output to the filter unit 44 as the velocity feedback value FB V2 .
  • the filter unit 44 executes the filter processing FR on the speed feedback value FB V2 , and supplies the filter unit 44 to the correction unit 62 composed of the gain 48 and the adder 60.
  • the correction unit 62 corrects the speed command VC generated by the speed command generation unit 38 by the speed correction value CV .
  • the correction unit 62 is configured to make corrections for reducing the above-mentioned force deviation ⁇ F caused by the operation of the driven body 18A.
  • the processor 30 of the mechanical system 100 determines the feedback value FB (velocity feedback value FB V , position feedback value FB P2 , and force feedback value FB F ) in step S1 in the same manner as in the above-described embodiment. ) Is started. Then, the processor 30 starts the filter processing FRA by the filter unit 44 in step S2, and starts the correction of the command VC by the correction unit 62 in step S3, as in the above-described embodiment.
  • FB velocity feedback value FB V , position feedback value FB P2 , and force feedback value FB F
  • step S4 the processor 30 determines whether or not the operating state of the industrial machine 12 has changed.
  • the processor 30 determines YES when the feedback value FB (for example, force feedback value FB F , current feedback value FB I , or load torque FB ⁇ ) changes beyond a predetermined threshold value ⁇ .
  • the processor 30 changes the operating state of the industrial machine 12 (ie, YES) when the command to the motor 24B (eg, torque command TC or voltage signal VS) changes beyond the threshold ⁇ .
  • the processor 30 functions as a distance acquisition unit 88, and obtains a distance L between the industrial machine 102 and the work based on the position feedback value FB P2 acquired from the sensor 84. Specifically, the processor 30 obtains the distance L between the driven body 18A and the work (or the driven body 18B) from the position feedback value FB P2 and the position data of the driven body 18B. Then, the processor 30 determines YES when the distance L becomes smaller than the predetermined threshold value ⁇ .
  • step S5 the processor 30 changes the frequency band of the filtered FR from the first frequency band [f> fa] to the second frequency band [f> f d ] or [f d ⁇ f ⁇ f . Switch to e and fa ⁇ f ].
  • the cutoff frequency f a of the filter processing FR A executed by the filter unit 44 shown in FIG. 20, the cutoff frequency f d of the filter processing FR B , or the cutoff frequencies f d , fe and fa of the filtering FRC. May have the same cutoff frequency as the embodiment shown in FIG. 3 or FIG. 9, or may be uniquely defined in the mechanical system 100 as a different cutoff frequency.
  • the processor 30 sequentially executes steps S6 to S9 as in the above-described embodiment.
  • the noise component N2 can be cut off from the feedback value FB V2 by the filter processing FR B or FRC . It should be understood that the control flow as shown in FIGS. 3, 9, 10, 11, 14, or 17 can be applied as the control flow of the motor 24A or 24B.
  • the filter switching unit 46 when the filter processing FR frequency band is switched, the filter switching unit 46 either has the filter processing FR B frequency band [f> f d ] or the filter processing FR C frequency band [f d ⁇ . command PC, ⁇ P, VC, VC', ⁇ V', TC, VS, or sensor 22, 22A, 22B, 84, 94, f ⁇ fe , fa ⁇ f] to the electric motors 24, 24A, 24B. It may be determined based on the feedback value FB from 112.
  • the processor 30 generates a learning model LM showing the correlation between the command to the electric motor or the feedback value FB from the sensor and the frequency characteristic of the noise component N2, and the command or the feedback value FB and the learning model.
  • the frequency band of the filtered FR may be determined based on the LM.
  • the processor 30 repeatedly tries to operate the industrial machine 12 so that the operating state of the industrial machine 12 changes, and the time change characteristic or frequency characteristic of the command or feedback value FB acquired at this time and the feedback value FB
  • the frequency characteristics (frequency band) of the noise component N2 generated in the above are acquired as the training data set DS.
  • the processor 30 generates a learning model LM showing the correlation between the command or feedback value and the frequency characteristic of the noise component N2 by, for example, performing supervised learning using the learning data set DS.
  • the processor 30 executes a learning cycle in which the learning data set DS is acquired and the learning model LM is updated every time the operation trial of the industrial machine 12 is repeated.
  • the learning model LM can be derived to the optimum solution.
  • the processor 30 inputs the command or the feedback value acquired when the operating state changes in the above-mentioned step S5 to the learning model LM. Then, the learning model LM outputs the frequency characteristic of the noise component N2 having a correlation with the command or the feedback value at the time of the change of the operating state.
  • the processor 30 can determine the frequency bands of the filtered FR B and FRC (that is, the cutoff frequencies f d and fe ) so as to include the frequency band of the output noise component N2. In this way, the processor 30 can determine the frequency band of the filtered FR based on the command to the motor or the feedback value FB from the sensor.
  • the frequency characteristics of the filtered FR A , FR B , and FRC shown in FIGS. 4, 6 and 7 are merely examples, and are configured to have any frequency characteristics depending on the noise component to be blocked. You may.
  • the above-mentioned industrial machine 12 may be provided with a plurality of moving mechanisms for moving the driven body 18 in a plurality of directions.
  • the processor 30 may execute the above-mentioned filter control flow for the motor of each moving mechanism.
  • the position command generation unit 36 may be deleted from the above-described embodiment. In this case, the position command generation unit 36 may be provided in the host controller, and the processor 30 may receive the position command PC from the host controller.
  • step S4 of FIG. 8 the processor 30 (operating state determination unit 66) commands the electric motor 24 (PC, ⁇ P, VC, VC', ⁇ V', TC, VS).
  • PC, ⁇ P, VC, VC', ⁇ V', TC, VS the electric motor 24
  • FB feedback value
  • OP operation program
  • the processor 30 estimates, for example, the time tV at which the operating state changes (for example, the industrial machine 12 and the work come into contact with each other), and in step S4, the elapsed time from the start of operation is the same.
  • the time t V is reached, it may be determined as YES.
  • This time tV can be estimated from, for example, an operation program.
  • the filter unit 44 may be configured by an analog filter.
  • the filter unit 44 includes an analog filter unit 44 ⁇ capable of executing the filter processing FR A , an analog filter unit 44 ⁇ capable of executing the filter processing FR B , or an analog filter unit 44 ⁇ capable of executing the filter processing FR C. You may have.
  • the processor 30 may switch the frequency band of the filter processing FR by switching between the analog filter unit 44 ⁇ and the analog filter unit 44 ⁇ or 44 ⁇ .

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Control Of Electric Motors In General (AREA)

Abstract

電動機を有する産業機械において、センサからのフィードバック値に基づいて電動機への指令を補正する場合がある。従来、このような補正を適切に実行可能とする技術が求められている。 制御装置14は、電動機24の動作により運転する産業機械12からフィードバック値を取得するフィードバック取得部52と、フィードバック値に基づいて、電動機24を動作させるための指令を補正する補正部62と、補正部62に供給されるフィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を行うフィルタ部44と、産業機械の運転状態が変化したか否かを判断する運転状態判断部66と、運転状態が変化したと判断されたときに、フィルタ部44が実行するフィルタ処理の周波数帯を、第1の周波数帯から第2の周波数帯に切り換えるフィルタ切換部46とを備える。

Description

電動機の制御装置、機械システム、及び制御方法
 本開示は、電動機の制御装置、機械システム、及び制御方法に関する。
 電動機の制御装置が知られている(例えば、特許文献1)。
特開2011-123616号公報
 電動機を有する産業機械において、センサからのフィードバック値に基づいて電動機への指令を補正する場合がある。従来、このような補正を適切に実行可能とする技術が求められている。
 本開示の一態様において、産業機械の電動機を制御する制御装置は、電動機の動作により運転する産業機械からフィードバック値を取得するフィードバック取得部と、フィードバック値に基づいて、電動機を動作させるための指令を補正する補正部と、補正部に供給されるフィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を行うフィルタ部と、産業機械の運転状態が変化したか否かを判断する運転状態判断部と、運転状態判断部によって運転状態が変化したと判断されたときに、フィルタ部が実行するフィルタ処理の周波数帯を、第1の周波数帯から第2の周波数帯に切り換えるフィルタ切換部とを備える。
 本開示の他の態様において、産業機械の電動機を制御する方法は、電動機の動作により運転する産業機械からフィードバック値を取得し、フィードバック値に基づいて、電動機を動作させるための指令を補正し、該補正のためのフィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を実行し、産業機械の運転状態が変化したか否かを判断し、運転状態が変化したと判断されたときに、実行するフィルタ処理の周波数帯を、第1の周波数帯から第2の周波数帯へ切り換える。
 本開示によれば、本実施形態によれば、産業機械の運転状態に応じてフィルタ部が実行するフィルタ処理の周波数帯を切り換えることで、補正部による補正を適切に実行することが可能となる。
一実施形態に係る機械システムのブロック図である。 一実施形態に係る産業機械の図である。 図1に示す機械システムにおける電動機の制御フローの一例を示すブロック図である。 フィルタ処理の周波数特性を示す。 産業機械の運転状態の変化に起因するノイズ成分の周波数特性を示す。 フィルタ処理の周波数特性を示す。 フィルタ処理の周波数特性を示す。 図1に示す機械システムのフィルタ制御フローの一例を示すフローチャートである。 図1に示す機械システムにおける電動機の制御フローの他の例を示すブロック図である。 図1に示す機械システムにおける電動機の制御フローのさらに他の例を示すブロック図である。 図1に示す機械システムにおける電動機の制御フローのさらに他の例を示すブロック図である。 他の実施形態に係る機械システムのブロック図である。 他の実施形態に係る産業機械の図である。 図12に示す機械システムにおける電動機の制御フローの一例を示すブロック図である。 さらに他の実施形態に係る機械システムのブロック図である。 さらに他の実施形態に係る産業機械の図である。 図15に示す機械システムにおける電動機の制御フローの一例を示すブロック図である。 さらに他の実施形態に係る機械システムのブロック図である。 さらに他の実施形態に係る産業機械の図である。 図18に示す機械システムにおける電動機の制御フローの一例を示すブロック図である。
 以下、本開示の実施の形態を図面に基づいて詳細に説明する。なお、以下に説明する種々の実施形態において、同様の要素には同じ符号を付し、重複する説明を省略する。まず、図1及び図2を参照して、一実施形態に係る機械システム10について説明する。機械システム10は、産業機械12、及び、該産業機械12を制御する制御装置14を備える。
 本実施形態においては、産業機械12は、ワークを加工する工作機械である。具体的には、産業機械12は、工具16、被駆動体18、移動機構20、及びセンサ22を有する。移動機構20は、工具16と被駆動体18とを相対的に移動させる。より具体的には、移動機構20は、電動機24、及びボールねじ機構26を有する。ボールねじ機構26は、軸線Aに沿って真直ぐに延びるボールねじ26aと、該ボールねじ26aに螺合するナット部材26bとを有する。ボールねじ26aの一端は、電動機24の出力シャフト24aに連結されている。
 本実施形態においては、被駆動体18は、平面であるワーク設置面18aを有するワークテーブルであって、該ワーク設置面18aに、治具(図示せず)を介してワークWが設置される。被駆動体18には、ボールねじ機構26のナット部材26bが固定されている。電動機24は、例えばサーボモータであって、制御装置14からの指令に応じて、ボールねじ26aを回転させ、これにより、被駆動体18を軸線Aに沿って往復動させる。
 センサ22は、電動機24の回転位置(又は回転角度)を検出するエンコーダ(又はホール素子)等である。センサ22は、検出した電動機24の回転位置を時間微分することで、電動機24の回転速度Vを連続的(例えば、周期的)に検出し、速度フィードバック値FBとして、制御装置14に順次供給する。
 制御装置14は、プロセッサ30、メモリ32、及びI/Oインターフェース34を有するコンピュータである。プロセッサ30は、メモリ32、及びI/Oインターフェース34と、バス35を介して通信可能に接続されており、メモリ32及びI/Oインターフェース34と通信しつつ、後述する各種機能を実現するための演算処理を行う。
 メモリ32は、RAM又はROM等を有し、各種データを一時的又は恒久的に記憶する。I/Oインターフェース34は、例えば、イーサネット(登録商標)ポート、USBポート、光ファイバコネクタ、又はHDMI(登録商標)端子を有し、プロセッサ30からの指令の下、外部機器との間でデータを有線又は無線で通信する。
 図3に、電動機24の制御フローを示すブロック図を示す。制御装置14は、位置指令生成部36、速度指令生成部38、トルク指令生成部40、電流制御部42、フィルタ部44、フィルタ切換部46、及びゲイン48を有する。プロセッサ30は、位置指令生成部36、速度指令生成部38、トルク指令生成部40、電流制御部42、フィルタ部44、フィルタ切換部46、及びゲイン48の機能を実現するための演算処理を担う。
 以下、電動機24の制御フローについて説明する。プロセッサ30は、I/Oインターフェース34を介して、産業機械12のセンサ22から速度フィードバック値FBを取得する。この速度フィードバック値FBは、電動機24の回転速度Vの振幅値を時系列で示す時系列データである。
 このように、本実施形態においては、プロセッサ30は、産業機械12からフィードバック値FBを取得するフィードバック取得部52(図1)として機能する。センサ22から取得した速度フィードバック値FBは、減算器54と積分器56とにそれぞれ入力される。積分器56は、入力された速度フィードバック値FBを時間積分し、位置フィードバック値FBとして、減算器58に出力する。
 また、センサ22から取得したフィードバック値FBは、フィルタ部44に入力される。フィルタ部44は、フィードバック値FBに対してフィルタ処理を行う。なお、このフィルタ処理の詳細については、後述する。フィルタ部44は、フィードバック値FBに対してフィルタ処理を施し、ゲイン48に出力する。ゲイン48は、フィルタ部44から出力された速度フィードバック値FBにゲインG1をかけることで速度補正値Cを生成し、加算器60に出力する。
 電動機24を動作させて産業機械12を運転するとき、位置指令生成部36は、動作プログラムOPに従って位置指令PCを生成し、減算器58に出力する。減算器58は、位置指令PCから位置フィードバック値FBを減算し、位置偏差δPとして速度指令生成部38に出力する。速度指令生成部38は、位置偏差δPに基づいて速度指令VCを生成し、加算器60に出力する。
 加算器60は、速度指令VCに速度補正値Cを加算することで、補正速度指令VC’を生成する。このように、ゲイン48は、フィルタ部44によってフィルタ処理された速度フィードバック値FBに基づいて速度補正値Cを生成し、加算器60は、該速度補正値Cによって速度指令VCを補正している。よって、本実施形態においては、ゲイン48及び加算器60は、フィードバック値FBに基づいて指令VCを補正する補正部62を構成する。
 ここで、産業機械12の運転中に、該産業機械12の構成要素(例えば、被駆動体18、ボールねじ機構26、電動機24の出力シャフト24a等)の弾性により、被駆動体18及びワークWが微小振動する場合がある。本実施形態においては、補正部62は、このような微小振動をキャンセルするための補正を行うように、構成される。
 加算器60から出力された補正速度指令VC’は、減算器54に入力される。減算器54は、補正速度指令VC’から速度フィードバック値FBを減算し、速度偏差δV’として出力する。トルク指令生成部40は、速度偏差δV’に基づいてトルク指令TCを生成し、電流制御部42に出力する。
 電流制御部42は、トルク指令値TCに基づいて電圧信号VS(例えばPWM制御信号)を生成し、I/Oインターフェース34を介してサーボアンプ64に送信する。サーボアンプ64は、電圧信号VSを増幅し、産業機械12の電動機24に入力する。電動機24は、入力された電圧信号VSに応じて、被駆動体18(すなわち、ワークW)を駆動する。
 ここで、本稿においては、位置指令生成部36から電動機24への制御ラインを通過する信号を、電動機24を動作させるための「指令」として定義する。よって、本実施形態においては、位置指令PC、位置偏差δP、速度指令VC、補正速度指令VC’、速度偏差δV’、トルク指令TC、及び電圧信号VSは、電動機24を動作させるための指令を構成する。
 こうして、プロセッサ30は、動作プログラムOPに従って指令PC、δP、VC、VC’、δV’、TC及びVSを生成し、電動機24の動作を制御する。そして、プロセッサ30は、電動機24の動作により被駆動体18を移動させつつワークWを工具16で加工するように、産業機械12を運転する。
 フィルタ部44は、補正部62に供給されるフィードバック値FB(本実施形態では、速度フィードバック値FB)に対し、所定の周波数帯の値を低減させるフィルタ処理FRを行う。図4に、フィルタ部44が実行するフィルタ処理FRの一例を示す。図4に示すフィルタ処理FRでは、フィルタ部44は、フィードバック値FBに対し、遮断周波数fよりも高い周波数帯[f>f]の振幅値を低減するフィルタ処理(すなわち、ローパスフィルタ処理)を行う。
 なお、フィードバック値FBに対するフィルタ部44のフィルタ処理FRは、ローパスフィルタ処理に限らず、例えば、周波数帯[f>f]と、遮断周波数fよりも低い周波数帯[f≦f]に含まれる特定の周波数(又は周波数帯)とをさらに低減するバンドパスフィルタ処理、又は、特定の周波数(又は周波数帯)を低減するノッチフィルタ処理であってもよい。
 このフィルタ処理FRにより、補正部62に供給されるフィードバック値FBから、電気ノイズ等に起因する高周波ノイズ成分N1を除去することができる。よって、遮断周波数fは、ノイズ成分N1を除去可能な、該ノイズ成分N1の周波数帯よりも低い周波数として、オペレータによって定められる。
 一方、後述するように産業機械12の運転状態が変化したとき、産業機械12の構成要素(例えば、被駆動体18、ボールねじ機構26、電動機24の出力シャフト24a等)に、機械的ショックが加えられる場合がある。このとき、センサ22が検出するフィードバック値FB(具体的には、速度フィードバック値FB)に、機械的ショックに起因するノイズ成分N2が含まれることになる。
 このようなノイズ成分N2の一例を、図5に示す。図5に示す例では、ノイズ成分N2は、フィルタ処理FRの遮断周波数fよりも低い周波数帯f~fに分布している。したがって、このようなノイズ成分N2がフィードバック値FBに含まれている場合、上述のフィルタ処理FRではノイズ成分N2を除去することができない。
 図6に、このようなノイズ成分N2を除去可能なフィルタ処理FRの一例を示す。図6に示すフィルタ処理FRでは、フィルタ部44は、フィードバック値FBに対し、遮断周波数f(<f)よりも高い周波数帯[f>f]で振幅値を低減するフィルタ処理(ローパスフィルタ処理)を行う。このフィルタ処理FRにより、補正部62に供給されるフィードバック値FBからノイズ成分N2を除去することができる。
 図7に、ノイズ成分N2を除去可能なフィルタ処理FRの他の例を示す。図7に示すフィルタ処理FRでは、フィルタ部44は、フィードバック値FBに対し、遮断周波数fから遮断周波数f(f<f<f)までの周波数帯[f<f<f]と、遮断周波数fよりも高い周波数帯[f>f]とで、振幅値を低減するフィルタ処理を行う。このようなフィルタ処理FRは、例えば、f<f<fの周波数帯を遮断するノッチフィルタ処理と、f>fの周波数帯を遮断するローパスフィルタ処理の組み合わせによって実現できる。
 このフィルタ処理FRにより、補正部62に供給されるフィードバック値FBからノイズ成分N2を除去することができる。このフィルタ処理FRの周波数帯:f<f<fを画定する遮断周波数f及びfは、例えば、ノイズ成分N2の周波数特性を実験的手法又はシミュレーション等によって予め求めることで、設定できる。
 本実施形態においては、フィルタ部44は、デジタルフィルタ(FIRフィルタ、又はIIRフィルタ等)処理を実行するように構成される。フィルタ部44は、フィードバック値FBと、所定のフィルタ係数α(タップ係数等)とを用いて、フィルタ処理FRを実行する。このフィルタ係数αは、フィルタ処理FRの周波数帯[f>f]を決定するパラメータである。
 また、フィルタ部44は、フィードバック値FBと所定のフィルタ係数αとを用いて、フィルタ処理FRを実行する。このフィルタ係数αは、フィルタ処理FRの周波数帯[f<f]を決定するパラメータである。また、フィルタ部44は、フィードバック値FBと所定のフィルタ係数αとを用いて、フィルタ処理FRを実行する。このフィルタ係数αは、フィルタ処理FRの周波数帯[f<f<f、f<f]を決定するパラメータである。
 ここで、本実施形態においては、フィルタ切換部46は、産業機械12の運転状態の変化に応じて、フィルタ処理FRの周波数帯を、フィルタ処理FRの周波数帯[f>f](第1の周波数帯)から、フィルタ処理FRの周波数帯[f>f](第2の周波数帯)、又は、フィルタ処理FRの周波数帯[f<f<f、f<f](第2の周波数帯)に切り換える。
 例えば、フィルタ切換部46は、フィルタ処理FRの周波数帯[f>f]に対応するフィルタ係数α(第1のフィルタ係数)から、フィルタ処理FRの周波数帯[f>f]に対応するフィルタ係数α(第2のフィルタ係数)へ切り換えることによって、フィルタ処理FRの周波数帯fを、周波数帯[f>f]から周波数帯[f>f]に切り換える。
 代替的には、フィルタ切換部46は、フィルタ係数αから、フィルタ処理FRの周波数帯[f<f<f、f<f]に対応するフィルタ係数α(第2のフィルタ係数)へ切り換えることによって、フィルタ処理FRの周波数帯を、周波数帯[f>f]から周波数帯[f<f<f、f<f]に切り換える。
 なお、図6に示すように、本実施形態においては、フィルタ処理FRの周波数帯[f>f]は、フィルタ処理FRの周波数帯[f>f]よりも低い周波数帯:f<f<fを含む。また、図7に示すように、フィルタ処理FRの周波数帯[f<f<f、f<f]は、フィルタ処理FRの周波数帯[f>f]よりも低い周波数帯:f<f<fを含む。
 以下、図8を参照して、フィルタ制御フローについて説明する。図8に示すフローは、プロセッサ30が、上位コントローラ、オペレータ、又はコンピュータプログラム等からフィルタ制御開始指令を受け付けたときに、開始される。このフィルタ制御開始指令は、例えば、プロセッサ30が産業機械12の運転を開始したときに、発信される。
 ステップS1において、プロセッサ30は、フィードバック値FBの取得を開始する。具体的には、プロセッサ30は、センサ22から速度フィードバック値FBを取得する動作を開始する。ステップS2において、プロセッサ30は、フィルタ部44として機能し、フィードバック値FBに対し、図4に示すフィルタ処理FRを行う。ステップS3において、プロセッサ30は、補正部62として機能し、指令VCをフィードバック値FB(本実施形態では、速度フィードバック値FB)で補正する動作を開始する。
 ステップS4において、プロセッサ30は、産業機械12の運転状態が変化したか否かを判断する。一例として、プロセッサ30は、図8のフローの開始後、電動機24への指令PC、δP、VC、VC’、δV’、TC又はVSを監視し、該指令PC、δP、VC、VC’、δV’、TC又はVSが予め定めた閾値βを超えて変化したときに、産業機械12の運転状態が変化したと判断する。
 例えば、産業機械12の運転中に、工具16がワークWと当接して加工を開始したとき、上述の機械的ショックが発生する。このように工具16がワークWと当接して加工を開始したとき、産業機械12の運転状態が変化したと見做す。工具16がワークWと当接して加工を開始したしたとき、電動機24への指令のうち、トルク指令TC及び電圧信号VSが急激に変化(例えば、増大)し得る。
 したがって、プロセッサ30は、トルク指令TC又は電圧信号VSの変化を検知することによって、ワークWの加工が開始した(つまり、産業機械12の運転状態が変化した)ことを検知することができる。このステップS4において、プロセッサ30は、トルク指令TC又は電圧信号VSが、閾値β1を超えて変化したときに、産業機械12の運転状態が変化した(すなわち、YES)と判断する。
 また、工具16に対する被駆動体18(つまり、電動機24)の速度又は加速度が急激に変化したとき、上述の機械的ショックが発生し得る。このように被駆動体18(電動機24)の速度又は加速度が急激に変化したとき、産業機械12の運転状態が変化したと見做す。
 被駆動体18(電動機24)の速度又は加速度が急激に変化とき、電動機24への指令PC、VC、VC’TC又はVSが急激に変化し得る。このステップS4において、プロセッサ30は、指令PC、VC、VC’、TC又はVSが閾値β2を超えて変化したときに、産業機械12の運転状態が変化した(すなわち、YES)と判断する。代替的には、プロセッサ30は、指令PC、VC、VC’、TC又はVSを時間微分することによって、該指令の傾きを取得し、該傾きが閾値β3を超えた場合にYESと判断してもよい。
 他の例として、プロセッサ30は、センサ22からのフィードバック値FBを監視し、該フィードバック値FBが予め定めた閾値γを超えて変化したときに、産業機械12の運転状態が変化したと判断する。ここで、工具16がワークWと当接して加工を開始したしたとき、又は、被駆動体18(電動機24)の速度又は加速度が急激に変化したとき、センサ22からのフィードバック値FBが急激に変化し得る。したがって、プロセッサ30は、フィードバック値FBの変化を検知することによって、産業機械12の運転状態が変化したことを検知することができる。
 具体的には、プロセッサ30は、このステップS4において、センサ22からの速度フィードバック値FBが予め定めた閾値γ1を超えたときに、YESと判断してもよい。又は、プロセッサ30は、速度フィードバック値FBを時間微分することで加速度フィードバック値FBを取得し、該加速度フィードバック値FBが予め定めた閾値γ2を超えたときに、YESと判断してもよい。
 代替的には、プロセッサ30は、I/Oインターフェース34を介して、電動機24から、フィードバック値FBとして電流フィードバック値FB又は負荷トルクとFBτを取得してもよい。そして、プロセッサ30は、電流フィードバック値FB又は負荷トルクFBτが予め定めた閾値γ3を超えたときに、YESと判断してもよい。
 さらに他の例として、プロセッサ30は、動作プログラムOPによって規定される産業機械12の運転モードDMが切り換わったときに、産業機械12の運転状態が変化したと判断してもよい。運転モードDMの一例について、以下の表1を参照して説明する。
Figure JPOXMLDOC01-appb-T000001
 表1に示す例では、運転モードDMは、動作プログラムOPの命令文「G00」によって規定される位置決めモードと、動作プログラムOPの命令文「G01」によって規定される加工モードとを含む。ここで、位置決めモードにおいては、プロセッサ30は、被駆動体18を作業準備位置まで速度V1で移動させる送り動作を実行する。
 一方、加工モードにおいては、プロセッサ30は、被駆動体18を、作業準備位置から、工具16がワークWと当接する加工開始位置まで、速度V2(<V1)で移動させるアプローチ動作を実行し、その後、被駆動体18を移動させつつ工具16でワークWを加工する加工動作を実行する。プロセッサ30は、動作プログラムOPの命令文「G00」及び「G01」に応じて、運転モードDMを、位置決めモードと加工モードとの間で切り換える。
 運転モードDMが位置決めモードから加工モードへ切り換えられてワークWに対する加工が開始すると、上述した機械的ショックが発生する。このように運転モードDMが切り換わったとき、産業機械12の運転状態が変化したと見做す。例えば、プロセッサ30は、このステップS4において、運転モードDMが位置決めモードから加工モードへ切り換わった時点で、YESと判断する。より具体的には、プロセッサ30は、動作プログラムOPの命令文「G00」の実行中に命令文「G01」を受け付けたときに、YESと判断する。
 代替的には、プロセッサ30は、運転モードDMが位置決めモードから加工モードへ切り換わった時点から予め定めた時間tが経過したときに、YESと判断してもよい。ここで、上述したように、位置決めモード(命令文「G00」)から加工モード(命令文「G01」)へ切り換わった後、アプローチ動作が実行され、次いで、工具16とワークWとが当接して加工が開始される。よって、工具16とワークWとが実際に当接するのは、位置決めモード(命令文「G00」)から加工モード(命令文「G01」)へ切り換わった時点から、アプローチ動作に要する時間tが経過した後の時点となる。
 ステップS4において、プロセッサ30は、運転モードDMが位置決めモードから加工モードへ切り換わった時点からの経過時間tを計時し、該経過時間tが時間tに達したときに、YESと判断してもよい。この時間tは、アプローチ動作に要する時間と一致するように、オペレータによって予め定められ得る。
 代替的には、プロセッサ30は、センサ22が検出した電動機24の回転位置を順次取得し、該回転位置に基づいて、運転モードDMが位置決めモードから加工モードへ切り換わった時点から被駆動体18が移動した距離dを取得する。ここで、上述のアプローチ動作において、被駆動体18は、所定の距離dだけ移動する。
 プロセッサ30は、ステップS4において、運転モードDMが位置決めモードから加工モードへ切り換わった後、取得した距離dが予め定め定めた閾値dに達したときに、YESと判断してもよい。この閾値dは、アプローチ動作において被駆動体18が移動する距離に一致するように、オペレータによって予め定められ得る。
 運転モードDMの他の例について、以下の表2を参照して説明する。
Figure JPOXMLDOC01-appb-T000002
 表2に示す例では、運転モードDMは、モード切換信号が「00」(又は「OFF」)のときに実行される第1加工モードと、モード切換信号が「01」(又は「ON」)のときに実行される第2加工モードとを含む。モード切換信号(例えば、PMC信号)は、例えばメモリ32に格納されており、動作プログラムOPと同期して「00」(ON)と「01」(OFF)との間で切り換えられる。
 このように、第1加工モード及び第2加工モードは、モード切換信号を通して動作プログラムOPによって規定される運転モードである。ここで、第1加工モードにおいては、プロセッサ30は、工具16をワークWに力F1で押し当てて、工具16に対して被駆動体18を速度V3で移動させつつワークWを切削する軽切削動作を実行する。
 一方、第2加工モードにおいては、プロセッサ30は、工具16をワークWに力F2(>F1)で押し当てて、工具16に対して被駆動体18を速度V4(>V3)で移動させつつ、軽切削動作よりも多い削り量でワークWを切削する重切削動作を実行する。プロセッサ30は、モード切換信号「00」及び「01」に応じて、運転モードDMを、第1加工モードと第2加工モードとの間で切り換える。運転モードDMが第1加工モードと第2加工モードとの間で切り換わると、上述した機械的ショックが発生し得る。このように運転モードDMが切り換わったとき、産業機械12の運転状態が変化したと見做す。
 例えば、図8のフローが開始した後、第1加工モードを実行しているとすると、プロセッサ30は、このステップS4において、運転モードDMが第1加工モードから第2加工モードへ切り換わったときに、YESと判断する。より具体的には、プロセッサ30は、モード切換信号が「00」から「01」に切り替わったときに、YESと判断する。
 一方、図8のフローが開始した後、第2加工モードを実行しているとすると、プロセッサ30は、このステップS4において、運転モードDMが第2加工モードから第1加工モードへ切り換わったときに、YESと判断する。より具体的には、プロセッサ30は、モード切換信号が「01」から「00」に切り替わったときに、YESと判断する。
 以上のように、プロセッサ30は、電動機24への指令(PC、δP、VC、VC’、δV’、TC、VS)、フィードバック値FB(FB、FB)、又は、産業機械12の動作プログラムOPに基づいて、産業機械12の運転状態が変化したか否かを判断している。したがって、本実施形態においては、プロセッサ30は、産業機械12の運転状態が変化したか否かを判断する運転状態判断部66(図1)として機能する。プロセッサ30は、このステップS4でYESと判断した場合はステップS5へ進む一方、NOと判断した場合はステップS8へ進む。
 ステップS5において、プロセッサ30は、フィルタ切換部46として機能し、フィルタ部44が実行するフィルタ処理FRの周波数帯を、第1の周波数帯から第2の周波数帯に切り換える。一例として、プロセッサ30は、ステップS2で開始したフィルタ処理FRの周波数帯[f>f](図4)から、フィルタ処理FRの周波数帯[f>f](図6)に切り換える。他の例として、プロセッサ30は、フィルタ処理FRの周波数帯を、ステップS2で開始したフィルタ処理FRの周波数帯[f>f]から、フィルタ処理FRの周波数帯[f<f<f、f<f](図7)に切り換える。
 このとき、プロセッサ30は、第1の周波数帯[f>f]から第2の周波数帯[f>f]又は[f<f<f、f<f]に、段階的(つまり、不連続)に切り換えてもよい。例えば、第1の周波数帯[f>f]から第2の周波数帯[f>f]に切り換える場合、プロセッサ30は、第1の周波数帯[f>f]の遮断周波数fから、第2の周波数帯[f>f]の遮断周波数fへ、1段階で切り換えてもよいし、又は、n段階(nは、2以上の正数)で段階的に切り替えてもよい。また、第1の周波数帯[f>f]から第2の周波数帯[f<f<f、f<f]に切り換える場合、プロセッサ30は、f<f<fの周波数帯が、1段階又は多段階で段階的に形成されるように切り換えてもよい。
 代替的には、プロセッサ30は、第1の周波数帯[f>f]から第2の周波数帯[f>f]又は[f<f<f、f<f]に、周波数帯が時間とともに連続的に変化するように切り換えてもよい。例えば、第1の周波数帯[f>f]から第2の周波数帯[f>f]に切り換える場合、プロセッサ30は、遮断周波数fから遮断周波数fへ、遮断周波数が時間とともに連続的に変化するように、切り換えてもよい。
 また、第1の周波数帯[f>f]から第2の周波数帯[f<f<f、f<f]に切り換える場合、プロセッサ30は、f<f<fの周波数帯が徐々に形成される(例えば、周波数帯が徐々に拡張する)ように、切り換えてもよい。このように、フィルタ処理FRの周波数帯を連続的に変化させることで、フィルタ処理FRの切り替えに起因して機械的ショックが発生してしまうのを防止できる。
 ステップS6において、プロセッサ30は、予め定めた条件CDが満たされたか否かを判断する。この条件CDとは、ステップS5の切り換え後のフィルタ処理FR又はFRの周波数帯[f>f]又は[f<f<f、f<f]を、ステップS3のフィルタ処理FRの周波数帯[f>f]に、再度切り換えるための条件である。
 ここで、上述の機械的ショックに起因するノイズ成分N2は、長期に亘って継続して発生するものではなく、瞬時的に発生する場合が多い。そこで、ノイズ成分N2が消失した後、フィルタ処理FRを、再度、ステップS3のフィルタ処理FRに戻すために、オペレータは、条件CDを、ノイズ成分N2の効果が消失する条件として、設定する。
 例えば、条件CDは、産業機械12の運転状態が変化してから所定時間tが経過したこととして、定められ得る。この場合、プロセッサ30は、例えば、ステップS4でYESと判断した時点(又は、ステップS5の開始又は終了の時点)からの経過時間tを計時する。そして、プロセッサ30は、該経過時間tが、予め定めた時間tに達したときに、条件CDが満たされた(すなわち、YES)と判断する。
 代替的には、条件CDは、電動機24への指令PC、δP、VC、VC’、δV’、TC若しくはVS、又は、センサ22からのフィードバック値FB若しくはFBに対して定められてもよい。例えば、プロセッサ30は、位置指令PCによって規定される電動機24の回転数(又は、被駆動体18の移動距離)が予め定めた閾値に達したときに、条件CDが満たされた(すなわち、YES)と判断してもよい。プロセッサ30は、YESと判断した場合はステップS7へ進む一方、NOと判断した場合はステップS9へ進む。
 ステップS7において、プロセッサ30は、フィルタ切換部46として機能し、フィルタ処理FRの周波数帯を、第2の周波数帯から第1の周波数帯に切り換える。一例として、ステップS5でフィルタ処理FRの周波数帯[f>f]に切り換えた場合、プロセッサ30は、周波数帯[f>f]から、フィルタ処理FRの周波数帯[f>f]へ切り換える。他の例として、ステップS5でフィルタ処理FRの周波数帯[f<f<f、f<f]に切り換えた場合、プロセッサ30は、周波数帯[f<f<f、f<f]から、周波数帯[f>f]へ切り換える。
 ステップS8において、プロセッサ30は、産業機械12の運転が終了したか否かを判断する。例えば、プロセッサ30は、動作プログラムOPから、ワークWへの加工が終了したか否かを判断できる。プロセッサ30は、ワークWへの加工が終了した場合にYESと判断し、電動機24の動作を停止し、以って、産業機械12の運転を終了する。そして、プロセッサ30は、図8に示すフローを終了する。一方、プロセッサ30は、NOと判断した場合、ステップS4へ戻る。
 上述のステップS6でNOと判断した場合、ステップS9において、プロセッサ30は、上述のステップS8と同様に産業機械12の運転が終了したか否かを判断する。プロセッサ30は、YESと判断した場合は産業機械12の運転を終了して図8に示すフローを終了する一方、NOと判断した場合はステップS6へ戻る。
 以上のように、本実施形態においては、プロセッサ30は、産業機械12の運転状態が変化した(ステップS4でYES)と判断したときに、フィルタ処理FRの周波数帯を、第1の周波数帯[f>f]から第2の周波数帯[f>f]又は[f<f<f、f<f]に切り換えている。この構成によれば、第2の周波数帯を、上述の機械的ショックに起因するノイズ成分N2の周波数帯を含むように設定することにより、補正部62に供給されるフィードバック値FBからノイズ成分N2を除去することができる。
 その一方で、仮に、産業機械12の運転状態の変化が検出されない(ステップS4で継続してNOと判断する)場合は、プロセッサ30は、フィルタ部44でフィードバック値FBに対しフィルタ処理FRを実行することにより、該フィードバック値FBから、電気ノイズ等に起因する高周波ノイズ成分N1を除去することができる。
 これとともに、フィルタ部44がフィードバック値FBを、遮断周波数f以下の広い周波数帯(f≦f)に亘って通過させることから、補正部62は、指令VCに対し、より広い周波数帯に亘って補正することができるので、補正部62による補正の効果を高めることができる。このように、本実施形態によれば、産業機械12の運転状態に応じてフィルタ部44が実行するフィルタ処理FRの周波数帯を切り換えることで、補正部62による補正を適切に実行することが可能となる。
 また、本実施形態においては、プロセッサ30は、電動機24への指令(PC、δP、VC、VC’、δV’、TC、VS)、フィードバック値FB(FB、FB)、又は、産業機械12の動作プログラムOPに基づいて、運転状態が変化したか否かを判断している。例えば、プロセッサ30は、指令又はフィードバック値が閾値β又はγを超えて変化したときに、運転状態が変化したと判断する。
 代替的には、プロセッサ30は、動作プログラムOPによって規定される運転モードDMが切り換わったとき(具体的には、運転モードDMが切り換わった時点、該時点から所定時間tが経過したとき、又は、該時点から所定距離dだけ移動したとき)に、運転状態が変化したと判断する。この構成によれば、運転状態が変化するタイミングを高精度に判断できる。
 また、本実施形態においては、プロセッサ30は、フィルタ部44として機能し、フィードバック値FBとフィルタ係数α、α又はαとを用いて、フィルタ処理FR、FR又はFRをデジタルフィルタ処理として実行している。そして、プロセッサ30は、フィルタ切換部46として機能し、フィルタ係数αを、係数α、α及びαの間で切り換えることによって、フィルタ処理FRの周波数帯を、第1の周波数帯[f>f]と第2の周波数帯[f>f]又は[f<f<f及びf<f]との間で切り換えている。この構成によれば、プロセッサ30は、フィルタ処理FRの周波数帯を、迅速且つ正確に切り換えることができる。
 また、本実施形態においては、プロセッサ30は、フィルタ切換部46として機能し、ステップS5でフィルタ処理FRの周波数帯を第2の周波数帯に切り換えた後、予め定めた条件CDに従って、該周波数帯を、第2の周波数帯から第1の周波数帯に切り換えている(ステップS6及びS7)。
 この構成によれば、産業機械12の運転状態が変化したときは、フィルタ処理FR又はFRによってノイズ成分N2を遮断できる一方、条件CDを満足した後(すなわち、ノイズ成分N2の消失後)は、再度、フィルタ処理FRに戻すことにより、高周波ノイズ成分N1を除去しつつ、補正部62による補正の効果を高めることができる。
 なお、図8に示すフローから、ステップS6、S7及びS9を省略してもよい。例えば、産業機械12の運転中に運転モードDMが、表2に示すように第1加工モードから第2加工モードへ切り換えられた場合において、プロセッサ30は、ステップS5の後、ステップS6、S7及びS9を実行することなくステップS8へ進み、該ステップS8でNOと判断した場合は、該ステップS8をループしてもよい。この場合、プロセッサ30は、ステップS8でYESと判断するまで、ステップS5で切り換えた後のフィルタ処理FR又はFRを継続して実行することになる。
 次に、図9を参照して、電動機24の制御フローの他の例について説明する。図9に示す制御装置14においては、減算器54は、速度指令生成部38が出力した速度指令VCから、センサ22からの速度フィードバック値FBを減算し、速度偏差δVとして出力する。そして、トルク指令生成部40は、速度偏差δVに基づいてトルク指令TCを生成する。
 一方、センサ22から取得した速度フィードバック値FBは、微分器68に入力される。微分器68は、入力された速度フィードバック値FBを時間微分し、加速度フィードバック値FBとしてフィルタ部44に出力する。フィルタ部44は、加速度フィードバック値FBに対し、上述の実施形態と同様にフィルタ処理FR、FR又はFRを選択的に実行する。
 この場合において、加速度フィードバック値FBに対してフィルタ部44が実行するフィルタ処理FRの遮断周波数f、フィルタ処理FRの遮断周波数f、又は、フィルタ処理FRの遮断周波数f、f及びfは、図3に示す形態(つまり、速度フィードバック値FBに対するフィルタ処理)と同じ遮断周波数であってもよいし、又は、異なる遮断周波数として加速度フィードバック値FBに固有に定められてもよい。
 フィルタ部44は、加速度フィードバック値FBに対してフィルタ処理FR、FR又はFRを実行し、ゲイン48に入力する。ゲイン48は、入力された加速度フィードバック値FBにゲインをかけることで加速度補正値Cを生成し、加算器60に入力する。加算器60は、トルク指令生成部40が生成したトルク指令TCに加速度補正値Cを加算することで、補正トルク指令TC’を生成する。よって、ゲイン48及び加算器60は、フィードバック値FBに基づいてトルク指令TCを補正する補正部62を構成する。
 図9に示す形態においても、プロセッサ30は、図8に示すフローを実行し、産業機械12の運転状態の変化に応じて、フィルタ部44が実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>f]から第2の周波数帯[f>f]又は[f<f<f、f<f]に切り換える。
 次に、図10を参照して、電動機24の制御フローのさらに他の例について説明する。図10に示す形態においては、センサ22からの速度フィードバック値FBは、図3に示す形態と同様にフィルタ部44Aに供給され、フィルタ部44Aでフィルタ処理FRを施された後、ゲイン48A及び加算器60Aから構成される補正部62Aに供給される。
 一方、センサ22からの速度フィードバック値FBは、図9に示す形態と同様に微分器68を通してフィルタ部44Bに供給され、フィルタ部44Bでフィルタ処理FRを施された後、ゲイン48B及び加算器60Bから構成される補正部62Bに供給される。フィルタ切換部46は、フィルタ部44A及び44Bが実行するフィルタ処理FRの周波数帯を、それぞれ切り換える。
 図10に示す形態においても、プロセッサ30は、図8に示すフローを実行し、産業機械12の運転状態の変化に応じて、フィルタ部44A及び44Bがそれぞれ実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>f]から第2の周波数帯[f>f]又は[f<f<f、f<f]に切り換える。
 なお、速度フィードバック値FBに対してフィルタ部44Aが実行するフィルタ処理FR(FR、FR又はFR)の遮断周波数と、加速度フィードバック値FBに対してフィルタ部44Bが実行するフィルタ処理FR(FR、FR又はFR)の遮断周波数とは、互いに同じであってもよいし、又は、異なっていてもよい。
 例えば、フィルタ部44A及び44Bが、それぞれ、フィードバック値FB及びFB対してフィルタ処理FRを実行する場合、フィルタ部44Aが実行するフィルタ処理FRの遮断周波数fa_Aと、フィルタ部44Bが実行するフィルタ処理FRの遮断周波数fa_Bとは、互いに同じであってもよいし、異なっていてもよい。
 また、フィルタ部44A及び44Bが、それぞれ、フィードバック値FB及びFB対してフィルタ処理FRを実行する場合、フィルタ部44Aが実行するフィルタ処理FRの遮断周波数fd_Aと、フィルタ部44Bが実行するフィルタ処理FRの遮断周波数fd_Bとは、互いに同じであってもよいし、異なっていてもよい。
 また、フィルタ部44A及び44Bが、それぞれ、フィードバック値FB及びFB対してフィルタ処理FRを実行する場合、フィルタ部44Aが実行するフィルタ処理FRの遮断周波数fd_A、fe_A及びfa_Aと、フィルタ部44Bが実行するフィルタ処理FRの遮断周波数fd_B、fe_B及びfa_Bとは、それぞれ同じであってもよいし(fd_A=fd_B、fe_A=fe_B、fa_A=fa_B)、又は、それぞれ異なっていてもよい(fd_A≠fd_B、fe_A≠fe_B、fa_A≠fa_B)。
 また、プロセッサ30は、ステップS5でフィルタ部44A及び44Bの周波数帯を第1の周波数帯から第2の周波数帯に切り換えるときに、フィルタ部44A及び44Bとの間で第2の周波数帯を異ならせてもよい。例えば、プロセッサ30は、ステップS5において、フィルタ部44Aが実行するフィルタ処理FRを、フィルタ処理FRからフィルタ処理FR(又はFR)に切り換える一方、フィルタ部44Bが実行するフィルタ処理FRを、フィルタ処理FRからフィルタ処理FR(又はFR)に切り換えてもよい。
 次に、図11を参照して、電動機24の制御フローのさらに他の例について説明する。図11に示す形態においては、センサ22から取得した速度フィードバック値FBは、図9に示す実施形態と同様に微分器68、フィルタ部44、及びゲイン48を通って、加速度補正値Cとして加算器60に出力される。
 一方、トルク指令生成部40は、比例ゲイン70、積分ゲイン72、及び積分器74を有する。比例ゲイン70は、減算器54から出力された速度偏差δVにゲインG2をかけることでトルク指令T1とし、加算器76に出力する。一方、積分ゲイン72は、減算器54から出力された速度偏差δVにゲインG3をかけることでトルク指令T2とし、加算器60に出力する。
 加算器60は、積分ゲイン72から出力されたトルク指令T2に、ゲイン48から出力された加速度補正値Cを加算することで、補正トルク指令T2’を生成する。積分器74は、補正トルク指令T2’を積分し、加算器76に出力する。加算器76は、比例ゲイン70から出力されたトルク指令T1に補正トルク指令T2’を加算することで、トルク指令TCを生成し、電流制御部42に出力する。
 ここで、トルク指令T1及びT2と、補正トルク指令T2’とは、電動機24のトルクを制御するトルク指令TCを構成し、該トルク指令TCは、上述のように電動機24を動作させるための指令を構成する。このように、本実施形態においては、補正部62は、ゲイン48及び加算器60から構成され、トルク指令生成部40においてトルク指令TCを生成するために用いられる信号(トルク指令T2)を補正している。
 本実施形態においても、プロセッサ30は、図8に示すフローを実行し、産業機械12の運転状態の変化に応じて、フィルタ部44が実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>f]から第2の周波数帯[f>f]又は[f<f<f、f<f]に切り換える。
 なお、本実施形態においては、補正部62が、トルク指令生成部40において指令TCを生成するために用いられる信号T2を補正する場合について述べたが、これに限らず、速度指令生成部38又は電流制御部42で指令VC又はVSを生成するために用いられる信号を補正するように構成されてもよい。
 次に、図12及び図13を参照して、他の実施形態に係る機械システム80について説明する。機械システム80は、産業機械82、及び、該産業機械82を制御する制御装置14を備える。ここで、産業機械82は、上述の産業機械12と、センサ84をさらに備える点で相違する。
 センサ84は、リニアスケール又は変位センサ等であって、被駆動体18(又は、ワークW)に対向配置される。センサ84は、被駆動体18(又は、ワークW)の、軸線Aの方向の位置P(例えば、座標)を連続的(例えば、周期的)に検出し、位置フィードバック値FBP2として、制御装置14のI/Oインターフェース34に順次送信する。
 制御装置14のプロセッサ30は、フィードバック取得部52として機能して、I/Oインターフェース34を通して、センサ84から位置フィードバック値FBP2を順次取得する。この位置フィードバック値FBP2は、被駆動体18の位置Pを時系列で示す時系列データである。
 図14に、機械システム80における電動機24の制御フローの一例を示す。図14に示す制御フローは、図10と以下の点で相違する。具体的には、センサ84から取得した位置フィードバック値FBP2は、微分器86に入力される。微分器86は、入力された位置フィードバック値FBP2を時間微分し、速度フィードバック値FBV2として、フィルタ部44A及び微分器68に出力する。
 図10に示す形態と同様に、速度フィードバック値FBV2は、フィルタ部44Aでフィルタ処理FRを施された後、ゲイン48A及び加算器60Aから構成される補正部62Aに供給される。また、速度フィードバック値FBV2は、微分器68で時間微分され、フィルタ部44Bでフィルタ処理FRを施された後、ゲイン48B及び加算器60Bから構成される補正部62Bに供給される。
 次に、図8を参照して、機械システム80のプロセッサ30が実行するフィルタ制御フローについて説明する。本実施形態に係るフローは、上述の実施形態と、ステップS4において相違する。ステップS4において、プロセッサ30は、産業機械82とワークWとの距離Lに基づいて、産業機械82の運転状態が変化したか否かを判断する。
 具体的には、プロセッサ30は、ステップS1の開始後、センサ84から取得した位置フィードバック値FBP2に基づいて、産業機械82とワークWとの距離Lを求める。例えば、プロセッサ30は、位置フィードバック値FBP2とともに、産業機械82の工具16の位置データを取得する。
 そして、プロセッサ30は、工具16の位置データと位置フィードバック値FBP2とから、工具16とワークWとの距離L(図13)を求める。このように、本実施形態においては、プロセッサ30は、フィードバック値FBP2に基づいて距離Lを求める距離取得部88(図12)として機能する。
 そして、プロセッサ30は、ステップS4において、運転状態判断部66として機能し、距離Lが予め定めた閾値εを超えて小さくなったときに、産業機械82の運転状態が変化した(すなわち、YES)と判断する。ここで、距離Lが予め定めた閾値εよりも小さくなったとき、工具16がワークWと当接して加工を開始するものと見做すことができる。
 そして、ステップS5において、プロセッサ30は、フィルタ切換部46として機能し、フィルタ部44A及び44Bがそれぞれ実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>f]から第2の周波数帯[f>f]又は[f<f<f、f<f]に切り換える。
 以上のように、本実施形態においては、プロセッサ30は、距離Lに基づいて、産業機械82の運転状態が変化(具体的には、工具16がワークWと当接)したか否かを判断している。この構成によれば、プロセッサ30は、産業機械82の運転状態が変化するタイミングを、より高精度に判断できる。そして、プロセッサ30は、運転状態が変化するタイミングで、フィルタ部44A及び44Bにおけるフィルタ処理FRの周波数帯を、該変化に起因して発生するノイズN2を除去可能な周波数帯[f>f]又は[f<f<f、f<f]に切り換えることができる。
 次に、図15及び図16を参照して、さらに他の実施形態に係る機械システム90について説明する。機械システム90は、産業機械92、及び該産業機械92を制御する制御装置14を備える。産業機械92は、上述の産業機械82と、センサ94を備える点で相違する。
 センサ94は、加速度センサであって、被駆動体18に設けられている。センサ94は、被駆動体18(又は、ワークW)の加速度を連続的(例えば、周期的)に検出し、加速度フィードバック値FBA2として、制御装置14のI/Oインターフェース34に順次送信する。
 制御装置14のプロセッサ30は、フィードバック取得部52として機能して、I/Oインターフェース34を通して、センサ94から加速度フィードバック値FBA2を順次取得する。この加速度フィードバック値FBA2は、被駆動体18の加速度の振幅値を時系列で示す時系列データである。
 図17に、機械システム90における電動機24の制御フローの一例を示す。図17に示す制御フローは、図9と以下の点で相違する。具体的には、センサ94から取得した加速度フィードバック値FBA2は、フィルタ部44に入力される。フィルタ部44は、加速度フィードバック値FBA2に対してフィルタ処理FRを実行し、ゲイン48及び加算器60から構成される補正部62に供給する。
 図17に示す形態においても、プロセッサ30は、図8に示すフローを実行し、産業機械12の運転状態の変化に応じて、フィルタ部44が実行するフィルタ処理FRの周波数帯を、第1の周波数帯[f>f]から第2の周波数帯[f>f]又は[f<f<f、f<f]に切り換える。
 次に、図18及び図19を参照して、さらに他の実施形態に係る機械システム100について説明する。機械システム100は、産業機械102、及び該産業機械102を制御する制御装置14を備える。産業機械102は、プレス機械である。具体的には、産業機械102は、被駆動体18A及び18B、第1の移動機構108、第2の移動機構110、センサ22A、22B、84及び112を有する。
 被駆動体18Bは、プレス機械のダイクッションであって、軸線Aの方向へ移動可能に設けられている。ワーク(図示せず)は、被駆動体18Bの上に設置される。一方、被駆動体18Aは、プレス機械のスライドであって、軸線Aの方向へ移動可能となるように、被駆動体18Bに上側に対向配置されている。
 第1の移動機構108は、電動機24A、及びクランク機構114を有する。電動機24Aは、制御装置14からの指令に応じて、その出力シャフト24aを回転駆動する。クランク機構114は、電動機24Aの出力シャフト24aの回転運動を、被駆動体18Aの軸線Aの方向の往復動へ変換する。
 第2の移動機構110は、電動機24B、プーリ116及び118、ベルト120、ボールねじ122、並びに、直動部124を有する。電動機24Bは、制御装置14からの指令に応じて、その出力シャフト24aを回転駆動する。プーリ116は、電動機24Bの出力シャフト24aに固設され、その外周面に歯部が形成されている。プーリ118は、ボールねじ122の下端部に固設され、その外周面に歯部が形成されている。
 ベルト120は、その内周面に歯部が形成され、プーリ116及び118の外周面に張り渡されている。プーリ116及び118の外周面に形成された歯部と、ベルト120の内周面に形成された歯部とは、互いに係合する。これにより、電動機24Bの出力シャフト24aの回転力は、プーリ116及び118とベルト120とを介してボールねじ122に伝達され、該ボールねじ122を軸線A周りに回転させる。直動部124は、軸線Aの方向へ移動可能に設置され、被駆動体18Bに固定されている。
 直動部124の中央部には、ボルト部材126が固設され、該ボルト部材126にボールねじ122が螺合している。電動機24Bがボールねじ122を回転させるにつれて、ボルト部材126が往復動され、これにより、被駆動体18Bが軸線Aの方向へ往復動される。
 センサ22Aは、電動機24Aの回転位置を検出するエンコーダ(又はホール素子)等である。センサ22Aは、上述のセンサ22と同様に、検出した電動機24Aの回転位置を時間微分することで、電動機24Aの回転速度Vを検出し、速度フィードバック値FBとして、制御装置14に順次供給する。
 同様に、センサ22Bは、電動機24Bの回転位置を検出するエンコーダ(又はホール素子)等であって、上述のセンサ22と同様に、検出した電動機24Bの回転位置を時間微分することで、電動機24Bの回転速度Vを検出し、速度フィードバック値FBとして制御装置14に順次供給する。
 センサ84は、リニアスケール又は変位センサ等であって、被駆動体18Aに対向配置される。センサ84は、被駆動体18Aの、軸線Aの方向の位置P(例えば、座標)を連続的(例えば、周期的)に検出し、位置フィードバック値FBP2として、制御装置14のI/Oインターフェース34に順次送信する。
 センサ112は、力センサ又は圧力センサであって、被駆動体18Bが被駆動体18Aに加える力F3を検出する。なお、本稿において、力F3とは、力(単位:N)のみならず、圧力(単位:N/m、Pa)を意味する場合がある。本実施形態においては、センサ112は、被駆動体18Bに内蔵されている。センサ112は、被駆動体18Bが生じる力F3を連続的(例えば、周期的)に検出し、力フィードバック値FBとして、制御装置14のI/Oインターフェース34に順次送信する。
 プロセッサ30は、フィードバック取得部52として機能して、I/Oインターフェース34を通して、速度フィードバック値FB、位置フィードバック値FBP2、及び力フィードバック値FBを順次取得する。プロセッサ30は、電動機24A及び24Bを個別に制御し、被駆動体18Aを下方へ移動させて被駆動体18Bの上に設置されたワークを該被駆動体18Bとの間で挟み込み、その後、被駆動体18A及び18Bを互いに同期して下方へ移動させて、該ワークを金型(図示せず)でプレス加工する。
 図20に、電動機24Bの制御フローの一例を示す。被駆動体18A及び18Bの間でワークを挟み込みながら該被駆動体18A及び18Bを下方へ移動させるとき、プロセッサ30は、センサ112から取得した力フィードバック値FBに基づいて、力F3を予め定めた目標値Fαに維持する力制御を実行する。
 具体的には、プロセッサ30は、力指令FC(=目標値Fα)を生成する。そして、プロセッサ30は、減算器(図示せず)で、該力指令値FCから、センサ112から取得した力フィードバック値FBを減算し、力偏差δFとして速度指令生成部38に出力する。これにより、電動機24Bは、力F3を目標値Fαに維持しつつ、被駆動体18Bを、被駆動体18Aと同期して下方へ移動させる。
 一方、センサ84から取得した位置フィードバック値FBP2は、微分器86に入力され、該微分器86で時間微分されて、速度フィードバック値FBV2としてフィルタ部44に出力される。フィルタ部44は、速度フィードバック値FBV2に対しフィルタ処理FRを実行し、ゲイン48及び加算器60から構成された補正部62に供給する。補正部62は、速度指令生成部38が生成した速度指令VCを、速度補正値Cによって補正する。本実施形態においては、補正部62は、被駆動体18Aの動作に起因した上述の力偏差δFを低減するための補正を行うように、構成される。
 次に、図8を参照して、機械システム100におけるフィルタ制御フローについて説明する。図8に示すフローの開始後、機械システム100のプロセッサ30は、上述の実施形態と同様に、ステップS1でフィードバック値FB(速度フィードバック値FB、位置フィードバック値FBP2、及び力フィードバック値FB)の取得を開始する。そして、プロセッサ30は、上述の実施形態と同様に、ステップS2でフィルタ部44によるフィルタ処理FRを開始し、ステップS3で補正部62による指令VCの補正を開始する。
 ステップS4において、プロセッサ30は、産業機械12の運転状態が変化したか否かを判断する。一例として、プロセッサ30は、フィードバック値FB(例えば、力フィードバック値FB、電流フィードバック値FB又は負荷トルクFBτ)が予め定めた閾値γを超えて変化したときに、YESと判断する。他の例として、プロセッサ30は、電動機24Bへの指令(例えば、トルク指令TC又は電圧信号VS)が閾値βを超えて変化したときに、産業機械12の運転状態が変化した(すなわち、YES)と判断する。
 さらに他の例として、プロセッサ30は、距離取得部88として機能し、センサ84から取得した位置フィードバック値FBP2に基づいて、産業機械102とワークとの距離Lを求める。具体的には、プロセッサ30は、位置フィードバック値FBP2と、被駆動体18Bの位置データとから、被駆動体18Aとワーク(又は被駆動体18B)との距離Lを求める。そして、プロセッサ30は、距離Lが予め定めた閾値εを超えて小さくなったときに、YESと判断する。
 そして、ステップS5において、プロセッサ30は、フィルタ処理FRの周波数帯を、第1の周波数帯[f>f]から、第2の周波数帯[f>f]又は[f<f<f、f<f]に切り換える。ここで、図20に示すフィルタ部44が実行するフィルタ処理FRの遮断周波数f、フィルタ処理FRの遮断周波数f、又は、フィルタ処理FRの遮断周波数f、f及びfは、図3又は図9に示す形態と同じ遮断周波数であってもよいし、又は、異なる遮断周波数として機械システム100に固有に定められてもよい。
 その後、プロセッサ30は、上述の実施形態と同様に、ステップS6~S9を順次実行する。このように、機械システム100においても、産業機械12の運転状態が変化したときに、フィルタ処理FR又はFRによって、フィードバック値FBV2からノイズ成分N2を遮断できる。なお、電動機24A又は24Bの制御フローとして、図3、図9、図10、図11、図14、又は図17に示すような制御フローを適用することができることを理解されたい。
 上述の実施形態において、フィルタ切換部46は、フィルタ処理FRの周波数帯を切り換えるときに、フィルタ処理FRの周波数帯[f>f]、又は、フィルタ処理FRの周波数帯[f<f<f、f<f]を、電動機24、24A、24Bへの指令PC、δP、VC、VC’、δV’、TC、VS、又は、センサ22、22A、22B、84、94、112からのフィードバック値FBに基づいて決定してもよい。
 例えば、プロセッサ30は、電動機への指令又はセンサからのフィードバック値FBと、ノイズ成分N2の周波数特性との相関性を示す学習モデルLMを生成し、該指令又は該フィードバック値FBと、該学習モデルLMとに基づいて、フィルタ処理FRの周波数帯を決定してもよい。
 以下、学習モデルLMの学習方法の例について説明する。プロセッサ30は、産業機械12の運転状態の変化が発生するように、産業機械12の運転を繰り返し試行し、このときに取得した指令又はフィードバック値FBの時間変化特性又は周波数特性と、フィードバック値FBに生じたノイズ成分N2の周波数特性(周波数帯)とを、学習データセットDSとして取得する。
 そして、プロセッサ30は、学習データセットDSを用いて、例えば教師あり学習を実行することにより、指令又はフィードバック値とノイズ成分N2の周波数特性との相関性を示す学習モデルLMを生成する。プロセッサ30は、産業機械12の運転の試行を繰り返す毎に、学習データセットDSを取得して学習モデルLMを更新する学習サイクルを実行する。これにより、学習モデルLMを最適解に導くことができる。
 そして、プロセッサ30は、上述のステップS5において、運転状態が変化したときに取得した指令又はフィードバック値を学習モデルLMに入力する。そうすると、学習モデルLMは、運転状態の変化時の指令又はフィードバック値と相関性を有するノイズ成分N2の周波数特性を出力する。プロセッサ30は、出力されたノイズ成分N2の周波数帯を含むように、フィルタ処理FR、FRの周波数帯(すなわち、遮断周波数f、f)を決定できる。こうして、プロセッサ30は、電動機への指令又はセンサからのフィードバック値FBに基づいてフィルタ処理FRの周波数帯を決定できる。
 なお、図4、図6及び図7に示すフィルタ処理FR、FR及びFRの周波数特性は、一例であって、遮断すべきノイズ成分に応じて、如何なる周波数特性を有するように構成してもよい。また、上述の産業機械12は、被駆動体18を複数の方向へ移動させる複数の移動機構を備えてもよい。この場合、プロセッサ30は、各々の移動機構の電動機に対して、上述したフィルタ制御フローを実行してもよい。また、上述の実施形態から、位置指令生成部36を削除してもよい。この場合において、位置指令生成部36は、上位コントローラに設けられ、プロセッサ30は、該上位コントローラから位置指令PCを受け付けてもよい。
 また、上述の実施形態においては、図8のステップS4において、プロセッサ30(運転状態判断部66)が、電動機24への指令(PC、δP、VC、VC’、δV’、TC、VS)、フィードバック値FB(FB、FB)、又は、産業機械12の動作プログラムOPに基づいて、産業機械12の運転状態が変化したか否かを判断する場合について述べた。
 しかしながら、これに限らず、プロセッサ30は、例えば、運転状態が変化(例えば、産業機械12とワークとが当接)する時間tを推定し、ステップS4において、運転開始からの経過時間が該時間tに達したときに、YESと判断してもよい。この時間tは、例えば、動作プログラムから推定することができる。
 また、上述の実施形態においては、フィルタ部44がデジタルフィルタとして構成される場合について述べた。しかしながら、フィルタ部44は、アナログフィルタによって構成されてもよい。例えば、フィルタ部44は、フィルタ処理FRを実行可能なアナログフィルタ部44αと、フィルタ処理FRを実行可能なアナログフィルタ部44β、又は、フィルタ処理FRを実行可能なアナログフィルタ部44γとを有してもよい。
 そして、プロセッサ30は、アナログフィルタ部44αと、アナログフィルタ部44β又は44γとの間でスイッチングすることによって、フィルタ処理FRの周波数帯を切り換えてもよい。以上、実施形態を通じて本開示を説明したが、上述の実施形態は、特許請求の範囲に係る発明を限定するものではない。
 10,80,90,100  機械システム
 12,82,92,102  産業機械
 14  制御装置
 22,22A,22B,84,112  センサ
 24,24A,24B  電動機
 30  プロセッサ
 44,44A,44B,44α、44β,44γ  フィルタ部
 46  フィルタ切換部
 62,62A,62B  補正部
 66  運転状態判断部
 88  距離取得部

Claims (12)

  1.  産業機械の電動機を制御する制御装置であって、
     前記電動機の動作により運転する前記産業機械からフィードバック値を取得するフィードバック取得部と、
     前記フィードバック値に基づいて、前記電動機を動作させるための指令を補正する補正部と、
     前記補正部に供給される前記フィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を行うフィルタ部と、
     前記産業機械の運転状態が変化したか否かを判断する運転状態判断部と、
     前記運転状態判断部によって前記運転状態が変化したと判断されたときに、前記フィルタ部が実行する前記フィルタ処理の前記周波数帯を、第1の周波数帯から第2の周波数帯に切り換えるフィルタ切換部と、を備える、制御装置。
  2.  前記運転状態判断部は、前記指令、前記フィードバック値、又は前記産業機械の動作プログラムに基づいて、前記運転状態が変化したか否かを判断する、請求項1に記載の制御装置。
  3.  前記運転状態判断部は、前記指令又は前記フィードバック値が所定の閾値を超えて変化したときに、前記運転状態が変化したと判断する、請求項2に記載の制御装置。
  4.  前記指令は、前記電動機へのトルク指令を含み、
     前記運転状態判断部は、前記トルク指令が前記閾値を超えて大きくなったときに、前記運転状態が変化したと判断する、請求項3に記載の制御装置。
  5.  前記フィードバック値に基づいて、前記産業機械とワークとの距離を求める距離取得部をさらに備え、
     前記運転状態判断部は、前記距離が所定の閾値を超えて小さくなったときに、前記運転状態が変化したと判断する、請求項2に記載の制御装置。
  6.  前記運転状態判断部は、前記動作プログラムによって規定される前記産業機械の運転モードが切り換わったときに、前記運転状態が変化したと判断する、請求項2に記載の制御装置。
  7.  前記フィルタ部は、前記フィードバック値と所定のフィルタ係数とを用いて、前記フィルタ処理を実行し、
     前記フィルタ切換部は、前記第1の周波数帯に対応する第1の前記フィルタ係数から、前記第2の周波数帯に対応する第2の前記フィルタ係数へ切り換えることによって、前記第1の周波数帯から前記第2の周波数帯に切り換える、請求項1~6のいずれか1項に記載の制御装置。
  8.  前記フィルタ切換部は、前記第1の周波数帯から前記第2の周波数帯に、段階的に切り換えるか、又は、前記周波数帯が時間とともに連続的に変化するように切り換える、請求項1~7のいずれか1項に記載の制御装置。
  9.  前記第2の周波数帯は、前記第1の周波数帯よりも低い周波数帯を含む、請求項1~8のいずれか1項に記載の制御装置。
  10.  前記フィルタ切換部は、前記フィルタ処理の前記周波数帯の切り換え後、予め定めた条件に従って、該周波数帯を、前記第2の周波数帯から前記第1の周波数帯に切り換える、請求項1~9のいずれか1項に記載の制御装置。
  11.  請求項1~10のいずれか1項に記載の制御装置と、
     前記電動機、及び、前記フィードバック値を取得して前記制御装置に供給するセンサを有する前記産業機械と、を備える、機械システム。
  12.  産業機械の電動機を制御する方法であって、
     前記電動機の動作により運転する前記産業機械からフィードバック値を取得し、
     前記フィードバック値に基づいて、前記電動機を動作させるための指令を補正し、
     前記補正のための前記フィードバック値に対し、所定の周波数帯の値を低減させるフィルタ処理を実行し、
     前記産業機械の運転状態が変化したか否かを判断し、
     前記運転状態が変化したと判断されたときに、実行する前記フィルタ処理の前記周波数帯を、第1の周波数帯から第2の周波数帯へ切り換える、方法。
PCT/JP2021/030454 2020-08-24 2021-08-19 電動機の制御装置、機械システム、及び制御方法 WO2022044971A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US18/022,657 US20230315026A1 (en) 2020-08-24 2021-08-19 Control device for electric motor, machine system, and control method
CN202180052122.3A CN116113892A (zh) 2020-08-24 2021-08-19 电动机的控制装置、机械系统以及控制方法
JP2022544526A JPWO2022044971A1 (ja) 2020-08-24 2021-08-19
DE112021003494.4T DE112021003494T5 (de) 2020-08-24 2021-08-19 Steuervorrichtung für elektromotor, maschinensystem und steuerverfahren

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-141029 2020-08-24
JP2020141029 2020-08-24

Publications (1)

Publication Number Publication Date
WO2022044971A1 true WO2022044971A1 (ja) 2022-03-03

Family

ID=80355141

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/030454 WO2022044971A1 (ja) 2020-08-24 2021-08-19 電動機の制御装置、機械システム、及び制御方法

Country Status (5)

Country Link
US (1) US20230315026A1 (ja)
JP (1) JPWO2022044971A1 (ja)
CN (1) CN116113892A (ja)
DE (1) DE112021003494T5 (ja)
WO (1) WO2022044971A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114706357A (zh) * 2022-05-31 2022-07-05 江苏中科云控智能工业装备有限公司 基于5g通信的工控设备信息化控制指令传输系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0993998A (ja) * 1995-09-29 1997-04-04 Mitsubishi Electric Corp 電動機の位置制御装置
JP2020047228A (ja) * 2018-09-21 2020-03-26 ファナック株式会社 モータ制御装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4728422B2 (ja) 2009-12-09 2011-07-20 ファナック株式会社 高速揺動動作を高精度化するサーボ制御システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0993998A (ja) * 1995-09-29 1997-04-04 Mitsubishi Electric Corp 電動機の位置制御装置
JP2020047228A (ja) * 2018-09-21 2020-03-26 ファナック株式会社 モータ制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114706357A (zh) * 2022-05-31 2022-07-05 江苏中科云控智能工业装备有限公司 基于5g通信的工控设备信息化控制指令传输系统

Also Published As

Publication number Publication date
JPWO2022044971A1 (ja) 2022-03-03
CN116113892A (zh) 2023-05-12
DE112021003494T5 (de) 2023-04-20
US20230315026A1 (en) 2023-10-05

Similar Documents

Publication Publication Date Title
EP1667001B1 (en) Controller
CN100538563C (zh) 控制装置
US6903529B2 (en) Method and apparatus for damping mechanical oscillations of a shaft in machine tools, manufacturing machines and robots
TWI716390B (zh) 伺服馬達控制裝置及衝突檢測方法
JP5384608B2 (ja) サーボ制御装置およびその調整方法
EP1658910B1 (en) Control device for die cushion mechanism
US10310489B2 (en) Servo controller
JP4235210B2 (ja) サーボモータの制御装置
JP4261470B2 (ja) 制御装置
KR101723326B1 (ko) 모터 제어 장치
JP2004288164A (ja) 同期制御装置
WO2022044971A1 (ja) 電動機の制御装置、機械システム、及び制御方法
JP7296593B2 (ja) エンコーダの異常検出方法、作動制御装置、ロボット及びロボットシステム
JP4578732B2 (ja) 工作機械送り系の制御装置
JP4867105B2 (ja) 数値制御装置
CN110941242A (zh) 电动机控制装置
JP4551359B2 (ja) サーボモータ駆動制御装置
JP5278333B2 (ja) モータ制御装置
JP4752298B2 (ja) モータ制御装置およびその制御方法
JP5412726B2 (ja) モータ制御装置
JP2011251301A (ja) 圧力制御装置
JPH08116688A (ja) サーボモータの発振検出方法及びサーボモータの速度ゲイン調整方法
JPH06309004A (ja) 制御装置

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: 21861399

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022544526

Country of ref document: JP

Kind code of ref document: A

122 Ep: pct application non-entry in european phase

Ref document number: 21861399

Country of ref document: EP

Kind code of ref document: A1