JP6429842B2 - Plc位置決定システムにおける軸毎の制御周期独立割当方法 - Google Patents

Plc位置決定システムにおける軸毎の制御周期独立割当方法 Download PDF

Info

Publication number
JP6429842B2
JP6429842B2 JP2016203273A JP2016203273A JP6429842B2 JP 6429842 B2 JP6429842 B2 JP 6429842B2 JP 2016203273 A JP2016203273 A JP 2016203273A JP 2016203273 A JP2016203273 A JP 2016203273A JP 6429842 B2 JP6429842 B2 JP 6429842B2
Authority
JP
Japan
Prior art keywords
axis
control
calculation
axis group
control cycle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016203273A
Other languages
English (en)
Other versions
JP2017079060A (ja
Inventor
ショク‐イョン・キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LS Electric Co Ltd
Original Assignee
LSIS Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LSIS Co Ltd filed Critical LSIS Co Ltd
Publication of JP2017079060A publication Critical patent/JP2017079060A/ja
Application granted granted Critical
Publication of JP6429842B2 publication Critical patent/JP6429842B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/19Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path
    • G05B19/27Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device
    • G05B19/29Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by positioning or contouring control systems, e.g. to control position from one programmed point to another or to control movement along a programmed continuous path using an absolute digital measuring device for point-to-point control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/13Plc programming
    • G05B2219/13042Display logic diagram, LOP
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34323Commanding different axis in sequential order as function of direction of movement
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34411Handling time critical and time non critical program sequences
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34412Mark some sequences of time non critical sequences as locked, non interruptable
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/36Nc in input of data, input key till input tape
    • G05B2219/36507Select program or execute command, control instructions as function of axis position

Description

本発明は、PLC位置決定システムにおける軸毎の制御周期独立割当方法に関し、より詳細には、多数の軸を制御するPLC位置決定システムにおいて、各軸を、早い応答を要求する第1の軸グループと、比較的遅い応答を要求する第2の軸グループとに区分し、第1の軸グループの位置制御演算が要求される時点にタスクを切り替えて、第1の軸グループの位置制御演算を第2の軸グループの位置制御演算より優先的に行うように軸毎に制御周期を独立して割り当てる、PLC位置決定システムにおける軸毎の制御周期独立割当方法に関する。
PLC(Programmable Logic Controller)の位置決定機能は、PLCのトランジスタ出力接点に高速のパルス列を出力してモータを駆動することで、対象体を正確な位置に移動させる機能である。
自動制御システムが益々複雑化するに伴って、多数の軸を一つのコントローラで制御するアプリケーションが多くなっている。既存のパルスやアナログ信号を用いた直接的なサーボドライブ制御は、入出力接点とサーボドライブが1:1に連結されるため、制御できるサーボドライブの個数に限界があった。
しかし、近年、このような方式から脱皮して、ネットワーク技術を用いて目標位置と速度をリアルタイムで多数のサーボドライブに伝送する方式が活用されている。
例えば、EtherCATプロトコルを用いると、100個のサーボ軸に対して、100us毎に命令値及び制御データを提供することができる。しかし、100個のサーボ軸に対して、それぞれの移動量を100us毎に演算することは困難である。もちろん、高い性能のMPUを用いると演算時間を短縮することはできるが、根本的な限界は依然として存在する。
PLCの位置決定システムは、単位時間を制御周期として決め、制御周期毎に出力するべきパルスを演算する。制御周期は、製造社や製品によって異なるが、通常、数百μs〜数十msである。制御周期の間に出力されるパルスの周波数は一定であり、制御周期毎に、次の制御周期の間に出力されるパルスの速度が決定される。したがって、制御周期が短いほど、よりスムーズなモータ制御が可能となる。
図1及び図2は従来のPLC位置決定システムの位置制御演算方式を説明するための図面である。
図1及び図2を参照すると、各区間の制御周期開始地点から軸毎に制御周期内に移動する移動量を演算する(S1)。一般に、第1の軸から開始し、最後の軸(製品毎に異なる)まで演算を完了する。演算を完了すると、該当制御周期における残り時間の間に、待機するかまたは制御に必要な残りの作業を進行する(S2)。演算を完了した後、次の制御周期の間に、以前の制御周期で演算した移動量をサーボドライブに出力し、該当制御周期では各軸のその次の制御周期の間の移動量を演算する(S3)。すなわち、第2の制御周期の間に、第1の制御周期で演算された移動量を出力する。この際、演算された移動量は出力バッファに格納されてから出力される。
従来の方式は、各軸毎に制御周期が同一であるため、全ての軸の最大演算時間を考慮して制御周期を割り当てなければならない。例えば、1個の軸の演算時間が最大1msであり、同種の軸が10個であるシステムを制御する場合には、少なくとも10msの制御周期を割り当てなければならない。
図3は、従来のPLC位置決定システムにおいて、全ての軸を演算する時間が制御周期を超えた場合を説明するための図面である。
図3を参照すると、1軸と2軸を含む最初の制御周期内に演算を完了した軸の移動量は、次の制御周期の間にサーボドライブに正常に伝達されるが、最初制御周期(第1区間)内で演算が完了されなかった軸は、次の制御周期の間に出力する移動量がなくなる。
したがって、第2区間では、n軸が実際に出力されず、この現象が積み重なると、益々大きい位置誤差が誘発される。このため、全ての軸に対して同一の制御周期で制御を行う場合、割り当てた制御周期内に全ての軸の位置制御演算を完了しなければならない。
しかし、制御周期は、制御システムの応答性と柔軟性に影響を与える。制御周期が長いと、その分だけエンドポイント(End‐Point)における反応速度が遅くなり、これは製造業の生産量に直接的な影響を与える。
また、加・減速区間で速度変化量が大きくなるため、機構的な衝撃による故障を誘発する可能性が高くなる。したがって、多数の軸を演算する際には、他の具現方法が要求される。
そこで、本発明が解決しようとする課題は、多数の軸を制御するPLC位置決定システムにおいて全ての軸を柔軟に制御できるPLC位置決定システムにおける軸毎の制御周期独立割当方法を提供することにある。
本発明が達成しようとする課題は上述の課題に制限されず、言及されていない他の課題は、以下の記載から提案される実施形態が属する技術分野において通常の知識を有する者に明確に理解されるであろう。
本発明の一側面によれば、PLC位置決定システムにおける制御周期割当方法であって、各軸を、第1の制御周期を有する第1の軸グループと、第2の制御周期を有する第2の軸グループとに区分し、各軸毎に異なる制御周期を割り当てるステップと、前記第2の軸グループの位置制御演算中に第1の軸グループの位置制御演算が要請されると、割込みによるタスク切り替えによって前記第1の軸グループの位置制御演算を行うステップと、前記第1の軸グループの位置制御演算を完了した後、割込みによるタスク切り替えによって前記第2の軸グループの位置制御演算を引き続き行うステップと、を含む、PLC位置決定システムにおける軸毎の制御周期独立割当方法が提供される。
前記各軸毎に異なる制御周期を割り当てるステップにおいて、前記第1の軸グループに単一軸を指定することができる。
前記各軸毎に異なる制御周期を割り当てるステップにおいて、前記第1の軸グループに複数の軸を指定することができる。
前記各軸毎に異なる制御周期を割り当てるステップにおいて、前記第1の制御周期及び前記第2の制御周期は、各軸に対する位置制御演算実行区間及びマージン区間を含むことができる。
前記第2の軸グループの位置制御演算を引き続き行うステップにおいて、前記第1の制御周期の位置制御演算実行区間の間に前記第1の軸グループの位置制御演算が完了されると、前記第2の軸グループの位置制御演算のためのタスク切り替えを行うことができる。
前記第2の軸グループの位置制御演算を引き続き行うステップにおいて、前記第1の軸グループの前記マージン区間の間に前記第2の軸グループの位置制御演算を引き続き行うことができる。
前記各軸毎に異なる制御周期を割り当てるステップは、前記第1の軸グループの軸にISP領域のスタックを割り当て、前記第2の軸グループの軸にUSP領域のスタックを割り当てるステップをさらに含むことができる。
前記各軸毎に異なる制御周期を割り当てるステップにおいて、前記ISP領域を用いる軸の演算が、前記第1の制御周期より短い時間内に完了されるように指定することができる。
前記第1の軸グループの位置制御演算を行うステップは、前記第2の軸グループの位置制御演算を行う中に、前記第1の制御周期の位置制御演算が要求される時点にスタック切り替え割込みが発生すると、全てのレジスタを前記USP領域にプッシュし、割込みサービスルーチンの完了後に前記ISP領域に復帰するように復帰アドレスを第1の制御周期演算領域に変更するステップを含み、前記第2の軸グループの位置制御演算を引き続き行うステップは、前記第1の軸グループの位置制御演算を完了すると、前記ISP領域に一般レジスタと状態レジスタ、プログラムカウンタをプッシュし、前記USP領域にスタック切り替えを行った後、さらに前記第2の軸グループの位置制御演算を引き続き行うステップを含むことができる。
本発明によれば、多数の軸を制御するPLC位置決定システムにおいて全ての軸を柔軟に制御するために、既存のように一括して制御周期を適用する方法から脱皮して、各軸を、第1の軸グループ(早い応答を要求する軸)と第2の軸グループ(比較的遅い応答を要求する軸)とに区分し、2つのグループの運転データ演算中に第1の軸グループの演算が要求された時点にタスクを切り替えて、第1の軸グループの位置制御演算を優先的に行うことができる。
本発明によれば、早い応答が要求される軸に対して演算優先順位を付与することで、制御軸が多くなる場合にも、早い応答を要求する軸の応答速度を保障することができる。
産業現場では、多関節ロボットなどのように、反応速度に敏感であり且つ軸毎の同期が重要な軸があり、コンベアベルトなどのように、反応速度や軸毎の同期に比較的敏感ではない軸がある。したがって、本発明によれば、第1の軸グループに多関節ロボットなどを制御する軸を割り当て、第2の軸グループにコンベアベルトなどを制御する軸を割り当てることで、大規模システムでもサーボドライブを柔軟に制御することができる。
従来のPLC位置決定システムの位置制御演算方式を説明するための図である。 従来のPLC位置決定システムの位置制御演算方式を説明するための図である。 従来のPLC位置決定システムにおいて、全ての軸を演算する時間が制御周期を超えた場合を説明するための図である。 本発明の一実施形態によるPLC位置決定システムを説明するための図である。 本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法を説明するための図である。 本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法において、関数呼び出し時における現在のスタックの格納領域を示す。 本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法において、割込み呼び出し時における現在のスタックの格納領域を示す。 本発明の一実施形態による、短い制御周期と長い制御周期の制御演算を行うことを説明するための図である。 本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法のシミュレーション結果を説明するグラフである。 本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法のシミュレーション結果を説明するグラフである。
本発明は多様に変更されることができ、様々な実施形態を有することができて、特定実施形態を図面に例示して詳細に説明する。但し、これは本発明を特定の実施形態に限定するためのものではなく、本発明の技術思想及び技術範囲に含まれる全ての変更、均等物乃至代替物を含むものと理解されるべきである。
以下、添付図面を参照して本発明の好ましい一実施形態を詳細に説明する。
図4は本発明の一実施形態によるPLC位置決定システムを説明するための図である。
図4を参照すると、本発明の一実施形態によるPLC位置決定システム100は、位置決定制御部110と、高速フォトカプラ120と、外部インタフェース部130と、を含んで構成されることができる。
位置決定制御部110は、各軸を第1の軸グループと第2の軸グループに分け、2つのグループの運転データ演算中に、第1の軸グループの演算が要求された時点でタスクを切り替えて、第1のグループの位置制御演算を優先的に行うように構成される。第1の軸グループには早い応答を要求する軸が該当され、第2の軸グループには比較的遅い応答を要求する軸が該当される。
位置決定制御部110は、第1の軸グループに1つの軸を指定し、第2の軸グループに残りの軸を指定することができる。このようにすると、第1の軸グループに指定された軸に対する演算が、他の軸に対する演算より優先的に実行されることができる。
位置決定制御部110は、第1の軸グループに複数の軸を指定し、第2の軸グループに残りの軸を指定することができる。このようにすると、第1の軸グループに指定された複数の軸に対する演算が、他の軸に対する演算より優先的に実行されることができる。
例えば、位置決定制御部110は、第1の軸グループに2つの軸を指定し、第2の軸グループに残りの軸を指定することができる。このようにすると、第1の軸グループに指定された2つの軸に対する演算が、他の軸に対する演算より優先的に実行されることができる。この際、第1の軸グループに指定された2つの軸は、互いに同一の優先順位を有することになる。第1の軸グループに指定される軸の数が多くなるほど、第1の軸グループ内に指定された軸が優先順位を共有することになるため、第1の軸グループに指定される軸の数を1つにするか、その個数をなるべく少なくすることが好ましい。
位置決定制御部110は、ユーザにより設定された出力モードがパルス/方向またはCW/CCWである場合と、出力レベルがハイアクティブまたはローアクティブである場合に応じて、高速パルス列を生成することができる。パルス列は、絶縁伝送部である高速フォトカプラ120を介して、外部と絶縁された状態で外部に伝送される。高速フォトカプラ120を介して伝送されたパルス列は、外部インタフェース部130により、外部のモータドライバ200に適したオープンコレクタまたはラインドライブの形態の信号レベルに変換されて出力される。
図5は、本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法を説明するための図である。
図5を参照すると、位置決定制御部110は、各軸を、第1の制御周期を有する第1の軸グループと、第2の制御周期を有する第2の軸グループとに区分し、各軸毎に異なる制御周期を割り当てる(S11)。
すなわち、位置決定制御部110は、タスクの切り替えを用いて、早い応答を要求する軸には短い制御周期(第1の制御周期)を適用し、比較的応答が遅くてもよい軸には長い制御周期(第2の制御周期)を割り当てるように、各軸毎に異なる制御周期を割り当てる。
例えば、位置決定制御部110は、多関節ロボットなどのように、短い制御周期が要求されるサーボドライブグループ(第1の軸グループ)と、コンベアベルトなどのように、比較的制御周期が長くてもよいサーボドライブグループ(第2の軸グループ)とに区分する。そして、第1の軸グループの位置制御演算の優先順位を第2の軸グループの位置制御演算の優先順位より高くする。
すなわち、位置決定制御部110は、第2の軸グループの位置制御演算中に第1の軸グループの位置制御演算が要請されると、第1の軸グループの位置制御演算を行う(S12)。そして、第1の軸グループの位置制御演算を完了した後、第2の軸グループの位置制御演算を引き続き行う(S13)。これにより、第2の軸グループの制御周期を増やすことなく、第1の軸グループの短い制御周期を保障することができる。
位置決定制御部110はMPU(Micro Process Unit)を用いて具現されることができる。この場合、位置決定制御部110は、MPUの内部周辺装置(peripheral)を用いたタスク切り替えを用いて、制御周期を独立して割り当てることができる。
RTOS(Real Time Operating System)を用いてタスク切り替え技術を具現する場合には、不要な周期的/非周期的スケジューリングが多くの負荷を誘発するため、MPU資源が無駄使いされ得る。
したがって、位置決定制御部110は、RTOSの機能のうち、タイマ割込み発生時に柔軟にタスク切り替えが可能なプロセスを行うことができる。
すなわち、位置決定制御部110は、制御周期の長い軸の位置演算中に、制御周期の短い軸の位置演算が要求された時には、進行中であった演算を停止し、制御周期の短い軸の位置演算を優先的に行う。位置決定制御部110は、制御周期の短い軸の位置演算を完了すると、さらに制御周期の長い軸の位置演算を引き続き進行する。
そのために、位置決定制御部110は2つの軸制御規則を有する。
第一に、制御周期の長い軸の位置制御演算中に、制御周期の短い軸の位置制御演算が要求されると、制御周期の短い軸の位置制御演算ルーチンが直ちに行われるように構成される。
第二に、制御周期の短い軸の位置制御演算が完了すると、制御周期の長い軸の位置制御演算が引き続き進行されるように構成される。
互いに異なる制御周期を有する軸の位置制御演算を柔軟に具現するためには、タスク切り替え技法が必要である。一般的なRTOSは、タイムチック(Time Tick)を用いるか、またはカーネルが動作するAPI関数呼び出しを用いてタスクを切り替える。カーネルのスケジューラは、カーネル関数が呼び出されると、現在準備状態であるタスクのうち最も高い優先順位を有するタスクを実行する。
しかし、一般的な組み込みRTOSのタイムチック(Time Tick)は10msであり、通常、位置決定制御のためには1ms内外の制御周期を基本的に提供している。そのため、タスク切り替えのために行われる作業が必要以上に発生し、システムに負担をかけることになり得る。したがって、位置決定制御部110は、Non‐RTOSにおいてマルチタスキング技法のみを用いてタスクを切り替える方法が好適である。
タスク切り替えのためにはスタック分割が必要であり、スタック分割は、ユーザが任意にソースコードにより具現することができる。例えば、位置決定制御部110はスタック分割方式を用いることができる。スタック分割方式は、ISP(Interrupt Stack Pointer)とUSP(User Stack Pointer)を用いることができる。位置決定制御部110は、コントロールレジスタの操作により、現在のスタック分割においてISP領域を用いるかまたはUSP領域を用いるかを決定することができる。
図6は、本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法において、関数呼び出し時における現在スタックの格納領域を示す。
図6を参照すると、位置決定制御部110は、Func1のタスクを行う中に、Func2のタスクを行うように関数呼び出しを受信することができる。この際、ISP領域とUSP領域の何れを用いるかによって、プッシュ(push)及びポップ(pop)される領域が互いに異なる。
位置決定制御部110は、ISP領域を用いている場合には、Func1のタスクを行う中にFunc2のタスクを行うための関数呼び出しが発生すると、ISP領域にプッシュする。そして、さらにFunc2のタスクを完了した後にFunc1のタスクに切り替える場合にもISP領域からポップ(pop)する。
一方、位置決定制御部110は、USP領域を用いている場合、Func1のタスクを行う中にFunc2のタスクを行うための関数呼び出しが発生すると、USP領域にプッシュする。そして、さらにFunc2のタスクを完了した後にFunc1のタスクに切り替える場合にもUSP領域からポップ(pop)する。
図7は、本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法において、割込み呼び出し時における現在スタックの格納領域を示す。
図7を参照すると、位置決定制御部110は、ISP領域を用いる場合とUSP領域を用いる場合の両方で、割込みが発生すると、ISP領域を用いてプッシュ(push)とポップ(pop)を行う。
すなわち、位置決定制御部110は、Func1のタスクを行う中にInterrupt1が発生するとISP領域にプッシュし、Interrupt1のタスクを行う中にInterrupt2が発生するとISP領域にプッシュする。
さらに、Interrupt2のタスクを完了した後にInterrupt1のタスクに切り替える場合にもISP領域からポップ(pop)する。そして、Interrupt1のタスクを完了した後にFunc1のタスクに切り替える場合にもISP領域からポップ(pop)する。
このように、位置決定制御部110は、特別な操作がない際にはISP領域を用い、関数呼び出しや割込みが発生した際には、現在の状態をISP領域に格納する。位置決定制御部110は、USPを用いる場合にも関数呼び出しが発生した際には現在の状態をUSP領域に格納するが、割込みが発生した際にはISP領域を用いることができる。
したがって、位置決定制御部110は、割込み処理プロセスを用いて、2つの独立したタスクのうち、ISP領域は早い応答速度を要求する軸に対して用い、USP領域は比較的応答速度が遅くてもよい軸に対して用いる。
便宜のために、早い制御周期を第1の制御周期と、比較的遅い制御周期を第2の制御周期と定義する。したがって、位置決定制御部110は、ISP領域を用いる軸に対しては第1の制御周期を基準として運転データを演算し、USP領域を用いる軸に対しては第2の制御周期を基準として運転データを演算する。第1の制御周期が始まると、ISP領域を用いる軸の位置制御演算を開始する。
ここで、ISP領域を用いる軸の演算は、第1の制御周期より短い時間内に完了される程度に指定するべきである。第1の制御周期より演算時間が長い場合が発生しないように留意するべきである。早い応答速度を要求する軸の演算が第1の制御周期内に完了され、次の制御周期が始まる前までの残る時間中に、遅い制御周期を有する軸の演算を行う方式によりタスクを管理する。
図8は、本発明の一実施形態による、短い制御周期と長い制御周期の制御演算を行うことを説明するための図である。
図8を参照すると、位置決定制御部110は、運転データ演算を開始すると、先ず、ISP領域にある第1の制御周期演算を開始する。第1の制御周期で行うべきの全ての制御演算を完了すると、位置決定制御部110のシステムレジスタを用いてUSP領域にスタック切り替えを行う。
位置決定制御部110は、USP領域で第2の制御周期を演算する中に第1の制御周期の位置制御演算のためのタイマ割込みが発生すると、USP領域での演算を停止する。そして、レジスタと状態をUSP領域のスタックに格納した後、ISP領域にスタック切り替えする。タスク切り替えにより、第1の制御周期の位置制御演算を優先的に行う。この際、プログラムポインタは、ISPからUSPに切り替えた時点の次のステップを指定するため、ISP領域の演算が引き続き行われる。
すなわち、位置決定制御部110は、タイマ割込みを用いて第2の制御周期を演算する中に第1の制御周期の位置制御演算が要求された時点にスタック切り替え割込み(1ms)が発生すると、全てのレジスタをUSP領域にプッシュする。そして、割込みサービスルーチンの完了後にISP領域に復帰するように、復帰アドレスを第1の制御周期演算領域に変更する。その後、スタックを切り替えて第1の制御周期の位置制御演算を行い、第1の制御周期の位置制御演算を完了すると、ISP領域に一般レジスタと状態レジスタ、プログラムカウンタをプッシュする。そして、USPにスタック切り替え後、さらに第2の制御周期の位置制御演算を引き続き行う。
図9は、本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法のシミュレーション結果を説明するグラフである。
図9を参照すると、一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法のシミュレーションを行うために、renesas社のRx621 MPUを用いた。プログラムが作業中の領域がISP領域であるかUSP領域であるかを確認するために、GPIOピンを用いて出力されるOn/Off信号をオシロスコープで測定した。第1の制御周期演算中である場合には、オシロスコープの3番プローブ(CH3)と連結したGPIOをOn、演算完了後にはOffし、第2の制御周期に対しても同様に2番プローブ(CH2)と連結した。
第1の制御周期は1msと指定し、第2の制御周期は5msと指定した。すなわち、第1の制御周期が5回繰り返す間に、第2の制御周期は1回繰り返す。
上記の方式により、互いに異なる制御周期を有する2つのグループの運転データ演算が、時間が経過するにしたがって下記のように行われることを確認した。
図9から確認できるように、位置決定制御部110は、第1の制御周期演算を完了すると、第2の制御周期タスク切り替えを用いて第2の制御周期を演算する。そして、第2の制御周期を演算する中に、第1の制御周期が始まる時点に1msタイマ割込みが発生して、第1の制御周期の位置制御演算を行うためにスタック切り替えを行う。第1の制御周期の演算を完了すると、さらに第2の制御周期の残りの演算を引き続くことを確認することができる。
ここで、第1の制御周期(CH3)及び第2の制御周期(CH2)は、各軸に対する位置制御演算実行区間及びマージン区間を含んで構成される。第1の制御周期が1msであるとしても、1msの全体期間が、第1の制御周期の制御演算が行われる制御演算実行区間として用いられるのではなく、一部のみが用いられ、残りはマージン区間で構成される。各制御周期毎に、制御演算実行区間と待機するマージン区間とが存在するため、第1の制御周期の実行が完了すると、マージン区間の間には待つのではなく第2の制御周期の制御演算を行うことになる。
図10は、本発明の一実施形態によるPLC位置決定システムにおける軸毎の制御周期独立割当方法のシミュレーション結果を説明するグラフである。
図10を参照すると、第1の制御周期で1軸と2軸を演算し、第2の制御周期で3軸と4軸を演算した結果を示す。各軸は、同一の速度で移動するように設定して同一のプロファイルが生成されることを確認することができる。
本発明は、多数の軸を制御する位置決定制御部110において、軸毎に制御周期を独立して割り当て、早い応答速度が要求される軸に演算優先権を付与している。これにより、早い応答が要求される軸に演算優先順位を付与することで、制御軸が多くなる場合にも、早い応答を要求する軸の応答速度を保障することができる。
一方、産業現場では、多関節ロボットなどのように、反応速度に敏感であり且つ軸毎の同期が重要な軸があり、コンベアベルトなどのように、反応速度や軸毎の同期に比較的敏感ではない軸がある。したがって、本発明によれば、第1の軸グループに多関節ロボットなどを制御する軸を割り当て、第2の軸グループにコンベアベルトなどを制御する軸を割り当てることで、大規模システムでもサーボドライブを柔軟に制御することができる。
以上、本発明の好ましい実施形態を詳細に説明したが、これは例示に過ぎず、当該分野で通常的知識を有した者であれば、これらから多様な変形及び均等な範囲の実施形態が可能であるということを理解できる。従って、本発明の真の技術的保護の範囲は添付の特許請求の範囲によって決められる。

Claims (5)

  1. PLC位置決定システムにおける制御周期割当方法であって、
    各軸を、第1の制御周期を有する第1の軸グループと、第2の制御周期を有する第2の軸グループとに区分し、各軸毎に異なる制御周期を割り当てるステップと、
    前記第2の軸グループの位置制御演算中に第1の軸グループの位置制御演算が要請されると、割込みによるタスク切り替えによって前記第1の軸グループの位置制御演算を行うステップと、
    前記第1の軸グループの位置制御演算を完了した後、割込みによるタスク切り替えによって前記第2の軸グループの位置制御演算を引き続き行うステップと、を含み、
    前記各軸毎に異なる制御周期を割り当てるステップにおいて、
    前記第1の制御周期及び前記第2の制御周期は、各軸に対する位置制御演算実行区間及びマージン区間を含み、
    前記第2の軸グループの位置制御演算を引き続き行うステップにおいて、
    前記第1の制御周期の位置制御演算実行区間の間に前記第1の軸グループの位置制御演算が完了されると、前記第2の軸グループの位置制御演算のためのタスク切り替えを行い、
    前記第1の軸グループの前記マージン区間の間に前記第2の軸グループの位置制御演算を引き続き行うこと、及び
    前記タスク切り替えのために前記第1の軸グループと第2の軸グループに異なるスタック領域を割り当て、
    前記第1の軸グループの位置制御演算中にISP領域が使用され、前記第2の軸グループの位置制御演算中にUSP領域が使用されることを特徴とする、PLC位置決定システムにおける軸毎の制御周期独立割当方法。
  2. 前記各軸毎に異なる制御周期を割り当てるステップにおいて、
    前記第1の軸グループに単一軸を指定することを特徴とする、請求項1に記載のPLC位置決定システムにおける軸毎の制御周期独立割当方法。
  3. 前記各軸毎に異なる制御周期を割り当てるステップにおいて、
    前記第1の軸グループに複数の軸を指定することを特徴とする、請求項1に記載のPLC位置決定システムにおける軸毎の制御周期独立割当方法。
  4. 前記各軸毎に異なる制御周期を割り当てるステップにおいて、
    前記ISP領域を用いる軸の演算が前記第1の制御周期内に完了されるように前記第1の制御周期を指定することを特徴とする、請求項に記載のPLC位置決定システムにおける軸毎の制御周期独立割当方法。
  5. 前記第1の軸グループの位置制御演算を行うステップは、
    前記第2の軸グループの位置制御演算を行う中に、前記第1の制御周期の位置制御演算が要求された時点にスタック切り替え割込みが発生すると、全てのレジスタを前記USP領域にプッシュし、割込みサービスルーチンの完了後に前記ISP領域に復帰するように復帰アドレスを第1の制御周期演算領域に変更するステップを含み、
    前記第2の軸グループの位置制御演算を引き続き行うステップは、
    前記第1の軸グループの位置制御演算を完了すると、前記ISP領域に一般レジスタと状態レジスタ、プログラムカウンタをプッシュし、前記USP領域にスタック切り替えを行った後、さらに前記第2の軸グループの位置制御演算を引き続き行うステップを含むことを特徴とする、請求項に記載のPLC位置決定システムにおける軸毎の制御周期独立割当方法。
JP2016203273A 2015-10-20 2016-10-17 Plc位置決定システムにおける軸毎の制御周期独立割当方法 Active JP6429842B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2015-0146342 2015-10-20
KR1020150146342A KR102079499B1 (ko) 2015-10-20 2015-10-20 Plc 위치 결정 시스템의 축별 제어주기 독립 할당 방법

Publications (2)

Publication Number Publication Date
JP2017079060A JP2017079060A (ja) 2017-04-27
JP6429842B2 true JP6429842B2 (ja) 2018-11-28

Family

ID=57003318

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016203273A Active JP6429842B2 (ja) 2015-10-20 2016-10-17 Plc位置決定システムにおける軸毎の制御周期独立割当方法

Country Status (6)

Country Link
US (1) US10394213B2 (ja)
EP (1) EP3159761B1 (ja)
JP (1) JP6429842B2 (ja)
KR (1) KR102079499B1 (ja)
CN (1) CN106843121B (ja)
ES (1) ES2752879T3 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6520545B2 (ja) * 2015-08-10 2019-05-29 オムロン株式会社 サポート装置およびサポートプログラム
KR102115310B1 (ko) * 2018-04-25 2020-05-26 엘에스일렉트릭(주) Plc 기반의 위치 제어 장치
KR102132857B1 (ko) * 2018-05-03 2020-07-10 엘에스일렉트릭(주) Plc의 모터 구동 제어 방법

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4319338A (en) * 1979-12-12 1982-03-09 Allen-Bradley Company Industrial communications network with mastership determined by need
US4514814A (en) * 1982-09-07 1985-04-30 General Electric Company Multi-processor axis control
JPH0766284B2 (ja) * 1984-07-23 1995-07-19 日産自動車株式会社 プログラマブルロジツクコントロ−ラ
JPH01152509A (ja) * 1987-12-10 1989-06-15 Fanuc Ltd Cnc制御方式
WO1992015068A1 (en) * 1991-02-15 1992-09-03 Incontrol, Inc. Computer control system for generating geometric designs
US5453933A (en) * 1993-09-08 1995-09-26 Hurco Companies, Inc. CNC control system
JPH0851796A (ja) * 1994-06-01 1996-02-20 Minolta Co Ltd モータ制御機構
DE19500957A1 (de) * 1994-07-19 1996-01-25 Bosch Gmbh Robert Verfahren zur Steuerung von technischen Vorgängen oder Prozessen
US5909371A (en) * 1995-04-19 1999-06-01 Siemens Aktiengesellschaft Process of operating a numerical control with critical-time and non-critical-time processes in a real time system
US6466962B2 (en) * 1995-06-07 2002-10-15 International Business Machines Corporation System and method for supporting real-time computing within general purpose operating systems
GB9825102D0 (en) * 1998-11-16 1999-01-13 Insignia Solutions Plc Computer system
JP4334173B2 (ja) 1999-07-06 2009-09-30 三菱電機株式会社 駆動制御システム
US6594541B1 (en) * 2000-01-10 2003-07-15 Siemens Aktiengesellschaft Universal motion control
US20020198970A1 (en) * 2001-04-27 2002-12-26 Shunji Kuwa Programmable controller system
DE10144788A1 (de) * 2001-09-11 2003-04-30 Siemens Ag Verfahren und Vorrichtung zur sicheren hochperformanten Aufzeichnung von Prozessdaten bei numerisch gesteuerten industriellen Bearbeitungsmaschinen
US7076332B2 (en) * 2002-01-18 2006-07-11 National Instruments Corporation System and method for invoking execution of a sequence of operations that includes motion control, machine vision, and data acquisition (DAQ) functionality
ITFI20020040A1 (it) * 2002-03-08 2003-09-08 Bedogni S R L Apparecchiatura per la movimentazione di utensili per la produzione di manufatti in vetro,cristallo e simili
JP3922070B2 (ja) * 2002-03-29 2007-05-30 株式会社デンソー 分散制御方法及び装置
KR20040071921A (ko) 2003-02-07 2004-08-16 삼성전자주식회사 다축 서보드라이브 시스템
US20060153008A1 (en) * 2003-02-12 2006-07-13 Toshiyuki Miyamatsu Control device and control method capable of external synchronization
JP3680064B2 (ja) * 2003-04-21 2005-08-10 ファナック株式会社 数値制御装置
JP2006187826A (ja) 2005-01-05 2006-07-20 Kawasaki Heavy Ind Ltd ロボットコントローラ
JP2007140655A (ja) * 2005-11-15 2007-06-07 Yaskawa Electric Corp モーションコントローラ
US7565654B2 (en) * 2006-01-10 2009-07-21 National Instruments Corporation Programmatic control of tasks in a programmable logic controller
US7424563B2 (en) * 2006-02-24 2008-09-09 Qualcomm Incorporated Two-level interrupt service routine
JP2009059310A (ja) * 2007-09-03 2009-03-19 Panasonic Corp プログラム制御装置
WO2009057545A1 (ja) 2007-10-31 2009-05-07 Thk Co., Ltd. 多軸駆動ドライバの制御方法、及び多軸駆動ドライバ、並びにそれを備えた多軸駆動制御システム
JP4382123B2 (ja) * 2007-12-13 2009-12-09 ファナック株式会社 制御モード切り換え機能を有する数値制御装置
DE102009047024A1 (de) * 2009-11-23 2011-05-26 Beckhoff Automation Gmbh Parallelisierte Programmsteuerung
DE102009055752A1 (de) * 2009-11-25 2011-05-26 Robert Bosch Gmbh Verfahren zum Ermöglichen einer sequentiellen, nicht blockierenden Abarbeitung von Anweisungen in nebenläufigen Tasks in einer Steuereinrichtung
JP5246186B2 (ja) * 2010-03-15 2013-07-24 オムロン株式会社 コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP5120424B2 (ja) * 2010-07-27 2013-01-16 横河電機株式会社 シーケンス制御装置
WO2012081115A1 (ja) * 2010-12-16 2012-06-21 三菱電機株式会社 シーケンサシステムおよびその制御方法
CN102130640B (zh) * 2011-01-25 2013-04-10 南京雪曼机电科技有限公司 多轴同步伺服驱动系统及其同步控制方法
CN202094830U (zh) * 2011-01-25 2011-12-28 南京雪曼机电科技有限公司 多轴同步伺服驱动系统
US8756606B2 (en) * 2011-01-31 2014-06-17 Toyota Jidosha Kabushiki Kaisha Safety controller and safety control method in which time partitions are scheduled according to a scheduling pattern
JP4995976B1 (ja) * 2011-02-08 2012-08-08 ファナック株式会社 回転軸のインポジションチェックを行う数値制御装置
JP4752984B1 (ja) * 2011-03-15 2011-08-17 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
US8706262B2 (en) * 2011-03-15 2014-04-22 Omron Corporation CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC
JP4877423B1 (ja) * 2011-03-15 2012-02-15 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
JP4894961B1 (ja) * 2011-03-15 2012-03-14 オムロン株式会社 Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体
US8799880B2 (en) * 2011-04-08 2014-08-05 Siemens Aktiengesellschaft Parallelization of PLC programs for operation in multi-processor environments
JP5803337B2 (ja) * 2011-06-28 2015-11-04 オムロン株式会社 同期制御装置、同期制御方法、同期制御プログラム、および同期制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US9727377B2 (en) * 2011-07-14 2017-08-08 Siemens Aktiengesellschaft Reducing the scan cycle time of control applications through multi-core execution of user programs
JP5099251B1 (ja) * 2011-07-15 2012-12-19 オムロン株式会社 Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体
KR101271854B1 (ko) 2011-08-31 2013-06-07 숭실대학교산학협력단 태스크 주기 스케쥴링 장치 및 방법
CN103123476B (zh) * 2011-11-18 2015-10-28 中国科学院沈阳计算技术研究所有限公司 一种单伺服电机驱动多轴机床的数控系统控制方法
FR2997773B1 (fr) * 2012-11-06 2016-02-05 Centre Nat Rech Scient Procede d'ordonnancement avec contraintes d'echeance, en particulier sous linux, realise en espace utilisateur.
KR101451053B1 (ko) 2012-12-10 2014-10-15 미쓰비시덴키 가부시키가이샤 다축 제어 시스템 설정·조정 기능 지원 장치
CN103870327A (zh) * 2012-12-18 2014-06-18 华为技术有限公司 一种实时多任务调度方法和装置
FR3004825B1 (fr) * 2013-04-19 2015-04-24 Krono Safe Procede d'allocation temporelle de taches permettant une recuperation d'erreur deterministe en temps reel
KR20150074392A (ko) 2013-12-24 2015-07-02 엘에스산전 주식회사 위치 결정 시스템의 제어 주기 설정방법
JP6626240B2 (ja) * 2014-03-13 2019-12-25 オムロン株式会社 コントローラ
US9529625B2 (en) * 2014-04-01 2016-12-27 Samsung Electronics Co., Ltd Method and system for providing stack memory management in real-time operating systems
JP6203691B2 (ja) * 2014-08-29 2017-09-27 ファナック株式会社 複数軸の軸制御処理を分散して実行可能な数値制御装置

Also Published As

Publication number Publication date
ES2752879T3 (es) 2020-04-06
KR20170046256A (ko) 2017-05-02
EP3159761A1 (en) 2017-04-26
EP3159761B1 (en) 2019-08-21
JP2017079060A (ja) 2017-04-27
US10394213B2 (en) 2019-08-27
KR102079499B1 (ko) 2020-02-21
CN106843121B (zh) 2019-05-17
US20170108845A1 (en) 2017-04-20
CN106843121A (zh) 2017-06-13

Similar Documents

Publication Publication Date Title
CN109557890B (zh) 控制装置
EP2687927B1 (en) Cpu of plc, system program for plc, and recording medium storing system program for plc
JP6429842B2 (ja) Plc位置決定システムにおける軸毎の制御周期独立割当方法
US10274936B2 (en) Control apparatus
JP4752984B1 (ja) Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体
CN109388107B (zh) 控制装置
JP6488830B2 (ja) 制御装置
JP2012066376A (ja) 1つ以上の人間型ロボットの同時経路検討
US10877803B2 (en) Control apparatus, control method and non-transitory storage medium
CN113168135A (zh) 同步控制装置、同步控制系统、同步控制方法和模拟装置
JP7327225B2 (ja) ロボット制御システムおよび制御方法
US9677920B2 (en) Automation device and method for reducing jitter
WO2017203776A1 (ja) モータ駆動システム、モータ制御システムおよび自走ロボット
JP2021192949A5 (ja)
JP7455239B2 (ja) 数値制御システム、タスク割り当て変更装置及び数値制御方法
WO2022190424A1 (ja) 情報処理装置およびプログラム
US20230128011A1 (en) Robot Control Method, Robot Control System, And Robot Control Program
WO2022190425A1 (ja) 制御装置および制御方法
JP2011096114A (ja) 数値制御装置、工作機械の制御方法、及び工作機械の制御プログラム
WO2020137522A1 (ja) 同期制御装置、同期制御システム、同期制御方法、及びシミュレーション装置
JPS62152045A (ja) プログラマブルコントロ−ラ
JP2001092795A (ja) 分散型プログラマブルサーボコントローラシステム
JP2020071520A (ja) コントローラおよびコントローラの備える通信制御部の制御方法
JPH04263327A (ja) 繰り返し制御装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170912

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180802

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180810

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181030

R150 Certificate of patent or registration of utility model

Ref document number: 6429842

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250