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

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

Info

Publication number
JP6166368B2
JP6166368B2 JP2015520758A JP2015520758A JP6166368B2 JP 6166368 B2 JP6166368 B2 JP 6166368B2 JP 2015520758 A JP2015520758 A JP 2015520758A JP 2015520758 A JP2015520758 A JP 2015520758A JP 6166368 B2 JP6166368 B2 JP 6166368B2
Authority
JP
Japan
Prior art keywords
control
motion control
motion
sequence
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
JP2015520758A
Other languages
English (en)
Other versions
JPWO2015173886A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of JPWO2015173886A1 publication Critical patent/JPWO2015173886A1/ja
Application granted granted Critical
Publication of JP6166368B2 publication Critical patent/JP6166368B2/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/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors

Landscapes

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

Description

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

Claims (7)

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

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JPWO2015173886A1 JPWO2015173886A1 (ja) 2017-04-20
JP6166368B2 true JP6166368B2 (ja) 2017-07-19

Family

ID=54479458

Family Applications (1)

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

Country Status (2)

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

Family Cites Families (4)

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

Also Published As

Publication number Publication date
JPWO2015173886A1 (ja) 2017-04-20
WO2015173886A1 (ja) 2015-11-19

Similar Documents

Publication Publication Date Title
JP5803337B2 (ja) 同期制御装置、同期制御方法、同期制御プログラム、および同期制御プログラムを記録したコンピュータ読み取り可能な記録媒体
US10274936B2 (en) Control apparatus
EP2555068B1 (en) Synchronization control apparatus
JP6724831B2 (ja) コントロールシステム、コントローラ及び制御方法
JP4282631B2 (ja) テーブル形式データで運転を行う数値制御装置
EP3361635B1 (en) Control system and pulse output device
JP2015087820A (ja) 回転割り出し装置を備えた工作機械の制御装置
JP6729746B2 (ja) 制御装置
JP2013048526A (ja) モータシステムおよびモータ制御装置
WO2013088499A1 (ja) 位置決め装置、及びplcシステム
JP6166368B2 (ja) 制御装置および制御方法
JP6262706B2 (ja) カム形状データ作成装置及び同期制御装置
TWI410766B (zh) 數值控制裝置
JP2015150676A (ja) ロボット装置、ロボット制御方法及びプログラム、並びに記録媒体
JP2009017670A (ja) ステッピングモータ制御装置
JP2016039748A (ja) モータ制御装置、モータ制御システム、モータ制御方法及びモータ制御プログラム
JP6192599B2 (ja) ロボット制御装置および制御方法
JP6331655B2 (ja) インバータ制御装置
JP2018060289A (ja) 軌跡生成装置、軌跡生成装置の制御方法、制御プログラム、および記録媒体
JP2011170609A (ja) 数値制御装置
JP6063006B1 (ja) 学習メモリ切り換え機能を有するサーボ制御システム
JP6393246B2 (ja) モータ駆動制御装置及びモータ駆動制御装置の制御方法
JP2023152086A (ja) ドライバ及びドライブシステム
WO2018179165A1 (ja) 通信装置、通信システムおよび通信方法
JPWO2018042554A1 (ja) サーボ制御装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20151201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170428

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170622

R150 Certificate of patent or registration of utility model

Ref document number: 6166368

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250