JP2016110433A - モード切替方法、モード切替プログラム、このプログラムを搭載したマイクロコントローラを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械 - Google Patents

モード切替方法、モード切替プログラム、このプログラムを搭載したマイクロコントローラを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械 Download PDF

Info

Publication number
JP2016110433A
JP2016110433A JP2014248029A JP2014248029A JP2016110433A JP 2016110433 A JP2016110433 A JP 2016110433A JP 2014248029 A JP2014248029 A JP 2014248029A JP 2014248029 A JP2014248029 A JP 2014248029A JP 2016110433 A JP2016110433 A JP 2016110433A
Authority
JP
Japan
Prior art keywords
program
operation mode
switching
mode
power
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
JP2014248029A
Other languages
English (en)
Inventor
俊彦 岡村
Toshihiko Okamura
俊彦 岡村
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.)
NSK Ltd
Original Assignee
NSK Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NSK Ltd filed Critical NSK Ltd
Priority to JP2014248029A priority Critical patent/JP2016110433A/ja
Publication of JP2016110433A publication Critical patent/JP2016110433A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Microcomputers (AREA)

Abstract

【課題】マイコンの動作モードの切替をソフトウェアによって行うことが可能なモード切替方法、モード切替プログラム、このプログラムを搭載したマイコンを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械を提供する。【解決手段】DSP21bのROM102に格納されたユーザプログラム1020は、CPU101によって通常動作モードで起動されて、切替コマンドの入力に応じて、CPU101を電源投入時と同じ状態に移行させ、その後、当該ユーザプログラム1020に組み込まれた第2ブートプログラムを起動して特定ピンの電圧状態を示すステータス情報を、入力された切替コマンドの種類に対応する情報に書き換えることで、現在の動作モードを入力された切替コマンドの種類に応じた動作モードへと切り替える。【選択図】 図2

Description

