JP5889104B2 - Command generator for positioning control - Google Patents

Command generator for positioning control Download PDF

Info

Publication number
JP5889104B2
JP5889104B2 JP2012118047A JP2012118047A JP5889104B2 JP 5889104 B2 JP5889104 B2 JP 5889104B2 JP 2012118047 A JP2012118047 A JP 2012118047A JP 2012118047 A JP2012118047 A JP 2012118047A JP 5889104 B2 JP5889104 B2 JP 5889104B2
Authority
JP
Japan
Prior art keywords
time
deceleration
position command
speed
acceleration
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2012118047A
Other languages
Japanese (ja)
Other versions
JP2013246525A (en
Inventor
浩一郎 上田
浩一郎 上田
佐野 修也
修也 佐野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2012118047A priority Critical patent/JP5889104B2/en
Publication of JP2013246525A publication Critical patent/JP2013246525A/en
Application granted granted Critical
Publication of JP5889104B2 publication Critical patent/JP5889104B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position Or Direction (AREA)

Description

本発明は、サーボモータなどのモータを用いて機械負荷を位置決め制御するに際し、位置決め制御時の目標参照信号となる指令値を生成する位置決め制御用指令生成装置に関するものである。   The present invention relates to a positioning control command generation device that generates a command value that serves as a target reference signal during positioning control when positioning control of a mechanical load using a motor such as a servomotor.

位置決め制御を実現する典型的な例としてエンコーダの付いたサーボモータと、エンコーダの情報を用いてサーボモータを制御するサーボアンプと、サーボアンプに位置決め制御用の指令値を与えるモーションコントローラに代表される指令値生成装置を用いて実現する例が挙げられる。エンコーダは整数値の分解能(例えば、モータ1回転につき100000パルスを出力するなど)を有し、モーションコントローラは所望の移動量に応じて、所定周期毎に整数の値をとる指令値をサーボアンプに与え、サーボアンプはエンコーダの位置が指令値に追従するようにフィードバック制御等を行うことにより、サーボモータに供給する電流を計算し、電流をサーボモータに与えるという処理を行う。   Typical examples of positioning control include servo motors with encoders, servo amplifiers that control servo motors using encoder information, and motion controllers that give servo amplifiers command values for positioning control. An example of using a command value generator is given. The encoder has integer value resolution (for example, outputs 100000 pulses per motor rotation), and the motion controller gives the servo amplifier a command value that takes an integer value every predetermined period according to the desired amount of movement. The servo amplifier performs a process of calculating a current to be supplied to the servo motor by performing feedback control or the like so that the position of the encoder follows the command value, and supplying the current to the servo motor.

モーションコントローラは、位置決め制御時に、指令値(位置指令値の差分信号である速度や、速度の差分信号である加速度)を所望の形状で、所望の移動量に対して1パルスのずれのない指令値を生成する必要がある。また、位置決め制御時の機械振動を励起しないためには、指令値の形状として、単純な三角や台形だけではなく、加速時間や減速時間、加々速度時間をきめ細かく設定することが求められている。   During the positioning control, the motion controller uses a command value (speed that is a differential signal of position command value and acceleration that is a differential signal of velocity) in a desired shape and with no deviation of one pulse with respect to a desired movement amount. A value needs to be generated. In addition, in order not to excite mechanical vibration during positioning control, it is required to set not only simple triangles and trapezoids but also acceleration time, deceleration time, and jerk speed as the shape of the command value. .

このような位置決め制御用の指令値を生成する技術として、例えば、以下に示す特許文献1〜3が公開されている。特許文献1は、減速開始位置を予め入力しておき、加速度増加モード、一定加速度モード、加速度減少モード、一定速モードなどのモード毎の指令値を計算する式を予め用意しておき、位置が減速開始位置になったら減速モードに対応した計算式にする技術が公開されている。特許文献2は、移動平均フィルタを用いてS字加減速を実現することが公開されている。特許文献3では、減速に必要な移動距離を、加速度一定で減速停止させる場合の移動距離(速度^2/加速度/2)と、加々速度時間の情報をもとに計算される補正係数の積で算出し、算出した減速に必要な移動量に基づいて減速停止を開始するタイミングを決定し、減速停止のための位置指令を計算することが公開されている。   As techniques for generating such command values for positioning control, for example, Patent Documents 1 to 3 shown below are disclosed. In Patent Document 1, a deceleration start position is input in advance, and an equation for calculating a command value for each mode such as an acceleration increase mode, a constant acceleration mode, an acceleration decrease mode, a constant speed mode, and the like is prepared in advance. A technique for making a calculation formula corresponding to the deceleration mode when the deceleration start position is reached is disclosed. Patent Document 2 discloses that S-shaped acceleration / deceleration is realized using a moving average filter. In Patent Document 3, the movement distance necessary for deceleration is calculated by using a movement distance (speed ^ 2 / acceleration / 2) for deceleration and stopping at a constant acceleration and a correction coefficient calculated based on jerk time information. It is disclosed to calculate the position command for the deceleration stop by calculating the product, determining the timing for starting the deceleration stop based on the calculated movement amount necessary for the deceleration.

特開平2−121005号公報JP-A-2-121005 特開2008−171230号公報JP 2008-171230 A 国際公開第2010/125958号International Publication No. 2010/125958

しかしながら、上記従来の技術によれば、たとえば特許文献1の技術においては、減速開始位置を予め入力しておかなければならないという手間が生じるという問題がある。さらに、減速開始位置を不適切に設定すると、減速動作時の指令値の形状が所望の形状通りにならないという問題があった。   However, according to the above-described conventional technique, for example, the technique of Patent Document 1 has a problem that it takes time to input a deceleration start position in advance. Furthermore, if the deceleration start position is set inappropriately, there is a problem that the shape of the command value during the deceleration operation does not follow the desired shape.

さらに、特許文献2の技術においては、移動平均処理を行うが移動平均処理はバッファとなるメモリを移動平均時間に比例して用意する必要があり、指令生成装置を構成するにあたりメモリを非常に多く用意しなければならないという問題があった。   Furthermore, in the technique of Patent Document 2, moving average processing is performed. However, in moving average processing, it is necessary to prepare a buffer memory in proportion to the moving average time. There was a problem that had to be prepared.

また、特許文献3においては、加速度一定で減速停止させるのに必要な移動距離は、速度^2/加速度/2であることが公開されている。指令値をモーションコントローラに搭載されたCPUを用いて生成することを考えると、ある制御周期ごと(例えば1msごと)に指令値を生成することが通常行われるが、例えば、制御周期が1ms、減速開始の速度が100パルス/ms、減速時の加速度が10パルス/ms^2でかつ、一定加速度で減速する場合、速度^2/加速度/2を適用して減速に必要な移動量を算出すると500パルスとなる。しかし、実際の減速動作時の速度を計算してみると、100,90,80,・・・,20,10と速度100パルス/msから1msごとに減速時の加速度に相当する値10を減算していくことにより、減速時の速度が算出され、さらに、これらを全部合計して減速に必要な移動量を計算すると、100+90+80+・・・+20+10=550パルスとなる。これは、上記の計算式に対して誤差が生じていることを意味している。加速度一定で減速停止した場合、速度は直線的に減少するが、このとき減速時間は速度/加速度となり、減速に必要な移動量は速度×減速時間÷2=速度^2/加速度/2となる関係を利用している。この計算式は連続的な時間に対しては正確な計算式となるが、所定周期ごとに(離散的な時間ごとに)指令値を計算する際に適用すると誤差を生じるようになる。補正係数をかけても同様にやはり連続的な時間を仮定して算出しているので、誤差が生じる。誤差が生じると、減速開始が適切なタイミングで開始できなくなり、これにより指令値の形状に乱れが生じるという問題があった。   Patent Document 3 discloses that the moving distance necessary for decelerating and stopping at a constant acceleration is speed 2 / acceleration / 2. Considering that the command value is generated using the CPU mounted on the motion controller, the command value is usually generated every certain control cycle (for example, every 1 ms). For example, the control cycle is 1 ms, and the deceleration is performed. When the starting speed is 100 pulses / ms, the acceleration during deceleration is 10 pulses / ms ^ 2, and the vehicle decelerates at a constant acceleration, the movement amount necessary for deceleration is calculated by applying speed ^ 2 / acceleration / 2. 500 pulses. However, when calculating the speed during actual deceleration operation, the value 10 corresponding to the acceleration during deceleration is subtracted from 100, 90, 80, ..., 20, 10 and the speed of 100 pulses / ms every 1 ms. As a result, the speed at the time of deceleration is calculated, and further, when all of these are summed to calculate the amount of movement required for deceleration, 100 + 90 + 80 +... + 20 + 10 = 550 pulses. This means that an error has occurred in the above calculation formula. When decelerating and stopping at a constant acceleration, the speed decreases linearly. At this time, the deceleration time becomes speed / acceleration, and the travel required for deceleration is speed x deceleration time / 2 = speed ^ 2 / acceleration / 2. Utilizing relationships. Although this calculation formula is an accurate calculation formula for continuous time, an error occurs when it is applied when calculating a command value for each predetermined period (every discrete time). Even when the correction coefficient is applied, the calculation is performed on the assumption of continuous time, so that an error occurs. When an error occurs, the start of deceleration cannot be started at an appropriate timing, which causes a problem that the shape of the command value is disturbed.

本発明は、上記に鑑みてなされたものであって、加々速度時間が加速開始時、加速終了時、減速開始時、減速終了時でそれぞれ異なるS字指令等複雑な指令値に対しても、減速停止に必要な移動量を自動的に、かつ正確に算出し、さらに、メモリ等計算機負荷が少なくても実装が可能な位置決め制御用指令生成装置を提供することを目的とする。   The present invention has been made in view of the above, and it can be applied to complicated command values such as S-shaped commands that have different jerk times at the start of acceleration, at the end of acceleration, at the start of deceleration, and at the end of deceleration. Another object of the present invention is to provide a positioning control command generation device that can automatically and accurately calculate the amount of movement required for deceleration and stop and that can be mounted even with a small computer load such as a memory.

上述した課題を解決し、目的を達成するために、本発明は、経過時間、速度、加速時間、および加々速度時間に基づいて位置指令値を算出する位置指令計算部と、加速動作時には、前記経過時間を位置指令が開始されてからの所定周期毎の経過時間、前記速度を目標速度、前記加々速度時間を加速動作時の加々速度時間、として前記位置指令計算部が算出する位置指令値を出力する加速時位置指令算出部と、前記経過時間および前記加速時間を減速時間、前記加々速度時間を減速時の加々速度時間、として前記位置指令計算部が算出する位置指令値を減速停止に必要な移動量として出力する停止移動量算出部と、目標移動量と前記位置指令値との差である残距離と、前記減速停止に必要な移動量と、を比較することにより減速停止動作を開始するか否かを判断する減速開始タイミング判定部と、前記減速開始タイミング判定部が減速停止動作を開始すると判定したら、前記位置指令計算部の算出結果を用いて、減速停止動作の位置指令値を算出して出力する減速停止制御部と、を備えることを特徴とする。   In order to solve the above-described problem and achieve the object, the present invention includes a position command calculation unit that calculates a position command value based on elapsed time, speed, acceleration time, and jerk time, and during acceleration operation, Position calculated by the position command calculation unit using the elapsed time as the elapsed time for each predetermined period from the start of the position command, the speed as the target speed, and the jerk time as the jerk time during the acceleration operation Position command value that is calculated by the position command calculation unit that outputs a command value at the time of acceleration, and the elapsed time and the acceleration time are set as the deceleration time, and the jerk time is set as the jerk time during deceleration. By comparing the remaining distance, which is the difference between the target movement amount and the position command value, with the movement amount necessary for the deceleration stop. Start deceleration stop operation If the deceleration start timing determination unit and the deceleration start timing determination unit determine whether to start the deceleration stop operation, the position command value of the deceleration stop operation is calculated using the calculation result of the position command calculation unit. And a deceleration stop control unit for calculating and outputting.

本発明によれば、指定された形状となるように精度よく指令値を生成する位置決め制御用指令生成装置を得るという効果を奏する。   According to the present invention, there is an effect of obtaining a positioning control command generation device that accurately generates a command value so as to have a specified shape.

図1は、実施の形態1によって得られる指令値の時間変化を表すグラフである。FIG. 1 is a graph showing the change over time of the command value obtained by the first embodiment. 図2は、実施の形態にかかる位置決め制御用指令生成装置、サーボアンプ、サーボモータ、および機械負荷の構成の一例を説明するブロック図である。FIG. 2 is a block diagram for explaining an example of the configuration of the positioning control command generating device, the servo amplifier, the servo motor, and the mechanical load according to the embodiment. 図3は、実施の形態1にかかる位置決め制御用指令生成装置が指令値を生成する処理の流れを詳細に説明するフローチャートである。FIG. 3 is a flowchart for explaining in detail the flow of processing in which the positioning control command generation device according to the first embodiment generates a command value. 図4は、実施の形態1における減速停止処理の流れを詳細に説明するフローチャートである。FIG. 4 is a flowchart for explaining in detail the flow of the deceleration stop process in the first embodiment. 図5は、実施の形態2によって得られる指令値の時間変化を表すグラフである。FIG. 5 is a graph showing the change over time of the command value obtained by the second embodiment. 図6は、実施の形態2にかかる位置決め制御用指令生成装置が指令値を生成する処理の流れを詳細に説明するフローチャートである。FIG. 6 is a flowchart for explaining in detail the flow of processing in which the positioning control command generation device according to the second embodiment generates a command value. 図7は、実施の形態2における速度変更時の位置指令値の算出手順についての詳細な内容を説明するフローチャートである。FIG. 7 is a flowchart for explaining in detail the procedure for calculating the position command value at the time of speed change in the second embodiment. 図8は、実施の形態2における速度変更時の速度波形、速度変更要求を示す図である。FIG. 8 is a diagram showing a speed waveform and a speed change request at the time of speed change in the second embodiment. 図9は、実施の形態1にかかる位置決め制御用指令生成装置の構成を示すブロック図である。FIG. 9 is a block diagram of a configuration of the positioning control command generation device according to the first embodiment. 図10は、実施の形態2にかかる位置決め制御用指令生成装置の構成を示すブロック図である。FIG. 10 is a block diagram of a configuration of the positioning control command generation device according to the second embodiment.

以下に、本発明にかかる位置決め制御用指令生成装置の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。   Embodiments of a positioning control command generating apparatus according to the present invention will be described below in detail with reference to the drawings. Note that the present invention is not limited to the embodiments.

実施の形態1.
位置決め制御用指令値の一例として、図1のように加速度の形状が台形であり、速度がS字形状を有する指令値を生成する場合について説明を行う。図1に示される指令値は、移動量、加速時間、減速時間、目標速度、および、加速時に加速度が0からピーク加速度に到達するまでの時間である加々速度時間1、加速時に加速度がピーク加速度から0に到達するまでの時間である加々速度時間2、減速時に加速度が0からピーク加速度に到達するまでの時間である加々速度時間3、減速時に加速度がピーク加速度から0に到達するまでの時間である加々速度時間4の情報をもとに、生成される。
Embodiment 1 FIG.
As an example of the positioning control command value, a case will be described in which a command value having a trapezoidal acceleration shape and an S-shaped velocity is generated as shown in FIG. The command values shown in FIG. 1 are the amount of movement, acceleration time, deceleration time, target speed, jerk time 1 which is the time from acceleration to peak acceleration during acceleration, and peak acceleration during acceleration. Jerk time 2 which is time to reach 0 from acceleration, jerk time 3 which is time until acceleration reaches peak acceleration from 0 at deceleration, acceleration reaches 0 from peak acceleration at deceleration Is generated based on the information of jerk time 4 that is the time until.

図2は、本実施の形態にかかる位置決め制御用指令生成装置1、サーボアンプ3、サーボモータ5、および機械負荷8の構成の一例を説明するブロック図である。モーションコントローラなどである位置決め制御用指令生成装置1は、位置決め制御用の位置指令値2をサーボアンプ3へ出力する。典型的には、位置決め制御用指令生成装置1においては、位置指令値2を生成する手続きやアルゴリズムがCPUやFPGAなどに実装されることにより実現される。図9は、位置決め制御用指令生成装置1の構成を示すブロック図である。位置決め制御用指令生成装置1は、位置指令計算部11、加速時位置指令算出部12、停止移動量算出部13、減速開始タイミング判定部14、および減速停止制御部15を備える。これら各部の機能については、以下で説明する。   FIG. 2 is a block diagram for explaining an example of the configuration of the positioning control command generating device 1, the servo amplifier 3, the servo motor 5, and the mechanical load 8 according to the present embodiment. A positioning control command generation device 1 such as a motion controller outputs a position command value 2 for positioning control to the servo amplifier 3. Typically, the positioning control command generator 1 is realized by mounting a procedure or algorithm for generating the position command value 2 on a CPU, FPGA, or the like. FIG. 9 is a block diagram showing a configuration of the positioning control command generating device 1. The positioning control command generation device 1 includes a position command calculation unit 11, an acceleration position command calculation unit 12, a stop movement amount calculation unit 13, a deceleration start timing determination unit 14, and a deceleration stop control unit 15. The function of each part will be described below.

サーボアンプ3はサーボモータ5を制御し、サーボモータ5に取り付けられたエンコーダ6がサーボモータ5の位置7をサーボアンプ3に出力する。エンコーダ6は、例えばサーボモータ5の1回転あたり100000パルスを発生し、サーボモータ5の回転位置に応じたパルスを出力することが例として挙げられる。サーボモータ5の位置7が位置指令値2に追従するように、位置決め動作を行うためのトルクを発生させる電流4をサーボアンプ3はサーボモータ5に供給する。サーボアンプ3においては、位置指令値2にサーボモータ5の位置7が追従するようにフィードバック制御などが行われている。このように制御されたサーボモータ5は、機械負荷8を駆動する。   The servo amplifier 3 controls the servo motor 5, and the encoder 6 attached to the servo motor 5 outputs the position 7 of the servo motor 5 to the servo amplifier 3. For example, the encoder 6 generates 100,000 pulses per rotation of the servo motor 5 and outputs a pulse corresponding to the rotational position of the servo motor 5. The servo amplifier 3 supplies the servo motor 5 with a current 4 for generating torque for performing a positioning operation so that the position 7 of the servo motor 5 follows the position command value 2. In the servo amplifier 3, feedback control or the like is performed so that the position 7 of the servo motor 5 follows the position command value 2. The servo motor 5 controlled in this way drives the mechanical load 8.

図3は、図2および図9に示した位置決め制御用指令生成装置1が位置指令値2を生成するための処理の流れを詳細に説明するフローチャートである。ステップS1では、目標移動量D、目標(トップ)速度v、加速時定数Ta、減速時定数Td、加々速度時間比率1(rd1)、加々速度時間比率2(rd2)、加々速度時間比率3(rd3)、加々速度時間比率4(rd4)をそれぞれ位置決め制御用指令生成装置1に入力する。   FIG. 3 is a flowchart for explaining in detail the flow of processing for the positioning control command generator 1 shown in FIGS. 2 and 9 to generate the position command value 2. In step S1, target movement amount D, target (top) speed v, acceleration time constant Ta, deceleration time constant Td, jerk time ratio 1 (rd1), jerk time ratio 2 (rd2), jerk speed time The ratio 3 (rd3) and the jerk time ratio 4 (rd4) are respectively input to the positioning control command generator 1.

ここで、加速時定数Taは、サーボモータ5が速度0からモータ定格速度まで加速した場合に要する時間を表すパラメータで、加速時間を計算するためのパラメータである。減速時定数Tdは、サーボモータ5がモータ定格速度から速度0に減速した場合に要する時間を表すパラメータで、減速時間を計算するためのパラメータである。加々速度時間比率1は加速度が0からピーク加速度1に達するまでの時間が加速時間に占める比率を表すパラメータ、加々速度時間比率2はピーク加速度1から加速度0に達する時間が加速時間に占める比率を表すパラメータ、加々速度時間比率3は加速度0からピーク加速度2に達するまでの時間が減速時間に占める比率を表すパラメータ、加々速度時間比率4はピーク加速度2から加速度0に達する時間が減速時間に占める比率を表すパラメータである。従って、加々速度時間比率1、2、3、4はいずれも0〜100%の値で指定されるものとする。また、目標速度vは1制御周期(所定周期)あたりに位置が増加する量(例えば、10000パルス/制御周期)として与えられるものとする。さらに、以降の説明では、速度は1制御周期あたりの位置が増加する量、加速度は1制御周期あたりに速度が増加する量をあらわすものとして説明を行う。   Here, the acceleration time constant Ta is a parameter representing the time required for the servo motor 5 to accelerate from the speed 0 to the motor rated speed, and is a parameter for calculating the acceleration time. The deceleration time constant Td is a parameter representing the time required when the servo motor 5 decelerates from the motor rated speed to the speed 0, and is a parameter for calculating the deceleration time. Jerk speed time ratio 1 is a parameter representing the ratio of the time from acceleration 0 to peak acceleration 1 in the acceleration time, and jerk time ratio 2 is the time in acceleration time from peak acceleration 1 to acceleration 0. A parameter representing a ratio, jerk time ratio 3 is a parameter representing a ratio of time taken for acceleration to reach peak acceleration 2 in deceleration time, and jerk time ratio 4 is a time for reaching acceleration 0 from peak acceleration 2 This parameter represents the ratio of the deceleration time. Accordingly, the jerk speed time ratios 1, 2, 3, and 4 are all designated with a value of 0 to 100%. Further, the target speed v is given as an amount (for example, 10,000 pulses / control cycle) in which the position increases per control cycle (predetermined cycle). Further, in the following description, it is assumed that the speed represents the amount by which the position per control cycle increases, and the acceleration represents the amount by which the speed increases per control cycle.

ステップS2では、以降の処理に使用する変数を初期化する。すなわち、i=1,R=D,X[0]=0とする。ここで、iは位置指令値2の出力が開始されてからの経過時間を表し、制御周期ごとにiが+1ずつ増加する。X[i]は時間iにおける位置指令値を表し、i=0すなわち位置指令値2の出力が開始される前の位置を0とする。Rは、後述詳細するが、目標移動量Dに対して現制御時間での行き足りていない残距離を表す。R=Dとしているのは、指令が開始される前では位置指令は0としていることに対応している。   In step S2, variables used for subsequent processing are initialized. That is, i = 1, R = D, and X [0] = 0. Here, i represents an elapsed time after the output of the position command value 2 is started, and i increases by +1 for each control period. X [i] represents a position command value at time i, and i = 0, that is, a position before the output of the position command value 2 is started. As will be described in detail later, R represents a remaining distance that is not sufficient for the target movement amount D in the current control time. R = D corresponds to the position command being 0 before the command is started.

ステップS3では、目標速度v、加速時定数Ta、加々速度時間比率1(rd1)、および加々速度時間比率2(rd2)から、加速時間ta、加々速度時間1(d1)、加々速度時間2(d2)を計算する。具体的には、
ta=(v×Ta)/Vr
d1=(a×rd1)/100
d2=(a×rd2)/100
に従って計算する。ここで、Vrはモータの定格速度を表し、使用するモータが決まれば一意に決まる値である。また、加速時間ta、加々速度時間1(d1)、2(d2)はいずれも整数として計算するものとする(制御周期の何倍に相当するかの値)。また、上記を計算する際の除算(割り算)は四捨五入で演算するものとし、以降の説明でも除算が発生した場合は四捨五入で計算するものとする。
In step S3, acceleration time ta, jerk time 1 (d1), jerk from target speed v, acceleration time constant Ta, jerk time ratio 1 (rd1), and jerk time ratio 2 (rd2). Speed time 2 (d2) is calculated. In particular,
ta = (v × Ta) / Vr
d1 = ( t a × rd1) / 100
d2 = ( t a × rd2) / 100
Calculate according to Here, Vr represents the rated speed of the motor, and is a value uniquely determined if the motor to be used is determined. The acceleration time ta and jerk time 1 (d1) and 2 (d2) are both calculated as integers (values corresponding to how many times the control period corresponds). In addition, division (division) when calculating the above is performed by rounding off, and in the following description, when division occurs, calculation is performed by rounding off.

ステップS4では経過時間iが、加速時間ta以下かどうかを判定する。もし、経過時間iが加速時間ta以下(ステップS4:Yes)であれば、ステップS5で、指令が開始されてから入力経過した時間i(i=1,2,3,・・・)に応じて、位置指令計算部11が位置指令値の候補YをY=f(i,v,ta,d1,d2)により計算する。ただし、加速動作時における位置指令値の算出式f(i,v,ta,d1,d2)は以下の(1)式のように定義される。ステップS5の後はステップS7に進む。

Figure 0005889104
In step S4, it is determined whether the elapsed time i is equal to or shorter than the acceleration time ta. If the elapsed time i is less than or equal to the acceleration time ta (step S4: Yes), in step S5, depending on the time i (i = 1, 2, 3,...) That has elapsed since the command was started. Then, the position command calculation unit 11 calculates a position command value candidate Y by Y = f (i, v, ta, d1, d2). However, the calculation formula f (i, v, ta, d1, d2) of the position command value during the acceleration operation is defined as the following formula (1). After step S5, the process proceeds to step S7.
Figure 0005889104

また、ステップS4でi>taとなる場合(ステップS4:No)、即ち、経過時間iが加速時間taを過ぎた場合には、一定速動作になるので、ステップS6で、前時間における位置指令値X[i−1]を用いて、Y=X[i−1]+vとして位置指令値の候補値Yを計算する。ステップS6の後はステップS7に進む。   Further, if i> ta in step S4 (step S4: No), that is, if the elapsed time i has passed the acceleration time ta, a constant speed operation is performed. Using the value X [i−1], the position command value candidate value Y is calculated as Y = X [i−1] + v. After step S6, the process proceeds to step S7.

ステップS7では、停止移動量算出部13は、位置指令値の候補Yが時間iの位置指令値となった場合の速度である予測速度VpをVp=Y−X[i−1]により計算する。また、減速時定数Tdと予測速度Vpから減速度から減速停止するのに要する減速時間tdを以下のように計算する。
td=(Td×Vp)/Vr
減速時間tdを計算したら、さらに、加々速度時間3であるd3、加々速度時間4であるd4を以下のようにそれぞれ計算する。
d3=(td×rd3)/100
d4=(td×rd4)/100
ここで、減速時間td、加々速度時間3(d3)、4(d4)はいずれも整数データであるとして計算する。
In step S7, the stop movement amount calculation unit 13 calculates a predicted speed Vp that is a speed when the position command value candidate Y becomes a position command value at time i by Vp = Y−X [i−1]. . Further, the deceleration time td required to decelerate and stop from the deceleration is calculated from the deceleration time constant Td and the predicted speed Vp as follows.
td = (Td × Vp) / Vr
When the deceleration time td is calculated, d3 which is jerk time 3 and d4 which is jerk time 4 are calculated as follows.
d3 = (td × rd3) / 100
d4 = (td × rd4) / 100
Here, the deceleration time td and jerk speed times 3 (d3) and 4 (d4) are all calculated as integer data.

ステップS8では、ステップS7で算出した予測速度Vp、減速時間td、加々速度時間3のd3、加々速度時間4のd4に対し、v=Vp、ta=td、d1=d4、d2=d3とし、さらに、i=tdを上記した(1)式に代入することにより減速停止に必要な移動量Ddを位置指令計算部11が算出する。すなわち、
Dd=f(td,Vp,td,d4,d3)
を算出する。これにより、減速停止に必要な移動量を正確に算出することができる。停止移動量算出部13は、これを減速停止に必要な移動量Ddとして減速開始タイミング判定部14に渡す。
In step S8, v = Vp, ta = td, d1 = d4, d2 = d3 with respect to the predicted speed Vp, deceleration time td, jerk time 3 d3, and jerk time 4 d4 calculated in step S7. Further, by substituting i = td into the above equation (1), the position command calculation unit 11 calculates the movement amount Dd necessary for deceleration stop. That is,
Dd = f (td, Vp, td, d4, d3)
Is calculated. Thereby, the amount of movement required for deceleration stop can be calculated accurately. The stop movement amount calculation unit 13 passes this to the deceleration start timing determination unit 14 as a movement amount Dd necessary for deceleration stop.

ステップS9では、減速開始タイミング判定部14が、ステップS8で算出した減速に必要な移動量Ddと残距離Rを比較する。比較の結果、残距離Rが減速停止に必要な移動量Ddより大きければ(ステップS9:Yes)、ステップS10に移行する。ステップS10では、加速時位置指令算出部12が、時間iの位置指令値X[i]=Yとして、これをサーボアンプ3へ出力する。さらに、ステップS11では、残距離RをR=D−X[i]により更新する。また、iをインクリメント、すなわち、i=i+1とする。さらに、ステップS7で計算した予測速度Vp、減速時間td、加々速度時間3であるd3、加々速度時間4であるd4、減速停止に必要な移動量Ddを、それぞれ、Vmp=Vp、tmd=td、dm3=d3、dm4=d4、Dmd=Ddとして保存する。その後、次の制御周期でステップS4以降を再度実行する。   In step S9, the deceleration start timing determination unit 14 compares the movement distance Dd required for deceleration calculated in step S8 with the remaining distance R. As a result of the comparison, if the remaining distance R is larger than the movement amount Dd required for deceleration stop (step S9: Yes), the process proceeds to step S10. In step S <b> 10, the acceleration position command calculation unit 12 sets the position command value X [i] = Y at time i and outputs it to the servo amplifier 3. In step S11, the remaining distance R is updated by R = D−X [i]. Also, i is incremented, i.e., i = i + 1. Further, the predicted speed Vp, deceleration time td, jerk time 3 d3, jerk time 4 d4, and travel amount Dd required for deceleration stop calculated in step S7 are Vmp = Vp, tmd, respectively. = Td, dm3 = d3, dm4 = d4, and Dmd = Dd. Thereafter, step S4 and subsequent steps are executed again in the next control cycle.

また、ステップS9において、減速開始タイミング判定部14が残距離Rが減速に必要な移動量Ddより小さいと判断すれば(ステップS9:No)、ステップS12の減速停止処理に移行し処理を完了する。図4は、ステップS12の減速停止処理、すなわち、減速停止時の位置指令値を算出する詳細について説明するフローチャートである。ステップS12の減速停止処理即ち、図4のフローチャートは、減速停止制御部15により実行される。   In step S9, if the deceleration start timing determination unit 14 determines that the remaining distance R is smaller than the movement amount Dd required for deceleration (step S9: No), the process proceeds to the deceleration stop process in step S12 and the process is completed. . FIG. 4 is a flowchart for explaining the details of calculating the position command value at the time of deceleration stop, that is, deceleration stop of step S12. The deceleration stop process of step S12, that is, the flowchart of FIG.

図4のステップS101では、減速停止時に補正分残距離Hを、残距離Rと減速停止に必要な移動量Dmdとの差により計算する。すなわち、H=R−Dmdとする。なお、ここで用いるDmdは、ステップS9で残距離Rが減速に必要な移動量Ddより小さいとはじめて判定されるときに保存されていたDmd、即ち前回の制御周期におけるDdなので、Hは負にならない。   In step S101 of FIG. 4, the corrected remaining distance H at the time of deceleration stop is calculated from the difference between the remaining distance R and the movement amount Dmd necessary for deceleration stop. That is, H = R−Dmd. Note that Dmd used here is the Dmd stored when it is first determined in step S9 that the remaining distance R is smaller than the movement amount Dd required for deceleration, that is, Dd in the previous control cycle, so H is negative. Don't be.

ステップS102では、後の処理に使用する変数を初期化する。すなわち、j=1、Vold=Vmpとする。ここで、jは減速動作を開始してからの時間を表し、Voldは前制御周期での速度を表す変数である。   In step S102, variables used for later processing are initialized. That is, j = 1 and Vold = Vmp. Here, j represents the time since the start of the deceleration operation, and Vold is a variable representing the speed in the previous control cycle.

ステップS103では、(1)式においてv=Vmp、ta=tmd、d2=dm3、d1=dm4として、位置指令計算部11が
Y1=f(tmd−j+1,Vmp,tmd,dm4,dm3)
Y2=f(tmd−j,Vmp,tmd,dm4,dm3)
を算出する。さらに、ステップS104では、減速時の速度Vd=Y1−Y2を計算する。
In step S103, v = Vmp, ta = tmd, d2 = dm3, d1 = dm4 in the equation (1), and the position command calculation unit 11 performs Y1 = f (tmd−j + 1, Vmp, tmd, dm4, dm3).
Y2 = f (tmd−j, Vmp, tmd, dm4, dm3)
Is calculated. Further, in step S104, the deceleration speed Vd = Y1-Y2 is calculated.

ステップS105では、ステップS104で計算した減速時の速度Vdに対し、
Vd≦H<Voldを満たすかどうかを判定する。
In step S105, the speed Vd during deceleration calculated in step S104 is
It is determined whether or not Vd ≦ H <Vold is satisfied.

もし、満たさなければ(ステップS105:No)、ステップS106に進み、変数jをインクリメント(j=j+1)とし、ステップS108へ移行する。また、満たしていれば(ステップS105:Yes)、ステップS107に進み、減速時の速度Vd=Hとする。これは、残距離補正を行うための処理である。その後、ステップS108へ移行する。   If not satisfied (step S105: No), the process proceeds to step S106, the variable j is incremented (j = j + 1), and the process proceeds to step S108. If the condition is satisfied (step S105: Yes), the process proceeds to step S107, and the speed Vd at deceleration is set to H. This is a process for performing the remaining distance correction. Thereafter, the process proceeds to step S108.

ステップS108では、今回の位置指令値X[i]を、前回の制御周期における前回の位置指令値X[i−1]にVdを加えることにより算出する。すなわち、
X[i]=X[i−1]+Vd
とする。そして減速停止制御部15は、これをサーボアンプ3へ出力する。
In step S108, the current position command value X [i] is calculated by adding Vd to the previous position command value X [i-1] in the previous control cycle. That is,
X [i] = X [i-1] + Vd
And The deceleration stop control unit 15 outputs this to the servo amplifier 3.

ステップS109では、Voldを更新し、変数iをインクリメントする。すなわち、以下を実行する。
Vold=Vd,i=i+1
In step S109, Vold is updated and the variable i is incremented. That is, the following is executed.
Vold = Vd, i = i + 1

ステップS110では、減速動作を開始してからの経過時間を表す変数であるjが、減速時間tmdに等しいかどうかを確認する。もし、等しくなければ(ステップS110:No)、次の制御周期でステップS103以降を再度実行する。また、j=tmdであれば(ステップS110:Yes)、処理を終了する。処理を終了した時点で、移動量が所望の(目標)移動量Dであり、かつ、図3のステップS1で指定した目標速度v、加速時定数Ta、減速時定数Td、加々速度時間比率1(rd1)、加々速度時間比率2(rd2)、加々速度時間比率3(rd3)、加々速度時間比率4(rd4)で指定される図1に示すようなS字状の位置指令値を算出している。即ち、減速停止処理における位置指令値を指定された形状通りに精度よく算出することができる。   In step S110, it is confirmed whether j, which is a variable representing the elapsed time since the start of the deceleration operation, is equal to the deceleration time tmd. If they are not equal (step S110: No), step S103 and subsequent steps are executed again in the next control cycle. If j = tmd (step S110: Yes), the process ends. When the processing is finished, the movement amount is a desired (target) movement amount D, and the target speed v, acceleration time constant Ta, deceleration time constant Td, jerk time ratio specified in step S1 of FIG. An S-shaped position command as shown in FIG. 1 specified by 1 (rd1), jerk time ratio 2 (rd2), jerk time ratio 3 (rd3), and jerk time ratio 4 (rd4) The value is calculated. That is, the position command value in the deceleration stop process can be accurately calculated according to the designated shape.

次に、本実施の形態に従って指令値を生成したときに得られる効果について説明をする。本実施の形態において、中心となる処理は、加速時の位置指令値を計算する(1)式である。   Next, the effect obtained when the command value is generated according to the present embodiment will be described. In the present embodiment, the central processing is equation (1) for calculating a position command value during acceleration.

(1)式において、1≦i≦d1に対応する計算式は、図1の指令値の加速動作中の加々速度時間1での位置を計算する式である。また、d1<i≦ta−d2に対応する計算式は、図1の指令値の加速動作中の一定加速度時間での位置を計算する式である。また、ta−d2<i≦taに対応する計算式は、図1の指令値の加速動作中の加々速度時間2での位置を計算する式に対応している。(1)式により、加速動作時、減速動作時における位置指令値、および、減速に必要な移動量を精度良く算出することで、図1のような形状の指令値を精度良く生成することができる。   In the formula (1), the calculation formula corresponding to 1 ≦ i ≦ d1 is a formula for calculating the position at the jerk time 1 during the acceleration operation of the command value in FIG. A calculation formula corresponding to d1 <i ≦ ta−d2 is a formula for calculating the position of the command value in FIG. 1 at a constant acceleration time during the acceleration operation. Further, the calculation formula corresponding to ta−d2 <i ≦ ta corresponds to the formula for calculating the position at the jerk time 2 during the acceleration operation of the command value in FIG. By accurately calculating the position command value during acceleration operation and deceleration operation and the amount of movement necessary for deceleration by the equation (1), the command value having the shape as shown in FIG. 1 can be generated with high accuracy. it can.

図3のフローチャートにおいて、ステップS1で入力された諸情報に基づいて、ステップS3では加速動作時の加速時間ta、加々速度時間1(d1)、加々速度時間2(d2)を計算し、これらの値を用いて、加速動作時には、経過時間iに応じて(1)式に従って経過時間i(今回の制御周期)における位置指令値の候補値Yを計算する(ステップS5)。また、経過時間iが加速時間taを過ぎれば、一定速動作になるので、ステップS6では、前時間(前制御周期)の位置指令値X[i−1]に目標速度に相当するvを加えることで、一定の速度を保つための位置指令値を生成する(ステップS6)。   In the flowchart of FIG. 3, based on various information input in step S1, in step S3, acceleration time ta, jerk time 1 (d1), jerk time 2 (d2) during acceleration operation are calculated, Using these values, during the acceleration operation, the position command value candidate value Y at the elapsed time i (current control cycle) is calculated according to the equation (1) according to the elapsed time i (step S5). Further, if the elapsed time i passes the acceleration time ta, the operation becomes constant speed. Therefore, in step S6, v corresponding to the target speed is added to the position command value X [i-1] of the previous time (previous control cycle). Thus, a position command value for maintaining a constant speed is generated (step S6).

ステップS5およびステップS6で、位置指令値の候補Yを算出しながら、これと同じ制御周期で候補Yが、現制御周期での位置指令値となった場合に、減速停止するのに必要な移動量が確保されるかどうかのチェックをステップS8、S9で行う。具体的には、位置指令値の候補Yが位置指令値となった場合の予測速度Vpを、Yと前回位置指令値X[i−1]の差から算出し、この速度から、減速時間td、加々速度時間3(d3)、4(d4)を算出し(ステップS7)、これらの情報と、(1)式を用いて減速に必要な移動量Ddを算出する。   In step S5 and step S6, while calculating the position command value candidate Y, if the candidate Y becomes the position command value in the current control cycle in the same control cycle, the movement necessary for decelerating and stopping Whether or not the amount is secured is checked in steps S8 and S9. Specifically, the predicted speed Vp when the position command value candidate Y becomes the position command value is calculated from the difference between Y and the previous position command value X [i−1], and the deceleration time td is calculated from this speed. The jerk time 3 (d3) and 4 (d4) are calculated (step S7), and the movement amount Dd required for deceleration is calculated using these information and the equation (1).

ここで、(1)式を用いて減速に必要な移動量を算出できる理由は、(1)式において経過時間に加速時間を代入して算出される値は、加速時間における位置指令値であるのは勿論であるが、加速に必要な移動量ともみなすことができるからである。同様に、経過時間に減速時間、および、目標速度に減速を開始する速度、加速時間に減速時間、加速時の加々速度時間に減速時の加々速度時間を代入して算出される値は、減速に必要な移動量Ddとみなすことができる。   Here, the reason why the movement amount necessary for deceleration can be calculated using the equation (1) is that the value calculated by substituting the acceleration time into the elapsed time in the equation (1) is the position command value in the acceleration time. Of course, this is because it can be regarded as a movement amount necessary for acceleration. Similarly, the value calculated by substituting the deceleration time for the elapsed time, the speed for starting deceleration to the target speed, the deceleration time for the acceleration time, and the jerk time for deceleration to the jerk time for acceleration is This can be regarded as the movement amount Dd required for deceleration.

もし、残距離Rが減速に必要な移動量Ddよりも大きければ、位置指令値の候補Yを今回の制御周期の位置指令値としても減速に必要な移動量が確保できるものと判断して、Yを今回の制御周期の位置指令値とする(ステップS10)。また、残距離Rが減速に必要な移動量Ddよりも小さければ、今回の制御周期では候補Yを位置指令値にするのではなく、減速停止処理を行うことによって位置指令値を算出するという処理を行う(ステップS12)。減速停止処理を開始するタイミングが早すぎると減速停止処理終了時に目標移動量に対して行き足りず減速停止動作時に補正する補正量が大きくなりすぎ、これにより指令値の形状が大きく乱れたり、遅すぎれば目標移動量をオーバーするが、本実施の形態のように減速停止処理を行うことで、適切なタイミングで減速停止処理を開始することができる。   If the remaining distance R is larger than the movement amount Dd necessary for deceleration, it is determined that the movement amount necessary for deceleration can be secured even if the position command value candidate Y is used as the position command value of the current control cycle, Let Y be the position command value of the current control cycle (step S10). If the remaining distance R is smaller than the movement amount Dd required for deceleration, the position command value is calculated by performing deceleration stop processing instead of using the candidate Y as the position command value in the current control cycle. Is performed (step S12). If the timing to start the deceleration stop process is too early, the target movement amount will not be sufficient at the end of the deceleration stop process, and the correction amount to be corrected during the deceleration stop operation will be too large. If it is too much, the target movement amount is exceeded, but the deceleration stop process can be started at an appropriate timing by performing the deceleration stop process as in the present embodiment.

図1に示す指令値は加速動作中も減速動作中も、加速時間、減速時間、加々速度時間の値に差はあるにしろ、減速時の加速度の形状が台形となる同一のパターンをとるので、図4に示した減速停止処理中の各時間j=1,2,・・・,tmdにおいても(1)式を用いて位置指令値を生成する。   The command values shown in FIG. 1 have the same pattern in which the shape of acceleration during deceleration is trapezoidal, even though there is a difference in acceleration time, deceleration time, and jerk time during acceleration and deceleration operations. Therefore, the position command value is generated using the equation (1) also at each time j = 1, 2,..., Tmd during the deceleration stop process shown in FIG.

このとき、目標速度vにあたるパラメータには、減速を開始するときの速度であるVmpを、また、加速時間にあたるパラメータには減速時間tmdを、加々速度時間1にあたるパラメータには加々速度時間4(dm4)を、加々速度時間2にあたるパラメータには加々速度時間3(dm3)をそれぞれ代入する。また、(1)式は経過時間iが増加するにつれて速度が増加する指令値を計算するので、減速停止動作をする指令値を計算するためには、減速時間から減速停止処理を引いたtmd−jを経過時間として適用することにより、jが増加するにつれて速度が減少する指令値を算出することができる。   At this time, the parameter corresponding to the target speed v is Vmp, which is the speed at which deceleration starts, the deceleration time tmd is the parameter corresponding to the acceleration time, and the additional speed time 4 is the parameter corresponding to the additional speed time 1. (Dm4) is substituted for jerk time 3 (dm3) for the parameter corresponding to jerk time 2. Further, since the equation (1) calculates a command value for increasing the speed as the elapsed time i increases, in order to calculate a command value for performing the deceleration stop operation, tmd− obtained by subtracting the deceleration stop processing from the deceleration time. By applying j as the elapsed time, a command value whose speed decreases as j increases can be calculated.

このとき、減速停止処理中の位置指令値の差分である速度は、経過時間tmd−j+1のときの位置指令値Y1と経過時間のtmd−jのときの位置指令値Y2との差、すなわち、
Y1=f(tmd−j+1,Vmp,tmd,dm4,dm3)
Y2=f(tmd−j,Vmp,tmd,dm4,dm3)
としたときの
Vd=Y1−Y2
で表すことができる(ステップS103,S104)。この値Vdを前回の制御周期における位置指令値X[i−1]に加えることで、今回の制御周期における位置指令値X[i]を算出する(ステップS108)。
At this time, the speed, which is the difference between the position command values during the deceleration stop process, is the difference between the position command value Y1 at the elapsed time tmd-j + 1 and the position command value Y2 at the elapsed time tmd-j, that is,
Y1 = f (tmd−j + 1, Vmp, tmd, dm4, dm3)
Y2 = f (tmd−j, Vmp, tmd, dm4, dm3)
Vd = Y1-Y2
(Steps S103 and S104). By adding this value Vd to the position command value X [i-1] in the previous control cycle, the position command value X [i] in the current control cycle is calculated (step S108).

また、この減速動作中の各時間j=1,2,・・・,tmdにおいて算出される速度を合計して、減速停止に必要な移動量を計算すると、
{f(tmd,Vmp,tmd,dm4,dm3)−f(tmd−1,Vmp,tmd,dm4,dm3)}+
{f(tmd−1,Vmp,tmd,dm4,dm3)−f(tmd−2,Vmp,tmd,dm4,dm3)}+
{f(tmd−2,Vmp,tmd,dm4,dm3)−f(tmd−3,Vmp,tmd,dm4,dm3)}+
・・・
{f(2,Vmp,tmd,dm4,dm3)−f(1,Vmp,tmd,dm4,dm3)}+
{f(1,Vmp,tmd,dm4,dm3)−f(0,Vmp,tmd,dm4,dm3)}
=f(tmd,Vmp,tmd,dm4,dm3)−f(0,Vmp,tmd,dm4,dm3)
=f(tmd,Vmp,tmd,dm4,dm3)
となるが、これはステップS8で計算した減速に必要な移動量Ddと一致する。
In addition, when the speed calculated at each time j = 1, 2,..., Tmd during the deceleration operation is totaled to calculate the movement amount necessary for deceleration stop,
{F (tmd, Vmp, tmd, dm4, dm3) -f (tmd-1, Vmp, tmd, dm4, dm3)} +
{F (tmd-1, Vmp, tmd, dm4, dm3) -f (tmd-2, Vmp, tmd, dm4, dm3)} +
{F (tmd-2, Vmp, tmd, dm4, dm3) -f (tmd-3, Vmp, tmd, dm4, dm3)} +
...
{F (2, Vmp, tmd, dm4, dm3) −f (1, Vmp, tmd, dm4, dm3)} +
{F (1, Vmp, tmd, dm4, dm3) -f (0, Vmp, tmd, dm4, dm3)}
= F (tmd, Vmp, tmd, dm4, dm3)-f (0, Vmp, tmd, dm4, dm3)
= F (tmd, Vmp, tmd, dm4, dm3)
This coincides with the movement amount Dd required for deceleration calculated in step S8.

なぜならば、減速停止動作(ステップS12)へ移行した際に、保存されている予測速度、減速時間、加々速度時間3、加々速度時間4は、ステップS9でR>Ddと判断されたときの制御周期における予測速度Vp、減速時間td、加々速度時間3(d3)、4(d4)ではなく、その1つ前の制御周期の予測速度、減速時間、加々速度時間3、4であり、これらはステップS11でそれぞれVmp,tmd,dm3,dm4として保存された値である。これらを(1)式に代入したものは上式に代入したものに等しい。よって、減速に必要な移動量を(1)式により算出し、減速に必要な移動量と残距離を比較し、比較結果によって減速開始動作を開始するタイミングを決定し、さらに、減速動作時の位置指令値も同じ(1)式を用いて算出することにより、指定された形状の指令値を精度良く算出することができるという効果がある。これは、指令値生成に要する処理を浮動小数点演算ではなく、整数演算(固定小数点演算)で計算しても、減速停止に必要な移動量を1パルスのずれなく算出することができるという効果もある。   This is because the stored predicted speed, deceleration time, jerk time 3 and jerk time 4 are determined as R> Dd in step S9 when the process proceeds to the deceleration stop operation (step S12). Is not the predicted speed Vp, deceleration time td, jerk speed time 3 (d3), 4 (d4) in the control cycle, but the predicted speed, deceleration time, jerk time 3, 4 of the previous control cycle These are the values stored as Vmp, tmd, dm3, and dm4 in step S11, respectively. Substituting these into equation (1) is equivalent to substituting into the above equation. Therefore, the amount of movement required for deceleration is calculated by equation (1), the amount of movement required for deceleration is compared with the remaining distance, the timing for starting the deceleration start operation is determined based on the comparison result, and further, By calculating the position command value using the same equation (1), it is possible to calculate the command value of the designated shape with high accuracy. This also has the effect that even if the processing required for command value generation is calculated not by floating point arithmetic but by integer arithmetic (fixed decimal point arithmetic), the amount of movement required for deceleration stop can be calculated without any deviation of one pulse. is there.

減速停止処理の制御は基本的には、前述のようにVd=Y1−Y2で速度を計算し、これを前回の制御周期の位置指令値X[i−1]に加えることで、今回の制御周期の位置指令値X[i]を算出する。減速を開始する直前の位置指令値の値と減速に必要な移動量Dmdの合計は、所望の移動量Dに一般には一致するとは限らないため、減速停止処理を開始する前に、一致しない分を補正分残距離Hとして算出し(ステップS101)、減速停止処理の途中で、補正分残距離Hを何らかの形で位置指令値に加えて、減速停止処理完了後の位置指令値が所望の移動量Dに一致する補正を行う。本実施の形態で説明した具体的な補正分残距離を補正する方法は、補正分残距離に相当する速度を減速停止処理中の速度として挿入することにより実現する。減速停止処理時には速度が徐々に減少する位置指令値を生成することから、補正分残距離Hが、ある時刻jに対して
時刻jのVd≦H<時刻j−1のVd(=Vold)
が成立する制御周期において(ステップS105:Yes)、速度Vdを補正分残距離Hとする処理を行う(ステップS107)。減速時間の各制御の周期において速度が漸減するVd=Y1−Y2の系列に対して、このように補正分残距離Hを指令値に反映させても、速度が漸減する性質は失われず、指令値の形状をほとんど崩すことなく減速停止時の位置指令値を生成できるという効果がある。
Basically, the deceleration stop process is controlled by calculating the speed with Vd = Y1−Y2 as described above and adding this to the position command value X [i−1] of the previous control cycle. A cycle position command value X [i] is calculated. The sum of the value of the position command value immediately before starting deceleration and the movement amount Dmd necessary for deceleration generally does not always match the desired movement amount D. Is calculated as the corrected remaining distance H (step S101), and the corrected remaining distance H is added to the position command value in some way during the deceleration stop process, and the position command value after the completion of the deceleration stop process is the desired movement. Correction corresponding to the amount D is performed. The specific method of correcting the corrected remaining distance described in the present embodiment is realized by inserting a speed corresponding to the corrected remaining distance as a speed during the deceleration stop process. Since the position command value at which the speed is gradually reduced is generated during the deceleration stop process, the corrected remaining distance H is Vd at time j ≦ Vd at time j with respect to a certain time j (= Vold)
In a control cycle in which is established (step S105: Yes), a process of setting the speed Vd to the corrected remaining distance H is performed (step S107). Even if the correction remaining distance H is reflected in the command value in this way for the Vd = Y1-Y2 series in which the speed gradually decreases in each control period of the deceleration time, the property of the speed gradually decreasing is not lost. There is an effect that the position command value at the time of deceleration stop can be generated with almost no change in the shape of the value.

減速停止処理を開始する直前の時間i=kとしたとき、補正分残距離を補正して減速停止処理を終了したときの移動量は、時間kでの位置指令値X[k]と減速停止に必要な移動量Dmdと補正分残距離Hの合計であることから、
X[k]+Dmd+H=X[k]+Dmd+(R−Dmd)
=X[k]+R
=X[k]+(D−X[k])
=D
となり、減速停止終了後に所望の移動量にずれを生じさせることなく、位置決め制御用の指令値が生成できる。ここで、H=R−Dmd(ステップS101)、R=D−X[k](ステップS11)であることを利用している。
When time i immediately before starting the deceleration stop process is set to i = k, the movement amount when the remaining correction distance is corrected and the deceleration stop process is completed is the position command value X [k] at time k and the deceleration stop. Is the sum of the travel distance Dmd and the corrected remaining distance H required for
X [k] + Dmd + H = X [k] + Dmd + (R−Dmd)
= X [k] + R
= X [k] + (D-X [k])
= D
Thus, the command value for positioning control can be generated without causing a shift in the desired movement amount after the deceleration stop is completed. Here, it is used that H = R−Dmd (step S101) and R = D−X [k] (step S11).

なお、補正分残距離Hを補正する方法はこれに限られるものではなく、例えば、補正分残距離Hを、合計して補正分残距離Hになるように減速時間数tmd個に分割して、分割した値を減速処理動作の各制御時間の減速速度に加えてもよい。具体的な分割方法としては、(1)式にしたがって減速処理動作の指令値を計算した際の、加速度の絶対値に比例して計算するようにすることが例として挙げられる。具体的には、減速停止処理を開始してから経過時間jが経った時の速度をv(j)としたときに、
{|v(j−1)−v(j)|×H}/Vmp
を時間jにおける速度Vdに加え、さらに、前回の制御周期の位置指令値を加えることによって、減速停止処理における位置指令値を算出する。
The method of correcting the corrected remaining distance H is not limited to this. For example, the corrected remaining distance H is divided into the number of deceleration times tmd so that the corrected remaining distance H is added up. The divided value may be added to the deceleration speed for each control time of the deceleration processing operation. A specific example of the division method is to calculate in proportion to the absolute value of the acceleration when the command value for the deceleration processing operation is calculated according to equation (1). Specifically, when v (j) is the speed when the elapsed time j has elapsed since the start of the deceleration stop process,
{| V (j−1) −v (j) | × H} / Vmp
Is added to the speed Vd at time j, and the position command value of the previous control cycle is added to calculate the position command value in the deceleration stop process.

なお、減速停止に必要な移動量が減速停止処理を開始する前に正確に算出できていないと、補正分残距離Hもまた正確に算出されない。不正確な補正分残距離をもとに補正を行っても、減速停止処理終了時に所望の移動量Dに一致しないという不都合が生じるが、本実施の形態によれば、(1)式に従って減速停止動作時の位置指令値を計算した際の、減速に必要な移動量が減速開始前に1パルスのずれなく正確に算出できるため、上記の不都合は生じないという効果がある。この結果、指定された形状となるように精度よく指令値を生成することができる。   Note that if the amount of movement necessary for deceleration stop cannot be accurately calculated before the deceleration stop process is started, the corrected remaining distance H is also not accurately calculated. Even if the correction is performed based on the inaccurate correction remaining distance, there is a disadvantage that it does not coincide with the desired movement amount D at the end of the deceleration stop process. However, according to the present embodiment, the deceleration is performed according to the equation (1). When the position command value at the time of the stop operation is calculated, the amount of movement necessary for deceleration can be accurately calculated without any deviation of one pulse before starting deceleration, so that the above inconvenience does not occur. As a result, the command value can be generated with high accuracy so that the designated shape is obtained.

なお、本実施の形態では、加速時間、減速時間を決定するにあたり、加速時定数、減速時定数を設け、速度と加速、減速時定数から加速時間および減速時間を決定したが、加速時の加速度、減速時の加速度を指定して、加速時間(もしくは減速時間)=速度/加速度の関係から算出してもよい。本実施の形態では、加々速度時間において加速度が直線的に増加、あるいは減少するタイプの指令値を例にあげて説明したが、加々速度時間を用いて加速度が三角関数を用いて増加、あるいは減少するタイプのユニバーサルカム曲線などの指令値に適用されてもよい。ユニバーサルカム曲線に適用する場合、加速時の位置指令値を計算する(1)式が、ユニバーサルカム曲線に対応した式になるだけで、他の処理は全く同じでよい。また、本実施の形態では、位置決め制御を回転型サーボモータ、回転型エンコーダを使用した構成について説明したが、リニアタイプのサーボモータ、および、エンコーダとしてリニアスケールを使用してもよい。また、サーボモータのかわりにステッピングモータを用いても良い。   In this embodiment, when determining the acceleration time and deceleration time, an acceleration time constant and a deceleration time constant are provided, and the acceleration time and deceleration time are determined from the speed, acceleration, and deceleration time constant. Alternatively, the acceleration at the time of deceleration may be designated and calculated from the relationship of acceleration time (or deceleration time) = speed / acceleration. In the present embodiment, the command value of the type in which the acceleration linearly increases or decreases in the jerk time has been described as an example, but the acceleration increases using a trigonometric function using the jerk time, Alternatively, it may be applied to a command value such as a decreasing type of universal cam curve. When applied to the universal cam curve, the expression (1) for calculating the position command value at the time of acceleration is merely an expression corresponding to the universal cam curve, and other processes may be exactly the same. In the present embodiment, the configuration using the rotary servo motor and the rotary encoder has been described for the positioning control. However, a linear scale may be used as the linear servo motor and the encoder. A stepping motor may be used instead of the servo motor.

実施の形態2.
実施の形態1では、目標速度を与え、この目標速度に従って、加速動作、速度一定の動作、減速動作を順次行う位置決め制御用の位置指令値を生成する位置決め制御用指令生成装置について説明を行った。同じ考え方で、加速もしくは一定速度中に速度変更要求信号を受信し、速度変更要求信号を受信後に、変更速度への加速(もしくは減速)動作時の加速度に関しても指定された形状通りにしながら、速度を目標速度から変更速度に変更して指令値を生成することが可能であり、本実施の形態ではこの内容について説明を行う。本実施の形態における位置決め制御用指令生成装置1の構成を図10に示す。図10では、図9の構成に、速度変更時位置指令計算部16が追加された構成になっている。
Embodiment 2. FIG.
In the first embodiment, a positioning control command generating device that gives a target speed and generates a position command value for positioning control that sequentially performs acceleration operation, constant speed operation, and deceleration operation according to the target speed has been described. . In the same way, after receiving a speed change request signal during acceleration or constant speed, after receiving the speed change request signal, the speed during acceleration (or deceleration) operation to the changed speed is also in the specified shape, and the speed The command value can be generated by changing the target speed from the target speed to the change speed. This embodiment will explain the contents. FIG. 10 shows the configuration of positioning control command generating apparatus 1 in the present embodiment. In FIG. 10, a speed change position command calculation unit 16 is added to the configuration of FIG.

図5は、本実施の形態によって得られる指令値の速度、加速度と速度変更要求信号を表すグラフである。図1で示したグラフとの違いは、始動開始直後は目標速度vで加速し、動作中に速度変更要求信号を受信すると目標速度を変更速度v2に変更して、所望の移動量Dに位置決め制御するための指令値を生成する点である。ここで、目標速度vから変更速度v2に加速(あるいは減速)する際には、速度変更加速時間で加速し、さらに、速度変更中に加速度がピーク加速度に到達するまでの加々速度時間5を要し、またピーク加速度から加速度が0になるまでの加々速度時間6を要するように指令値を生成する。   FIG. 5 is a graph showing the speed and acceleration of the command value obtained by the present embodiment and the speed change request signal. The difference from the graph shown in FIG. 1 is that the vehicle accelerates at the target speed v immediately after the start of starting, and when the speed change request signal is received during the operation, the target speed is changed to the changed speed v2 and positioned at the desired movement amount D. This is a point for generating a command value for control. Here, when accelerating (or decelerating) from the target speed v to the change speed v2, acceleration is performed during the speed change acceleration time, and further, an additional speed time 5 until the acceleration reaches the peak acceleration during the speed change. In addition, the command value is generated so that the jerk time 6 from the peak acceleration until the acceleration becomes zero is required.

図6は、本実施の形態にかかる位置決め制御用指令生成装置1が指令値を生成する処理の流れを詳細に説明するフローチャートである。図3と同じ番号を付したステップは、図3と同じであるため説明を省略する。図3と異なるのは、ステップS3の処理の後に速度変更要求を受信したか否かを判定するステップS20と、速度変更要求を受信した場合(ステップS20:Yes)に、速度変更時の位置指令値の候補Yを算出するステップS21と、ステップS21を実行した後に、その後ステップS7以降を実行する点である。また、ステップS20で速度変更要求が無いと判断された場合(ステップS20:No)には、図3と同様ステップS4以降を実行する。   FIG. 6 is a flowchart for explaining in detail the flow of processing in which the positioning control command generation device 1 according to the present embodiment generates a command value. Steps denoted by the same reference numerals as those in FIG. 3 are the same as those in FIG. 3 differs from FIG. 3 in step S20 for determining whether or not a speed change request has been received after the process of step S3, and in the case where a speed change request has been received (step S20: Yes), a position command for speed change. Step S21 for calculating the value candidate Y, and step S21 and subsequent steps are executed after executing step S21. If it is determined in step S20 that there is no speed change request (step S20: No), step S4 and subsequent steps are executed as in FIG.

図7は、速度変更時の位置指令値の候補Yを算出するステップS21の詳細な内容を説明するフローチャートである。ステップS201では、速度変更要求直後であるかどうかを判定する。速度変更要求直後であるとは、速度変更要求信号を受信した(図5の速度変更要求信号が立ち上がったとき)直後の制御周期であることを指す。速度変更要求直後であれば(ステップS201:Yes)、ステップS202に移行し、そうでなければ(ステップS201:No)、ステップS206に移行する。   FIG. 7 is a flowchart for explaining the detailed contents of step S21 for calculating the position command value candidate Y at the time of speed change. In step S201, it is determined whether it is immediately after the speed change request. Immediately after the speed change request indicates that the control cycle is immediately after the speed change request signal is received (when the speed change request signal in FIG. 5 rises). If it is immediately after the speed change request (step S201: Yes), the process proceeds to step S202. If not (step S201: No), the process proceeds to step S206.

ステップS202で、変更速度v2、速度変更加速度時定数Tc、速度変更加々速度時間比率5、6であるr5,r6を取得する。ここで、これらの値は、速度変更要求直後に受信されてもよいし、指令開始時に予め受信されていてもよい。   In step S202, change speed v2, speed change acceleration time constant Tc, and speed change jerk time ratios 5 and 6 are obtained. Here, these values may be received immediately after the speed change request, or may be received in advance at the start of the command.

ステップS203では、速度変更要求を受信する直前の位置X0と速度v0(現在速度)それぞれを、X0=X[i−1]、v0=X[i−1]−X[i−2]として取得する。   In step S203, the position X0 and the speed v0 (current speed) immediately before receiving the speed change request are acquired as X0 = X [i-1] and v0 = X [i-1] -X [i-2]. To do.

ステップS204では、現在速度と変更速度の差DV=v2−v0を算出し、速度変更要求受信時間i0を記憶しておく。   In step S204, the difference DV = v2-v0 between the current speed and the change speed is calculated, and the speed change request reception time i0 is stored.

ステップS205では、差速度DVと、速度変更加減速時定数Tcと速度変更加々速度時間比率5、6から、速度変更加速時間tcと速度変更加々速度時間5,6であるd5,d6を算出する。具体的には、
tc=(DV×Tc/Vr)
d5=(rd5×tc)/100
d6=(rd6×tc)/100
として計算する。
In step S205, the speed change acceleration time tc and the speed change jerk time 5 and 6 d5 and d6 are calculated from the differential speed DV, the speed change acceleration / deceleration time constant Tc and the speed change jerk time ratio 5 and 6. calculate. In particular,
tc = (DV × Tc / Vr)
d5 = (rd5 × tc) / 100
d6 = (rd6 × tc) / 100
Calculate as

ステップS206では、i−i0が速度変更加速時間tcより小さいかどうかを判定する。ここで、i−i0は現在の時間から速度変更要求受信時間を引いた差なので、速度変更要求を受信してからの経過時間を表す。ステップS206で、i−i0が速度変更加速時間(tc)より小さい場合(ステップS206:Yes)はステップS207に移行し、大きい場合(ステップS206:No)はステップS208に移行する。   In step S206, it is determined whether i-i0 is shorter than the speed change acceleration time tc. Here, i−i0 is a difference obtained by subtracting the speed change request reception time from the current time, and thus represents an elapsed time since the speed change request was received. In step S206, if i-i0 is smaller than the speed change acceleration time (tc) (step S206: Yes), the process proceeds to step S207. If i-i0 is larger (step S206: No), the process proceeds to step S208.

ステップS207では、位置指令値の候補値Yを、ステップS203で算出した位置X0、速度v0、および(1)式を用いて、以下の(2)式により速度変更時位置指令計算部16が計算する。なお、(1)式の演算は上述したように位置指令計算部11が実行する。
Y=X0+v0*(i−i0)+f(i−i0,DV,tc,d5,d6)・・・(2)
In step S207, the position command value candidate value Y is calculated by the speed change position command calculation unit 16 according to the following equation (2) using the position X0, the velocity v0 calculated in step S203, and the equation (1). To do. Note that the calculation of equation (1) is executed by the position command calculator 11 as described above.
Y = X0 + v0 * (i−i0) + f (i−i0, DV, tc, d5, d6) (2)

ステップS208では、位置指令値の候補値Yを、前回の制御周期における位置X[i−1]に変更速度v2を加えることによって、すなわち、
Y=X[i−1]+v2
により計算する。ステップS207もしくはS208の処理が終了したら、図6の中のステップS21が終了したことになるので、その後、ステップS7以降を実行する。ステップS7以降は、実施の形態1と同じ処理を行うので説明を省略する。
In step S208, the position command value candidate value Y is added to the position X [i-1] in the previous control cycle by the change speed v2, that is,
Y = X [i-1] + v2
Calculate according to When the process of step S207 or S208 is completed, step S21 in FIG. 6 is completed, and thereafter, step S7 and subsequent steps are executed. In step S7 and subsequent steps, the same processing as in the first embodiment is performed, and thus the description thereof is omitted.

次に、本実施の形態で得られる効果について説明する。位置決め制御のための位置指令値を算出する点は実施の形態1と同じである。実施の形態1と異なるのは、速度変更要求信号の有無に応じて、位置指令値の候補Yの算出方法が異なる。速度変更要求信号を受信した直前の制御周期における位置X0と速度v0を計算し(ステップS203)、変更速度と速度変更要求信号受信時の速度との差速度DVを計算し(ステップS204)、差速度DVから速度変更時の加速動作に必要な情報である速度変更加速時間tc、速度変更加々速度時間5、6であるd5,d6を算出する(ステップS205)。もし、現在時間iと速度変更要求受信時間i0との差が速度変更加速時間tc以下であれば、速度変更時の加速動作のための位置指令値を(2)式により算出し(ステップS207)、tc以上であれば変更速度に到達しているものとして、位置指令値の候補Yを前回の制御周期の位置指令値X[i−1]に変更速度v2を加えることで算出する。   Next, effects obtained in this embodiment will be described. The point of calculating a position command value for positioning control is the same as in the first embodiment. The difference from the first embodiment is that the position command value candidate Y is calculated in accordance with the presence / absence of a speed change request signal. The position X0 and the speed v0 in the control cycle immediately before receiving the speed change request signal are calculated (step S203), and the difference speed DV between the change speed and the speed when the speed change request signal is received is calculated (step S204). The speed change acceleration time tc and the speed change additional speed times 5 and 6 d5 and d6, which are information necessary for the acceleration operation at the time of speed change, are calculated from the speed DV (step S205). If the difference between the current time i and the speed change request reception time i0 is equal to or less than the speed change acceleration time tc, the position command value for the acceleration operation at the time of speed change is calculated by equation (2) (step S207). If it is equal to or greater than tc, the position command value candidate Y is calculated by adding the change speed v2 to the position command value X [i-1] of the previous control cycle, assuming that the change speed has been reached.

(2)式の計算式の意味を、速度変更時の速度波形、速度変更要求を示す図8を参照しながら説明する。図8において黒丸は、各時間における速度を表すものとする(黒丸を接続したものが速度として表されている)。(2)式は、3つの項から構成されており、第一項のX0は、指令が開始されてから速度変更要求信号を受信する直前の時間までに(図8において時間1から時間i0−1までに)移動した移動量を表している。第二項のv0*(i−i0)は、速度変更要求信号が受信される直前の時間i0−1における速度(図8の中では目標速度vに等しい)を、速度変更要求を受信した時間i0以降も、継続した場合の移動量を表している。第三項のf(i−i0,DV,tc,d5,d6)は、速度変更要求信号を受信した直後に、停止状態から速度DV(図8の中では、DV=v2−vに等しい)に加速時間tc、加々速度時間がそれぞれd5,d6であるパターンに従って移動したときの、時間i−i0における位置指令値に相当する。   The meaning of the formula (2) will be described with reference to FIG. 8 showing a speed waveform and a speed change request at the time of speed change. In FIG. 8, the black circles represent the speed at each time (the connection of the black circles is represented as the speed). The expression (2) is composed of three terms, and X0 in the first term is from the start of the command to the time immediately before receiving the speed change request signal (from time 1 to time i0− in FIG. 8). 1) represents the amount of movement. The second term v0 * (i-i0) is the speed at time i0-1 (equal to the target speed v in FIG. 8) immediately before the speed change request signal is received, and the time when the speed change request is received. The amount of movement after i0 is also indicated. The third term f (i-i0, DV, tc, d5, d6) is the speed DV from the stop state immediately after receiving the speed change request signal (DV = v2-v in FIG. 8). Corresponds to a position command value at time i-i0 when moving according to a pattern with acceleration time tc and jerk time d5 and d6, respectively.

