(57)【要約】【課題】ユーザが所望する機能を予測して、ロード順序を決定することにより、ユーザが感じるロード時間の長さを解消する。【解決手段】予測される使用者の使用態様に基づいて、格納部から前記機能モジュールをロードする順序を決定し、決定されたロード順序に従って、機能モジュールをロードする。そして、起動指示に基づいて、ロードした機能モジュールを起動する。こうすることによって、ユーザが所望する機能を予測して、ロード順序を決定することにより、ユーザが感じるロード時間の長さを解消する。【選択図】図４
2018010573.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能モジュールを格納する格納部と、
使用者の使用態様に基づいて、前記格納部から前記機能モジュールをロードする順序を決定するロード順序決定部と、
前記ロード順序決定部において決定されたロード順序に従って、前記機能モジュールをロードするロード部と、
前記ロード部がロードした機能モジュールを起動する起動部と、
を備えたことを特徴とするミシン。
【請求項２】
前記ロード順序決定部で前記機能モジュールをロードする順序を決定する前に、ロードする前記機能モジュールを列記した起動工程表を作成する請求項１に記載のミシン。
【請求項３】
刺繍枠検出センサ部を備え、
前記刺繍枠検出センサ部が、刺繍枠の取り付けを検知したときに、前記ロード順序決定部が前記複数の機能モジュールのうち刺繍縫いに関する機能モジュールの順序を最上位とすることを特徴とする請求項１または２に記載のミシン。
【請求項４】
刺繍ユニットセンサ部を備え、
前記刺繍ユニットセンサ部が、刺繍ユニットの取り付けを検知したときに、前記ロード順序決定部が前記複数の機能モジュールのうち刺繍縫いに関する機能モジュールの順序を最上位とすることを特徴とする請求項１または２に記載のミシン。
【請求項５】
刺繍ユニットセンサ部を備え、
前記刺繍ユニットセンサ部が、刺繍ユニットの取り付けを検知し、かつ該刺繍ユニットのアームの開状態を検知したときに、前記ロード順序決定部が前記複数の機能モジュールのうち刺繍縫いに関する機能モジュールの順序を最上位とすることを特徴とする請求項１または２に記載のミシン。
【請求項６】
刺繍ユニットセンサ部を備え、
前記刺繍ユニットセンサ部が、刺繍ユニットの取り付けを検知できないときに、前記ロード順序決定部が前記複数の機能モジュールのうち通常縫いに関する機能モジュールの順序を最上位とすることを特徴とする請求項１または２に記載のミシン。
【請求項７】
前記使用者の操作履歴を記憶する操作履歴記憶部を備え、
前記ロード順序決定部が、前記操作履歴記憶部に記憶されている前記使用者の操作履歴に関連する機能モジュールのロード順序を最上位とすることを特徴とする請求項１または２に記載のミシン。
【請求項８】
前記操作履歴記憶部に記憶された使用者の操作履歴に基づく重み付けにより、該使用者の操作内容についてのスコアを算出するスコア算出部を備え、
前記スコア算出部で算出されたスコアに基づき、前記ロード順序決定部が前記操作履歴に関連する複数の機能モジュールのロード順序を決定することを特徴とする請求項７に記載のミシン。
【請求項９】
使用者が、機能モジュールのロードの要否を設定する設定部を備えることを特徴とする請求項１から請求項８のいずれか１項に記載のミシン。
【請求項１０】
ファイル記憶装置を備え、
前記ロード部が前記機能モジュールをロードした後に、前記ファイル記憶装置に記憶されたファイルに対応した機能モジュールをロードすることを特徴とする請求項１から請求項９のいずれか１項に記載のミシン。
【請求項１１】
前記ロード部において、すべての前記機能モジュールのロードが完了する前に、前記使用者の操作があった場合に、前記使用者の操作に関連する機能モジュールが未ロードであるときは、現在行っているロードを中断し、前記使用者の操作に関連する機能モジュールをロードすることを特徴とする請求項１または２に記載のミシン。
【請求項１２】
複数の機能モジュールを格納する格納部とロード順序決定部とロード部と起動部とを備えたミシンにおけるファームウェアの起動管理方法であって、
前記ロード順序決定部が、使用者の使用態様に基づいて、前記格納部から前記機能モジュールをロードする順序を決定する工程と、
前記ロード部が、前記ロード順序決定部において決定されたロード順序に従って、前記機能モジュールをロードする工程と、
前記起動部が、前記ロード部がロードした機能モジュールを起動する工程と、
を備えたことを特徴とするファームウェアの起動管理方法。
【請求項１３】
複数の機能モジュールを格納する格納部とロード順序決定部とロード部と起動部とを備えたミシンにおけるファームウェアの起動管理方法をミシンに実行させるためのプログラムであって、
前記ロード順序決定部が、使用者の使用態様に基づいて、前記格納部から前記機能モジュールをロードする順序を決定する工程と、
前記ロード部が、前記ロード順序決定部において決定されたロード順序に従って、前記機能モジュールをロードする工程と、
前記起動部が、前記ロード部がロードした機能モジュールを起動する工程と、
を備えたプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ミシン、ファームウェアの起動管理方法およびプログラムに関する。
【背景技術】
【０００２】
最近の高性能な組み込みシステムでは、ほとんどの場合、プログラムコードがＲＯＭ（Read  Only  Memory）に配置されており、電源投入時にＲＡＭ（Random  Access  Memory）にプログラムコードを転送して、ＲＡＭ上で実行する形態となっている。
【０００３】
ミシンの場合も、上位機種では、高性能のＣＰＵが用いられ、上記と同様に、ＲＡＭ上にあるプログラムで動作するように設計されている（例えば、特許文献１参照。）。
【０００４】
ここで、ＲＡＭにプログラムコードを配置する理由は、プログラムコードが書き込まれたＲＯＭやＦ−ＲＯＭ（フラッシュＲＯＭ）が半導体の構造上の問題で、ＲＡＭに比べてアクセス時間が長くかかるためである。具体的には、ＲＯＭからＣＰＵがその信号を読み込む時に、信号を確実に読み込むために、例えば、２クロックあるいは３クロックのウェイトを入れているためである。一方で、ＲＡＭの場合には、半導体の構造上、高速化が図れるため、ウェイトを設けない、あるいは、少しのウェイトでＣＰＵが確実に信号を読み込むことができる。
【０００５】
ミシンをソフトウェアの観点で見てみると、通常縫いの振幅および送り機構と針棒の上下動の制御モジュール、刺繍機構を取り付けた場合の刺繍縫い制御モジュール、ＵＳＢ通信や無線ＬＡＮなどの通信インターフェースモジュール、静止画や動画による説明書の表示モジュール、基本操作画面やＧＵＩ操作画面などの複数個の画面表示モジュール、刺繍データの編集モジュール、３Ｄ表示によるシミュレーションモジュールなど多岐にわたるソフトウェアモジュールから構成されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１２−１６４１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
組込み機器の高機能化や高性能化に伴い、ファームウェアの規模も大きくなってきている。そのため、電源投入時やリセット後の起動時におけるＲＯＭからＲＡＭへの転送時間（ロード時間）が長くなり、システム全体の起動時間に影響が出るという問題がある。
【０００８】
こうした問題に対して、特許文献１に記載の技術では、起動時にＲＯＭに格納されたロードモジュール群の一つを選択し、選択したロードモジュール群から予め順序付けしておいた必要なロードモジュールをＲＡＭに順番にロードする。そして、ＲＡＭへのロードが終了した時点でロードされたロードモジュールの起動を行う技術が開示されている。
【０００９】
特許文献１に記載の技術では、ロード時間を考慮せずに、モジュールをロードする従前の方法に対して、選択したロードモジュール群からロード時間を考慮して、予め順序付けしておいた必要なロードモジュールをＲＡＭに順番にロードを行うため、従前の方法に比べて、ロード時間の短縮化を期待できる。
【００１０】
しかしながら、特許文献１に記載の技術は、あくまでも、選択したロードモジュール群の中で、ロード時間を考慮して、予め順序付けしておいた必要なロードモジュールをＲＡＭに順番にロードを行うものであり、どのロードモジュール群を選択するのかという概念はない。つまり、組込み機器において、ユーザが所望する機能が何なのかを検知する思想がないため、ユーザにとっては、所望の機能を実行するためのロード時間を短縮することを必ずしも実現できないために、ロード時間が長いという不満を解消することができないという問題がある。
【００１１】
そこで、本発明は、上述の課題に鑑みてなされたものであり、ユーザが所望する機能を予測して、ロード順序を決定することにより、ユーザが感じるロード時間の長さを解消するミシン、ファームウェアの起動管理方法およびプログラムを提供する。
【課題を解決するための手段】
【００１２】
形態１；本発明の１またはそれ以上の実施形態は、複数の機能モジュールを格納する格納部と、使用者の使用態様に基づいて、前記格納部から前記機能モジュールをロードする順序を決定するロード順序決定部と、前記ロード順序決定部において決定されたロード順序に従って、前記機能モジュールをロードするロード部と、前記ロード部がロードした機能モジュールを起動する起動部と、を備えたことを特徴とするミシンを提案している。
【００１３】
形態２；本発明の１またはそれ以上の実施形態は、前記ロード順序決定部で前記機能モジュールをロードする順序を決定する前に、ロードする前記機能モジュールを列記した起動工程表を作成するミシンを提案している。
【００１４】
形態３；本発明の１またはそれ以上の実施形態は、刺繍枠検出センサ部を備え、前記刺繍枠検出センサ部が、刺繍枠の取り付けを検知したときに、前記ロード順序決定部が前記複数の機能モジュールのうち刺繍縫いに関する機能モジュールの順序を最上位とすることを特徴とするミシンを提案している。
【００１５】
形態４；本発明の１またはそれ以上の実施形態は、刺繍ユニットセンサ部を備え、前記刺繍ユニットセンサ部が、刺繍ユニットの取り付けを検知したときに、前記ロード順序決定部が前記複数の機能モジュールのうち刺繍縫いに関する機能モジュールの順序を最上位とするミシンを提案している。
【００１６】
形態５；本発明の１またはそれ以上の実施形態は、刺繍ユニットセンサ部を備え、前記刺繍ユニットセンサ部が、刺繍ユニットの取り付けを検知し、かつ該刺繍ユニットのアームの開状態を検知したときに、前記ロード順序決定部が前記複数の機能モジュールのうち刺繍縫いに関する機能モジュールの順序を最上位とすることを特徴とするミシンを提案している。
【００１７】
形態６；本発明の１またはそれ以上の実施形態は、刺繍ユニットセンサ部を備え、前記刺繍ユニットセンサ部が、刺繍ユニットの取り付けを検知できないときに、前記ロード順序決定部が前記複数の機能モジュールのうち通常縫いに関する機能モジュールの順序を最上位とすることを特徴とするミシンを提案している。
【００１８】
形態７；本発明の１またはそれ以上の実施形態は、前記使用者の操作履歴を記憶する操作履歴記憶部を備え、前記ロード順序決定部が、前記操作履歴記憶部に記憶されている前記使用者の操作履歴に基づいて、関連する機能モジュールのロード順序を最上位とするミシンを提案している。
【００１９】
形態８；本発明の１またはそれ以上の実施形態は、前記操作履歴記憶部に記憶された使用者の操作履歴に基づく重み付けにより、該使用者の操作内容についてのスコアを算出するスコア算出部を備え、前記スコア算出部で算出されたスコアに基づき、前記ロード順序決定部が前記操作履歴に関連する複数の機能モジュールのロード順序を決定することを特徴とするミシンを提案している。
【００２０】
形態９；本発明の１またはそれ以上の実施形態は、使用者が、機能モジュールのロードの要否を設定する設定部を備えることを特徴とするミシンを提案している。
【００２１】
形態１０；本発明の１またはそれ以上の実施形態は、ファイル記憶装置を備え、前記ロード部が前記機能モジュールをロードした後に、前記ファイル記憶装置に記憶されたファイルに対応した機能モジュールをロードすることを特徴とするミシンを提案している。
【００２２】
形態１１；本発明の１またはそれ以上の実施形態は、前記ロード部において、すべての前記機能モジュールのロードが完了する前に、前記使用者の操作があった場合に、前記使用者の操作に関連する機能モジュールが未ロードであるときは、現在行っているロードを中断し、前記使用者の操作に関連する機能モジュールをロードするミシンを提案している。
【００２３】
形態１２；本発明の１またはそれ以上の実施形態は、複数の機能モジュールを格納する格納部とロード順序決定部とロード部と起動部とを備えたミシンにおけるファームウェアの起動管理方法であって、前記ロード順序決定部が、使用者の使用態様に基づいて、前記格納部から前記機能モジュールをロードする順序を決定する工程と、前記ロード部が、前記ロード順序決定部において決定されたロード順序に従って、前記機能モジュールをロードする工程と、前記起動部が、前記ロード部がロードした機能モジュールを起動する工程と、を備えたことを特徴とするファームウェアの起動管理方法を提案している。
【００２４】
形態１３；本発明の１またはそれ以上の実施形態は、複数の機能モジュールを格納する格納部とロード順序決定部とロード部と起動部とを備えたミシンにおけるファームウェアの起動管理方法をミシンに実行させるためのプログラムであって、前記ロード順序決定部が、使用者の使用態様に基づいて、前記格納部から前記機能モジュールをロードする順序を決定する工程と、前記ロード部が、前記ロード順序決定部において決定されたロード順序に従って、前記機能モジュールをロードする工程と、前記起動部が、前記ロード部がロードした機能モジュールを起動する工程と、を備えたプログラムを提案している。
【発明の効果】
【００２５】
本発明の１またはそれ以上の実施形態によれば、ユーザが所望する機能を予測して、ロード順序を決定することにより、ユーザが感じるロード時間の長さを解消するという効果がある。
【図面の簡単な説明】
【００２６】
【図１】本発明の第１の実施形態に係るミシンのブロック図である。
【図２】本発明の第１の実施形態に係るミシンの電気的構成図である。
【図３】本発明の第１の実施形態に係るミシンの起動工程表作成のイメージを示す図である。
【図４】本発明の第１の実施形態に係るミシンの起動工程表作成の処理フローである。
【図５】本発明の第１の実施形態に係るミシンの電源投入時の処理フローである。
【図６】本発明の第１の実施形態に係るミシンの操作受付の処理フローである。
【図７】本発明の第２の実施形態に係るミシンの起動工程表作成のイメージを示す図である。
【図８】本発明の第２の実施形態に係るミシンの起動工程表作成の処理フローである。
【図９】本発明の第２の実施形態に係るミシンの操作優先順位付けの処理フローである。
【図１０】本発明の第２の実施形態に係るミシンの電源投入時の処理フローである。
【図１１】本発明の第３の実施形態に係るミシンの起動工程表作成のイメージを示す図ある。
【図１２】本発明の第３の実施形態に係るミシンの起動工程表作成の処理フローである。
【図１３】本発明の第３の実施形態に係るミシンの電源投入時の処理フローである。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
【００２８】
＜第１の実施形態＞
図１から図６を用いて、第１の実施形態に係るミシンについて説明する。
【００２９】
＜ミシンの構成＞
図１に示すように、本実施形態に係るミシンは、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、操作画面１０４と、ＧＵＩ画面１０５と、タクトスイッチ１０６と、センサ１１０と、ＵＳＢ通信装置１３０と、無線ＬＡＮ通信装置１４０と、ファイル記憶装置１５０と、ミシンモータ制御装置１６０と、振幅・送りモータ制御装置１７０と、Ｘ−Ｙモータ制御装置１８０とから構成されている。
【００３０】
ＣＰＵ１０１は、制御プログラムにしたがって、ミシン全体の動作を制御する。また、外部入出力装置を介して様々なデバイスに接続されている。ＲＯＭ１０２およびＲＡＭ１０３は、機能モジュールを格納する格納部として機能する。ＲＯＭ１０２には、ブートプログラム、ＯＳと基本ライブラリ、縫い制御モジュール、基本操作画面モジュール、拡張操作画面モジュール、通常縫い（ユーティリティ、用途選択）モジュール、刺繍縫い（模様編集）モジュール、刺繍縫い（３Ｄシミュレーション）モジュール、ＵＳＢ通信モジュール（プロトコル）、無線ＬＡＮ通信モジュール（ＴＣＰ／ＩＰプロトコル）、静止画像表示モジュール、動画データ再生モジュール、セルフチェックモジュール等の様々な機能モジュールが格納されている。
【００３１】
ＲＡＭ１０３には、ＲＯＭ１０２から読み込まれた、例えば、ＯＳと基本ライブラリ、縫い制御モジュール、基本操作画面モジュール、刺繍縫い（模様編集）モジュール、無線ＬＡＮ通信モジュール（ＴＣＰ／ＩＰプロトコル）、動画データ再生モジュール等の様々な機能モジュールが格納されている。
【００３２】
操作画面１０４は、タッチパネル１と対になっており、ミシンの基本的な操作や直線、ジグザグ模様などの使用頻度の高い模様がワンタッチで選択できるようになっている。また、縫い動作に関する案内の表示や警告メッセージなどを表示する。
【００３３】
ＧＵＩ画面１０５は、タッチパネル２と対になっており、高解像度で大画面の液晶表示で、刺繍模様を描画して編集作業を行ったり、刺繍模様の運針をシミュレーション表示したりする。また、通常縫いのユーティリティ模様の選択や使用目的をミシンからの設問に答えることによって模様を選ぶ用途選択機能などの表示のために使用される。
【００３４】
タクトスイッチ１０６には、ミシンのスター卜／ストップや返し縫い、止め縫い、針棒の上下、糸切り、自動糸通しの指示を行うボタンが集められている。センサ１１０は、刺繍枠検出センサ、刺繍ユニットセンサとから構成されている。
【００３５】
ＵＳＢ通信装置１３０は、ＵＳＢターゲットコントローラから構成され、パソコンなどのコンピュータとＵＳＢケーブルで接続し、データの送受信を行う。無線ＬＡＮ通信装置１４０は、外部にある無線ＬＡＮアクセスポイントなどと無線接続し、他のネットワーク機器と通信したり、公衆回線を通じてインターネットに接続する。
【００３６】
ファイル記憶装置１５０は、大容量のフラッシュメモリーで構成されており、ファイルシステムによって刺繍データや画像データあるいは動画データなど各種データがファイルとして保存されている。
【００３７】
ミシンモータ制御装置１６０は、ＣＰＵ１０１からの指令によってミシンモータを回転し、針棒の上下運動により縫い目を形成する。振幅・送りモータ制御装置１７０は、ＣＰＵ１０１からの指令に基づいて、振幅モータを駆動し、針棒を振ることにより、ジグザグの動きをし、送りモータを駆動することにより、布の送り量あるいは前後の方向を制御する。ミシンモータと振幅・送りモータにより縫い機構が制御され、直線やジグザグあるいは具象模様の縫い目を形成する。
【００３８】
Ｘ−Ｙモータ制御装置１８０は、ＣＰＵ１０１からの指令に基づいて、Ｘモータ、Ｙモータを駆動し、縫い機構の刺繍枠をＸ方向およびＹ方向に移動させる。そして、両モータへの指令により針落ち点が決まり、ミシンモータの上下動により刺繍の縫い目が形成され、模様が縫われる。
【００３９】
本システムに電源を投入すると、ＣＰＵ１０１は、最初にＲＯＭ１０２に記憶されている「ブートプログラム」をＲＯＭ１０２から直接実行する。「ブートプログラム」は、ＲＯＭ１０２上の「ＯＳ、基本ライブラリ」と「縫い制御」と「基本操作画面」のプログラムモジュールをＲＡＭ１０３に転送し、起動する。これにより、ミシンは初期化動作を行い、「基本操作画面」でミシンとしての基本的な機能を使うことができる。
【００４０】
「ＯＳ・基本ライブラリ」は、ファイル記憶装置１５０に保存されている「起動工程表」をＲＡＭ１０３に展開する。ここで「起動工程表」は、ロードする機能モジュールを列記したものである。「起動工程表」をＲＡＭ１０３に展開した後、ブートプログラムは、ミシン動作のバックグラウンドで「起動工程表」に従い、必要なプログラムモジュールをロードする。
【００４１】
例えば、刺繍ユニットがミシンに取り付けられており、無線ＬＡＮ機能が有効で、ファイル記憶装置１５０に動画ファイルが登録されているとする。この場合、ミシンを刺繍機として使用すると推測できるため、「刺繍縫い・模様編集」モジュールをロードし、無線ＬＡＮが有効になっているため、「無線ＬＡＮ通信」モジュールをロードする。また、ファイル記憶装置１５０には、動画ファイルが保存されているため、「動画データ再生」モジュールがＲＡＭ１０３にロードされる。
【００４２】
なお、この時点では、「セルフチェック」、「ＵＳＢ通信プロトコル」、「刺繍縫い（３Ｄシミュレーション）」など多くのモジュールはロードされていない。つまり、必要な機能のモジュールだけロードして起動するため、電源投入後速やかに動作を開始できる。その後、例えば「基本操作画面」から「拡張操作画面（ＧＵＩ）」を選択する操作を行うと、「拡張操作画面（ＧＵＩ）」のモジュールがロードされ、起動することになる。
【００４３】
＜ミシンの電気的構成＞
図２に示すように、本実施形態に係るミシンは、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ロード順序決定部１０７と、ロード部１０８と、起動部１０９と、刺繍枠検出センサ部１１１と、刺繍ユニットセンサ部１１２と、操作履歴記憶部１２１と、スコア算出部１２２と、設定部１２３と、設定内容検知部１２４と、ファイル記憶装置１５０とから構成されている。
【００４４】
ＲＯＭ１０２は、複数に分割された機能モジュールを格納する。ロード順序決定部１０７は、使用者の使用態様に基づいて、ＲＯＭ１０２からロードする機能モジュールの順序を決定する。ここで、使用態様は刺繍縫い、無線ＬＡＮ接続、ＵＳＢ接続や動画ファイルの保存等であり、それに対応する機能モジュールは刺繍縫いモジュール、無線ＬＡＮモジュール、ＵＳＢ通信モジュールおよび動画再生モジュール等である。ロード部１０８は、ロード順序決定部１０７において決定されたロード順序に従って、機能モジュールをロードする。起動部１０９は、起動指示があったときに、起動指示に基づいて、ロード部１０８がロードした機能モジュールを起動する。
【００４５】
刺繍枠検出センサ部１１１は、刺繍枠の取り付けを検知する。刺繍枠検出センサ部１１１が刺繍枠の取り付けを検知したときに、ロード順序決定部１０７が複数の機能モジュールのうち刺繍縫いに関する機能モジュールの順序を最上位とする。この順序変更により、起動工程表においてロード順序が更新される。
【００４６】
刺繍ユニットセンサ部１１２は、刺繍ユニットの取り付けを検知する。刺繍ユニットセンサ部１１２が刺繍ユニットの取り付けを検知したときに、ロード順序決定部１０７が複数の機能モジュールのうち刺繍縫いに関する機能モジュールの順序を最上位とする。また、刺繍ユニットセンサ部１１２は、刺繍ユニットのアームの開状態を検知する。刺繍ユニットセンサ部１１２が刺繍ユニットのアームの開状態を検知したときに、ロード順序決定部１０７が複数の機能モジュールのうち刺繍縫いに関する機能モジュールの順序を最上位とする。
【００４７】
また、刺繍ユニットセンサ部１１２が、刺繍ユニットの取り付けを検知できないときに、ロード順序決定部１０７が複数の機能モジュールのうち通常縫いに関する機能モジュールの順序を最上位とする。
【００４８】
操作履歴記憶部１２１は、使用者の操作履歴を記憶する。そして、ロード順序決定部１０７は、操作履歴記憶部１２１に記憶されている使用者の操作履歴に基づいて、関連する機能モジュールのロード順序を最上位とする。
【００４９】
スコア算出部１２２は、使用者の操作履歴に対して、重み付けを付与してスコアを算出する。そして、ロード順序決定部１０７は、スコア算出部１２２により算出するスコア値の大きい順番にロード順序を決定する。ここで、重み付け値は、操作履歴記憶部に記憶された使用者の操作履歴に基づき求められる。具体的には経過時間や頻度等の操作に関する量や、直近の操作内容に基づいて定められる。重み付け値の大きさから操作履歴に関連する機能モジュールが複数ある場合に、ロードする機能モジュールの優先順位が定められ、起動モードが決定される。
【００５０】
また、ロード順序決定部１０７は、刺繍枠検出センサ部１１１、刺繍ユニットセンサ部１１２の検出状況および操作履歴記憶部１２１に記憶されている使用者の操作履歴に基づいて、関連する機能モジュールのロード順序を最上位とする。
【００５１】
使用者は、設定部１２３により、機能モジュールのロードの要否を設定する。つまり、使用者は予め用意された複数の機能からロードさせる所望の機能やロードさせない機能を独自に設定する。設定内容検知部１２４は、設定部の設定内容を検知する。そして、設定内容検知部１２４が通信あるいは外部装置とのインターフェースに関する設定を検知したときに、ロード順序決定部１０７は、すでに決定しているロード順序の次に、通信あるいは外部装置とのインターフェースに関する機能モジュールのロード順序を割り当てる。
【００５２】
また、ファイル記憶装置１５０に記憶されたファイルに対応した機能モジュールがある場合に、ロード部１０８が機能モジュールをロードした後に、ファイルに対応した機能モジュールをロードする。
【００５３】
＜ミシンの実行処理＞
図３から図６を用いて、本実施形態に係るミシンの実行処理について説明する。
【００５４】
使用者によりミシンに電源が入れられると、ミシンのＣＰＵやＯＳ等の初期化が行われ、起動工程表が作成され、操作受付処理に移る。以下、図３から図６を用いて、各処理の詳細を具体例に基づいて、説明する。なお、以下の説明においては、ミシンに刺繍枠が取り付けられており、無線ＬＡＮ機能が有効で、ファイル記憶装置１５０に動画ファイルが登録されている場合を例示して説明する。
【００５５】
＜起動工程表作成処理＞
実際の処理を示す前に、図３を用いて、起動工程表作成のイメージについて説明する。
本実施形態では、図３に示すように、起動工程表を作成するための有効な情報として、センサ状態情報、設定部の設定（マイセット設定）情報、内蔵ドライブの情報を用いることができる。センサ状態情報からは刺繍枠センサがＯＮであるとの情報が得られ、設定部の設定（マイセット設定）情報からは、無線設定がＯＮであるとの情報が得られ、内蔵ドライブには、動画データと刺繍データが保存されているという情報が得られる。
【００５６】
これらの情報から、起動工程表を作成する。まず、起動モードは、刺繍枠センサがＯＮであることから、刺繍モードと判定し、起動順位を「１」とする。次に、起動画面については、起動モードが刺繍モードであることから刺繍模様選択画面と判定し、起動順位を「２」とする。さらに、無線機能については、無線設定がＯＮであることから、無線機能をＯＮと判定し、起動順位を「３」とする。また、動画機能については、内蔵ドライブに、動画データが保存されていることから、動画機能をＯＮと判定し、起動順位を「４」とする。本実施形態の場合は、このようにして、起動工程表を作成する。
【００５７】
以下、上記の内容について、図４を用いて、本実施形態に係る起動工程表作成処理について、具体例に基づいて説明する。
【００５８】
まず、刺繍枠検出センサの入力があるか否かを検出する（ステップＳ１０１）。ここで、刺繍枠検出センサの入力がある場合（ステップＳ１０１の「Ｙｅｓ」）には、起動工程表に「刺繍縫いモード」の登録を行なう（ステップＳ１０３）。一方で、刺繍枠検出センサの入力がない場合（ステップＳ１０１の「Ｎｏ」）には、起動工程表に「通常縫いモード」の登録を行なう（ステップＳ１０２）。ここで、従前のミシンには、刺繍枠を刺繍模様に合わせて移動させる刺繍ユニットがミシン本体に内蔵されていたが、最近のミシンは、刺繍ユニットが本体とは別体になっている。しかしながら、刺繍を行なう場合に、刺繍枠をセットすることに違いはない。そこで、刺繍枠検出センサをトリガとして、刺繍枠検出センサの入力がある場合には、使用者が刺繍縫いモードを使用する確率が高く、刺繍枠検出センサの入力がない場合には、使用者が通常縫いモードを使用する確率が高いと判断して、モードの決定を行なう。なお、刺繍ユニットセンサ部１１２が、刺繍ユニットの取り付けを検知したときに、刺繍縫いモードと決定してもよい。また、刺繍ユニットセンサ部１１２が、さらに、刺繍ユニットのアームの開状態を検知したときに、刺繍縫いモードと決定してもよい。さらに、刺繍ユニットセンサ部１１２が、刺繍ユニットの取り付けを検知できないときに、通常縫いモードと決定してもよい。なお、本実施形態の場合は、刺繍枠検出センサがＯＮ状態であるため、起動工程表に「刺繍縫いモード」の登録を行なう。
【００５９】
次に、設定内容検知部１２４により、設定部１２３の設定項目を検出する。例えば、設定部１２３において、無線設定が有効になっているか否かを検出する（ステップＳ１０４）。そして、無線設定が有効になっていれば（ステップＳ１０４の「Ｙｅｓ」）、無線制御起動を起動工程表に登録する（ステップＳ１０５）。なお、本実施形態の場合は、無線設定がＯＮとなっているため、無線制御起動を起動工程表に登録する。
【００６０】
ステップＳ１０５の処理の完了あるいは、ステップＳ１０４において「Ｎｏ」であった場合には、ファイル記憶装置１５０に記憶されたファイルを確認し、例えば、動画ファイルがある場合には（ステップＳ１０６の「Ｙｅｓ」）、動画制御起動を起動工程表に登録する（ステップＳ１０７）。また、ステップＳ１０７の処理の完了あるいは、ステップＳ１０６において「Ｎｏ」であった場合には、起動工程表の登録を終了する。なお、本実施形態の場合は、内蔵ドライブ内に動画データが格納されているため、動画制御起動を起動工程表に登録する。
【００６１】
＜電源投入時の処理＞
図５を用いて、本実施形態に係るミシンの電源投入時の処理について説明する。
【００６２】
まず、ミシンの電源を投入すると、ＣＰＵ、ＲＯＭ、ＲＡＭの初期化処理を実行し、ＲＯＭ、ＲＡＭの使用準備を整える（ステップＳ２０１）。ＲＯＭ、ＲＡＭが使用できるようになると、最初に、ＯＳと基本ライブラリをＲＡＭに展開して配置する（ステップＳ２０２）。次に、上記で示したように、センサからの入力情報や設定部１２３の設定項目あるいは、ファイル記憶装置１５０に記憶されたファイルの情報等に基づいて、起動工程表を作成する処理を呼び出す（ステップＳ２０３）。
【００６３】
作成した起動工程表に従って、最初に起動する動作モードに関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０４）。ここで、最初に起動する動作モードが刺繍縫いであれば、刺繍縫いに関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０６）。一方で、最初に起動する動作モードが通常縫いであれば、通常縫いに関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０５）。
【００６４】
その後、起動工程表の起動指示に従い、各種制御処理をＲＡＭに展開して配置する。例えば、ＸＹキャリッジ制御処理に関する起動指示がある場合（ステップＳ２０７の「あり」）には、ＸＹキャリッジ制御処理に関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０８）。
【００６５】
次に、無線通信制御処理に関する起動指示がある場合（ステップＳ２０９の「あり」）には、無線通信制御処理に関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２１０）。さらに、動画制御処理に関する起動指示がある場合（ステップＳ２１１の「あり」）には、動画制御処理に関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２１２）。
【００６６】
起動工程表で指示されているすべての処理に関する機能モジュールのＲＡＭへの展開配置が終了すると、制御対象モータを処理し、操作受付状態となる（ステップＳ２１３）。
【００６７】
＜操作受付処理＞
図６を用いて、使用者の操作受付処理について説明する。
【００６８】
操作受付処理が起動すると、タッチパネルやタクトスイッチ等の使用者による操作がなされるまで待機する（ステップＳ３１０）。使用者による操作がなされた場合（ステップＳ３２０の「Ｙｅｓ」）、その操作を処理するための機能モジュールがＲＡＭに展開配置済みか否かを確認する（ステップＳ３３０）。ここで、その操作を処理するための機能モジュールがＲＡＭに展開配置されていない場合（ステップＳ３３０の「Ｎｏ」）には、使用者からの操作を受け付ける前に、その操作を処理するための機能モジュールをＲＡＭに展開配置する（ステップＳ３４０）。
【００６９】
そして、使用者の操作に応じた処理が実行されると、この操作履歴が操作履歴記憶部１２１に格納される（ステップＳ３６０）。この操作履歴には、操作が行なわれた日時や操作が行なわれた画面、操作の種類、操作の対象となったデータ等が含まれる。
【００７０】
なお、すべての機能モジュールのＲＡＭへの展開配置が完了する前に、使用者の操作があった場合に、使用者の操作に関連する機能モジュールがまだＲＡＭへの展開配置が未完了であるときは、現在行っている機能モジュールのＲＡＭへの展開配置を中断し、使用者の操作に関連する機能モジュールをＲＡＭへ展開配置する。
【００７１】
＜本実施形態の効果＞
ファームウェアを機能モジュールに分割し、起動時に必要な機能モジュールのみをロードするため、使用者にとってのレスポンスが向上する。また、起動工程表に基づいて、バックグラウンドでロードを実行するため、使用者が所望の操作を行なっている間にすべての機能モジュールのロードが完了する。ミシンの構成や特徴を考慮して、ロードする機能モジュールの順番を判断するため、無駄な機能モジュールのロードを抑制でき、所望の操作を行なおうとする使用者にとって、起動時の時間を短縮することができる。
【００７２】
＜第２の実施形態＞
図７から図１０を用いて、第２の実施形態に係るミシンについて説明する。なお、以下の説明においては、ミシンに刺繍枠の取り付けが確認できず、無線ＬＡＮ機能が有効で、ファイル記憶装置１５０に動画ファイルが登録されている場合を例示して説明する。また、ミシンの全体構成およびミシンの電気的構成は、第１の実施形態と同様であることから、その詳細な説明は、省略する。
【００７３】
＜起動工程表作成処理＞
実際の処理を示す前に、図７を用いて、起動工程表作成のイメージについて説明する。
本実施形態では、図７に示すように、起動工程表を作成するための有効な情報として、操作履歴情報、設定部の設定（マイセット設定）情報、内蔵ドライブの情報を用いることができる。
【００７４】
操作履歴情報を格納するデータベースには、ミシンへの電源投入から操作がなされるまでの経過時間と行われた操作内容および操作内容に関する重み付け値が紐づいて保存されている。なお、重み付け値は、操作履歴記憶部に記憶された使用者の操作履歴に基づき求められる。具体的には経過時間や頻度等の操作に関する量や、直近の操作内容に基づいて定められる。重み付け値の大きさから操作履歴に関連する機能モジュールが複数ある場合に、ロードする機能モジュールの優先順位が定められ、起動モードが決定される。また、設定部の設定（マイセット設定）情報からは、無線設定がＯＮであるとの情報が得られ、内蔵ドライブには、動画データと刺繍データが保存されているという情報が得られる。
【００７５】
これらの情報から、起動工程表を作成する。まず、起動モードは、操作履歴情報において、重み付け値が最も大きい操作が、「刺繍；縫い一時停止」であることから、刺繍モードと判定し、起動順位を「１」とする。次に、起動画面については、起動モードが刺繍モードであることから刺繍実行画面と判定し、起動順位を「２」とする。さらに、無線機能については、無線設定がＯＮであることから、無線機能をＯＮと判定し、起動順位を「３」とする。また、動画機能については、内蔵ドライブに、動画データが保存されていることから、動画機能をＯＮと判定し、起動順位を「４」とする。本実施形態の場合は、このようにして、起動工程表を作成する。
【００７６】
以下、上記の内容について、図８を用いて、本実施形態に係る起動工程表作成処理について、具体例に基づいて説明する。
【００７７】
まず、操作履歴記憶部１２１から操作履歴データを読み出し（ステップＳ１１１）、操作の優先順位付けを行なう（ステップＳ１１２）。操作の優先順位付けには、同じ操作が行なわれている頻度、操作内容、電源を切断する前に行なわれていた操作等の情報に基づいて、使用者がよく利用する機能を順位付けする。本実施形態では、刺繍縫いの一時停止が最後に行なわれた動作であり、重み付け値も最も大きいことから、「刺繍縫いの一時停止」という操作が優先的に扱われる。なお、詳細については、後述する。
【００７８】
ステップＳ１１２による操作の優先順位付けにより、最初に起動するモードを決定する（ステップＳ１１３）。最初に起動するモードが刺繍縫いモードである場合（ステップＳ１１３の「Ｙｅｓ」）には、起動工程表に「刺繍縫いモード」の登録を行なう（ステップＳ１１５）。一方で、最初に起動するモードが通常縫いモードである場合（ステップＳ１１３の「Ｎｏ」）には、起動工程表に「通常縫いモード」の登録を行なう（ステップＳ１１４）。本実施形態では、上記のように、「刺繍縫いの一時停止」という操作が優先的に扱われるため、起動モードとして刺繍縫いモードが登録される。
【００７９】
次に、設定内容検知部１２４により、設定部１２３の設定項目を検出する。例えば、設定部１２３において、無線設定が有効になっているか否かを検出する（ステップＳ１１６）。そして、無線設定が有効になっていれば（ステップＳ１１６の「Ｙｅｓ」）、無線制御起動を起動工程表に登録する（ステップＳ１１７）。本実施形態では、無線機能がＯＮとなっているため、無線制御起動を起動工程表に登録する。
【００８０】
ステップＳ１１７の処理の完了あるいは、ステップＳ１１６において「Ｎｏ」であった場合には、ファイル記憶装置１５０に記憶されたファイルを確認し、例えば、動画ファイルがある場合には（ステップＳ１１８の「Ｙｅｓ」）、動画制御起動を起動工程表に登録する（ステップＳ１１９）。また、ステップＳ１１９の処理の完了あるいは、ステップＳ１１８において「Ｎｏ」であった場合には、起動工程表の登録を終了する。本実施形態では、内蔵ドライブ内に動画データが格納されているため、動画制御起動を起動工程表に登録する。
【００８１】
＜操作の優先順位付け処理＞
ここで、操作の優先順位付け処理は、図９に示すような手順で行なわれる。まず、操作履歴記憶部１２１から読み出した操作履歴データに基づいて、同じモードの操作回数を集計する（ステップＳ１２１）。集計にあたっては、どのページでどのような操作が行なわれたのかについて、項目ごとに回数を集計する。
【００８２】
次に、同じモードの操作時間を集計する（ステップＳ１２２）。これは、一般的に、操作時間が長いものほど、使用者がよく使用する機能であると判断できるためである。ここで、様々な操作について、操作回数と操作時間とにより順位付けされたリストが出来上がる。
【００８３】
上記のリストに対して、操作内容による重み付け処理を行なう（ステップＳ１２３）。これは、単に、刺繍モードを選択しただけという操作よりも実際に縫いを行なった操作やデータ編集作業等、使用者が明確な意図をもって行なった操作を優先させるためである。
【００８４】
さらに、前回電源を切る前に行なっていた最後の操作についても重み付けを行なう（ステップＳ１２４）。ここでは、例えば、操作内容が単純な模様選択だけなどの場合には、あまり大きな重み付け値を付加しないが、模様編集作業等の作業を行なっていた場合には、大きな重み付け値を付加する。これは、使用者が前回の作業の続きを行ないたいと考えることを想定できるためである。
【００８５】
そして、各操作の点数（スコア）一覧を作成し、この点数一覧に基づいて、起動モードを決定する（ステップＳ１２５）。
【００８６】
なお、重み付けについては、電源を切る前に行なっていた最後の操作を優先する、よく使用する機能を優先する等、様々な調整が可能であり、例えば、使用者によって、優先する項目を設定できるようにしてもよい。上記の一連の処理を行なうことにより、操作履歴に基づいて、使用者がよく使用すると考えられるモードを決めることができる。
【００８７】
＜電源投入時の処理＞
図１０を用いて、本実施形態に係るミシンの電源投入時の処理について説明する。
【００８８】
まず、ミシンの電源を投入すると、ＣＰＵ、ＲＯＭ、ＲＡＭの初期化処理を実行し、ＲＯＭ、ＲＡＭの使用準備を整える（ステップＳ２０１）。ＲＯＭ、ＲＡＭが使用できるようになると、最初に、ＯＳと基本ライブラリをＲＡＭに展開して配置する（ステップＳ２０２）。次に、上記で示したように、センサからの入力情報や設定部１２３の設定項目あるいは、ファイル記憶装置１５０に記憶されたファイルの情報等に基づいて、起動工程表を作成する処理を呼び出す（ステップＳ２０３）。
【００８９】
作成した起動工程表に従って、最初に起動する動作モードに関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０４）。ここで、最初に起動する動作モードが刺繍縫いであれば、刺繍縫いに関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０６）。一方で、最初に起動する動作モードが通常縫いであれば、通常縫いに関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０５）。
【００９０】
その後、起動工程表の起動指示に従い、各種制御処理をＲＡＭに展開して配置する。例えば、縫い振幅制御処理に関する起動指示がある場合（ステップＳ２１４の「あり」）には、縫い振幅制御処理に関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２１５）。
【００９１】
次に、無線通信制御処理に関する起動指示がある場合（ステップＳ２０９の「あり」）には、無線通信制御処理に関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２１０）。さらに、動画制御処理に関する起動指示がある場合（ステップＳ２１１の「あり」）には、動画制御処理に関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２１２）。
【００９２】
起動工程表で指示されているすべての処理に関する機能モジュールのＲＡＭへの展開配置が終了すると、制御対象モータを処理し、操作受付状態となる（ステップＳ２１３）。
【００９３】
＜本実施形態の効果＞
ファームウェアを機能モジュールに分割し、起動時に必要な機能モジュールのみをロードするため、使用者にとってのレスポンスが向上する。また、使用者の操作傾向や使用者の癖等を考慮して機能モジュールのロード順を判断するため、使用者にとって、所望の操作を行なうまでのミシンの起動時間を短縮することができる。さらに、使用履歴を逐次保存することから、次回起動時において、常に、更新された使用履歴に基づいて、使用者が所望する操作に関連する機能モジュールを優先的に読み出すことができる。
【００９４】
＜第３の実施形態＞
図１１から図１３を用いて、第３の実施形態に係るミシンについて説明する。なお、以下の説明においては、ミシンに刺繍枠の取り付けが確認できず、無線ＬＡＮ機能が有効で、ファイル記憶装置１５０に動画ファイルが登録されている場合を例示して説明する。また、ミシンの全体構成およびミシンの電気的構成は、第１の実施形態と同様であることから、その詳細な説明は、省略する。
【００９５】
＜起動工程表作成処理＞
実際の処理を示す前に、図１１を用いて、起動工程表作成のイメージについて説明する。本実施形態では、図１１に示すように、起動工程表を作成するための有効な情報として、操作履歴情報、設定部の設定（マイセット設定）情報、センサ状態情報を用いることができる。
【００９６】
操作履歴情報を格納するデータベースには、ミシンへの電源投入から操作がなされるまでの経過時間と行われた操作内容および操作内容に関する重み付け値が紐づいて保存されている。なお、重み付け値は、操作履歴記憶部に記憶された使用者の操作履歴に基づき求められる。具体的には経過時間や頻度等の操作に関する量や、直近の操作内容に基づいて定められる。重み付け値の大きさから操作履歴に関連する機能モジュールが複数ある場合に、ロードする機能モジュールの優先順位が定められ、起動モードが決定される。また、設定部の設定（マイセット設定）情報からは、無線設定がＯＮであるとの情報が得られ、センサ状態情報からは、刺繍枠センサがＯＮであるという情報が得られる。
【００９７】
これらの情報から、起動工程表を作成する。まず、起動モードは、刺繍枠センサがＯＮ状態であること、および操作履歴情報において、重み付け値が最も大きい操作が、「通常；布ガイド使用」であることを考慮して、通常縫いモードと判定し、起動順位を「１」とする。次に、起動画面については、起動モードが通常縫いモードであることから通常縫い模様選択画面と判定し、起動順位を「２」とする。さらに、無線機能については、無線設定がＯＮであることから、無線機能をＯＮと判定し、起動順位を「３」とする。本実施形態の場合は、このようにして、起動工程表を作成する。
【００９８】
以下、上記の内容について、図１２を用いて、本実施形態に係る起動工程表作成処理について、具体例に基づいて説明する。
【００９９】
まず、操作履歴記憶部１２１から操作履歴データを読み出し（ステップＳ１１１）、操作の優先順位付けを行なう（ステップＳ１１２）。操作の優先順位付けには、同じ操作が行なわれている頻度、操作内容、電源を切断する前に行なわれていた操作等の情報に基づいて、使用者がよく利用する機能を順位付けする。本実施形態では、通常縫いの一時停止が最後に行なわれた動作であり、重み付け値も最も大きいことから、「通常縫いの一時停止」という操作が優先的に扱われる。なお、詳細については、第２の実施形態と同様であるため、省略する。
【０１００】
ステップＳ１１２による操作の優先順位付けにより、最初に起動するモードを決定する。次に、刺繍ユニットセンサの入力の有無を検出する（ステップＳ１２０）。刺繍ユニットセンサの入力が検出できた場合（ステップＳ１２０の「Ｙｅｓ」）は、刺繍モードが優先か否かを判別し（ステップＳ１３０）、刺繍モードが優先である場合（ステップＳ１３０の「Ｙｅｓ」）には、ＸＹキャリッジ制御の登録を行なう（ステップＳ１５０）。一方で、刺繍モードが優先でない場合（ステップＳ１３０の「Ｎｏ」）は、次に、布ガイドの使用履歴があるか否かを検出し（ステップＳ１４０）、使用履歴がある場合（ステップＳ１４０の「Ｙｅｓ」）には、ＸＹキャリッジ制御の登録を行なう（ステップＳ１５０）。本実施形態の場合は、刺繍枠検出センサがＯＮ状態であり、布ガイドの使用が操作履歴にあるため、起動工程表に「通常縫いモード」を登録するとともに、ＸＹキャリッジ制御の登録を行なう。
【０１０１】
また、刺繍ユニットセンサの入力を検出できない場合（ステップＳ１２０の「Ｎｏ」）、ＸＹキャリッジ制御の登録を行なった場合（ステップＳ１５０）、布ガイドの使用履歴がなかった場合（ステップＳ１４０の「Ｎｏ」）には、設定内容検知部１２４により、設定部１２３の設定項目を検出する。例えば、設定部１２３において、無線設定が有効になっているか否かを検出する（ステップＳ１６０）。そして、無線設定が有効になっていれば（ステップＳ１６０の「Ｙｅｓ」）、無線制御起動を起動工程表に登録する（ステップＳ１７０）。本実施形態では、無線機能がＯＮとなっているため、無線制御起動を起動工程表に登録する。
【０１０２】
ステップＳ１７０の処理の完了あるいは、ステップＳ１６０において「Ｎｏ」であった場合には、ファイル記憶装置１５０に記憶されたファイルを確認し、例えば、動画ファイルがある場合には（ステップＳ１８０の「Ｙｅｓ」）、動画制御起動を起動工程表に登録する（ステップＳ１９０）。また、ステップＳ１９０の処理の完了あるいは、ステップＳ１８０において「Ｎｏ」であった場合には、起動工程表の登録を終了する。本実施形態では、内蔵ドライブ内に動画データが格納されているため、動画制御起動を起動工程表に登録する。
【０１０３】
＜電源投入時の処理＞
図１３を用いて、本実施形態に係るミシンの電源投入時の処理について説明する。
【０１０４】
まず、ミシンの電源を投入すると、ＣＰＵ、ＲＯＭ、ＲＡＭの初期化処理を実行し、ＲＯＭ、ＲＡＭの使用準備を整える（ステップＳ２０１）。ＲＯＭ、ＲＡＭが使用できるようになると、最初に、ＯＳと基本ライブラリをＲＡＭに展開して配置する（ステップＳ２０２）。次に、上記で示したように、センサからの入力情報や設定部１２３の設定項目あるいは、ファイル記憶装置１５０に記憶されたファイルの情報等に基づいて、起動工程表を作成する処理を呼び出す（ステップＳ２０３）。
【０１０５】
作成した起動工程表に従って、最初に起動する動作モードに関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０４）。ここで、最初に起動する動作モードが刺繍縫いであれば、刺繍縫いに関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０６）。一方で、最初に起動する動作モードが通常縫いであれば、通常縫いに関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０５）。
【０１０６】
その後、起動工程表の起動指示に従い、各種制御処理をＲＡＭに展開して配置する。例えば、ＸＹキャリッジ制御処理に関する起動指示がある場合（ステップＳ２０７の「あり」）には、ＸＹキャリッジ制御処理に関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２０８）。
【０１０７】
次に、無線通信制御処理に関する起動指示がある場合（ステップＳ２０９の「あり」）には、無線通信制御処理に関する機能モジュールをＲＡＭに展開して配置する（ステップＳ２１０）。
【０１０８】
起動工程表で指示されているすべての処理に関する機能モジュールのＲＡＭへの展開配置が終了すると、制御対象モータを処理し、操作受付状態となる（ステップＳ２１３）。
【０１０９】
＜本実施形態の効果＞
ファームウェアを機能モジュールに分割し、起動時に必要な機能モジュールのみをロードするため、使用者にとってのレスポンスが向上する。また、ミシンの操作モード（刺繍縫いモード、通常縫いモード）を決定するだけでなく、ユーザ設定されている機能やファイルの格納状況をも含めて、起動工程表を作成して、関連するモジュールやデータの読み込みを優先して行なうため、使用者にとっては、ミシンへの電源投入後、短時間で、所望の作業を実行できる。
【０１１０】
なお、ミシンの処理をコンピュータシステムあるいはコンピュータが読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをミシンに読み込ませ、実行することによって本発明のミシンを実現することができる。ここでいうコンピュータシステムあるいはコンピュータとは、ＯＳや周辺装置等のハードウェアを含む。
【０１１１】
また、「コンピュータシステムあるいはコンピュータ」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムあるいはコンピュータから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムあるいはコンピュータに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【０１１２】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムあるいはコンピュータにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であってもよい。
【０１１３】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、上記実施形態では、動画ファイルを例示したが、対応する機能モジュールがある場合には、音声ファイルについて適用してもよい。また、刺繍枠の種類を判別できる場合には、判別した刺繍枠の種類によって、対応する機能モジュールを読み込むようにしてもよい。つまり、刺繍枠の種類によって、対応できる刺繍サイズが異なるため、刺繍リストの表示形式や表現方法を判別した刺繍枠の種類に対応したものに変更したり、サイズをオーバしてしまうものについては、読み込みを禁止するような対応をしてもよい。
【符号の説明】
【０１１４】
１０１；ＣＰＵ
１０２；ＲＯＭ
１０３；ＲＡＭ
１０４；操作画面
１０５；ＧＵＩ画面
１０６；タクトスイッチ
１０７；ロード順序決定部
１０８；ロード部
１０９；起動部
１１０；センサ
１１１；刺繍枠検出センサ部
１１２；刺繍ユニットセンサ部
１２１；操作履歴記憶部
１２２；スコア算出部
１２３；設定部
１２４；設定内容検知部
１３０；ＵＳＢ通信装置
１４０；無線ＬＡＮ通信装置
１５０；ファイル記憶装置
１６０；ミシンモータ制御装置
１７０；振幅・送りモータ制御装置
１８０；Ｘ−Ｙモータ制御装置
【図１】
2018010573.tif 000003
【図２】
2018010573.tif 000004
【図３】
2018010573.tif 000005
【図４】
2018010573.tif 000006
【図５】
2018010573.tif 000007
【図６】
2018010573.tif 000008
【図７】
2018010573.tif 000009
【図８】
2018010573.tif 000010
【図９】
2018010573.tif 000011
【図１０】
2018010573.tif 000012
【図１１】
2018010573.tif 000013
【図１２】
2018010573.tif 000014
【図１３】
2018010573.tif 000015