本発明は、マイクロコントローラの動作モードを切り替える技術に関する。
従来、マイクロコントローラ(以下、「マイコン」と称す)として、電源投入時に、特定ピンの電圧状態を変化させることで、起動する動作モードを、複数種類の動作モードのうちから所望の動作モードへと切り替えられるものがある。
例えば、特許文献1には、モード切替のための専用回路の技術が開示されている。かかる専用回路は、外部治具という形でシリアル通信ポートに取り付けることで電源投入時の特定ピンの電圧状態を所望の状態へと変化させている。
特開2009−217574号公報
しかしながら、上記従来技術では、モード切替のための専用回路が必要となり余分なコストがかかるという問題があった。
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、マイコンの動作モードの切替をソフトウェアによって行うことが可能なモード切替方法、モード切替プログラム、このプログラムを搭載したマイコンを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械を提供することを目的としている。
上記課題を解決するために、本発明の一態様は、電源投入時に複数種類の動作モードのうちから特定ピンの電圧状態で特定される動作モードを起動するマイクロコントローラを構成するプロセッサが、前記特定ピンがデフォルトの電圧状態のときに起動される通常動作モードのプログラムに従って、現在の動作モードを、入力された切替コマンドで指定された動作モードへと切り替える。
マイクロコントローラの動作モードの切替をソフトウェアによって行うようにしたので、動作モードの切替に専用回路が不要となり、専用回路を設けることでかかる余分なコストを不要にすることが可能となる。
本発明の第1実施形態に係るモータ駆動システム10の具体的な構成例を示すブロック図である。 DSP21bの具体的な構成例を示すブロック図である。 ROM102に格納されたプログラムの一例を示すブロック図である。 CPU101のユーザプログラム1020に基づく切替コマンドの入力に応じた動作処理の一例を示すフローチャートである。 CPU101のユーザプログラム1020に基づくウォッチドッグリセットを実行後の動作処理の一例を示すフローチャートである。 CPU101の第2ブートプログラム1020aに基づく動作処理の一例を示すフローチャートである。 本発明の第2実施形態に係る溝研削装置300の具体的な構成例を示す図である。
(第1実施形態)
(構成)
本発明の第1実施形態に係るモータ駆動システム10は、図1に示すように、モータ1と、ドライブユニット2と、端末3と、上位装置4とを含んで構成される。
モータ1は、一例として、モータコアにレゾルバの組み込まれたモータから構成されている。モータ1は、内部のレゾルバがレゾルバケーブル5及び第3コネクタCN3を介してドライブユニット2に接続され、モータ本体がモータケーブル6及び第4コネクタCN4を介してドライブユニット2に接続されている。
ここで、モータ1は、例えば、高分解能の検出器を内蔵し高速高精度の位置決めが可能なダイレクトドライブモータ等を適用することができる。
ドライブユニット2は、図1に示すように、制御回路21と、パワーアンプ22と、第1〜第5コネクタCN1〜CN5とを含んで構成されている。ドライブユニット2は、上位装置4からの指令信号に基づきモータ1を駆動制御する。
端末3は、ハンディターミナルやパーソナルコンピュータ等の情報処理端末から構成され、一例として、RS232C規格に準拠したシリアルケーブル7及び第1コネクタCN1を介してドライブユニット2に接続されている。端末3は、制御回路21で実行されているユーザプログラムに対してコマンドの入力やユーザプログラムの転送等を行うものである。
上位装置4は、プログラマブルコントローラやモータコントローラ等の装置から構成されており、制御信号ケーブル8、パルス列入力ケーブル9及び第2コネクタCN2を介してドライブユニット2に接続されている。上位装置4は、制御信号ケーブル8を介してドライブユニット2へモータ回転指令などの制御信号を出力し、パルス列入力ケーブル9を介してドライブユニット2へパルス列を出力する。
また、制御回路21は、図1に示すように、制御基板21aと、制御基板21a上に実装された、デジタル信号処理に特化したマイコンであるDSP21bとを含んで構成されている。
DSP21bは、第2コネクタCN2及び制御信号ケーブル8を介して上位装置4との間で信号の入出力を行う。また、第3コネクタCN3及びレゾルバケーブル5を介して、モータ1のレゾルバとの間で信号の入出力を行い、第4コネクタCN4及びモータケーブル6を介してモータ1との間で信号の入出力を行う。
DSP21bは、上位装置4からモータ回転指令が入力されると、レゾルバからの例えば3相のレゾルバ位置検出信号φABCを入力してこれに基づきモータ1の回転角度位置の検出を行う。加えて、この位置検出結果と上位装置4からのモータ回転指令とに応じて、モータ1を回転駆動させるためのモータ電流指令値を生成する。
パワーアンプ22は、第5コネクタCN5を介して制御回路21に接続され、第5コネクタCN5を介して制御回路21からのモータ電流指令値を受信し、受信したモータ電流指令値に応じたモータ駆動電流を生成する。そして、生成したモータ駆動電流を、第4コネクタCN4及びモータケーブル6を介してモータ1に供給する。
次に、図2に基づき、DSP21bの詳細な構成を説明する。
DSP21bは、図2に示すように、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Random Access Memory)103と、I/Oモジュール104と、ウォッチドッグモジュール105と、メモリバス106と、ペリフェラルバス107とを含んで構成されている。
ここで、DSP21bとして、例えば、Texas Instruments社のDSP(Digital Signal Processors)であるTMS320F2812を適用することができる。
CPU101は、電源が投入されるとROM102に格納されたブートプログラムを実行する。このブートプログラムは、DSP21bの複数の特定ピン(例えば4つのピン)の電圧状態に基づき、複数種類の動作モードのうちから起動する動作モードを決定する。CPU101は、動作モードを決定すると、ROM102から決定した動作モードに応じたプログラムをワークメモリであるRAM103に読み込む。そして、RAM103に読み込んだプログラムに記述された命令に従って所定の制御および演算処理を行うことで各動作モードに応じた各種機能をソフトウェア上で実現する。
ROM102は、一部のメモリ領域にプロテクトが施されており、このメモリ領域(以下、「プロテクト領域」と称す)に対して随時書込が出来ないようになっている一方、プロテクト領域以外の領域についてはデータの書き込み及び読み出しが随時可能となっている。また、ROM102は、マイコンメーカー専用のマスクROMエリアを有しており、このマスクROMエリアに対しては、ユーザ側が後から内容を書き込んだり書き換えたりすることができないようになっている。
なお、プロテクト領域は、起動する動作モードに応じて、ユーザ側がプログラム等のデータの書き込み及びデータの読み出しを行うことが可能な領域である。但し、第1実施形態では、プロテクト領域に格納されたデータの書き換えを行う際に、予め設定したパスワードの入力が必要となっている。
また、第1実施形態において、ROM102には、図3に示すように、通常動作モードに対応するユーザプログラム1020が格納されている。他にも、ROM102には、第1ブートプログラム1021、動作モードの1つであるシリアル通信ポートを用いたプログラム書込モード(以下、「SCIブートモード」と称す)に対応する第1SCIブートプログラム1022、その他の動作モードに対応するプログラム1023等が格納されている。なお、第1ブートプログラム1021、第1SCIブートプログラム1022及びその他の動作モードに対応するプログラム1023(以下、「その他のプログラム1023」と称す)は、ROM102のマスクROMエリアに格納されている。
ここで、SCIブートモードは、シリアル通信ポートを介して端末3から、ROM102のプロテクト領域に格納されたプログラムを書き換えることができる動作モードである。
特に、第1実施形態のユーザプログラム1020は、ROM102のプロテクト領域に格納されており、SCIブートモード以外のその他の動作モードのときに、シリアル通信ポートを介したプログラムの書き換えが出来ないようになっている。
なお、通常動作モードは、電源投入時の複数の特定ピンの電圧状態がデフォルト状態のときに起動される動作モードである。通常動作モード以外の動作モードで起動する場合は、電源投入時の複数の特定ピンの電圧状態を各動作モードに対応した状態に変更する必要がある。
RAM103は、実行するプログラムやプログラムの実行に必要なデータを一時記憶するワークメモリである。
I/Oモジュール104は、モータ1、端末3及び上位装置4との間でデータの入出力を行うための各種入出力インターフェースモジュールを含んで構成されている。第1実施形態では、シリアル通信を行うためのインターフェースモジュールであるシリアル通信モジュール等を含んで構成される。即ち、このシリアル通信モジュール及び第1コネクタCN1によってシリアル通信ポートが構成される。
ここで、I/Oモジュール104に対応するDSP21bの各種入出力ピンのうち、端末3との間のデータ通信に用いる入出力ピンが第1コネクタCN1に接続されている。
また、DSP21bの各種入出力ピンのうち、上位装置4との間のデータ通信に用いる入出力ピンが第2コネクタCN2に接続され、モータ1のレゾルバとの通信に用いる入出力ピンが第3コネクタCN3と接続され、モータ本体との通信に用いる入出力ピンが第4コネクタCN4に接続されている。
ウォッチドッグモジュール105(以下、「WDM105」と称す)は、図示しないウォッチドッグカウンタ(ウォッチドッグタイマともいう)を有している。WDM105は、リセット操作が行われたときにはウォッチドッグカウンタをリセットし、ウォッチドッグカウンタがその最大値を超えてタイムアウトしたときには、CPU101をリセットするためのリセット信号をCPU101に出力する。
ウォッチドッグカウンタのリセット操作は、予め設定されたキーコードからなる第1のウォッチドッグキー(ウォッチドッグタイマキー)KY1をレジスタなどで構成される所定のウォッチドッグキー書き込み領域105aに書き込む。その後、予め設定されたキーコードからなる第2のウォッチドッグキー(ウォッチドッグタイマキー)KY2をウォッチドッグキー書き込み領域105a(以下、「WDキー書き込み領域105a」と称す)に書き込むことで行う。
即ち、WDM105は、WDキー書き込み領域105aに、第1のウォッチドッグキーKY1、第2のウォッチドッグキーKY2がこの順に書き込まれたときに、リセット操作が行われたと判断し、ウォッチドッグカウンタをリセットする。
なお、WDキー書き込み領域105aに第1のウォッチドッグキーKY1または第2のウォッチドッグキーKY2とは異なる、誤ったキーが書き込まれたときには、即時に、CPU101をリセットするためのリセット信号をCPU101に出力する。
また、第1のウォッチドッグキーKY1、或いは、第2のウォッチドッグキーKY2が書き込まれたとしても、これらが、第1のウォッチドッグキーKY1および第2のウォッチドッグキーKY2の順に書き込まれない場合には、即時に、CPU101をリセットするためのリセット信号をCPU101に出力する。
メモリバス106は、CPU101と、ROM102及びRAM103との間のデータ転送を行うためのバスである。
ペリフェラルバス107は、CPU101と、I/Oモジュール104及びウォッチドッグモジュール105との間のデータ転送を行うためのバスである。
(ユーザプログラム1020について)
第1実施形態のユーザプログラム1020には、図3に示すように、第1ブートプログラム1021と同等の機能を有する第2ブートプログラム1020aと、第1SCIブートプログラム1022と同等の機能を有する第2SCIブートプログラム1020bとが組み込まれている。更に、第1実施形態のユーザプログラム1020には、その他のプログラム1023に含まれる各動作モードに対応する他のブートプログラムのうち切替コマンドでサポートしているブートプログラム1020cが組み込まれている。このサポートしているその他のブートプログラム1020cは、その他のプログラム1023に含まれる各対応するサポート対象のブートプログラムと同等の機能を有している。
そして、端末3を介した各種切替コマンドの入力に応じて、組み込まれた第2ブートプログラム1020aを起動して、現在の動作モードを入力された切替コマンドの種類に対応する動作モードへと切り替える。即ち、ユーザプログラム1020に組み込まれたサポートしている各種ブートプログラムのうち、入力された切替コマンドの種類に対応するブートプログラムを起動する。このように、第1実施形態のユーザプログラム1020は、マイコンの動作モードを切り替えるプログラムとしての機能を有している。
また、第1実施形態では、モータ1が停止状態(サーボオフ状態)でかつ他の処理が実行されていない状態のときに、端末3を介してコマンドの入力が可能となっている。特に、第1実施形態では、動作モードを切り替えるための各種切替コマンドの入力が可能となっており、DSP21bは、ユーザプログラム1020に記述された命令に従って、入力された切替コマンドの種類に応じたモード切替処理を実行するようになっている。
ここで、ユーザプログラム1020の適用対象のマイコン(例えば、上記TMS320F2812など)は、一般に、通常動作モードで起動した場合(ユーザプログラムが実行された場合)に他の動作モードに切り替えるためには、物理手段による電源の再投入及び特定ピンの電圧状態の変更が必要となる。
これに対して、第1実施形態のユーザプログラム1020は、通常動作モードで起動した場合でも、物理手段による電源の再投入及び特定ピンの電圧状態の変更をすることなく、切替コマンドの入力によって、通常動作モードから任意の動作モードへとソフトウェアによって切り替える機能を有している。
ここで、ユーザプログラム1020の適用対象のマイコンの中には、ユーザプログラム上から単にブートプログラムを起動しただけでは、ユーザプログラム実行時の割り込み処理等の影響で、動作モードの切り替えができないものがある(例えば、上記TMS320F2812など)。このようなマイコンで動作モードを切り替えるためには、電源投入時と同じ状態を作り出した上でブートプログラムを起動する必要がある。そこで、第1実施形態のユーザプログラム1020では、WDM105のウォッチドッグリセットを利用して、電源投入時と同じ状態を作り出している。具体的に、WDキー書き込み領域105aに、意図的に誤ったキー(異常値)を書き込むことで強制的にウォッチドッグリセットを発動させている。
ウォッチドッグリセットは、DSP21bへの電源供給を維持したまま行われるリセットであるため、RAM103に読み込まれたユーザプログラム1020や、ユーザプログラム1020によってRAM103に書き込まれたメモリ情報はそのまま残る。従って、ウォッチドッグリセット後に、ユーザプログラム1020上から次の命令の実行が可能である。
また、電源投入時と同じ状態を作り出しても特定ピンの電圧状態が所望の動作モードに対応する状態となっていないと、第2ブートプログラム1020aによって再び通常動作モードが起動してしまう。そこで、第1実施形態のユーザプログラム1020では、ウォッチドッグリセット後でかつ起動する動作モードの確定前に、第2ブートプログラム1020aが、起動する動作モードを決定する際に参照する特定ピンのステータス情報(特定ピンのhigh、Lowを示す値)を、入力された切替コマンドの種類に対応する情報へと書き換えるようにしている。そのため、第1実施形態では、ウォッチドッグリセット後に、入力された切替コマンドの種類を参照するために、入力された切替コマンドの種類を示す情報を予めRAM103等のメモリに記憶しておく。
第2ブートプログラム1020aは、第1ブートプログラム1021と同等の機能を有しているため、ステータス情報の書き換え後は、書き換えられたステータス情報で特定される動作モードを起動する。但し、第1実施形態の第2ブートプログラム1020aは、ユーザプログラム1020に組み込まれた、第2SCIブートプログラム1020b及びサポートしているその他のブートプログラム1020cのうちから書き換えられたステータス情報で特定される動作モードを起動するように構成されている。
このように各種ブートプログラムをユーザプログラム1020に組み込むのは、第1ブートプログラム1021、第1SCIブートプログラム1022及びその他のプログラム1023が、マイコンメーカーが主導権を握るマスクROMエリアに書き込まれているためである。マスクROMエリアに書き込まれたプログラムは、メーカー側が予告無く変更する恐れがあり、マスクROMエリアから直接ブートプログラムを呼び出す構成とした場合に、変更が行われる度にユーザプログラム1020を修正する必要がある。そこで、第1実施形態では、メーカー側の内容変更の影響を最小限に抑えるために、必要なブートプログラムをユーザプログラム1020に組み込むようにしている。
(モード切替処理について)
次に、図4に基づき、CPU101のユーザプログラム1020に基づく切替コマンドの入力に応じた動作処理の流れを説明する。
CPU101において、通常動作モードが起動してユーザプログラム1020が実行されると、図4に示すように、まず、ステップS100に移行する。
ステップS100では、CPU101において、切替コマンドが入力されたか否かを判定する。そして、入力されたと判定した場合(Yes)は、切替コマンドの種類を示す情報をRAM103の所定領域に書き込んでからステップS102に移行し、そうでないと判定した場合(No)は、入力されるまで判定処理を繰り返す。
ステップS102に移行した場合は、CPU101において、ウォッチドッグリセットであることを通知する値(以下、「WDR通知値」と称す)をRAM103の所定領域に書き込んで、ステップS104に移行する。
ステップS104では、CPU101において、ROM102への書き込み等、周辺素子の機能を停止して、ステップS106に移行する。
ステップS106では、CPU101において、WDキー書き込み領域105aに、第1のウォッチドッグキーKY1及び第2のウォッチドッグキーKY2として、誤った値のキーを書き込む。これによって、WDM105に、ウォッチドッグリセットを実行させて、一連の処理を終了する。
次に、図5に基づき、CPU101のユーザプログラム1020に基づくウォッチドッグリセットを実行後の動作処理の流れを説明する。
WDM105においてウォッチドッグリセットが実行されて、CPU101がリセットされると、引き続きRAM103に読み込まれた状態のユーザプログラム1020が実行され、図5に示すように、まず、ステップS200に移行する。
ステップS200では、CPU101において、RAM103の所定領域に書き込まれたWDR通知値に基づき、実行されたウォッチドッグリセットが、切替コマンドの入力に応じたウォッチドッグリセットか否かを判定する。そして、切替コマンドの入力に応じたウォッチドッグリセットであると判定した場合(Yes)は、ステップS202に移行し、そうでないと判定した場合(No)は、処理を終了する。
ステップS202に移行した場合は、CPU101において、ウォッチドッグ機能の設定プロテクトを解除すると共に、ウォッチドッグリセットの発動を禁止する設定を行う。その後、ウォッチドッグ機能の設定プロテクトを設定して、ステップS204に移行する。
即ち、ウォッチドッグ機能の設定変更ができるようにプロテクトを解除してから、ウォッチドッグリセットの発動を禁止する設定を行い、再びウォッチドッグ機能の設定変更ができないようにプロテクトを設定する。
ステップS204では、CPU101において、ユーザプログラム1020に組み込まれた第2ブートプログラム1020aを起動して、一連の処理を終了する。
次に、図6に基づき、CPU101の第2ブートプログラム1020aに基づく動作処理の流れを説明する。
CPU101において、第2ブートプログラム1020aが起動されると、図6に示すように、まず、ステップS300に移行する。
ステップS300では、CPU101において、特定ピンのステータス情報を読み込んで、ステップS302に移行する。
ステップS302では、CPU101において、RAM103に記憶した入力された切替コマンドの種類を示す情報に基づき、特定ピンのステータス情報を、入力された切替コマンドの種類に対応する情報に書き換えて、ステップS304に移行する。
ステップS304では、CPU101において、ステップS302で書き換えた特定ピンのステータス情報に応じた動作モードを起動して、一連の処理を終了する。
具体的に、CPU101は、ユーザプログラム1020に組み込まれた第2SCIブートプログラム1020b及びサポートしている他のブートプログラム1020cのうちから、書き換えたステータス情報で特定されるブートプログラムを起動する。
(動作)
次に、第1実施形態に係るモータ駆動システム10の具体的な動作例を説明する。
ドライブユニット2の電源が投入されると、DSP21bにおいて、ROM102に格納された第1ブートプログラム1021が実行される。このとき、外部回路(治具)等によって、特定ピンの電圧状態が変更されていなければ、デフォルトの通常動作モードが起動して、ROM102に格納されたユーザプログラム1020が実行される。
ユーザプログラム1020が実行されると、DSP21bにおいて、モータ1、端末3及び上位装置4からの信号の入力が受け付けられ、入力された信号に応じた処理が実行される。例えば、上位装置4からのモータ回転指令が入力されると、入力されたモータ回転指令に応じてモータ1を駆動制御する処理が実行される。
一方、モータ1が停止した状態でかつ他の処理が実行されていない状態において、ユーザにより、端末3を介して、例えば、動作モードをSCIブートモードに切り替える切替コマンド(以下、「SCIブートコマンド」と称す)が入力されたとする(ステップS100のYes)。
SCIブートコマンドが入力されると、DSP21bのCPU101は、ユーザプログラム1020に従って、まず、SCIブートコマンドを示す情報をRAM103の所定領域に書き込み、続いて、WDR通知値をRAM103の所定領域に書き込む(ステップS102)。引き続き、CPU101は、周辺素子の機能を停止してから(ステップS104)、WDキー書き込み領域105aに、異常値を書き込み、ウォッチドッグリセットを強制的に発動する(ステップS106)。
即ち、WDM105は、WDキー書き込み領域105aに異常値が書き込まれたことに応じて、CPU101に対してリセット信号を出力する。これによって、CPU101がリセットされる。
ウォッチドッグリセット後に、CPU101は、RAM102に読み込まれているユーザプログラム1020に従って、まず、RAM102の所定領域に書き込まれたWDR通知値に基づき、ウォッチドッグリセットが、切替コマンドによるリセットか否かを判定する(ステップS200)。
ここでは、SCIブートコマンドの入力に応じたウォッチドッグリセットであるため(ステップS200のYes)、CPU101は、引き続きWDM105の動作を停止してから(ステップS202)、第2ブートプログラム1020aを起動する(ステップS204)。
CPU101は、第2ブートプログラム1020aを起動すると、起動した第2ブートプログラム1020aに従って、まず、特定ピンのステータス情報をRAM103の所定領域に読み込む。次に、RAM103の所定領域に書き込まれたSCIブートコマンドを示す情報に基づき、読み込んだ特定ピンのステータス情報を、第2SCIブートプログラム1020bを起動するステータス情報に強制的に書き換える(ステップS302)。
これにより、CPU101は、第2ブートプログラム1020aに従って、起動する動作モードが、第2SCIブートプログラム1020bを起動するモード(即ち、SCIブートモード)であると認識して、ユーザプログラム1020に組み込まれた第2SCIブートプログラム1020bを起動する(ステップS304)。
以降は、起動した第2SCIブートプログラム1020bに従って、端末3を介して入力したユーザのパスワードが正しい場合に、ROM102のプロテクト領域のプロテクトが解除され、シリアル通信ポートを介したユーザプログラム1020の書き換えが実行可能となる。
ここで、第1実施形態において、DSP21bがマイクロコントローラに対応し、CPU101がプロセッサに対応し、ユーザプログラム1020がモード切替プログラムに対応し、ドライブユニット2が電子制御装置に対応する。
(第1実施形態の作用及び効果)
(1)電源投入時に複数種類の動作モードのうちから特定ピンの電圧状態で特定される動作モードを起動するDSP21bを構成するCPU101が、特定ピンがデフォルトの電圧状態のときに起動される通常動作モードに対応するユーザプログラム1020に記述された命令に従って、予め設定した切替コマンドの入力に応じて、現在の動作モードを、入力された切替コマンドで指定された動作モードに切り替える。
この構成によって、ユーザプログラム1020を実行後に、切替コマンドを入力することで、ソフトウェア上でDSP21bの現在の動作モードを切替コマンドで指定される動作モードに切り替えることが可能となる。
これによって、モード切替のための専用回路を不要とすることが可能となり、専用回路を設けることで生じるコストを低減することが可能となる。また、特定ピンの電圧状態を専用回路等の物理手段で変更する必要が無いため容易に動作モードの切替が可能となる。
(2)電源投入時に複数種類の動作モードのうちから特定ピンの電圧状態を示すステータス情報で特定される動作モードを起動する第1ブートプログラム1021を備えたDSP21bを構成するCPU101が、特定ピンがデフォルトの電圧状態のときに起動される通常動作モードに対応するユーザプログラム1020に記述された命令に従って、予め設定した切替コマンドの入力に応じて、当該CPU101を、DSP21bへの電源供給を維持した状態で電源投入時と同じ状態に移行させる。更に、CPU101が、電源投入時と同じ状態に移行後に、ユーザプログラム1020に記述された命令に従って、ユーザプログラム1020に組み込まれた第1ブートプログラム1021と同等の機能を有する第2ブートプログラム1020aを起動する。なお更に、CPU101が、第2ブートプログラム1020aを起動後でかつ起動する動作モードの確定前に、例えば、第2ブートプログラム1020aに記述された命令に従って、ステータス情報を、入力された切替コマンドの種類に対応する内容に書き換える。
この構成によって、第2ブートプログラム1020aが第1ブートプログラム1021と同等の機能を有することから、CPU101が、ステータス情報の書き換え後に、第2ブートプログラム1020aに記述された命令に従って、書き換え後のステータス情報によって特定される動作モードを起動する。
即ち、ユーザプログラム1020上から、CPU101を電源投入時と同じ状態に移行させた後に、ステータス情報を、入力された切替コマンドの種類に対応する内容に書き換え、書き換えたステータス情報に対応する動作モードを起動することが可能となる。
これによって、ユーザプログラム1020上で切替コマンドを入力するだけで、ソフトウェア上で動作モードの切替が可能となる。その結果、モード切替のための専用回路を不要とすることが可能となり、専用回路を設けることで生じるコストを低減することが可能となる。また、特定ピンの電圧状態を専用回路等の物理手段で変更する必要が無いため容易に動作モードの切替が可能となる。
(3)ユーザプログラム1020は、電源投入時に複数種類の動作モードのうちから特定ピンの電圧状態で特定される動作モードを起動するDSP21bの現在の動作モードを、予め設定した切替コマンドの入力に応じて、該切替コマンドで指定された動作モードに切り替える処理をDSP21bを構成するCPU101に実行させるためのプログラムを含む。
この構成によって、CPU101においてユーザプログラム1020が実行されると、切替コマンドの入力に応じて、DSP21bの現在の動作モードを切替コマンドで指定される動作モードへと切り替えることが可能となる。即ち、ソフトウェア上で、DSP21bの動作モードを切り替えることが可能となる。
これによって、モード切替のための専用回路を不要とすることが可能となり、専用回路を設けることで生じるコストを低減することが可能となる。また、特定ピンの電圧状態を専用回路等の物理手段で変更する必要が無いため容易に動作モードの切替が可能となる。
(4)ユーザプログラム1020は、電源投入時に複数種類の動作モードのうちから特定ピンの電圧状態を示すステータス情報で特定される動作モードを起動する第1ブートプログラム1021を備えたDSP21bを構成するCPU101であって、特定ピンのデフォルトの電圧状態に対応する通常動作モードで起動した状態のCPU101を、予め設定した切替コマンドの入力に応じて、DSP21bへの電源供給を維持した状態で電源投入時と同じ状態に移行させる第1ステップと、電源投入時と同じ状態に移行後に、第1ブートプログラム1021と同等の機能を有する第2ブートプログラム1020aを起動する第2ステップと、電源投入時と同じ状態に移行後でかつ起動する動作モードの確定前に、ステータス情報を、第1ステップにおいて入力された切替コマンドの種類に対応する内容に書き換える第3ステップとを有する処理をCPU101に実行させるためのプログラムを含む。
この構成によって、CPU101においてユーザプログラム1020が実行されると、CPU101が、予め設定した切替コマンドの入力に応じて、ユーザプログラム1020に記述された命令に従って、CPU101を電源投入時と同じ状態に移行させる。更に、電源投入時と同じ状態に移行後に、第2ブートプログラム1020aを起動し、電源投入時と同じ状態に移行後でかつ起動する動作モードの確定前に、ステータス情報を、入力された切替コマンドの種類に対応する内容に書き換えることが可能となる。
ここで、第2ブートプログラム1020aが第1ブートプログラム1021と同等の機能を有することから、CPU101が、ステータス情報の書き換え後に、第2ブートプログラム1020aに記述された命令に従って、書き換え後のステータス情報によって特定される動作モードを起動する。
即ち、ユーザプログラム1020上から、CPU101を電源投入時と同じ状態に移行させた後に、ステータス情報を、入力された切替コマンドの種類に対応する内容に書き換え、書き換えたステータス情報に対応する動作モードを起動することが可能となる。
これによって、ユーザプログラム1020上で切替コマンドを入力するだけで、ソフトウェア上で動作モードの切替が可能となる。その結果、モード切替のための専用回路を不要とすることが可能となり、専用回路を設けることで生じるコストを低減することが可能となる。また、特定ピンの電圧状態を専用回路等の物理手段で変更する必要が無いため容易に動作モードの切替が可能となる。
(5)DSP21bは、WDキー書き込み領域105aへの第1のウォッチドッグキーKY1及び第2のウォッチドッグキーKY2の書き込み内容に基づきCPU101の異常を判定した時にDSP21bへの電源供給を維持した状態でCPU101をリセットするWDM105を備える。そして、ユーザプログラム1020は、例えば、WDキー書き込み領域105aに、第1のウォッチドッグキーKY1及び第2のウォッチドッグキーKY2として異常値を書き込むことで、WDM105によるCPU101のリセット動作を強制的に発動させて、CPU101を電源投入時と同じ状態に移行させるプログラムを含む。
この構成によって、容易且つ確実に、CPU101を電源投入時と同じ状態に移行させることが可能となる。
(6)ユーザプログラム1020は、少なくとも通常動作モードにおいてDSP21bの内部メモリであるROM102におけるプログラム等のデータの書き込みが禁止されたプロテクト領域に格納されている。また、DSP21bは、端末3との間でシリアル通信を行うためのシリアル通信モジュールを含むI/Oモジュール104を備える。また、複数種類の動作モードは、シリアル通信モジュールを介して端末3からプロテクト領域にプログラムを書込可能なプログラム書込モードを含む。
この構成によって、ユーザプログラム1020上で、起動する動作モードをプログラム書込モードへと切り替えるための切替コマンドであるSCIブートコマンドを入力することで、現在起動された動作モード(通常動作モード)をプログラム書込モード(SCIブートモード)へと切り替えることが可能となる。
これによって、ソフトウェア上で、通常動作モードをプログラム書込モードへと切り替えることが可能となる。その結果、例えば、ドライブユニット2を組み立て後に、何らかの理由でプロテクト領域に格納されたユーザプログラム1020を書き換えたい場合に、ケースの取り外し作業及びケースの組み立て作業を発生させずに、シリアル通信ポートを介して、手軽にユーザプログラムを書き換えることが可能となる。
ここで、通常実装されているプログラム書込専用ポート(例えばJTAGポート)は、外部端末と接続するためのコネクタが回路基板上にのみ設けられるため、製品の組み立て後にプログラムを書き換えたい場合は、製品のケースを取り外す等して、回路基板上のコネクタを剥き出しにする必要がある。これに対して、シリアル通信モジュール(即ちシリアル通信ポート)は、通常、外部端末と接続するためのコネクタがケースの外側に設けられている。
但し、シリアル通信ポートを用いたプログラムの書込機能は、シリアル通信ポート本来の用途とは異なる。そのため、プログラム書込モードを備えるマイコンは、起動時(電源投入時)に、動作モードを、シリアル通信ポート本来の用途に対応するデフォルトの通常動作モードから、プログラム書込モードへと切り替えるようになっている。
(7)電子制御装置の1種であるドライブユニット2は、ユーザプログラム1020を搭載したDSP21bを備えている。
この構成によって、上記(3)〜(6)に記載したユーザプログラム1020による作用及び効果と同等の作用及び効果を得ることが可能である。
(8)モータ駆動システム10は、ユーザプログラム1020を搭載したDSP21bを備えたドライブユニット2を備えている。
この構成によって、上記(3)〜(6)に記載したユーザプログラム1020による作用及び効果と同等の作用及び効果を得ることが可能である。
(第2実施形態)
次に、図7に基づき、本発明の第2実施形態に係る溝研削装置300について説明する。
第2実施形態に係る溝研削装置300は、上記第1実施形態のモータ駆動システム10を、工作機械の1種である溝研削装置に適用したものである。
以下、上記第1実施形態と同様の構成部については、同じ符号を付して適宜説明を省略する。
溝研削装置300は、例えば、転がり軸受の軌道輪(外輪及び内輪)等のワークの周面に転動体の転動路となる溝を、砥石による研削加工によって形成する工作機械である。
この溝研削装置300は、図7に示すように、溝研削部200と、ワーク支持部250と、モータ駆動システム10とを含んで構成される。
溝研削部200は、砥石ヘッド201と、回転軸としての砥石スピンドル202と、該砥石スピンドル202を内部に収容する砥石スピンドルハウジング203と、砥石スピンドル202の回転駆動源である砥石スピンドル用モータ205と、を含んで構成される。
砥石ヘッド201は、円盤状の溝研削用砥石201aと、この溝研削用砥石201aを砥石スピンドル202に取り付けるための砥石取付軸201bとから構成されている。
かかる構成によって、溝研削部200は、砥石スピンドル用モータ205によって砥石スピンドル202を回転駆動することで、砥石取付軸201bを介して砥石スピンドル202の先端に取り付けられた溝研削用砥石201aを回転する。すなわち、この回転する溝研削用砥石201aをワーク400の周面に接触させることで、接触面を研削加工して溝を形成する。
ワーク支持部250は、支持台251と、支持台251上に設けられたテーブル252と、テーブル252上に設けられたワーク支持用部材253と、テーブル252を回転自在に支持するワーク回転用スピンドル254とを含んで構成される。更に、ワーク支持部250は、ワーク回転用スピンドル254を内部に収容するワーク回転用スピンドルハウジング255と、ワーク回転用スピンドル254を回転駆動するモータ1とを含んで構成される。
第2実施形態のモータ1は、上記第1実施形態と同様に、ドライブユニット2によって駆動制御される。即ち、上位装置4からモータ回転指令が入力されると、レゾルバからの例えば3相のレゾルバ位置検出信号φABCを入力してこれに基づきモータ1の回転角度位置の検出を行う。加えて、この位置検出結果と上位装置4からのモータ回転指令とに応じて、モータ1を回転駆動させるためのモータ電流指令値を生成する。そして、パワーアンプ22で、モータ電流指令値に応じたモータ駆動電流を生成し、生成したモータ駆動電流を、モータケーブル6を介してモータ1に供給する。これによって、モータ1が回転駆動し、ワーク回転用スピンドル254を回転駆動する。
また、第2実施形態の上位装置4は、溝研削部200の砥石スピンドル用モータ205のモータ駆動回路(不図示)に対してもモータ回転指令を出力するようになっている。
なお、ユーザプログラム1020に基づくCPU101のモード切替動作については、上記第1実施形態と同様となるので説明を省略する。
ここで、第2実施形態において、DSP21bがマイクロコントローラに対応し、CPU101がプロセッサに対応し、ユーザプログラム1020がモード切替プログラムに対応する。
また、第2実施形態において、ドライブユニット2が電子制御装置に対応し、溝研削装置300が工作機械に対応する。
(第2実施形態の効果)
(1)工作機械の1種である溝研削装置300は、ユーザプログラム1020を搭載したDSP21bを備えたドライブユニット2を含むモータ駆動システム10を備えている。
この構成によって、上記第1実施形態のモータ駆動システム10と同等の作用及び効果を得ることが可能である。
(変形例)
(1)上記各実施形態では、ユーザプログラム1020を、モータ駆動システム10を構成するドライブユニット2のDSP21bに適用する構成としたが、この構成に限らない。他のシステムを構成する電子制御装置のマイコンに適用する構成としてもよい。
(2)上記各実施形態では、ウォッチドッグリセットを利用して、CPU101を電源投入時と同じ状態に移行する構成としたが、この構成に限らない。例えば、ユーザプログラム1020上から、電源投入時と同じ状態となるように割込み処理を全て停止するなど、他の構成としてもよい。
(3)上記第2実施形態では、モータ駆動システム10を工作機械の1種である溝研削装置に適用する構成としたが、この構成に限らない。例えば、金属、木材、石材、樹脂等に対して、モータを駆動源として、切断、穿孔、研削、研磨、圧延、鍛造、折り曲げ等の加工を施す他の工作機械に適用してもよい。
(4)上記各実施形態では、ウォッチドッグリセットを利用して、CPU101を電源投入時と同じ状態に移行してから第2ブートプログラム1020aを起動する構成としたが、この構成に限らない。例えば、電源投入時と同じ状態に移行せずともユーザプログラム1020上からブートプログラムを正常起動可能なマイコンの場合は、切替コマンドの入力に応じて、ウォッチドッグリセットを行わずに、ユーザプログラム1020上から第2ブートプログラム1020aを起動する構成としてもよい。
(5)上記各実施形態では、ユーザプログラム1020に、第2SCIブートプログラム1020b及びサポートしているその他のブートプログラム1020cを組み込み、この組み込んだブートプログラムを呼び出す構成としたが、この構成に限らない。例えば、マスクROMエリアに格納されたSCIブートプログラム1022及びその他のプログラム1023から直接呼び出す構成としてもよい。この構成とすることで、ユーザプログラム1020に必要なメモリ容量を少なくすることが可能となる。
(6)上記各実施形態では、SCIブートモードを含むサポートしている複数種類の動作モードのうちから所望の動作モードへと切り替える構成を説明したが、この構成に限らない。例えば、SCIブートモードのみに動作モードを切り替える構成など、特定の1つの動作モードのみに切り替え可能な構成としてもよい。この構成とすることで、ユーザプログラム1020に必要なメモリ容量を節約することが可能となる。
また、上記各実施形態は、本発明の好適な具体例であり、技術的に好ましい種々の限定が付されているが、本発明の範囲は、上記の説明において特に本発明を限定する旨の記載がない限り、これらの形態に限られるものではない。また、上記の説明で用いる図面は、図示の便宜上、部材ないし部分の縦横の縮尺は実際のものとは異なる模式図である。
また、本発明は上記各実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良等は本発明に含まれるものである。
1 モータ、2 ドライブユニット、3 端末、4 上位装置、10 モータ駆動システム、21 制御回路、21b DSP、CN1〜CN5 第1〜第5コネクタ、7 シリアルケーブル、101 CPU、102 ROM、104 I/Oモジュール、105 ウォッチドッグモジュール、300 溝研削装置、1020 ユーザプログラム、1020a 第2ブートプログラム、1020b 第2SCIブートプログラム、1020c
サポートしているその他のブートプログラム、1021 第1ブートプログラム、1022 第1SCIブートプログラム

