モータと、該モータにより駆動される先端工具駆動部と、該モータを制御するための複数の制御モードを記憶する第1の記憶手段と、該複数の制御モードの一部の制御モードを複数の駆動モードとして記憶する第2の記憶手段と、該複数の駆動モードに基づき該モータを制御する制御部と、を備えることを特徴とする電動工具。外部機器に接続可能な外部機器接続部を更に備え、該第2の記憶手段は、該外部機器接続部に接続された該外部機器から送信された該一部の制御モードを該複数の駆動モードとして記憶することを特徴とする請求項1に記載の電動工具。しかし、従来の電動工具において多数の制御モードが動作可能である場合、制御モードの切替のためにダイヤルを設けたとしても、所望の制御モードに合わせる操作に手間がかかってしまう。更に、ネジ締めを主に行なうユーザと、ボルト締めを主に行なうユーザとでは、主に使用する制御モードが異なり、多数の制御モードを設けたとしても、ユーザにとって不要な制御モードを搭載することとなる。そこで本発明は、ユーザが必要とする制御モードのみに基づき動作可能な電動工具を提供することを目的とする。上記目的を達成するために、本発明によれば、モータと、該モータにより駆動される先端工具駆動部と、該モータを制御するための複数の制御モードを記憶する第1の記憶手段と、該複数の制御モードの一部の制御モードを複数の駆動モードとして記憶する第2の記憶手段と、該複数の駆動モードに基づき該モータを制御する制御部とを備えた電動工具を提供している。このような構成によれば、ユーザが選んだ制御モードのみに基づき電動工具を動作させることができ、ユーザの要望に合わせた電動工具を提供することができる。また、外部機器に接続可能な外部機器接続部を更に備え、該第2の記憶手段は、該外部機器接続部に接続された該外部機器から送信された該一部の制御モードを該複数の駆動モードとして記憶することが好ましい。このような構成によれば、外部機器接続部を介して、外部機器により複数の駆動モードを設定することができる。本発明によれば、ユーザが必要とする制御モードのみに基づき動作可能な電動工具を提供することができる。以下、本発明の第1の実施形態に係る電動工具の一例である電子パルスドライバ1の構成について、図1から図3に基づき説明する。図1に示すように、電子パルスドライバ1は、本体1A及び電池24から構成されている。本体1Aは、ハウジング2と、モータ3と、ハンマ部4と、アンビル部5と、インバータ回路6と、制御部7と、回転位置検出素子ホール素子8図3から主に構成されている。ハウジング2は樹脂製であって電子パルスドライバ1の外郭を成しており、略筒状の胴体部21と、胴体部21から延出されるハンドル部22とから主に構成されている。胴体部21内には、その長手方向がモータ3の軸方向と一致するようにモータ3が配置されると共に、モータ3の軸方向一端側に向かってハンマ部4、アンビル部5が並んで配置されている。以下の説明においては、アンビル部5側を前側、モータ3側を後側、モータ3の軸方向と平行な方向を前後方向と定義する。また、胴体部21側を上側、ハンドル部22側を下側、胴体部21からハンドル部22が延びる方向を上下方向と定義する。また、前後方向及び上下方向と直交する方向を左右方向と定義する。胴体部21内の前側位置には、ハンマ部4及びアンビル部5が内蔵される金属製のハンマケース23が配置されている。ハンマケース23は、前方に向かうに従って徐々に径が細くなる略漏斗形状を成しており、前端部分には開口23aが形成され、開口23aを画成する内壁にはメタル23Aが設けられている。また、胴体部21には、後述のファン32により胴体部21内に外気を吸入排出する複数の吸気口21a及び排気口21bが形成されている。当該外気によりモータ3は冷却される。また、モータ3の後側には、スイッチ機構6が設けられている。ハンドル部22は、胴体部21の前後方向略中央位置から下側に向けて延出され胴体部21と一体に構成されている。そして、ハンドル部22の下端には、モータ3等に電力を供給する電池24が着脱可能に装着されている。ハンドル部22の上部かつ前側位置には、トリガ25が設けられている。また、ハンドル部22の下部の右側側面には、後述の4個の駆動モードを切替える図示せぬ切替スイッチトグルスイッチが配置されている。更に、切替スイッチの近傍には、後述の4個の駆動モードの内、いずれのモードが選択されているかを表示する図示せぬ表示部が配置されている。図2に示すように、モータ3は、出力軸部31を有するロータ3Aと、ロータ3Aと対向配置されたステータ3Bとから主に構成されるブラシレスモータであり、出力軸部31の軸方向が前後方向と一致するように胴体部21内に配置されている。出力軸部31は、ロータ3Aの前後に突出しており、その突出した箇所でベアリングにより胴体部21に回転可能に支承されている。出力軸部31の前側に突出している箇所には、出力軸部31と同軸一体回転するファン32が設けられており、更に、当該箇所の最前端位置には、ピニオンギヤ31Aが出力軸部31と同軸一体回転するように設けられている。ハンマ部4は、ギヤ機構41と、ハンマ42とから主に構成されており、ハンマケース23内のモータ3の前側に内蔵されている。ギヤ機構41は、一のアウターギヤ41Aを共有する二つの遊星歯車機構41B、41Cから構成されている。アウターギヤ41Aは、ハンマケース23内に内蔵されると共に胴体部21に固定されている。一の遊星歯車機構41Bは、アウターギヤ41Aと噛合するようにアウターギヤ41A内に配置され、ピニオンギヤ31Aを太陽ギヤとして用いている。他の遊星歯車機構41Cは、アウターギヤ41Aと噛合するようにアウターギヤ41A内であって一の遊星歯車機構41Bの前側に配置され、一の遊星歯車機構41Bの出力軸を太陽ギヤとして用いている。ハンマ42は、遊星歯車機構41Cの遊星キャリアの前面に規定されており、前側に向けて突出すると共に遊星歯車機構41Cの遊星キャリアの回転中心からずれた位置に配置された第1係合突起42Aと、遊星歯車機構41Cの遊星キャリアの回転中心を挟んで第1係合突起42Aと対極に位置する図示せぬ第2係合突起とを有している。アンビル部5は、ハンマ部4の前方に配置されており、先端工具装着部51と、アンビル52とから主に構成されている。先端工具装着部51は、円筒状に構成され、ハンマケース23の開口23a内にメタル23Aを介して回転可能に支持されている。先端工具装着部51には、図示せぬビットが挿入される穿孔51aが前後方向へ穿設されており、前端部分には、図示せぬビットを保持するチャック51Aが設けられている。アンビル52は、先端工具装着部51の後方であってハンマケース23内に先端工具装着部51と一体に構成されており、先端工具装着部51の回転中心に対して対極に配置され後側に向けて突出した第1被係合突起52A及び第2被係合突起52Bを有している。ハンマ42が回転すると、第1係合突起42Aと第1被係合突起52Aとが衝突すると同時に、図示せぬ第2係合突起と第2被係合突起52Bとが衝突し、これにより、ハンマ42の回転力がアンビル52に伝達される。図3に示すように、インバータ回路6は、3相ブリッジ形式に接続されたFET等の6個のスイッチング素子Q1~Q6から構成されている。制御部7は、ハンドル部22内の電池24近傍位置に配置された基板に搭載されており、電池24に接続されると共にトリガ25、インバータ回路6、図示せぬ切替スイッチ、及び図示せぬ表示部に接続されている。また、図3に示すように、制御部7は、電流検出回路71と、スイッチ操作検出回路72と、印加電圧設定回路73と、回転方向設定回路74と、回転子位置検出回路75と、回転角度検出回路76と、温度検出回路77と、演算部78と、制御信号出力回路79と、EEPROM80、外部接続端子81を備えている。外部接続端子81は、外部機器であるPC82図4を本体1Aに接続するための端子であり、ハンドル22の電池24に対向する部分に設けられている。回転位置検出素子8は、ロータ3Aの永久磁石3Cに対向する位置に設けられており、ロータ3Aの周方向に所定の間隔毎例えば角度60°毎に配置されている。次に、モータ3の駆動制御系の構成を図3に基づき説明する。本実施の形態では、モータ3は、3相のブラシレスDCモータであり、ロータ3Aは複数組本実施の形態では2組のN極とS極を含む永久磁石を有し、ステータ3Bはスター結線された3相の固定子巻線U、V、Wである。インバータ回路6の各スイッチング素子Q1~Q6のゲートは、制御部7の制御信号出力回路79に接続され、各スイッチング素子Q1~Q6のドレイン又はソースは、ステータ3Bの固定子巻線U、V、Wに接続されている。6個のスイッチング素子Q1~Q6は、制御信号出力回路79から入力されるスイッチング素子駆動信号によってスイッチング動作を行い、インバータ回路66に印加される電池24の直流電圧を3相U相、V相及びW相電圧Vu、Vv、Vwとして固定子巻線U、V、Wに電力を供給する。詳細には、制御信号出力回路79から正電源側スイッチング素子Q1、Q2、Q3に入力される出力切替信号H1、H2、H3により、通電される固定子巻線U、V、W、すなわち、ロータ3Aの回転方向が制御される。また、制御信号出力回路79から負電源側スイッチング素子Q4、Q5、Q6に入力されるパルス幅変調信号PWM信号H4、H5、H6により、固定子巻線U、V、Wへの電力供給量、すなわち、ロータ3Aの回転速度が制御される。電流検出回路71は、モータ3に供給される電流値を検出し、演算部78に出力する。スイッチ操作検出回路72は、トリガ25の操作の有無を検出して演算部78に出力する。印加電圧設定回路73は、トリガ25の操作量に応じた信号を演算部78に出力する。また、電子パルスドライバ1には、モータ3の回転方向を切替えるための図示せぬ正逆切替レバーが設けられており、回転方向設定回路74は、正逆切替レバーの切り替えを検出すると、モータ3の回転方向を切り替えるための信号を演算部78に送信する。回転子位置検出回路75は、回転位置検出素子8からの信号に基づきロータ3Aの回転位置を検出し、演算部78に出力する。回転数検出回路76は、回転位置検出素子8からの信号に基づきロータ3Aの回転数を検出し、演算部78へ出力する。回転角度検出回路76は、回転子の角度を検出し、回転角度による制御を行なう場合に検出値を用いるためのものである。また、温度検出回路77は、モータ3の温度を検知しており、演算部78はモータ3が所定の温度に達するとモータ3の回転を停止するように構成されている。演算部78は、図示していないが、処理プログラムとデータに基づいて駆動信号を出力するための中央処理装置CPUと、処理プログラムや制御データを記憶するためのROMと、データを一時記憶するためのRAMと、タイマとを備えている。演算部78は、回転方向設定回路74と回転子位置検出回路75からの信号に基づき、出力切替信号H1、H2、H3を、印加電圧設定回路73からの信号に基づきパルス幅変調信号PWM信号H4、H5、H6を生成し、制御信号出力回路79に出力する。なお、PWM信号を正電源側スイッチング素子Q1~Q3に出力し、出力切替信号を負電源側スイッチング素子Q4~Q6に出力してもよい。演算部78のROMには、モータ3を制御するための20個の制御モード制御プログラムが記憶されている。そして、ROMに記憶された20の制御モード内の4つの制御モードが、4つの駆動モードとしてEEPROM80に記憶されている。具体的には、ROMに記憶された20個の制御モードには番号が付されており、EEPROM80には4個の制御モードに対応する4個の番号が記憶されている。そして、切替スイッチにより4個の駆動モードから選択された駆動モードが、現在選択されている駆動モードとして表示部に表示される。また、CPUは、選択された駆動モードに対応する制御モードをROMから読み出してモータ3を制御する。次に、演算部78のROMに記憶された20個の制御モードについて説明する。本実施の形態による電子パルスドライバ1は、ドリルモード、クラッチモード1~10、トルクコントロールモード1~5、パルスモード1~4の合計20の制御モードを備えている。ドリルモードとは、ハンマ42とアンビル52とを一体的に回転させるモードであって、主に、木ネジを締結する場合等に用いられる。モータ3に流れる電流は締結が進むにつれて増加する。クラッチモードとは、ハンマ42とアンビル52とを一体的に回転させた状態でモータ3に流れる電流が目標値目標トルクまで増加した場合にモータ3の駆動を停止させるモードであって、主に、締結後に外観に現れる留め金具を締結する場合等、正確なトルクで締結することを重要視する場合に用いられる。そして、本実施の形態では、締付力目標トルクの値に応じて10個のクラッチモードが設けられている。トルクコントロールモードとは、ハンマ42とアンビル52とを一体的に回転させた状態でモータ3に流れる電流が所定値所定トルクまで増加した場合に、モータ3の正転及び逆転を交互に切り換えて打撃を行ない、所定打数打撃後にモータ3の駆動を停止させるモードであって、クラッチモードより高いトルクで留め金具等を締結する場合に用いられる。そして、本実施の形態における電子パルスドライバ1では、5個のトルクコントロールモードが設けられている。パルスモードとは、ハンマ42とアンビル52とを一体的に回転させた状態でモータ3に流れる電流が所定値所定トルクまで増加した場合にモータ3の正転及び逆転を交互に切り換えて打撃により留め金具を締結するモードであって、主に、外観に現れない場所で用いられる長尺のネジを締結する場合等に用いられる。これにより、強力な締結力を供給することができると同時に、被加工部材からの反発力を低減することができる。そして、本実施の形態における電子パルスドライバ1では、締付力所定トルクの値に応じて4個のパルスモードが設けられている。次に、20個の制御モードの内からユーザが4個の制御モードを選択し、4個の駆動モードとしてEEPROM80に記憶する方法について、図4から図6に基づき説明する。まず、図4に示すように、電子パルスドライバ1から電池24を取り外し、本体1AとPC82とをUSBケーブル83により互いに接続する。USBケーブル83は、本体1Aの外部接続端子81に接続され、PC82よりUSBケーブル83を介して本体1Aに電気が供給される。PC82は、CPU、ROM、RAM等を備える本体部82Aと、ディスプレイ82Bとを有しており、PC82のROMには、駆動モードを設定するためのアプリケーションソフトがあらかじめ記憶されている。そして、本体1AとPC82とが接続された後、ユーザが、PC82に記憶されたアプリケーションソフトが起動することにより、図5に示すように、本体1Aの本体データ及び設定値の返信要求をPC82のCPUから本体1Aへ送信するS1。ここで、本体データとは、電子パルスドライバ1の機種名を示し演算部78のROMに記憶され、設定値とは、EEPROM80に記憶されている4個の駆動モードを示している。本体1AのCPUは、PC82との接続後、返信要求を受けたか否かを常時判断しておりS2、PC82からの返信要求を受けてS2:YES、本体データ及び設定値をPC82へ送信するS3。本体1Aは、返信要求を受け取るまで、常に送信要求を受けたか否かを判断しているS2:NO。PC82では、返信要求を送信したS1後、所定時間経過後、本体1Aから本体データ及び設定値の返信があるか否かを判断しS4、返信があった場合S4:YES、返信確認応答を本体1Aへ送信するS5。受信した本体データは、PC82のRAMに記憶される。返信が無い場合S4:NOは、通信異常処理を行ないS6、S1へ戻る。通信異常処理S6では、例えば、異常発生回数をカウントしている。そして、異常発生回数が所定回数に達した場合に、通信異常のエラー通知がユーザに対し行なわれる。また、本体1Aでは、本体データ及び設定値を送信したS3後、所定時間経過後、PC82から返信確認応答の返信があるか否かを判断しS7、返信が無い場合S7:NO、S6と同様の通信異常処理を行いS8、S2へ戻る。なお、通信異常処理S8と共に、再度S1から再度処理を行なう旨がPC82に送信される。次に、PC82では、返信確認応答の送信S5後、通信異常があった旨が本体1Aから送信されなかった場合に、PC82のディスプレイ82B上に図6に示すGUI画面90が表示されるS9。GUI画面90は、機種名表示エリア91、制御モードリスト表示エリア92、送信モード表示エリア93、設定ボタン94、送信ボタン95、及び、リセットボタン96を有している。機種名表示エリア91には、本体データに基づき電子パルスドライバ1の機種名等が表示される。制御モードリスト表示エリア92には、本体データに基づき電子パルスドライバ1が有する20個の制御モードのリストが表示される。送信モード表示エリア93には、受信した設定値に基づき、電子パルスドライバ1の現在の制御モード駆動モードが表示される。GUI画面90が表示されたことにより、送信モード表示エリア93の制御モードの変更が可能な状態となるS10。ユーザが、送信モード表示エリア93に表示された4個の制御モードの内、1つの制御モード選択し、リセットボタン96をクリックすることにより、選択した制御モードを消去することができる。また、ユーザが20個の制御モードのリストの内の1つの制御モードを選択し、設定ボタン94をクリックすることにより、選択した制御モードを送信モード表示エリア93に表示させることができる。本実施の形態では、4個の制御モードを選択可能に設定されている。そして、ユーザが4個の制御モードを順次選択した後、送信ボタン95をクリックすることにより、4個の制御モードはPC82から本体1Aへ設定値駆動モードとして送信される。本実施の形態では、4個の制御モードに付された番号が設定値として本体1Aへ送信される。PC82は、送信モード表示エリア93の制御モードを変更可能な状態とした後、4個の制御モード設定値が確定したか否かを判断しているS11。具体的には、送信ボタン95がクリックされたか否かを判断している。送信ボタン95がクリックされない間はS11:NO、S10及びS11の処理を繰り返し行なう。そして、PC82は、送信ボタン95がクリックされた時に、設定値が確定したと判断しS11:YES、設定値を本体1Aへ送信するS12。なお、送信した設定値は、PC82においてRAMに記憶された本体データに対応付けて記憶される。本体1Aでは、確認応答を受け取った後S7:YES、設定値をPC82から受け取ったか否かを判断しているS13。そして、設定値をPC82から受け取った場合S13:YES、当該設定値を現在記憶されている設定値に替えてEEPROM80に書込むS14。PC82は、設定値を送信した後S12、再び本体データ設定値の返信要求を本体1Aへ送信するS15。本体1Aでは、設定値をEEPROM80に書込んだ後S14、返信要求を受けたか否かを判断しておりS16、PC82からの返信要求を受けてS16:YES、本体データ及び設定値をPC82へ送信するS17。一方、PC28では、返信要求を送信S15後、本体1Aから本体データ及び設定値の返信があるか否かを判断するS18。返信が無かった場合S18:NO、PC82は、S6と同様の通信異常処理を行い、設定値の設定が無事に終了しなかった旨及びもう一度駆動モードの設定を促す旨のメッセージをディスプレイ82Bに表示しS19、S10へ戻る。返信があった場合S18:YES、PC82は、本体部82AのRAMに記憶された本体データ及び設定値と、本体1Aから受信した本体データ及び設定値とが一致するか否か判断するS20。一致すると判断した場合にはS20:YES、設定値駆動モードの設定が無事に完了した旨のメッセージをディスプレイ82Bに表示しS21、通信異常処理のカウント数をリセットし、設定処理を終了する。一方、一致しないと判断した場合にはS20:NO、S19の処理と同様の処理を行い、S10へ戻る。上記のように4個の制御モードが選択され、電子パルスドライバ1のEEPROM80に駆動モードとして記憶される。そして、4個の駆動モードの内、切替スイッチにより選択された1つの駆動モードに基づいて、電子パルスドライバ1が駆動される。よって、ユーザが選んだ制御モードのみに基づき、電子パルスドライバ1を動作させることができる。従って、ユーザの要望に合わせた電子パルスドライバ1を提供することができる。また、上記のように、駆動モードの変更は、本体1AをPC82に接続することにより実行することができる。なお、本発明の電子パルスドライバは、上述した実施の形態に限定されず、特許請求の範囲に記載した範囲で種々の変形や改良が可能である。例えば、4個の制御モードを駆動モードとしてEEPROM80に記憶したが、駆動モードの数は4個に限られない。また、EEPROM80には、駆動モードとして制御モードに対応する番号を記憶したが、駆動モードとして制御モード自体を記憶しても良い。