ここで、第三項は、図8において速度=vの破線と時間区間[i0,i]と太線の速度曲線とで囲まれる部分の面積で表される移動量に等しいことに注意すると、第一項、第二項、第三項をすべて合計することで得られる位置指令値の候補Yは、図8の太線で表されている速度曲線と時間軸と時間iの破線とで囲まれる部分の面積で表される移動量を表している。よって、速度変更を行うような指令値を(1)式を利用して計算することで、簡単に計算できるという効果がある。また、減速停止処理を開始するタイミングの決定、および減速停止処理などのステップS7以降の処理を実施の形態1と同様の処理を行うので、減速停止に必要な移動量を1パルスのずれもなく正確に算出することができ、これにより、加速時定数、減速時定数、加々速度時間1、2、3、4で指定された形状に対し精度良く、かつ、計算負荷の小さい指令値を計算することが可能になるという効果がある。従って、速度変更処理を行っても、指定されて形状通りに正確に指令値を算出することができる。   Note that the third term is equal to the movement amount represented by the area of the portion surrounded by the broken line of speed = v, the time interval [i0, i], and the thick speed curve in FIG. A position command value candidate Y obtained by summing all of the first, second, and third terms is a portion surrounded by a speed curve, a time axis, and a broken line of time i shown in FIG. Represents the amount of movement represented by the area. Therefore, there is an effect that it is possible to easily calculate the command value for changing the speed by using the equation (1). Further, since the process after step S7 such as the determination of the timing for starting the deceleration stop process and the deceleration stop process is performed in the same manner as in the first embodiment, the amount of movement required for the deceleration stop can be reduced by one pulse. It is possible to calculate accurately, thereby calculating command values with high accuracy and small calculation load for the shape specified by acceleration time constant, deceleration time constant, jerk time 1, 2, 3, 4 There is an effect that it becomes possible to do. Therefore, even if the speed changing process is performed, the command value can be accurately calculated according to the designated shape.

