WO2015173886A1 - 制御装置および制御方法 - Google Patents

制御装置および制御方法 Download PDF

Info

Publication number
WO2015173886A1
WO2015173886A1 PCT/JP2014/062708 JP2014062708W WO2015173886A1 WO 2015173886 A1 WO2015173886 A1 WO 2015173886A1 JP 2014062708 W JP2014062708 W JP 2014062708W WO 2015173886 A1 WO2015173886 A1 WO 2015173886A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
motion control
motion
sequence
cycle
Prior art date
Application number
PCT/JP2014/062708
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 JP2015520758A priority Critical patent/JP6166368B2/ja
Priority to PCT/JP2014/062708 priority patent/WO2015173886A1/ja
Publication of WO2015173886A1 publication Critical patent/WO2015173886A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors

Definitions

  • the present invention relates to a control device and a control method for controlling industrial equipment.
  • motion control that controls the speed or position of a movable shaft and sequence control that controls the operation of equipment around a motor by the operation of external switches are generally designed using different programming languages.
  • cam operation in motion control is defined by a table (cam table), and control such as switching of the cam table is realized by sequence control. This technique is referred to as a conventional technique.
  • the motion control is a cycle in which a tool or a jig is mounted so that the cam diameter changes smoothly and the spindle controlled by the cam makes one rotation (hereinafter, This is because the command to the servo amplifier is output at a sufficiently smaller cycle than the motion control cycle.
  • the trigger for switching the cam data may be a timing given from sequence control such as switch operation by an operator or processing end.
  • motion control receives a cam switching trigger, it waits for a phase until cam operation continuity is obtained. In this case, output is executed at a timing different from motion control, so cam operation is not smooth. Problems such as errors occur. Further, when this error exceeds the limit value of torque or acceleration, there is a possibility that a failure of the apparatus occurs.
  • the present invention has been made in view of the above, and an object thereof is to obtain a control device and a control method capable of switching cam data so that the cam operation is as smooth as possible.
  • the present invention repeatedly executes a sequence control of a first period based on a storage unit that stores a user program including a plurality of cam data in advance and the user program.
  • a sequence control unit a motion control unit that executes motion control in which a cycle of one rotation is a second cycle different from the first cycle based on one of the plurality of cam data, and a scheduler,
  • the scheduler inserts a waiting time at the periodic boundary of the sequence control or the periodic boundary of the motion control so that the sequence control and the motion control are synchronized, and the motion control unit includes the sequence control and the motion control.
  • the motion control unit includes the sequence control and the motion control.
  • control device can match the cam diameter before and after the switching of the cam data, the cam data can be switched so that the cam operation is smooth.
  • FIG. 1 is a diagram illustrating a configuration example of a control device according to the first embodiment.
  • FIG. 2 is a diagram illustrating a hardware configuration example of the CPU module.
  • FIG. 3 is a diagram illustrating functions of the CPU module according to the first embodiment.
  • FIG. 4 is a flowchart for explaining the operation of the CPU module according to the first embodiment.
  • FIG. 5 is a flowchart for explaining the operation of the CPU module according to the first embodiment.
  • FIG. 6 is a diagram illustrating functions of the CPU module according to the second embodiment.
  • FIG. 7 is a diagram illustrating functions of the CPU module according to the third embodiment.
  • FIG. 8 is a diagram illustrating functions of the CPU module according to the fourth embodiment.
  • FIG. 1 is a diagram illustrating a configuration example of a control device according to the first embodiment.
  • a programmable logic controller (PLC) system 1 can control a controlled device (not shown).
  • the PLC system 1 includes a power source 2, a CPU module 3, an I / O module 4, and a base module 5.
  • the base module 5 is a backplane for physically and electrically connecting the power source 2, the CPU module 3, and the I / O module 4.
  • the base module 5 includes a bus that enables data transfer between the CPU module 3 and the I / O module 4.
  • Each of the power supply 2, the CPU module 3, and the I / O module 4 may be configured to be detachable from the base module 5, or may be configured integrally with the base module 5.
  • the power supply 2 is a module that supplies a power supply current to the CPU module 3, the I / O module 4, and the base module 5.
  • the I / O module 4 is a module for performing I / O with the outside or connecting with the outside via a network. In the example of FIG.
  • the I / O module 4 is connected to an input unit 6 that receives data input to the controlled device, an output unit 7 that outputs data to the controlled device, and a servo amplifier 8. Yes.
  • the controlled device includes a motor that drives a movable shaft (hereinafter simply referred to as a shaft).
  • the servo amplifier 8 controls the current supplied to the motor.
  • the input unit 6 includes an encoder that detects the state of the motor (current position or current speed).
  • the CPU module 3 is a control device according to the embodiment.
  • the CPU module 3 incorporates a user program (a user program 206 described later), and controls the entire PLC system 1 based on the user program.
  • Input / output via the I / O module 4 is executed based on a user program.
  • FIG. 2 is a diagram illustrating a hardware configuration example of the CPU module 3.
  • the CPU module 3 includes a processor core 200, a processor core 201, a main memory 202, a nonvolatile memory 203, a bus interface 204, and an internal bus 205.
  • the internal bus 205 connects the processor core 200, the processor core 201, the main memory 202, the nonvolatile memory 203, and the bus interface 204 to each other.
  • the non-volatile memory 203 stores a user program 206 and a system program 207 in advance.
  • the nonvolatile memory 203 includes, for example, an HDD (Hard Disk Drive), a flash memory, a removable memory device, a magnetic disk, an optical disk, or a combination thereof.
  • the main memory 202 is a memory used by the processor cores 200 and 201 as a work area. As the main memory 202, a memory that can be accessed at high speed by the processor cores 200 and 201, such as DRAM (Dynamic Random Access Memory), is used.
  • the bus interface 204 is an interface for connecting the CPU module 3 to a bus provided in the base module 5.
  • the system program 207 is read from the nonvolatile memory 203 by the processor cores 200 and 201 and loaded into the main memory 202.
  • the processor cores 200 and 201 implement various function units to be described later by executing a system program 207 loaded in the main memory 202.
  • the user program 206 is a compiled computer program, and includes a sequence control program and a motion control program that are processed by different processor cores of the processor cores 200 and 201, respectively.
  • the user program 206 is read from the nonvolatile memory 203 and executed by the processor cores 200 and 201 under the control of the system program 207.
  • FIG. 3 is a diagram showing functions of the CPU module 3.
  • the CPU module 3 includes a sequence core unit 22, a motion core unit 23, an input processing unit 24, an output processing unit 25, and a scheduler 26.
  • the input processing unit 24, the output processing unit 25, and the scheduler 26 are realized by the processor cores 200 and 201 executing the system program 207.
  • the sequence core unit 22 is realized when one of the processor cores 200 and 201 executes a sequence control program included in the user program 206.
  • the motion core unit 23 is realized by executing a motion control program included in the user program 206 by another processor core of the processor cores 200 and 201.
  • the input processing unit 24 receives input data from the input unit 6.
  • the input data received by the input processing unit 24 is acquired by the sequence core unit 22 or the motion core unit 23.
  • the sequence core unit 22 performs arithmetic processing based on the sequence control program using the input data acquired from the input processing unit 24, and outputs output data obtained by the arithmetic processing to the output processing unit 25.
  • the sequence core unit 22 cyclically executes a series of unit processes including a process for executing the sequence control program from the beginning to the end.
  • the unit processing includes input / output processing via the input processing unit 24 and the output processing unit 25.
  • the execution cycle of the unit process is referred to as a sequence control cycle.
  • the motion core unit 23 acquires a detection value by an encoder, for example, from the input processing unit 24.
  • the motion core unit 23 uses the detection value acquired from the input processing unit 24 as a feedback value, for example, to perform arithmetic processing based on the motion control program.
  • the user program 206 includes a plurality of cam data 21.
  • Each cam data 21 is data that associates an angle (also referred to as a phase) of the main shaft with a cam diameter.
  • the motion core unit 23 calculates the cam diameter by using one of the plurality of cam data 21 and calculates the command position of the movable axis by multiplying the calculated cam diameter by a preset constant. To do.
  • the main shaft phase is used to calculate the cam diameter.
  • phase of the main shaft for example, a detection value by an encoder, a virtual main shaft phase generated inside the CPU module 3, or the like can be adopted.
  • the virtual spindle phase is not the actual rotation position (phase) but the rotation position of the spindle that will be calculated at the time, calculated inside the CPU module 3.
  • the motion core unit 23 calculates output data based on the calculated command position.
  • the output data calculated by the motion core unit 23 is a command input to the servo amplifier 8, and is, for example, a position command, a torque command, or a speed command.
  • the motion core unit 23 calculates a command for the servo amplifier, which is output data, in a cycle (hereinafter referred to as a calculation cycle) that is sufficiently smaller than a cycle in which the spindle rotates once (hereinafter referred to as a motion control cycle), Is output.
  • the motion core unit 23 outputs the calculated output data to the output processing unit 25.
  • the output processing unit 25 outputs the output data output from the sequence core unit 22 to the output unit 7.
  • the output processing unit 25 outputs the output data output from the motion core unit 23 to the servo amplifier 8.
  • the scheduler 26 temporarily sets one of the sequence core unit 22 and the motion core unit 23 at the cycle boundary in order to synchronize the sequence control cycle and the motion control cycle. Wait.
  • the waiting time interval (waiting time) is recorded in the synchronization information 27 and built in the scheduler 26.
  • the synchronization information 27 is information that can be used by the scheduler 26 to adjust the time difference between the two controls (sequence control and motion control)
  • information other than the recording of the waiting time can be applied. is there.
  • the synchronization information 27 a time difference estimated from the phase shift angle between the sequence control and the motion control and the angular velocity of the spindle can be applied.
  • the synchronization information 27 is set by the user.
  • the synchronization information 27 may be recorded and input in the user program 206 or may be input separately from the user program 206.
  • FIG. 4 and 5 are flowcharts for explaining the operation of the CPU module 3 according to the first embodiment.
  • FIG. 4 shows an operation when the sequence control cycle is smaller than the motion control cycle
  • FIG. 5 shows an operation when the sequence control cycle is larger than the motion control cycle.
  • sequence control and motion control are started simultaneously (S1). That is, the sequence core unit 22 starts sequence control, and at the same time, the motion core unit 23 starts motion control.
  • the sequence core unit 22 waits for the sequence control for the waiting time described in the synchronization information 27 (S3). Specifically, the sequence core unit 22 delays the start of sequence control in the next cycle.
  • the processing of S2 and S3 is specifically executed as follows.
  • the scheduler 26 monitors the execution of the sequence control, and inserts a redundant process corresponding to the waiting time described in the synchronization information 27 at the end of the sequence control.
  • the waiting time for example, the time from the elapse of the sequence control cycle to the first cycle boundary of the motion control cycle (that is, the timing at which the phase of the spindle becomes zero) is set.
  • the sequence core unit 22 can wait for the sequence control for a time corresponding to the waiting time by executing redundant processing after executing the sequence control. Note that the position where the redundant processing is inserted may not be after the sequence control. For example, a redundant process may be inserted during the sequence control.
  • the sequence core unit 22 determines whether or not a command for changing the cam data 21 has been issued (S4).
  • a command for changing the cam data 21 may be issued from the sequence control program, for example, at the end of processing, or may be issued by an operator operating a switch. If a command for changing the cam data 21 has been issued (S4, Yes), the sequence core unit 22 changes the cam data 21 (S5) and resumes the sequence control (S6). When the command for changing the cam data 21 has not been issued (S4, No), the process of S5 is skipped. After the process of S6, the process of S2 is executed again.
  • the periodic boundary of the sequence control and the periodic boundary of the motion control are matched in time. That is, the sequence control and the motion control are synchronized.
  • the cam data 21 is switched when the rotation angle (phase) of the main shaft is zero degrees. Therefore, when the phase of the main shaft is zero degrees, the cam data 21 Switching takes place.
  • the cam data 21 is normally set so that the cam diameter is either the top or bottom point at zero degrees. Therefore, since the cam diameters match before and after the switching of the cam data 21, the cam data can be switched so that the cam operation is as smooth as possible.
  • the sequence control is made to wait every time one sequence control cycle elapses. However, the sequence control is made to wait every time a desired number of sequence control cycles elapse. You may do it.
  • the synchronization information 27 is preliminarily described with information specifying how many times the sequence control cycle is to be waited for. For example, when the synchronization information 27 describes that standby of sequence control is performed every n times (n is a natural number equal to or greater than 2), the scheduler 26 counts how many times the sequence control cycle has elapsed. When the sequence control cycle has elapsed n times, the sequence core unit 22 is caused to execute a redundant process corresponding to the waiting time.
  • the scheduler 26 may measure the motion control period and the sequence control period, and calculate the waiting time based on the measured result.
  • the motion control cycle can be realized by monitoring the phase of the spindle.
  • the scheduler 26 may acquire the phase of the main axis when the sequence control cycle has elapsed, and calculate the waiting time from the acquired phase.
  • the scheduler 26 determines whether or not a command for changing the cam data 21 is issued at a predetermined time interval, and if it does not detect the issue of the command for changing the cam data 21, the scheduler 26 waits for sequence control.
  • the sequence control may be waited.
  • the waiting time may be calculated from the acquired phase when the scheduler 26 acquires the phase of the main axis when the sequence control period has elapsed.
  • the synchronization point of motion control does not have to be a periodic boundary of motion control.
  • the time from when the sequence control cycle elapses until the phase of the main axis first reaches a desired phase may be set as a waiting time.
  • a desired phase for example, 90 degrees (deg), 180 degrees, or 270 degrees
  • the waiting time By setting the waiting time after the sequence control cycle elapses until the desired phase where the cam diameter reaches the same value before and after the change is set as the waiting time, the cam operation is made smoother. Data can be switched.
  • the motion core unit 23 can operate a plurality of movable axes in synchronization with each other. Which of the plurality of movable axes is to be synchronized with the sequence control is described in advance in the user program 206 or the synchronization information 27, for example.
  • sequence control and motion control are started simultaneously (S11).
  • the motion core unit 23 waits for motion control for the waiting time described in the synchronization information 27 (S13).
  • the processing of S12 and S13 is specifically executed as follows.
  • the scheduler 26 monitors the execution of the motion control, and inserts a redundant process corresponding to the waiting time described in the synchronization information 27 at the end of the motion control.
  • As the waiting time for example, the time from when the motion control cycle elapses until the first cycle boundary of the sequence control cycle is set.
  • the motion core unit 23 can wait for motion control for a time corresponding to the waiting time by executing redundant processing after executing motion control.
  • the position where the redundant process is inserted may not be after the motion control. For example, redundant processing may be inserted in the middle of motion control.
  • the sequence core unit 22 determines whether or not a command for changing the cam data 21 has been issued (S14).
  • the command for changing the cam data 21 may be issued from a sequence control program or may be issued by an input from a user.
  • the sequence core unit 22 changes the cam data 21 (S15).
  • the motion core unit 23 resumes motion control using the changed cam data 21 (S16).
  • the motion control is made to wait every time one motion control cycle elapses, but the motion control is made to wait every time a desired number of motion control cycles elapses. You may do it.
  • the synchronization information 27 is preliminarily described with information for designating how many times the motion control cycle is to wait for motion control. For example, when the synchronization information 27 describes that the standby of the motion control is performed every n times (n is a natural number of 2 or more), the scheduler 26 counts how many times the motion control cycle has elapsed. When the motion control cycle has elapsed n times, the motion core unit 23 is caused to execute redundant processing corresponding to the waiting time.
  • the scheduler 26 may measure the motion control period and the sequence control period, and calculate the waiting time based on the measured result. .
  • the scheduler 26 determines whether or not a command to change the cam data 21 is issued at a predetermined time interval, and waits for motion control when the issue of the command to change the cam data 21 is not detected.
  • the motion control may be put on standby.
  • the waiting time is obtained, for example, by storing the timing at which the scheduler 26 finally reaches the cycle boundary of the sequence control cycle, and calculating the difference between the elapsed time from the stored timing and the sequence control cycle.
  • the CPU module 3 includes the sequence core unit 22 that repeatedly executes the sequence control based on the user program 206, and the motion control in which the cycle of one rotation of the spindle is different from the sequence control cycle. Is executed based on one of the plurality of cam data 21, and a scheduler 26 is provided. Then, the scheduler 26 inserts a waiting time at the periodic boundary of the sequence control or the periodic boundary of the motion control so that the sequence control and the motion control are synchronized.
  • the motion core unit 23 switches the cam data 21 at the timing when the sequence control and the motion control are synchronized. Thereby, since the cam diameter can be made to coincide before and after the switching of the cam data 21, the cam data 21 can be switched so that the cam operation is as smooth as possible.
  • the number of processor cores provided in the CPU module 3 may be three or more, or one.
  • sequence control and motion control are switched and executed in the processor core.
  • FIG. FIG. 6 is a diagram illustrating functions of the CPU module according to the second embodiment.
  • the CPU module according to the second embodiment is distinguished from the CPU module according to the first embodiment by adding a reference numeral 3a.
  • the same elements and symbols as those in the first embodiment are denoted by the same names and the same descriptions are omitted.
  • the CPU module 3a includes a sequence core unit 22, a motion core unit 23, an input processing unit 24, an output processing unit 25a, and a scheduler 26.
  • the output processing unit 25 a includes an output value correction unit 31.
  • the motion control cycle is made to wait to synchronize with the sequence control. In that case, the output to the servo amplifier 8 is delayed by the waiting time.
  • the output value correction unit 31 receives a waiting time from the scheduler 26 at the timing of starting standby. Then, the output value correction unit 31 outputs the motion core unit 23 from the motion core unit 23 based on the waiting time so that the cam operation after the waiting becomes smooth before and during the waiting. Correct the output data.
  • the correction algorithm is arbitrary.
  • an algorithm that calculates a correction value by approximating the previous value and the current value by linear extrapolation (linear function approximation) using a waiting time can be employed.
  • an algorithm for obtaining the angular displacement for the waiting time and correcting the output data at the output time based on the cam table 21 and the obtained angular displacement. can be adopted.
  • the CPU module 3a corrects the output value based on the waiting time so that the output value from the motion core unit 23 changes smoothly during the waiting time.
  • the unit 31 is provided. Thereby, the control error based on the waiting time of motion control is suppressed, and as a result, smooth motion control with less burden on the motor or machine becomes possible.
  • FIG. 7 is a diagram illustrating functions of the CPU module according to the third embodiment.
  • reference numeral 3b is given.
  • the same elements and symbols as those in the first embodiment or the second embodiment are denoted by the same names and reference numerals, and redundant description is omitted.
  • the CPU module 3b includes a sequence core unit 22, a motion core unit 23, an input processing unit 24, an output processing unit 25b, and a scheduler 26.
  • the output processing unit 25 b includes an output value correcting unit 31 and an output value limiting unit 32.
  • the output value limiting unit 32 stores a limit value determined in advance by the user.
  • the limit value is set in the output value limiter 32 via the user program 206, for example.
  • an abnormality may occur in an operation value due to an unreasonable programming or a failure during an operation process. Due to such an abnormal calculation value, a value that changes rapidly or an excessive value may be output to the servo amplifier 8 or the motor.
  • the output value limiter 32 compares the output data value with the limit value, and the output data value exceeds the limit value. In this case, the output data is suppressed (that is, limited) to the limit value.
  • the angular velocity of the movable shaft, the amount of displacement of the position, the moving speed of the movable portion (hand) driven by the movable shaft, the torque of the motor, or the position of the hand are set as the limit values.
  • Output data that is suppressed or not suppressed by the output value limiter 32 is corrected by the output value corrector 31 and output to the servo amplifier 8.
  • processing by the output value restriction unit 32 and the processing by the output value correction unit 31 are not limited to this order.
  • the CPU module 3b further includes the output value limiting unit 32 that limits the output value from the motion core unit 23.
  • the output value limiting unit 32 limits the output value from the motion core unit 23.
  • FIG. FIG. 8 is a diagram illustrating functions of the CPU module according to the fourth embodiment.
  • a reference numeral 3c is given.
  • the same elements and symbols as those in the first embodiment or the third embodiment are denoted by the same names and reference numerals, and redundant description is omitted.
  • the CPU module 3c includes a sequence core unit 22, a motion core unit 23, an input processing unit 24, and an output processing unit 25c.
  • the output processing unit 25 c includes an output value limiting unit 32.
  • the output value restriction unit 32 suppresses the output data from the motion core unit 23 with the restriction value, as in the third embodiment.
  • the motion core unit 23 can switch the cam data 21 at any timing not related to the sequence control cycle. Since the output value limiter 32 suppresses the output data with the limit value even when the output data fluctuates discontinuously with the switching of the cam data 21, the output value limiter 32 is cam compared with the case where the output data is not suppressed. The operation can be made smooth. Further, failure or destruction of the motor and the machine driven by the motor can be avoided. Moreover, since an unexpected operation
  • 1 PLC system 2 power supply, 3, 3a, 3b, 3c CPU module, 4 I / O module, 5 base module, 6 input unit, 7 output unit, 8 servo amplifier, 21 cam data, 22 sequence core unit, 23 Motion core section, 24 input processing section, 25, 25a, 25b, 25c output processing section, 26 scheduler, 27 synchronization information, 31 output value correction section, 32 output value limit section, 200, 201 processor core, 202 main memory, 203 non-volatile memory, 204 bus interface, 205 internal bus, 206 user program, 207 system program.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Programmable Controllers (AREA)

Abstract

カム動作ができるだけスムーズになるようにカムデータを切り替えることができるように、CPUモジュール(3)は、ユーザプログラム(206)に基づいて第1周期のシーケンス制御を繰り返し実行するシーケンス・コア部(22)と、1回転の周期が第1周期と異なる第2周期であるモーション制御を複数のカムデータ(21)のうちの一に基づいて実行するモーション・コア部(23)と、スケジューラ(26)と、を備え、スケジューラ(26)は、シーケンス制御とモーション制御とが同期するように、シーケンス制御の周期境界またはモーション制御の周期境界に待ち時間を挿入し、モーション・コア部(23)は、シーケンス制御とモーション制御とが同期したとき、一のカムデータ(21)を複数のカムデータ(21)のうちの他のカムデータ(21)に切り替える。

Description

制御装置および制御方法
 本発明は、産業用機器を制御する制御装置および制御方法に関する。
 従来、可動軸の速度または位置を制御するモーション制御と、外部スイッチ類の動作によってモータ周辺の機器の動作を制御するシーケンス制御とは、異なるプログラミング言語を用いて設計されることが一般的である。特別な例としては、モーション制御のうちのカム動作をテーブル(カムテーブル)によって定義し、カムテーブルの切り替え等の制御をシーケンス制御で実現する技術がある。この技術を、従来技術と表記する。
 これに関連し、モーション制御とシーケンス制御と1つのコントローラで実現する技術が知られている(例えば特許文献1参照)。
特許第4973792号公報
 しかしながら、上記従来技術において、各制御を異なるプロセッサコアで実現する場合、モーション制御とシーケンス制御とを同期させることが難しかった。シーケンス制御は、一定の周期で実行される一方、モーション制御は、カム径の推移がスムーズになるように、工具または治具が装着され、カムによって制御される主軸が1回転する周期(以降、モーション制御周期という)よりも十分に小さい周期でサーボアンプに対する指令が出力されるからである。
 そして、モーション制御においてカムデータが切り替えられるときは、切り替えの前後でカム径が同じになる角度(位相)においてカムデータを切り替える必要がある。カムデータを切り替えるトリガは、オペレータによるスイッチの操作、または、加工終了などシーケンス制御から与えられるタイミングである場合がある。モーション制御がカム切り替えトリガを受けると、カム動作の連続性を得られるまで位相待ちすることになるが、この場合、モーション制御とは異なるタイミングで出力が実行されるため、カム動作がスムーズではなくなる、誤差が発生する、などの問題が発生する。また、この誤差が、トルクまたは加速度の制限値を超えると、装置の故障が発生する可能性がある。
 本発明は、上記に鑑みてなされたものであって、カム動作ができるだけスムーズになるようにカムデータを切り替えることができる制御装置および制御方法を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本発明は、複数のカムデータを含むユーザプログラムを予め記憶する記憶部と、前記ユーザプログラムに基づいて第1周期のシーケンス制御を繰り返し実行するシーケンス制御部と、1回転の周期が前記第1周期と異なる第2周期であるモーション制御を前記複数のカムデータのうちの一に基づいて実行するモーション制御部と、スケジューラと、を備え、前記スケジューラは、前記シーケンス制御と前記モーション制御とが同期するように、前記シーケンス制御の周期境界または前記モーション制御の周期境界に待ち時間を挿入し、前記モーション制御部は、前記シーケンス制御と前記モーション制御とが同期したとき、前記一のカムデータを前記複数のカムデータのうちの他のカムデータに切り替える、ことを特徴とする。
 本発明にかかる制御装置は、カムデータの切り替えの前後でカム径を一致させることが可能となるので、カム動作がスムーズになるようにカムデータを切り替えることが可能となる。
図1は、実施の形態1の制御装置の構成例を示す図である。 図2は、CPUモジュールのハードウェア構成例を示す図である。 図3は、実施の形態1のCPUモジュールの機能を示す図である。 図4は、実施の形態1のCPUモジュールの動作を説明するフローチャートである。 図5は、実施の形態1のCPUモジュールの動作を説明するフローチャートである。 図6は、実施の形態2のCPUモジュールの機能を示す図である。 図7は、実施の形態3のCPUモジュールの機能を示す図である。 図8は、実施の形態4のCPUモジュールの機能を示す図である。
 以下に、実施の形態の制御装置を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
実施の形態1.
 図1は、実施の形態1の制御装置の構成例を示す図である。プログラマブルロジックコントローラ(Programmable Logic Controller、PLC)システム1は、被制御機器(図示せず)を制御することができる。PLCシステム1は、電源2、CPUモジュール3、I/Oモジュール4、およびベースモジュール5を備えている。
 ベースモジュール5は、電源2、CPUモジュール3およびI/Oモジュール4を物理的かつ電気的に接続するためのバックプレーンである。ベースモジュール5は、CPUモジュール3とI/Oモジュール4との間でデータ転送を可能にするバスを備えている。なお、電源2、CPUモジュール3およびI/Oモジュール4の夫々はベースモジュール5から着脱可能に構成されてもよいし、ベースモジュール5と一体に構成されてもよい。電源2は、CPUモジュール3、I/Oモジュール4、およびベースモジュール5に電源電流を供給するモジュールである。I/Oモジュール4は、外部とのI/Oを行うため、または、外部とネットワークを介して接続するためのモジュールである。図1の例においては、I/Oモジュール4は、被制御機器にかかるデータの入力を受け付ける入力ユニット6、被制御機器に対してデータを出力する出力ユニット7、およびサーボアンプ8に接続されている。被制御機器は、可動軸(以降、単に軸という)を駆動するモータが具備される。サーボアンプ8は、そのモータに供給する電流を制御する。なお、入力ユニット6は、モータの状態(現在位置または現在速度)を検出するエンコーダを含む。
 CPUモジュール3は、実施の形態の制御装置である。CPUモジュール3は、ユーザプログラム(後述のユーザプログラム206)を内蔵し、ユーザプログラムに基づいてPLCシステム1全体を統括的に制御する。I/Oモジュール4を介した入出力は、ユーザプログラムに基づいて実行される。
 図2は、CPUモジュール3のハードウェア構成例を示す図である。CPUモジュール3は、プロセッサコア200、プロセッサコア201、メインメモリ202、不揮発性メモリ203、バスインタフェース204、および内部バス205を備えている。内部バス205は、プロセッサコア200、プロセッサコア201、メインメモリ202、不揮発性メモリ203、およびバスインタフェース204を互いに接続する。
 不揮発性メモリ203は、ユーザプログラム206およびシステムプログラム207を予め記憶する。不揮発性メモリ203は、例えば、HDD(Hard Disk Drive)、フラッシュメモリ、着脱可能なメモリデバイス、磁気ディスク、光ディスク、またはこれらの組み合わせにより構成される。メインメモリ202は、プロセッサコア200、201がワークエリアとして使用するメモリである。メインメモリ202は、例えばDRAM(Dynamic Random Access Memory)など、プロセッサコア200、201が高速にアクセスすることができるメモリが採用される。バスインタフェース204は、CPUモジュール3がベースモジュール5に具備されるバスに接続するためのインタフェースである。
 システムプログラム207は、プロセッサコア200、201によって不揮発性メモリ203から読み出され、メインメモリ202にロードされる。プロセッサコア200、201は、メインメモリ202にロードされたシステムプログラム207を実行することによって、後述する各種機能部を実現する。
 ユーザプログラム206は、コンパイルされたコンピュータプログラムであり、プロセッサコア200、201のうちの夫々異なるプロセッサコアで処理されるシーケンス制御プログラムとモーション制御プログラムとを含んでいる。ユーザプログラム206は、システムプログラム207による制御の下で、プロセッサコア200、201によって不揮発性メモリ203から読み出され、実行される。
 図3は、CPUモジュール3の機能を示す図である。CPUモジュール3は、シーケンス・コア部22、モーション・コア部23、入力処理部24、出力処理部25、およびスケジューラ26を備えている。入力処理部24、出力処理部25、およびスケジューラ26は、プロセッサコア200、201がシステムプログラム207を実行することによって実現する。シーケンス・コア部22は、ユーザプログラム206が含むシーケンス制御プログラムをプロセッサコア200、201のうちの一のプロセッサコアが実行することによって実現する。モーション・コア部23は、ユーザプログラム206が含むモーション制御プログラムをプロセッサコア200、201のうちの他のプロセッサコアが実行することによって実現する。
 入力処理部24は、入力ユニット6からの入力データを受け付ける。入力処理部24が受け付けた入力データは、シーケンス・コア部22またはモーション・コア部23によって取得される。
 シーケンス・コア部22は、入力処理部24から取得した入力データを用いてシーケンス制御プログラムに基づく演算処理を行い、演算処理によって得られる出力データを出力処理部25に出力する。シーケンス・コア部22は、シーケンス制御プログラムを先頭から末尾まで実行する処理を含む一連の単位処理を、サイクリックに実行する。なお、単位処理は、入力処理部24および出力処理部25を介した入出力処理を含む。以降、単位処理の実行周期を、シーケンス制御周期という。
 モーション・コア部23は、入力処理部24から例えばエンコーダによる検出値を取得する。モーション・コア部23は、入力処理部24から取得した検出値を例えばフィードバック値として用いて、モーション制御プログラムに基づく演算処理を行う。ここで、ユーザプログラム206は、複数のカムデータ21を含んでいる。各カムデータ21は、主軸の角度(位相ともいう)とカム径とを対応付けるデータである。モーション・コア部23は、複数のカムデータ21のうちの1つを用いてカム径を演算し、演算されたカム径に予め設定された定数を乗算されることによって可動軸の指令位置を演算する。カム径の演算には、主軸の位相が用いられる。主軸の位相としては、例えば、エンコーダによる検出値、CPUモジュール3の内部にて生成される仮想的な主軸位相、などが採用可能である。仮想的な主軸位相とは、現実の回転位置(位相)ではなく、CPUモジュール3の内部にて演算される、その時刻に到達しているであろう主軸の回転位置である。モーション・コア部23は、演算された指令位置に基づいて出力データを演算する。モーション・コア部23が演算する出力データは、サーボアンプ8に入力される指令であって、例えば位置指令、トルク指令、または速度指令である。モーション・コア部23は、主軸が1回転する周期(以降、モーション制御周期という)よりも十分に小さい周期(以降、演算周期)で出力データであるサーボアンプに対する指令を演算し、演算した出力データを出力する。モーション・コア部23は、演算した出力データを出力処理部25に出力する。
 出力処理部25は、シーケンス・コア部22から出力された出力データを、出力ユニット7に出力する。また、出力処理部25は、モーション・コア部23から出力された出力データを、サーボアンプ8に出力する。
 一般に、モーション制御に関しては、モーション制御周期よりも十分小さい演算周期でサーボアンプ8に対する指令を演算する必要がある。よって、カムデータの切り替えは、モーション制御周期内の何れかの演算周期において実行されうる。しかしながら、主軸がゆっくり回転している場合、または、シーケンス制御周期が完了しないとカムデータの変更ができない場合においては、シーケンス制御周期とモーション制御周期とを同期させる必要がある。
 そこで、実施の形態1によれば、スケジューラ26は、シーケンス制御周期とモーション制御周期とを同期させるために、シーケンス・コア部22またはモーション・コア部23の何れか一方を周期境界において一時的に待機させる。待機させる時間間隔(待ち時間)は、同期情報27に記録され、スケジューラ26に内蔵される。ここで、同期情報27とは、スケジューラ26がふたつの制御(シーケンス制御とモーション制御)の時間差を調整するために利用できる情報であれば、待ち時間の記録以外の情報であっても適用可能である。例えば、同期情報27としては、シーケンス制御とモーション制御の位相ずれの角度と、主軸の角速度と、から推定される時間差が適用できる。また、同期情報27としては、2つの制御の制御周期のずれの過去数周期の平均が適用できる。同期情報27は、ユーザにより設定される。同期情報27は、ユーザプログラム206に記録されて入力されてもよいし、ユーザプログラム206とは別に入力されてもよい。
 図4および図5は、実施の形態1のCPUモジュール3の動作を説明するフローチャートである。図4は、シーケンス制御周期がモーション制御周期よりも小さい場合の動作を示しており、図5は、シーケンス制御周期がモーション制御周期よりも大きい場合の動作を示している。
 図4において、シーケンス制御とモーション制御とは、同時に開始する(S1)。即ち、シーケンス・コア部22は、シーケンス制御を開始し、同時に、モーション・コア部23は、モーション制御を開始する。シーケンス制御周期が経過すると(S2)、シーケンス・コア部22は、同期情報27に記述されている待ち時間だけシーケンス制御を待機する(S3)。具体的には、シーケンス・コア部22は、次の周期のシーケンス制御の開始を、遅らせる。
 S2およびS3の処理は、具体的には次のように実行される。スケジューラ26は、シーケンス制御の実行を監視し、シーケンス制御の最後に、同期情報27に記述されている待ち時間に相当する冗長な処理を挿入する。待ち時間としては、例えば、シーケンス制御周期が経過してから、モーション制御周期の最初の周期境界(即ち主軸の位相がゼロ値になるタイミング)に至るまでの時間が設定される。シーケンス・コア部22は、シーケンス制御を実行後、冗長な処理を実行することで、待ち時間に相当する時間だけシーケンス制御を待機することができる。なお、冗長な処理を挿入する位置は、シーケンス制御の後でなくてもよい。例えば、シーケンス制御の途中に冗長な処理が挿入されてもよい。
 S3の処理の後、シーケンス・コア部22は、カムデータ21を変更する指令が発行されているか否かを判定する(S4)。カムデータ21の変更の指令は、シーケンス制御プログラムから例えば加工終了のタイミングで発行されてもよいし、オペレータによるスイッチの操作により発行されてもよい。カムデータ21を変更する指令が発行されている場合には(S4、Yes)、シーケンス・コア部22は、カムデータ21を変更し(S5)、シーケンス制御を再開する(S6)。カムデータ21を変更する指令が発行されていない場合には(S4、No)、S5の処理はスキップされる。S6の処理の後、S2の処理が再び実行される。
 S6の処理によって、シーケンス制御の周期境界とモーション制御の周期境界とが時間的に一致せしめられる。即ち、シーケンス制御とモーション制御とが同期せしめられる。シーケンス制御とモーション制御とが同期せしめられたときに主軸の回転角度(位相)がゼロ度のときにカムデータ21の切り替えが実行されるので、主軸の位相がゼロ度のときにカムデータ21の切り替えが行われる。カムデータ21は、通常、ゼロ度においてはカム径が上至点または下至点の何れか一方になるように設定される。よって、カムデータ21の切り替えの前後でカム径が一致するので、カム動作ができるだけスムーズになるようにカムデータを切り替えることができる。
 なお、図4の説明においては、1回のシーケンス制御周期が経過する毎にシーケンス制御が待機せしめられるものとして説明したが、所望の回数のシーケンス制御周期が経過する毎にシーケンス制御が待機せしめられるようにしてもよい。その場合には、同期情報27には、何回のシーケンス制御周期毎にシーケンス制御の待機を行うかを指定する情報が予め記述される。例えばn回(nは2以上の自然数)のシーケンス制御周期毎にシーケンス制御の待機を行うことが同期情報27に記述されている場合、スケジューラ26は、シーケンス制御周期が何回経過したかをカウントし、シーケンス制御周期がn回経過したとき、待ち時間に相当する冗長な処理をシーケンス・コア部22に実行させる。
 また、同期情報27には、待ち時間が記述されている、として説明したが、スケジューラ26がモーション制御周期とシーケンス制御周期とを計測し、計測した結果に基づいて待ち時間を算出してもよい。モーション制御周期は、主軸の位相を監視することによって実現可能である。また、スケジューラ26がシーケンス制御周期が経過したときの主軸の位相を取得し、取得した位相から待ち時間を算出してもよい。
 また、スケジューラ26は、カムデータ21を変更する指令が発行されているか否かを所定の時間間隔で判定し、カムデータ21を変更する指令の発行を検知していない場合、シーケンス制御を待機させず、カムデータ21を変更する指令の発行を検知した場合、シーケンス制御を待機させてもよい。待ち時間は、例えば、スケジューラ26がシーケンス制御周期が経過したときの主軸の位相を取得し、取得した位相から算出してもよい。
 なお、モーション制御の同期ポイントは、モーション制御の周期境界でなくてもよい。シーケンス制御周期が経過してから、主軸の位相が所望の位相(例えば90度(deg)、180度、または270度など)に最初に至るまでの時間が待ち時間として設定されてもよい。シーケンス制御周期が経過してから、カム径が変更の前後で同一の値になる所望の位相に最初に至るまでの時間が待ち時間として設定されることにより、カム動作がスムーズになるようにカムデータを切り替えることが可能となる。
 また、モーション・コア部23は、複数の可動軸を互いに同期して動作させることもできる。複数の可動軸の何れにシーケンス制御を同期させるかは、例えばユーザプログラム206または同期情報27に予め記述される。
 図5において、シーケンス制御とモーション制御とは、同時に開始する(S11)。モーション制御周期が経過すると(S12)、モーション・コア部23は、同期情報27に記述されている待ち時間だけモーション制御を待機する(S13)。
 S12およびS13の処理は、具体的には次のように実行される。スケジューラ26は、モーション制御の実行を監視し、モーション制御の最後に、同期情報27に記述されている待ち時間に相当する冗長な処理を挿入する。待ち時間としては、例えば、モーション制御周期が経過してから、シーケンス制御周期の最初の周期境界に至るまでの時間が設定される。モーション・コア部23は、モーション制御を実行後、冗長な処理を実行することで、待ち時間に相当する時間だけモーション制御を待機することができる。なお、冗長な処理を挿入する位置は、モーション制御の後でなくてもよい。例えば、モーション制御の途中に冗長な処理が挿入されてもよい。
 S13の処理の後、シーケンス・コア部22は、カムデータ21を変更する指令が発行されているか否かを判定する(S14)。カムデータ21の変更の指令は、シーケンス制御プログラムから発行されてもよいし、ユーザからの入力により発行されてもよい。カムデータ21を変更する指令が発行されている場合には(S14、Yes)、シーケンス・コア部22は、カムデータ21を変更する(S15)。モーション・コア部23は、変更後のカムデータ21を用いてモーション制御を再開する(S16)。S16の処理により、シーケンス制御の周期境界とモーション制御の周期境界とが同期せしめられる。即ち、シーケンス制御とモーション制御とが同期せしめられる。カムデータ21の切り替えは、シーケンス制御の周期境界とモーション制御の周期境界とが同期されるタイミングで実行されるので、図4にて説明した場合と同様に、カム動作ができるだけスムーズになるようにカムデータを切り替えることができる。カムデータ21を変更する指令が発行されていない場合には(S14、No)、S15の処理はスキップされる。S16の処理の後、S12の処理が再び実行される。
 なお、図5の説明においては、1回のモーション制御周期が経過する毎にモーション制御が待機せしめられるものとして説明したが、所望の回数のモーション制御周期が経過する毎にモーション制御が待機せしめられるようにしてもよい。その場合には、同期情報27には、何回のモーション制御周期毎にモーション制御の待機を行うかを指定する情報が予め記述される。例えばn回(nは2以上の自然数)のモーション制御周期毎にモーション制御の待機を行うことが同期情報27に記述されている場合、スケジューラ26は、モーション制御周期が何回経過したかをカウントし、モーション制御周期がn回経過したとき、待ち時間に相当する冗長な処理をモーション・コア部23に実行させる。
 また、同期情報27には、待ち時間が記述されている、として説明したが、スケジューラ26がモーション制御周期とシーケンス制御周期とを計測し、計測した結果に基づいて待ち時間を算出してもよい。
 また、スケジューラ26は、カムデータ21を変更する指令が発行されているか否かを所定の時間間隔で判定し、カムデータ21を変更する指令の発行を検知していない場合、モーション制御を待機させず、カムデータ21を変更する指令の発行を検知した場合、モーション制御を待機させてもよい。待ち時間は、例えば、スケジューラ26がシーケンス制御周期の周期境界に最後に至ったタイミングを記憶し、記憶したタイミングからの経過時間とシーケンス制御周期との差分を演算することで求められる。
 このように、実施の形態1によれば、CPUモジュール3は、ユーザプログラム206に基づいてシーケンス制御を繰り返し実行するシーケンス・コア部22と、主軸の1回転の周期がシーケンス制御周期と異なるモーション制御を複数のカムデータ21のうちの一に基づいて実行するモーション・コア部23と、スケジューラ26と、を備える。そして、スケジューラ26は、シーケンス制御とモーション制御とが同期するように、シーケンス制御の周期境界またはモーション制御の周期境界に待ち時間を挿入する。モーション・コア部23は、シーケンス制御とモーション制御とが同期したタイミングで、カムデータ21を切り替える。これにより、カムデータ21の切り替えの前後でカム径を一致させることができるので、カム動作ができるだけスムーズになるようにカムデータ21を切り替えることができる。
 なお、CPUモジュール3に具備されるプロセッサコアの数は、3以上であってもよいし、1であってもよい。CPUモジュール3に具備されるプロセッサコアの数が1である場合には、そのプロセッサコアにおいてシーケンス制御とモーション制御とが切り替えて実行される。
実施の形態2.
 図6は、実施の形態2のCPUモジュールの機能を示す図である。実施の形態2のCPUモジュールに、符号3aを付すことによって、実施の形態1のCPUモジュールと区別する。また、実施の形態1と同様の要素には同一の名称および符号を付し、重複する説明を省略する。
 CPUモジュール3aは、シーケンス・コア部22、モーション・コア部23、入力処理部24、出力処理部25a、およびスケジューラ26を備えている。出力処理部25aは、出力値補正部31を備えている。
 モーション制御周期がシーケンス制御周期よりも大きい場合、シーケンス制御に同期するためにモーション制御周期は待機せしめられる。その場合、サーボアンプ8に対する出力は、待ち時間分だけ遅延する。出力値補正部31は、待機を開始するタイミングでスケジューラ26から待ち時間が入力される。そして、出力値補正部31は、待機中であっても、待機の前、待機の最中、待機の後のカム動作が滑らかになるように、待ち時間に基づき、モーション・コア部23からの出力データを補正する。
 なお、補正のアルゴリズムは任意である。例えば、前回値と今回値とを待ち時間を用いて直線外挿近似(一次関数近似)することによって補正値を計算するアルゴリズムが採用可能である。また、主軸の角速度が一定であると見做して、待ち時間分の角度の変位量を求め、カムテーブル21と、求めた角度の変位量とに基づいて出力時点の出力データを補正するアルゴリズムが採用可能である。
 このように、実施の形態2によれば、CPUモジュール3aは、モーション・コア部23からの出力値が待ち時間の経過中に滑らかに変化するように、待ち時間に基づいて補正する出力値補正部31を備える。これにより、モーション制御の待ち時間に基づく制御の誤差を抑制し、その結果、滑らかでモータまたは機械に負担の少ないモーション制御が可能となる。
実施の形態3.
 図7は、実施の形態3のCPUモジュールの機能を示す図である。実施の形態3のCPUモジュールに、符号3bを付すことによって、実施の形態1および実施の形態2のCPUモジュールと区別する。また、実施の形態1または実施の形態2と同様の要素には同一の名称および符号を付し、重複する説明を省略する。
 CPUモジュール3bは、シーケンス・コア部22、モーション・コア部23、入力処理部24、出力処理部25b、およびスケジューラ26を備えている。出力処理部25bは、出力値補正部31および出力値制限部32を備えている。
 出力値制限部32は、ユーザによって予め決められた制限値を記憶している。制限値は、例えばユーザプログラム206を介して出力値制限部32に設定される。モーション・コア部23は、無理なプログラミング、または、演算処理中の故障、に起因して演算値に異常が発生することがある。このような演算値の異常により、サーボアンプ8またはモータに対して、急激に変化する値または過大な値の出力を行う場合がある。モーション・コア部23が出力データを出力処理部25bに出力したときに、出力値制限部32は、出力データの値を制限値と比較して、出力データの値が制限値を越えている場合には、出力データを制限値に抑制(即ち制限)する。例えば、可動軸の角速度、位置の変位量、可動軸によって駆動される可動部(手先)の移動速度、モータのトルク、または手先の位置などが、制限値として設定される。
 出力値制限部32によって抑制された、または抑制されていない出力データは、出力値補正部31によって補正され、サーボアンプ8に出力される。
 なお、出力値制限部32による処理と出力値補正部31による処理とは、この順番に限定されない。
 このように、実施の形態3によれば、CPUモジュール3bは、モーション・コア部23からの出力値を制限する出力値制限部32をさらに備える。これにより、モータおよびモータが駆動する機械の故障または破壊を回避できる。また不意な動作を抑制できるので、安全性が向上する。
実施の形態4.
 図8は、実施の形態4のCPUモジュールの機能を示す図である。実施の形態4のCPUモジュールに、符号3cを付すことによって、実施の形態1、実施の形態2、および実施の形態3のCPUモジュールと区別する。また、実施の形態1または実施の形態3と同様の要素には同一の名称および符号を付し、重複する説明を省略する。
 CPUモジュール3cは、シーケンス・コア部22、モーション・コア部23、入力処理部24、および出力処理部25cを備えている。出力処理部25cは、出力値制限部32を備えている。出力値制限部32は、実施の形態3と同様、モーション・コア部23からの出力データを制限値で抑制する。
 なお、実施の形態4においては、モーション・コア部23は、シーケンス制御周期とは関連しない任意のタイミングでカムデータ21の切り替えを実行することができる。出力値制限部32は、カムデータ21の切り替えに伴って出力データが非連続に変動した場合であっても、その出力データを制限値で抑制するので、出力データを抑制しない場合に比べてカム動作をスムーズにすることができる。また、モータおよびモータが駆動する機械の故障または破壊を回避できる。また、不意な動作を抑制できるので、安全性が向上する。
 1 PLCシステム、2 電源、3,3a,3b,3c CPUモジュール、4 I/Oモジュール、5 ベースモジュール、6 入力ユニット、7 出力ユニット、8 サーボアンプ、21 カムデータ、22 シーケンス・コア部、23 モーション・コア部、24 入力処理部、25,25a,25b,25c 出力処理部、26 スケジューラ、27 同期情報、31 出力値補正部、32 出力値制限部、200,201 プロセッサコア、202 メインメモリ、203 不揮発性メモリ、204 バスインタフェース、205 内部バス、206 ユーザプログラム、207 システムプログラム。

Claims (7)

  1.  複数のカムデータを含むユーザプログラムを予め記憶する記憶部と、
     前記ユーザプログラムに基づいて第1周期のシーケンス制御を繰り返し実行するシーケンス制御部と、
     1回転の周期が前記第1周期と異なる第2周期であるモーション制御を前記複数のカムデータのうちの一に基づいて実行するモーション制御部と、
     スケジューラと、
     を備え、
     前記スケジューラは、前記シーケンス制御と前記モーション制御とが同期するように、前記シーケンス制御の周期境界または前記モーション制御の周期境界に待ち時間を挿入し、
     前記モーション制御部は、前記シーケンス制御と前記モーション制御とが同期したとき、前記一のカムデータを前記複数のカムデータのうちの他のカムデータに切り替える、
     ことを特徴とする制御装置。
  2.  前記第1周期は、前記第2周期よりも大きく、
     前記スケジューラは、前記シーケンス制御の周期境界に前記待ち時間を挿入する、
     ことを特徴とする請求項1に記載の制御装置。
  3.  前記第1周期は、前記第2周期よりも小さく、
     前記スケジューラは、前記モーション制御の周期境界に前記待ち時間を挿入する、
     ことを特徴とする請求項1に記載の制御装置。
  4.  前記モーション制御部からの出力値が前記待ち時間の経過中に滑らかに変化するように、前記待ち時間に基づいて補正する補正部をさらに備える、
     ことを特徴とする請求項3に記載の制御装置。
  5.  前記モーション制御部からの出力値を制限する制限部をさらに備える、
     ことを特徴とする請求項1または請求項4に記載の制御装置。
  6.  複数のカムデータを含むユーザプログラムを予め記憶する記憶部と、
     前記ユーザプログラムに基づいて第1周期のシーケンス制御を繰り返し実行するシーケンス制御部と、
     1回転の周期が前記第1周期と異なる第2周期であるモーション制御を前記複数のカムデータのうちの一に基づいて実行し、前記一のカムデータを前記複数のカムデータのうちの他に切り替える、モーション制御部と、
     前記モーション制御部からの出力値を制限する制限部と、
     を備えることを特徴とする制御装置。
  7.  制御装置がユーザプログラムに基づいて第1周期のシーケンス制御と1回転の周期が前記第1周期と異なる第2周期のモーション制御とを実行する制御方法であって、
     前記シーケンス制御と前記モーション制御とが同期するように、前記シーケンス制御の周期境界または前記モーション制御の周期境界に待ち時間を挿入するステップと、
     前記シーケンス制御と前記モーション制御とが同期したとき、前記モーション制御において使用するカムデータを切り替えるステップと、
     を備えることを特徴とする制御方法。
PCT/JP2014/062708 2014-05-13 2014-05-13 制御装置および制御方法 WO2015173886A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015520758A JP6166368B2 (ja) 2014-05-13 2014-05-13 制御装置および制御方法
PCT/JP2014/062708 WO2015173886A1 (ja) 2014-05-13 2014-05-13 制御装置および制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/062708 WO2015173886A1 (ja) 2014-05-13 2014-05-13 制御装置および制御方法

Publications (1)

Publication Number Publication Date
WO2015173886A1 true WO2015173886A1 (ja) 2015-11-19

Family

ID=54479458

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/062708 WO2015173886A1 (ja) 2014-05-13 2014-05-13 制御装置および制御方法

Country Status (2)

Country Link
JP (1) JP6166368B2 (ja)
WO (1) WO2015173886A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192016A (ja) * 2010-03-15 2011-09-29 Omron Corp コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP4807475B1 (ja) * 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP4973792B1 (ja) * 2011-03-15 2012-07-11 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09269806A (ja) * 1996-03-29 1997-10-14 Mitsubishi Electric Corp 位置決め制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192016A (ja) * 2010-03-15 2011-09-29 Omron Corp コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP4807475B1 (ja) * 2011-03-15 2011-11-02 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム
JP4973792B1 (ja) * 2011-03-15 2012-07-11 オムロン株式会社 演算ユニット、出力制御方法、およびプログラム

Also Published As

Publication number Publication date
JPWO2015173886A1 (ja) 2017-04-20
JP6166368B2 (ja) 2017-07-19

Similar Documents

Publication Publication Date Title
JP5803337B2 (ja) 同期制御装置、同期制御方法、同期制御プログラム、および同期制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US10274936B2 (en) Control apparatus
US8901870B2 (en) Synchronous control apparatus
JP6724831B2 (ja) コントロールシステム、コントローラ及び制御方法
US20150177723A1 (en) Control unit, output control method and program
EP3361635B1 (en) Control system and pulse output device
CN108886481B (zh) 通信控制系统以及通信控制方法
JP5801143B2 (ja) モータシステムおよびモータ制御装置
WO2013089110A1 (ja) 位置決め装置、及びplcシステム
JP6166368B2 (ja) 制御装置および制御方法
JP6262706B2 (ja) カム形状データ作成装置及び同期制御装置
TWI410766B (zh) 數值控制裝置
JP2015150676A (ja) ロボット装置、ロボット制御方法及びプログラム、並びに記録媒体
JP2009017670A (ja) ステッピングモータ制御装置
JP6484954B2 (ja) モータ制御装置、モータ制御システム、モータ制御方法及びモータ制御プログラム
JP5460371B2 (ja) 数値制御装置
JP2016002642A (ja) ロボット制御装置および制御方法
JP2007025759A (ja) 電動機駆動装置および位置指令装置ならびに位置決め装置
JP2018060289A (ja) 軌跡生成装置、軌跡生成装置の制御方法、制御プログラム、および記録媒体
JP2017016366A (ja) 学習メモリ切り換え機能を有するサーボ制御システム
JP2006170946A (ja) ロータリテーブル制御装置
JP4945737B2 (ja) ロボットシステム及び補間方法
JP2008289259A (ja) 位置決め制御装置、駆動制御装置および制御システム演算交信処理方法
JP2023152086A (ja) ドライバ及びドライブシステム
JP6393246B2 (ja) モータ駆動制御装置及びモータ駆動制御装置の制御方法

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2015520758

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 14892195

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14892195

Country of ref document: EP

Kind code of ref document: A1