(57)【要約】      （修正有）【課題】制御ソフトウエアによる制御対象装置の制御の際に、当該制御対象装置の検証対象部品が動作不良を行う可能性が有るかを検証する検証装置を提供する。【解決手段】検証装置は、制御部シミュレータ３０１が装置シミュレータ３０３に出力する制御信号に基づき、制御対象装置の検証対象部品の所定の制御パラメータが所定の条件を満たすかを判定する第１判定手段１０５と、装置シミュレータの模擬動作から検証対象部品の動作に影響を与える所定の外乱が検証対象部品に発生しているかを判定する第２判定手段１０９と、検証対象部品の所定の制御パラメータが所定の条件を満たしているときに、所定の外乱が発生すると、検証対象部品に動作不良の可能性があると判定する第３判定手段１１０と、を備える。【選択図】図１
2015103192.tif 000002
【特許請求の範囲】
【請求項１】
制御ソフトウエアを実行する制御部シミュレータと、
前記制御ソフトウエアの制御対象装置の動作を模擬する装置シミュレータと、
前記制御部シミュレータが前記装置シミュレータに出力する制御信号に基づき、前記制御対象装置の検証対象部品の所定の制御パラメータが所定の条件を満たすかを判定する第１判定手段と、
前記装置シミュレータの模擬動作から前記検証対象部品の動作に影響を与える所定の外乱が前記検証対象部品に発生しているかを判定する第２判定手段と、
前記検証対象部品の所定の制御パラメータが所定の条件を満たしているときに、前記所定の外乱が発生すると、前記検証対象部品に動作不良の可能性があると判定する第３判定手段と、
を備えていることを特徴とする検証装置。
【請求項２】
前記第３判定手段は、前記検証対象部品の所定の制御パラメータの値に基づき前記検証対象部品の状態を分類した状態種別と、前記検証対象部品の動作に影響を与える外乱の種別である外乱種別との関係を保持し、前記第１判定手段から通知される状態種別と、前記第２判定手段から通知される外乱種別と、前記保持する関係に基づき前記検証対象部品に動作不良の可能性があるかを判定することを特徴とする請求項１に記載の検証装置。
【請求項３】
前記検証対象部品はモータであることを特徴とする請求項１又は２に記載の検証装置。
【請求項４】
前記検証対象部品の所定の制御パラメータは、モータの加速度、モータの電流値及びモータの励磁パターンの少なくとも１つを含むことを特徴とする請求項３に記載の検証装置。
【請求項５】
前記検証対象部品の所定の制御パラメータは、モータの加減速時に前記モータに発生するトルクの方向であることを特徴とする請求項３に記載の検証装置。
【請求項６】
前記第２判定手段が判定する所定の外乱は、前記モータに外部から加わる力の方向であり、
前記第３判定手段は、前記モータに発生するトルクの方向と前記モータに加わる力の方向が同じであると前記モータに動作不良の可能性があると判定することを特徴とする請求項５に記載の検証装置。
【請求項７】
前記第３判定手段は、前記検証対象部品に動作不良の可能性があることを前記検証装置のユーザに通知することを特徴とする請求項１から６のいずれか１項に記載の検証装置。
【請求項８】
前記制御対象装置は画像形成装置であることを特徴とする請求項１から７のいずれか１項に記載の検証装置。
【請求項９】
請求項１から８のいずれか１項に記載の検証装置としてコンピュータを機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、制御ソフトウエアを検証する検証装置に関する。
【背景技術】
【０００２】
特許文献１は、モータを検証するためのシミュレーションシステムを開示している。特許文献１では、制御ソフトウエアを実行することにより出力されるモータ駆動信号に基づきモータ軸にかかる負荷を計算し、モータ動作に必要な駆動トルクを算出している。また、特許文献２は、モータを含む装置の制御ソフトウエアの動作検証用のシミュレーションシステムを開示している。特許文献２では、制御ソフトウエアを実行することで制御装置が出力する制御信号に応じて、装置の動作をシミュレーションしている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３０２５１号公報
【特許文献２】特開２０１０−３３１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
制御ソフトウエアは、そのリリース前にその動作が検証される。ここで、例えば、制御ソフトウエアを実行する制御部が、モータ加減速中にモータに過負荷がかかるような処理を行うとモータは脱調等の動作不良を起こす可能性が有る。この様に、制御ソフトウエアの検証においては、制御ソフトウエアの制御対象装置が有する検証対象部品が、制御ソフトウエアにより動作不良を起こす可能性があるかについても検証する必要がある。しかしながら、特許文献１及び２はその様な検証を行うことを開示するものではない。
【０００５】
本発明は、制御ソフトウエアによる制御対象装置の制御の際に、当該制御対象装置の検証対象部品が動作不良を行う可能性が有るかを検証する検証装置及びプログラムを提供するものである。
【課題を解決するための手段】
【０００６】
本発明の一側面によると、検証装置は、制御ソフトウエアを実行する制御部シミュレータと、前記制御ソフトウエアの制御対象装置の動作を模擬する装置シミュレータと、前記制御部シミュレータが前記装置シミュレータに出力する制御信号に基づき、前記制御対象装置の検証対象部品の所定の制御パラメータが所定の条件を満たすかを判定する第１判定手段と、前記装置シミュレータの模擬動作から前記検証対象部品の動作に影響を与える所定の外乱が前記検証対象部品に発生しているかを判定する第２判定手段と、前記検証対象部品の所定の制御パラメータが所定の条件を満たしているときに、前記所定の外乱が発生すると、前記検証対象部品に動作不良の可能性があると判定する第３判定手段と、を備えていることを特徴とする。
【発明の効果】
【０００７】
検証対象部品が動作不良を行う可能性が有るかを検証することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態による検証装置の概略的な構成図。
【図２】一実施形態による検証装置のハードウェア構成図。
【図３】一実施形態による制御部シミュレータと装置シミュレータとの間で入出力される信号例を示す図。
【図４】一実施形態によるシミュレータハブでの処理のフローチャート。
【図５】一実施形態によるパラメータ抽出部での処理のフローチャート。
【図６】一実施形態による例示的な外乱要因情報を示す図。
【図７】一実施形態による判定部での処理のフローチャート。
【図８】一実施形態による制御パラメータを示す図。
【図９】一実施形態による可能性検出部の構成図。
【図１０】一実施形態による制御パラメータの値で分類した脆弱状態種別と、判定部が保持する脆弱状態種別と外乱種別との関係を示す。
【図１１】一実施形態による外乱種別を示す図。
【発明を実施するための形態】
【０００９】
以下、本発明の例示的な実施形態について図面を参照して説明する。なお、以下の各図においては、実施形態の説明に必要ではない構成要素については図から省略する。
【００１０】
＜第一実施形態＞
本実施形態による検証装置は、コンピュータシステム上でプログラムを実行することで実現でき、そのハードウェア構成を図２に示す。図２の本体部２０２のハードディスク２０２ｃには、検証装置の各機能を実現するためのプログラムや、制御対象装置に関する情報を含む各種データや、検証対象の制御ソフトウエアが格納される。中央処理部２０２ａは、プログラム及び各種データを主記憶部２０２ｂにロードして実行し、これによりコンピュータシステム２０１は検証装置として動作する。なお、表示装置２０３は、本体部２０２からの指示により画面表示を行う。また、キーボード２０４は、このコンピュータシステム２０１にユーザの指示や文字情報を入力するためのものである。さらに、マウス２０５は、表示装置２０３上の任意の位置を指定することによりその位置に表示されていたアイコン等に応じた指示を入力するためのものである。
【００１１】
図１は、本実施形態による制御ソフトウエアの検証のための検証装置の構成図である。なお、以下では、制御ソフトウエアの制御対象装置が画像形成装置であり、検証対象部品が二相ステッピングモータであるものとして説明を行うが、検証対象部品は、他の種別のモータであっても良い。さらに、制御対象装置は、画像形成装置以外の装置であっても良い。本実施形態による検証装置は、シミュレータ部１０１と、可能性検出部１０２を備えている。なお、シミュレータ部１０１は、所定期間を１単位時間とし、１単位時間毎にシミュレーション処理を行う同期方式を取る。以下の説明において、時間又は時刻とは、このシミュレーションにおける時間又は時刻を指すものとして使用する。
【００１２】
シミュレータ部１０１の制御部シミュレータ３０１は、制御対象装置の制御部の動作を模擬する。つまり、制御部シミュレータ３０１は、制御対象装置の制御部が実行する制御ソフトウエアを実行し、制御対象装置のセンサ等が出力する制御対象装置の動作状態を示す信号を受け取り、制御対象装置の各部品に制御信号を出力する。なお、制御部シミュレータ３０１は、制御信号をシミュレータハブ（以下、ＨＵＢと記す。）３０２に出力する。また、制御部シミュレータ３０１は、制御信号を変化させる際には、そのときの時刻もＨＵＢ３０２に通知する。
【００１３】
装置シミュレータ３０３は、制御ソフトウエアの制御対象装置、本例では、画像形成装置の各部品の動作を模擬する。装置シミュレータ３０３は、制御対象装置の各部品に対する制御信号と、各部品が出力する出力信号を管理する。具体的には、装置シミュレータ３０３は、制御対象装置の各部品に部品識別子（以下、部品ＩＤと称する。）を割り当て、部品ＩＤと当該部品の制御信号又は出力信号とを関連付けて管理する。図３に、部品ＩＤがＳＴＰＭであるステッピングモータについての制御信号の例を示す。なお、図３の表の信号１〜４は、シミュレータ部１０１の各部の結線信号の識別子（以下、信号ＩＤと称する）であり、ＨＵＢ３０２が管理する。
【００１４】
装置シミュレータ３０３は、各部品の出力信号の値の変化を、その時間と共にＨＵＢ３０２に通知する。また、装置シミュレータ３０３の事象判定部３０４は、外乱検出部１０７から、外乱検出部１０７にその発生や終了を通知する事象を事象情報通知で受け取り、事象情報通知で受け取った事象を事象情報３０５として保持している。そして、事象判定部３０４は、制御対象装置の模擬動作の結果、事象情報３０５が示す事象が発生したり終了したりすると、当該事象の発生や終了を状態通知で外乱検出部１０７に通知する。なお、事象情報３０５は、事象管理番号で識別される。具体的には、装置シミュレータ３０３は、ある時点でのＨＵＢ３０２からの制御信号や制御対象装置の各部品の特性等から１単位時間後の装置状態を解析する。事象判定部３０４は、１単位時間分の動作シミュレーション毎に、事象情報３０５に示される事象が発生しているか否かを判定する。判定結果が、１単位時間前の判定結果と異なる場合は、外乱検出部１０７に事象状態の更新を通知する。この事象通知は、事象管理番号と、事象の発生又は終了を示す値と、その時刻を含む。
【００１５】
また、装置シミュレータ３０３は、ＨＵＢ３０２及び可能性検出部１０２と、本実施形態の検証対象部品であるモータの情報を共有するために、シミュレーション開始前までに、モータ情報３０６を外部へ出力する。モータ情報３０６は、検証対象のモータの部品ＩＤと、モータの制御信号の信号ＩＤを含む。ＨＵＢ３０２と可能性検出部１０２は、モータ情報３０６を読み込むことで、シミュレーション開始時に、検証対象のモータについての情報を取得する。
【００１６】
ＨＵＢ３０２は、制御部シミュレータ３０１と装置シミュレータ３０３の時刻同期処理と、信号結線処理と、信号の伝達処理を行う。さらに、ＨＵＢ３０２は、可能性検出部１０２との連携処理を行い、可能性検出部１０２に検証対象のモータに対する制御信号の変化を通知する。
【００１７】
制御部シミュレータ３０１と装置シミュレータ３０３の時刻同期について、簡単に説明する。ＨＵＢ３０２は、まず、制御部シミュレータ３０１及び装置シミュレータ３０３に所定時間分（１単位時間分）のシミュレーション実行を指示する。指示を受けた各シミュレータは、所定時間分のシミュレーション処理を実行し、シミュレーション処理を終えると、ＨＵＢ３０２にシミュレーション処理終了を通知する。
【００１８】
ＨＵＢ３０２は、信号結線および信号情報伝達処理のために信号管理情報３０７を有している。信号管理情報３０７は、信号ＩＤと、信号サイズ（信号線が何ビット長であるかを示す情報）と、信号出力元のシミュレータと、信号入力先のシミュレータと、の４つの項目を含む。また、ＨＵＢ３０２は、検証対象のモータに対する制御信号の変化を脆弱検出部１０３に通知するために、変化通知部３０８を有している。変化通知部３０８は、モータ情報３０６を読み込み、モータの部品ＩＤ毎に制御信号の信号ＩＤを格納している。変化通知部３０８は、制御部シミュレータ３０１が出力する検証対象のモータの制御信号が変化すると、脆弱検出部１０３へ制御信号の変化を通知する。この通知は、制御信号の信号ＩＤと、信号値と、変化の時間を含んでいる。
【００１９】
図４は、モータの制御信号の変化を脆弱検出部１０３に通知するためのＨＵＢ３０２における処理のフローチャートである。ＨＵＢ３０２は、Ｓ１０で、制御部シミュレータ３０１が出力する制御信号と、装置シミュレータ３０３が出力する出力信号が変化するまで待機する。信号が変化すると、ＨＵＢ３０２は、Ｓ１１で、信号の変化を制御部シミュレータ３０１又は装置シミュレータ３０３に伝達する。その後、ＨＵＢ３０２は、Ｓ１２において、変化した信号が制御部シミュレータ３０１からの、検証対象部品であるモータの制御信号であるかを判定する。なお、この判定は、シミュレーション開始前に読み込んだモータ情報３０６により行う。変化した信号が検証対象部品であるモータの制御信号ではない場合、ＨＵＢ３０２は、Ｓ１０からの処理を繰り返す。一方、変化した信号が検証対象部品であるモータの制御信号であると、ＨＵＢ３０２は、Ｓ１３で、脆弱検出部１０３にモータの制御信号の変化を通知し、Ｓ１０からの処理を繰り返す。
【００２０】
次に、シミュレーション開始時のシミュレータ部１０１と可能性検出部１０２との連携に関してＨＵＢ３０２が行う処理について説明する。ＨＵＢ３０２は、シミュレーション開始時に、可能性検出部１０２へシミュレーション開始予告通知を出力する。可能性検出部１０２は、動作不良検出の前準備終了後、ＨＵＢ３０２に対して準備終了通知を行う。ＨＵＢ３０２は、可能性検出部１０２からの準備終了通知が行われるまで待機し、準備終了通知受信後、各シミュレータにシミュレーションの実行開始を指示する。
【００２１】
続いて、可能性検出部１０２について説明する。可能性検出部１０２の脆弱検出部１０３は、モータが外乱に対して脆弱な状態（モータの動作が不良となる可能性が有る状態）となっているかを検出する。また、外乱検出部１０７は、モータに対する外乱が発生しているか否かを検出する。さらに、判定部１１０は、脆弱状態と外乱状態から動作不良の可能性の有無を判定する。
【００２２】
可能性検出部１０２は、ＨＵＢ３０２からのシミュレーション開始予告通知を受け取ると、前準備を開始する。前準備において、脆弱検出部１０３は、モータ情報３０６を読み込み、モータの制御信号の信号ＩＤを内部に格納する。なお、格納する信号ＩＤは、検証対象となっているモータについての信号ＩＤである。また、外乱検出部１０７は、後述する外乱要因情報１０８を事象情報通知として装置シミュレータ３０３に送信する。以上の前準備が完了すると、可能性検出部１０２は、ＨＵＢ３０２に対して前準備完了通知を行う。
【００２３】
脆弱検出部１０３は、パラメータ抽出部１０４と脆弱判定部１０５を備えている。パラメータ抽出部１０４は、ステッピングモータに関するプログラムの制御要素に着目し、モータの脆弱性に関する制御パラメータを抽出する。ステッピングモータに関するプログラムの制御要素とは、例えば、モータ速度、モータの電流設定値、モータの励磁パターンである。また、脆弱性に関する制御パラメータとは、例えば、モータ速度の変化率（モータ加速度）と、モータ電流値と、モータ励磁パターンである。
【００２４】
パラメータ抽出部１０４は、抽出対象の制御パラメータに関する情報（以降、抽出パラメータ情報１１３と呼ぶ。）と、制御パラメータの抽出に必要なモータの制御信号を予め保持している。制御パラメータの抽出に必要なモータの制御信号とは、抽出対象の制御パラメータが、モータ加速度である場合は、モータ速度を定めるＡ相励磁信号とＢ相励磁信号とすることができる。また、抽出対象の制御パラメータが、モータ電流値である場合は、Ａ相電流設定とＢ相電流設定とすることができる。
【００２５】
図５は、パラメータ抽出部１０４における処理のフローチャートである。パラメータ抽出部１０４は、Ｓ２０で、ＨＵＢ３０２からモータの制御信号の変化が通知されるまで待機する。制御信号の変化通知を受け取ると、パラメータ抽出部１０４は、Ｓ２１で、抽出パラメータ情報１１３に基づき、抽出すべき制御パラメータに関する制御信号であるかを判断する。抽出すべき制御パラメータに関する制御信号ではない場合、パラメータ抽出部１０４は、Ｓ２０からの処理を繰り返す。一方、抽出すべき制御パラメータに関する制御信号であると、パラメータ抽出部１０４は、Ｓ２２で、制御信号から制御パラメータの値を算出し、Ｓ２３で、脆弱判定部１０５に更新通知を行う。更新通知は、制御パラメータの値と、その変化時刻を含む。パラメータ抽出部１０４は、その後、Ｓ２０からの処理を繰り返す。
【００２６】
具体例として、抽出対象の制御パラメータがモータ加速度であり、信号が図３の通りに定義されている場合を例にして図５の処理を説明する。なお、モータ加速度に関係する制御信号は、図３の信号１及び２、つまり、Ａ相及びＢ相励磁信号である。パラメータ抽出部１０４は、Ｓ２０において、モータの制御信号の変化を通知されると、Ｓ２１において制御信号が、Ａ相励磁信号又はＢ相励磁信号であるかを判定する。例えば、Ｓ２０で変化が通知された制御信号が、図３の信号４、つまり、Ｂ相電流設定である場合には、Ｓ２１の判定は"Ｎｏ"となり、Ｓ２０に戻る。一方、Ｓ２０で変化が通知された制御信号が、例えば、Ａ相励磁信号である場合、Ｓ２１の判定は"Ｙｅｓ"となり、処理はＳ２２に進む。抽出対象の制御パラメータがモータ加速度であることから、パラメータ抽出部１０４は、Ｓ２２において、モータの加速度を算出する。パラメータ抽出部１０４は、まず、励磁信号の変化の時間間隔からモータ速度を求め、これを現時点でのモータ速度とする。そして、現時点でのモータ速度と前回のモータ速度と、その時間間隔からモータ加速度を求める。
【００２７】
Ｓ２３で、パラメータ抽出部１０４は、モータの加速度の値と、変化時刻と、当該モータの部品ＩＤを脆弱判定部１０５へ通知する。なお、パラメータ抽出部１０４は、制御パラメータの抽出時に、ソフトウエア制御上のばらつきに対するフィルタリングを行うことができる。例えば、制御上、モータの加速度の絶対値に０．００５以下のばらつきが起こり得る場合、モータの加速度の絶対値が０．００５以下の場合は、モータ加速度の値を０として扱うことができる。
【００２８】
脆弱判定部１０５（第１判定部）は、パラメータ抽出部１０４から通知された制御パラメータ値に基づき、モータが外乱に対して脆弱な状態となっているか判定するための判定基準情報１０６を有している。脆弱判定部１０５は、パラメータ抽出部１０４からの更新通知をトリガとして、脆弱状態の判定を開始し、判定結果（脆弱状態が発生しているか否か）を判定部１１０に通知する。
【００２９】
例えば、モータが加減速中に脆弱状態が発生するとの判定基準であれば、判定基準情報１０６は、モータ加速度が０でない場合に脆弱状態が発生との基準を示している。また、例えば、加速度又は減速度の絶対値が所定値以上又は以下との判定基準とすることもできる。脆弱判定部１０５は、脆弱状態であるか否かの判定を行い、前回の判定結果と異なる場合に判定部１１０に脆弱通知を行う。脆弱通知は、脆弱状態の発生又は終了を示す情報と、その時刻を示す情報を含んでいる。なお時刻は、パラメータ抽出部１０４からの更新通知に含まれる時刻情報である。
【００３０】
次に、外乱検出部１０７について説明する。外乱検出部１０７は、外乱要因情報１０８と外乱判定部１０９とを備えている。外乱要因情報１０８は、制御対象装置の動作において、検証対象部品であるモータの動作に影響する要因を示す情報である。図６に外乱要因情報１０８の例を示す。なお、外乱要因情報１０８は、装置シミュレータ３０３に事象情報として通知され、装置シミュレータ３０３において事象情報３０５として管理される。よって、装置シミュレータ３０３が外乱検出部１０７に対して行う状態通知とは、外乱要因情報１０８が示す状態が発生したこと、或いは、終了したことを示す通知である。
【００３１】
外乱判定部１０９（第２判定部）は、装置シミュレータ３０３から発生を示す状態通知を受け取ると、外乱発生と判定し、終了を示す状態通知を受け取ると、外乱終了と判定し、外乱の発生又は終了を判定部１１０に通知する。この外乱通知は、外乱の発生又は終了を示す情報と、外乱の発生又は終了の時刻を含んでいる。
【００３２】
判定部１１０（第３判定部）は、脆弱検出部１０３が通知する脆弱状態と、外乱検出部１０７が通知する外乱の発生の重なりを検出すると、モータの動作不良の可能性が有ると判定する。
【００３３】
図７は、判定部１１０での判定処理のフローチャートである。判定部１１０は、Ｓ３０で、脆弱状態が発生する状態まで待機する。脆弱状態が発生すると、判定部１１０は、Ｓ３１で、外乱が発生しているかを判定し、外乱が発生していると動作不良の可能性有と判定してＳ３３で警告を通知する。ここで、警告を通知するとは、検証装置を利用しているユーザに対する画面表示等、当該ユーザに対する任意の出力により行う。Ｓ３１で、外乱が発生していないと、判定部１１０は動作不良の可能性は無いと判定し、Ｓ３２で、脆弱状態が継続しているかを判定する。判定部１１０は、Ｓ３２で、脆弱状態が継続していると、Ｓ３１から処理を繰り返し、脆弱状態が継続していないと、Ｓ３０から処理を繰り返す。なお、脆弱通知と外乱通知には、発生時刻が含まれているため、判定部１１０は、Ｓ３３での警告通知に、動作不良が発生する可能性のある時刻を含めることができる。また、脆弱通知と外乱通知の発生及び終了に関するタイミングチャートを表示することもできる。
【００３４】
なお、上記説明では、抽出対象の制御パラメータがモータ加速度である場合を例に挙げたが、抽出対象の制御パラメータがモータ電流値の場合は、図５のＳ２２においてモータ電流値を求める。具体的には、モータ電流が１ビットの信号Ａ及び信号Ｂの２つの信号により設定され、２つの信号の値と出力電流の関係が図８で示されるものとする。パラメータ抽出部１０４は、ＨＵＢ３０２から信号Ａ又は信号Ｂの値の変化が通知されると、脆弱判定部１０５に、信号Ａ及び信号Ｂの値から得られる電流値を含む更新通知を行う。脆弱判定部１０５は、例えば、モータ電流値が６６％以下であると、脆弱状態であると判定できる。
【００３５】
また、抽出対象の制御パラメータが励磁パターンである場合、パラメータ抽出部１０４は、図５のＳ２２において励磁パターン（２相励磁、１−２相励磁など）を抽出し、抽出パラメータである励磁パターンを脆弱判定部１０５に通知する。脆弱判定部１０５は、判定基準情報１０６に従って、通知される励磁パターンからモータが脆弱状態であるかを判定する。この場合、判定基準情報１０６は、例えば、２相励磁ではない場合に脆弱状態と判定することを示している。
【００３６】
なお、上記実施形態は、二相ステッピングモータを例にして行ったが、他の種別のモータであっても、制御信号の状態と脆弱状態を関連付けて本発明を適用することができる。例えば、モータがＤＣモータである場合、モータが、停止状態から定常回転速度になるまでの間は、脆弱状態であるとすることができる。さらに、検証対象のモータは、部品ＩＤで区別できるため、同時に検証するモータは１つ以上であっても良い。さらに、検証対象部品は、その状態と、外乱との関係により動作不良の可能性を判定できる任意の部品とすることもできる。
【００３７】
以上、制御部シミュレータ３０１からの制御信号の値に変化がある度に、予め定めた制御パラメータに基づき脆弱状態であるかを判定する。さらに、装置シミュレータ３０３の模擬動作から、所定の外乱が発生しているかを判定し、脆弱状態であるときに所定の外乱が発生すると、動作不良の可能性有と判定する。この構成により、制御ソフトウエアによるモータの動作不良の可能性の有無を検出することができる。したがって、プログラムの動作検証時に、モータ制御上の問題をユーザに通知することができ、検証効率を向上させることができる。
【００３８】
＜第二実施形態＞
第一実施形態では、脆弱状態であるときに外乱が発生すると動作不良の可能性有と判定していた。しかし、外乱の種別によって、モータの脱調等を招く可能性の度合いは異なり得る。例えば、モータが加減速中との脆弱状態にあるときに、用紙が搬送路の所定位置に突入する外乱が発生してもモータ脱調の可能性は少ないが、当該モータが駆動しているローラに用紙が接するという外乱が発生するとモータ脱調の可能性がある場合である。また、脆弱状態の種別によっては、同じ外乱でも動作不良の可能性は異なる。例えば、モータが加減速中との脆弱状態は、さらに、定格範囲内及び定格範囲外という２つの状態種別に分類できるが、同じ外乱に対するモータ脱調の可能性は、この状態種別により異なる。本実施形態では、外乱種別と、脆弱状態の状態種別との組み合せにより動作不良の可能性有無を検出する。以下、本実施形態について第一実施形態との相違点を中心に説明する。
【００３９】
図９は、本実施形態における可能性検出部１０２の構成図である。第一実施形態の可能性検出部１０２との相違点は、脆弱検出部１０３に種別判定部１１４を設け、外乱検出部１０７に外乱種別通知部１１６を設け、判定部１１０が動作不良条件情報１１１を保持することである。
【００４０】
種別判定情報１１５は、制御パラメータの値により、脆弱状態を分類したものでありその例を図１０（Ａ）に示す。図１０（Ａ）は、制御パラメータが、モータ電流値の場合であり、モータ電流値により種別Ａ、Ｂ、Ｃの３つの状態種別に分類している。図９の種別判定部１１４は、パラメータ抽出部１０４からの更新通知に含まれる制御パラメータ値と種別判定情報１１５から脆弱状態の種別を判定する。種別判定部１１４は、判定した状態種別を判定部１１０に通知する。この状態種別通知は、状態種別を示す情報と状態種別が変化した時刻を含んでいる。
【００４１】
外乱種別通知部１１６は、外乱の発生又は終了時に、発生又は終了した外乱の種別を判定部１１０に通知する。例えば、外乱種別は、事象通知に含まれる事象管理番号を使用して特定することができる。外乱種別通知は、外乱種別を示す情報とその変更時刻とを含んでいる。
【００４２】
本実施形態において、判定部１１０は、外乱種別毎に動作不良の可能性を判定する。このため、判定部１１０は、図１０（Ｂ）にその例を示す動作不良条件情報１１１を保持している。判定部１１０は、脆弱検出部１０３からの脆弱通知及び脆弱種別通知により、脆弱状態の有無及びその種別を認識する。さらに、外乱通知及び外乱種別通知により、発生している外乱とその種別を認識する。判定部１１０は、脆弱状態において外乱が発生した場合、さらに、脆弱状態の状態種別と外乱の種別に基づき動作不良条件情報１１１を使用して動作不良の可能性を判定する。例えば、動作不良条件情報１１１が図１０（Ｂ）に示すものであり、状態種別Ｂの脆弱状態が発生しているものとする。この状態において、番号１で示される種別の外乱が発生した場合、図１０（Ｂ）の番号１の外乱種別に対応する状態種別には種別Ｂが記載されていないため、判定部１１０は、動作不良の可能性は無いと判定する。一方、番号２で示される種別の外乱が発生した場合、図１０（Ｂ）の番号２の外乱種別に対応する状態種別には種別Ｂが記載されているため、判定部１１０は、動作不良の可能性が有ると判定する。
【００４３】
なお、例えば、状態種別によっては、外乱の発生有無に拘らず動作不良の可能性が有ると判定することもできる。例えば、モータの加速度が定格外の異常な加速度であると、脆弱状態の状態種別が"Ｚ"であると定義し、判定部１１０は、状態種別"Ｚ"の脆弱状態になると、外乱発生の有無に拘らず動作不良の可能性が有ると判定することもできる。
【００４４】
以上、脆弱状態の状態種別及び外乱種別に応じて動作不良の可能性を判定することで、判定精度を高めることができ、制御ソフトウエアの動作検証の効率が向上する。
【００４５】
＜第三実施形態＞
モータの加減速時、モータには、モータ自身の慣性モーメント（以下、自己慣性と呼ぶ。）による負荷トルク（以下、自己負荷と呼ぶ。）が発生する。したがって、既に説明した実施形態では、モータ加減速中の外乱発生を、モータの脱調といった動作不良の可能性の判定基準としていた。しかしながら、より判定精度を高めるためには、自己負荷及び外乱の方向と、モータの回転方向との関係を考慮することができる。そこで、本実施形態では、モータ脱調の可能性有無の判定において、モータ自己負荷とモータに対する外乱の方向を考慮する。
【００４６】
本実施形態の可能性検出部１０２の構成は第一実施形態と同様である。本実施形態では、パラメータ抽出部１０４は、モータの加速度を求め、脆弱判定部１０５は加速度の正負、つまり、加速しているのか減速しているのかを判定して自己負荷の方向を判定する。具体的には、加速中であると、自己負荷の方向はモータの回転方向とは逆方向である。これは、モータの加速中には、回転速度を上げようとするモータの回転力に対して、一定速度で回転し続けようとする力がモータの回転方向とは逆方向に働くためである。一方、モータの減速中であれば、自己負荷の方向は、モータの回転方向と同方向である。これは、モータ減速中には、回転速度を下げようとするモータの回転力に対して、一定速度で回転し続けようとする力がモータ回転方向と同方向に働くためである。脆弱判定部１０５は、自己負荷の方向を含む脆弱通知を行う。
【００４７】
また、本実施形態において、外乱検出部１０７は、図１１にその例を示す外乱要因情報１０８を有している。なお、図１１の外乱方向において、−１は、モータの回転方向と外乱方向が逆向きであることを示し、１は、同じ向きであることを示している。本実施形態において、外乱判定部１０９は、外乱通知に外乱方向を示す情報を含める。また、判定部１１０は、脆弱通知で通知される自己負荷の方向と、外乱通知で通知される外乱方向が同じであると、動作不良の可能性有と判定する。
【００４８】
以上のように、モータ自身の回転運動により発生する自己負荷と、制御対象装置がモータに与える外乱の方向を考慮し、モータ動作不良可能性の有無を判定する。これにより、モータ動作不良の可能性がない状態、すなわち、制御ソフトウエアに不備がない状態を誤検出する可能性が減り、制御ソフトウエア検証時に適切にモータの動作不良の可能性を検出することができる。
【００４９】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウエア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015103192.tif 000003
【図２】
2015103192.tif 000004
【図３】
2015103192.tif 000005
【図４】
2015103192.tif 000006
【図５】
2015103192.tif 000007
【図６】
2015103192.tif 000008
【図７】
2015103192.tif 000009
【図８】
2015103192.tif 000010
【図９】
2015103192.tif 000011
【図１０】
2015103192.tif 000012
【図１１】
2015103192.tif 000013