なお、図6、図8では変更速度v2は、目標速度vより大きい場合を例に示して説明したが、目標速度より小さくてもよい。また、指令値が一定の速度を保っている間に速度変更処理を行っているが、加速動作中に速度変更処理を行ってもよく、図7のフローチャートに従って計算を行うことで実現することができる。   In FIGS. 6 and 8, the change speed v2 is described as an example in which the change speed v2 is larger than the target speed v, but may be smaller than the target speed. Further, the speed change process is performed while the command value maintains a constant speed. However, the speed change process may be performed during the acceleration operation, which can be realized by performing the calculation according to the flowchart of FIG. it can.

さらに、本願発明は上記実施の形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上記実施の形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出されうる。例えば、上記実施の形態に示される全構成要件からいくつかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。更に、異なる実施の形態にわたる構成要素を適宜組み合わせてもよい。   Furthermore, the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Further, the above embodiments include inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent requirements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the above embodiment, the problem described in the column of the problem to be solved by the invention can be solved, and is described in the column of the effect of the invention. In the case where a certain effect can be obtained, a configuration from which this configuration requirement is deleted can be extracted as an invention. Furthermore, the constituent elements over different embodiments may be appropriately combined.

以上のように、本発明にかかる位置決め制御用指令生成装置は、サーボモータなどのモータを用いて機械負荷を位置決め制御するに際し、位置決め制御時の目標参照信号となる指令値を生成する場合に有用であり、特に、指定された形状となるように精度よく指令値を生成する位置決め制御用指令生成装置に適している。   As described above, the positioning control command generation device according to the present invention is useful when generating a command value that serves as a target reference signal during positioning control when positioning control of a mechanical load using a motor such as a servo motor. In particular, it is suitable for a positioning control command generation device that generates a command value with high accuracy so as to have a specified shape.

