JP5246186B2 - Controller support device, control program simulation method, controller support program, and computer-readable storage medium storing controller support program - Google Patents
Controller support device, control program simulation method, controller support program, and computer-readable storage medium storing controller support program Download PDFInfo
- Publication number
- JP5246186B2 JP5246186B2 JP2010057467A JP2010057467A JP5246186B2 JP 5246186 B2 JP5246186 B2 JP 5246186B2 JP 2010057467 A JP2010057467 A JP 2010057467A JP 2010057467 A JP2010057467 A JP 2010057467A JP 5246186 B2 JP5246186 B2 JP 5246186B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- simulation
- execution
- control cycle
- data
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/18—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
- G05B19/406—Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by monitoring or safety
- G05B19/4069—Simulating machining process on screen
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/32—Operator till task planning
- G05B2219/32352—Modular modeling, decompose large system in smaller systems to simulate
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Manufacturing & Machinery (AREA)
- Automation & Control Theory (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Programmable Controllers (AREA)
Abstract
Description
本発明は、機械の動きを制御するコントローラにおいて制御周期ごとに実行される、シーケンス制御部分およびモーション制御部分を含む制御プログラムをシミュレーション実行することができるコントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体に関する。 The present invention relates to a controller support device capable of executing a simulation of a control program including a sequence control portion and a motion control portion, which is executed at each control cycle in a controller that controls machine motion, a control program simulation method, and a controller The present invention relates to a computer-readable storage medium storing a support program and a controller support program.
特許文献1には、PLC(Programmable Logic Controller)プログラムの命令実行をシミュレーションするPLCシミュレータ装置が記載されている。ここでいうPLCプログラムは、具体的にはラダーダイアグラムやインストラクションリストの言語で記述されるシーケンスプログラムである。このPLCシミュレータ装置は、PLCプログラムを1命令ごとに実行し、実行結果を表示することができる。これにより、PLCプログラムのデバッグが容易にできる。
一般的にシーケンスプログラムの動作確認は、命令ごとに、所定の入力条件のときに想定された出力が得られることを確認するのが基本である。 In general, the operation of a sequence program is basically confirmed for each instruction by confirming that an output expected under a predetermined input condition can be obtained.
特許文献1でも言及されているように、所定の入力条件が現れるのを待つために一巡実行を多数回繰り返すことはあるが、所定の入力条件が現れれば、命令の動作自体は1周期の実行で確認することができる。
As mentioned in
また、一巡実行を繰り返すことなく、手入力で、あるいはデバッグ用のプログラムを用いて、所定の入力条件を与えて、ある命令の動作を1周期の実行で確認することが行われている。 In addition, it is possible to confirm the operation of a certain instruction in one cycle by giving a predetermined input condition by manual input or using a debugging program without repeating a round of execution.
ところが、サーボモータ、ステッピングモータなどを駆動するモータドライバに制御周期ごとに指令値を与えてモータの動作を制御するモーション制御を含む制御プログラムにおいては、モータドライバに提供する指令値が設計時の想定どおりに算出されているかどうかを確認するためには、非常に多数の制御周期にわたってプログラムの動作を追跡する必要がある。 However, in a control program that includes a motion control that controls a motor operation by giving a command value to a motor driver that drives a servo motor, a stepping motor, etc. at each control cycle, the command value provided to the motor driver is assumed at the time of design. It is necessary to track the operation of the program over a very large number of control cycles in order to check whether it is calculated correctly.
たとえば、制御周期が1msの場合に10秒間のモータ動作を確認するためには1万回算出される指令値の推移を確認する必要がある。この場合に、途中の任意の制御周期の指令値を調べるためには、その制御周期にいたるまで最初から制御プログラムを繰り返し実行しなければならない。 For example, in order to confirm the motor operation for 10 seconds when the control cycle is 1 ms, it is necessary to confirm the transition of the command value calculated 10,000 times. In this case, in order to check the command value of an arbitrary control cycle in the middle, the control program must be repeatedly executed from the beginning until the control cycle is reached.
このように、プログラムのモーション制御部分については、シーケンス制御部分の場合とは異なり、所定の入力条件を与えてその制御周期のみ実行することにより動作確認するということができない。そのため、モーション制御部分を含む制御プログラムに適した動作確認の手法を新たに創出する必要がある。 In this way, unlike the sequence control portion, the motion control portion of the program cannot be confirmed by giving a predetermined input condition and executing only the control cycle. Therefore, it is necessary to create a new operation confirmation method suitable for a control program including a motion control part.
その場合に次のような事情を考慮すべきである。
モーション制御においては、「現在位置から目標位置まで与えられた速度で動く」というような単位となる動きをいくつもつなげて、全体として長時間にわたる複雑な動きがプログラムされることが多い。そのような場合に、制御プログラムのモーション制御部分を修正したりモーション制御部分の起動や中断に影響するシーケンス制御部分を修正したりしてその結果を確認しようとすると、一連の動きについてまた最初からシミュレーション実行しなければならないため、プログラム修正の結果の確認に非常に時間がかかることがある。
In that case, the following circumstances should be considered.
In motion control, a number of unit movements such as “move at a given speed from the current position to the target position” are connected, and a complex movement over a long time as a whole is often programmed. In such a case, if you try to check the result by correcting the motion control part of the control program or by correcting the sequence control part that affects the activation or interruption of the motion control part, the sequence of movements will start again from the beginning. Since simulation must be executed, it may take a very long time to confirm the result of the program correction.
その上、制御プログラムが、センサからの入力や手動スイッチからの入力に応じてモーション制御の内容を変化させるようになっている場合には、シミュレーションの再実行のたびに、入力内容や入力タイミングを正確に再現しなければならないことも不便である。 In addition, if the control program changes the content of motion control according to the input from the sensor or the input from the manual switch, the input content and input timing are changed each time the simulation is re-executed. It is also inconvenient that it must be accurately reproduced.
上記の事情を考慮した結果、発明者らは、モーション制御を含む制御プログラムをシミュレーション実行する場合に、実行の開始から終了までの間の途中の制御周期からの再実行を可能にすることができれば高い利便性が得られることを見出した。 As a result of considering the above circumstances, if the inventors can execute a simulation of a control program including motion control, it is possible to re-execute from a control cycle in the middle from the start to the end of execution. It was found that high convenience can be obtained.
本発明は、モーション制御を含む制御プログラムをシミュレーション実行する場合に、実行の開始から終了までの間の途中の制御周期からの再実行を可能にするコントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体を提供することを目的とする。 The present invention relates to a controller support device that enables re-execution from a control cycle in the middle from the start to the end of execution when executing a simulation of a control program including motion control. An object of the present invention is to provide a computer-readable storage medium storing a support program and a controller support program.
本発明のある局面に従うコントローラサポート装置は、機械の動きを制御するコントローラにおいて制御周期ごとに実行される、シーケンス制御部分およびモーション制御部分を含む制御プログラムをシミュレーション実行することができるコントローラサポート装置であって、制御プログラムをシミュレーション実行し実行結果データを生成するシミュレーション手段と、シミュレーション手段によって生成された実行結果データの時間的な変化を表示するための表示データを作成する表示データ作成手段と、シミュレーション手段に対するユーザの指示を受け付ける受け付け手段と、表示データ作成手段によって作成された表示データを表示することができる表示器とを備える。シミュレーション手段は、制御プログラムのシーケンス制御部分をシミュレーション実行し、シーケンス制御部分に関する実行結果データを生成するシーケンス演算実行部と、シーケンス演算実行部がシミュレーション実行するために使用するシーケンス変数記憶部と、制御プログラムのモーション制御部分をシミュレーション実行し、モーション制御部分に関する実行結果データを生成するモーション演算実行部と、モーション演算実行部がシミュレーション実行するために使用するモーション変数記憶部と、制御周期の実行回数を計数する制御周期計数部と、シミュレーションの再実行を開始することができる制御周期である再開可能制御周期に対応する実行回数のデータと、シーケンス変数記憶部およびモーション変数記憶部に記憶されているデータのうち再開可能制御周期からシミュレーションの再実行を開始するのに用いられる変数データとを含む再開用データを保存する再開用データ記憶部とを備える。シミュレーション手段は、再開可能制御周期を特定し、再開可能制御周期に対応する再開用データを再開用データ記憶部に記憶する。シミュレーション手段は、再実行を開始する制御周期を特定するための指定を受け付け手段から取得し、指定を用いて再実行を開始する制御周期を特定し、特定した制御周期に対応する保存された再開用データを用いて特定された制御周期からシミュレーションの再実行を開始する。 A controller support device according to an aspect of the present invention is a controller support device capable of executing a simulation of a control program including a sequence control portion and a motion control portion, which is executed at each control cycle in a controller that controls the movement of a machine. Simulation means for executing a control program and generating execution result data, display data generating means for generating display data for displaying temporal changes in the execution result data generated by the simulation means, and simulation means Receiving means for receiving an instruction from the user, and a display capable of displaying the display data created by the display data creating means. The simulation means executes a simulation of the sequence control portion of the control program and generates execution result data relating to the sequence control portion, a sequence variable storage portion used for the sequence calculation execution portion to execute a simulation, a control Simulation execution of the motion control part of the program and generation of execution result data related to the motion control part, motion variable storage part used for simulation execution by the motion calculation execution part, and the number of executions of the control cycle Control cycle counting unit for counting, execution frequency data corresponding to resumable control cycle, which is a control cycle capable of starting simulation re-execution, and stored in sequence variable storage unit and motion variable storage unit And among the data it has and a resumption data storage unit for storing the resume data including a variable data used to start the re-execution of the simulation from the resumable control period. The simulation means specifies the resumable control cycle and stores the resuming data corresponding to the resumable control cycle in the resuming data storage unit. The simulation means obtains a specification for specifying a control cycle for starting re-execution from the accepting means, specifies a control cycle for starting re-execution using the specification, and stores a resume corresponding to the specified control cycle The simulation is re-executed from the control cycle specified using the data.
好ましくは、制御プログラムを編集することができる編集手段をさらに備える。編集手段は、シミュレーション手段においてシミュレーション実行されたことがある制御プログラムを修正するユーザの操作を受け付け可能にされている。シミュレーション手段は、編集手段により修正された制御プログラムについて、当該制御プログラムが修正される前に保存した再開用データを用いてシミュレーションの再実行を開始するユーザの操作を受け付け可能にされている。 Preferably, the information processing apparatus further includes editing means capable of editing the control program. The editing means can accept a user operation to correct a control program that has been simulated by the simulation means. The simulation means is capable of accepting a user operation for starting re-execution of the simulation using the resumption data saved before the control program is corrected for the control program corrected by the editing means.
好ましくは、制御プログラムのモーション制御部分は、それぞれの制御周期において、指令値を算出する状態である活性状態および活性状態でない非活性状態のいずれかの状態である。シミュレーション手段は、モーション制御部分が非活性状態から活性状態となる制御周期を基準として再開可能制御周期を特定する。 Preferably, the motion control portion of the control program is in an active state in which a command value is calculated or an inactive state that is not an active state in each control cycle. The simulation means specifies a resumable control cycle based on a control cycle in which the motion control part is changed from the inactive state to the active state.
好ましくは、制御プログラムのモーション制御部分は、それぞれの制御周期において、当該モーション制御部分が実行中の状態である実行中状態および実行中状態でない非実行中状態のいずれかの状態である。シミュレーション手段は、モーション制御部分が非実行中状態から実行中状態となる制御周期を基準として再開可能制御周期を特定する。 Preferably, the motion control portion of the control program is in any state of a running state in which the motion control portion is being executed and a non-running state that is not being executed in each control cycle. The simulation means specifies a resumable control cycle based on a control cycle in which the motion control portion changes from the non-execution state to the execution state.
好ましくは、シミュレーション手段は、一定間隔ごとの制御周期を再開可能制御周期として特定する。 Preferably, the simulation unit specifies a control cycle at regular intervals as a resumable control cycle.
特に、編集手段は、ユーザの操作により制御プログラムのモーション制御部分を修正する。シミュレーション手段は、修正されたモーション制御部分を特定する情報を編集手段から取得し、再開可能制御周期の中から、最も最近に修正されたモーション制御部分から再実行することができる制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する。 In particular, the editing means corrects the motion control portion of the control program by a user operation. The simulation means obtains information identifying the modified motion control part from the editing means, and identifies a control period that can be re-executed from the most recently modified motion control part from among the resumable control periods. The simulation re-execution is started from the control cycle.
特に、編集手段は、表示器に制御プログラムの内容をリスト表示する。受け付け手段は、リスト表示上で、再実行を開始するモーション制御部分の指定を受け付ける。シミュレーション手段は、再開可能制御周期の中から、指定されたモーション制御部分から再実行することができる制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する。 In particular, the editing means displays a list of the contents of the control program on the display. The accepting unit accepts designation of a motion control part to start re-execution on the list display. The simulation means specifies a control cycle that can be re-executed from the designated motion control portion from among the resumable control cycles, and starts re-execution of the simulation from the control cycle.
好ましくは、表示データ作成手段は、実行結果データの時間的な変化をグラフとして表示するための表示データを作成する。受け付け手段は、表示器に表示されたグラフ上の位置についてのユーザの指示を受け付ける。シミュレーション手段は、再開可能制御周期の中から、ユーザによって指示されたグラフ上の位置に対応する制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する。 Preferably, the display data creation means creates display data for displaying a temporal change in the execution result data as a graph. The accepting means accepts a user instruction regarding a position on the graph displayed on the display. The simulation unit specifies a control cycle corresponding to the position on the graph instructed by the user from the resumable control cycle, and starts re-execution of the simulation from the control cycle.
好ましくは、表示データ作成手段は、シミュレーション手段によって生成された位置についての実行結果データの時間的な変化を2次元空間または3次元空間における軌跡として表示するための表示データを作成する。受け付け手段は、軌跡上の位置についてのユーザの指示を受け付ける。シミュレーション手段は、再開可能制御周期の中から、ユーザによって指示された軌跡上の位置に対応する制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する。 Preferably, the display data creating unit creates display data for displaying a temporal change of the execution result data for the position generated by the simulation unit as a trajectory in the two-dimensional space or the three-dimensional space. The accepting unit accepts a user instruction regarding a position on the trajectory. The simulation unit specifies a control cycle corresponding to the position on the locus instructed by the user from the resumable control cycle, and starts re-execution of the simulation from the control cycle.
好ましくは、表示データ作成手段は、実行結果データの時間的な変化を位置のリストとして表示するための表示データを作成する。受け付け手段は、表示器に表示された位置のリスト上の位置についてのユーザの指示を受け付ける。シミュレーション手段は、再開可能制御周期の中から、ユーザによって指示された位置のリスト上の位置に対応する制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する。 Preferably, the display data creating means creates display data for displaying a temporal change in the execution result data as a list of positions. The accepting means accepts a user instruction regarding a position on the list of positions displayed on the display. The simulation unit specifies a control cycle corresponding to a position on the list of positions designated by the user from the resumable control cycle, and starts re-execution of the simulation from the control cycle.
本発明のある局面に従う制御プログラムのシミュレーション方法は、機械の動きを制御するコントローラにおいて制御周期ごとに実行される、シーケンス制御部分およびモーション制御部分を含む制御プログラムを、表示器を有するコントローラサポート装置においてシミュレーション実行する、制御プログラムのシミュレーション方法であって、ユーザの指示により制御プログラムをシミュレーション実行し、実行結果データを生成するシミュレーション演算ステップと、シミュレーション演算ステップによって生成された実行結果データの時間的な変化を表示するための表示データを作成する表示データ作成ステップと、表示データ作成ステップによって作成された表示データを表示器に表示する表示ステップとを備える。シミュレーション演算ステップは、制御プログラムのシーケンス制御部分をシミュレーション実行し、シーケンス制御部分に関する実行結果データを生成するシーケンス演算実行ステップと、制御プログラムのモーション制御部分をシミュレーション実行し、モーション制御部分に関する実行結果データを生成するモーション演算実行ステップと、制御周期の実行回数を計数する制御周期計数ステップと、シミュレーションの再実行を開始することができる制御周期である再開可能制御周期を特定するステップと、再開可能制御周期に対応する実行回数のデータと、シーケンス制御部分の実行に関係するシーケンス変数データおよびモーション制御部分の実行に関係するモーション変数データのうち再開可能制御周期からシミュレーションの再実行を開始するのに用いられる変数データとを含む再開用データを保存する再開用データ保存ステップと、再実行を開始する制御周期を特定するためのユーザによる指定を受け付け、指定を用いて再実行を開始する制御周期を特定し、特定した制御周期に対応する保存された再開用データを用いて特定された制御周期からシミュレーションの再実行を開始する再実行開始ステップとを含む。 A simulation method for a control program according to an aspect of the present invention provides a control program including a sequence control portion and a motion control portion, which is executed at each control cycle in a controller that controls the movement of a machine, in a controller support device having a display. A simulation method of a control program for performing a simulation, wherein a simulation calculation step for executing a control program by simulation according to a user instruction and generating execution result data, and a temporal change in the execution result data generated by the simulation calculation step A display data creation step for creating display data for displaying the display data, and a display step for displaying the display data created in the display data creation step on the display. The simulation calculation step executes a simulation of the sequence control part of the control program, generates a result of execution related to the sequence control part, executes a simulation of the motion control part of the control program, and executes result data of the motion control part. A motion calculation execution step for generating a control cycle, a control cycle counting step for counting the number of executions of the control cycle, a step for specifying a resumable control cycle that is a control cycle capable of starting re-execution of simulation, and a resumable control From the data of the number of executions corresponding to the cycle, the sequence variable data related to the execution of the sequence control part, and the motion variable data related to the execution of the motion control part, from the resumable control cycle Resumption data storage step that saves data for resumption including variable data used to start execution, and specification by the user to specify the control cycle for starting re-execution is accepted and re-executed using the specification And a re-execution start step of starting re-execution of the simulation from the control period specified using the stored resumption data corresponding to the specified control period.
本発明のある局面に従うコントローラのサポートプログラムは、機械の動きを制御するコントローラにおいて制御周期ごとに実行される、シーケンス制御部分およびモーション制御部分を含む制御プログラムを、表示器を有するコントローラサポート装置においてシミュレーション実行するためのコントローラのサポートプログラムである。制御プログラムは、コントローラサポート装置に対して、ユーザの指示により制御プログラムをシミュレーション実行し、実行結果データを生成するシミュレーション演算ステップと、シミュレーション演算ステップによって生成された実行結果データの時間的な変化を表示するための表示データを作成する表示データ作成ステップと、表示データ作成ステップによって作成された表示データを表示器に表示する表示ステップとを実行させる。シミュレーション演算ステップは、制御プログラムのシーケンス制御部分をシミュレーション実行しシーケンス制御部分に関する実行結果データを生成するシーケンス演算実行ステップと、制御プログラムのモーション制御部分をシミュレーション実行しモーション制御部分に関する実行結果データを生成するモーション演算実行ステップと、制御周期の実行回数を計数する制御周期計数ステップと、シミュレーションの再実行を開始することができる制御周期である再開可能制御周期を特定するステップと、再開可能制御周期に対応する実行回数のデータと、シーケンス制御部分の実行に関係するシーケンス変数データおよびモーション制御部分の実行に関係するモーション変数データのうち再開可能制御周期からシミュレーションの再実行を開始するのに用いられる変数データとを含む再開用データを保存する再開用データ保存ステップと、再実行を開始する制御周期を特定するためのユーザによる指定を受け付け、指定を用いて再実行を開始する制御周期を特定し、特定した制御周期に対応する保存された再開用データを用いて特定された制御周期からシミュレーションの再実行を開始する再実行開始ステップとを含む。 A controller support program according to an aspect of the present invention simulates a control program including a sequence control portion and a motion control portion, which is executed at each control cycle in a controller that controls machine movement, in a controller support device having a display. This is a controller support program for execution. The control program simulates execution of the control program according to a user instruction to the controller support device, and generates a simulation result step for generating execution result data, and displays a temporal change in the execution result data generated by the simulation calculation step. A display data creating step for creating display data for performing the display, and a display step for displaying the display data created in the display data creating step on the display. The simulation calculation step performs a sequence calculation execution step for executing the simulation of the sequence control portion of the control program and generating execution result data relating to the sequence control portion, and executing a simulation for the motion control portion of the control program and generating execution result data relating to the motion control portion. A motion calculation execution step, a control cycle counting step for counting the number of executions of the control cycle, a step for specifying a resumable control cycle that is a control cycle capable of starting re-execution of the simulation, and a resumable control cycle. Re-execute the simulation from the resumable control cycle of the corresponding execution count data, sequence variable data related to the execution of the sequence control part, and motion variable data related to the execution of the motion control part. Resuming data storage step for saving resuming data including variable data used to start the operation, and accepting a specification by the user for specifying a control cycle for starting re-execution, and re-execution using the designation A re-execution start step of specifying a control cycle to be started and starting re-execution of the simulation from the control cycle specified by using the stored resumption data corresponding to the specified control cycle.
本発明のある局面に従うコントローラのサポートプログラムを格納した記録媒体は、機械の動きを制御するコントローラにおいて制御周期ごとに実行される、シーケンス制御部分およびモーション制御部分を含む制御プログラムを、表示器を有するコントローラサポート装置においてシミュレーション実行するためのコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体である。制御プログラムは、コントローラサポート装置に対して、ユーザの指示により制御プログラムをシミュレーション実行し実行結果データを生成するシミュレーション演算ステップと、シミュレーション演算ステップによって生成された実行結果データの時間的な変化を表示するための表示データを作成する表示データ作成ステップと、表示データ作成ステップによって作成された表示データを表示器に表示する表示ステップとを実行させる。シミュレーション演算ステップは、制御プログラムのシーケンス制御部分をシミュレーション実行しシーケンス制御部分に関する実行結果データを生成するシーケンス演算実行ステップと、制御プログラムのモーション制御部分をシミュレーション実行しモーション制御部分に関する実行結果データを生成するモーション演算実行ステップと、制御周期の実行回数を計数する制御周期計数ステップと、シミュレーションの再実行を開始することができる制御周期である再開可能制御周期を特定するステップと、再開可能制御周期に対応する実行回数のデータと、シーケンス制御部分の実行に関係するシーケンス変数データおよびモーション制御部分の実行に関係するモーション変数データのうち再開可能制御周期からシミュレーションの再実行を開始するのに用いられる変数データとを含む再開用データを保存する再開用データ保存ステップと、再実行を開始する制御周期を特定するためのユーザによる指定を受け付け、指定を用いて再実行を開始する制御周期を特定し、特定した制御周期に対応する保存された再開用データを用いて特定された制御周期からシミュレーションの再実行を開始する再実行開始ステップとを含む。 A recording medium storing a controller support program according to an aspect of the present invention has a display of a control program including a sequence control portion and a motion control portion, which is executed for each control period in a controller that controls the movement of a machine. A computer-readable storage medium storing a controller support program for executing a simulation in a controller support apparatus. The control program displays, on the controller support device, a simulation calculation step for executing a simulation of the control program according to a user instruction and generating execution result data, and a temporal change in the execution result data generated by the simulation calculation step. A display data creating step for creating display data for display, and a display step for displaying the display data created in the display data creating step on the display. The simulation calculation step performs a sequence calculation execution step for executing the simulation of the sequence control portion of the control program and generating execution result data relating to the sequence control portion, and executing a simulation for the motion control portion of the control program and generating execution result data relating to the motion control portion. A motion calculation execution step, a control cycle counting step for counting the number of executions of the control cycle, a step for specifying a resumable control cycle that is a control cycle capable of starting re-execution of the simulation, and a resumable control cycle. Re-execute the simulation from the resumable control cycle of the corresponding execution count data, sequence variable data related to the execution of the sequence control part, and motion variable data related to the execution of the motion control part. Resuming data storage step for saving resuming data including variable data used to start the operation, and accepting a specification by the user for specifying a control cycle for starting re-execution, and re-execution using the designation A re-execution start step of specifying a control cycle to be started and starting re-execution of the simulation from the control cycle specified by using the stored resumption data corresponding to the specified control cycle.
本発明によれば、モーション制御を含む制御プログラムをシミュレーション実行する場合に、実行の開始から終了までの間の途中の制御周期からの再実行が可能になるので、プログラムの動作確認が容易になる。 According to the present invention, when executing a simulation of a control program including motion control, it is possible to re-execute from a control cycle in the middle from the start to the end of execution, so that it is easy to check the operation of the program. .
以下、この発明の実施の形態について図面を参照しながら詳細に説明する。なお、図中同一または相当部分には同一符号を付し、その説明は繰り返さない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In the drawings, the same or corresponding parts are denoted by the same reference numerals, and description thereof will not be repeated.
図1は、本発明の実施の形態に従う制御システムの構成を説明する図である。
図1を参照して、本発明の実施の形態に従う制御システムは、サーバ2と、ネットワーク4と、PC(パーソナルコンピュータ)6と、コントローラ14と、制御対象装置16とから構成されている。
FIG. 1 is a diagram illustrating a configuration of a control system according to the embodiment of the present invention.
Referring to FIG. 1, the control system according to the embodiment of the present invention includes a
サーバ2は、ネットワーク4を介してPC6と接続されている。PC6は、制御対象装置16を制御するコントローラ14と通信可能に接続されている。
The
PC6は、本発明の一実施形態におけるコントローラサポート装置に相当する。PC6には、コントローラサポートプログラム8がインストールされており、また、ユーザが作成した制御プログラム10が記憶されている。CD−ROM(Compact Disc-Read Only Memory)12は、コントローラサポートプログラム8を格納している。PC6にインストールされているコントローラサポートプログラム8は、このCD−ROM12からインストールされたものである。
The
コントローラ14は、制御対象装置16の動きを制御する。
本発明の実施の形態においては、コントローラ14として一例として、PLC(Programmable Logic Controller)が用いられる。すなわち、このPLCには、いわゆるモーションコントロール機能が備えられている。コントローラ14は、制御対象装置16に対する制御内容を規定する制御プログラム15を記憶している。コントローラ14は、制御周期ごとに制御プログラム15を一巡実行する。ここで、コントローラ14に記憶されている制御プログラム15は、PC6に記憶されている制御プログラム10をコピーしたコピーデータであり、PC6から送信されたものである。
The
In the embodiment of the present invention, a PLC (Programmable Logic Controller) is used as an example of the
制御対象装置16は、サーボモータ、ステッピングモータなどのモータ18およびモータを駆動するモータドライバ17を含む。
The
モータ18はモータドライバ17から駆動電流を供給される。モータドライバ17は、制御プログラム15を実行するコントローラ14から制御周期ごとに位置の指令値を与えられ、それに応じた駆動電流をモータ18に供給する。モータ18がサーボモータである場合、モータ18にはエンコーダが備えられており、モータ18の回転位置の実測値がエンコーダによって検出される。モータの回転位置の実測値は、モータドライバ17がフィードバック制御に利用する。
The
なお、上記においては、CD−ROM12を介して、PC6にコントローラサポートプログラムをインストールする場合について説明したが、特にこれに限られず、サーバ2からネットワーク4を介してコントローラサポートプログラムをPC6にダウンロードするようにしても良い。制御プログラムについても同様である。
In the above description, the case where the controller support program is installed in the
図2は、本発明の実施の形態に従うPC6のハードウェア構成を説明する図である。
図2を参照して、本発明の実施の形態に従うPC6は、処理手段であるCPU901と、記憶手段であるROM902、RAM903、およびHDD904と、データ読取部であるCD−ROM駆動装置908と、通信手段である通信IF909と、表示手段であるモニタ907と、入力手段であるキーボード905およびマウス906とを含む。なお、これらの部位は、内部バス910を介して互いに接続される。
FIG. 2 is a diagram illustrating a hardware configuration of
Referring to FIG. 2,
HDD904は、典型的には不揮発性の磁気メモリであり、CD−ROM駆動装置908によりCD−ROM12から読取られたコントローラサポートプログラムを格納する。また、制御プログラム15も格納している。
The
CPU901は、HDD904に格納されている、本実施の形態に従うコントローラサポートプログラム8をRAM903などに展開して実行する。
The
RAM903は、揮発性メモリであり、ワークメモリとして使用される。ROM902は、一般的に、オペレーティングシステム(OS:Operating System)等のプログラムを格納している。
The
通信IF909は、典型的にはイーサネット(登録商標)およびUSB(Universal Serial Bus)といった汎用的な通信プロトコルをサポートし、ネットワーク4を介してサーバ2との間でデータ通信を提供するとともに、コントローラ14との間でデータ通信を提供する。
The communication IF 909 typically supports general-purpose communication protocols such as Ethernet (registered trademark) and USB (Universal Serial Bus), and provides data communication with the
モニタ907は、液晶表示装置、CRT(Cathode Ray Tube)、プラズマディスプレイ装置などで構成され、PC6による処理結果などを表示する。キーボード905は、ユーザによるキー入力を受付け、マウス906は、ユーザによるポインティング操作を受付ける。
The
図3は、CPU901がコントローラサポートプログラム8を実行することにより実現される機能ブロックを説明する図である。
FIG. 3 is a diagram for explaining functional blocks realized by the
図3を参照して、ここでは、ユーザインタフェース部802と、表示データ作成部804と、シミュレーション部806と、制御プログラム記憶部808と、制御プログラム編集部810と、コントローラインタフェース部812とが示されている。
Referring to FIG. 3, here, a
ユーザインタフェース部802は、PC6のモニタ907に表示するウインドウ画面の内容を作成し、また、キーボード905やマウス906によるユーザの操作を受け付ける部位である。
The
制御プログラム編集部810は、ユーザに制御プログラムの入力および編集を行わせる。制御プログラムを実行するためにコンパイルが必要である場合はコンパイルも行う。作成された制御プログラムは、コントローラインタフェース部812を介してコントローラ14に送られる。また、作成された制御プログラムは、HDD904の所定領域である制御プログラム記憶部808に格納される。また、制御プログラム編集部810は、コントローラインタフェース部812を介してコントローラ14に記憶されている制御プログラム15を読み出して編集することもできる。
The control
シミュレーション部806は、コントローラ14のシミュレータである。シミュレーション部806は、制御プログラム記憶部808に記憶された制御プログラム10に従ってコントローラ14が制御プログラム15を実行する動作をシミュレートし、コントローラ14が制御周期ごとに出力するはずの位置の指令値を算出する。
The
また、シミュレーション部806は、外部からの信号が到来して制御プログラムの動作に影響を与える状態をシミュレートしたり、制御プログラム15の実行自体によってコントローラ14のメモリの記憶内容などのコントローラ14の内部状態が変化して、その変化が制御プログラム15の動作に影響を与える状態をシミュレートしたりすることができる。
In addition, the
また、シミュレーション部806は、ユーザインタフェース部802を介してシミュレーション実行に関するユーザの指示を受け付ける。すなわち、ユーザインタフェース部802は、シミュレーション部806に対するユーザの指示を受け付ける手段としても働く。
In addition, the
表示データ作成部804は、シミュレーション部806によって作成された実行結果データの時間的な変化を表示するための表示データを作成する。表示データ作成部804は、作成した表示データをユーザインタフェース部802に送ることによりPC6のモニタ907に表示データをグラフや文字の態様で表示する。
The display
図4は、本発明の実施の形態に従うシミュレーション部806の機能を説明する詳細なブロック図である。
FIG. 4 is a detailed block diagram illustrating a function of
図4を参照して、本発明の実施の形態に従うシミュレーション部806は、シミュレーション制御部820と、デバッグ支援部822と、制御周期計数部824と、再開用データ記憶部826と、再開用データバッファ828と、実行結果データ記憶部830と、シーケンス制御シミュレーション部840と、モーション制御シミュレーション部850とを含む。ここで、再開用データ記憶部826、再開用データバッファ828、実行結果データ記憶部830は、それぞれRAM903あるいはHDD904の所定領域が用いられるものとする。
Referring to FIG. 4,
シミュレーション制御部820は、制御プログラム記憶部808から制御プログラム10を読み込み、制御プログラム10をシミュレーション実行および途中から再実行し、それに伴って、シーケンス制御シミュレーション部840、モーション制御シミュレーション部850、制御周期計数部824、再開用データバッファ828、再開用データ記憶部826および実行結果データ記憶部830の間のデータの流れを制御する。具体的なデータの流れについては後述する。
The simulation control unit 820 reads the
シーケンス制御シミュレーション部840は、制御プログラム10のシーケンス制御部分を実行する。
The sequence control simulation unit 840 executes the sequence control part of the
モーション制御シミュレーション部850は、制御プログラム10のモーション制御部分を実行する。
The motion control simulation unit 850 executes the motion control part of the
制御プログラム10のモーション制御部分は、制御周期ごとに、モータドライバ17に与える指令値を算出する部分である。モーション制御部分は、たとえば、ラダーチャートの中で用いられるモーションファンクションブロックの形式で記述される。以下、モーションファンクションブロックを単にFBと記載することがある。
The motion control part of the
制御プログラム10のシーケンス制御部分とは、制御プログラム10のモーション制御部分以外の部分を指すこととする。シーケンス制御部分は、ラダーチャートのリレーシーケンス部分のほか、数値演算用命令または数値演算用ファンクションブロックなども含むものとする。
The sequence control part of the
シーケンス制御シミュレーション部840は、シーケンス演算実行部844と、シーケンス変数記憶部846と、シーケンス演算制御部842とを含む。 The sequence control simulation unit 840 includes a sequence calculation execution unit 844, a sequence variable storage unit 846, and a sequence calculation control unit 842.
シーケンス演算制御部842は、シーケンス制御部分の実行を制御する。
シーケンス演算実行部844は、シーケンス演算制御部842の指示に従って制御プログラムのシーケンス制御部分をシミュレーション実行し、シーケンス制御部分に関する実行結果データを生成する。
The sequence calculation control unit 842 controls execution of the sequence control part.
The sequence calculation execution unit 844 executes simulation execution of the sequence control portion of the control program in accordance with an instruction from the sequence calculation control unit 842, and generates execution result data related to the sequence control portion.
シーケンス変数記憶部846は、シーケンス演算制御部842の指示に従ってシーケンス制御部分の実行に関係するシーケンス変数を記憶する。なお、シーケンス変数記憶部846は、RAM903あるいはHDD904の所定領域が用いられるものとする。
The sequence variable storage unit 846 stores sequence variables related to the execution of the sequence control part in accordance with instructions from the sequence calculation control unit 842. Note that the sequence variable storage unit 846 uses a predetermined area of the
モーション制御シミュレーション部850は、モーション演算実行部854と、モーション変数記憶部856と、モーション演算制御部852とを含む。 The motion control simulation unit 850 includes a motion calculation execution unit 854, a motion variable storage unit 856, and a motion calculation control unit 852.
モーション演算制御部852は、モーション制御部分の実行を制御する。
モーション演算実行部854は、モーション演算制御部852の指示に従って制御プログラムのモーション制御部分をシミュレーション実行し、モーション制御部分に関する実行結果データを生成する。
The motion calculation control unit 852 controls execution of the motion control part.
The motion calculation execution unit 854 executes a simulation of the motion control portion of the control program in accordance with an instruction from the motion calculation control unit 852, and generates execution result data related to the motion control portion.
モーション変数記憶部856は、モーション演算制御部852の指示に従ってモーション制御部分の実行に関係するモーション変数を記憶する。なお、モーション変数記憶部856は、RAM903あるいはHDD904の所定領域が用いられるものとする。
The motion variable storage unit 856 stores motion variables related to the execution of the motion control part in accordance with instructions from the motion calculation control unit 852. Note that the motion variable storage unit 856 uses a predetermined area of the
制御周期計数部824は、制御周期の実行回数を計数する。
再開用データバッファ828は、再開用データ記憶部826に保存される種類のデータを毎制御周期ごとに一時保存する。
The control cycle counting unit 824 counts the number of executions of the control cycle.
The resumption data buffer 828 temporarily saves the type of data saved in the resumption data storage unit 826 every control cycle.
再開用データ記憶部826は、少なくとも一度シミュレーションが実行された後にシミュレーションの途中から再実行を開始するために必要な再開用データを保存する。保存するデータは、再開用データバッファ828に一時保存されていたデータである。再開用データは、次の3種類のデータを含む。 The restart data storage unit 826 stores restart data necessary for starting re-execution from the middle of the simulation after the simulation is executed at least once. The data to be stored is data temporarily stored in the resumption data buffer 828. The restart data includes the following three types of data.
第1は、シミュレーションの再実行を開始することができる再開可能制御周期に対応する制御周期の実行回数のデータである。 The first is data on the number of executions of the control cycle corresponding to the resumable control cycle that can start re-execution of the simulation.
第2は、シーケンス変数記憶部846に記憶されているデータのうち再開可能制御周期からシミュレーションの再実行を開始するのに用いられるシーケンス変数データである。 The second is sequence variable data used to start re-execution of the simulation from the resumable control cycle among the data stored in the sequence variable storage unit 846.
第3は、モーション変数記憶部856に記憶されているデータのうち再開可能制御周期からシミュレーションの再実行を開始するのに用いられるモーション変数データである。 The third is motion variable data used to start re-execution of the simulation from the resumable control period among the data stored in the motion variable storage unit 856.
実行結果データ記憶部830は、表示に用いる実行結果データを記憶する。
デバッグ支援部822は、制御プログラムの途中でシミュレーションを一時停止する箇所であるブレークポイントの設定や、制御プログラムを1ステップ実行するごとに一時停止するステップ実行の設定などの、デバッグの際に用いる機能を提供する。デバッグ支援部822は、ユーザインタフェース部802を介して、シミュレーションの実行および途中からの再実行やその他のデバッグ機能に関するユーザの指示を受け付け、シミュレーション制御部820にユーザの指示に基づく動作を行わせる。
The execution result data storage unit 830 stores execution result data used for display.
The debug support unit 822 uses functions for debugging, such as setting a breakpoint where the simulation is paused in the middle of the control program, and setting step execution for pausing each time the control program is executed one step. I will provide a. The debug support unit 822 receives a user instruction regarding execution of simulation, re-execution from the middle, and other debugging functions via the
シミュレーション部806は、シミュレーション部806を構成する各部が協調して働くことにより、再実行を開始する制御周期を特定するための指定をユーザインタフェース部802を介して取得し、この指定を用いて再実行を開始する制御周期を特定し、特定した制御周期に対応する再開用データを用いて、特定した制御周期からシミュレーションの再実行を開始する。
The
図5は、本発明の実施の形態に従う制御プログラムのデバッグ作業を説明するフロー図である。 FIG. 5 is a flowchart illustrating debugging of the control program according to the embodiment of the present invention.
図5を参照して、まず、制御プログラムを作成する(ステップS0)。そして、次に、制御プログラムをシミュレーション実行する(ステップS2)。そして、次に、想定どおりの結果が取得できたかどうかを判断する(ステップS4)。ステップS4において、想定でおりの結果が取得できたと判断した場合には、ステップS6に進み、実機であるコントローラ14で動作確認し、必要に応じてコントローラサポートプログラム8に従ってPC6において制御プログラムを修正する。そして、処理を終了する。
Referring to FIG. 5, first, a control program is created (step S0). Then, the control program is simulated (step S2). Next, it is determined whether the expected result has been acquired (step S4). If it is determined in step S4 that the expected result has been obtained, the process proceeds to step S6, the operation is confirmed by the
一方、ステップS4において、想定どおりの結果が取得できなかったと判断した場合(ステップS4においてNO)には、制御プログラムを修正する(ステップS8)。そして、再び、ステップS2に戻り、修正した制御プログラムに基づいてシミュレーション実行する。以降の処理については、上述したのと同様であるのでその詳細な説明は繰り返さない。なお、想定どおりの結果が取得された制御プログラムは、制御プログラム記憶部808に記憶されるものとする。
On the other hand, if it is determined in step S4 that the expected result cannot be obtained (NO in step S4), the control program is modified (step S8). Then, the process returns to step S2 again, and simulation is executed based on the corrected control program. Since the subsequent processing is the same as described above, detailed description thereof will not be repeated. Note that the control program for which the expected result is acquired is stored in the control
図6は、本発明の実施の形態に従うコントローラサポートプログラム8の実行を説明するフロー図である。
FIG. 6 is a flowchart illustrating execution of
図6を参照して、まず、制御プログラム10を準備する(ステップS10)。制御プログラム10の準備は、種々の方式があり、たとえば、図5で説明したように新規入力により作成され、制御プログラム記憶部808に記憶された制御プログラムを用いることが可能である。あるいは、記憶媒体(CD−ROM12)またはネットワーク4を介してサーバ2から当該制御プログラムを読み込むことも可能である。あるいは、実機であるコントローラ14から読み込むようにしても良い。
Referring to FIG. 6, first,
そして、次に、シミュレーション部806は、ユーザの指示により制御プログラム10をシミュレーション実行し、実行結果データを生成する(ステップS14)。
Next, the
そして、表示データ作成部804は、実行結果データの時間的な変化を表示するための表示データを作成する(ステップS16)。
Then, the display
次に、ユーザインタフェース部802は、表示データをモニタ907に表示する(ステップS18)。
Next, the
そして、次に、制御プログラム編集部810は、修正開始の指示が有ったかどうかを判断する(ステップS20)。具体的には、制御プログラム編集部810は、ユーザインタフェース部802を介してユーザから修正開始の指示があったかどうかを判断する。
Next, the control
ステップS20において、制御プログラム編集部810は、ユーザインタフェース部802を介してユーザから修正開始の指示が有ったと判断した場合(ステップS20においてYES)には、ユーザの指示により制御プログラムを修正する(ステップS22)。そして、再び、ステップS12に戻り、ユーザの指示により制御プログラムをシミュレーション実行する(ステップS12)。以降の処理は同様である。
In step S20, when the control
一方、ステップS20において、制御プログラム編集部810は、修正開始の指示が無かったと判断した場合(ステップS20においてNO)には、ユーザの指示により実機であるコントローラ14に制御プログラムを送信する(ステップS24)。そして、処理を終了する。
On the other hand, if the control
次に、図6のステップS12におけるユーザの指示により制御プログラムをシミュレーション実行する処理と、ステップS14における実行結果データを生成する処理の具体的な内容について説明する。 Next, the specific contents of the process of executing the simulation of the control program according to the user instruction in step S12 of FIG. 6 and the process of generating the execution result data in step S14 will be described.
図7は、本発明の実施の形態に従うシミュレーション部806におけるシミュレーション実行を説明するフロー図である。
FIG. 7 is a flowchart illustrating simulation execution in
図7を参照して、まず、シミュレーション制御部820は、初期化処理または再開初期処理を実行する(ステップS30)。ここで、「初期化処理」とは、制御プログラムを最初の制御周期から実行する場合に、変数の値を初期化するなどの処理を意味する。また、「再開初期処理」とは、制御プログラムを途中の制御周期から再実行する場合に、再開用データ記憶部826から再開用データを読み込み、それを用いてシミュレーションの再実行を開始する準備を行う処理を意味する。 With reference to FIG. 7, first, the simulation control unit 820 executes an initialization process or a restart initial process (step S30). Here, the “initialization process” means a process of initializing the value of a variable when the control program is executed from the first control cycle. “Restart initial processing” refers to preparation for starting re-execution of a simulation by reading resumption data from the resumption data storage unit 826 when the control program is re-executed from an intermediate control cycle. Means processing to be performed.
次に、シミュレーション制御部820は、I/Oリフレッシュ処理のシミュレーションを実行する(ステップS32)。「I/Oリフレッシュ処理」は、出力処理と入力処理とからなる。 Next, the simulation control unit 820 executes a simulation of the I / O refresh process (step S32). The “I / O refresh process” includes an output process and an input process.
出力処理は、前の周期における実行結果データを出力する処理である。
出力処理は、制御プログラムのシーケンス制御部分の実行結果である出力変数データを出力する処理と、制御プログラムのモーション制御部分の実行結果である指令値を出力する処理とを含む。
The output process is a process for outputting execution result data in the previous cycle.
The output process includes a process of outputting output variable data that is an execution result of the sequence control part of the control program, and a process of outputting a command value that is an execution result of the motion control part of the control program.
実際のコントローラ14では、出力変数データはI/Oユニットを経由して制御対象装置16に送られ、そのアクチュエータの駆動などに使用される。また、指令値はモータドライバ17に送られ、制御対象装置16のモータ18の制御に使用される。しかし、シミュレーション実行の場合は実行結果データが制御対象装置16に実際に送られることはなく、実行結果データの一部が実行結果データ記憶部830に記憶される。
In the
入力処理は、シーケンス制御部分が使用する入力変数データ、モーション制御部分が使用する位置データなどを取り込む処理である。シミュレーション実行の場合、入力変数データは、ユーザが手動で与えたり、制御対象装置の動作を模倣するデバッグ用のプログラムが与えたりする。位置データは、前の周期における位置の指令値をそのまま採用することができる。 The input processing is processing for taking in input variable data used by the sequence control portion, position data used by the motion control portion, and the like. In the case of simulation execution, the input variable data is manually given by the user or a debugging program that imitates the operation of the control target device. As the position data, the command value of the position in the previous cycle can be adopted as it is.
そして、次に、シーケンス制御シミュレーション部840は、制御プログラムのシーケンス制御部分を1周期分シミュレーション実行し、シーケンス制御部分に関する実行結果を生成する(ステップS36)。 Next, the sequence control simulation unit 840 executes simulation for the sequence control portion of the control program for one period, and generates an execution result related to the sequence control portion (step S36).
次に、モーション制御シミュレーション部850は、モーション制御部分を1周期分シミュレーション実行し、モーション制御部分に関する実行結果を生成する(ステップS38)。 Next, the motion control simulation unit 850 executes a simulation of the motion control part for one cycle, and generates an execution result related to the motion control part (step S38).
そして、次に、シミュレーション制御部820は、制御周期番号をインクリメント更新する(ステップS40)。 Next, the simulation control unit 820 incrementally updates the control cycle number (step S40).
そして、シミュレーション制御部820は、実行中の制御周期が再開可能制御周期かどうかを判断する(ステップS42)。すなわち、実行中の制御周期が、後述する「FBのActive ON」、「FBのBusy ON」、「一定間隔」などの指定された再開可能制御周期の条件に合致している場合には、実行中の制御周期は再開可能制御周期であると判断する。この判断により一連の制御周期の中から再開可能制御周期が特定される。なお、再開可能制御周期の条件が「一定間隔」である場合には、あらかじめ再開可能制御周期である制御周期のリストを用意することによって再開可能制御周期を特定することもできる。この場合には、当該リストと照合することによって、実行中の制御周期が再開可能制御周期かどうかを判断することができる。 Then, the simulation control unit 820 determines whether the control cycle being executed is a resumable control cycle (step S42). In other words, if the control cycle being executed matches the specified resumable control cycle conditions such as “FB Active ON”, “FB Busy ON”, and “Fixed Interval”, which will be described later, The inside control cycle is determined to be a resumable control cycle. By this determination, a resumable control cycle is specified from a series of control cycles. When the resumable control cycle condition is “fixed interval”, the resumable control cycle can be specified by preparing a list of control cycles that are resumable control cycles in advance. In this case, it is possible to determine whether or not the control cycle being executed is a resumable control cycle by checking the list.
ステップS42において、シミュレーション制御部820は、再開可能制御周期であると判断した場合には(ステップS42においてYES)前の制御周期で更新された再開用データバッファ828の内容を再開用データ記憶部826に保存する(ステップS44)。 In step S42, when the simulation control unit 820 determines that it is a resumable control cycle (YES in step S42), the content of the restart data buffer 828 updated in the previous control cycle is used as the restart data storage unit 826. (Step S44).
そして、ステップS46に進む。
一方、ステップS42において、シミュレーション制御部820は、再開可能制御周期でないと判断した場合(ステップS42においてNO)には、シーケンス制御シミュレーション部840およびモーション制御シミュレーション部850において生成された実行結果に基づいて再開用データバッファ828の内容を更新する(ステップS46)。
Then, the process proceeds to step S46.
On the other hand, when the simulation control unit 820 determines in step S42 that the control period is not resumable (NO in step S42), based on the execution results generated in the sequence control simulation unit 840 and the motion control simulation unit 850. The contents of the restart data buffer 828 are updated (step S46).
そして、次に、シミュレーション制御部820は、シミュレーション実行が終了したかどうかを判断する(ステップS48)。 Next, the simulation control unit 820 determines whether or not the simulation execution is completed (step S48).
ステップS48において、シミュレーション制御部820は、シミュレーション実行が終了したと判断した場合には処理を終了する。 In step S48, the simulation control unit 820 ends the process when determining that the simulation execution has ended.
一方、ステップS48において、シミュレーション制御部820は、シミュレーション実行が終了していないと判断した場合(ステップS48においてNO)には、ステップS32に戻り、インクリメント更新した次の制御周期番号に従ってステップS32におけるI/Oリフレッシュのシミュレーションを実行する。そしてシミュレーション実行が終了するまで上記した処理を繰り返す。 On the other hand, when the simulation control unit 820 determines in step S48 that the simulation execution has not ended (NO in step S48), the process returns to step S32, and the I in step S32 is performed according to the next control cycle number that has been incremented. / O Refresh simulation is executed. The above processing is repeated until the simulation execution is completed.
本実施の形態に従うコントローラサポートプログラムにおいては、図6に示されるように、制御プログラム編集部810は、シミュレーション部806においてシミュレーション実行されたことがある制御プログラムを修正するユーザの操作を受け付け可能にされている。
In the controller support program according to the present embodiment, as shown in FIG. 6, control
また、図7に示されるように、シミュレーション部806は、制御プログラム編集部810により修正された制御プログラムについて、当該制御プログラムが修正される前に保存した再開用データを用いてシミュレーションの再実行を開始するユーザの操作を受け付け可能にされている。
Further, as shown in FIG. 7, the
したがって、修正によって実行結果が影響を受ける制御プログラムの部分が実行される制御周期より前の制御周期をユーザが指定してシミュレーションの再実行を開始すれば、修正の影響が及ぶ制御プログラムの部分の動作を迅速に確認することができる。 Therefore, if the user specifies a control cycle before the control cycle in which the portion of the control program whose execution results are affected by the modification is executed and the simulation is re-executed, the portion of the control program that is affected by the modification The operation can be confirmed quickly.
図8は、制御周期内の処理を時系列的に配列した場合を説明する図である。
図8(A)を参照して、再開可能制御周期でない場合、I/Oリフレッシュ処理、シーケンス制御部分の実行、モーション制御部分の実行、制御周期番号更新の各処理を実行する。そしてその後、更新した制御周期番号とその制御周期で生成した実行結果データで再開用データバッファを上書き更新(再開用データバッファ更新)する。
FIG. 8 is a diagram illustrating a case where the processes within the control cycle are arranged in time series.
Referring to FIG. 8A, when it is not the resumable control cycle, I / O refresh processing, sequence control portion execution, motion control portion execution, and control cycle number update processing are executed. Thereafter, the restart data buffer is overwritten and updated (update data buffer for restart) with the updated control cycle number and the execution result data generated in the control cycle.
図8(B)を参照して、再開可能制御周期である場合、I/Oリフレッシュ処理、シーケンス制御部分の実行、モーション制御部分の実行、制御周期番号更新の各処理を実行する。そしてその後、再開用データバッファ828に格納されている前の制御周期で更新した制御周期番号と前の制御周期で生成された実行結果データを再開用データ記憶部826に保存(再開用データ保存)する。その後、その制御周期で更新した制御周期番号とその制御周期で生成した実行結果データで再開用データバッファ828を上書き更新(再開用データバッファ更新)する。 Referring to FIG. 8B, when it is a resumable control cycle, each process of I / O refresh processing, execution of the sequence control portion, execution of the motion control portion, and update of the control cycle number is executed. After that, the control cycle number updated in the previous control cycle stored in the restart data buffer 828 and the execution result data generated in the previous control cycle are stored in the restart data storage unit 826 (restore data for restart). To do. Thereafter, the resumption data buffer 828 is overwritten and updated (resumption data buffer update) with the control cycle number updated in the control cycle and the execution result data generated in the control cycle.
ここで、制御周期番号更新処理、再開用データバッファ更新処理および再開用データ保存処理は、実機であるコントローラ14では実行されないシミュレーション特有の処理である。
Here, the control cycle number update process, the restart data buffer update process, and the restart data storage process are simulation-specific processes that are not executed by the
各制御周期が占める時間は、実機であるコントローラ14では一定であるが、シミュレーション実行においても、制御周期はタイマ割り込みで開始することにより一定時間になるようにしている。
The time that each control cycle occupies is constant in the
制御周期内の必要な処理を完了した後の時間はアイドリング時間である。このようにすると、シミュレーション実行の所要時間から実機であるコントローラ14における実行時間を予測する精度が高まる。その必要がなければ、制御周期内の必要な処理を完了した後、ただちに次の制御周期の処理を開始するようにしてもよい。
The time after completing the necessary processing in the control cycle is the idling time. In this way, the accuracy of predicting the execution time in the
図9は、本発明の実施の形態に従う指令値が算出されている制御周期に関するシミュレーション部806におけるデータの流れを説明する図である。
FIG. 9 is a diagram illustrating a data flow in
図9を参照して、制御周期計数部824は、現在の「制御周期番号」をカウントする。「制御周期番号」とは、制御プログラムの実行開始からの制御周期の通算実行回数である。 Referring to FIG. 9, control cycle counting unit 824 counts the current “control cycle number”. The “control cycle number” is the total number of executions of the control cycle from the start of execution of the control program.
ここで、「現在」として示されているのは、実行中の制御周期におけるデータであることを意味する。以下においても同様である。制御周期ごとに変化しうるデータであることが前提である。 Here, “present” indicates that the data is in the control cycle being executed. The same applies to the following. It is a premise that the data can change every control cycle.
また、シーケンス変数記憶部846は、シーケンス変数を記憶する。「シーケンス変数」とは、制御プログラムのシーケンス制御部分の実行に関係するデータである。シーケンス制御部分の実行のために読み込まれるデータと実行の結果書き出されるデータの両方を含む。具体的には、現在の「I/Oデータ」と、「内部変数データ」とを記憶する。 The sequence variable storage unit 846 stores sequence variables. The “sequence variable” is data related to the execution of the sequence control portion of the control program. Includes both data read for execution of the sequence control portion and data written as a result of execution. Specifically, the current “I / O data” and “internal variable data” are stored.
「I/Oデータ」とは、シーケンス制御部分の実行に関係する変数データであって、I/Oリフレッシュ処理の対象となるデータである。すなわち、入力変数データおよび出力変数データである。 The “I / O data” is variable data related to the execution of the sequence control part, and is data to be subjected to I / O refresh processing. That is, input variable data and output variable data.
「内部変数データ」とは、シーケンス制御部分の実行に関係する変数データであるが、プログラム内部での使用に限られ、I/Oリフレッシュ処理の対象とならないデータである。 “Internal variable data” is variable data related to the execution of the sequence control part, but is limited to use within the program and is not subject to I / O refresh processing.
また、モーション変数記憶部856は、モーション変数を記憶する。「モーション変数」とは、制御プログラムのモーション制御部分の実行に関係するデータである。モーション制御部分の実行のために読み込まれるデータと実行の結果書き出されるデータの両方を含む。具体的には、モーション変数として、現在の「FB設定パラメータ」と、「指令値」と、「軸の位置」と、「ActiveなFBのID」と、「BusyなFBのID」とを記憶する。 The motion variable storage unit 856 stores motion variables. “Motion variable” is data related to the execution of the motion control portion of the control program. Includes both data read for execution of the motion control portion and data written as a result of execution. Specifically, the current “FB setting parameter”, “command value”, “axis position”, “Active FB ID”, and “Busy FB ID” are stored as motion variables. To do.
本実施形態では、モーション制御部分はモーションファンクションブロック(FB)として記述されているものとする。「FB設定パラメータ」とは、FBの動作の仕方を指定するパラメータである。FB設定パラメータは、プログラミング段階で与えられている定数値およびプログラムの実行によって値が決定される変数値でありうる。FB設定パラメータは、FBの入力値を用いてFB内で算出される2次的なパラメータを含む場合がある。たとえば、加速時間は、FBの入力値である速度と加速度から算出されて加速中の複数の制御周期において参照されるが、FBの実行を開始した制御周期において加速時間を算出してモーション変数記憶部に格納しておけば、制御周期ごとに同じ計算を行う必要がない。 In the present embodiment, it is assumed that the motion control portion is described as a motion function block (FB). The “FB setting parameter” is a parameter that specifies how the FB operates. The FB setting parameter may be a constant value given in the programming stage and a variable value whose value is determined by execution of the program. The FB setting parameter may include a secondary parameter calculated in the FB using the input value of the FB. For example, the acceleration time is calculated from the speed and acceleration, which are input values of the FB, and is referred to in a plurality of control cycles during acceleration. The acceleration time is calculated in the control cycle in which the execution of the FB is started, and the motion variable is stored. If stored in the unit, it is not necessary to perform the same calculation every control cycle.
なお、FB設定パラメータがFBの入力値である定数およびシーケンス変数のみで構成されている場合であって、モーション演算実行部854がシーケンス変数記憶部846にアクセスできるように構成した場合には、プログラム自体が与える定数およびシーケンス変数記憶部846に格納されたシーケンス変数によりFB設定パラメータが決定されるので、FB設定パラメータのモーション変数記憶部856への格納は必須ではない。 In the case where the FB setting parameter is composed only of constants and sequence variables that are input values of the FB, and the motion calculation execution unit 854 is configured to be able to access the sequence variable storage unit 846, the program Since the FB setting parameter is determined by the constant given by itself and the sequence variable stored in the sequence variable storage unit 846, the storage of the FB setting parameter in the motion variable storage unit 856 is not essential.
「指令値」とは、モーション制御部分が制御周期ごとに出力するデータである。本実施形態では少なくとも位置の指令値を含む。ほかに、速度の指令値、トルクの指令値などがありうる。 The “command value” is data that the motion control part outputs for each control cycle. In this embodiment, at least the position command value is included. In addition, there may be a speed command value, a torque command value, and the like.
「軸の位置」とは、モータ18の回転位置またはモータ18によって駆動される制御対象装置の特定部位の位置である。実際の制御対象装置の軸の位置はロータリエンコーダなどで計測される。シミュレーションでは、モーション変数記憶部856の中に仮想的な軸を用意し、指令値を仮想的な軸の記憶領域に書き込んでその記憶内容を軸の位置とし、その値を新しい指令値で更新していく。ある軸についてモーション制御部分が制御周期ごとに指令値を出力している期間においては、軸の位置は1つ前の制御周期で算出された位置の指令値となっている。モーション制御部分が制御周期ごとに指令値を出力していない期間は、軸の位置は更新されず、同じ値が保持されている。
The “axis position” is the rotational position of the
軸の位置としては、指令値をそのまま採用するのでなく、指令値の履歴から制御対象装置の可動部のモーメント、質量、摩擦などの物理特性を考慮して算出した予測位置を採用してもよい。 As the axis position, the command value is not used as it is, but a predicted position calculated from the command value history in consideration of physical characteristics such as moment, mass, friction and the like of the movable part of the control target device may be used. .
「Active」とは、制御周期ごとに指令値を算出しているFBの状態である。活性状態ともいう。 “Active” is a state of the FB for which a command value is calculated for each control cycle. Also called active state.
「Busy」とは、FBが実行中の状態である。Busy状態のFBは、Activeである場合とActiveでない場合がある。後述するが、FBがExecute ONの入力を与えられるとBusyとなる。通常はBusyであればActiveであるが、後述するBufferedモードまたはBlendingモードにより複数のFBが連結されている場合には、連結された先頭以外のFBにおいて、BusyであるがActiveでない状態が出現する。 “Busy” is a state in which the FB is being executed. The FB in the Busy state may be active or not active. As will be described later, when the FB is given an Execute ON input, it becomes Busy. Normally, it is active if it is Busy. However, when a plurality of FBs are connected in the Buffered mode or Blending mode, which will be described later, a state that is Busy but not Active appears in the FB other than the connected head. .
「FBのID」とは、1つの制御プログラムにおいて使用されているFBを個別に特定する情報である。たとえばプログラミングの際に与えられたFBの名称である。 “FB ID” is information for individually identifying the FB used in one control program. For example, it is the name of the FB given at the time of programming.
制御周期が開始されると、シミュレーション制御部820は、1周期分、シーケンス制御シミュレーション部840およびモーション制御シミュレーション部850にシミュレーション実行させる。制御周期計数部824は、「現在制御周期番号」をインクリメント更新する。そして、上述したようにシミュレーション制御部820は、再開可能制御周期であるかどうかを判断し、再開可能制御周期でないと判断した場合には、制御周期計数部824から「現在制御周期番号」を、シーケンス変数記憶部846から「現在I/Oデータ」、「現在内部変数データ」を、モーション変数記憶部856から「現在FB設定パラメータ」、「現在指令値」、「軸の現在位置」、「現在ActiveなFBのID」、「現在BusyなFBのID」を再開用データバッファ828に上書き保存する。 When the control cycle is started, the simulation control unit 820 causes the sequence control simulation unit 840 and the motion control simulation unit 850 to perform simulation for one cycle. The control cycle counting unit 824 increments and updates the “current control cycle number”. Then, as described above, the simulation control unit 820 determines whether or not it is a resumable control cycle, and when it is determined that it is not a resumable control cycle, the “current control cycle number” is obtained from the control cycle counting unit 824. “Current I / O data” and “current internal variable data” from the sequence variable storage unit 846, “Current FB setting parameter”, “Current command value”, “Current position of axis”, “Current” from the motion variable storage unit 856 “Active FB ID” and “Current Busy FB ID” are overwritten and saved in the restart data buffer 828.
一方、シミュレーション制御部820が再開可能制御周期であると判断した場合には、まず、再開用データバッファ828の内容を再開用データ記憶部826に追記し、その後、再開可能制御周期でないと判断した場合と同様に再開用データバッファ828を上書きする。 On the other hand, when the simulation control unit 820 determines that it is a resumable control cycle, first, the contents of the resuming data buffer 828 are added to the resuming data storage unit 826 and then it is determined that it is not a resumable control cycle. As in the case, the resumption data buffer 828 is overwritten.
再開用データ記憶部826に保存する制御周期番号は、本実施形態では再実行を開始することができる再開可能制御周期の1つ前の周期の制御周期番号であるが、制御周期番号を再開用データバッファ828から転送するのではなく、再開可能制御周期の制御周期番号自体を再開用データとして保存するようにしてもよい。その場合は、シミュレーションを再実行するときに、再開用データに含まれている制御周期番号は、制御周期番号以外の再開用データが生成された制御周期の次の制御周期を示していることを前提として再実行を開始する準備の処理を行う。また、たとえば、一定のオフセット値を加算した制御周期番号を再開用データとして保存し、再開時には同じオフセット値を減算するというような約束があれば、上記以外の制御周期番号を保存するようにすることもできる。すなわち、保存するのは、再開可能制御周期に対応させることができる制御周期番号である。 In this embodiment, the control cycle number stored in the restart data storage unit 826 is the control cycle number of the cycle immediately before the resumable control cycle that can start re-execution. Instead of transferring from the data buffer 828, the control cycle number itself of the resumable control cycle may be stored as the restart data. In that case, when the simulation is re-executed, the control cycle number included in the restart data indicates that the control cycle next to the control cycle in which the restart data other than the control cycle number is generated is displayed. As a premise, a preparation process for starting re-execution is performed. In addition, for example, if a control cycle number to which a certain offset value is added is stored as restart data and the same offset value is subtracted at the time of restart, control cycle numbers other than those described above are stored. You can also. That is, what is saved is a control cycle number that can be associated with a resumable control cycle.
再開用データ記憶部826には、再開可能制御周期から再実行を開始するのに用いられる再開用データを再開用データバッファから読み出して追記する。このことは、再開可能制御周期において生成された再開用データを記憶するということと同じ意味ではない。図8の場合には、再開可能制御周期の1つ前の制御周期において生成された再開用データを記憶している。再開用データバッファ828を複数周期分のリングバッファとして構成すれば、数周期前の制御周期において生成された再開用データを再開用データ記憶部826に記憶することもできる。この場合、再実行時には、再開用データが生成された制御周期の次の制御周期から数周期分準備的な実行をすることにより、ユーザの指定を用いて特定された制御周期から再実行を開始することができる状態となる。 In the resuming data storage unit 826, the resuming data used to start re-execution from the resumable control cycle is read from the resuming data buffer and appended. This is not the same meaning as storing the data for resumption generated in the resumable control cycle. In the case of FIG. 8, resumption data generated in the control cycle immediately before the resumable control cycle is stored. If the restart data buffer 828 is configured as a ring buffer for a plurality of cycles, the restart data generated in the control cycle several cycles before can be stored in the restart data storage unit 826. In this case, at the time of re-execution, re-execution is started from the control cycle specified by the user's specification by performing preparatory execution for several cycles from the control cycle next to the control cycle in which the data for resumption is generated It becomes a state that can be done.
再開用データ記憶部826に指令値と軸の位置の両方を記憶しておくと、軸の位置が前の周期の指令値である場合には、指令値と軸の位置との差から速度を求めることができる。 If both the command value and the axis position are stored in the restart data storage unit 826, if the axis position is the command value of the previous cycle, the speed is calculated from the difference between the command value and the axis position. Can be sought.
再開用データ記憶部826に、指令値に代えて、再開用データが生成された制御周期の1つ前の周期で更新された軸の位置、すなわち2つ前の周期において出力された指令値を反映した軸の位置を記憶するようにしてもよい。そうすると、2つの「軸の位置」の差から速度を求めることができる。軸の位置を、制御対象装置の物理特性を考慮した予測位置として算出している場合には、それに対応する予測速度を求めることができる。 Instead of the command value, the position of the axis updated in the previous cycle of the control cycle in which the restart data was generated, that is, the command value output in the previous two cycles, is stored in the restart data storage unit 826. You may make it memorize | store the position of the reflected axis | shaft. Then, the speed can be obtained from the difference between the two “axis positions”. When the position of the axis is calculated as a predicted position in consideration of physical characteristics of the control target device, a predicted speed corresponding to the calculated position can be obtained.
以上のように2つの位置の値から再開時に速度を求める代わりに、あらかじめ算出した速度値を再開用データ記憶部826に記憶するようにしてもよい。 As described above, instead of obtaining the speed at the time of restart from the values of the two positions, the speed value calculated in advance may be stored in the restart data storage unit 826.
再開用データ記憶部826にすべての制御周期の再開用データを保存するようにしてもよい。そうすると、どの制御周期からでもシミュレーションの再実行を開始することができる。 You may make it preserve | save the data for restart of all the control periods in the data storage part 826 for restart. Then, re-execution of the simulation can be started from any control cycle.
再開用データ記憶部826にすべての制御周期の再開用データをいったん保存した後、再開可能制御周期を任意の数だけ設定し、その後再開可能制御周期の設定対象とならなかった制御周期に対応する再開用データを削除するようにしてもよい。 After resuming data for all control periods once in the resuming data storage unit 826, an arbitrary number of resumable control periods are set, and then a control period that has not been set as a resumable control period is handled. The restart data may be deleted.
シミュレーション制御部820は、毎制御周期における図7のI/Oリフレッシュ処理のシミュレーション実行のタイミング(ステップS32)で、図9に(1)、(2)、(3)で示したとおり、制御周期計数部824から「現在制御周期番号」を、シーケンス変数記憶部846から「現在I/Oデータ」を、モーション変数記憶部856から「現在指令値」、「軸の現在位置」を実行結果データ記憶部830に追記するとともに、「軸の移動中実行フラグ」を生成して実行結果データ記憶部830に追記する。「軸の移動実行中フラグ」は、その軸を制御するいずれかのFBがActiveであることを示すフラグである。なお、I/Oデータは、すべての種類のI/Oデータを記憶してもよいが、タイムチャートのグラフ表示をすることを予定しているI/Oデータをユーザが指定し、それに限って記憶することにすれば記憶容量を節約できる。指令値と軸の位置は、どちらか一方だけを実行結果データ記憶部に記憶させるようにしてもよい。両方を記憶しておくと、軸の位置が制御対象装置の物理特性を考慮して算出した予測位置である場合に、指令値と予測位置との差異を確認することができる。 The simulation control unit 820 performs the control cycle as shown in (1), (2), and (3) in FIG. 9 at the simulation execution timing (step S32) of the I / O refresh process of FIG. 7 in each control cycle. “Current control cycle number” is stored from the counting unit 824, “Current I / O data” is stored from the sequence variable storage unit 846, “Current command value” and “Current position of axis” are stored from the motion variable storage unit 856 as execution result data In addition to adding to the section 830, an “execution flag during movement of axis” is generated and added to the execution result data storage section 830. The “axis movement execution flag” is a flag indicating that any FB that controls the axis is active. Although all types of I / O data may be stored as I / O data, the user designates I / O data that is scheduled to be displayed in a time chart and is limited to that. By storing it, the storage capacity can be saved. Only one of the command value and the axis position may be stored in the execution result data storage unit. If both are stored, the difference between the command value and the predicted position can be confirmed when the position of the axis is the predicted position calculated in consideration of the physical characteristics of the control target device.
実行結果データ記憶部830に記憶された実行結果データから速度を得たい場合は、前の周期(制御周期番号#N−1)の軸の位置と本周期(制御周期番号#N)の軸の位置との差から速度を求めることができる。 To obtain the speed from the execution result data stored in the execution result data storage unit 830, the position of the axis of the previous cycle (control cycle number # N-1) and the axis of the current cycle (control cycle number #N) The speed can be obtained from the difference from the position.
軸の位置が前の周期の指令値である場合には、同じ制御周期における指令値と軸の位置との差から速度を求めることができる。 When the axis position is the command value of the previous cycle, the speed can be obtained from the difference between the command value and the shaft position in the same control cycle.
以上のように実行結果データを表示するときに2つの位置の値から速度を求める代わりに、あらかじめ算出した速度値を実行結果データ記憶部830に記憶するようにしてもよい。 As described above, instead of obtaining the speed from the values of the two positions when displaying the execution result data, the speed value calculated in advance may be stored in the execution result data storage unit 830.
制御対象の軸が複数ある場合には、指令値、軸の位置、軸の移動実行中フラグは、それらが記憶される各記憶部において、軸ごとに記憶される。 When there are a plurality of axes to be controlled, the command value, the axis position, and the axis movement execution flag are stored for each axis in each storage unit in which they are stored.
FB設定パラメータ、FBのIDは、対象となるFBが複数ある場合には、FBごとに記憶される。 The FB setting parameter and the FB ID are stored for each FB when there are a plurality of target FBs.
図9においては、いずれかのFBがActive、すなわちいずれかのFBが指令値を算出している期間中の制御周期であるか、シーケンス制御部分のみが実行されている期間の制御周期であるかにかかわらず、どの制御周期も再開可能制御周期とすることができる。 In FIG. 9, whether any FB is Active, that is, a control cycle during a period during which any FB is calculating a command value, or a control cycle during which only the sequence control portion is executed Regardless, any control cycle can be a resumable control cycle.
図10は、本発明の実施の形態に従う指令値が算出されていない制御周期に関するシミュレーション部806におけるデータの流れについて説明する図である。
FIG. 10 is a diagram illustrating a data flow in
図10を参照して、いずれのFBもActiveでない期間におけるデータの流れを示す。この期間中は、FBの状態に関するデータ(FB設定パラメータ、指令値、ActiveなFBのID、BusyなFBのID)が有効に存在しないので、FBの状態に関するデータは再開用データおよび実行結果データとして記憶されない。軸の位置はFBがActiveでない期間にも有効に存在するので記憶される。 With reference to FIG. 10, the flow of data during a period in which none of the FBs is active is shown. During this period, data related to the FB status (FB setting parameter, command value, Active FB ID, Busy FB ID) does not exist effectively, so the data related to the FB status is the restart data and execution result data. Not remembered as The position of the axis is memorized because it exists effectively even during the period when FB is not active.
本例においては、記憶されないデータの領域を詰めた態様で表示しているが、データ領域自体は確保したままでもかまわない。 In this example, the data area that is not stored is displayed in a packed form, but the data area itself may be secured.
再開可能制御周期を設定できる期間をいずれのFBもActiveでない期間に限定すると、FBの状態に関するデータを再開用データとして保存する必要がないので、再開用データの保存のための記憶容量を削減することができる。いずれのFBもActiveでない期間からいずれかのFBがActiveになった最初の制御周期を再開可能制御周期とすることができるようにした場合も、保存されるデータが生成された前の周期においてはまだいずれのFBもActiveではないから、上記の再開可能制御周期を設定できる期間をいずれのFBもActiveでない期間に限定した場合と同様である。 If the period in which the resumable control cycle can be set is limited to a period in which none of the FBs is active, there is no need to save data relating to the FB state as resuming data, so the storage capacity for saving the resuming data is reduced. be able to. Even if the first control cycle in which any FB becomes active from a period in which any FB is not active can be set as a resumable control cycle, in the cycle before the data to be saved is generated Since none of the FBs is active yet, the period in which the resumable control period can be set is similar to the case where any FB is not active.
FBの途中から再開せず、常にFBの冒頭から再開できればよい場合には、このように再開可能制御周期とすることができる制御周期を限定する方式も有用である。 In the case where it is only necessary to always restart from the beginning of the FB without restarting from the middle of the FB, a method of limiting the control cycle that can be set as the resumable control cycle is also useful.
図11は、本発明の実施の形態に従うICチップ移載装置100を説明する図である。本発明の実施の形態においては、制御対象装置としてICチップ移載装置100を例に挙げて説明する。
FIG. 11 is a diagram illustrating IC
図11(A)には、ICチップ移載装置100の平面図が示されている。
また、図11(B)には、ICチップ移載装置100の正面図が示されている。
FIG. 11A shows a plan view of the IC
FIG. 11B shows a front view of the IC
図11(A)および(B)を参照して、ICチップ移載装置100は、図示しないモータによりX軸の位置決めが可能なXガイド51、Y軸の位置決めが可能なYガイド52、Z軸の位置決めが可能なZガイド53により構成されるXYZガイド50と、XYZガイド50を用いてICチップTPを真空吸着するための真空吸着式チャック60とで構成されている。真空吸着式チャック60は、ICチップコンベア80に所定間隔置きに配置されたICチップTPを真空吸着する。そして、XYZガイド50を用いてICトレイコンベア75に載置されたICトレイ70の所定の位置にICチップTPを載置する。
Referring to FIGS. 11A and 11B, an IC
ICトレイ70には、行列状にICチップを載置するための空きセルRNが設けられる。そして、XYZガイド50は、ICトレイ70に設けられた空きセルRNに1つずつICチップを移載するものとする。具体的には、ICチップTPが供給されるワーク供給位置が予め設定されており、また、ICトレイ70の空きセルRNのいずれかにワーク移載位置が指定される。XYZガイド50は、当該ワーク供給位置から当該ワーク移載位置に、真空吸着式チャック60を用いて真空吸着したICチップTPを移送して、当該指定されたワーク移載位置にICチップTPを載置する。
The
ICチップコンベア80に載置されているICチップTPは、ICチップコンベア80を移動させることにより当該ワーク供給位置に移動させられる。ICチップTPは、ICチップコンベア80の進行方向に沿って所定間隔おきに配置されているものとする。
The IC chip TP placed on the
図12は、本発明の実施の形態に従うICチップ移載装置100の動作のフローを説明する図である。
FIG. 12 is a diagram illustrating an operation flow of IC
図12を参照して、まず、ICチップTPが載置されていないすなわち、未載置のICトレイ70を供給受付位置へICトレイコンベア75を用いて移動させる(ステップS50)。
Referring to FIG. 12, first, IC chip TP that is not mounted, that is,
そして、次に、ICチップコンベア80を移動させてICチップTPをワーク供給位置へ移動する(ステップS52)。
Next, the
そして、次に、XYZガイド50を用いて真空吸着式チャック60をワーク供給位置へ移動させる(ステップS54)。
Next, the
そして、次に、真空吸着式チャック60を用いてICチップTPを真空吸着する(ステップS56)。 Then, the IC chip TP is vacuum-sucked using the vacuum suction chuck 60 (step S56).
そして、XYZガイド50を用いて真空吸着したICチップTPをICトレイ70の空きセル位置(ワーク移載位置)へ移動させる(ステップS58)。
Then, the IC chip TP vacuum-sucked using the
そして、ICチップTPをICトレイ70の空きセル位置(ワーク移載位置)に載置する(ステップS60)。 Then, the IC chip TP is placed at an empty cell position (work transfer position) on the IC tray 70 (step S60).
次に、ICチップTPの移載を継続するかどうかを判断する(ステップS62)。
ステップS62において、ICチップTPの移載を継続しないと判断した場合(ステップS62においてNO)には、処理を終了する。
Next, it is determined whether or not to continue the transfer of the IC chip TP (step S62).
If it is determined in step S62 that the transfer of the IC chip TP is not continued (NO in step S62), the process ends.
一方、ステップS62において、ICチップの移載を継続すると判断した場合(ステップS62においてYES)には、次にICトレイ70に空きセルRNがあるかどうかを判断する(ステップS64)。ICトレイ70に空きセルRNがあると判断した場合(ステップS64においてYES)には、ICチップTPを供給位置へ移動する(ステップS52)。以降の処理は同様であるのでその詳細な説明は繰返さない。すなわち、1つずつICチップTPをICトレイ70の空きセルRNに載置していくことになる。
On the other hand, if it is determined in step S62 that the transfer of the IC chip is to be continued (YES in step S62), it is next determined whether or not there is an empty cell RN on the IC tray 70 (step S64). If it is determined that there is an empty cell RN on the IC tray 70 (YES in step S64), the IC chip TP is moved to the supply position (step S52). Since the subsequent processing is the same, detailed description thereof will not be repeated. That is, one IC chip TP is placed on the empty cell RN of the
ステップS64において、ICトレイ70に空きセルがないと判断した場合(ステップS64においてNO)には、未載置のICトレイ70を供給受付位置へ移動させる(ステップS50)。
If it is determined in step S64 that there is no empty cell in the IC tray 70 (NO in step S64), the
そして、上記処理を繰り返すものとする。
図13は、ICチップ移載装置100におけるXYZガイド50を制御する制御プログラムの一部を説明する図である。
Then, the above process is repeated.
FIG. 13 is a diagram for explaining a part of a control program for controlling the
図13を参照して、ここでは、XYZガイド50を制御して真空吸着式チャック60をICトレイ70の空きセルRNの位置へ移動する部分のプログラムが示されている。
Referring to FIG. 13, here is shown a program of a part that controls the
ここで、FB1およびFB2は、MC_MoveAbsoluteという名称の同じ種類のモーションファンクションブロックであり、1つの軸(モータの回転位置)を現在位置から絶対座標で与えた目標位置まで移動させるように制御周期ごとに指令値を生成する機能を有する。 Here, FB1 and FB2 are motion function blocks of the same type named MC_MoveAbsolute. Each axis (motor rotation position) is moved from the current position to the target position given in absolute coordinates for each control cycle. It has a function to generate command values.
FB1(MoveToTray_X)は、真空吸着式チャック60のX座標位置を空きセルのX座標位置まで移動させるために用いられている。
FB1 (MoveToTray_X) is used to move the X coordinate position of the
FB2(MoveToTray_Y)は、真空吸着式チャック60のY座標位置を空きセルのY座標位置まで移動させるために用いられている。ここでは、FB1とFB2が制御プログラムのモーション制御部分に該当する。
FB2 (MoveToTray_Y) is used to move the Y coordinate position of the
各FBの左側の端子は入力端子、右側の端子は出力端子である。
まず、入力端子について説明する。
The left terminal of each FB is an input terminal, and the right terminal is an output terminal.
First, the input terminal will be described.
「Axis」端子にはそのFBに対応付ける軸名称を与える。Axis_1にはX軸、Axis_2にはY軸が割り当てられている。 An axis name associated with the FB is given to the “Axis” terminal. An X axis is assigned to Axis_1, and a Y axis is assigned to Axis_2.
「Execute」端子にON入力を与えるとFBが起動し、Busy状態およびActive状態となる。 When an ON input is given to the “Execute” terminal, the FB is activated and enters a Busy state and an Active state.
「Position」、「Velocity」、「Acceleration」、「Deceleration」、「Jerk」の各端子には、それぞれ目標とする位置、速度、加速度、減速度、躍度の値を与える。 The “position”, “Velocity”, “Acceleration”, “Deceleration”, and “Jerk” terminals are respectively given target position, speed, acceleration, deceleration, and jerk values.
「Position」端子へはCell_X, Cell_Yという変数名で目標位置が与えられている。Cell_X, Cell_Yには、プログラムの別の場所で計算された空きセルのX座標、Y座標が格納されている。 The "Position" terminal is given a target position with variable names Cell_X and Cell_Y. Cell_X and Cell_Y store the X coordinate and Y coordinate of an empty cell calculated in another place of the program.
「Velocity」、「Acceleration」、「Deceleration」の各端子には、プログラミング段階で定数値が与えられている。「Jerk」端子への入力は省略されている。 Constant values are given to the terminals of “Velocity”, “Acceleration”, and “Deceleration” at the programming stage. Input to the “Jerk” terminal is omitted.
「Direction」は、1周内の軸の回転位置が同じであれば軸が何周してその位置にあっても区別しないリングモードのための端子であり、ここでは使用しない。 “Direction” is a terminal for the ring mode that does not distinguish the rotation position of the shaft within one rotation, regardless of how many times the shaft rotates and is in that position, and is not used here.
「BufferMode」については後述する。ここではBufferModeは使用されていない。
次に、出力端子について説明する。
“BufferMode” will be described later. Here, BufferMode is not used.
Next, the output terminal will be described.
出力の「Axis」端子は、入力のAxis端子のデータをそのまま出力する。
「Done」端子は、FBの実行が完了した制御周期の次の制御周期においてONを出力する。
The output “Axis” terminal outputs the data of the input Axis terminal as it is.
The “Done” terminal outputs ON in the control cycle next to the control cycle in which the execution of FB is completed.
「CommandAborted」端子は、FBの実行が中止した制御周期の次の制御周期においてONを出力する。 The “CommandAborted” terminal outputs ON in the control cycle next to the control cycle in which the execution of the FB is stopped.
「Busy」端子は、FBがBusy状態である間、ONを出力する。
「Active」端子は、FBがActive状態である間、ONを出力する。
The “Busy” terminal outputs ON while the FB is in the Busy state.
The “Active” terminal outputs ON while the FB is in the Active state.
「Error」端子は、なんらかのエラーが発生したときにONを出力する。
「ErrorID」端子は、エラーが発生したときにエラーコードを出力する。
The “Error” terminal outputs ON when an error occurs.
The “ErrorID” terminal outputs an error code when an error occurs.
ここでは、Under_MovingToTrayと名づけられた接点(変数)がONになると、FB1およびFB2の「Execute」端子にONが与えられ、FB1およびFB2は空きセルRNの位置へ向かってX軸とY軸を移動させるための指令値算出を開始する。それぞれの軸の移動が完了すると、各「Done」端子はONを出力する。「Done」端子の出力のONまたはOFFの値は、ToTray_Done_X, ToTray_Done_Yと名づけられた接点(変数)に格納される。これらの接点は、ICチップTPを空きセルに載置するためのZ軸の下降動作を開始するために用いられる。 Here, when the contact (variable) named Under_MovingToTray is turned ON, the “Execute” terminals of FB1 and FB2 are turned ON, and FB1 and FB2 move along the X axis and Y axis toward the position of the empty cell RN. Command value calculation for starting is started. When the movement of each axis is completed, each “Done” terminal outputs ON. The ON / OFF value of the output of the “Done” terminal is stored in a contact point (variable) named ToTray_Done_X, ToTray_Done_Y. These contacts are used to start the downward movement of the Z-axis for placing the IC chip TP on the empty cell.
図14は、本発明の実施の形態に従うコントローラサポートプログラムのウインドウ画面について説明する図である。 FIG. 14 is a diagram illustrating a window screen of the controller support program according to the embodiment of the present invention.
図14を参照して、本発明の実施の形態に従うコントローラサポートプログラムのウインドウ画面1000には、設定欄1002と、制御プログラム編集欄1004とが設けられる。
Referring to FIG. 14, controller support
設定欄1002は、制御プログラムの編集やシミュレーションを行う上で必要となる種々の設定入力をする部分である。
The
また、制御プログラム編集欄1004は、制御プログラムを入力し、編集するために用いられる。
The control
また、右下領域においては、再開可能点設定方式の設定ボタン1010およびシミュレーション実行制御ボタン1006と、シミュレーション実行結果表示リンク部1008とが設けられている場合が示されている。
Further, in the lower right region, a case where a resumable point setting
再開可能点設定方式の設定ボタン1010を押下すると、図15の選択ウインドウ画面1100が別ウインドウとして開くものとする。この設定をした後にシミュレーションを実行すると再開用データが保存される。
When the resumable point setting
シミュレーション実行制御ボタン1006として4つのボタンが設けられ、左から、シミュレーションの実行開始、停止、一時停止、ステップ実行を指示するためのボタンがそれぞれ設けられている。
Four buttons are provided as the simulation
シミュレーション実行結果表示リンク部1008は、当該リンク部をクリック(押下)すると、図16のタイムチャートウインドウ画面が別ウインドウとして開くものとする。
When the simulation execution result
図15は、本発明の実施の形態に従う再開可能点設定方式の選択ウインドウ画面1100を説明する図である。
FIG. 15 is a diagram illustrating a
図15を参照して、本発明の実施の形態に従う選択ウインドウ画面1100は、「FBのActive ON」、「FBのBusy ON」、「一定間隔」をそれぞれチェックすることが可能なチェックボックスが設けられており、本例においては、マウス906等を介して「FBのActive ON」にチェックが付けられた場合が示されている。そして、「OK」ボタン1104と、「キャンセル」ボタン1106とがそれぞれ設けられており、「OK」ボタン1104をクリック(押下)することによりチェックボックスにチェックした設定方式が有効となる。当該「OK」ボタン1104あるいは「キャンセル」ボタン1106をクリック(押下)することにより当該ウインドウ画面は閉じるものとする。
Referring to FIG. 15,
「FBのActive ON」にチェックを入れると、各FBがActive ONとなる制御周期が再開可能制御周期とされる。 When “FB Active ON” is checked, a control cycle in which each FB is Active ON is set as a resumable control cycle.
各FBがActive ONとなる制御周期より一定数前の制御周期が再開可能制御周期とされるようにしてもよい。このようにモーション制御部分が活性状態となる制御周期を基準として再開可能制御周期を設定すると、ユーザはモーション制御部分が活性状態になる付近から再実行を開始させることが容易になる。モーション制御部分が活性状態となる制御周期と関係しない再開可能制御周期を設定しないか設定数を少なくすれば再開用データの保存量が少なくて済み、そのようにしてもある程度の利便性が保たれる。 A control cycle a certain number before the control cycle in which each FB becomes Active ON may be set as a resumable control cycle. If the resumable control period is set based on the control period in which the motion control part is activated as described above, the user can easily start re-execution from the vicinity where the motion control part is activated. If the resumable control cycle that is not related to the control cycle in which the motion control part is activated is not set or the number of settings is reduced, the amount of data to be saved can be saved, and even so, some convenience is maintained. It is.
「FBのBusy ON」にチェックを入れると、各FBがBusy ONとなる制御周期が再開可能制御周期とされる。あるFBがBusy ONとなる制御周期を再開可能制御周期とする場合は、1つ前の周期、すなわち再開用データが生成される周期において、その軸に関してBusyかつActiveである他のFBが存在する可能性があるので「現在ActiveなFBのID」を再開用データとして保存する必要はあるが、その軸に関してBusyであるがActiveでない他のFBは存在しないので、「現在BusyなFBのID」を再開用データとして保存することを省略してもよい。各FBがBusy ONとなる制御周期より一定数前の制御周期が再開可能制御周期となるようにしてもよい。このようにモーション制御部分が実行中状態となる制御周期を基準として再開可能制御周期を設定すると、ユーザはモーション制御部分が実行中状態になる付近から再実行を開始させることが容易になる。モーション制御部分が実行中状態となる制御周期と関係しない再開可能制御周期を設定しないか設定数を少なくすれば再開用データの保存量が少なくて済み、そのようにしてもある程度の利便性が保たれる。 When “FB Busy ON” is checked, a control cycle in which each FB is Busy ON is set as a resumable control cycle. When a control cycle in which a certain FB is Busy ON is set as a resumable control cycle, there is another FB that is Busy and Active with respect to that axis in the previous cycle, that is, the cycle in which the restart data is generated. Since there is a possibility, it is necessary to save “currently active FB ID” as data for resumption, but there is no other FB that is Busy but not active with respect to the axis, so “currently busy FB ID”. May be omitted as data for resumption. A control cycle a certain number before the control cycle in which each FB is Busy ON may be a resumable control cycle. When the resumable control period is set based on the control period in which the motion control part is in the execution state in this way, the user can easily start re-execution from the vicinity where the motion control part is in the execution state. If the resumable control cycle that is not related to the control cycle in which the motion control part is being executed is not set or the number of settings is reduced, the amount of data to be saved can be saved, and even so, a certain level of convenience is maintained. Be drunk.
「一定間隔」にチェックを入れ、時間(秒)を指定すると、指定した時間間隔ごとの時間に相当する制御周期が再開可能制御周期とされる。再開可能制御周期の設定間隔が十分小さければ、近似的にどこからでも再実行を開始させることができる。 When “fixed interval” is checked and a time (second) is designated, a control cycle corresponding to the time for each designated time interval is set as a resumable control cycle. If the setting interval of the resumable control cycle is sufficiently small, re-execution can be started approximately anywhere.
なお、1つに限られず複数の設定方式を同時に有効とすることが可能である。
図16は、本発明の実施の形態に従うタイムチャートウインドウ画面1200について説明する図である。
Note that the setting method is not limited to one, and a plurality of setting methods can be simultaneously enabled.
FIG. 16 is a diagram illustrating time
図16を参照して、本発明の実施の形態に従うタイムチャートウインドウ画面1200は、図14のシミュレーション実行結果表示リンク部1008をクリック(押下)すると開かれる。
Referring to FIG. 16, time
ここでは、1つのICチップTPの吸着と載置の1サイクルの動作について、各軸の速度と移動実行中フラグの状態を示している。 Here, the speed of each axis and the state of the movement execution flag are shown for the operation of one cycle of suction and placement of one IC chip TP.
「再開点指定方式」の欄では、再開点指定方式が5つの方式の中から択一的に選択できるようになっている。 In the “Resume point designation method” column, the resume point designation method can be selected alternatively from five methods.
具体的には、「再開点指定方式」の欄で「チャート上」を選択すると時間指定つまみを横方向にドラッグすることにより再開点を指定することができる。再開可能点が「FBのActive ON」または「FBのBusy ON」に設定されているとすると、いずれかの軸の移動実行中フラグの立ち上がりタイミングが再開可能点となっている。再開点は垂直のカーソル線1208の位置によって示されており、このカーソル線1208は時間指定つまみ1206の移動に伴って移動するが、時間指定つまみ1206は連続的に位置を変更できるのに対し、再開可能点は離散的に存在しているのでカーソル線1208の移動の仕方も離散的となる。本例においては、時間指定つまみ1206の位置に最も近い3.18秒の再開可能点にカーソル線1208が位置している。この状態から時間指定つまみをわずかに左に動かすと、カーソル線1208はZ軸の移動実行中フラグが立ち上がる3.04秒の位置に離散的に移動する。時間表示欄1203には、時間スケール1212において、カーソル線1208の位置における時間が表示されており、値表示欄1204に表示されているのはカーソル線1208の位置における各グラフの縦軸の値である。また、スクロールバー1210を操作することにより時間スケール1212の位置を変更することが可能である。
Specifically, when “on chart” is selected in the “restart point designation method” field, the restart point can be designated by dragging the time designation knob in the horizontal direction. If the resumable point is set to “FB Active ON” or “FB Busy ON”, the rising timing of the movement execution flag of one of the axes is a resumable point. The restart point is indicated by the position of the
このように、モニタ907に表示されたグラフ上の位置についてのユーザの指示を受け付け、ユーザによって指示されたグラフ上の位置に対応する再開可能制御周期を特定し、当該再開可能制御周期からシミュレーションの再実行を開始することにより、ユーザは、制御プログラムの実行結果の推移と対応付けて再実行の開始を指示することができる。
In this manner, the user's instruction regarding the position on the graph displayed on the
「再開点指定方式」の欄で「チャート上」の右側にある「一時解除」をチェックすると、再開点の指定操作の状態が一時的に解除され、カーソル線1208が時間指定つまみ1206と同じ位置に表示されて連続的に移動するようになり、値表示欄1204の表示によって任意の時間における各グラフの値を調べることができる。
If “temporary release” on the right side of “on the chart” is checked in the “resume point designation method” column, the state of the resume point designation operation is temporarily released, and the
「再開点指定方式」の欄で「最終修正FB」を選択すると、図14の制御プログラム編集欄1004で最も最近に入力値が修正されたFBから再実行することができる再開可能制御周期が再開点として指定される。この場合、シミュレーション部806は、修正されたFBを特定する情報を制御プログラム編集部810から取得し、最も最近に修正されたFBから再実行することができる再開可能制御周期を特定し、当該再開可能制御周期からシミュレーションの再実行を開始する。このようにすることにより、修正したモーション制御部分から再実行することが容易にできる。
When “final correction FB” is selected in the “resuming point designation method” field, the resumable control cycle that can be re-executed from the FB whose input value was most recently corrected in the control
「再開点指定方式」の欄で「プログラムリスト上」を選択すると、図14の制御プログラム編集欄1004に表示されたプログラムリスト上でFBを選択することにより、そのFBから再実行することができる再開可能制御周期が再開点として特定される。具体的には、プログラムリスト上で1つのFBをクリックして選択し、プルダウンメニューから「再開点として指定」を選択する。この場合、シミュレーション部806は、プログラムのリスト表示上で指定されたFBから再実行することができる再開可能制御周期を特定し、当該再開可能制御周期からシミュレーションの再実行を開始する。このようにすることにより、ユーザは制御プログラムのリスト表示に表れたモーション制御部分と対応付けて再実行の開始を指示することができる。
When “on program list” is selected in the “resuming point designation method” field, it can be re-executed from that FB by selecting the FB on the program list displayed in the control
「再開点指定方式」の欄で「空間軌跡上」を選択すると、図17の空間軌跡表示ウインドウ画面1300に表示される空間軌跡上で指定した位置に対応する制御周期が再開点として指定される。
When “on the spatial trajectory” is selected in the “resuming point designation method” field, the control cycle corresponding to the position designated on the spatial trajectory displayed on the spatial trajectory
「再開点指定方式」の欄で「軸位置リスト上」を選択すると、図18の軸位置リスト上での指定に従い再開点が指定される。 When “on axis position list” is selected in the “restart point designation method” field, the restart point is designated according to the designation on the axis position list in FIG.
「最終修正FB」、「プログラムリスト上」、「空間軌跡上」、「軸位置リスト上」のいずれの場合も、指定された再開点が表示されるようにグラフは自動的にスクロールされる。 In any case of “final correction FB”, “on program list”, “on spatial locus”, and “on axis position list”, the graph is automatically scrolled so that the designated restart point is displayed.
「プログラムリスト上」、「空間軌跡上」、「軸位置リスト上」のいずれかを選択して「GO」ボタン1201を押すと、対応する図14、図17、または図18のウインドウ画面が開き、または手前のウインドウ画面として表示される。
When one of “on program list”, “on spatial locus”, or “on axis position list” is selected and “GO”
図17は、本発明の実施の形態に従う空間軌跡表示ウインドウ画面1300を説明する図である。
FIG. 17 is a diagram illustrating a spatial trajectory
図17を参照して、空間軌跡表示ウインドウ画面1300に表示される空間軌跡は、実行結果データ記憶部に記憶された一連の軸の位置を用いて描画される。
Referring to FIG. 17, the spatial trajectory displayed on spatial trajectory
軸の位置に代えて記憶された指令値を用いて描画してもよい。
図17に表示されている空間軌跡は、ICチップ移載装置100のXYZガイド50の場合と異なり、Z方向に上昇しつつ、XY座標平面への投影としては半円を描く軌跡の例が示されている。
You may draw using the command value memorize | stored instead of the position of an axis | shaft.
Unlike the case of the
画面上部の仮想機構設定欄1301には現在使用されている仮想機構の名称が表示されている。仮想機構は、電子的に構築されたモデルであって、XYZガイドのような機構の種類ごとにその構成を抽象化した、一連の指令値によって動く3次元モデルである。同欄右の三角マークをクリックすると仮想機構のリストが現れ、そこから現在使用されている仮想機構を他の仮想機構に変更することができる。
The virtual
設定編集のボタン1303を押すと、仮想機構設定画面が別ウインドウ画面として開く。
When a
座標値表示欄1304には、座標軸ごとの軸の現在位置が表示されている。
軸とモーションFBの対応表示欄1306には制御プログラムの中で使われている軸名と現在働いているFB名との対応関係が表示されている。
The coordinate
The
本例においては、表示設定欄1307の「3D」ボタン1307Aを押して画像表示欄1302において、3D表示を大きく表示したところである。「3D」ボタン1307Aをもう一度押すと3D表示のほかに、XY平面への投影図、XZ平面への投影図、YZ平面への投影図からなる4分割表示となる。「3D」以外の1つのボタンを押すと対応する平面投影図が拡大表示される。
In this example, the “3D”
3D表示は、透視図法によって描写されており、マウス操作によって3次元空間内での視点の位置と視線方向を自由に変更することができる。 The 3D display is depicted by a perspective method, and the position of the viewpoint and the direction of the line of sight can be freely changed by operating the mouse.
Z方向の直動要素の先端に現在位置を示す現在位置マーカーとして小さな球が表示されている。 A small sphere is displayed as a current position marker indicating the current position at the tip of the linear movement element in the Z direction.
表示設定欄1307では、指令値の軌跡を表示するかどうかの選択、および仮想機構を表示するのかどうかの選択ができるようになっている。仮想機構を表示しない場合には軌跡の曲線だけの表示となる。詳細設定ボタン1307Pを押すと、さらに、軌跡の太さの設定、軌跡の表示色の設定、座標軸と座標数値を表示する設定などを行うことができる。
In the
画面の下部には動画再生制御ボタン1310が表示されている。
再生時間バー1314は、制御プログラムを最初から最後まで実行するのに要する時間を表している。現在時刻つまみ1312は、再生時間バー1314上を制御プログラムの実行時間の経過にしたがって左から右に移動する。現在時刻つまみ1312をマウス906でドラッグ操作することにより動画の表示開始時刻を調整することができる。軌跡始点つまみ1308、軌跡終点つまみ1316は、軌跡の表示開始時刻、終了時刻を示しており、いずれもマウス906でドラッグ操作することにより再生時間バー1314に沿って移動させることができる。現在位置が時間の経過とともに連続的に移動する場合は、軌跡始点つまみ1308または軌跡終点つまみ1316を動かすとそれに応じて表示されている軌跡の長さが変わる。
A moving image
The
動画の表示を開始すると、各機構要素が動いて現在位置マーカーが軌跡に沿って動いていく様子が表示される。 When the display of the moving image is started, a state in which each mechanism element moves and the current position marker moves along the trajectory is displayed.
動画を構成する順次に表示される各静止画は、すべての制御周期について作成せず、一定間隔ごとの制御周期について作成してもよい。 The still images that are sequentially displayed constituting the moving image may not be created for all the control cycles, but may be created for the control cycles at regular intervals.
画像表示欄1302において、軌跡に重ねて表示されている多数の十字マークはシミュレーションの再開可能点が設定されている位置を示す。この例では、時間的に一定間隔で再開可能点が設定されている。ユーザは、これらのマークのいずれかをクリックして選択し、プルダウンメニューから「再開点として指定」を選択することにより、シミュレーション再開点を指定することができる。この場合、シミュレーション部は、ユーザによって指示された軌跡上の位置に対応する再開可能制御周期を特定し、当該再開可能制御周期からシミュレーションの再実行を開始する。このようにすることにより、ユーザは、位置の指令値の空間的軌跡と対応付けて再実行の開始を指示することができる。
In the
図18は、本発明の実施の形態に従う軸位置のリストの表示ウインドウ画面1400を説明する図である。
FIG. 18 is a diagram illustrating an axis position list
図18を参照して、本発明の実施の形態に従う表示ウインドウ画面1400は、再開可能点が設定されている制御周期に対応する時間と軸位置のリストが表示され、その中から再開点を指定することができる。
Referring to FIG. 18,
スクロールバー1402を操作することにより表示ウインドウ画面に表示される内容をスクロールすることができる。指定できる再開点は1つのみである。本例においては、各軸の位置が数値で表示されているが、軸位置を表す変数名によって表示してもよい。そして、「OK」ボタン1404をクリック(押下)することにより再開点の指定が有効となる。また、「キャンセル」ボタン1406をクリック(押下)することにより再開点の指定を中止することができる。
By operating the
この場合、シミュレーション部806は、ユーザによって指示された位置のリスト上の位置に対応する再開可能制御周期を特定し、当該再開可能制御周期からシミュレーションの再実行を開始する。このようにすることにより、ユーザは、制御プログラムの実行結果の推移と対応付けて再実行の開始を指示することができる。
In this case, the
図19は、本発明の実施の形態に従うBufferedモードを説明する図である。
図19(A)を参照して、Bufferedモードは、先行側(左側)のFBのAxis出力端子と後続側(右側)のFBのAxis入力端子を直結することにより2つのFBを直列に接続し、先行側のFBの実行中に、後続側のFBのExecute端子にON(1の値)を入力して後続側のFBをBusy状態としておくモードである。あらかじめBusy状態とされた後続側のFBは先行側のFBが実行完了した制御周期の次の制御周期からActiveとなって指令値の算出を開始する。
FIG. 19 is a diagram illustrating the Buffered mode according to the embodiment of the present invention.
Referring to FIG. 19A, in the buffered mode, two FBs are connected in series by directly connecting the Axis output terminal of the preceding (left) FB and the Axis input terminal of the succeeding (right) FB. In this mode, during execution of the preceding FB, ON (a value of 1) is input to the Execute terminal of the succeeding FB to place the succeeding FB in the Busy state. The succeeding FB that has been set to the Busy state in advance becomes Active from the control cycle next to the control cycle in which the preceding FB has completed execution, and starts calculating the command value.
Bufferedモードは、後続側のFBのBufferMode端子に「Buffered」を入力することにより指定する。 Buffered mode is specified by inputting “Buffered” to the BufferMode terminal of the succeeding FB.
後続側のFBの後ろにさらに別のFBを直列に接続してそのFBにもBufferedモードを指定することも可能である。 It is also possible to connect another FB in series behind the succeeding FB and specify the Buffered mode for that FB.
図19(B)を参照して、ここでは、BufferedモードにおけるFBの一部の端子について入力される信号および出力される信号のタイミングチャートが示されている。 Referring to FIG. 19B, here, a timing chart of signals input to and signals output from some terminals of the FB in the Buffered mode is shown.
時刻t1にFB1が起動してBusy状態およびActive状態となる場合が示されている。また、時刻t2にFB2が起動してBusy状態となる場合が示されている。また、時刻t3にFB2がActive状態となる場合が示されている。 The case where FB1 starts at the time t1 and becomes a Busy state and an Active state is shown. Moreover, the case where FB2 starts and becomes Busy state is shown at time t2. In addition, the case where FB2 is in the Active state at time t3 is shown.
再開可能点の設定方式として、「FBのActive ON」と「FBのBusy ON」の両方を指定すると、グラフの時刻t1,t2,t3に対応する制御周期が再開可能点となる。 When both “FB Active ON” and “FB Busy ON” are designated as the resumable point setting method, the control cycle corresponding to times t1, t2, and t3 in the graph becomes a resumable point.
図20は、本発明の実施の形態に従うAbortingモードにおけるFBの一部の端子について入力される信号および出力される信号のタイミングチャートを説明する図である。 FIG. 20 is a diagram illustrating a timing chart of an input signal and an output signal for some terminals of the FB in the Aborting mode according to the embodiment of the present invention.
図19(A)の2つのFBを直列接続した状態で、後続側のFBのBufferMode端子に「Aborting」を入力すると、Abortingモードとなる。Abortingモードでは、先行側のFBの実行中に、後続側のFBのExecute端子にON(1の値)を入力すると、直ちに、先行側のFBの実行が中止され、次の制御周期で後続側のFBがActiveとなって指令値の算出を開始する。後続側のFBの後ろにさらに別のFBを直列に接続してそのFBにもAbortingモードを指定することも可能である。 When “Aborting” is input to the BufferMode terminal of the succeeding FB in a state where the two FBs in FIG. 19A are connected in series, the Aborting mode is set. In the Aborting mode, if ON (value of 1) is input to the Execute terminal of the succeeding FB during execution of the preceding FB, execution of the preceding FB is immediately stopped and the succeeding FB is executed in the next control cycle. FB becomes Active and calculation of the command value is started. It is also possible to connect another FB in series behind the succeeding FB and specify the Aborting mode for the FB.
再開可能点の設定方式として、「FBのActive ON」と「FBのBusy ON」の両方を指定すると、グラフの時刻t1,t2に対応する制御周期が再開可能点となる。Bufferedモードの場合に後続側のFBが実行開始した時刻t3はAbortingモードでは再開可能点とならない。 When both “FB Active ON” and “FB Busy ON” are designated as the restartable point setting method, the control cycle corresponding to times t1 and t2 in the graph becomes the restartable point. In the buffered mode, the time t3 when the subsequent FB starts executing does not become a resumable point in the Aborting mode.
次に、Blendingモードについて説明する。Blendingモードは先行側のFBが中止されずに実行完了する点でBufferedモードと共通するが、Bufferedモードのように速度がいったんゼロになるのではなく、中継速度での移動を継続したまま先行側のFBがActiveな状態から後続側のFBがActiveな状態に移行する。Blendingモードには、中継速度の決定のされ方により、BlendingNextモード、BlendingPreviousモード、BlendingHighモード、BlendingLowモードの4つのモードがある。 Next, the Blending mode will be described. The blending mode is the same as the buffered mode in that it completes the execution without stopping the FB on the preceding side, but the speed does not become zero once as in the buffered mode, but the preceding side remains moving at the relay speed. The FB on the succeeding side shifts from the active state to the active state. There are four blending modes, BlendingNext mode, BlendingPrevious mode, BlendingHigh mode, and BlendingLow mode, depending on how the relay speed is determined.
図21は、本発明の実施の形態に従うBlendingNextモードにおけるFBの一部の端子について入力される信号および出力される信号のタイミングチャートを示す図である。 FIG. 21 is a diagram showing a timing chart of signals input and output for some terminals of the FB in the BlendingNext mode according to the embodiment of the present invention.
図19(A)の2つのFBを直列接続した状態で、後続側のFBのBufferMode端子に「BlendingNext」を入力するとBlendingNextモードになる。 When “BlendingNext” is input to the BufferMode terminal of the succeeding FB in a state where the two FBs in FIG. 19A are connected in series, the BlendingNext mode is set.
BlendingNextモードでは、先行側のFBの実行中に、後続側のFBのExecute端子にON(1の値)を入力すると、先行側のFBの終了速度が後続側のFBの目標速度となるように先行側FBの指令値演算内容が調整される。あらかじめBusy状態とされた後続側のFBは先行側のFBが実行完了した制御周期の次の制御周期からActiveとなって指令値の算出を開始する。 In BlendingNext mode, if ON (value of 1) is input to the Execute terminal of the succeeding FB during execution of the preceding FB, the ending speed of the preceding FB becomes the target speed of the succeeding FB. The command value calculation content of the preceding side FB is adjusted. The succeeding FB that has been set to the Busy state in advance becomes Active from the control cycle next to the control cycle in which the preceding FB has completed execution, and starts calculating the command value.
後続側のFBの後ろにさらに別のFBを直列に接続してそのFBにもBlendingNextモードを指定することも可能である。 It is also possible to connect another FB in series behind the succeeding FB and specify the BlendingNext mode for the FB.
再開可能点の設定方式として、「FBのActive ON」と「FBのBusy ON」の両方を指定すると、グラフの時刻t1,t2,t3に対応する制御周期が再開可能点となる。 When both “FB Active ON” and “FB Busy ON” are designated as the resumable point setting method, the control cycle corresponding to times t1, t2, and t3 in the graph becomes a resumable point.
図22は、本発明の実施の形態に従うBlendingPreviousモードにおけるFBの一部の端子について入力される信号および出力される信号のタイミングチャートを示す図である。 FIG. 22 is a diagram showing a timing chart of an input signal and an output signal for some terminals of the FB in the Blending Previous mode according to the embodiment of the present invention.
図19(A)の2つのFBを直列接続した状態で、後続側のFBのBufferMode端子に「BlendingPrevious」を入力するとBlendingPreviousモードになる。 When “BlendingPrevious” is input to the BufferMode terminal of the succeeding FB in a state where the two FBs in FIG. 19A are connected in series, the BlendingPrevious mode is set.
BlendingPreviousモードでは、先行側のFBの実行中に、後続側のFBのExecute端子にON(1の値)を入力すると、先行側のFBが実行完了まで目標速度を維持するように先行側FBの指令値演算内容が調整される。あらかじめBusy状態とされた後続側のFBは先行側のFBが実行完了した制御周期の次の制御周期からActiveとなって指令値の算出を開始する。 In BlendingPrevious mode, if ON (value of 1) is input to the Execute terminal of the succeeding FB during execution of the preceding FB, the preceding FB will maintain the target speed until the preceding FB completes execution. The command value calculation content is adjusted. The succeeding FB that has been set to the Busy state in advance becomes Active from the control cycle next to the control cycle in which the preceding FB has completed execution, and starts calculating the command value.
後続側のFBの後ろにさらに別のFBを直列に接続してそのFBにもBlendingPreviousモードを指定することができる。 Another FB can be connected in series behind the succeeding FB, and the BlendingPrevious mode can also be designated for that FB.
再開可能点の設定方式として、「FBのActive ON」と「FBのBusy ON」の両方を指定すると、グラフの時刻t1,t2,t3に対応する制御周期が再開可能点となる。 When both “FB Active ON” and “FB Busy ON” are designated as the resumable point setting method, the control cycle corresponding to times t1, t2, and t3 in the graph becomes a resumable point.
また、図19(A)の2つのFBを直列接続した状態で、後続側のFBのBufferMode端子に「BlendingHigh」を入力するとBlendingHighモードになる。BlendingHighモードでは、先行側FBの目標速度と後続側FBの目標速度の大きい方が中継速度となる。すなわち、先行側FBの目標速度の方が大きい場合の動作はBlendingPreviousモードの動作と同じであり、先行側FBの目標速度の方が小さい場合の動作はBlendingNextモードの動作と同じである。 In addition, when “BlendingHigh” is input to the BufferMode terminal of the subsequent FB in a state where the two FBs in FIG. 19A are connected in series, the BlendingHigh mode is set. In the Blending High mode, the higher of the target speed of the preceding FB and the target speed of the subsequent FB is the relay speed. That is, the operation when the target speed of the preceding FB is larger is the same as the operation in the Blending Previous mode, and the operation when the target speed of the preceding FB is smaller is the same as the operation in the BlendingNext mode.
また、図19(A)の2つのFBを直列接続した状態で、後続側のFBのBufferMode端子に「BlendingLow」を入力するとBlendingLowモードになる。BlendingLowモードでは、先行側FBの目標速度と後続側FBの目標速度の小さい方が中継速度となる。すなわち、先行側FBの目標速度の方が大きい場合の動作はBlendingNextモードの動作と同じであり、先行側FBの目標速度の方が小さい場合の動作はBlendingPreviousモードの動作と同じである。 Also, when “BlendingLow” is input to the BufferMode terminal of the succeeding FB in a state where the two FBs in FIG. 19A are connected in series, the BlendingLow mode is set. In the BlendingLow mode, the relay speed is the smaller of the target speed of the preceding FB and the target speed of the succeeding FB. That is, the operation when the target speed of the preceding side FB is larger is the same as the operation in the BlendingNext mode, and the operation when the target speed of the preceding side FB is smaller is the same as the operation in the BlendingPrevious mode.
以上、1つの軸について目標位置を絶対座標で指定するモーションファンクションブロックを例に説明してきたが、モーションファンクションブロックには、目標位置をそのFBの実行開始時の位置からの相対座標で指定するものや、複数の軸をグループ化してグループに含まれる各軸の移動開始と移動終了のタイミングおよび途中の速度制御を同期させることにより2次元空間または3次元空間内の2点間を直線的に移動させるもの、さらに2点間を円弧状の軌跡を描いて移動させるものなど、いろいろな種類がある。いうまでもなく、いずれの場合にも本発明を適用することができる。 The motion function block that specifies the target position with respect to one axis as an absolute coordinate has been described as an example. However, in the motion function block, the target position is specified with a relative coordinate from the position at the start of execution of the FB. Or, by moving multiple axes into a group and synchronizing the movement start and end timing of each axis included in the group and the speed control during the movement, it moves linearly between two points in two-dimensional space or three-dimensional space. There are various types, such as those that move and draws an arc-shaped trajectory between two points. Needless to say, the present invention can be applied to either case.
なお、コンピュータを機能させて、上述のフローで説明したような制御を実行させる方法あるいは当該方法を実現するプログラムを提供することもできる。このようなプログラムは、コンピュータに付属するフレキシブルディスク、CD−ROM(Compact Disk-Read Only Memory)、ROM(Read Only Memory)、RAM(Random Access Memory)およびメモリカードなどの一時的でないコンピュータ読取り可能な記録媒体にて記録させて、プログラム製品として提供することもできる。あるいは、コンピュータに内蔵するハードディスクなどの記録媒体にて記録させて、プログラムを提供することもできる。また、ネットワークを介したダウンロードによって、プログラムを提供することもできる。 Note that it is also possible to provide a method for causing a computer to execute the control as described in the above flow or a program for realizing the method. Such a program can be read by non-transitory computers such as a flexible disk attached to the computer, a CD-ROM (Compact Disk-Read Only Memory), a ROM (Read Only Memory), a RAM (Random Access Memory), and a memory card. It can also be recorded on a recording medium and provided as a program product. Alternatively, the program can be provided by being recorded on a recording medium such as a hard disk built in the computer. A program can also be provided by downloading via a network.
なお、プログラムは、コンピュータのオペレーションシステム(OS)の一部として提供されるプログラムモジュールのうち、必要なモジュールを所定の配列で所定のタイミングで呼出して処理を実行させるものであってもよい。その場合、プログラム自体には上記モジュールが含まれずOSと協働して処理が実行される。このようなモジュールを含まないプログラムも、本発明にかかるプログラムに含まれ得る。 The program may be a program module that is provided as a part of a computer operation system (OS) and that calls necessary modules in a predetermined arrangement at a predetermined timing to execute processing. In that case, the program itself does not include the module, and the process is executed in cooperation with the OS. A program that does not include such a module can also be included in the program according to the present invention.
また、本発明にかかるプログラムは他のプログラムの一部に組込まれて提供されるものであってもよい。その場合にも、プログラム自体には上記他のプログラムに含まれるモジュールが含まれず、他のプログラムと協働して処理が実行される。このような他のプログラムに組込まれたプログラムも、本発明にかかるプログラムに含まれ得る。 The program according to the present invention may be provided by being incorporated in a part of another program. Even in this case, the program itself does not include the module included in the other program, and the process is executed in cooperation with the other program. Such a program incorporated in another program can also be included in the program according to the present invention.
提供されるプログラム製品は、ハードディスクなどのプログラム格納部にインストールされて実行される。なお、プログラム製品は、プログラム自体と、プログラムが記録された記録媒体とを含む。 The provided program product is installed in a program storage unit such as a hard disk and executed. The program product includes the program itself and a recording medium on which the program is recorded.
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.
2 サーバ、4 ネットワーク、8 コントローラサポートプログラム、10,15 制御プログラム、14 コントローラ、16 制御対象装置、17 モータドライバ、18 モータ、50 XYZガイド、60 真空吸着式チャック、70 ICトレイ、75 ICトレイコンベア、80 ICチップコンベア、100 ICチップ移載装置、802 ユーザインタフェース部、804 表示データ作成部、806 シミュレーション部、808 制御プログラム記憶部、810 制御プログラム編集部、812 コントローラインタフェース部、820 シミュレーション制御部、822 デバッグ支援部、824 制御周期計数部、826 再開用データ記憶部、828 再開用データバッファ、830 実行結果データ記憶部、840 シーケンス制御シミュレーション部、842 シーケンス演算制御部、844 シーケンス演算実行部、846 シーケンス変数記憶部、850 モーション制御シミュレーション部、852 モーション演算制御部、854 モーション演算実行部、856 モーション変数記憶部。
2 servers, 4 networks, 8 controller support programs, 10, 15 control programs, 14 controllers, 16 controlled devices, 17 motor drivers, 18 motors, 50 XYZ guides, 60 vacuum chucks, 70 IC trays, 75
Claims (13)
前記制御プログラムをシミュレーション実行し実行結果データを生成するシミュレーション手段と、
前記シミュレーション手段によって生成された実行結果データの時間的な変化を表示するための表示データを作成する表示データ作成手段と、
前記シミュレーション手段に対するユーザの指示を受け付ける受け付け手段と、
前記表示データ作成手段によって作成された表示データを表示することができる表示器とを備え、
前記シミュレーション手段は、
前記制御プログラムのシーケンス制御部分をシミュレーション実行し、前記シーケンス制御部分に関する実行結果データを生成するシーケンス演算実行部と、
前記シーケンス演算実行部がシミュレーション実行するために使用するシーケンス変数記憶部と、
前記制御プログラムのモーション制御部分をシミュレーション実行し、前記モーション制御部分に関する実行結果データを生成するモーション演算実行部と、
前記モーション演算実行部がシミュレーション実行するために使用するモーション変数記憶部と、
制御周期の実行回数を計数する制御周期計数部と、
シミュレーションの再実行を開始することができる制御周期である再開可能制御周期に対応する前記実行回数のデータと、前記シーケンス変数記憶部および前記モーション変数記憶部に記憶されているデータのうち前記再開可能制御周期からシミュレーションの再実行を開始するのに用いられる変数データとを含む再開用データを保存する再開用データ記憶部とを備え、
前記シミュレーション手段は、前記再開可能制御周期を特定し、前記再開可能制御周期に対応する前記再開用データを前記再開用データ記憶部に記憶し、
前記シミュレーション手段は、再実行を開始する制御周期を特定するための指定を前記受け付け手段から取得し、前記指定を用いて再実行を開始する制御周期を特定し、特定した制御周期に対応する前記保存された再開用データを用いて前記特定された制御周期からシミュレーションの再実行を開始する、コントローラサポート装置。 A controller support device capable of executing a simulation of a control program including a sequence control portion and a motion control portion, which is executed at each control cycle in a controller that controls machine movement,
Simulation means for performing simulation execution of the control program and generating execution result data;
Display data creating means for creating display data for displaying temporal changes in the execution result data generated by the simulation means;
Receiving means for receiving a user instruction to the simulation means;
A display capable of displaying the display data created by the display data creating means,
The simulation means includes
Executing a simulation of the sequence control portion of the control program and generating execution result data relating to the sequence control portion; and
A sequence variable storage unit used by the sequence calculation execution unit to execute a simulation;
Executing a simulation of the motion control portion of the control program and generating execution result data relating to the motion control portion; and
A motion variable storage unit used by the motion calculation execution unit to execute a simulation;
A control cycle counter for counting the number of executions of the control cycle;
Among the data of the number of executions corresponding to the resumable control cycle, which is a control cycle capable of starting re-execution of the simulation, and the data stored in the sequence variable storage unit and the motion variable storage unit, the restart is possible A resumption data storage unit that saves resumption data including variable data used to start re-execution of the simulation from the control cycle,
The simulation means specifies the resumable control period, stores the resuming data corresponding to the resumable control period in the resuming data storage unit,
The simulation unit acquires a specification for specifying a control cycle for starting re-execution from the receiving unit, specifies a control cycle for starting re-execution using the specification, and corresponds to the specified control cycle A controller support device that starts re-execution of a simulation from the specified control cycle using saved data for resumption.
前記編集手段は、前記シミュレーション手段においてシミュレーション実行されたことがある制御プログラムを修正するユーザの操作を受け付け可能にされており、
前記シミュレーション手段は、前記編集手段により修正された制御プログラムについて、当該制御プログラムが修正される前に保存した再開用データを用いてシミュレーションの再実行を開始するユーザの操作を受け付け可能にされている、請求項1に記載のコントローラサポート装置。 An editing means capable of editing the control program;
The editing means is capable of accepting a user operation for correcting a control program that has been simulated in the simulation means,
The simulation means is capable of accepting a user's operation for starting re-execution of a simulation using the resumption data stored before the control program is corrected for the control program corrected by the editing means. The controller support device according to claim 1.
前記シミュレーション手段は、前記モーション制御部分が前記非活性状態から前記活性状態となる制御周期を基準として前記再開可能制御周期を特定する、請求項1に記載のコントローラサポート装置。 The motion control part of the control program is in an active state that is a state for calculating a command value in each of the control cycles and an inactive state that is not the active state,
2. The controller support device according to claim 1, wherein the simulation unit specifies the resumable control cycle based on a control cycle in which the motion control portion changes from the inactive state to the active state.
前記シミュレーション手段は、前記モーション制御部分が前記非実行中状態から前記実行中状態となる制御周期を基準として前記再開可能制御周期を特定する、請求項1に記載のコントローラサポート装置。 The motion control part of the control program is in either the running state in which the motion control part is running or the non-running state that is not in the running state in each of the control cycles,
2. The controller support device according to claim 1, wherein the simulation unit specifies the resumable control cycle based on a control cycle in which the motion control portion changes from the non-execution state to the execution state.
前記シミュレーション手段は、修正されたモーション制御部分を特定する情報を前記編集手段から取得し、前記再開可能制御周期の中から、最も最近に修正されたモーション制御部分から再実行することができる制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する、請求項2に記載のコントローラサポート装置。 The editing means corrects a motion control portion of the control program by a user operation,
The simulation means acquires information specifying the modified motion control part from the editing means, and can be re-executed from the most recently modified motion control part among the resumable control periods. The controller support device according to claim 2, wherein the controller is identified and the simulation re-execution is started from the control cycle.
前記受け付け手段は、前記リスト表示上で、再実行を開始するモーション制御部分の指定を受け付け、
前記シミュレーション手段は、前記再開可能制御周期の中から、前記指定されたモーション制御部分から再実行することができる制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する、請求項2に記載のコントローラサポート装置。 The editing means displays a list of the contents of the control program on the display,
The accepting means accepts designation of a motion control part to start re-execution on the list display,
The simulation means identifies a control cycle that can be re-executed from the designated motion control portion from the resumable control cycle, and starts re-execution of the simulation from the control cycle. The controller support device described.
前記受け付け手段は、前記表示器に表示された前記グラフ上の位置についてのユーザの指示を受け付け、
前記シミュレーション手段は、前記再開可能制御周期の中から、ユーザによって指示された前記グラフ上の位置に対応する制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する、請求項1に記載のコントローラサポート装置。 The display data creating means creates display data for displaying a temporal change in the execution result data as a graph,
The accepting means accepts a user instruction about a position on the graph displayed on the display;
2. The simulation unit according to claim 1, wherein the simulation unit identifies a control cycle corresponding to a position on the graph instructed by a user from the resumable control cycle, and starts re-execution of the simulation from the control cycle. Controller support device.
前記受け付け手段は、前記軌跡上の位置についてのユーザの指示を受け付け、
前記シミュレーション手段は、前記再開可能制御周期の中から、ユーザによって指示された前記軌跡上の位置に対応する制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する、請求項1に記載のコントローラサポート装置。 The display data creation means creates display data for displaying a temporal change in execution result data for the position generated by the simulation means as a trajectory in a two-dimensional space or a three-dimensional space,
The accepting means accepts a user instruction about a position on the trajectory,
2. The simulation unit according to claim 1, wherein the simulation unit specifies a control cycle corresponding to a position on the locus instructed by a user from the resumable control cycle, and starts re-execution of the simulation from the control cycle. Controller support device.
前記受け付け手段は、前記表示器に表示された前記位置のリスト上の位置についてのユーザの指示を受け付け、
前記シミュレーション手段は、前記再開可能制御周期の中から、ユーザによって指示された前記位置のリスト上の位置に対応する制御周期を特定し、当該制御周期からシミュレーションの再実行を開始する、請求項1に記載のコントローラサポート装置。 The display data creation means creates display data for displaying a temporal change in the execution result data as a list of positions,
The accepting means accepts a user instruction about a position on the list of the positions displayed on the display;
The simulation means identifies a control cycle corresponding to a position on the list of the positions instructed by a user from the resumable control cycle, and starts re-execution of the simulation from the control cycle. The controller support device described in 1.
ユーザの指示により前記制御プログラムをシミュレーション実行し、実行結果データを生成するシミュレーション演算ステップと、
前記シミュレーション演算ステップによって生成された実行結果データの時間的な変化を表示するための表示データを作成する表示データ作成ステップと、
前記表示データ作成ステップによって作成された表示データを前記表示器に表示する表示ステップとを備え、
前記シミュレーション演算ステップは、
前記制御プログラムのシーケンス制御部分をシミュレーション実行し、シーケンス制御部分に関する実行結果データを生成するシーケンス演算実行ステップと、
前記制御プログラムのモーション制御部分をシミュレーション実行し、モーション制御部分に関する実行結果データを生成するモーション演算実行ステップと、
制御周期の実行回数を計数する制御周期計数ステップと、
前記シミュレーションの再実行を開始することができる制御周期である再開可能制御周期を特定するステップと、
前記再開可能制御周期に対応する前記実行回数のデータと、前記シーケンス制御部分の実行に関係するシーケンス変数データおよび前記モーション制御部分の実行に関係するモーション変数データのうち前記再開可能制御周期からシミュレーションの再実行を開始するのに用いられる変数データとを含む再開用データを保存する再開用データ保存ステップと、
再実行を開始する制御周期を特定するためのユーザによる指定を受け付け、前記指定を用いて再実行を開始する制御周期を特定し、特定した制御周期に対応する前記保存された再開用データを用いて前記特定された制御周期からシミュレーションの再実行を開始する再実行開始ステップとを含む、制御プログラムのシミュレーション方法。 A simulation method for a control program, wherein a control program including a sequence control part and a motion control part, which is executed at each control cycle in a controller that controls the movement of a machine, is executed by a controller support device having a display.
A simulation calculation step of performing simulation execution of the control program according to a user instruction and generating execution result data;
A display data creation step for creating display data for displaying temporal changes in the execution result data generated by the simulation computation step;
A display step of displaying the display data created by the display data creation step on the display,
The simulation calculation step includes:
A sequence calculation execution step of executing a simulation of the sequence control portion of the control program and generating execution result data relating to the sequence control portion;
Executing a simulation of the motion control portion of the control program and generating execution result data relating to the motion control portion; and
A control cycle counting step for counting the number of executions of the control cycle;
Identifying a resumable control cycle, which is a control cycle capable of starting re-execution of the simulation;
Of the execution count data corresponding to the resumable control cycle, sequence variable data related to execution of the sequence control portion, and motion variable data related to execution of the motion control portion, simulation is started from the resumable control cycle. A restart data storage step for storing restart data including variable data used to initiate re-execution;
Accepting designation by the user for specifying a control cycle for starting re-execution, specifying a control cycle for starting re-execution using the designation, and using the saved data for restart corresponding to the specified control cycle And a re-execution start step of starting re-execution of the simulation from the specified control period.
前記制御プログラムは、前記コントローラサポート装置に対して、
ユーザの指示により前記制御プログラムをシミュレーション実行し、実行結果データを生成するシミュレーション演算ステップと、
前記シミュレーション演算ステップによって生成された実行結果データの時間的な変化を表示するための表示データを作成する表示データ作成ステップと、
前記表示データ作成ステップによって作成された表示データを前記表示器に表示する表示ステップとを実行させ、
前記シミュレーション演算ステップは、
前記制御プログラムのシーケンス制御部分をシミュレーション実行しシーケンス制御部分に関する実行結果データを生成するシーケンス演算実行ステップと、
前記制御プログラムのモーション制御部分をシミュレーション実行しモーション制御部分に関する実行結果データを生成するモーション演算実行ステップと、
制御周期の実行回数を計数する制御周期計数ステップと、
前記シミュレーションの再実行を開始することができる制御周期である再開可能制御周期を特定するステップと、
前記再開可能制御周期に対応する前記実行回数のデータと、前記シーケンス制御部分の実行に関係するシーケンス変数データおよび前記モーション制御部分の実行に関係するモーション変数データのうち前記再開可能制御周期からシミュレーションの再実行を開始するのに用いられる変数データとを含む再開用データを保存する再開用データ保存ステップと、
再実行を開始する制御周期を特定するためのユーザによる指定を受け付け、前記指定を用いて再実行を開始する制御周期を特定し、特定した制御周期に対応する前記保存された再開用データを用いて前記特定された制御周期からシミュレーションの再実行を開始する再実行開始ステップとを含む、コントローラのサポートプログラム。 A controller support program for executing a simulation of a control program including a sequence control portion and a motion control portion, which is executed at each control cycle in a controller that controls machine movement, in a controller support device having a display,
The control program is for the controller support device.
A simulation calculation step of performing simulation execution of the control program according to a user instruction and generating execution result data;
A display data creation step for creating display data for displaying temporal changes in the execution result data generated by the simulation computation step;
A display step of displaying the display data created by the display data creation step on the display,
The simulation calculation step includes:
A sequence calculation execution step of executing a simulation of the sequence control portion of the control program and generating execution result data relating to the sequence control portion;
A motion calculation execution step of executing a simulation of the motion control portion of the control program and generating execution result data relating to the motion control portion;
A control cycle counting step for counting the number of executions of the control cycle;
Identifying a resumable control cycle, which is a control cycle capable of starting re-execution of the simulation;
Of the execution count data corresponding to the resumable control cycle, sequence variable data related to execution of the sequence control portion, and motion variable data related to execution of the motion control portion, simulation is started from the resumable control cycle. A restart data storage step for storing restart data including variable data used to initiate re-execution;
Accepting designation by the user for specifying a control cycle for starting re-execution, specifying a control cycle for starting re-execution using the designation, and using the saved data for restart corresponding to the specified control cycle And a re-execution start step for starting re-execution of the simulation from the specified control period.
前記制御プログラムは、前記コントローラサポート装置に対して、
ユーザの指示により前記制御プログラムをシミュレーション実行し実行結果データを生成するシミュレーション演算ステップと、
前記シミュレーション演算ステップによって生成された実行結果データの時間的な変化を表示するための表示データを作成する表示データ作成ステップと、
前記表示データ作成ステップによって作成された表示データを前記表示器に表示する表示ステップとを実行させ、
前記シミュレーション演算ステップは、
前記制御プログラムのシーケンス制御部分をシミュレーション実行しシーケンス制御部分に関する実行結果データを生成するシーケンス演算実行ステップと、
前記制御プログラムのモーション制御部分をシミュレーション実行しモーション制御部分に関する実行結果データを生成するモーション演算実行ステップと、
制御周期の実行回数を計数する制御周期計数ステップと、
前記シミュレーションの再実行を開始することができる制御周期である再開可能制御周期を特定するステップと、
前記再開可能制御周期に対応する前記実行回数のデータと、前記シーケンス制御部分の実行に関係するシーケンス変数データおよび前記モーション制御部分の実行に関係するモーション変数データのうち前記再開可能制御周期からシミュレーションの再実行を開始するのに用いられる変数データとを含む再開用データを保存する再開用データ保存ステップと、
再実行を開始する制御周期を特定するためのユーザによる指定を受け付け、前記指定を用いて再実行を開始する制御周期を特定し、特定した制御周期に対応する前記保存された再開用データを用いて前記特定された制御周期からシミュレーションの再実行を開始する再実行開始ステップとを含む、コントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体。 A computer storing a controller support program for executing a simulation of a control program including a sequence control portion and a motion control portion, which is executed at each control cycle in a controller that controls the movement of the machine, in a controller support device having a display A readable storage medium,
The control program is for the controller support device.
A simulation calculation step of executing the simulation of the control program according to a user instruction and generating execution result data;
A display data creation step for creating display data for displaying temporal changes in the execution result data generated by the simulation computation step;
A display step of displaying the display data created by the display data creation step on the display,
The simulation calculation step includes:
A sequence calculation execution step of executing a simulation of the sequence control portion of the control program and generating execution result data relating to the sequence control portion;
A motion calculation execution step of executing a simulation of the motion control portion of the control program and generating execution result data relating to the motion control portion;
A control cycle counting step for counting the number of executions of the control cycle;
Identifying a resumable control cycle, which is a control cycle capable of starting re-execution of the simulation;
Of the execution count data corresponding to the resumable control cycle, sequence variable data related to execution of the sequence control portion, and motion variable data related to execution of the motion control portion, simulation is started from the resumable control cycle. A restart data storage step for storing restart data including variable data used to initiate re-execution;
Accepting designation by the user for specifying a control cycle for starting re-execution, specifying a control cycle for starting re-execution using the designation, and using the saved data for restart corresponding to the specified control cycle And a re-execution start step for starting re-execution of the simulation from the specified control period. A computer-readable storage medium storing a controller support program.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010057467A JP5246186B2 (en) | 2010-03-15 | 2010-03-15 | Controller support device, control program simulation method, controller support program, and computer-readable storage medium storing controller support program |
EP11756015.1A EP2549344B1 (en) | 2010-03-15 | 2011-02-14 | Simulation method of control program enabling a selective restart of the simulation |
CN201180014340.4A CN102804087B (en) | 2010-03-15 | 2011-02-14 | Controller support device, simulation method of control program |
PCT/JP2011/053032 WO2011114825A1 (en) | 2010-03-15 | 2011-02-14 | Controller support device, simulation method of control program, support program of controller and computer-readable storage medium storing support program of controller |
US13/634,907 US9607112B2 (en) | 2010-03-15 | 2011-02-14 | Controller support device, simulation method of control program, support program for a controller, and computer readable storage medium for storing the support program of the controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010057467A JP5246186B2 (en) | 2010-03-15 | 2010-03-15 | Controller support device, control program simulation method, controller support program, and computer-readable storage medium storing controller support program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011192016A JP2011192016A (en) | 2011-09-29 |
JP5246186B2 true JP5246186B2 (en) | 2013-07-24 |
Family
ID=44648932
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010057467A Active JP5246186B2 (en) | 2010-03-15 | 2010-03-15 | Controller support device, control program simulation method, controller support program, and computer-readable storage medium storing controller support program |
Country Status (5)
Country | Link |
---|---|
US (1) | US9607112B2 (en) |
EP (1) | EP2549344B1 (en) |
JP (1) | JP5246186B2 (en) |
CN (1) | CN102804087B (en) |
WO (1) | WO2011114825A1 (en) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6051546B2 (en) * | 2012-03-15 | 2016-12-27 | オムロン株式会社 | Information processing apparatus, simulation method, and program |
US8893065B2 (en) * | 2012-07-11 | 2014-11-18 | Mentor Graphics Corporation | Biometric markers in a debugging environment |
US20140088927A1 (en) * | 2012-09-27 | 2014-03-27 | Siemens Product Lifecycle Management Software Inc. | Systems and methods for simulation of virtual model |
DE112013006837T5 (en) | 2013-04-12 | 2015-12-03 | Mitsubishi Electric Corporation | Peripheral device for programmable controller and debugging support program |
JP6379501B2 (en) * | 2014-02-05 | 2018-08-29 | 株式会社デンソーウェーブ | Robot teaching device |
EP3101497B1 (en) * | 2014-03-14 | 2020-02-26 | Omron Corporation | Control system |
WO2015136970A1 (en) * | 2014-03-14 | 2015-09-17 | オムロン株式会社 | Control apparatus and control system |
DE112014002985B4 (en) | 2014-04-30 | 2019-04-11 | Mitsubishi Electric Corporation | Simulation system and programmable controller |
WO2015173886A1 (en) * | 2014-05-13 | 2015-11-19 | 三菱電機株式会社 | Control device and control method |
JP5956506B2 (en) * | 2014-05-23 | 2016-07-27 | ファナック株式会社 | Numerical control device with program processing resume function |
JP6476594B2 (en) * | 2014-05-26 | 2019-03-06 | オムロン株式会社 | Simulation system |
JP6395467B2 (en) * | 2014-06-19 | 2018-09-26 | 三菱電機株式会社 | Ladder function simulator, ladder circuit diagram editing device, and ladder function simulator program |
JP2016012191A (en) * | 2014-06-27 | 2016-01-21 | オムロン株式会社 | Information processing device, information processing method, and program |
JP6140111B2 (en) | 2014-07-14 | 2017-05-31 | ファナック株式会社 | Numerical control device with automatic setting restoration function and erroneous setting prevention function |
JP6117281B2 (en) * | 2015-06-23 | 2017-04-19 | Thk株式会社 | Air pump device and air pump system using electric actuator |
KR102079499B1 (en) * | 2015-10-20 | 2020-02-21 | 엘에스산전 주식회사 | A method of independent control period allocation of axis in the PLC positioning system |
JP6432494B2 (en) * | 2015-11-30 | 2018-12-05 | オムロン株式会社 | Monitoring device, monitoring system, monitoring program, and recording medium |
JP6639310B2 (en) * | 2016-04-06 | 2020-02-05 | 株式会社東芝 | Virtual plant simulation system, command device, virtual plant simulation method |
WO2017179120A1 (en) * | 2016-04-12 | 2017-10-19 | 三菱電機株式会社 | Simulation reproduction device and simulation reproduction program |
JP2018055654A (en) * | 2016-09-30 | 2018-04-05 | オムロン株式会社 | Information processing device, and information processing method and program |
US11467569B2 (en) | 2016-10-14 | 2022-10-11 | Mitsubishi Electric Corporation | Simulation device |
KR102126270B1 (en) * | 2017-08-28 | 2020-06-24 | (주)이노시뮬레이션 | Motion Buffer Control Method of Real-Time Motion Simulation System |
JP6913058B2 (en) * | 2017-09-14 | 2021-08-04 | オークマ株式会社 | Machining simulation equipment |
US20190079489A1 (en) * | 2017-09-14 | 2019-03-14 | Okuma Corporation | Machining simulation apparatus |
JP7087316B2 (en) * | 2017-09-27 | 2022-06-21 | オムロン株式会社 | Information processing equipment, information processing methods and programs |
JP6757385B2 (en) | 2018-10-23 | 2020-09-16 | 株式会社キーエンス | Programmable logic controller and main unit |
JP6948450B2 (en) * | 2020-08-07 | 2021-10-13 | 株式会社キーエンス | Programmable logic controller and main unit |
CN112783617B (en) * | 2020-12-10 | 2024-03-29 | 国电南京自动化股份有限公司 | Sequential control method with virtual execution suitable for rail transit monitoring application |
WO2022239051A1 (en) | 2021-05-10 | 2022-11-17 | 三菱電機株式会社 | System for verifying design of manufacturing apparatus |
WO2024201677A1 (en) * | 2023-03-27 | 2024-10-03 | 三菱電機株式会社 | Action prediction program, action prediction device, and action prediction method |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5229948A (en) * | 1990-11-03 | 1993-07-20 | Ford Motor Company | Method of optimizing a serial manufacturing system |
US5485620A (en) * | 1994-02-25 | 1996-01-16 | Automation System And Products, Inc. | Integrated control system for industrial automation applications |
JP3757342B2 (en) * | 1996-06-19 | 2006-03-22 | 株式会社キーエンス | Data processing device |
JP2001209406A (en) | 2000-01-25 | 2001-08-03 | Omron Corp | Plc simulator |
JP4390093B2 (en) * | 2000-09-14 | 2009-12-24 | 株式会社森精機製作所 | Automatic programming and simulation equipment |
CN1427337A (en) * | 2001-12-21 | 2003-07-02 | 洛阳玻璃股份有限公司 | Analogue emulation system of switching quantity sequence control process and analogue emulation method |
CA2510556C (en) * | 2004-07-01 | 2013-02-19 | Cae Inc. | Method and system for simulation-based troubleshooting and fault verification in operator-controlled complex systems |
JP4343072B2 (en) * | 2004-09-16 | 2009-10-14 | ヤマザキマザック株式会社 | NC machining simulation equipment |
JP4505295B2 (en) * | 2004-09-16 | 2010-07-21 | ヤマザキマザック株式会社 | NC machining simulation method and NC machining simulation apparatus |
JP4670719B2 (en) * | 2006-04-21 | 2011-04-13 | 三菱電機株式会社 | Numerical control device and simulation device for performing simulation using data from this numerical control device |
JP4920785B2 (en) * | 2008-04-22 | 2012-04-18 | 三菱電機株式会社 | Numerical control method and apparatus |
JP5013482B2 (en) * | 2008-04-25 | 2012-08-29 | 株式会社ソディック | Processing simulation equipment |
-
2010
- 2010-03-15 JP JP2010057467A patent/JP5246186B2/en active Active
-
2011
- 2011-02-14 WO PCT/JP2011/053032 patent/WO2011114825A1/en active Application Filing
- 2011-02-14 EP EP11756015.1A patent/EP2549344B1/en not_active Not-in-force
- 2011-02-14 CN CN201180014340.4A patent/CN102804087B/en not_active Expired - Fee Related
- 2011-02-14 US US13/634,907 patent/US9607112B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2011114825A1 (en) | 2011-09-22 |
EP2549344B1 (en) | 2016-05-18 |
CN102804087B (en) | 2015-04-15 |
JP2011192016A (en) | 2011-09-29 |
US9607112B2 (en) | 2017-03-28 |
EP2549344A1 (en) | 2013-01-23 |
EP2549344A4 (en) | 2014-10-01 |
CN102804087A (en) | 2012-11-28 |
US20130124184A1 (en) | 2013-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5246186B2 (en) | Controller support device, control program simulation method, controller support program, and computer-readable storage medium storing controller support program | |
US7945349B2 (en) | Method and a system for facilitating calibration of an off-line programmed robot cell | |
US7194396B2 (en) | Simulation device | |
US20190051049A1 (en) | Information processing apparatus, information processing method, and non-transitory storage medium | |
US10814486B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
US10860010B2 (en) | Information processing apparatus for estimating behaviour of driving device that drives control target, information processing method and computer readable recording medium | |
US9563195B2 (en) | Device and method for displaying a change in the position of an object | |
US10761513B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
US20050102054A1 (en) | Method and system for simulating processing of a workpiece with a machine tool | |
WO2015166563A1 (en) | Simulation system, programmable controller, simulation device, and engineering tool | |
CN109613880B (en) | Information processing apparatus, information processing method, and computer-readable recording medium thereof | |
JP2009070181A (en) | Operation program creation support system | |
CN117648042B (en) | Industrial robot dragging teaching movement control method and system | |
JPH11272307A (en) | Motion control device | |
JP2007011680A (en) | Cycle time simulation device | |
JPH1139011A (en) | Method and device for supporting program preparation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120228 |
|
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: 20130312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130325 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5246186 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160419 Year of fee payment: 3 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |