(57)【要約】      （修正有）【課題】外部機器であるドライブを接続する制御装置が、ドライブとドライブ番号とを一意に認識することで、ドライブへのアクセスを容易にする。【解決手段】ミシン１００に備えられた制御装置１０において、アプリケーションプログラムを記憶する記憶部６１と固有のＩＤ情報６２とを備える外部記憶手段６０と、外部記憶手段６０を接続するためのＵＳＢ端子１１と、ＵＳＢ端子１１に外部記憶手段６０が接続されたことを検出するＵＳＢコントローラ１２と、外部記憶手段６０に自動的にドライブ番号を付与するドライブ番号付与手段５１と、外部記憶手段６０を前記ドライブ番号により指定してアクセスするアクセス制御手段５２と、ＩＤ情報６２と前記ドライブ番号とをグループ化して記憶する管理情報記憶処理部５３と、ＩＤ情報６２が、管理情報記憶処理部５３に記憶されているか判別する判別手段５４とを備える。【選択図】図２
2009031844.tif 000002
【特許請求の範囲】
【請求項１】
プログラムと固有のＩＤ情報とを記憶する外部記憶手段を接続するために設けられた複数のスロットと、
少なくとも一つのスロットに外部記憶手段が接続されたことを検出する接続検出手段と、
前記接続が検出された外部記憶手段に、自動的にドライブ番号を付与するドライブ番号付与手段と、
前記接続が検出された外部記憶手段を前記ドライブ番号により指定してアクセスするアクセス制御手段と、を備える制御装置において、
前記接続が検出された外部記憶手段の固有のＩＤ情報と前記ドライブ番号付与手段により付与されたドライブ番号とを関連付けて記憶する不揮発性の管理情報記憶手段と、
前記接続検出手段により前記スロットへの外部記憶手段の接続が検出された際に、前記接続が検出された外部記憶手段の固有のＩＤ情報が、前記管理情報記憶手段に記憶されているか否かを判別する判別手段とを備え、
前記ドライブ番号付与手段は、
前記判別手段により、前記接続が検出された外部記憶手段の固有のＩＤ情報が前記管理情報記憶手段に記憶されていると判定された場合には、前記管理情報記憶手段に当該外部記憶手段の固有のＩＤ情報と関連付けて記憶されたドライブ番号を前記外部記憶手段に再付与すると共に、前記接続が検出された外部記憶手段固有のＩＤ情報が、前記管理情報記憶手段に記憶されていないと判別された場合には、未だ他の外部記憶手段のドライブ番号として付与されていない新たなドライブ番号を前記接続が検出された外部記憶手段固有のドライブ番号として付与することを特徴とする制御装置。
【請求項２】
前記スロットがＵＳＢ規格のスロットであり、
前記ＩＤ情報は、前記外部記憶手段または前記外部記憶手段を前記スロットに接続するための接続インターフェイスのベンダＩＤ、当該外部記憶手段または当該接続インターフェイスのプロダクトＩＤであり、
前記アクセス制御手段は、前記外部記憶手段に対して、ＵＳＢ規格に準じたアクセスを行うことを特徴とする請求項１記載の制御装置。
【請求項３】
前記ＩＤ情報は、前記外部記憶手段または前記接続インターフェイスに設けられたロジカルユニットナンバーを含むことを特徴とする請求項２記載の制御装置。
【請求項４】
前記接続検出手段は、前記外部記憶手段の接続を当該制御装置の電源投入時、または当該制御装置の電源投入後の前記スロットへの前記外部記憶手段の接続時に、前記外部記憶手段の接続を検出することを特徴とする請求項１から３のいずれか一項に記載の制御装置。
【請求項５】
前記アクセス制御手段は、前記外部記憶手段へのアクセスをドライブ番号の先頭から順番に行い、アクセス可能であって最もドライブ番号が若い前記外部記憶手段に記憶されたプログラムに対して優先的にアクセスすることを特徴とする請求項１から４のいずれか一項に記載の制御装置。
【請求項６】
起動時に実行されるブートローダーと当該ブートローダーの実行後に実行されるアプリケーションプログラムとを記憶する記憶装置と、
前記ブートローダーと前記アプリケーションプログラムとを実行する処理装置とを備え、
前記ブートローダーと前記アプリケーションプログラムとは、前記処理装置を前記ドライブ番号付与手段と前記アクセス制御手段と前記判別手段として機能させる処理を含むと共に、前記ブートローダーと前記アプリケーションプログラムのいずれも、前記各処理の実行に際して、前記管理情報記憶手段を共有して参照させることを特徴とする請求項１から５のいずれか一項に記載の制御装置。
【請求項７】
前記制御装置はミシンの制御装置であり、
前記外部記憶手段は前記ミシンの制御に必要な情報を前記ミシンの制御装置に対して授受する外部記憶手段であることを特徴とする請求項１から６のいずれか一項に記載の制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スロットによって接続された複数のドライブのアクセスを制御する制御装置に関するものである。
【背景技術】
【０００２】
外部機器を接続するスロットとしてＵＳＢ規格のスロットを例に説明すると、当該ＵＳＢ規格のスロット（以後、ＵＳＢ端子と表記する）を介して接続されたドライブとのアクセスを制御する方法として、取り外し可能なメディアを挿入する複数のカードスロットのうち、アクセスする１つのスロットを人為的に入力設定することが可能な方法が記載されている（特許文献１）。
また、接続されたＵＳＢ機器からＵＳＢ装置固有のプロダクトＩＤ及びベンダＩＤを取得してドライバソフトを取得する方法が記載されている（特許文献２）。
【特許文献１】特開２００４−２７２４５７号公報
【特許文献２】特開２００２−１６３２２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、ＵＳＢ機器は、プラグアンドプレイにより電源が投入された状態での挿抜が可能である。そして、複数のＵＳＢ機器を接続可能とする制御装置においては、これら接続されたＵＳＢ機器がメモリー素子等の外部記憶デバイスである場合には、接続された順番でドライブの番号（ドライブ番号）の割り振りを行う。従って、同一の外部記憶デバイス（外部記憶手段）であっても、接続する順番を変えて再接続を行うと、それに伴いドライブに割り振られるドライブ番号が変わってしまう。
さらに、上述のように電源が投入された状態において接続された順番でドライブ番号が割り振られた外部記憶デバイスは、制御装置の電源遮断後の再投入時には、制御装置内で予め決められた順番でドライブ番号の割り振りが行われ、外部記憶デバイスは、制御装置の電源遮断前後で接続されたままであるにもかかわらず異なったドライブ番号が割り振られてしまう。
そして、ドライブに対するアクセス制御は、ドライブ番号を指定することで行われるため、上述のようにドライブに割り振られるドライブ番号が変わると、ドライブ番号によるアクセス制御を行う際に、ドライブ番号が変わる前と後とでは違うドライブにアクセスしてしまう。このため、オペレータが想定したドライブに対して正しくアクセスを行うためにはドライブ番号が変わった後、アクセスの際にドライブ番号を指定し直さなければならず、煩雑になるといった問題があった。
【０００４】
さらに、制御装置とドライブとの間で行われるプログラムの転送中に、何らかの理由により電源が切れた場合に、電源を投入し直した後に制御装置が自動的に転送作業を再開しようとしても、ドライブ番号が変わっているために、所定のプログラムにアクセスできないといった問題があった。
また、複数のスロットを有するＵＳＢハブ及びカードリーダーの場合には、その機器内で割り振られる一連のドライブ番号の順番が決まっているが、電源が投入された状態でこれらＵＳＢハブ及びカードリーダーが接続され、その後電源が再投入された場合には、その機器内でのドライブの順番は変わらないものの、一連のドライブ番号自体は、やはり変わってしまうという問題があった。
これらの問題は、上記各従来技術を用いても解消できなかった。
【０００５】
本発明は、制御装置が、ドライブとドライブ番号とを一意に認識することで、ドライブへのアクセスを容易にすることを目的とする。
【課題を解決するための手段】
【０００６】
請求項１記載の発明は、プログラムと固有のＩＤ情報とを記憶する外部記憶手段を接続するために設けられた複数のスロットと、少なくとも一つのスロットに外部記憶手段が接続されたことを検出する接続検出手段と、前記接続が検出された外部記憶手段に、自動的にドライブ番号を付与するドライブ番号付与手段と、前記接続が検出された外部記憶手段を前記ドライブ番号により指定してアクセスするアクセス制御手段と、を備える制御装置において、前記接続が検出された外部記憶手段の固有のＩＤ情報と前記ドライブ番号付与手段により付与されたドライブ番号とを関連付けて記憶する不揮発性の管理情報記憶手段と、前記接続検出手段により前記スロットへの外部記憶手段の接続が検出された際に、前記接続が検出された外部記憶手段の固有のＩＤ情報が、前記管理情報記憶手段に記憶されているか否かを判別する判別手段とを備え、前記ドライブ番号付与手段は、前記判別手段により、前記接続が検出された外部記憶手段の固有のＩＤ情報が前記管理情報記憶手段に記憶されていると判定された場合には、前記管理情報記憶手段に当該外部記憶手段の固有のＩＤ情報と関連付けて記憶されたドライブ番号を前記外部記憶手段に再付与すると共に、前記接続が検出された外部記憶手段固有のＩＤ情報が、前記管理情報記憶手段に記憶されていないと判別された場合には、未だ他の外部記憶手段のドライブ番号として付与されていない新たなドライブ番号を前記接続が検出された外部記憶手段固有のドライブ番号として付与することを特徴とする。
【０００７】
請求項２記載の発明は、請求項１記載の制御装置において、前記スロットがＵＳＢ規格のスロットであり、
前記ＩＤ情報は、前記外部記憶手段または前記外部記憶手段を前記スロットに接続するための接続インターフェイスのベンダＩＤ、当該外部記憶手段または当該接続インターフェイスのプロダクトＩＤであり、
前記アクセス制御手段は、前記外部記憶手段に対して、ＵＳＢ規格に準じたアクセスを行うことを特徴とする。
【０００８】
請求項３記載の発明は、請求項２記載の制御装置において、前記外部記憶手段または前記接続インターフェイスに設けられたロジカルユニットナンバーを含むことを特徴とする。
【０００９】
請求項４記載の発明は、請求項１から３のいずれか一項に記載の制御装置において、前記接続検出手段は、前記外部記憶手段の接続を当該制御装置の電源投入時、または当該制御装置の電源投入後の前記スロットへの外部機器の接続時に、前記外部記憶手段の接続を検出することを特徴とする。
【００１０】
請求項５記載の発明は、請求項１から４のいずれか一項に記載の制御装置において、前記アクセス制御手段は、前記外部記憶手段へのアクセスをドライブ番号の先頭から順番に行い、アクセス可能であって最もドライブ番号が若い前記外部記憶手段に記憶されたプログラムに対して優先的にアクセスすることを特徴とする。
【００１１】
請求項６記載の発明は、請求項１から５のいずれか一項に記載の制御装置において、起動時に実行されるブートローダーと当該ブートローダーの実行後に実行されるアプリケーションプログラムとを記憶する記憶装置と、
前記ブートローダーと前記アプリケーションプログラムとを実行する処理装置とを備え、
前記ブートローダーと前記アプリケーションプログラムとは、前記処理装置を前記ドライブ番号付与手段と前記アクセス制御手段と前記判別手段として機能させる処理を含むと共に、前記ブートローダーと前記アプリケーションプログラムのいずれも、前記各処理の実行に際して、前記管理情報記憶手段を共有して参照させることを特徴とする。
【００１２】
請求項７記載の発明は、請求項１から６のいずれか一項に記載の制御装置において、前記制御装置はミシンの制御装置であり、
前記外部記憶手段は前記ミシンの制御に必要な情報を前記ミシンの制御装置に対して授受する外部記憶手段であることを特徴とする。
【発明の効果】
【００１３】
請求項１記載の発明によれば、前記制御装置の電源投入中における前記外部機器の接続の順番や、当該制御機器の電源の再投入に関わらず、外部機器ごとに固有のドライブ番号が割り振られる。このため、特定の外部機器にアクセスする際にドライブ番号を指定し直す必要がなくなり、操作性が向上する。
また、前記制御装置と前記外部機器との間で行われるプログラムの転送中に、何らかの理由により電源が切れた場合にも、電源の再投入後も電源が切れる前のドライブ番号が固定されているために、当該制御装置は自動的に所定のプログラムに再度アクセスを開始することができ、利便性が向上する。また、ドライブ選択エラーを防止し、信頼性を向上させる。
【００１４】
請求項２記載の発明によれば、ＵＳＢ規格のスロットを用い、ＵＳＢ規格に準じたアクセスを行うことで、専用の前記スロット及び前記外部機器を開発する必要がなくなり、前記スロット及び前記外部機器を導入するコストを下げることができる。
また、市場にて広範に扱われる各種のＵＳＢ対応外部機器をそのまま利用できることから、前記外部機器の入手性が向上する。
さらに、前記ＩＤ情報として外部機器が備えるベンダＩＤ、プロダクトＩＤを利用することから、専用のＩＤ情報を付加する必要がなくなり、ＩＤ情報を導入するコストを下げることができる。
【００１５】
請求項３記載の発明によれば、前記ＩＤ情報として外部機器が備えるベンダＩＤ、プロダクトＩＤ及びロジカルユニットナンバーを利用することから、前記ＩＤ情報を備えない外部機器を前記接続インターフェイスを介してＵＳＢ規格のスロットに接続した場合においても、前記接続インターフェイスが保有するベンダＩＤ、プロダクトＩＤを利用することから、前記ＩＤ情報を備えない外部機器でも利用することができ、利便性がより一層向上する。
さらに、前記接続インターフェイスが複数の外部機器を接続可能な場合において、前記接続インターフェイスに接続された複数の外部機器に、外部機器ごとに異なるロジカルユニットナンバーを割り振るため、複数の前記ＩＤ情報を備えない外部機器を接続インターフェイスに接続した場合においても、外部機器ごとに固有のＩＤ情報を設けることができ、さらに利便性が向上する。
【００１６】
請求項４記載の発明によれば、前記制御装置への電源投入時、または電源投入後の前記スロットへの前記外部機器の接続時に前記外部機器の接続を検出することで、過去に固有のドライブ番号が割り振られた外部機器と、新たにドライブ番号が割り振られる新しい外部機器とが混在した状態で電源を投入した場合において、ドライブ番号が入れ替わることがないと共に、新しいドライブに対して固有のドライブ番号が割り振られることで、ドライブへのアクセスにおける利便性が向上する。
また、制御装置が複数のスロットを備える場合において、特定の外部機器を接続するスロットを別のスロットに変更した場合においても、ドライブ番号が入れ替わることがないことから、ドライブへのアクセスにおける利便性が向上する。
【００１７】
請求項５記載の発明によれば、ドライブ番号の先頭から順に、アクセス可能な外部記憶装置が記憶するプログラムに対して優先的にアクセスを行うので、複数の外部記憶装置が接続された場合において、優先的にアクセスされる外部記憶装置を容易に特定することができ、利便性が向上する。
【００１８】
請求項６記載の発明によれば、前記ブートローター及びアプリケーションプログラムのいずれが実行される場合でも、前記管理情報記憶手段内のドライブ管理情報が参照されることによって、ブートローダーあるいはアプリケーションプログラムのいずれか一方の実行時に利用されたことのある外部記憶装置に付与されたドライブ番号を記憶した前記ドライブ管理情報を、他方でも利用することができるので、利便性が向上する。
【００１９】
請求項７記載の発明によれば、ミシンの制御装置において、外部記憶装置を用いることから、ミシンで利用される各種プログラムの書き換えにおける利便性が向上する。
また、ミシンによる作業では一般的でない、前記外部機器に割り当てられた前記ドライブ番号の選択といった煩雑な作業を簡略化することができ、ミシンによる作業の効率化を図ることができる。
【発明を実施するための最良の形態】
【００２０】
（制御装置を搭載したミシン）
以下、図を参照して本発明の実施の形態を詳細に説明する。
図１は本発明の実施形態たる制御装置１０を搭載したミシン１００を示すブロック図である。制御装置１０は、制御装置１０が備えるインターフェイスであり、外部機器を接続する「スロット」としてのＵＳＢ端子１１を介して、複数のＵＳＢ端子１６ａ、１６ｂを備えることで複数の外部機器を制御装置１０に接続可能とするＵＳＢハブ１６と接続されている。
また、ＵＳＢハブ１６が備える複数のＵＳＢ端子１６ａ、１６ｂにはそれぞれ、各種のプログラム及びデータを書き換え可能に記憶するＵＳＢメモリ２０と、各種のプログラム及びデータを書き換え可能に記憶する各種メモリカードとしてのコンパクトフラッシュ（登録商標、以後ＣＦと記載）４１、スマートメディア（登録商標、以後ＳＭと記載）４２及びＳＤメモリカード（登録商標、以後ＳＤと記載）４３をそれぞれ挿入可能なＣＦスロット３１、ＳＭスロット３２、ＳＤスロット３３を備えるカードリーダー３０と、が接続されている。
【００２１】
また、制御装置１０は、ミシン１００に備えられた図示しない主軸を回転させる動力となるミシンモータ１と、主軸の回転数を検出するエンコーダ２と、図示しない縫製物を保持し、ミシン１００の設置面にほぼ水平な方向に縫製物を移動させる布移動装置３と、と接続されている。
布移動装置３は、上述の縫製物の移動のため、ミシン１００の設置面にほぼ水平な特定の一方向（Ｘ軸方向とする）に動作させるＸ軸モータ３ａと、Ｘ軸方向に直交し、ミシン１００の設置面にほぼ水平な方向であるＹ軸方向に動作させるＹ軸モータ３ｂと、Ｘ軸方向及びＹ軸方向の各モータ３ａ、３ｂについて定められた所定の原点を検出する原点センサ３ｃ、３ｄと、を備える。
【００２２】
また、制御装置１０は、ミシン１００及び制御装置１０の各種情報を表示すると共に、オペレータによって各種の入力作業が行われるインターフェイスとなる入力表示装置５と接続されている。
【００２３】
（ＵＳＢメモリ）
ＵＳＢメモリ２０は、ミシン１００の各種動作及び縫製作業を制御するプログラムであるアプリケーションプログラム及び縫製データなどを書き換え可能に記憶する記憶部２１と、ＵＳＢメモリ２０に書き換え不可能に記憶され、ＵＳＢメモリ２０の「固有のＩＤ情報」として機能するベンダＩＤ２２及びプロダクトＩＤ２３を記憶する記憶部と、を備えることで「外部記憶手段」として機能する。
【００２４】
（カードリーダー及び各種メモリカード）
各種メモリカードとしてのＣＦ４１、ＳＭ４２及びＳＤ４３はそれぞれ、アプリケーションプログラム及び縫製データなどを記憶する記憶部を備える。
また、ＣＦ４１、ＳＭ４２及びＳＤ４３はそれぞれ異なる規格に基づいた、専用のスロットであるＣＦスロット３１、ＳＭスロット３２、ＳＤスロット３３によってカードリーダー３０に挿入されることで、カードリーダー３０及びＵＳＢハブ１６を介して制御装置１０のＵＳＢ端子１１に接続される。
なお、ＣＦ４１、ＳＭ４２及びＳＤ４３は固有のＩＤ情報を備えない。
【００２５】
カードリーダー３０は、カードリーダーに挿入された各種メモリカードの「固有のＩＤ情報」として機能する書き換え不能なベンダＩＤ３４と、プロダクトＩＤ３５と、を備える。また、各種メモリカードを挿入するＣＦスロット３１、ＳＭスロット３２、ＳＤスロット３３にはそれぞれ「固有のＩＤ情報」として機能する書き換え不能なロジカルユニットナンバー（以後ＬＵＮと記載）３１ａ、３１ｂ、３１ｃを備える。
【００２６】
（各種ＩＤ情報）
ここで、各種ＩＤ情報について説明する。
ベンダＩＤは、当該ベンダＩＤを備えるＵＳＢ規格の外部機器を製造した企業、団体、あるいは個人等の事業者によって個別に付与されるＩＤ情報である。つまり、異なる事業者によって製造された当該外部機器はそれぞれ異なるベンダＩＤを備え、同一の事業者によって製造された複数の当該外部機器は同一のベンダＩＤを備える。なお、ベンダＩＤは１６ビットのＩＤ番号である。
プロダクトＩＤは、上記同一の事業者によって製造された複数の当該外部機器について、それぞれの当該外部機器に個別に付与されるＩＤ情報である。つまり、同一の事業者によって製造された複数の当該外部機器は、ベンダＩＤは同一であるが、プロダクトＩＤは異なる。なお、プロダクトＩＤは１６ビットのＩＤ番号である。
【００２７】
つまり、ＵＳＢメモリ２０とカードリーダー３０とを製造した事業者が同一の場合はベンダＩＤ２２とベンダＩＤ３４は同一であるが、プロダクトＩＤ２３とプロダクトＩＤ３５は異なる。また、事業者が異なる場合はベンダＩＤ２２とベンダＩＤ３４は異なる。
なお、ベンダＩＤ２２とベンダＩＤ３４が異なる場合、プロダクトＩＤは同一である場合と異なる場合とがある。いずれの場合もベンダＩＤ２２とベンダＩＤ３４が異なることによって、ＵＳＢメモリ２０とカードリーダー３０とが備える個別のＩＤ情報は異なるＩＤ情報となる。
【００２８】
ＬＵＮは、通常は一つの外部機器を接続する一つのインターフェイス（例えばＵＳＢ端子）に対し、当該一つのインターフェイスとは異なる規格のインターフェイス（例えばＣＦスロット３１、ＳＭスロット３２及びＳＤスロット３３）を介して複数の外部機器を接続することが可能な接続インターフェイス（例えばカードリーダー３０）を介して複数の外部機器を接続する場合において、制御装置が複数の外部機器をそれぞれ識別するために付与される固有の数値である。ＬＵＮは、一つの接続インターフェイスが備える複数のスロット（例えばＣＦスロット３１、ＳＭスロット３２及びＳＤスロット３３）について、それぞれ異なる数値が付与される。ＬＵＮの数値は一般的に１から開始する順列の整数値であり、本実施例においてはＣＦスロットに1、ＳＭスロットに2、ＳＤスロットに3の値がそれぞれのＬＵＮとして付与されている。
つまり、カードリーダー３０に挿入され、カードリーダー３０を介してＵＳＢ端子１６ｂに接続された各種メモリカードとしてのＣＦ４１、ＳＭ４２及びＳＤ４３は、カードリーダー３０が備えるベンダＩＤ３４及びプロダクトＩＤ３５と、ＣＦ４１、ＳＭ４２及びＳＤ４３がそれぞれ挿入されるカードリーダー３０のＣＦスロット３１、ＳＭスロット３２、ＳＤスロット３３が個別に備えるＬＵＮ３１ａ、３１ｂ、３１ｃとによって、それぞれが共通のベンダＩＤ３４及びプロダクトＩＤ３５を備えると共に、異なるＬＵＮを備えることで固有のＩＤ情報を備える「外部記憶手段」として機能する。
【００２９】
なお、本実施例ではカードリーダー３０が備える各種メモリカードを挿入するスロットはそれぞれ異なる種類のメモリカードであるが、同一の種類のメモリカードを複数挿入できる場合であっても、スロットごとに異なるＬＵＮが付与される。
また、ＵＳＢメモリ２０のように一つのＵＳＢ端子に対して一つの外部機器を接続する外部機器はＬＵＮを備えない。
【００３０】
（ＵＳＢハブ）
ＵＳＢハブ１６は、複数のＵＳＢ端子１６ａ、１６ｂを備え、複数のＵＳＢ規格の外部機器（例えばＵＳＢメモリ２０やカードリーダー３０等）を接続することが可能である。
また、ＵＳＢハブ１６は、一つのＵＳＢ端子１１に接続されることで、一つのＵＳＢ端子１１にＵＳＢハブ１６を介して複数のＵＳＢ規格の外部機器を接続することが可能である。
【００３１】
なお、本実施例における制御装置１０及びＵＳＢハブ１６が備えるＵＳＢ端子の数は、実施例に示した数に限定されないことは言うまでもない。例えば制御装置１０が複数のＵＳＢ端子を備えていてもよく、ＵＳＢハブが三つ以上のＵＳＢ端子を備えていてもよい。
また、複数備えられたＵＳＢ端子のうち、外部機器が接続されていないＵＳＢ端子があってもよい。
さらに、ＵＳＢハブ１６に備えられたＵＳＢ端子１６ａ、１６ｂに、複数のＵＳＢ端子を備えた別のＵＳＢハブを接続することで、さらにＵＳＢ端子を増設することも可能である。
また、実施例ではＵＳＢメモリ２０及びカードリーダー３０はＵＳＢハブ１６を介してＵＳＢ端子１１に接続されているが、ＵＳＢメモリあるいはカードリーダー３０を直接ＵＳＢ端子１１に接続してもよい。
上述の場合において、増設可能なＵＳＢ端子の数及び接続可能なＵＳＢハブの数については、ＵＳＢ規格に定められた所定の制限に従う。
【００３２】
（制御装置）
制御装置１０は、上述のＵＳＢ規格の外部機器を接続するＵＳＢ端子１１と、ＵＳＢ端子１１に接続された外部機器を検出すると共に、当該外部機器が備える固有のＩＤ情報を取得するＵＳＢコントローラ１２と、制御装置１０が行う各種の処理を行う処理装置５０と、ミシンの縫製作業においてミシンモータ１の駆動を制御するミシンモータ駆動回路１７と、ミシンの縫製作業において布移動装置３の駆動を制御する布移動装置駆動回路１８と、を備える。
処理装置５０は、制御装置が行う各種の処理を行うための各種プログラム及びデータを呼び出して実行し、処理するＣＰＵ１３と、ＣＰＵ１３が行う各種の処理において一時的なパラメータを格納するＲＡＭ１４と、ＣＰＵ１３によって呼び出される各種プログラム及びデータを書き換え可能に記憶するＥＰＲＯＭ１５と、によって構成されている。
【００３３】
（ＵＳＢコントローラ）
図２は制御装置１０とその制御に関連する構成を含む機能ブロック図である。
ＵＳＢコントローラ１２は、ＵＳＢ端子１１に外部記憶手段６０が接続されると、当該外部機器が接続されたことを検出する。上述の検出は、ミシン１００の電源投入時に既に接続されている外部機器について、当該外部機器が接続されていることを検出すると共に、電源投入後に接続された外部機器の接続時に接続を検出する「接続検出手段」として機能する。なお、図２では他の外部機器の図示は省略する。
また、ＵＳＢコントローラ１２は、ＩＤ情報検出部１２ａを備える。ＩＤ情報検出部１２ａは、ＵＳＢコントローラ１２が接続を検出した外部記憶手段６０が備える固有のＩＤ情報６２としてのベンダＩＤ、プロダクトＩＤ及びＬＵＮを取得する。
取得した当該固有のＩＤ情報は、ＣＰＵ１３へ出力される。
【００３４】
なお、上述の外部記憶手段６０は、例えばＵＳＢメモリ２０や、ＣＦ４１、ＳＭ４２、ＳＤ４３といった各種メモリカードのいずれか一つあるいは複数を挿入したカードリーダー３０が相当し、外部記憶手段６０が備える記憶部６１は、ＵＳＢメモリ２０が備える記憶部２１や、各種メモリカードが備える記憶部が相当する。
また、外部記憶手段６０としてＵＳＢメモリ２０が接続された場合は、ＩＤ情報検出部１２ａは、ＵＳＢメモリ２０が備えるベンダＩＤ２２及びプロダクトＩＤ２３を固有のＩＤ情報６２として取得し、各種メモリカードを挿入したカードリーダー３０が接続された場合は、カードリーダー３０が備えるベンダＩＤ３４、プロダクトＩＤ３５及び各種メモリカードが挿入されたスロットが備えるＬＵＮ３１ａ、３２ａ、３３ａを各種メモリカードごとに取得することで固有のＩＤ情報６２とする。このとき、ＵＳＢメモリ２０にはＬＵＮが存在しないが、その場合はＬＵＮの値として0を取得したものとみなし、出力する。
【００３５】
（処理装置）
処理装置５０は、ＵＳＢコントローラ１２によって接続が検出された外部記憶手段６０に、自動的にドライブ番号を付与するドライブ番号付与手段５１と、外部記憶手段６０の固有のＩＤ情報６２とドライブ番号付与手段５１により付与された当該ドライブ番号とを関連付けて記憶する管理情報記憶処理部５３と、外部記憶手段６０の接続が検出された際に、外部記憶手段６０の固有のＩＤ情報６２が、管理情報記憶処理部５３に記憶されているか否かを判別する判別手段５４と、外部記憶手段６０が備える記憶部６１に対して、外部記憶手段６０に付与された当該ドライブ番号により外部記憶手段６０を指定してアクセスするアクセス制御手段５２と、ミシン１００の起動時に実行されるブートローダー５５と、ブートローダー５５の実行後に実行されるアプリケーションプログラム５６と、を備える。
処理装置５０は、実際にはＣＰＵ１３がＥＰＲＯＭ１５に記憶された各種のプログラム及びデータを呼び出し、ＵＳＢコントローラ１２、ミシンモータ駆動回路１７、布移動装置駆動回路１８及び入力表示装置５等による入力に基づき、各種の処理を行う。上述の処理において発生する一時的なパラメータはＲＡＭ１４に格納され、必要に応じて呼び出される。
【００３６】
（ドライブ番号付与手段）
ドライブ番号付与手段５１は、ＵＳＢコントローラ１２によって接続が検出された外部記憶手段６０に対して、自動的にドライブ番号を付与する。ここで、「ドライブ番号を付与する」とは外部記憶手段６０をそのドライブ番号と認識する、という意味である。ドライブ番号付与手段５１によって外部記憶手段６０に付与されるドライブ番号は、0から始まる順次増加の整数値である。つまり最初に接続された外部記憶手段には0番のドライブ番号が付与され、次に接続された別の外部記憶手段には1番のドライブ番号が付与される。なお、このドライブ番号は、例えば、主電源のオンオフによるアプリケーションの初期化処理等が行われても次に付番すべき番号は維持され、既に付番されたドライブ番号が再付番されることがないようになっている。
なお、ドライブ番号付与手段は、ＣＰＵ１３によってＥＰＲＯＭ１５のドライブ番号付与プログラム記憶部１５ａに記憶されたドライブ番号付与プログラムが実行されることで機能する。
また、ドライブ番号付与手段によって付与されるドライブ番号が決定する詳細な仕組みについては後述する。
【００３７】
（管理情報記憶処理部）
管理情報記憶処理部５３は、過去に接続されたことのある外部記憶手段６０について、ＵＳＢコントローラ１２のＩＤ情報検出部１２ａにより検出された外部記憶手段６０の固有のＩＤ情報６２と、ドライブ番号付与手段５１により付与されたドライブ番号とを関連付け、当該ドライブ番号を付与された外部記憶手段の管理情報として記憶する。実際にはＣＰＵ１３が、ＩＤ情報検出部１２ａからＣＰＵ１３に入力された外部記憶手段６０の固有のＩＤ情報６２としてのベンダＩＤ、プロダクトＩＤ及びＬＵＮと、ドライブ番号付与手段５１によって当該外部記憶手段に付与されたドライブ番号とをグループ化し、当該ドライブ番号の管理情報として、「管理情報記憶手段」としてのＥＰＲＯＭ１５の管理情報記憶部１５ｃに記憶することで機能する。
図３は、管理情報記憶処理部５３に記憶された管理情報のデータ構造図である。ドライブ番号0番の管理情報は、0番のドライブ番号と0番を過去に付与された外部記憶手段６０の固有のＩＤ情報６２とによって構成され、新たな別の外部記憶手段が接続されるたびにドライブ番号が順次増加した管理情報が、当該ドライブ番号を付与された外部記憶手段のＩＤ情報とグループ化して記憶される。なお、図３にはドライブ番号が1番の管理情報までしか記載されていないが、2番以降のドライブ番号の管理情報についても同様であることは言うまでもない。
【００３８】
（判別手段）
判別手段５４は、ＵＳＢコントローラ１２によって接続が検出された外部記憶手段６０について、外部記憶手段６０が備える固有のＩＤ情報６２が、管理情報記憶処理部５３に記憶されているドライブ番号別の管理情報のいずれかに記憶された、当該ドライブ番号が付与された外部記憶手段のＩＤ情報と一致するかどうかを判別する。
実際には、ＵＳＢコントローラ１２のＩＤ情報検出部１２ａが、接続された外部記憶手段６０のＩＤ情報６２としてのベンダＩＤ、プロダクトＩＤ及びＬＵＮを検出し、ＣＰＵ１３に出力すると、ＣＰＵ１３は当該ＩＤ情報６２をＲＡＭ１４に一時的に格納すると共に、ＥＰＲＯＭ１５の判別プログラム記憶部１５ｄに記憶された判別プログラムを実行する。この判別プログラムを実行することでＣＰＵ１３が判別手段５４として機能する。
【００３９】
判別プログラムが実行されると、管理情報をドライブ番号順に呼び出すためのカウンタであるドライブ情報カウンタMが初期値0でＲＡＭ１４に格納される。
判別プログラムは、ドライブ番号がM番の管理情報が管理情報記憶処理部５３に記憶されているかどうか判別する。ドライブ番号がM番の管理情報がない場合はドライブ番号付与手段を呼び出してM番のドライブ番号を当該外部記憶手段６０に付与すると共に、Ｍ番のドライブ番号と当該ＩＤ情報６２としてのベンダＩＤ、プロダクトＩＤ及びＬＵＮとをグループ化してM番のドライブ番号の管理情報として管理情報記憶処理部５３に記憶する。
ドライブ番号がM番の管理情報がある場合は、Ｍ番の管理情報に記憶されたＩＤ情報としてのベンダＩＤ、プロダクトＩＤ及びＬＵＮと当該ＩＤ情報のベンダＩＤ、プロダクトＩＤ及びＬＵＮとを比較する。ベンダＩＤ、プロダクトＩＤ及びＬＵＮの全てが一致した場合、当該外部記憶手段６０は過去にＭ番のドライブ番号を付与された外部記憶手段であると判別され、ドライブ番号付与手段５１を呼び出して当該外部記憶手段６０にＭ番のドライブ番号を付与する。ベンダＩＤ、プロダクトＩＤ及びＬＵＮのいずれか一つでも一致しなかった場合、当該外部記憶手段６０はＭ番のドライブ番号が付与された外部記憶手段ではないと判別される。その後、判別プログラムはドライブ情報カウンタＭの値に１を加算し、再びドライブ番号Ｍの管理情報が管理情報記憶処理部５３に記憶されているかどうか判別する処理に戻る。当該処理は、当該外部記憶手段６０にドライブ番号が付与されるまで行われる。
【００４０】
（アクセス制御手段）
アクセス制御手段５２は、ドライブ番号付与手段５１によってドライブ番号が付与された外部記憶手段６０に対して、当該ドライブ番号によって外部記憶手段６０を指定し、外部記憶手段６０が備える記憶部６１に記憶されたアプリケーションプログラムにアクセスする。
また、アプリケーションプログラムを記憶する外部記憶手段が複数接続されている場合は、接続されている外部記憶手段の中で最も若いドライブ番号を付与されている外部記憶手段を指定する。
【００４１】
なお、アクセス制御手段５２は、ＣＰＵ１３によってＥＰＲＯＭ１５のアクセス情報記憶部１５ｂに記憶されたアクセス制御プログラムが実行されることで機能する。
アクセス制御プログラムが実行されると、アクセスする外部記憶手段を指定する処理を行うためのカウンタである検索ドライブ番号カウンタＮがＲＡＭ１４に初期値0で設定される。その後、アクセス制御プログラムはＮ番のドライブ番号の管理情報が管理情報記憶処理部５３に記憶されているかどうか判別する。記憶されていない場合は所定のエラーコードを入力表示装置に表示し、処理を終了する。
Ｎ番のドライブ番号の管理情報が記憶されている場合、アクセス制御プログラムはＮ番のドライブ番号を付与された外部記憶手段（以後Ｎドライブと記載）が接続されているかどうか判別する。Ｎドライブが接続されている場合、アクセス制御プログラムはＮドライブを指定し、Ｎドライブの記憶部に記憶されたアプリケーションプログラムにアクセスする。Ｎドライブが接続されていない場合、アクセス制御プログラムは検索ドライブ番号カウンタＮの値に1を加算し、Ｎ番のドライブ番号の管理情報が管理情報記憶処理部５３に記憶されているかどうか判別する処理に戻る。
上述の処理は、Ｎドライブを指定し、Ｎドライブの記憶部に記憶されたアプリケーションプログラムにアクセスするか、所定のエラーコードを入力表示装置に表示し、処理を終了するかのいずれかが行われるまで続く。
【００４２】
（ブートローダー）
ブートローダー５５は、ミシン１００の電源投入時に実行され、制御装置１０の各部に備えられた一時記憶のための領域を初期化する。
当該初期化は、ＣＰＵ１３やＲＡＭ１４が備えるレジスタ及びキャッシュメモリに残留する可能性のあるパラメータをクリアすることである。仮に初期化が行われなかった場合、前回の電源断前に行われた処理によってレジスタ及びキャッシュメモリに生じた電位がパラメータとしてレジスタ及びキャッシュメモリに残留することがあり、当該残留したパラメータが電源再投入後に行われる処理の際に誤ったパラメータとして参照されることで悪影響を及ぼす可能性が発生する。初期化を行うことで上述の不正な処理が起こる可能性をなくし、以後の処理を正しく行うことができる。
【００４３】
また、ブートローダー５５は、アプリケーションプログラム５６が機能するかどうか判別する。具体的には、ＣＰＵ１３がＥＰＲＯＭ１５のアプリケーションプログラム記憶部１５ｆにアプリケーションプログラムが存在するかどうか判別する。
上述の判別でアプリケーションプログラムがアプケーションプログラム記憶部１５ｆに存在した場合、ブートローダー５５は終了する。アプリケーションプログラムが一つも存在しなかった場合、ブートローダーは新たなアプリケーションプログラムを外部記憶手段から取得するための一連の処理を行う。具体的には、ブートローダー５５は少なくとも一つ以上の外部記憶手段が接続されているかどうかを、ＵＳＢコントローラ１２のＩＤ情報検出部１２ａが検出した当該外部記憶手段のＩＤ情報がＣＰＵ１３に入力されるかどうかで判別する。外部記憶手段が一つも接続されていない場合は、図４に示すようにオペレータに対して外部記憶手段を接続するよう促す画面表示内容を入力表示装置５へ出力する。外部記憶手段の接続が検出され、当該外部記憶手段のＩＤ情報がＣＰＵ１３に入力されると、ブートローダー５５は当該ＩＤ情報と管理情報記憶手段に記憶された管理情報とに基づき、当該外部記憶手段にドライブ番号を付与する。当該外部記憶手段にドライブ番号が付与されると、ブートローダー５５は当該外部記憶手段の記憶部に記憶された新たなアプリケーションプログラムを指定し、取得する。取得した新たなアプリケーションプログラムはＥＰＲＯＭ１５のアプリケーションプログラム記憶部１５ｆに記憶される。
なお、上述のブートローダー５５による外部記憶手段へのドライブ番号付与は、ブートローダー５５が判別手段５４を呼び出し、判別手段５４の処理結果に基づきドライブ番号付与手段５１がドライブ番号を付与することで実現している。また、上述のブートローダー５５による新たなアプリケーションプログラムの指定は、ブートローダー５５がアクセス制御手段５２を呼び出し、処理させることで実現している。
【００４４】
つまり、ブートローダー５５は、アプリケーションプログラムがアプリケーションプログラム記憶部１５ｆに存在しなかった場合、アプリケーションプログラムを記憶した外部記憶手段からアプリケーションプログラムを取得するため、当該外部記憶手段にドライブ番号を付与する。その際に、上述の処理装置に備えられた判別手段５４により、当該外部記憶装置のＩＤ情報と管理情報記憶処理部５３に記憶された管理情報のＩＤ情報とを比較し、その処理結果に基づきドライブ番号付与手段５１によって当該外部記憶手段にドライブ番号を付与し、アクセス制御手段５２によって当該外部記憶手段に付与されたドライブ番号を指定して、アプリケーションプログラムを取得する。
なお、ブートローダー５５は、ＣＰＵ１３によってＥＰＲＯＭ１５のブートローダー記憶部１５ｅに記憶されたブートローダーが呼び出され、実行されることで機能する。
【００４５】
（アプリケーションプログラム）
アプリケーションプログラム５６は、ミシン１００による縫製作業に関わる各部の初期動作（例えば、針位置や布移動装置の位置を所定の初期位置にする等）を行うと共に、ミシン１００による縫製作業を制御する。
【００４６】
アプリケーションプログラム５６は、ＣＰＵ１３によってＥＰＲＯＭ１５のアプリケーションプログラム記憶部１５ｆに記憶されたアプリケーションプログラムが呼び出され、実行されることによって機能し、オペレータによるペダル４の操作がペダルセンサ４ａにより検出されると、ミシンモータ駆動回路１７を介してミシンモータ１を駆動させるための電力を供給し、ミシンモータ１を駆動させることでミシンの図示しない主軸を回転させ、周知の縫製作業を行う。エンコーダ２は主軸の回転速度を検出し、アプリケーションプログラム５６にフィードバックすることで、ミシンモータ駆動回路１７を介してミシンモータ１の回転速度を調整する。
また、入力表示装置５を介してオペレータから入力された縫製動作命令及びアプリケーションプログラム記憶部に設けられた縫製動作制御部から呼び出された縫製動作制御プログラムに従い、図示しない針及び布移動装置３を駆動させると共に、必要に応じてアプリケーションプログラム記憶部に設けられた縫製データ記憶部から縫製データを呼び出す。
さらに、入力表示装置５を介してオペレータから入力された縫製データ生成命令の際にアプリケーションプログラム記憶部に設けられた縫製データ生成部から縫製データ生成プログラムを呼び出し、オペレータによって生成された各種の縫製データを縫製データ記憶部に記憶する。
つまり、本実施例のミシン１００は電子サイクルミシンに相当する。
【００４７】
また、アプリケーションプログラム５６は、アプリケーションプログラム５６の動作中に接続された外部記憶手段に対してドライブ番号を付与する。この際、ＵＳＢコントローラ１２によって外部記憶手段の接続が検出され、ＩＤ情報検出部１２ａによって検出された当該外部記憶手段のＩＤ情報がＣＰＵ１３に入力されると、アプリケーションプログラム５６は当該ＩＤ情報と管理情報記憶手段に記憶された管理情報とに基づき、当該外部記憶手段にドライブ番号を付与する。
また、オペレータによるアプリケーションプログラムの書き換え命令が入力表示装置５を介して入力された場合、当該外部記憶手段に記憶された新たなアプリケーションプログラムを取得する。この際、アプリケーションプログラム５６は当該外部記憶手段の記憶部に記憶された新たなアプリケーションプログラムを指定する。その後、制御装置１０は再起動し、ブートローダー５５による初期化が行われた後に当該外部記憶手段に再度ドライブ番号が付与され、再起動前に行われたアクセス制御手段５２による指定に基づき、新たなアプリケーションプログラムを取得し、アプリケーションプログラム記憶部１５ｆに記憶する。
なお、上述のブートローダー５５による外部記憶手段へのドライブ番号付与は、アプリケーションプログラム５６が判別手段５４を呼び出し、判別手段５４の処理結果に基づきドライブ番号付与手段５１がドライブ番号を付与することで実現している。また、上述のアプリケーションプログラム５６による新たなアプリケーションプログラムの指定は、ブートローダー５５がアクセス制御手段５２を呼び出し、処理させることで実現している。
【００４８】
つまり、アプリケーションプログラム５６は、アプリケーションプログラム５６の動作中に接続された外部記憶手段について、当該外部記憶手段にドライブ番号を付与する。その際に、上述の処理装置に備えられた判別手段５４により、当該外部記憶装置のＩＤ情報と管理情報記憶処理部５３に記憶された管理情報のＩＤ情報とを比較し、その処理結果に基づきドライブ番号付与手段５１によって当該外部記憶手段にドライブ番号を付与する。
また、オペレータによるアプリケーションプログラムの書き換え命令がなされた場合、アクセス制御手段５２によって当該外部記憶手段に付与されたドライブ番号を指定する。
【００４９】
（フローの説明）
次に、制御装置１０に外部記憶手段が接続された際にＣＰＵ１３により実行されるドライブ番号が付与される処理及びアプリケーション書き換え処理について、図５のフローに基づいて説明する。
ミシン１００の電源が投入されると、制御装置１０はブートローダー５５が初期化を行う（ステップＳ１）。その後、ブートローダー５５はアプリケーションプログラム５６がアプケーションプログラム記憶部１５ｆに存在するかどうか判別する（ステップＳ２）。
【００５０】
アプリケーションプログラム５６が存在しない場合は、外部記憶手段６０としてのＵＳＢ機器が接続されているか判別する（ステップＳ３）。接続されていない場合は図４のように外部記憶手段６０としてのＵＳＢ機器を接続するよう促す画面を入力表示装置５へ表示する（ステップＳ４）。外部記憶手段６０としてのＵＳＢ機器が接続されている、あるいは接続された場合、ブートローダー５５は外部記憶手段６０の固有のＩＤ情報６２と、管理情報記憶処理部５３が記憶する管理情報とに基づき当該ＵＳＢ機器にドライブ番号を付与する処理であるＵＳＢ機器認識処理（ステップＳ５）を行う。なお、ＵＳＢ機器認識処理のサブフローについては後述する。その後、ブートローダー５５は当該ＵＳＢ機器に記憶された新しいアプリケーションプログラムを指定する処理である書き換えファイル指定処理（ステップＳ６）を行う。なお、書き換えファイル指定処理のサブフローについては後述する。その後、ブートローダー５５はステップＳ６において指定されたＵＳＢ機器に記憶された新しいアプリケーションプログラムを取得し、ＥＰＲＯＭ１５のアプリケーションプログラム記憶部１５ｆに記憶するアプリケーションプログラム書き換え処理（ステップＳ１５）を行い、処理は終了する。
【００５１】
また、ステップＳ２においてアプリケーションプログラム５６が存在した場合は、アプリケーションプログラム５６が起動する（ステップＳ７）。その後、外部記憶手段６０としてのＵＳＢ機器が接続された場合（ステップＳ８）、アプリケーションプログラム５６はステップＳ５と同様のＵＳＢ機器認識処理（ステップＳ９）を行う。その後、オペレータよりアプリケーションプログラム書き換えの命令がなされた場合（ステップＳ１０）、アプリケーションプログラム５６はステップＳ６と同様の書き換えファイル指定処理（ステップＳ１１）を行う。その後、制御装置１０は再起動し（ステップＳ１２）、ブートローダー５５が初期化を行い（ステップＳ１３）、ブートローダー５５はステップＳ５及びステップＳ９と同様のＵＳＢ機器認識処理（ステップＳ１４）を行い、上述のアプリケーションプログラムの書き換え処理（ステップＳ１５）を行い、処理は終了する。
【００５２】
（ＵＳＢ機器認識処理）
次に、上述のステップＳ５，Ｓ９，Ｓ１４におけるＵＳＢ機器認識処理のサブフローについて、図６のフローに基づいて説明する。
外部記憶手段６０としてのＵＳＢ機器が接続されると、ＩＤ情報検出部１２ａが当該ＵＳＢ機器のＩＤ情報を取得する（ステップＳ２１）。その後、判別手段５４がドライブ情報カウンタＭを初期値0で設定し（ステップＳ２２）、ドライブ番号がＭ番の管理情報が管理情報記憶処理部５３に記憶されているかどうか判別する（ステップＳ２３）。ドライブ番号がＭ番の管理情報がない場合、判別手段５４はドライブ番号付与手段５１を呼び出して当該ＵＳＢ機器にＭ番のドライブ番号を付与すると共に、Ｍ番のドライブ番号と当該ＵＳＢ機器のＩＤ情報とによってＭ番のドライブ番号の管理情報を管理情報記憶処理部５３に記憶し（ステップＳ２４）、処理を終了する。
ドライブ番号がＭ番の管理情報がある場合、判別手段５４は当該ＵＳＢ機器のＩＤ情報とドライブ番号がＭ番の管理情報のＩＤ情報とが一致するかどうかを判別し（ステップＳ２５）、一致した場合はＭ番のドライブ番号を当該ＵＳＢ機器に再付与し（ステップＳ２６）、処理を終了する。一致しない場合はＭに１を加算し（ステップＳ２７）、ステップＳ２３へ戻る。
【００５３】
（書き換えファイル指定処理）
次に、上述のステップＳ６，Ｓ１１における書き換えファイル指定処理のサブフローについて、図７のフローに基づいて説明する。
アクセス制御手段５２が、検索ドライブ番号カウンタＮを初期値0で設定し（ステップＳ３１）、Ｎ番のドライブ番号の管理情報が管理情報記憶処理部５３にあるかどうか判別する（ステップＳ３２）。Ｎ番のドライブ番号の管理情報がない場合、アクセス制御手段５２は所定のエラー表示を行い（ステップＳ３３）、処理を終了する。
Ｎ番のドライブ番号の管理情報がある場合、アクセス制御手段５２はＮドライブが接続されているかどうか判別する（ステップＳ３４）。Ｎドライブが接続されている場合、アクセス制御手段５２はＮドライブを指定し（ステップＳ３５）、処理を終了する。Ｎドライブが接続されていない場合、アクセス制御手段はＮに1を加算し（ステップＳ３６）、ステップＳ３２へ戻る。
【００５４】
（作用効果）
本実施例によれば、ミシン１００の電源投入中におけるＵＳＢメモリ２０及びカードリーダー３０を介した各種メモリカードといった外部機器の接続の順番や、ミシン１００の電源の再投入に関わらず、外部機器ごとに固有のドライブ番号が割り振られる。このため、特定の外部機器にアクセスする際にドライブ番号を指定し直す必要がなくなり、操作性が向上する。
また、制御装置１０と外部機器との間で行われるアプリケーションプログラムの転送中に、何らかの理由により電源が切れた場合にも、電源の再投入後も電源が切れる前のドライブ番号が固定されているために、制御装置１０は自動的にアクセス制御手段５２が指定した外部機器が記憶するアプリケーションプログラムに再度アクセスを開始することができ、利便性が向上する。また、ドライブ選択エラーを防止し、信頼性を向上させる。
【００５５】
また、本実施例ではＵＳＢ端子を用い、ＵＳＢ規格に準じたアクセスを行うことで、専用のスロット及び外部機器を開発する必要がなくなり、スロット及び外部機器を導入するコストを下げることができる。
また、市場にて広範に扱われる各種のＵＳＢ対応外部機器をそのまま利用できることから、外部機器の入手性が向上する。
さらに、ＩＤ情報として外部機器が備えるベンダＩＤ、プロダクトＩＤを利用することから、専用のＩＤ情報を付加する必要がなくなり、ＩＤ情報を導入するコストを下げることができる。
【００５６】
さらに、ＩＤ情報としてＬＵＮも利用することから、各種メモリカードのようにＩＤ情報を備えない外部機器をカードリーダー３０を介してＵＳＢ端子に接続した場合においても、カードリーダー３０が備えるベンダＩＤ、プロダクトＩＤを利用することから、各種メモリカードも利用することができ、利便性がより一層向上する。
さらに、カードリーダー３０が複数の各種メモリカードを接続する場合において、カードリーダー３０の各種メモリカードを挿入するスロットごとに異なるＬＵＮを割り振るため、複数の各種メモリカードをカードリーダー３０に挿入した場合においても、各種メモリカードごとに固有のＩＤ情報を設けることができ、さらに利便性が向上する。
【００５７】
さらに、ミシン１００への電源投入時、または電源投入後のＵＳＢ端子への外部機器の接続時に外部機器の接続を検出することで、管理情報記憶処理部５３にＩＤ情報が記憶された外部機器と、管理情報記憶処理部５３にＩＤ情報が記憶されていない新しい外部機器とが混在した状態で電源を投入した場合において、ドライブ番号が入れ替わることがないと共に、新しいドライブに対して固有のドライブ番号が割り振られることで、外部機器へのアクセスにおける利便性が向上する。
また、制御装置１０が複数のＵＳＢ端子を備える場合において、特定の外部機器を接続するスロットを別のスロットに変更した場合においても、ドライブ番号が入れ替わることがないことから、外部機器へのアクセスにおける利便性が向上する。
【００５８】
さらに、アクセス制御手段５２は、ドライブ番号の先頭から順に、アクセス可能な外部記憶手段の記憶部が記憶するアプリケーションプログラムに対して優先的にアクセスを行うので、複数の外部記憶手段が接続された場合において、優先的にアクセスされる外部記憶手段を容易に特定することができ、利便性が向上する。
【００５９】
さらに、ブートローター５５及びアプリケーションプログラム５６のいずれが実行される場合でも、管理情報記憶処理部５３の管理情報が参照されることによって、ブートローダー５５あるいはアプリケーションプログラム５６のいずれか一方の実行時に利用されたことのある外部記憶手段に付与されたドライブ番号および当該外部記憶手段のＩＤ情報を記憶した管理情報を、他方でも利用することができるので、利便性が向上する。
【００６０】
さらに、制御装置１０を備えたミシン１００において、ＵＳＢメモリ２０等の外部記憶手段６０を用いることから、ミシン１００で利用されるアプリケーションプログラムの書き換えにおける利便性が向上する。
また、ミシンによる作業では一般的でない、アプリケーションファイルを記憶した外部記憶手段のドライブ番号指定におけるドライブ番号の選択といった煩雑な作業を簡略化することができ、ミシンによる作業の効率化を図ることができる。
【００６１】
（その他）
本実施例における外部記憶手段は、ＵＳＢメモリ２０やカードリーダー３０を介して接続される各種メモリカードの他にも、アプリケーションプログラムを記憶可能な媒体であれば何でもよい。例えばハードディスクや、アプリケーションプログラムを記録したＣＤ−ＲＯＭを読み取るＣＤ−ＲＯＭドライブであってもよい。
また、各種メモリカードは、ＣＦ、ＳＭ、ＳＤ以外であってもよい。例えばメモリースティックでもよい。
【００６２】
また、本実施例における処理装置５０の処理はソフトウェアで実現しているが、専用部品やアナログ回路でもよい。
【００６３】
また、本実施例においてはブートローダー５５及びアプリケーションプログラム５６が外部記憶手段にドライブ番号を付与する処理を行う場合は判別手段５４を呼び出し、判別手段５４の処理結果に基づきドライブ番号付与手段５１がドライブ番号を付与することで処理し、新たなアプリケーションプログラムを取得する外部記憶手段を指定する場合はアクセス制御手段５２を呼び出すことで処理を行っているが、ブートローダー５５及びアプリケーションプログラム５６が判別手段５４、ドライブ番号付与手段５１及びアクセス制御手段５２に相当する機能を持つことによって、ブートローダー５５及びアプリケーションプログラム５６が判別手段５４、ドライブ番号付与手段５１及びアクセス制御手段５２を呼び出して利用することなく上述の処理を行えるようにしてもよい。
【００６４】
また、本実施例においては、外部記憶手段に記憶されている情報がミシンのアプリケーションプログラムである場合について説明しているが、外部記憶手段に記憶されている情報としては、アプリケーションプログラムに限定されず、ミシンの縫製データや設定データなど、各種データでもよい。
また、本実施例におけるミシンは電子サイクルミシンを想定しているが、スロットを介して制御装置に外部記憶手段を接続し、プログラムを取得するミシンであれば、ミシンの種別は問わない。
また、本実施例においては、ミシンの制御装置に本発明を適用した場合を例に説明しているが、外部記憶手段を接続可能な制御装置であれば、ミシンの制御装置に限らず適用可能である。
【００６５】
また、本実施例におけるドライブ番号は0から始まる順列の整数値であるが、外部記憶手段ごとに判別がつけばよく、例えばアルファベットでもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施形態たる制御装置１０を搭載したミシン１００を示すブロック図である。
【図２】制御装置１０とその制御に関連する構成を含む機能ブロック図である。
【図３】管理情報記憶処理部５３に記憶された管理情報のデータ構造図である。
【図４】オペレータに対して外部記憶手段を接続するよう促す画面表示を行った入力表示装置５を示す図である。
【図５】制御装置１０に外部記憶手段が接続された際にドライブ番号が付与される処理及びアプリケーション書き換え処理について示すフロー図である。
【図６】ＵＳＢ機器にドライブ番号が付与される処理について示すサブフロー図である。
【図７】アプリケーションファイルを記憶したＵＳＢ機器を指定する書き換えファイル指定処理を示すサブフロー図である。
【符号の説明】
【００６７】
１１、１６ａ、１６ｂ  ＵＳＢ端子
１２  ＵＳＢコントローラ
１３  ＣＰＵ
１４  ＲＡＭ
１５  ＥＰＲＯＭ
１６  ＵＳＢハブ
２０  ＵＳＢメモリ
３０  カードリーダー
４１  コンパクトフラッシュ（ＣＦ）
４２  スマートメディア（ＳＭ）
４３  ＳＤメモリカード（ＳＤ）
【図１】
2009031844.tif 000003
【図２】
2009031844.tif 000004
【図３】
2009031844.tif 000005
【図４】
2009031844.tif 000006
【図５】
2009031844.tif 000007
【図６】
2009031844.tif 000008
【図７】
2009031844.tif 000009