1 位置決め制御用指令生成装置
2 位置指令値
3 サーボアンプ
4 電流
5 サーボモータ
6 エンコーダ
7 位置
8 機械負荷
11 位置指令計算部
12 加速時位置指令算出部
13 停止移動量算出部
14 減速開始タイミング判定部
15 減速停止制御部
16 速度変更時位置指令計算部
DESCRIPTION OF SYMBOLS 1 Position control command generator 2 Position command value 3 Servo amplifier 4 Current 5 Servo motor 6 Encoder 7 Position 8 Mechanical load 11 Position command calculation part 12 Acceleration position command calculation part 13 Stop movement amount calculation part 14 Deceleration start timing judgment part 15 Deceleration stop control unit 16 Speed change position command calculation unit

Claims (8)

経過時間、速度、加速時間、および加々速度時間に基づいて位置指令値を算出する位置指令計算部と、
加速動作時には、前記経過時間を位置指令が開始されてからの所定周期毎の経過時間、前記速度を目標速度、前記加々速度時間を加速動作時の加々速度時間、として前記位置指令計算部が算出する位置指令値を出力する加速時位置指令算出部と、
前記経過時間および前記加速時間を減速時間、前記加々速度時間を減速時の加々速度時間、として前記位置指令計算部が算出する位置指令値を減速停止に必要な移動量として出力する停止移動量算出部と、
目標移動量と前記位置指令値との差である残距離と、前記減速停止に必要な移動量と、を比較することにより減速停止動作を開始するか否かを判断する減速開始タイミング判定部と、
前記減速開始タイミング判定部が減速停止動作を開始すると判定したら、前記残距離と、減速停止を開始する直前の制御周期で算出された減速に必要な移動量との差により補正分残距離を算出した後、前記位置指令計算部の算出結果を用いて、減速停止動作の位置指令値を算出して出力し、さらに、前記補正分残距離が前記減速時の速度を下回ったタイミングにて、前記補正分残距離に前回制御周期前の位置指令値を加えた値を現在の位置指令値として算出する減速停止制御部と、
を備える
ことを特徴とする位置決め制御用指令生成装置。
A position command calculator for calculating a position command value based on the elapsed time, speed, acceleration time, and jerk time;
At the time of acceleration operation, the position command calculation unit is configured such that the elapsed time is the elapsed time for each predetermined period from the start of the position command, the speed is the target speed, and the jerk speed time is the jerk time during the acceleration operation. An acceleration position command calculation unit that outputs a position command value calculated by
Stop movement that outputs the position command value calculated by the position command calculation unit as a movement amount necessary for deceleration stop, using the elapsed time and the acceleration time as the deceleration time, and the jerk time as the jerk time during deceleration. A quantity calculator;
A deceleration start timing determination unit that determines whether to start a deceleration stop operation by comparing a remaining distance that is a difference between a target movement amount and the position command value and a movement amount necessary for the deceleration stop; ,
When the deceleration start timing determination unit determines to start the deceleration stop operation, the corrected remaining distance is calculated based on the difference between the remaining distance and the amount of movement necessary for deceleration calculated in the control cycle immediately before starting the deceleration stop. After that, using the calculation result of the position command calculation unit, the position command value of the deceleration stop operation is calculated and output , and further, at the timing when the corrected remaining distance falls below the speed at the time of deceleration, A deceleration stop control unit that calculates a value obtained by adding a position command value before the previous control cycle to the corrected remaining distance as a current position command value ;
A positioning control command generating device comprising:
経過時間、速度、加速時間、および加々速度時間に基づいて位置指令値を算出する位置指令計算部と、A position command calculator for calculating a position command value based on the elapsed time, speed, acceleration time, and jerk time;
加速動作時には、前記経過時間を位置指令が開始されてからの所定周期毎の経過時間、前記速度を目標速度、前記加々速度時間を加速動作時の加々速度時間、として前記位置指令計算部が算出する位置指令値を出力する加速時位置指令算出部と、At the time of acceleration operation, the position command calculation unit is configured such that the elapsed time is the elapsed time for each predetermined period from the start of the position command, the speed is the target speed, and the jerk speed time is the jerk time during the acceleration operation. An acceleration position command calculation unit that outputs a position command value calculated by
前記経過時間および前記加速時間を減速時間、前記加々速度時間を減速時の加々速度時間、として前記位置指令計算部が算出する位置指令値を減速停止に必要な移動量として出力する停止移動量算出部と、Stop movement that outputs the position command value calculated by the position command calculation unit as a movement amount necessary for deceleration stop, using the elapsed time and the acceleration time as the deceleration time, and the jerk time as the jerk time during deceleration. A quantity calculator;
目標移動量と前記位置指令値との差である残距離と、前記減速停止に必要な移動量と、を比較することにより減速停止動作を開始するか否かを判断する減速開始タイミング判定部と、A deceleration start timing determination unit that determines whether to start a deceleration stop operation by comparing a remaining distance that is a difference between a target movement amount and the position command value and a movement amount necessary for the deceleration stop; ,
前記減速開始タイミング判定部が減速停止動作を開始すると判定したら、前記残距離と、減速停止を開始する直前の制御周期で算出された減速に必要な移動量との差により補正分残距離を算出した後、前記位置指令計算部の算出結果を用いて、減速停止動作の位置指令値を算出して出力し、前記補正分残距離を、合計して前記補正分残距離になるように前記所定周期単位でみた前記減速時間の数に分割し、分割した値、減速動作時の各制御周期の速度および前回制御周期前の位置指令値を加えた値を、現在の位置指令値として算出する減速停止制御部と、When the deceleration start timing determination unit determines to start the deceleration stop operation, the corrected remaining distance is calculated based on the difference between the remaining distance and the amount of movement necessary for deceleration calculated in the control cycle immediately before starting the deceleration stop. After that, using the calculation result of the position command calculation unit, the position command value of the deceleration stop operation is calculated and output, and the corrected remaining distance is summed to the corrected remaining distance. Deceleration that calculates the current position command value by dividing it into the number of deceleration times in cycle units and adding the divided value, the speed of each control cycle during deceleration operation, and the position command value before the previous control cycle A stop control unit;
を備えるWith
ことを特徴とする位置決め制御用指令生成装置。A positioning control command generation device characterized by the above.
前記減速停止制御部は、前記補正分残距離を、減速動作における加速度の絶対値に比例した値となるように分割して前記分割した値を求めるThe deceleration stop control unit divides the correction remaining distance so as to be a value proportional to the absolute value of the acceleration in the deceleration operation to obtain the divided value.
ことを特徴とする請求項2に記載の位置決め制御用指令生成装置。The positioning control command generating device according to claim 2.
前記減速停止制御部は、前記経過時間を前記減速時間から前記所定周期ずつ減らした時間、前記加速時間を前記減速時間、前記加々速度時間を減速時の加々速度時間、として前記位置指令計算部が算出する位置指令値の差分を用いて、減速停止動作の位置指令値を算出して出力する
ことを特徴とする請求項1から3のいずれか1項に記載の位置決め制御用指令生成装置。
The deceleration stop control unit calculates the position command by setting the elapsed time as a time obtained by subtracting the predetermined time from the deceleration time, the acceleration time as the deceleration time, and the jerk time as the jerk time during deceleration. parts by using the difference between the position command value calculated, positioning control command generating device according to any one of claims 1 to 3, characterized in that calculates and outputs the position command value of the deceleration stop operation .
速度変更要求の受信の直前の位置の値、前記受信の直前の現在速度の値に現在時間と前記受信の時間の差時間を乗じて得られる値、および、前記時間を前記差時間、前記速度を変更速度と前記現在速度との差速度、前記加速時間を速度変更加速時間、前記加々速度時間を速度変更加々速度時間として前記位置指令計算部が算出する位置指令値の合計値により、前記受信の後の位置指令値を算出する速度変更時位置指令計算部と、
をさらに備える
ことを特徴とする請求項1から4のいずれか1項に記載の位置決め制御用指令生成装置。
A position value immediately before reception of the speed change request, a value obtained by multiplying a current speed value immediately before the reception by a difference time between the current time and the reception time, and the time as the difference time and the speed The difference between the change speed and the current speed, the acceleration time as the speed change acceleration time, the jerk time as the speed change jerk time, the total value of the position command values calculated by the position command calculation unit, A speed change position command calculation unit for calculating a position command value after the reception;
The positioning control command generation device according to any one of claims 1 to 4 , further comprising:
前記停止移動量算出部は、前記速度を加速動作時に前記位置指令計算部が算出する現在の位置指令値と前記所定周期前の位置指令値との差から求めた現在の予測速度、として前記位置指令計算部が算出する位置指令値を減速停止に必要な移動量として出力する
ことを特徴とする請求項1から5のいずれか1項に記載の位置決め制御用指令生成装置。
The stop movement amount calculation unit is configured to determine the position as the current predicted speed obtained from the difference between the current position command value calculated by the position command calculation unit during acceleration operation and the position command value before the predetermined period. The position control command generation device according to any one of claims 1 to 5, wherein the position command value calculated by the command calculation unit is output as a movement amount necessary for deceleration stop.
前記減速停止制御部は、
前記経過時間を前記減速時間から減速を開始してからの前記所定周期単位での経過時間を減じた時間に前記所定周期を加えた時間、前記加速時間を前記減速時間、前記加々速度時間を減速時の加々速度時間、として前記位置指令計算部が算出する第1位置指令値から
前記経過時間を前記減速時間から減速を開始してからの前記所定周期単位での経過時間を減じた時間、前記加速時間を前記減速時間、前記加々速度時間を減速時の加々速度時間、として前記位置指令計算部が算出する第2位置指令値を減じる
ことにより求めた減速時の速度に前記所定周期前の位置指令値を加えた値を現在の位置指令値として算出する
ことを特徴とする請求項1から6のいずれか1項に記載の位置決め制御用指令生成装置。
The deceleration stop control unit
The elapsed time is the time obtained by adding the predetermined period to the time obtained by subtracting the elapsed time in units of the predetermined period from the start of deceleration from the deceleration time, the acceleration time is the deceleration time, and the jerk speed time is The time obtained by subtracting the elapsed time in the unit of the predetermined period from the start of deceleration from the deceleration time from the first position command value calculated by the position command calculation unit as the jerk time during deceleration The deceleration time obtained by subtracting the second position command value calculated by the position command calculation unit using the acceleration time as the deceleration time and the jerk time as the jerk time during deceleration. The position control command generation device according to any one of claims 1 to 6, wherein a value obtained by adding a position command value before a cycle is calculated as a current position command value.
前記位置指令計算部は、前記経過時間をi、前記速度をv、前記加速時間をta、加速度0からピーク加速度に到達するまでの加々速度時間をd1、前記ピーク加速度から加速度0に到達するまでの加々速度時間をd2、とおいた場合に以下のf(i,v,ta,d1,d2)で示される値を前記位置指令値として算出する
Figure 0005889104
ことを特徴とする請求項1から7のいずれか1項に記載の位置決め制御用指令生成装置。
The position command calculator calculates the elapsed time as i, the speed as v, the acceleration time as t a , the jerk time from the acceleration 0 to the peak acceleration as d 1 , and the peak acceleration as 0. calculates the following f when placing the jerk time to reach d 2, and the value indicated by (i, v, t a, d 1, d 2) as the position command value
Figure 0005889104
Positioning control command generating device according to any one of claims 1 7, characterized in.
JP2012118047A 2012-05-23 2012-05-23 Command generator for positioning control Active JP5889104B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012118047A JP5889104B2 (en) 2012-05-23 2012-05-23 Command generator for positioning control

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012118047A JP5889104B2 (en) 2012-05-23 2012-05-23 Command generator for positioning control

