JP2006107370A - 情報処理装置及びその制御方法 - Google Patents

情報処理装置及びその制御方法 Download PDF

Info

Publication number
JP2006107370A
JP2006107370A JP2004296687A JP2004296687A JP2006107370A JP 2006107370 A JP2006107370 A JP 2006107370A JP 2004296687 A JP2004296687 A JP 2004296687A JP 2004296687 A JP2004296687 A JP 2004296687A JP 2006107370 A JP2006107370 A JP 2006107370A
Authority
JP
Japan
Prior art keywords
control signal
simulation
information
detection signal
information processing
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
Application number
JP2004296687A
Other languages
English (en)
Other versions
JP2006107370A5 (ja
Inventor
Mitsuhiro Ito
充浩 伊藤
Tatsuto Tachibana
達人 橘
Kaoru Sato
馨 佐藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004296687A priority Critical patent/JP2006107370A/ja
Publication of JP2006107370A publication Critical patent/JP2006107370A/ja
Publication of JP2006107370A5 publication Critical patent/JP2006107370A5/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 実際の機械装置の動作に忠実な動作を確認可能なデバッグシステムを提供する。
【解決手段】 本発明による情報処理方法は以下の構成を備える。即ち、機械装置のソフトウェア動作をシミュレーションし、機械部品の動作を制御するための制御信号を出力するソフトウェアシミュレーション工程と、前記機械部品の特性に基づいて前記制御信号を変換し、変換された制御信号を出力する制御信号変換工程と、前記変換された制御信号に基づいて前記機械部品のシミュレーション動作を実行する機械部品シミュレーション工程とを備える。
【選択図】 図6

Description

本発明は、機械装置のソフトウェアをデバッグする技術に関する。
従来より、コンピュータシステム上で機械装置のソフトウェアのデバッグを行うデバッグシステムが知られている(特許文献1)。特許文献1には、CPUシミュレータと機構モデルシミュレータを中間インターフェース部を経由して接続したデバッグシステムが示されている。このデバッグシステムは、CPUシミュレータに機械装置のソフトウェアを読み込ませた上で、CPUシミュレータと中間インターフェース部、機構モデルシミュレータとで同期をとりながら、機構モデルシミュレータに機械装置の仮想動作をさせることで、機械装置のソフトウェアデバッグを容易にしている。
特開平11−327956号公報
実際の機械装置の機械部品(DCモータ、ステッピングモータ、ソレノイド、クラッチ、センサ等)に信号を入力してその動作を制御する場合、動作信号を入力してから動作を行うまでに応答遅延時間が存在する。例えば、実際のクラッチにおいては、クラッチの駆動信号をONにしてからクラッチが連結するまでや、クラッチの駆動信号をOFFにしてからクラッチの連結が解放されるまでにそれぞれ遅延が存在する。同様に、DCモータの駆動や、ソレノイド、センサ等においても同様の遅延が存在する。
しかしながら、従来の機械装置のソフトウェアのデバッグシステムはこの遅延時間を忠実にシミュレートするものではなかった。このため、CPUシミュレータと機構モデルシミュレータでのシミュレーションでの仮想動作が、実際の機械装置の動作と一致せず、精度の高いシミュレーションデバッグができないという問題があった。
また、機械装置の動作を制御する場合において、ONとOFFの駆動信号を高周波で繰り返して制御する、PWM(Pulse Wide Modulation)駆動方式を用いる場合がある。PWM駆動方式は昇温防止性能等に優れている。PWM駆動方式を用いた制御においては、ONとOFFの駆動信号を高周波で繰り返すことによって定常的な出力を得ることができる。例えば、ソレノイドをフラッパ切り替えにおいて用いた場合、ONとOFFの繰り返しで構成されている駆動信号を用いて、フラッパの位置をON側、又は、OFF側のいずれかに固定させるように制御することができる。
しかしながら、従来の機構モデルシミュレータでは、PWM駆動のONとOFFが繰り返されるたびに、フラッパが切り替えられていたため、シミュレーションの仮想動作と、実際の機械装置の動作と一致せず、シミュレーションデバッグができないという問題があった。
また、ステッピングモータでは、励磁パターンを切替えながら駆動出力し、スローアップ、定常回転、スローダウンといった細かな駆動制御を行う。しかしながら、従来の機構モデルシミュレータでは、このような励磁パターンに対応していなかったため、シミュレーションができないという問題があった。
本発明は、上記問題点に鑑みて為されたものであり、実際の機械装置の動作に忠実な動作を確認可能なデバッグシステムを提供することを目的とする。
上記目的を達成するため、例えば本発明による情報処理方法は以下の構成を備える。即ち、
機械装置のソフトウェア動作をシミュレーションし、機械部品の動作を制御するための制御信号を出力するソフトウェアシミュレーション工程と、
前記機械部品の特性に基づいて前記制御信号を変換し、変換された制御信号を出力する制御信号変換工程と、
前記変換された制御信号に基づいて前記機械部品のシミュレーション動作を実行する機械部品シミュレーション工程とを備える。
本発明によれば、実際の機械装置の動作に忠実な動作を確認可能なデバッグシステムを提供することができる。
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
[第1の実施形態]
第1の実施形態は、機械装置として画像形成装置のシミュレーションデバッグを行うシミュレーションデバッグシステムの例である。
<装置構成>
本実施形態のシミュレーションデバッグシステムは、パーソナルコンピュータ、ワークステーション等の情報処理装置(以下、コンピュータシステムと呼ぶ)で実行されるプログラムとして実現される。図2はシミュレーションデバッグシステムに用いられるコンピュータシステムの装置構成を模式的に示す図である。
コンピュータシステム201は、中央処理装置(以下、CPUと呼ぶ)、主記憶装置(以下、RAMと呼ぶ)、ハードディスク(外部記憶装置)等を内蔵した本体部202、本体部202からの指示により画面表示を行う表示装置203、このコンピュータシステム201にユーザの指示や文字情報を入力するためのキーボード204、表示装置203上の任意の位置を指定することによりその位置に表示されていたアイコン等に応じた指示を入力するマウス(ポインティングデバイス)205を備えている。
本体部202のCPUはハードディスクに格納されているプログラム、オペレーティングシステム(OS)等を実行し、RAMにプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。RAMは各種データを一時記憶するために用いられ、CPUの主メモリ、ワークエリア等として機能する。
ハードディスクには機械装置シミュレーションデバッグシステムの各機能を実現したプログラム、シミュレーションの対象となる機器の情報を含むシミュレーションのための各種データが格納される。本体部202のCPUがハードディスクからこのプログラムを本体部202のRAMにロードするように制御し、プログラムに基づいてコンピュータシステムを制御することによってシミュレーションが実行される。
<機能構成>
次に、本実施形態の機械装置シミュレーションデバッグシステムの機能構成について図1を参照して説明する。図1は、本実施形態の機械装置シミュレーションデバッグシステムの機能構成を示す図である。
図1のように、本実施形態の機器制御シミュレーションシステムはCPUシミュレータ101と、機構モデルシミュレータ102から構成される。以下、これらをそれぞれ独立したプロセスとして動作するコンポーネントとして構成した場合について説明を行うが、これらを専用の装置として構成することも可能であることは言うまでもない。また、以下の処理は本体部202の中央処理装置によって制御されることは言うまでもない。
<CPUシミュレータ>
機器制御シミュレーションシステムの各構成要素の機能について説明する。CPUシミュレータ101は、シミュレーション対象となる機械装置の動作を制御するCPU(以下、ターゲットCPUと呼ぶ)の動作を、コンピュータシステム201上で擬似的に再現するコンポーネントである。ここで、ターゲットCPUは、コンピュータシステム201に搭載されているCPUではなく、シミュレーションの対象となる機械装置(本実施形態では画像形成装置)に搭載され、この機械装置を制御するためのCPUのことである。CPUシミュレータ101は、ターゲットCPUの制御プログラム(以下、ターゲットファームウエアと呼ぶ)に従って、ターゲットCPUの端子に対応して定義された仮想入力端子の情報を読み込み、仮想出力端子の出力を制御する。
また、CPUシミュレータ101は、ターゲットCPUのアドレス空間に対応した仮想アドレス空間を用意している。仮想アドレス空間とは、ターゲットCPUの管理するアドレス空間上の個々のメモリ領域と1対1で対応するメモリ領域をコンピュータシステム201のRAM上に定義したものである。
コンピュータシステム201上のRAMに定義された仮想アドレス空間の実アドレス値は、ターゲットCPUの扱うアドレス値とは一般に異なるため、CPUシミュレータ101は仮想アドレスと実アドレスの対応表を有している。そして、仮想アドレス空間上のアドレス値に対してターゲットファームウエアによりアクセス命令がなされた場合、CPUシミュレータ101はアドレスの対応表を参照し、本体部202のRAM上の対応するアドレス領域にアクセスするように制御する。同様に、ターゲットCPUのレジスタ等も仮想アドレス空間上に対応する領域が設定されるため、CPUシミュレータ101はレジスタのアドレスと実アドレスの対応表を有しており、レジスタ等へのアクセスがなされた場合その対応表を参照し、本体部202のRAM上の対応するアドレス領域にアクセスするように制御する。
CPUシミュレータ101は外部インターフェースとしてのI/Oのメソッド、メモリ及びレジスタへアクセスするためのメソッドを有している。外部モジュールはこれらのメソッドを用いて先に述べた仮想アドレス空間へのアクセスを実行する。コンピュータシステム201においてターゲットファームウエアの処理をシミュレートする方法には、ターゲットファームウエアのソースプログラムをコンピュータシステム201のネイティブ言語に変換して実行する方式と、ターゲットCPUの実行命令を1語ずつ解釈しコンピュータシステム201のCPUに対応した実行命令に翻訳しながら実行する方式がある。本実施形態のシミュレーションデバッグシステムは何れかのCPUシミュレーション方式を採用するものとする。
<機構モデルシミュレータ>
機構モデルシミュレータ102は、アクチュエータ、センサを含む複数の部品からなる機構モデルをコンピュータシステム201上で擬似的に動作させるコンポーネントである。機構モデルシミュレータ102は、機構モデルの各要素(以下、機械部品と呼ぶ)について、ユーザがその形状、種類、動作、機械部品間の干渉と連携条件等を定義・設定することができるように制御する。更に、センサ、アクチュエータ等については外部信号定義を行えるように制御する。尚、これら機械部品の定義はCAD図面から自動設定したり、或いは、専用の機構モデル作成ソフトウェアツールをユーザが操作することによって設定できるように制御する。
尚、このようにして構築された機械部品はオブジェクトコードとして実装され、機械部品の動作はオブジェクトコードのメソッドの実行として実装される。また、機械部品に定義された各情報はオブジェクトのパラメータとして設定され、機械部品間の連携等はオブジェクト間の通信によって実装される。このようなオブジェクトコードの実体は、本体部202のRAM、ハードディスク等の記憶領域の情報として存在する。
定義される機械部品には、機能定義がなされない部品と、機能定義がなされる部品(モータ、ソレノイド、クラッチ、センサ、歯車、カム、ローラ等)とがある。また、機械部品には、対象となる機構モデルの構成物ではないが、装置の動作シミュレーションに必要なもの(例えば、画像形成装置における用紙等)も含まれることに留意する。
このように構築された機構モデルは、コンピュータシステム201の表示装置203上に2次元、又は、3次元のグラフィックとして可視的に表示される。
機構モデルシミュレータ102は、CPUシミュレータ101から送られてきたアクチュエータ駆動信号に対応して、該当するアクチュエータの機構モデルを定義された動きで仮想的に動作させるように制御する。更に機構定義に基づきアクチュエータに連結された機械部品をアクチュエータの動作に関連付けて定義された動きで仮想的に動作させるように制御する。
また、キーボード204、マウス205等を用いたユーザの指示入力によりオペレータによる機械部品への操作を擬似的に再現し、擬似操作に応じて対象となる機械部品を定義された動きで仮想的に動作させるように制御する。更に、機械部品間の干渉、連携等の定義情報に従い、関連する全ての機械部品の動作が再現されるように制御する。
これら機械部品の動作は前記表示装置203に表示されたグラフィックとして再現されるように制御するとともに、機構モデルの動作の結果、センサとして定義された機構モデルにあらかじめ定義された作用が発生すると、作用に応じたセンサ信号を発生させ、そのセンサ信号をCPUシミュレータ101に送信するように制御する。
<画像形成装置の仮想動作例>
次に、機構モデルシミュレータ102(に基づいて動作する本体部202のCPU)の制御によって表示装置203に表示される仮想メカの動作について、図3(図3A〜図3E)を参照して説明する。図3は、表示装置203に2次元のグラフィックとして表示される、画像形成装置の仮想動作の例を示す図である。
ここでは画像形成装置において両面印刷を実行する場合の一連の動作について説明する。記録紙Pに対して両面印刷を実行する場合、コンピュータシステム201の表示装置203において、図3A〜図3Eに示す画像形成装置の仮想的な動作が、時系列順にアニメーションのように変化して表示される。尚、表示装置203の表示制御、各機械部品の動作、連携等は本体部202のCPUによって制御される。
図3A(a)は、画像形成装置1の給紙カセット23に記録用紙Pが格納されている初期状態を示している。
図3A(b)は、ピックアップローラ2および給紙ローラ3を回転させて、記録用紙Pを給紙し、給紙センサ4で記録用紙Pを検出して、給紙搬送ローラ5とレジスト前ローラ6を回転させ、記録用紙Pを搬送している状態を示している。
レジスト前センサ7が記録用紙Pを検出したら、所定時間後に各ローラを停止させ、記録用紙Pをレジストローラ8にループ作成した状態で突き当てて搬送停止する。その後、レジストローラ8、レジスト前ローラ6、給紙搬送ローラ5を回転させ、記録用紙Pを、回転している感光ドラム9に搬送して記録用紙Pに画像形成する。この状態を図3B(a)に示す。
さらに搬送を継続し、定着加圧ローラ10で画像を記録用紙Pに加熱定着し、定着排紙ローラ11で記録用紙Pを搬送し、定着排紙センサ12で記録用紙Pを検出したら、フラッパ13を駆動して反転引き込み側に導く。この状態を、図3B(b)に示す。
次に、反転センサ16で記録用紙Pを検出し、反転ローラ17を反転引き込み方向に回転させる。そして、反転センサ16で記録用紙Pの後端を検出したら、所定時間経過後に反転ローラ17の回転を停止させる。この状態を図3C(a)に示す。
次に、反転ローラ17を両面搬送方向に回転させ、記録用紙PをDカットローラ18に搬送させて、Dカットローラ18の半月部分が記録用紙Pと接しないようにしながら、一旦停止させる。この状態を図3C(b)に示す。
この状態で、横レジスト可動板22で記録用紙Pを左右両側から挟み込むように制御して横レジスト位置調整を行う。その後、Dカットローラ18、両面搬送ローラ19で記録用紙Pの搬送を再開し、両面搬送センサ20で記録用紙を検出し、再給紙ローラ21の下流へ搬送する。この状態を図3D(a)に示す。
そして、2面目の印刷のため、再給紙ローラ21、レジスト前ローラ6を回転させて記録用紙Pを再給紙させる。そして、1面目と同様に、再給紙した記録用紙Pをレジストローラ8でループ作成したのち、感光ドラム9で2面目の画像を形成する。この状態を図3D(b)に示す。
次に、定着加圧ローラ10、定着排紙ローラ11を回転させて記録用紙Pを搬送し、定着排紙センサ12で記録用紙Pを検出する。2面目は、排紙トレイ15へ排出するので、フラッパ13は駆動せず、記録用紙Pを排紙トレイ15へ導く。この状態を図3E(a)に示す。
そして、排紙ローラ14で、記録用紙Pを排紙トレイ15へ排出する。この状態を図3E(b)に示す。
以上のように、機構モデルシミュレータ102は、これら図3A〜図3Eというように、記録用紙Pが搬送されていく様子を、アニメーションのように刻々と変化させて、表示装置203に表示する。ユーザは、記録用紙Pが所望の搬送動作になっているかを確認することによって、ターゲットファームウエアのデバッグを容易に行うことができる。
<接続配線>
第1の実施形態におけるCPUシミュレータ101と機構モデルシミュレータ102の接続について図4を参照して説明する。図4はCPUシミュレータ101と機構モデルシミュレータ102の接続配線を示す図である。尚、図4に示される各要素は、本実施形態においてはプログラムコードとして実装されるものであることは言うまでもない。
図4において、CPUシミュレータ101上のターゲットファームウエアは機構モデルシミュレータ102へ駆動指示を伝える。一方、機構モデルシミュレータ102は、機構モデルシミュレータ102の機械部品の動作変化を、CPUシミュレータ101上のターゲットファームウエアに伝える。
ターゲットファームウエアは、機械部品メインモータ300(給紙搬送ローラ5、レジスト前ローラ6、レジストローラ8、感光ドラム9、定着加圧ローラ10、定着排紙ローラ11、排紙ローラ14の回転を行う)の駆動指示を、メインモータ駆動信号(MMD)を用いて行う。
同様に、機械部品給紙モータ301(ピックアップローラ2、給紙ローラ3の回転を行う)の駆動指示を、給紙モータ駆動信号(FEEDMD)を用いて行う。
同様に、機械部品反転モータ302(反転ローラ17の回転を行う)の駆動指示を、反転モータ駆動信号(SWBKMD)と回転方向指示信号(SBDIRD)を用いて行う。
同様に、横レジモータ303(横レジスト可動板22を広げたり狭めたりする)の駆動指示を、横レジモータ駆動信号(HREGMD)と回転方向指示信号(HRDIRD)を用いて行う。
同様に、両面搬送モータ304(Dカットローラ18、両面搬送ローラ19の回転を行う)の駆動指示を、両面搬送モータ駆動信号(DUPMD)を用いて行う。
同様に、再給紙モータ305(再給紙ローラ19の回転を行う)の駆動指示を、再給紙モータ駆動信号(RFDMD)を用いて行う。
同様に、給紙クラッチ306(メインモータ300が回転駆動している時、給紙搬送ローラ5およびレジスト前ローラ6の回転/停止を選択する)の駆動指示を、給紙クラッチ駆動信号(FEEDCLD)を用いて行う。
同様に、レジクラッチ307(メインモータ300が回転駆動している時、レジストローラ8の回転/停止を選択する)の駆動指示を、レジクラッチ駆動信号(REGCLD)を用いて行う。
同様に、フラッパソレノイド13の駆動指示を、両面ソレノイド駆動信号(DUPSLD)を用いて行う。ここで、ON駆動はフラッパが記録用紙を両面行きへ導き、OFF駆動はフラッパが記録用紙を排紙トレイ15へ導くように動作することを意味するものとする。
一方、機構モデルシミュレータ102の給紙センサ4は、機構モデルシミュレータでの紙有無の検知情報を、給紙センサ信号(FEEDS)を用いてCPUシミュレータ101上のターゲットファームウエアへ伝える。
同様に、レジスト前センサ7は、紙有無の検知情報を、レジスト前センサ信号(REGS)を用いてCPUシミュレータ101上のターゲットファームウエアへ伝える。
同様に、定着排紙センサ12は、紙有無の検知情報を、定着排紙センサ信号(FPOUTS)を用いてCPUシミュレータ101上のターゲットファームウエアへ伝える。
同様に、反転センサ16は、紙有無の検知情報を、反転センサ信号(SWBKS)を用いてCPUシミュレータ101上のターゲットファームウエアへ伝える。
同様に、両面搬送センサ20は、紙有無の検知情報を、両面搬送センサ信号(DUPS)を用いてCPUシミュレータ101上のターゲットファームウエアへ伝える。
<応答特性変換>
第1の実施形態では、機械装置の応答遅延特性を忠実にシミュレートするため、CPUシミュレータ101に、DCモータ応答特性変換308、クラッチ応答特性変換309、ソレノイド応答特性変換310、センサ応答特性変換311を設けたことが、従来と異なる。それぞれの変換について図5(a)から図5(e)を参照して説明する。
<DCモータ応答特性変換>
まず、DCモータ応答特性308について図5(a)を参照して説明する。図5(a)は、DCモータ応答特性変換308のタイムチャートである。
実際のDCモータは、駆動開始を指示する駆動信号を入力してから実際に定常回転に到達するまでに立ち上がり時間が存在し、一方、定常回転している状態において駆動停止を指示する駆動信号を入力してから実際に停止するまでに立下り時間が存在する。そこで、あらかじめこのような応答特性をコンピュータシステム201に記憶させておく。
尚、応答特性は機械部品のスペックや、測定値によって求められる。他の機械部品についても同様である。
そして、メインモータ300(DCモータ)をMMDにて駆動する状況においては、図5(a)に示すように、DCモータ応答特性変換308は、ターゲットファームウエアから駆動ONの駆動信号が入力された場合、立ち上がり時間だけ遅延させてから、仮想メインモータ(機械部品メインモータ300)へ回転の指示を出力する。同様に、ターゲットファームウエアから駆動OFFの駆動信号が入力された場合、立下り時間だけ遅延させてから、仮想メインモータへ回転停止の指示を出力する。
本実施形態においては、他のモータ301〜305についてもこのDCモータ応答特性変換308と同様の変換を適用する。
従来のシミュレーションシステムにおいては、このような応答特性をシミュレートしていなかったため、DCモータ駆動信号の入力と同時に仮想DCモータにおいて記録用紙搬送が開始し、また、駆動停止信号の入力と同時に記録用紙の搬送が停止していた。このため、機構モデルシミュレータの動作が実際の機器の動作と一致せず、ターゲットファームウエアのデバッグを正確に行うことができなかった。本実施形態では、DCモータの応答特性をもシミュレート可能とするため、正確なシミュレーションデバッグが可能である。
尚、このような応答特性変換を実施する上では、各DCモータの応答特性をあらかじめコンピュータシステム201に記憶させておき、この応答特性をそれぞれのDCモータに対して適用にするようにすれば、より正確なシミュレーションを行うことができる。図4の例では、機械部品メインモータ300、機械部品給紙モータ301、機械部品反転モータ302、横レジモータ303、両面搬送モータ304、再給紙モータ305のそれぞれについて、その応答特性をコンピュータシステム201に記憶させておき、DCモータ応答特性変換308は、MMD、FEEDMD、SWBKMD、HREGMD、DUPMD、RFDMD等が入力されたとき、その対応する応答特性に基づいて遅延を発生させるように構成すれば、より正確なシミュレーションを行うことができる。
また、同じDCモータでも、複数の応答特性を記憶しておき、使用条件に応じた応答特性を適用するように構成すると、より正確なシミュレーションを行うことができる。例えば、HREGMDやSWBKMDのように、回転方向が正逆存在する場合には、正転用の応答特性と逆転用の応答特性とを記憶しておいて選択するように構成するとより好適である。また、DCモータによって、回転速度を2種類持たせた場合には、高速回転用の応答特性と低速回転用の応答特性とを記憶しておいて、選択するように構成するとより好適である。
更に、DCモータの応答特性を現実の特性に近づけると、より正確なシミュレーションを行うことができる。例えば、DCモータの応答特性として、立ち上がりの速度上昇時間特性、立下りの速度下降時間特性を記憶し、駆動ONしてから徐々に回転速度が上昇するように仮想DCモータに通知したり、駆動OFFしてから徐々に回転速度が下降するように仮想DCモータに通知するようにすると、より好適である。
<クラッチ応答特性変換>
次に、クラッチ応答特性変換309について図5(b)を参照して説明する。図5(b)は、クラッチ応答特性変換309のタイムチャートである。
実際のクラッチは、駆動開始を指示する駆動信号を入力してから実際に駆動連結するまでに連結時間が存在し、一方、駆動連結状態に置いて駆動解放を指示する駆動信号を入力してから実際に駆動開放されるまでに開放時間が存在する。そこで、あらかじめこのような応答特性をコンピュータシステム201に記憶させておく。
そして、給紙クラッチ306をFEEDCLDにて駆動する状況においては、図5(b)に示すように、クラッチ応答特性変換309は、ターゲットファームウエアから駆動ONの駆動信号が入力された場合、連結時間だけ遅延させてから、仮想給紙クラッチ306へ駆動の指示を出力する。同様に、ターゲットファームウエアから駆動OFFの駆動信号が入力された場合、開放時間だけ遅延させてから、仮想給紙クラッチ306へ駆動停止の指示を出力する。
本実施形態においては、レジクラッチ307についてもこのクラッチ応答特性変換309と同様の変換を適用する。
従来のシミュレーションシステムにおいては、このような応答特性をシミュレートしていなかったため、クラッチ駆動信号の入力と同時に仮想クラッチが連結してローラでの記録用紙搬送が開始し、また、駆動停止信号の入力と同時に仮想クラッチが解放して記録用紙の搬送が停止していた。このため、機構モデルシミュレータの動作が実際の機器の動作と一致せず、ターゲットファームウエアのデバッグを正確に行うことができなかった。本実施形態では、クラッチの応答特性をもシミュレート可能とするため、正確なシミュレーションデバッグが可能である。
尚、このような応答特性変換を実施する上では、各クラッチの応答特性をあらかじめコンピュータシステム201に記憶させておき、この応答特性をそれぞれのクラッチに対して適用にするようにすれば、より正確なシミュレーションを行うことができる。図4の例では、給紙クラッチ306、レジクラッチ307のそれぞれについて、その応答特性をコンピュータシステム201に記憶させておき、クラッチ応答特性変換309は、FEEDCLD、REGCLD等が入力されたとき、その対応する応答特性に基づいて遅延を発生させるように構成すれば、より正確なシミュレーションを行うことができる。
また、同じクラッチでも、複数の応答特性を記憶しておき、使用条件に応じた応答特性を適用するように構成すると、より正確なシミュレーションを行うことができる。
<ソレノイド応答特性変換>
次に、ソレノイド応答特性変換310について図5(c)(d)を参照して説明する。図5(c)(d)は、ソレノイド応答特性変換310のタイムチャートである。
実際のソレノイドは、駆動開始を指示する駆動信号を入力してから実際に動作するまでにON応答時間が存在し、一方、駆動停止を指示する駆動信号を入力してから実際に開放するまでOFF応答時間が存在する。そこで、あらかじめこのような応答特性をコンピュータシステム201に記憶させておく。
そして、フラッパソレノイド13をDUPSLDにて駆動する状況においては、図5(c)に示すように、ソレノイド応答特性変換310は、ターゲットファームウエアから駆動ONの駆動信号が入力された場合、ON応答時間だけ遅延させてから、仮想フラッパソレノイド13へ駆動の指示を出力する。同様に、ターゲットファームウエアから駆動OFFの駆動信号が入力された場合、OFF応答時間だけ遅延させてから、仮想フラッパソレノイド13へ駆動停止の指示を出力する。
従来のシミュレーションにおいては、このような応答特性をシミュレートしていなかったため、ソレノイド駆動や停止を指示する信号を入力すると同時に仮想フラッパで搬送路を切替えてしまっていた。このため、記録用紙の行き先について、機構モデルシミュレータの動作が実際の機器の動作と一致せず、ターゲットファームウエアのデバッグを正確に行うことができなかった。本実施形態では、ソレノイドに応答特性をもシミュレート可能とするため、正確なシミュレーションデバッグが可能である。
尚、このような応答特性変換を実施する上では、各ソレノイドの応答特性をあらかじめコンピュータシステム201に記憶させておき、この応答特性をそれぞれのソレノイドに対して適用にするようにすれば、より正確なシミュレーションを行うことができる。
また、同じソレノイドでも、複数の応答特性を記憶しておき、使用条件に応じた応答特性を適用するように構成すると、より正確なシミュレーションを行うことができる。
次に、フラッパソレノイド13をPWM駆動する場合の応答特性変換について図5(d)を参照して説明する。図5(d)は、フラッパソレノイド13をPWM駆動する場合のタイムチャートである。この場合も、あらかじめソレノイドON応答時間(ON応答時間)、ソレノイドOFF応答時間(OFF応答時間)をコンピュータシステム201に記憶させておくことは同様である。
図5(d)に示すように、フラッパソレノイドをPWM駆動する場合、ターゲットファームウエアは一定時間駆動ONの信号を出力し、フラッパが十分に動作した後に、ON駆動とOFF駆動を繰返すPWM駆動の信号を出力し、定常状態を形成する。フラッパソレノイドを駆動停止させる場合、OFF駆動停止の信号を出力する。
一方、ソレノイド応答特性変換310は、ターゲットファームウエアから駆動ONの駆動信号が入力された場合、ON応答時間だけ遅延させてから、仮想フラッパソレノイド13へ駆動の指示を出力する。また、ターゲットファームウエアから駆動OFFの駆動信号された場合、駆動OFFの信号の継続時間を測定し、その時間がOFF応答時間よりも短い間は仮想フラッパソレノイド13に駆動停止を伝えないようにし、OFF応答時間を超えた場合は仮想フラッパソレノイド13に駆動停止を伝える。
従来のシミュレーションシステムにおいては、このようなPWM駆動特性をシミュレートしていなかったため、ソレノイドのPWM駆動を指示すると、記録用紙を搬送中に、PWMのON/OFFの繰返しに合わせて、仮想フラッパが搬送路を断続的に切替えてしまっていた。このため、機構モデルシミュレータの動作が実際の機器の動作と一致せず、ターゲットファームウエアのデバッグを正確に行うことができなかった。本実施形態では、PWM駆動応答特性をもシミュレーションできるため、正確なシミュレーションデバッグが可能である。
<センサ応答特性変換>
次に、センサ応答特性変換311について図5(e)を参照して説明する。図5(e)は、センサ応答特性変換311のタイムチャートである。
実際のセンサは、記録用紙の先端がセンサ位置に到達して実際にON信号を出力するまでON反応応答時間が存在し、記録用紙の後端がセンサ位置に到達して実際にOFF信号を出力するまでにOFF反応応答時間が存在する。そこで、あらかじめこのような応答特性をコンピュータシステム201に記憶させておく。
そして、記録用紙の有無に関する検知情報をFEEDSにて通知する状況においては、図5(e)に示すように、センサ応答特性変換311は、給紙センサ4の仮想センサから、紙先端を検知したという検知ONの情報が入力された場合、センサON応答時間だけ遅延させてから、ターゲットファームウエアへ検知ONを通知する。同様に、仮想センサから紙後端を検知したという検知OFFの情報が入力された場合、センサOFF応答時間だけ遅延させてから、ターゲットファームウエアへ検知OFFを通知する。
本実施形態においては、他のセンサ7,12,16,20についてもこのセンサ応答特性変換311と同様の変換を適用する。
従来のシミュレーションシステムにおいては、このような応答特性をシミュレートしていなかったため、記録用紙の先端が仮想センサに到達すると同時に検知ONがターゲットファームウエアへ通知され、記録用紙の後端が仮想センサを通過すると同時に検知OFFが通知された。このため、機構シミュレータの動作が実際の機器の動作と一致せず、ターゲットファームウエアのデバッグを正確に行うことができなかった。本実施形態では、仮想センサの応答特性をもシミュレート可能とするため、正確なシミュレーションデバッグが可能である。
尚、このような応答特性変換を実施する上では、各センサの応答特性をあらかじめコンピュータシステム201に記憶させておき、この応答特性をそれぞれのセンサに対して適用にするようにすれば、より正確なシミュレーションを行うことができる。
また、同じセンサでも、複数の応答特性を記憶しておき、使用条件に応じた応答特性を適用するように構成すると、より正確なシミュレーションを行うことができる。
<応答特性変換の処理の流れ>
次に、本実施形態における機械部品駆動の応答特性変換の処理の詳細について図6と図7を参照して説明する。図6は、本実施形態でのDCモータ応答特性変換308、クラッチ応答特性変換309、ソレノイド応答特性変換310の各処理のフローチャートである。尚、以下では、ON応答時間とOFF応答時間があらかじめコンピュータシステム201に設定されているものとする。
まず、ステップS601において、応答特性変換に入力される機械部品の駆動信号がONであるか否かを判定する。ONの場合(ステップS601でYES)、ステップS602へ進んでタイマカウンタ初期化を行い、更にステップS603へ進む。OFFの場合(ステップS601でNO)、ステップS607へ進んでタイマカウンタの初期化を行い、更にステップS608へ進む。
ここで、タイマカウンタは、シミュレーションの実行に合わせてカウントアップする計時装置である。また、タイマカウンタの初期化とは、カウンタの値を0に設定することをいう。
ステップS603においては、タイマカウンタの値があらかじめ設定されたON応答時間を超えたか否かを判定する。超えた場合(ステップS603でYES)ステップS605へ進み、超えていない場合(ステップS603でNO)ステップS604へ進む。ステップS604においては、応答特性変換に入力される駆動信号がONであるか否かを判定する。ONの場合(ステップS604でYES)ステップS603へ戻り、ONではない場合(ステップS604でNO)ステップS607へ進む。即ち、ステップS603、S604においては、ONの駆動信号がON応答時間を超えるまで継続して入力されるというイベントを検知する処理を行っている。
ステップS605において、応答特性変換は駆動ONを機構モデルシミュレータ102の仮想メカへ出力し、ステップS606へ進む。そして、ステップS606において、応答特性変換に入力される駆動信号がONであるか否かを判定する。ONの場合(ステップS606でYES)ステップS605へ進み、ONではない場合(ステップS606でNO)ステップS607へ進む。即ち、ステップS605、S606においては、応答特性変換に入力される駆動信号がONの間(ステップS606)、駆動ON指示を機構モデルシミュレータ102の仮想メカへ出力する処理を行っている。
ステップS607においては、タイマカウンタの初期化を行う。先に述べたように、S601、S604、S606において応答特性変換へ入力される駆動信号OFFであれば、ステップS607へ進みタイマカウンタ初期化を行うことになる。
ステップS608においては、タイマカウンタの値があらかじめ設定されたOFF応答時間を超えたか否かを判定する。超えた場合(ステップS608でYES)ステップS610へ進み、超えていない場合(ステップS608でNO)ステップS609へ進む。ステップS609においては、応答特性変換に入力される駆動信号がOFFであるか否かを判定する。OFFの場合(ステップS609でYES)ステップS608へ戻り、OFFではない場合(ステップS609でNO)ステップS601へ進む。即ち、ステップS608、S609においては、OFFの駆動信号がOFF応答時間を超えるまで継続して入力されるというイベントを検知する処理を行っている。
ステップS610において、応答特性変換は駆動OFFを機構モデルシミュレータ102の仮想メカへ出力し、ステップS611へ進む。そして、ステップS611において、応答特性変換に入力される駆動信号がOFFであるか否かを判定する。OFFの場合(ステップS611でYES)ステップS610へ進み、OFFではない場合(ステップS611でNO)ステップS601へ進む。即ち、ステップS610、S611においては、応答特性変換に入力される駆動信号がOFFの間(ステップS611)、駆動OFF指示を機構モデルシミュレータ102の仮想メカへ出力する処理を行っている。
以上のような処理を行うことによって、駆動ONの駆動信号の入力について駆動ONの応答特性時間だけ遅延させ、また、駆動OFFの駆動信号の入力について駆動OFFの応答時間だけ遅延させることができる。また、ステップS608、S609において、応答特性変換に駆動OFFが入力された場合においても、それがOFF応答時間を超える時間継続して入力されない限り、駆動OFFを機構モデルシミュレータ102の仮想メカに出力しないことにより、前述したPWM駆動に対応することができる。
<機械部品検知の応答特性変換の処理の流れ>
次に、センサ応答特性変換311の処理の詳細について図7を用いて説明する。図7は、本実施形態でのセンサ応答特性変換311の処理のフローチャートである。尚、以下では、ON応答時間とOFF応答時間があらかじめコンピュータシステム201に設定されていることは先と同様である。
まず、ステップS701において、応答特性変換に入力される機構モデルシミュレータ102の仮想メカからのセンサ信号がONであるか否かを判定する。ONの場合(ステップS701でYES)、ステップS702へ進んでタイマカウンタ初期化を行い、更にステップS703へ進む。OFFの場合(ステップS701でNO)、ステップS707へ進んでタイマカウンタの初期化を行い、更にステップS708へ進む。
ここで、タイマカウンタは、シミュレーションの実行に合わせてカウントアップする計時装置であることは先と同様である。また、タイマカウンタの初期化とは、カウンタの値を0に設定することをいうことも同様である。
ステップS703においては、タイマカウンタの値があらかじめ設定されたON応答時間を超えたか否かを判定する。超えた場合(ステップS703でYES)ステップS705へ進み、超えていない場合(ステップS703でNO)ステップS704へ進む。ステップS704においては、応答特性変換に入力されるセンサ信号がONであるか否かを判定する。ONの場合(ステップS704でYES)ステップS703へ戻り、ONではない場合(ステップS704でNO)ステップS707へ進む。即ち、ステップS703、S704においては、ONのセンサ信号がON応答時間を超えるまで継続して入力されるというイベントを検知する処理を行っている。
ステップS705において、応答特性変換はONのセンサ信号をターゲットファームウエアへ出力し、ステップS706へ進む。そして、ステップS706において、応答特性変換に入力されるセンサ信号がONであるか否かを判定する。ONの場合(ステップS706でYES)ステップS705へ進み、ONではない場合(ステップS706でNO)ステップS707へ進む。即ち、ステップS705、S706においては、応答特性変換に入力されるセンサ信号がONの間(ステップS706)、ONのセンサ信号をターゲットファームウエアへ出力する処理を行っている。
ステップS707においては、タイマカウンタの初期化を行う。先に述べたように、S701、S704、S706において応答特性変換へ入力されるセンサ信号OFFであれば、ステップS707へ進みタイマカウンタ初期化を行うことになる。
ステップS708においては、タイマカウンタの値があらかじめ設定されたOFF応答時間を超えたか否かを判定する。超えた場合(ステップS708でYES)ステップS710へ進み、超えていない場合(ステップS708でNO)ステップS709へ進む。ステップS709においては、応答特性変換に入力されるセンサ信号がOFFであるか否かを判定する。OFFの場合(ステップS709でYES)ステップS708へ戻り、OFFではない場合(ステップS709でNO)ステップS701へ進む。即ち、ステップS708、S709においては、OFFのセンサ信号がOFF応答時間を超えるまで継続して入力されるというイベントを検知する処理を行っている。
ステップS710において、応答特性変換はOFFのセンサ信号をターゲットファームウエアへ出力し、ステップS711へ進む。そして、ステップS711において、応答特性変換に入力されるセンサ信号がOFFであるか否かを判定する。OFFの場合(ステップS711でYES)ステップS710へ進み、OFFではない場合(ステップS711でNO)ステップS701へ進む。即ち、ステップS710、S711においては、応答特性変換に入力されるセンサ信号がOFFの間(ステップS711)、OFFのセンサ信号をターゲットファームウエアへ出力する処理を行っている。
以上のような処理を行うことによって、ONのセンサ信号の入力についてON応答時間だけ遅延させ、また、OFFのセンサ信号の入力についてOFF応答時間だけ遅延させることができる。
以上説明したように、従来のシミュレーションシステムにおいては、このような応答特性をシミュレートしていなかったため、シミュレーションの動作が実際の機械動作と一致せず、ターゲットファームウエアのデバッグを正確に行うことができなかった。本実施形態では、CPUシミュレータ101が応答特性をもシミュレートするため、実際の機械動作と同じような、精度良いシミュレーションを行うことが可能である。
[第2の実施形態]
第2の実施形態は、第1の実施形態と同様に、機械装置として画像形成装置のシミュレーションデバッグを行うシミュレーションデバッグシステムの例である。
装置構成(図2)、機能構成(図1)は、シミュレーション表示例(図3)は、第1の実施形態と同様であり、すでに説明済みのため説明を省略する。ここでは、図8の接続配線図を参照し、第1の実施形態の接続配線図(図4)と異なる部分について説明する。 第1の実施形態では、機械装置の応答遅延特性を忠実にシミュレートするため、CPUシミュレータ101に、DCモータ応答特性変換308、クラッチ応答特性変換309、ソレノイド応答特性変換310、センサ応答特性変換311を設けた。本実施形態では、これらを、機構モデルシミュレータ102に設けたところが、第1の実施形態と異なる。
DCモータ応答特性変換308のタイムチャート(図5(a))、クラッチ応答特性変換309のタイムチャート(図5(b))、ソレノイド応答特性変換310のタイムチャート(図5(c)(d))、センサ応答特性変換311のタイムチャート(図5(e))、駆動部品応答特性変換の処理フローチャート(図6)、機械部品検知応答特性変換の処理フローチャート(図7)は、第1の実施形態と同様であるので、説明を省略する。
本実施形態においては、機構モデルシミュレータ102において応答特性をシミュレートするため、第1の実施形態と同様に、実際の機械動作と同じような精度よいシミュレーションを行うことが可能である。
[第3の実施形態]
第3の実施形態は、第1および第2の実施形態と同様に、機械装置として画像形成装置のシミュレーションデバッグを行うシミュレーションデバッグシステムの例である。
装置構成(図2)、シミュレーション表示例(図3)は、第1の実施形態と同様であり、すでに説明済みのため説明を省略する。図9の機能構成図を参照して、第1および第2の実施形態の機能構成(図1)と異なる部分について説明する。
本実施形態は、第1および第2の実施形態の機能構成に、中間インターフェース部103を追加したところが異なる。中間インターフェース部103は、CPUシミュレータ101と機構モデルシミュレータ102を、配線接続して同期処理を行うコンポーネントである。
中間インタフェース部103は、CPUシミュレータ101の仮想アドレス空間へアクセスし、ターゲットファームウエアから駆動信号を入力し、機構モデルシミュレータ102の仮想機器駆動部品へ所定の出力を行う。また、逆に、機構モデルシミュレータ102の仮想機器検知部品から検知(センサ)信号を入力し、CPUシミュレータ101のターゲットファームウエアの仮想アドレス空間へアクセスし、検知信号を出力する。更に、CPUシミュレータ101と、機構モデルシミュレータ102のタイマカウント値を用いて、シミュレーションの同期制御を行う。
本実施形態の接続配線を図10を参照して説明する。図10は、第3の実施形態における接続配線を示す図である。
第1の実施形態(図4)では、機械装置の応答遅延特性を忠実にシミュレーションするため、CPUシミュレータ101に、DCモータ応答特性変換308、クラッチ応答特性変換309、ソレノイド応答特性変換310、センサ応答特性変換311を、CPUシミュレータ101に設けた。第2の実施形態(図8)では、これらを、機構モデルシミュレータ102に設けた。本実施形態では、これらを、中間インターフェース部103に設けたところが、第1および第2の実施形態と異なる。
第1の実施形態、及び、第2の実施形態の構成では、CPUシミュレータ101、或いは、機構モデルシミュレータ102の、それぞれの装置について応答特性変換を実装する必要がある。本実施形態では、中間インターフェース部103に応答特性変換を備えるため、CPUシミュレータ101や機構モデルシミュレータ102を交換したり複数接続したりすることができ、拡張性に優れている。
尚、DCモータ応答特性変換308のタイムチャート(図5(a))、クラッチ応答特性変換309のタイムチャート(図5(b))、ソレノイド応答特性変換310のタイムチャート(図5(c)(d))、センサ応答特性変換311のタイムチャート(図5(e))、駆動部品応答特性変換の処理フローチャート(図6)、機械部品検知応答特性変換の処理フローチャート(図7)は、第1の実施形態と同様であるので、説明を省略する。
本実施形態では、中間インターフェース部103に応答特性変換を備えるため、実際の機械動作と同じような精度よいシミュレーションが可能である。
[第4の実施形態]
第4の実施形態は、第1、第2、第3の実施形態と同様に、機械装置として画像形成装置のシミュレーションデバッグを行うシミュレーションデバッグシステムの例である。本実施形態では、機械部品としてステッピングモータを用いた例について述べる。
本実施形態におけるシステムも、CPUシミュレータ101のターゲットファームウエアと機構モデルシミュレータ102の仮想メカとの間に応答特性変換を設けるものであり、第1の実施形態のようにCPUシミュレータ101内に応答特性変換を備えた構成や、第2の実施形態のように機構モデルシミュレータ102内に応答特性変換を備えた構成も可能であるが、以下では、第3の実施形態と同様に、中間インターフェース部103に応答特性変換を備えた構成について説明する。
尚、ハードウェア構成(図2)、機能構成(図9)、シミュレーション表示例(図3)、DCモータ応答特性変換308のタイムチャート(図5(a))、クラッチ応答特性変換309のタイムチャート(図5(b))、ソレノイド応答特性変換310のタイムチャート(図5(c)(d))、センサ応答特性変換311のタイムチャート(図5(e))、駆動部品応答特性変換の処理フローチャート(図6)、機械部品検知応答特性変換の処理フローチャート(図7)は、第3の実施形態と同様であるので、説明を省略する。
<接続配線>
本実施形態の接続配線について、図11を参照して第3の実施形態(図10)と異なる部分を説明する。図11は本実施形態における接続配線を示す図(図11)である。
図11において、反転モータ302はステッピングモータであり、ターゲットファームウエアから、通電信号SWBKM−I、励磁パターンA相信号SWBKM−A、励磁パターンB相信号SWBKM−B、励磁パターンC相信号SWBKM−C、励磁パターンD相信号SWBKM−Dの合計5つの信号を伝えることによって駆動指示を行うものとする。また、横レジストモータ303はステッピングモータであり、ターゲットファームウエアから、通電信号HREGM−I、励磁パターンA相信号HREGM−A、励磁パターンB相信号HREGM−Bの合計3つの信号を伝えることによって駆動指示を行うものとする。
ターゲットCPUは、ステッピングモータの各相に与える駆動パルス間隔を変化させることにより回転速度を制御し、また、駆動パルスを変化させる順序により回転方向を制御する。このような制御は、ステッピングモータドライバーICを介して行われるが、ステッピングモータドライバーICの種類によりターゲットCPUによる制御方式も異なる。本実施形態では、ターゲットCPUからステッピングモータドライバーICへステッピングモータへの通電のON、OFFの指定信号と各相の駆動パルス信号を出力する方式について説明する。また、本実施形態においてシミュレートするステッピングモータは、1パルスあたりの回転角度が所定の値に定められているものとする。
また、本実施形態においては、中間インターフェース部103は、CPUシミュレータ101から反転モータ302へ出力される駆動パルス信号に対して、後述する所定の変換・中継処理を行うステッピングモータ応答特性変換312を有する。更に、CPUシミュレータ101から横レジモータ303へ出力される駆動パルス信号に対して、後述する所定の変換・中継処理を行うステッピングモータ応答特性変換313を有する。
本実施形態では、ステッピングモータ応答特性変換312、313は、入力された駆動パルス信号を解析し、反転モータ302については、回転速度と回転方向とを出力する。横レジモータ303については、回転角度と回転方向とを出力する。反転モータ302は、ステッピングモータ応答特性変換312より入力された回転速度と回転方向とに基づいて、回転の動作をシミュレートする。そして、横レジモータ303は、ステッピングモータ応答特性変換313より入力された回転角度と回転方向とに基づいて、回転の動作をシミュレートする。
<ステッピングモータ応答特性変換>
次に、ステッピングモータ応答特性変換312について図12を参照して説明する。図12は、ステッピングモータ応答特性変換312における励磁パターン信号の経時的変化を例示したものである。
図12の表のそれぞれにおいて、表中のある列に示されている0と1の組み合わせは励磁状態のパターンを示しており、互いに隣り合う列のパターンは1同期時間前後のパターンの変化を示している。例えば、図12(a)は、1同期時間置きに、パターン1、パターン2、パターン3、パターン4、パターン1、・・・と変換することを意味する。尚、表中の1は、ターゲットファームウエアから出力される励磁パターン信号がONであることを意味し、0は、励磁パターン信号がOFFであることを意味する。
尚、図11中のSWBKM−Iは、励磁パターン信号の通電を制御する信号であり、ステッピングモータ応答特性変換312は、ONのSWBKM−Iが入力されている時にのみ、励磁パターン信号SWBKM−A,SWBKM−B,SWBKM−C,SWBKM−Dに基づいた解析と、反転モータ302への信号出力を行う。
図12(a)のように励磁パターン信号SWBKM−A,SWBKM−B,SWBKM−C,SWBKM−Dを、パターン1、パターン2、パターン3、パターン4、再びパターン1と繰返し変化させた場合は、反転モータ302を1相励磁で正回転させることを意味する。
同様に、図12(b)のように繰返し変化させた場合は、反転モータ302を1相励磁で逆回転させることを意味する。同様に、図12(c)のように繰返し変化させた場合は、反転モータ302を2相励磁で正回転させることを意味する。同様に、図12(d)のように繰返し変化させた場合は、反転モータ302を2相励磁で逆回転させることを意味する。同様に、図12(e)のように繰返し変化させた場合は、反転モータ302を1−2相励磁で正回転させることを意味する。同様に、図12(f)のように繰返し変化させた場合は、反転モータ302を1−2相励磁で逆回転させることを意味する。
このように、励磁パターン信号の変化を解析することで、回転方向等を知ることができる。
次に、ステッピングモータ応答特性変換313について図13を参照して説明する。図13は、ステッピングモータ応答特性変換313における励磁パターン信号の経時的変化を例示したものである。
図13の表のそれぞれにおいて、表中のある列に示されている0と1の組み合わせは励磁状態のパターンを示しており、互いに隣り合う列のパターンは1同期時間前後のパターンの変化を示していることは図12と同様である。
また、図11中のHREGM−Iは、励磁パターン信号の通電を制御する信号であり、ステッピングモータ応答特性変換313は、ONのHREGM−Iが入力されている時にのみ、励磁パターン信号HREGM−A,HREGM−Bに基づいた解析と、横レジモータ303への信号出力を行う。
図13(a)のように励磁パターン信号HREGM−A,HREGM−Bを、パターン1、パターン2、パターン3、パターン4、再びパターン1と繰返し変化させた場合は、横レジモータ303を2相励磁で正回転させることを意味する。同様に、図13(b)のように繰り返し変化させた場合は、横レジモータ303を2相励磁で逆回転させることを意味する。
このように、図12の場合と同様に、励磁パターン信号の変化を解析することで、回転方向等を知ることができる。
尚、図13の場合においては、励磁パターンを2相励磁と固定としたため、C相、D相の駆動信号は不要である。また、ターゲットファームウエアにおいてはA相とB相の信号を出力するが、モータドライバでは/A相、/B相を自動生成し、A相、B相、/A相(A相の反転)、/B相(B相の反転)の4つの相を用いてモータを駆動させる。
シミュレータでは、A相、B相の駆動信号パターンから回転方向等を知ることができる。
<応答特性変換の処理の流れ>
次に、本実施形態におけるステッピングモータ応答特性変換の処理の詳細について、図14と図15を参照して説明する。図14は、ステッピングモータ応答特性変換312の処理のフローチャートである。尚、本実施形態においては、機構モデルシミュレータ102からターゲットファームウエアに対して、1同期間隔毎に同期信号が送出されるものとする。
まず、ステップS801においてパルスカウンターをクリアするように制御する。パルスカウンターは、CPUシミュレータ101からの励磁パルス出力から1同期間隔あたりのステッピングモータの動作量をカウントするために用いられるものである。カウント方法は後述する。
次に、ステップS802において、ステッピングモータ応答特性変換312へONのステッピングモータ通電信号が入力されるまで待機するように制御する。ONの通電信号が入力されると(ステップS802でYES)ステップS803へ進む。
ステップS803において、ステッピングモータ応答特性変換312へ入力される、ステッピングモータ駆動パルス信号(パルス)として定義された各信号の変化があるまで待機するように制御する。駆動パルス信号にいずれかの変化があった場合(ステップS803でYES)、ステップS804へ進む。
ステップS804において、パルスの変化を解析し、ステッピングモータの動作を解析する。即ち、例えば、図12のようなパルスの変化を列挙した表をあらかじめコンピュータシステム201に記憶させておいたうえで、S803で観察されたパルスの変化が表中のどの変化に該当するかを判定し、ステッピングモータの回転方向を判定する。パルスの変化がステッピングモータを回転させるものではない場合はその旨を判定する。
次に、ステップS805において、ステップS804におけるパルス変化解析に基づいて、パルスカウンターのカウント処理を行う。即ち、ステップS804でのパルス変化解析の結果、パルス信号が正回転方向に変化している場合にはカウンターを1カウントアップし、逆回転方向に変化している場合にはカウンターを1カウントダウンする。パルス信号に変化がない場合や、パルス信号の変化が正しくモータを回転させることができないパターンの場合にはパルスカウンター値を変化させない。
次に、ステップS806において同期信号のチェック、即ち、同期信号を受けたか否かを判定する。同期信号は、ターゲットファームウエアが機構モデルシミュレータ102に対して出力した実行指示に対して、機構モデルシミュレータ102が1同期間隔毎に動作終了を通知する信号である。ステップS806で同期信号を受けていない場合(ステップS806でNO)、ステップS802へ戻り、S802〜S805の処理を繰り返す。ステップS806で同期信号を受けている場合(ステップS806でYES)、ステップS807に進む。ステップS806を設けることにより、1同期間隔毎にステップS807が実行されることになる。
ステップS807においては、機構モデルシミュレータ102のステッピングモータモデル(反転モータ302)に対してモータの回転方向と回転速度を指示する。モータの回転方向と回転速度はパルスカウンターの値から以下のように求める。
即ち、ステップS805のパルスカウントの処理により、パルスカウンター値が正の場合には正回転、負の場合には逆回転となるため、回転方向についてはパルスカウンター値の正負によって求める。
また、回転速度に関してはパルスカウンターの絶対値によって決める。先に述べたように、ステップS807は1同期間隔毎に実行されるため、この時点でのパルスカウンターの絶対値は1同期間隔内でのステッピングモータ駆動パルスの累積値である。従って、パルスカウンターの絶対値から1同期時間のモータ回転量が求まり、モータ回転速度が求まることになる。
例えば、本実施形態における1同期間隔の時間が仮想時間上の1msec、ステッピングモータの1パルスあたりの回転角度が7.5°、ある1同期間隔でのパルスカウンター値が2であった場合、回転速度は次のようになる。
(7.5×2)/360/(0.001/60)=2500[rpm]
ステッピングモータ応答特性変換312は、このようにして求められた回転速度、及び、回転方向を機構モデルシミュレータ102へ出力する。
機構モデルシミュレータ102は、ステッピングモータ応答特性変換312から入力されたこのような情報に基づき、反転モータ302の回転動作を制御する。
次に、ステッピングモータ応答特性変換313の処理について説明する。図15は、ステッピングモータ応答特性変換313の処理の流れを示すフローチャートである。
ステップS901〜S906における処理は図14のステップS801〜S806における処理と同様である。即ち、この処理により1同期間隔毎にステップカウントを行う。 そして、ステップS907で機構モデルシミュレータ102のモータモデル駆動指示方式に合わせて、回転方向と回転角度を求める。回転方向については図14と同様にパルスカウンター値の正負によって求まる。回転角度についてはパルスカウンターの絶対値と対象となるモータモデルの1パルスあたりの回転角度から求まる。
例えば、ある1同期間隔での前記パルスカウンター値が3、ステッピングモータの1パルスあたりの回転角度が7.5°であるとすると、回転角度は次のようになる。
7.5×3=22.5[°]
ステッピングモータ313は、このようにして求められた回転角度、及び、回転方向を機構モデルシミュレータ102へ出力する。
機構モデルシミュレータ102は、ステッピングモータ応答特性変換313から入力されたこのような情報に基づき、横レジモータ303の回転動作を制御する。
本実施形態では、ステッピングモータ応答特性変換を、パルス信号を入力し、回転速度と回転方向の組み合わせ、或いは、回転角度と回転方向の組み合わせを出力する例について述べたが、実施形態はこれに限られるものではない。例えば、パルスカウンター値と回転方向といった組み合わせにしてもよい。
また、これらのステッピングモータ応答特性変換312,313を、本実施形態では中間インターフェース部103に有する例で示したが、もちろん第1の実施形態や第2の実施形態のようにCPUシミュレータ101や機構モデルシミュレータ102に有するような構成をとってもよい。
本実施形態においては、中間インターフェース部103にステッピングモータ応答特性変換を設けることにより、実際の機械動作と同じようなステッピングモータの精度よいシミュレーションが可能となった。
<他の実施形態>
以上、本発明の実施形態例について詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様を取ることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含む。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。 また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
第1及び第2の実施形態における機械装置シミュレーションデバッグシステムの機能構成を示す図である。 本実施形態における装置構成を模式的に示す図である。 本実施形態における機構モデルシミュレータのシミュレーション表示を例示的に示した図である。 本実施形態における機構モデルシミュレータのシミュレーション表示を例示的に示した図である。 本実施形態における機構モデルシミュレータのシミュレーション表示を例示的に示した図である。 本実施形態における機構モデルシミュレータのシミュレーション表示を例示的に示した図である。 本実施形態における機構モデルシミュレータのシミュレーション表示を例示的に示した図である。 第1の実施形態におけるCPUシミュレータと機構モデルシミュレータの機械部品の接続配線を示す図である。 本実施形態における応答特性変換のタイムチャートを示す図である。 本実施形態における機械駆動部品の応答特性変換を処理するフローチャートを示す図である。 本実施形態における機械検知部品の応答特性変換を処理するフローチャートを示す図である。 第2の実施形態におけるCPUシミュレータと機構モデルシミュレータの機械部品の接続配線を示す図である。 第3及び第4の実施形態における機能構成を示す図である。 第3の実施形態におけるCPUシミュレータと機構モデルシミュレータの機械部品の接続配線を示す図である。 第4の実施形態におけるCPUシミュレータと機構モデルシミュレータの機械部品の接続配線を示す図である。 第4の実施形態における反転モータの応答特性を示す図である。 第4の実施形態における横レジモータの応答特性を示す図である。 第4の実施形態における反転モータの応答特性変換の処理のフローチャートを示す図である。 第4の実施形態における横レジモータの応答特性変換の処理のフローチャートを示す図である。

Claims (19)

  1. 機械装置のソフトウェア動作をシミュレーションし、機械部品の動作を制御するための制御信号を出力するソフトウェアシミュレーション工程と、
    前記機械部品の特性に基づいて前記制御信号を変換し、変換された制御信号を出力する制御信号変換工程と、
    前記変換された制御信号に基づいて前記機械部品のシミュレーション動作を実行する機械部品シミュレーション工程とを備えることを特徴とする情報処理方法。
  2. 前記機械部品の特性に関する情報を特性情報として記憶手段に記憶する特性情報記憶工程を更に備え、
    前記制御信号変換工程は、前記機械部品に対応する前記記憶された特性情報を参照し、参照された特性情報に基づいて、前記制御信号を変換し、出力することを特徴とする請求項1に記載の情報処理方法。
  3. 前記制御信号変換工程は、前記制御信号を前記機械部品の応答遅延時間特性に基づいて遅延させ、出力することを特徴とする請求項1又は2に記載の情報処理方法。
  4. 前記制御信号変換工程は、前記制御信号を、クラッチ、ソレノイド、及び、DCモータの少なくともいずれかを含む前記機械部品の応答遅延時間特性に基づいて遅延させ、出力することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理方法。
  5. 前記制御信号変換工程は、DCモータを含む機械部品の速度変化特性に基づいて、前記制御信号から回転速度情報を導出し、該回転速度情報を出力することを特徴とする請求項1又は2のいずれか1項に記載の情報処理方法。
  6. 機械部品のシミュレーション動作を実行し、該シミュレーション動作に関する検出信号を仮想の検出器より出力する機械部品シミュレーション工程と、
    前記検出信号を入力し、前記検出器の特性に基づいて前記検出信号を変換し、変換された検出信号を出力する検出信号変換工程と、
    前記変換された検出信号を入力し、機械装置のソフトウェア動作をシミュレーションするソフトウェアシミュレーション工程とを備える情報処理方法。
  7. 前記検出器の特性に関する情報を特性情報として記憶手段に記憶する特性情報記憶工程を更に備え、
    前記検出信号変換工程は、前記検出器に対応する前記記憶された特性情報を参照し、参照された特性情報に基づいて、前記検出信号を変換し、出力することを特徴とする請求項6に記載の情報処理方法。
  8. 前記検出信号変換工程は、前記検出信号を前記検出器の応答遅延時間特性に基づいて遅延させ、出力することを特徴とする請求項6又は7に記載の情報処理方法。
  9. 前記動作情報変換工程は、前記検出信号を、センサを含む前記検出器の応答遅延時間特性に基づいて遅延させ、出力することを特徴とする請求項6乃至8のいずれか1項に記載の情報処理方法。
  10. 前記制御信号はPWM駆動信号を含み、
    前記制御信号変換工程は、前記制御信号の変化を検出し、該変化を検出してから所定の時間内に前記制御信号が更に変化しない場合に、検出された前記制御信号の変化を前記機械部品の応答遅延時間特性に基づいて遅延させ、出力することを特徴とする請求項3に記載の情報処理方法。
  11. 前記制御信号変換工程は、ステッピングモータを含む前記機械部品の特性に基づいて、前記制御信号をステッピングモータの回転に関する回転情報に変換し、該回転情報を出力することを特徴とする請求項1又は2に記載の情報処理方法。
  12. 前記回転情報はモータの回転速度と回転方向に関する情報を含むことを特徴とする請求項11に記載の情報処理方法。
  13. 前記回転情報はモータの回転角度と回転方向に関する情報を含むことを特徴とする請求項11に記載の情報処理方法。
  14. 機械装置のソフトウェア動作をシミュレーションし、機械部品の動作を制御するための制御信号を出力するソフトウェアシミュレーション手段と、
    前記機械部品の特性に基づいて前記制御信号を変換し、変換された制御信号を出力する制御信号変換手段と、
    前記変換された制御信号に基づいて前記機械部品のシミュレーション動作を実行する機械部品シミュレーション手段とを備えることを特徴とする情報処理装置。
  15. 前記制御信号変換手段は前記ソフトウェアシミュレーション手段、又は、前記機械部品シミュレーション手段の一部を構成することを特徴とする請求項14に記載の情報処理装置。
  16. 機械部品のシミュレーション動作を実行し、該シミュレーション動作に関する検出信号を仮想の検出器より出力する機械部品シミュレーション手段と、
    前記検出信号を入力し、前記検出器の特性に基づいて前記検出信号を変換し、変換された検出信号を出力する検出信号変換手段と、
    前記変換された検出信号を入力し、機械装置のソフトウェア動作をシミュレーションするソフトウェアシミュレーション手段とを備える情報処理装置。
  17. 前記検出信号変換手段は前記ソフトウェアシミュレーション手段、又は、前記機械部品シミュレーション手段の一部を構成することを特徴とする請求項16に記載の情報処理装置。
  18. 請求項1乃至13のいずれか1項に記載の情報処理方法を実行するためのコンピュータプログラム。
  19. 請求項18に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ読み取り可能な記憶媒体。
JP2004296687A 2004-10-08 2004-10-08 情報処理装置及びその制御方法 Pending JP2006107370A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004296687A JP2006107370A (ja) 2004-10-08 2004-10-08 情報処理装置及びその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004296687A JP2006107370A (ja) 2004-10-08 2004-10-08 情報処理装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2006107370A true JP2006107370A (ja) 2006-04-20
JP2006107370A5 JP2006107370A5 (ja) 2007-11-01

Family

ID=36377003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004296687A Pending JP2006107370A (ja) 2004-10-08 2004-10-08 情報処理装置及びその制御方法

Country Status (1)

Country Link
JP (1) JP2006107370A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102496A (ja) * 2008-10-23 2010-05-06 Mitsubishi Electric Corp システムシミュレーション装置
JP2010128987A (ja) * 2008-11-28 2010-06-10 Canon Inc シミュレーション方法及びそのシステム
JP2010170339A (ja) * 2009-01-22 2010-08-05 Canon Inc 情報処理装置、情報処理システム及びそれらの制御方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137725A (ja) * 1994-11-14 1996-05-31 Hitachi Ltd 性能予測装置
JPH0934746A (ja) * 1995-07-21 1997-02-07 Mitsubishi Electric Corp 計算機の試験装置
JPH0991031A (ja) * 1995-09-25 1997-04-04 Matsushita Electric Ind Co Ltd 制御ソフトウェアの自動テスト装置、テスト計画入力装置、テスト実行装置、およびテスト結果評価装置、ならびにそれらの方法
JPH09305389A (ja) * 1996-05-15 1997-11-28 Ricoh Co Ltd ソフトウエア開発支援のシミュレーション装置
JP2000207249A (ja) * 1999-01-18 2000-07-28 Hitachi Ltd シミュレ―ション装置
JP2002073367A (ja) * 2000-09-05 2002-03-12 Hudson Soft Co Ltd 光ディスクエミュレーション装置
JP2002140653A (ja) * 2000-10-31 2002-05-17 Toshiba Corp シミュレーションデータ作成方法、装置及び記録媒体
JP2003228496A (ja) * 2002-02-05 2003-08-15 Fujitsu Ltd 制御プログラム開発支援装置
JP2004236392A (ja) * 2003-01-29 2004-08-19 Aichi Electric Co Ltd モータとその駆動回路のシミュレーション方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08137725A (ja) * 1994-11-14 1996-05-31 Hitachi Ltd 性能予測装置
JPH0934746A (ja) * 1995-07-21 1997-02-07 Mitsubishi Electric Corp 計算機の試験装置
JPH0991031A (ja) * 1995-09-25 1997-04-04 Matsushita Electric Ind Co Ltd 制御ソフトウェアの自動テスト装置、テスト計画入力装置、テスト実行装置、およびテスト結果評価装置、ならびにそれらの方法
JPH09305389A (ja) * 1996-05-15 1997-11-28 Ricoh Co Ltd ソフトウエア開発支援のシミュレーション装置
JP2000207249A (ja) * 1999-01-18 2000-07-28 Hitachi Ltd シミュレ―ション装置
JP2002073367A (ja) * 2000-09-05 2002-03-12 Hudson Soft Co Ltd 光ディスクエミュレーション装置
JP2002140653A (ja) * 2000-10-31 2002-05-17 Toshiba Corp シミュレーションデータ作成方法、装置及び記録媒体
JP2003228496A (ja) * 2002-02-05 2003-08-15 Fujitsu Ltd 制御プログラム開発支援装置
JP2004236392A (ja) * 2003-01-29 2004-08-19 Aichi Electric Co Ltd モータとその駆動回路のシミュレーション方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010102496A (ja) * 2008-10-23 2010-05-06 Mitsubishi Electric Corp システムシミュレーション装置
JP2010128987A (ja) * 2008-11-28 2010-06-10 Canon Inc シミュレーション方法及びそのシステム
JP2010170339A (ja) * 2009-01-22 2010-08-05 Canon Inc 情報処理装置、情報処理システム及びそれらの制御方法

Similar Documents

Publication Publication Date Title
US6804636B2 (en) Control program development support apparatus
US10025286B2 (en) Simulation system, programmable controller, simulation device, and engineering tool
CN103676662A (zh) 模拟装置、模拟方法以及模拟程序
US10814486B2 (en) Information processing device, information processing method, and non-transitory computer-readable recording medium
WO2013136918A9 (ja) 情報処理装置、シミュレーション方法、およびプログラム
EP3441831B1 (en) Information processing device, information processing method, and information processing program
EP2833223B1 (en) Simulation device, simulation method and simulation program
KR102198204B1 (ko) 시뮬레이션 장치
JP2006107370A (ja) 情報処理装置及びその制御方法
JP4986508B2 (ja) シミュレータ装置およびコンピュータプログラム
JP2008226207A (ja) シミュレーション装置
JP2009003149A (ja) 画像形成装置
JP2010128987A (ja) シミュレーション方法及びそのシステム
US5844819A (en) Method and apparatus for aiding design of mechanism
JP4733695B2 (ja) 自動化システムのシミュレーションのための方法及び装置
JP2001290541A (ja) 産業用機械の加減速方法
JP2009163423A (ja) プログラム連携システム及びそのシミュレーション制御方法
JP2003228496A (ja) 制御プログラム開発支援装置
EP4102389A1 (en) Simulation system, simulation method, and simulation program
JP2009031944A (ja) シミュレーションシステム、シミュレーション演算方法及びコンピュータプログラム
JP2004227303A (ja) モータ制御用パルス発生ic
JP4549077B2 (ja) シミュレーション装置及び該装置のプログラム
JP2008197062A (ja) 転写ベルト駆動機構のモデル化方法及びそのモデル化方法を用いた制御系の設計支援方法
Van den Bosch et al. 11.1. 2 A case study of multi‐disciplinary modeling using MATLAB/Simulink and TrueTime 1
JPS58206366A (ja) Nc機械の原点復帰処理方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070910

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070910

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070910

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091009

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100617

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101206