JP2007140655A - モーションコントローラ - Google Patents
モーションコントローラ Download PDFInfo
- Publication number
- JP2007140655A JP2007140655A JP2005330253A JP2005330253A JP2007140655A JP 2007140655 A JP2007140655 A JP 2007140655A JP 2005330253 A JP2005330253 A JP 2005330253A JP 2005330253 A JP2005330253 A JP 2005330253A JP 2007140655 A JP2007140655 A JP 2007140655A
- Authority
- JP
- Japan
- Prior art keywords
- low
- processing
- speed sequence
- sequence
- stop counter
- 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.)
- Pending
Links
Images
Abstract
【課題】モーションコントローラのCPUを最大限有効に活用し、低速シーケンス処理時間を最小にすることと非定周期モーション制御処理と、低速シーケンス処理の実行比率の調整を可能にする。
【解決手段】 高速シーケンス処理部4と、低速シーケンス処理部5と、低速シーケンス停止カウンタ7と、低速シーケンス処理部5を実行させるシーケンス処理スケジューラ8を有し、モータを制御するモーション制御とシーケンス演算を実行するPLC(プログラマブルロジックコントローラ)機能を1つのCPUで処理するモーションコントローラ1において、CPUがモーション制御にかかる処理の負荷を演算し、負荷に応じて低速シーケンス停止カウンタ7を設定する処理負荷解析部9を備える。
【選択図】図1
Description
本発明は、制御対象機械の軸を駆動するモータを制御してモーション制御を行うモーションコントローラに関し、特に、シーケンス演算を実行するPLC(プログラマブルロジックコントローラ)機能を内蔵したモーションコントローラに関する。
PLC機能を内蔵するモーションコントローラは、制御対象機械の軸を駆動するモータを制御するモーション制御と、制御対象機械の信号の入出力を行い、ラダー言語等で記述されたシーケンス演算を実行するPLC機能のシーケンス処理を同一CPUで実行している。(例えば、特許文献1参照)
シーケンス処理は、高速の定周期で実行する高速シーケンス処理と、CPUがより優先度の高い処理を行った合い間に実行する低速シーケンス処理とがある。
図8は、従来のモーションコントローラのPLC制御に関するブロック図である。
図8において、21はモーションコントローラ、22はCPUでモーションコントローラ21内の各処理部を制御する。23は制御対象機械の軸を駆動するモータで図8ではX軸、Y軸、Z軸の3軸の例を示している。24は高速シーケンス処理部、25は低速シーケンス処理部、26は制御対象機械である。また、27は低速シーケンス停止カウンタ、28はシーケンス処理スケジューラである。
高速シーケンス処理部24及び低速シーケンス処理部25は、制御対象機械26の信号の入出力を行いながら逐次的にそれぞれのシーケンス演算を実行する。低速シーケンス処理部25は、シーケンス処理スケジューラ28により起動される。シーケンス処理スケジューラ28は、低速シーケンス停止カウンタ27を参照し、低速シーケンス処理部25の実行/停止を管理する。
シーケンス処理は、高速の定周期で実行する高速シーケンス処理と、CPUがより優先度の高い処理を行った合い間に実行する低速シーケンス処理とがある。
図8は、従来のモーションコントローラのPLC制御に関するブロック図である。
図8において、21はモーションコントローラ、22はCPUでモーションコントローラ21内の各処理部を制御する。23は制御対象機械の軸を駆動するモータで図8ではX軸、Y軸、Z軸の3軸の例を示している。24は高速シーケンス処理部、25は低速シーケンス処理部、26は制御対象機械である。また、27は低速シーケンス停止カウンタ、28はシーケンス処理スケジューラである。
高速シーケンス処理部24及び低速シーケンス処理部25は、制御対象機械26の信号の入出力を行いながら逐次的にそれぞれのシーケンス演算を実行する。低速シーケンス処理部25は、シーケンス処理スケジューラ28により起動される。シーケンス処理スケジューラ28は、低速シーケンス停止カウンタ27を参照し、低速シーケンス処理部25の実行/停止を管理する。
図9は、従来の高速シーケンス処理と低速シーケンス処理の実行タイムチャートである。モーションコントローラ21は基本クロックを有し、この基本クロックに同期して定周期でモーション制御等の各処理を実行する。
高速シーケンス処理と低速シーケンス処理もこの基本クロックに同期して実行する。
図9のAは定周期モーション制御及び各軸処理であり、毎回の基本クロックに同期して実行する。Bは高速シーケンス処理であり、毎回の基本クロックに同期してシーケンス演算を実行する。Cは低速シーケンス処理であり、Dは非定周期に実行される非定周期モーション制御処理であり、この2つの処理は、A、Bの処理を行った残りの時間で実行する。
高速シーケンス処理と低速シーケンス処理もこの基本クロックに同期して実行する。
図9のAは定周期モーション制御及び各軸処理であり、毎回の基本クロックに同期して実行する。Bは高速シーケンス処理であり、毎回の基本クロックに同期してシーケンス演算を実行する。Cは低速シーケンス処理であり、Dは非定周期に実行される非定周期モーション制御処理であり、この2つの処理は、A、Bの処理を行った残りの時間で実行する。
低速シーケンス処理は、基本クロック内での定周期モーション制御及び各軸処理と高速シーケンス処理の残り時間を使用して実行されるため、低速シーケンス処理の全てのシーケンスプログラムがシステム基本クロック内に終了しない場合は、システムで規定されている低速シーケンス停止カウンタ27で指定された基本クロック回数分の時間の停止後に残りの低速シーケンス処理を実行する。
図9は低速シーケンス停止カウンタ27が2の場合の例であり、低速シーケンス停止時間は2基本クロック分であり、基本クロックを1msとすれば2msとなる。低速シーケンス処理を1度実行した後次に実行するのは3ms後となり、これが低速シーケンススキャン時間となり、結局3msごとに低速シーケンス処理を実行することになる。通常、モーションコントローラで、モーション制御とPLC部が同一CPU上で動作する場合、低速シーケンス処理が非定周期モーション制御処理を邪魔しないように、想定されるモーション制御処理への最大CPU負荷を前提とした低速シーケンス停止カウンタを設定する。
特許第2901714号公報 (第3図)
図9は低速シーケンス停止カウンタ27が2の場合の例であり、低速シーケンス停止時間は2基本クロック分であり、基本クロックを1msとすれば2msとなる。低速シーケンス処理を1度実行した後次に実行するのは3ms後となり、これが低速シーケンススキャン時間となり、結局3msごとに低速シーケンス処理を実行することになる。通常、モーションコントローラで、モーション制御とPLC部が同一CPU上で動作する場合、低速シーケンス処理が非定周期モーション制御処理を邪魔しないように、想定されるモーション制御処理への最大CPU負荷を前提とした低速シーケンス停止カウンタを設定する。
従来のモーションコントローラでは、定周期モーション制御処理及び各軸処理、非定周期モーション制御処理は実際に動作している軸数により処理時間が増減するため、最大CPU負荷を前提とした低速シーケンス停止カウンタとしておくと、動作軸数が最大動作軸数より少ないときは、本来低速シーケンス処理に使用できるはずのCPU資源を余らせてしまい、有効にモーションコントローラのCPUを使用しているとはいえず、低速シーケンス処理時間が必要以上に長くなる。また、低速シーケンス停止カウンタは固定であり、試運転時等に低速シーケンス処理の実行間隔を調整したい場合等に対応できない。
本発明はこのような問題点に鑑みてなされたものであり、モーションコントローラのCPUを最大限有効に活用し、低速シーケンス処理時間を最小にすることと、低速シーケンス処理の実行間隔の調整を可能にすることを目的とする。
本発明はこのような問題点に鑑みてなされたものであり、モーションコントローラのCPUを最大限有効に活用し、低速シーケンス処理時間を最小にすることと、低速シーケンス処理の実行間隔の調整を可能にすることを目的とする。
上記問題を解決するため、本発明は、次のように構成したのである。
請求項1に記載の発明は、制御対象機械の信号の入出力を行い、毎回の基本クロックに同期してシーケンス演算を実行する高速シーケンス処理部と、前記基本クロックの複数回に1回は該基本クロックに同期してシーケンス演算を実行し、他の回は実行を停止する低速シーケンス処理部と、前記低速シーケンス処理部が実行を停止する前記基本クロックの停止回数を示す低速シーケンス停止カウンタと、前記停止回数を参照して前記低速シーケンス処理部を実行させるシーケンス処理スケジューラを有し、制御対象機械の軸を駆動するモータを制御するモーション制御とシーケンス演算を実行するPLC(プログラマブルロジックコントローラ)機能を1つのCPUで処理するモーションコントローラにおいて、前記CPUがモーション制御に要する処理の負荷を演算し、負荷に応じて前記低速シーケンス停止カウンタを設定する処理負荷解析部を備えることを特徴とするものである。
請求項1に記載の発明は、制御対象機械の信号の入出力を行い、毎回の基本クロックに同期してシーケンス演算を実行する高速シーケンス処理部と、前記基本クロックの複数回に1回は該基本クロックに同期してシーケンス演算を実行し、他の回は実行を停止する低速シーケンス処理部と、前記低速シーケンス処理部が実行を停止する前記基本クロックの停止回数を示す低速シーケンス停止カウンタと、前記停止回数を参照して前記低速シーケンス処理部を実行させるシーケンス処理スケジューラを有し、制御対象機械の軸を駆動するモータを制御するモーション制御とシーケンス演算を実行するPLC(プログラマブルロジックコントローラ)機能を1つのCPUで処理するモーションコントローラにおいて、前記CPUがモーション制御に要する処理の負荷を演算し、負荷に応じて前記低速シーケンス停止カウンタを設定する処理負荷解析部を備えることを特徴とするものである。
また、請求項2の記載の発明は、請求項1に記載のモーションコントローラにおいて、前記基本クロックに同期して実行するモーション制御に要する時間と各軸の動作に必要な処理時間が設定された負荷率モニタテーブルを備え、前記処理負荷解析部は、前記負荷率モニタテーブルを基に負荷を演算することを特徴とするものである。
また、請求項3に記載の発明は、請求項1に記載のモーションコントローラにおいて、前記CPUがモーション制御に要する処理の負荷に応じて低速シーケンス停止カウンタの値を設定する低速シーケンス停止カウンタ設定テーブルを備え、前記処理負荷解析部は、前記低速シーケンス停止カウンタ設定テーブルを基に前記低速シーケンス停止カウンタを設定することを特徴とするものである。
また、請求項4に記載の発明は、請求項3に記載のモーションコントローラにおいて、前記低速シーケンス停止カウンタ設定テーブルはユーザにて設定可能であることを特徴とするものである。
また、請求項3に記載の発明は、請求項1に記載のモーションコントローラにおいて、前記CPUがモーション制御に要する処理の負荷に応じて低速シーケンス停止カウンタの値を設定する低速シーケンス停止カウンタ設定テーブルを備え、前記処理負荷解析部は、前記低速シーケンス停止カウンタ設定テーブルを基に前記低速シーケンス停止カウンタを設定することを特徴とするものである。
また、請求項4に記載の発明は、請求項3に記載のモーションコントローラにおいて、前記低速シーケンス停止カウンタ設定テーブルはユーザにて設定可能であることを特徴とするものである。
請求項1〜請求項3に記載の発明によると、CPUがモーション制御にかかる処理の負荷を演算し、処理の負荷に応じて低速シーケンス停止カウンタを決定するため、モーションコントローラのCPUを最大限有効に活用し、低速シーケンス処理時間を最小にする。
また、請求項4に記載の発明によると、低速シーケンス停止カウンタ設定テーブルはユーザにて設定可能なため、低速シーケンス停止カウンタ設定テーブルの設定を変更することで、低速シーケンス処理の実行間隔の調整が可能になる。
また、請求項4に記載の発明によると、低速シーケンス停止カウンタ設定テーブルはユーザにて設定可能なため、低速シーケンス停止カウンタ設定テーブルの設定を変更することで、低速シーケンス処理の実行間隔の調整が可能になる。
以下、本発明の実施の形態について図に基づいて説明する。
図1は、本発明のモーションコントローラのPLC制御に関するブロック図である。
図1において、1はモーションコントローラ、2はCPUでモーションコントローラ1内の各処理部を制御する。3は制御対象機械の軸を駆動するモータで図1ではX軸、Y軸、Z軸の3軸の例を示している。4は高速シーケンス処理部、5は低速シーケンス処理部、6は制御対象機械である。また、7は低速シーケンス停止カウンタ、8はシーケンス処理スケジューラである。
9は、モーションコントローラの処理の負荷を解析し、最適な低速シーケンス停止カウンタを設定する処理負荷解析部、10はモーション制御に要する時間と各軸の動作に必要な処理時間が設定された負荷率モニタテーブル、11は処理の負荷に応じて低速シーケンス停止カウンタを設定する低速シーケンス停止カウンタ設定テーブルである。
本発明が従来技術と異なる点は、処理負荷解析部9、負荷率モニタテーブル10、低速シーケンス停止カウンタテーブル11を備える点である。
図1において、1はモーションコントローラ、2はCPUでモーションコントローラ1内の各処理部を制御する。3は制御対象機械の軸を駆動するモータで図1ではX軸、Y軸、Z軸の3軸の例を示している。4は高速シーケンス処理部、5は低速シーケンス処理部、6は制御対象機械である。また、7は低速シーケンス停止カウンタ、8はシーケンス処理スケジューラである。
9は、モーションコントローラの処理の負荷を解析し、最適な低速シーケンス停止カウンタを設定する処理負荷解析部、10はモーション制御に要する時間と各軸の動作に必要な処理時間が設定された負荷率モニタテーブル、11は処理の負荷に応じて低速シーケンス停止カウンタを設定する低速シーケンス停止カウンタ設定テーブルである。
本発明が従来技術と異なる点は、処理負荷解析部9、負荷率モニタテーブル10、低速シーケンス停止カウンタテーブル11を備える点である。
処理負荷解析部9は、モーションコントローラ1が持つ定周期での動作と同期して実行される。
処理の負荷状況は、モーションコントローラ1に接続される軸数と各軸の動作状況を基に算出される。
図2は、モーション制御に要する時間と各軸の動作に必要な処理時間が設定された負荷率モニタテーブル10である。定周期モーション制御に必要な処理時間と、各軸の動作に必要な処理時間がテーブルになっている。ここで、各軸の動作に必要な処理時間は、モーションコントローラ1のシステムソフトウエアとしてあらかじめ計測された結果を基に設定されている。
処理の負荷状況は、モーションコントローラ1に接続される軸数と各軸の動作状況を基に算出される。
図2は、モーション制御に要する時間と各軸の動作に必要な処理時間が設定された負荷率モニタテーブル10である。定周期モーション制御に必要な処理時間と、各軸の動作に必要な処理時間がテーブルになっている。ここで、各軸の動作に必要な処理時間は、モーションコントローラ1のシステムソフトウエアとしてあらかじめ計測された結果を基に設定されている。
図3は、処理負荷解析部9の処理フローである。処理負荷解析部9では、接続されている軸数分だけ各軸の動作状況を解析しCPU全体におけるモーション制御に必要な処理時間を計算する。
図3では、まずステップST1で処理時間計算用ワークエリアへ負荷率モニタテーブルの定周期モーション制御時間を初期データとして設定する。
ステップST2では、処理時間計算しようとしている軸が動作中かどうかを軸動作中情報を基にチェックする。軸が動作中であれば、ステップST3で、負荷率モニタテーブルから指定軸の処理時間を取得し、ステップST4でその値を処理時間計算用ワークエリアに足しこむ。もし、計算対象の軸が動作中でなければ、その軸に対応する処理時間は加算せずに次軸の処理時間の計算に進む。ここで軸動作中情報は、モーションコントローラ1が内部で作成する軸の動作状況を示すフラグであり、図4に示すように各軸が動作中かどうかの情報がビットに対応している。
全ての軸の処理時間の加算が終了すると、ステップST5へ進み、処理の負荷率を次式(1)で計算し、ステップST6でその結果を基に低速シーケンス停止カウンタ設定テーブル11から、低速シーケンス停止カウンタ7を設定する。
負荷率=(定周期モーション制御処理時間+第1軸処理時間+・・・第n軸処理時間)/モーション制御の基本クロック ・・・(1)
図3では、まずステップST1で処理時間計算用ワークエリアへ負荷率モニタテーブルの定周期モーション制御時間を初期データとして設定する。
ステップST2では、処理時間計算しようとしている軸が動作中かどうかを軸動作中情報を基にチェックする。軸が動作中であれば、ステップST3で、負荷率モニタテーブルから指定軸の処理時間を取得し、ステップST4でその値を処理時間計算用ワークエリアに足しこむ。もし、計算対象の軸が動作中でなければ、その軸に対応する処理時間は加算せずに次軸の処理時間の計算に進む。ここで軸動作中情報は、モーションコントローラ1が内部で作成する軸の動作状況を示すフラグであり、図4に示すように各軸が動作中かどうかの情報がビットに対応している。
全ての軸の処理時間の加算が終了すると、ステップST5へ進み、処理の負荷率を次式(1)で計算し、ステップST6でその結果を基に低速シーケンス停止カウンタ設定テーブル11から、低速シーケンス停止カウンタ7を設定する。
負荷率=(定周期モーション制御処理時間+第1軸処理時間+・・・第n軸処理時間)/モーション制御の基本クロック ・・・(1)
次に、図2、図5を使用し実際の負荷率の計算例と、低速シーケンス停止カウンタ7の算出について説明する。
図2の負荷率モニタテーブル10の例では、3軸の処理時間がそれぞれ、X軸100μs、Y軸120μs、Z軸130μs、定周期モーション制御処理時間は100μsとなっている。
図5は低速シーケンス停止カウンタ設定テーブル11の例であり、モーションコントローラ1のパラメータとして準備される。このため、ユーザがパラメータによりシーケンス停止カウンタ設定テーブル11の設定を変更することにより負荷率に対応する低速シーケンス停止カウンタ7が設定できる。図5の例では、25%毎に停止カウンタが1から4まで設定されている。ここで、1msの基本クロックでモーション制御処理が動作している場合を例に低速シーケンス停止カウンタ7を算出する。
まず、定周期実行で必要な時間を算出する。
図2によると、定周期モーション制御及び各軸処理の時間は、
100μs+120μs+130μs+100μs=450μsとなる。
次に、負荷率を計算する。
モーション制御周期は前述したとおり1msであるため、負荷率は以下の計算となる。
450μs÷1000μs=0.45
従って、負荷率は45%となる。
次に、図5の低速シーケンス停止カウンタ設定テーブル11を参照し、45%の負荷率のときの低速シーケンス停止カウンタ7を算出する。図5では、45%の場合“2”が低速シーケンス停止カウンタ7となる。
図2の負荷率モニタテーブル10の例では、3軸の処理時間がそれぞれ、X軸100μs、Y軸120μs、Z軸130μs、定周期モーション制御処理時間は100μsとなっている。
図5は低速シーケンス停止カウンタ設定テーブル11の例であり、モーションコントローラ1のパラメータとして準備される。このため、ユーザがパラメータによりシーケンス停止カウンタ設定テーブル11の設定を変更することにより負荷率に対応する低速シーケンス停止カウンタ7が設定できる。図5の例では、25%毎に停止カウンタが1から4まで設定されている。ここで、1msの基本クロックでモーション制御処理が動作している場合を例に低速シーケンス停止カウンタ7を算出する。
まず、定周期実行で必要な時間を算出する。
図2によると、定周期モーション制御及び各軸処理の時間は、
100μs+120μs+130μs+100μs=450μsとなる。
次に、負荷率を計算する。
モーション制御周期は前述したとおり1msであるため、負荷率は以下の計算となる。
450μs÷1000μs=0.45
従って、負荷率は45%となる。
次に、図5の低速シーケンス停止カウンタ設定テーブル11を参照し、45%の負荷率のときの低速シーケンス停止カウンタ7を算出する。図5では、45%の場合“2”が低速シーケンス停止カウンタ7となる。
次に、図6、図7を基に、負荷率が変化した場合の低速シーケンス処理とモーション制御処理の動作について説明する。
図6は、低速シーケンス停止カウンタ7として2を設定した場合の高速シーケンス処理と低速シーケンス処理の実行タイムチャートを示す図である。
図6のAは定周期モーション制御及び各軸処理であり、毎回の基本クロックに同期して実行する。Bは高速シーケンス処理であり、毎回の基本クロックに同期してシーケンス演算を実行する。Cは低速シーケンス処理、Dは非定周期に実行される非定周期モーション制御処理であり、この2つの処理は、A、Bの処理を行った残りの時間で実行する。ここで、EはX軸のみ動作している期間であり、また、FはXYZが3軸同時に動作している期間である。
図6は、低速シーケンス停止カウンタ7として2を設定した場合の高速シーケンス処理と低速シーケンス処理の実行タイムチャートを示す図である。
図6のAは定周期モーション制御及び各軸処理であり、毎回の基本クロックに同期して実行する。Bは高速シーケンス処理であり、毎回の基本クロックに同期してシーケンス演算を実行する。Cは低速シーケンス処理、Dは非定周期に実行される非定周期モーション制御処理であり、この2つの処理は、A、Bの処理を行った残りの時間で実行する。ここで、EはX軸のみ動作している期間であり、また、FはXYZが3軸同時に動作している期間である。
図6の場合、区間Eでも区間Fでも低速シーケンス停止カウンタ7は2である。これは、モーション制御で使用される最大CPU負荷を前提として設定された値である。図6において定周期モーション制御処理及び各軸処理、非定周期モーション制御処理、低速シーケンス処理、高速シーケンス処理の処理割合は、以下のとおりとなる。
図6の例では、基本クロックを1msとし、8ms区間を表現している。また、区間Eにおける定周期モーション制御部及び各軸処理の負荷率は25%、区間Fにおける負荷率は45%、高速シーケンス処理の処理割合を20%とすると、低速シーケンス処理、非定周期モーション制御処理の処理割合は区間Eでは55%、区間Fでは35%となり、このときそれぞれの処理の8ms期間内で平均したCPU資源の配分は以下のとおりである。
定周期モーション制御処理及び各軸処理は、
(25%×3回+45%×5回)/800%=37.5%
非定周期モーション制御処理は、
(55%×2+35%×3回)/800%=26.9%
高速シーケンス処理は、
(20%×8回)/800%=20%
低速シーケンス処理は、
(55%+35%×2回)/800%=15.6%
(小数点以下2桁目は四捨五入)
図6の例では、基本クロックを1msとし、8ms区間を表現している。また、区間Eにおける定周期モーション制御部及び各軸処理の負荷率は25%、区間Fにおける負荷率は45%、高速シーケンス処理の処理割合を20%とすると、低速シーケンス処理、非定周期モーション制御処理の処理割合は区間Eでは55%、区間Fでは35%となり、このときそれぞれの処理の8ms期間内で平均したCPU資源の配分は以下のとおりである。
定周期モーション制御処理及び各軸処理は、
(25%×3回+45%×5回)/800%=37.5%
非定周期モーション制御処理は、
(55%×2+35%×3回)/800%=26.9%
高速シーケンス処理は、
(20%×8回)/800%=20%
低速シーケンス処理は、
(55%+35%×2回)/800%=15.6%
(小数点以下2桁目は四捨五入)
図7は、図5の低速シーケンス停止カウンタ設定テーブル11に沿って低速シーケンス停止カウンタ7を変化させた場合の高速シーケンス処理と低速シーケンス処理の実行タイムチャートを示す図である。1軸動作時の定周期モーション制御部及び各軸処理の負荷率は25%なので選択される低速シーケンス停止カウンタ7は1となる。3軸同時動作時は45%の負荷率なので、低速シーケンス停止カウンタ7は2となる。図7において定周期モーション制御処理、非定周期制御モーション処理、低速シーケンス処理、高速シーケンス処理の処理割合は、以下のとおりとなる。
定周期制御モーション処理及び各軸処理は、
(25%×3+45%×5回)/800%=37.5%
非定周期制御モーション処理は、
(55%+35%×4回)/800%=24.4%
高速シーケンス処理は、
(20%×8回)/800%=20%
低速シーケンス処理は、
(55%×2+35%)/800%=18.1%
(小数点以下2桁目は四捨五入)
このように、図6における低速シーケンスへのCPU資源の割り当ての15.6%に対し、図7においては、18.1%となり、より多くの低速シーケンス処理の実行が可能になる。
本実施例では、負荷率モニタテーブル10の軸の処理時間をプリセットしてあるものとしたが、実機動作中にモニタ計測するようにしてもよい。また、同様にして、高速シーケンス処理時間も動作時にモニタし、負荷率に加えることも可能である。
定周期制御モーション処理及び各軸処理は、
(25%×3+45%×5回)/800%=37.5%
非定周期制御モーション処理は、
(55%+35%×4回)/800%=24.4%
高速シーケンス処理は、
(20%×8回)/800%=20%
低速シーケンス処理は、
(55%×2+35%)/800%=18.1%
(小数点以下2桁目は四捨五入)
このように、図6における低速シーケンスへのCPU資源の割り当ての15.6%に対し、図7においては、18.1%となり、より多くの低速シーケンス処理の実行が可能になる。
本実施例では、負荷率モニタテーブル10の軸の処理時間をプリセットしてあるものとしたが、実機動作中にモニタ計測するようにしてもよい。また、同様にして、高速シーケンス処理時間も動作時にモニタし、負荷率に加えることも可能である。
このように、本発明では、CPUがモーション制御にかかる処理の負荷を演算し、負荷に応じて低速シーケンス停止カウンタを決定するため、モーションコントローラのCPUを最大限有効に活用し、低速シーケンス処理時間を最小にする。
また、低速シーケンス停止カウンタ設定テーブルはユーザにて設定可能なため、低速シーケンス停止カウンタ設定テーブルの設定を変更することで、低速シーケンス処理の実行間隔の調整が可能になるのである。
また、低速シーケンス停止カウンタ設定テーブルはユーザにて設定可能なため、低速シーケンス停止カウンタ設定テーブルの設定を変更することで、低速シーケンス処理の実行間隔の調整が可能になるのである。
1、21 モーションコントローラ
2、22 CPU
3、23 モータ
4、24 高速シーケンス処理部
5、25 低速シーケンス処理部
6、26 制御対象機械
7、27 低速シーケンス停止カウンタ
8、28 シーケンス処理スケジューラ
9 処理負荷解析部
10 負荷率モニタテーブル
11 低速シーケンス停止カウンタ設定テーブル
2、22 CPU
3、23 モータ
4、24 高速シーケンス処理部
5、25 低速シーケンス処理部
6、26 制御対象機械
7、27 低速シーケンス停止カウンタ
8、28 シーケンス処理スケジューラ
9 処理負荷解析部
10 負荷率モニタテーブル
11 低速シーケンス停止カウンタ設定テーブル
Claims (4)
- 制御対象機械の信号の入出力を行い、毎回の基本クロックに同期してシーケンス演算を実行する高速シーケンス処理部と、
前記基本クロックの複数回に1回は該基本クロックに同期してシーケンス演算を実行し、他の回は実行を停止する低速シーケンス処理部と、
前記低速シーケンス処理部が実行を停止する前記基本クロックの停止回数を示す低速シーケンス停止カウンタと、
前記停止回数を参照して前記低速シーケンス処理部を実行させるシーケンス処理スケジューラを有し、
制御対象機械の軸を駆動するモータを制御するモーション制御とシーケンス演算を実行するPLC(プログラマブルロジックコントローラ)機能を1つのCPUで処理するモーションコントローラにおいて、
前記CPUがモーション制御に要する処理の負荷を演算し、負荷に応じて前記低速シーケンス停止カウンタを設定する処理負荷解析部を備えることを特徴とするモーションコントローラ。 - 前記基本クロックに同期して実行するモーション制御に要する時間と各軸の動作に必要な処理時間が設定された負荷率モニタテーブルを備え、
前記処理負荷解析部は、前記負荷率モニタテーブルを基に負荷を演算することを特徴とする請求項1に記載のモーションコントローラ。 - 前記CPUがモーション制御に要する処理の負荷に応じて低速シーケンス停止カウンタの値を設定する低速シーケンス停止カウンタ設定テーブルを備え、
前記処理負荷解析部は、前記低速シーケンス停止カウンタ設定テーブルを基に前記低速シーケンス停止カウンタを設定することを特徴とする請求項1に記載のモーションコントローラ。 - 前記低速シーケンス停止カウンタ設定テーブルはユーザにて設定可能であることを特徴とする請求項3に記載のモーションコントローラ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005330253A JP2007140655A (ja) | 2005-11-15 | 2005-11-15 | モーションコントローラ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005330253A JP2007140655A (ja) | 2005-11-15 | 2005-11-15 | モーションコントローラ |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007140655A true JP2007140655A (ja) | 2007-06-07 |
Family
ID=38203468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005330253A Pending JP2007140655A (ja) | 2005-11-15 | 2005-11-15 | モーションコントローラ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007140655A (ja) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012027831A (ja) * | 2010-07-27 | 2012-02-09 | Yokogawa Electric Corp | シーケンス制御装置 |
JP4877423B1 (ja) * | 2011-03-15 | 2012-02-15 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
JP4894961B1 (ja) * | 2011-03-15 | 2012-03-14 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
WO2012124144A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | 演算ユニット、出力制御方法、およびプログラム |
WO2012124136A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 |
WO2012124143A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | 演算ユニット、支援装置、出力制御方法、表示制御方法、およびプログラム |
WO2012124135A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 |
WO2012124141A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 |
JP2012194954A (ja) * | 2011-05-24 | 2012-10-11 | Omron Corp | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 |
WO2013011713A1 (ja) | 2011-07-15 | 2013-01-24 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体 |
US8504176B2 (en) | 2011-03-15 | 2013-08-06 | Omron Corporation | CPU unit of PLC, system program for PLC, and recording medium storing system program for 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 |
JP2015122077A (ja) * | 2013-12-20 | 2015-07-02 | オムロン株式会社 | 制御装置、コントローラ・システム、出力制御方法、およびプログラム |
CN104794001A (zh) * | 2014-01-20 | 2015-07-22 | 三菱电机株式会社 | Cpu的程序处理方法及利用该方法的车辆控制装置 |
JP2017079060A (ja) * | 2015-10-20 | 2017-04-27 | エルエス産電株式会社Lsis Co., Ltd. | Plc位置決定システムにおける軸毎の制御周期独立割当方法 |
EP3460596A1 (en) * | 2017-09-26 | 2019-03-27 | Omron Corporation | Support device and support program |
US10845785B2 (en) | 2016-09-30 | 2020-11-24 | Omron Corporation | Control unit, data refresh method, and data refresh program |
-
2005
- 2005-11-15 JP JP2005330253A patent/JP2007140655A/ja active Pending
Cited By (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9442761B2 (en) | 2010-07-27 | 2016-09-13 | Yokogawa Electric Corporation | Sequence controller |
JP2012027831A (ja) * | 2010-07-27 | 2012-02-09 | Yokogawa Electric Corp | シーケンス制御装置 |
CN102375420A (zh) * | 2010-07-27 | 2012-03-14 | 横河电机株式会社 | 顺序控制器 |
CN103403684B (zh) * | 2011-03-15 | 2017-09-08 | 欧姆龙株式会社 | 可编程逻辑控制器的cpu单元 |
US9891610B2 (en) | 2011-03-15 | 2018-02-13 | Omron Corporation | Computation unit, assistance device, output control method, display control method, and program |
US10274923B2 (en) | 2011-03-15 | 2019-04-30 | Omron Corporation | CPU of PLC, system program for PLC, and recording medium storing system program for PLC |
WO2012124143A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | 演算ユニット、支援装置、出力制御方法、表示制御方法、およびプログラム |
WO2012124135A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 |
WO2012124141A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 |
WO2012124132A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
WO2012124133A1 (ja) * | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
JP4894961B1 (ja) * | 2011-03-15 | 2012-03-14 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
US9618922B2 (en) | 2011-03-15 | 2017-04-11 | Omron Corporation | CPU of PLC, system program for PLC, and recording medium storing system program for PLC |
US8504176B2 (en) | 2011-03-15 | 2013-08-06 | Omron Corporation | CPU unit of PLC, system program for PLC, and recording medium storing system program for PLC |
CN103403684A (zh) * | 2011-03-15 | 2013-11-20 | 欧姆龙株式会社 | 可编程逻辑控制器的cpu单元、可编程逻辑控制器用的系统程序以及存储了可编程逻辑控制器用的系统程序的记录介质 |
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 |
US9869979B2 (en) | 2011-03-15 | 2018-01-16 | Omron Corporation | Computation unit, output control method, and program |
WO2012124136A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 |
JP4877423B1 (ja) * | 2011-03-15 | 2012-02-15 | オムロン株式会社 | Plcのcpuユニット、plc用システムプログラムおよびplc用システムプログラムを格納した記録媒体 |
WO2012124144A1 (ja) | 2011-03-15 | 2012-09-20 | オムロン株式会社 | 演算ユニット、出力制御方法、およびプログラム |
US9618924B2 (en) | 2011-03-15 | 2017-04-11 | Omron Corporation | CPU of PLC, system program for PLC, and recording medium storing system program for PLC |
JP2012194954A (ja) * | 2011-05-24 | 2012-10-11 | Omron Corp | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 |
WO2013011713A1 (ja) | 2011-07-15 | 2013-01-24 | オムロン株式会社 | Plcのcpuユニット、plc用のシステムプログラム、plc用のシステムプログラムを格納した記録媒体、plcシステム、plcサポート装置、plcサポートプログラム、および、plcサポートプログラムを格納した記録媒体 |
JP2015122077A (ja) * | 2013-12-20 | 2015-07-02 | オムロン株式会社 | 制御装置、コントローラ・システム、出力制御方法、およびプログラム |
CN104794001B (zh) * | 2014-01-20 | 2018-02-16 | 三菱电机株式会社 | Cpu的程序处理方法及利用该方法的车辆控制装置 |
CN104794001A (zh) * | 2014-01-20 | 2015-07-22 | 三菱电机株式会社 | Cpu的程序处理方法及利用该方法的车辆控制装置 |
DE102014215640A1 (de) | 2014-01-20 | 2015-07-23 | Mitsubishi Electric Corporation | Programmverarbeitungsverfahren eine CPU und ein dasselbe verwendender Fahrzeugcontroller |
JP2017079060A (ja) * | 2015-10-20 | 2017-04-27 | エルエス産電株式会社Lsis Co., Ltd. | Plc位置決定システムにおける軸毎の制御周期独立割当方法 |
CN106843121A (zh) * | 2015-10-20 | 2017-06-13 | Ls 产电株式会社 | 对plc定位系统中的各轴的独立控制周期分配的方法 |
CN106843121B (zh) * | 2015-10-20 | 2019-05-17 | Ls 产电株式会社 | 对plc定位系统中的各轴的独立控制周期分配的方法 |
US10394213B2 (en) | 2015-10-20 | 2019-08-27 | Lsis Co., Ltd. | Method of independent control period allocation of axis in the PLC positioning system |
US10845785B2 (en) | 2016-09-30 | 2020-11-24 | Omron Corporation | Control unit, data refresh method, and data refresh program |
EP3460596A1 (en) * | 2017-09-26 | 2019-03-27 | Omron Corporation | Support device and support program |
US20190095246A1 (en) * | 2017-09-26 | 2019-03-28 | Omron Corporation | Support device and non-transitory storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007140655A (ja) | モーションコントローラ | |
JP4752984B1 (ja) | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 | |
US9904278B2 (en) | Numerical controller capable of performing axis control routine of a plurality of axes in distributed manner | |
CN109507980B (zh) | 控制装置及控制方法 | |
CN106802634B (zh) | 数值控制装置 | |
EP3076293A2 (en) | Control apparatus | |
JP6151669B2 (ja) | 加工プログラム指令内容に応じてcpu負荷を分散可能な数値制御装置 | |
JP6626240B2 (ja) | コントローラ | |
EP2555068B1 (en) | Synchronization control apparatus | |
EP1630672A3 (en) | Information processing apparatus, method and program for distributed processing on processors with variable clock-rates | |
EP3460596A1 (en) | Support device and support program | |
TW201432400A (zh) | 同步控制裝置 | |
EP3582036B9 (en) | Control device | |
JP4389273B2 (ja) | Plc機能内蔵型ドライブ制御装置 | |
JP7077848B2 (ja) | 制御装置 | |
JP2017204955A (ja) | モータ制御用パルス出力ロジック回路及びモータ制御用コントローラユニット | |
JP2005014149A (ja) | ロボットシステム | |
JP2010160713A (ja) | フィールド制御装置およびフィールド制御方法 | |
JP6773072B2 (ja) | 制御装置、システムおよび制御方法 | |
WO2010134199A1 (ja) | シミュレーション装置およびシミュレーションプログラム | |
CN105550023B (zh) | 一种定时器事件的处理方法及装置 | |
JP2021043750A (ja) | サーボ制御装置、サーボ制御システム及びサーボ制御方法 | |
JP5489880B2 (ja) | 中央演算処理装置、制御システム、及び、ポート設定方法 | |
Dobra et al. | Advanced Control Methods for Rapid Development Prototype of Industry Process | |
DOBRA | Development Environment for Controller Design using HIL Simulation |