Publications (2)

Publication Number Publication Date
JP2013246525A JP2013246525A (en) 2013-12-09
JP5889104B2 true JP5889104B2 (en) 2016-03-22

Family

ID=49846267

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012118047A Active JP5889104B2 (en) 2012-05-23 2012-05-23 Command generator for positioning control

Country Status (1)

Country Link
JP (1) JP5889104B2 (en)

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6274105A (en) * 1985-09-27 1987-04-04 Fujitsu Ltd Function generating method for servocontrol system
JP2587223B2 (en) * 1986-11-10 1997-03-05 横河電機株式会社 Position and speed control
JPH0253110A (en) * 1988-08-18 1990-02-22 Fujitsu Ltd Function generating device for digital servo control
JPH03147103A (en) * 1989-11-02 1991-06-24 Sony Corp Device and method for servo-control
JPH05127753A (en) * 1991-11-06 1993-05-25 Sekonitsuku:Kk Method for controlling accelerating and decelerating operation of servomotor
JPH05181535A (en) * 1991-12-27 1993-07-23 Sekonitsuku:Kk Method for correcting stop position of servo motor
JP2000148251A (en) * 1998-11-09 2000-05-26 Nissan Motor Co Ltd Positioning control device and method
JP4541218B2 (en) * 2005-04-08 2010-09-08 三菱電機株式会社 Command generator
JP5155785B2 (en) * 2008-09-09 2013-03-06 富士機械製造株式会社 Operation control method and circuit board working apparatus
CN102414635B (en) * 2009-04-28 2013-10-30 三菱电机株式会社 Command generation device