Claims (9)

  1. 電源投入時に複数種類の動作モードのうちから特定ピンの電圧状態で特定される動作モードを起動するマイクロコントローラを構成するプロセッサが、前記特定ピンがデフォルトの電圧状態のときに起動される通常動作モードのプログラムに記述された命令に従って、予め設定した切替コマンドの入力に応じて、現在の動作モードを、入力された前記切替コマンドで指定された動作モードに切り替えるモード切替方法。
  2. 電源投入時に複数種類の動作モードのうちから特定ピンの電圧状態を示すステータス情報で特定される動作モードを起動する第1ブートプログラムを備えるマイクロコントローラを構成するプロセッサが、前記特定ピンがデフォルトの電圧状態のときに起動される通常動作モードのプログラムに記述された命令に従って、予め設定した切替コマンドの入力に応じて、当該プロセッサを、前記マイクロコントローラへの電源供給を維持した状態で電源投入時と同じ状態に移行させる第1ステップと、
    前記プロセッサが、電源投入時と同じ状態に移行後に、前記通常動作モードのプログラムに組み込まれた前記第1ブートプログラムと同等の機能を有する第2ブートプログラムを起動する第2ステップと、
    前記プロセッサが、電源投入時と同じ状態に移行後でかつ起動する動作モードの確定前に、前記ステータス情報を、前記第1ステップにおいて入力された前記切替コマンドの種類に対応する内容に書き換える第3ステップと、を備えるモード切替方法。
  3. 電源投入時に複数種類の動作モードのうちから特定ピンの電圧状態で特定される動作モードを起動するマイクロコントローラの現在の動作モードを、予め設定した切替コマンドの入力に応じて、該切替コマンドで指定された動作モードに切り替える処理を前記マイクロコントローラを構成するプロセッサに実行させるためのプログラムを含むモード切替プログラム。
  4. 電源投入時に複数種類の動作モードのうちから特定ピンの電圧状態を示すステータス情報で特定される動作モードを起動する第1ブートプログラムを備えたマイクロコントローラを構成するプロセッサであって、前記特定ピンのデフォルトの電圧状態に対応する通常動作モードで起動した状態の前記プロセッサを、予め設定した切替コマンドの入力に応じて、前記マイクロコントローラへの電源供給を維持した状態で電源投入時と同じ状態に移行させる第1ステップと、
    電源投入時と同じ状態に移行後に、前記第1ブートプログラムと同等の機能を有する第2ブートプログラムを起動する第2ステップと、
    電源投入時と同じ状態に移行後でかつ起動する動作モードの確定前に、前記ステータス情報を、前記第1ステップにおいて入力された前記切替コマンドの種類に対応する内容に書き換える第3ステップとを有する処理を前記プロセッサに実行させるためのプログラムを含むモード切替プログラム。
  5. 前記マイクロコントローラは、ウォッチドッグキーの書き込み内容に基づき前記プロセッサの異常を判定した時に前記マイクロコントローラへの電源供給を維持した状態で前記プロセッサをリセットするウォッチドッグモジュールを備え、
    前記第1ステップにおいて、前記ウォッチドッグモジュールによる前記プロセッサのリセット動作を強制的に発動させることで、前記プロセッサを電源投入時と同じ状態に移行させる請求項4に記載のモード切替プログラム。
  6. 当該モード切替プログラムは、前記特定ピンがデフォルトの電圧状態のときに起動される通常動作モードのプログラムに組み込まれており、
    前記通常動作モードのプログラムは、少なくとも前記通常動作モードにおいて前記マイクロコントローラの内部メモリにおけるデータの書き込みが禁止されたプロテクト領域に格納されており、
    前記マイクロコントローラは、外部端末との間でシリアル通信を行うためのシリアル通信モジュールを備え、
    前記複数種類の動作モードは、前記シリアル通信モジュールを介して外部端末から前記プロテクト領域にプログラムを書込可能なプログラム書込モードを含む請求項3乃至5のいずれか1項に記載のモード切替プログラム。
  7. 請求項3乃至6のいずれか1項に記載のモード切替プログラムを備えた電子制御装置。
  8. 請求項7に記載の電子制御装置を備えたモータ駆動システム。
  9. 請求項8に記載のモータ駆動システムを備えた工作機械。