Also Published As

Publication number Publication date
JP2013246525A (en) 2013-12-09

Similar Documents

Publication Publication Date Title
CN110023856B (en) Method and computing device for generating motion profile by using S-shaped curve
JP5302371B2 (en) Numerical control device with display function of physical data of machine tools
JPWO2006011519A1 (en) Servo control device
TWI440295B (en) Motor control device
JP5241919B2 (en) Command generator
CN111727411A (en) Equipment motion control method, equipment and storage device
JP5889104B2 (en) Command generator for positioning control
US20040135532A1 (en) Servocontrol system and method of setting
JP6887857B2 (en) Motor controller, method and program
JP2542538B2 (en) Robot position control method
TWI586094B (en) Control apparatus and associated method applied to servo motor system
CN111884564B (en) Frequency converter control method, frequency converter system and storage medium
US6809491B2 (en) Positioning control method
US10627835B2 (en) Positioning controller
JP2002132854A (en) Electronic cam device and method for creating cam data of electronic cam device
JPS6232508A (en) Positioning control method for servo-system of numerical controller
EP4258068A1 (en) Cam curve generating device, cam curve generating method, and program
JP2004328807A (en) Stepping motor control unit
JPH11259138A (en) Method for generating control profile
JP2653130B2 (en) Acceleration / deceleration control device
JP2716446B2 (en) Servo control device
CN114268246A (en) Motor control method, device and system and computer readable storage medium
JP3480215B2 (en) Positioning control device
JP6063190B2 (en) Pulse motor control device and pulse signal generation method
JP2006113960A (en) Position instruction creation method and position controller executing it

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150722

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150917

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160216

R150 Certificate of patent or registration of utility model

Ref document number: 5889104

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250