JP2014248029A 2014-12-08 2014-12-08 モード切替方法、モード切替プログラム、このプログラムを搭載したマイクロコントローラを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械 Pending JP2016110433A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014248029A JP2016110433A (ja) 2014-12-08 2014-12-08 モード切替方法、モード切替プログラム、このプログラムを搭載したマイクロコントローラを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014248029A JP2016110433A (ja) 2014-12-08 2014-12-08 モード切替方法、モード切替プログラム、このプログラムを搭載したマイクロコントローラを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械

Publications (1)

Publication Number Publication Date
JP2016110433A true JP2016110433A (ja) 2016-06-20

Family

ID=56122288

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014248029A Pending JP2016110433A (ja) 2014-12-08 2014-12-08 モード切替方法、モード切替プログラム、このプログラムを搭載したマイクロコントローラを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械

Country Status (1)

Country Link
JP (1) JP2016110433A (ja)

Similar Documents

Publication Publication Date Title
EP1710645B1 (en) Numerical control system
JP2016218864A (ja) プロセッサのリセット方法、プロセッサのリセットプログラム、このプログラムを搭載したマイクロコントローラを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械
JP4097649B2 (ja) 数値制御装置
JP2016110433A (ja) モード切替方法、モード切替プログラム、このプログラムを搭載したマイクロコントローラを備えた電子制御装置、この電子制御装置を備えたモータ駆動システム及びこのモータ駆動システムを備えた工作機械
JPS59153205A (ja) 数値制御システム
JP5058246B2 (ja) 機械モデルを組み込まれた制御装置
JP2009205277A (ja) 工作機械の制御装置
JP2015041221A (ja) 工作機械の制御装置
JP2007011646A (ja) サーボモータ制御システムにおけるドライバ動作確認装置
JP2009080621A (ja) 数値制御装置、数値制御プログラム及び数値制御プログラムを記憶した記憶媒体
JP6823027B2 (ja) 数値制御装置
WO2018173105A1 (ja) プログラマブルロジックコントローラ、メモリモジュールおよびプログラム
JPH0760669A (ja) 産業用機械の操作システム
JP2009129114A (ja) プログラマブルロジックコントローラ用の外部メモリ
JP4821747B2 (ja) 数値制御装置および数値制御プログラム
WO2024004340A1 (ja) ロボットシステム
WO2023058085A1 (ja) 数値制御装置
JP4442762B2 (ja) Nc工作機械の制御装置
JP2010204737A (ja) プログラマブルコントローラの制御システムおよびプログラマブルコントローラの制御プログラム実行方法
JP4302692B2 (ja) ロボット装置
US20240036544A1 (en) Control device, safe stop program therefor, and storage medium
JP2020101841A (ja) 車両制御装置
JPH04123105A (ja) 電動機制御方式
JP2005339018A (ja) 数値制御装置
JP2009063371A (ja) エンコーダ装置およびその起動方法