(58)【調査した分野】(Int.Cl.,DB名)
前記制御部は、前記通信部にて受信された前記通信フレーム内の情報フレームの中から、前記読み出し要求又は書き込み要求を送信してきた要求元の認証情報を取得し、該認証情報が正規のものである場合に、前記読み出し要求又は書き込み要求に対応する処理動作を実行することを特徴とする請求項1に記載の無線通信装置。
【発明を実施するための形態】
【0023】
以下に本発明の実施形態を図面と共に説明する。
図1に示すように、本発明が適用された実施形態の充電式スクリュードライバ2は、長尺状の本体4と、本体4の長手方向一端側に着脱可能に取り付けられるアングルヘッド6と、本体4の長手方向他端側に着脱可能に取り付けられるバッテリパック8とを備える。
【0024】
アングルヘッド6が取り付けられる本体4の一端側には、アングルヘッド6を回転駆動するためのモータ12(
図2参照)が内蔵されている。そして、アングルヘッド6は、内部のギヤ機構を介してモータ12の回転を、その回転軸とは異なる軸方向に変換して先端工具に伝達する。
【0025】
また、本体4の中央には、使用者が外部操作によってモータ12の駆動指令を入力するための操作部14が設けられている。そして、操作部14とバッテリパック8の装着部との間には、使用者が本体4を把持した状態で、人差指等で操作部14を操作できるように、把持部16が形成されている。
【0026】
一方、本体4内には、モータ12に加えて、
図2に示す制御回路20、及び、通信回路30が収納されている。
制御回路20は、バッテリパック8から電力供給を受けて動作し、操作部14からの指令に従いモータ12を駆動制御するためのものである。
【0027】
すなわち、制御回路20は、モータ12(本実施形態ではブラシレスモータ)へ通電することによりモータ12を駆動するモータ駆動部22、モータ12に流れる電流を検出する電流検出部24、及び、MCU(Micro Control Unit)26を備える。
【0028】
MCU26は、モータ12に設けられた回転センサ12a及び電流検出部24からの検出信号に基づき、モータ12が操作部14からの指令に応じた回転状態となるよう、モータ駆動部22を介して、モータ12を制御する。
【0029】
また、この制御のために、MCU26には、充電式スクリュードライバ2によってねじ締め作業を行う際の動作条件(モータ12の回転速度(speed)や回転量(turns)等)やその設定変更可能範囲(上限値、下限値、設定可能ステップ値等)を記憶するための不揮発性メモリ27が設けられている。
【0030】
なお、この不揮発性メモリ27は、本発明の記憶部に相当し、制御回路20は、本発明の制御部に相当し、通信回路30は、本発明の通信部に相当する。
また、制御回路20には、バッテリパック8から電力供給を受けて、MUC26に電源電圧(直流定電圧)を供給するレギュレータ部28が備えられている。また、MCU26には、各種動作状態を使用者に知らせるための報知部18が接続されている。なお、報知部18は、ブザー、LED等にて構成される。
【0031】
一方、通信回路30は、スマートフォン等、外部端末50との間で、上述したNFC方式の近接無線通信を行うためのものであり、アンテナ部32、通信制御部34、及び、これら各部を接続するRFインターフェース36を備える。
【0032】
また、通信回路30には、外部端末50との通信に必要な各種情報を記憶するメモリ38、及び、制御回路20のMCU26との間でデータ通信を行うためのシリアルインターフェース39も設けられている。
【0033】
そして、通信制御部34は、メモリ38に記憶された通信用の情報をRFインターフェース36とシリアルインターフェース39との間で通信を行うためにデータの制御を行っている。これにより、通信制御部34は外部端末50との間で近接無線通信を行うと共に、その近接無線通信により外部端末50との間で送受信されるデータをMUC26との間でやりとりすることで、MCU26と外部端末50との間の通信を中継する。
【0034】
制御回路20及び通信回路30は、それぞれ、異なる回路基板に電子部品を実装することにより構成されており、これら各部は、コネクタ40を介して接続されている。
つまり、コネクタ40は、MCU26の通信ポートと通信回路30のシリアルインターフェース39との間の通信線、及び、レギュレータ部28から通信制御部34へ電源供給を行うための電力線、を接続する。
【0035】
通信回路30の回路基板は、本体4の把持部16の内側に収納されており、外部端末50を把持部16に接近させることで、外部端末50と通信回路30との間の通信が可能になる。
【0036】
NFC方式の近接無線通信は、ICカードからのデータの読み出し、及び、ICカードへのデータの書き込みを行うための技術である。
このため、本実施形態では、外部端末50を利用して、
図3に示す手順で、不揮発性メモリ27に記憶されたモータ12の動作条件の読み出し、及び、書き込みを行うことができる。
【0037】
すなわち、外部端末50を利用して、制御情報を読み出す際には、まず、外部端末50を把持部16にかざすことで、通信相手となる通信回路30を補足させ、外部端末50から通信回路30に向けて、不揮発性メモリ27の所定アドレスに記憶された所望のデータ(所定アドレスデータ)の読み出し要求を送信させる(手順1)。
【0038】
すると、通信回路30の通信制御部34は、その読み出し要求を受信し、シリアルインターフェース39を介して、制御回路20に出力(転送)する(手順2)。
この結果、制御回路20側では、MCU26が、外部端末50からの読み出し要求を取得し、その読み出し要求に対応した所定アドレスデータを不揮発性メモリ27から読み出し、通信回路30へ出力する(手順3)。
【0039】
すると、通信回路30では、通信制御部34が、制御回路20から所定アドレスデータを取得し、その取得した所定アドレスデータを外部端末50に送信する(手順4)。
この結果、外部端末50では、要求した所定アドレスデータを取得できる(手順5)。
【0040】
また、外部端末50を利用して、制御情報を書き込む際には、上記と同様に通信回路30を補足させた後、外部端末50から通信回路30に向けて、所定アドレスへのデータの書き込み要求を、書き込みデータと共に送信させる(手順1)。
【0041】
すると、通信回路30の通信制御部34は、その書き込み要求/データを受信し、シリアルインターフェース39を介して、制御回路20に出力(転送)する(手順2)。
この結果、制御回路20側では、MCU26が、外部端末50からの書き込み要求/データを取得し、取得したデータを不揮発性メモリ27の所定アドレスに書き込み、書込結果を表すAck/Nack情報を出力する(手順3)。
【0042】
すると、通信回路30では、通信制御部34が、制御回路20からAck/Nack情報を取得し、その取得したAck/Nack情報を外部端末50に送信する(手順4)。
この結果、外部端末50では、Ack/Nack情報を受信し、書き込み要求と共に送信したデータが正常に書き込まれたか否かを確認できる(手順5)。
【0043】
また、NFC方式の近接無線通信では、こうしたデータの読み出し及び書き込みを行う際に送受信するデータのフォーマットが規定されているため、本実施形態では、その規定に対応した
図4に示すデータフォーマットにて、外部端末50−通信回路30−制御回路20間での送受信を行う。
【0044】
但し、NFC方式の近接無線通信では、外部端末50から読み出し要求/書き込み要求を行う際には、送信データの先頭の2バイト(
図4に示す「AddressL」、「AddressH」)を使って記憶媒体のアドレスを指定するようになっている。そして、指定可能なアドレスは、実質、2バイトの2分の1の領域、つまり8ビットとなるため、データの読み出し/書き込みができる記憶媒体の記憶エリアが極めて狭い。
【0045】
そこで、本実施形態では、データフォーマットを変更することなく、書き込み要求時に送信データに付与する書き込み用のデータ領域(
図4に示す「Data0」〜「Data15」の16バイト)を利用して、データの読み出し若しくは書き込みを行うアドレスを指定できるようにしている。
【0046】
具体的には、
図5の(1)に示すように、外部端末50からは、
図4に示す書き込み要求時の送信データのデータ領域(「Data0」〜「Data15」)を、2バイト単位で利用することで、所定アドレスの情報の読み出し若しくは書き込み要求を行う最大6個のコマンド(
図5に示すC1〜C6)と、コマンド数と、認証キーとを送信する。
【0047】
なお、本実施形態では、このコマンドC1〜C6は、不揮発性メモリ27からの読み出し若しくは書き込みを行うデータのアドレスを指定するのに利用される。
また、このコマンド送信により、制御回路20のMCU26は、受信した複数のコマンドC1〜C6を記憶し、通信回路30を介して、
図6の(1)に示すように、そのコマンドを受信したことを表すAck/Nack情報を返信する。
【0048】
次に、外部端末50は、
図5の(2)〜(7)に示すように、先に送信した複数のコマンド(C1〜C6)に対応したデータの読み出し指令又は書き込み指令を順次送信する。
つまり、先に送信したコマンドが、不揮発性メモリ27から読み出す情報のアドレスであれば、
図5の(2)〜(6)に示すように、
図4に示す書き込み要求時の送信データのフォーマットを使って、先に指定したアドレスのデータの読み出し指令を送信する。
【0049】
すると、制御回路20のMCU26は、
図6の(2)〜(6)に示すように、先に受信したコマンドに対応したアドレスの情報を不揮発性メモリ27から読み出し、
図4に示した読み出しデータ返信時のデータフォーマットを使って、読み出しデータを返信する。
【0050】
また、外部端末50は、先に送信したコマンドが、不揮発性メモリ27に書き込む情報のアドレスであれば、
図5の(7)に示すように、
図4に示す書き込み要求時の送信データのフォーマットを使って、書き込みデータを送信する。
【0051】
すると、制御回路20のMCU26は、先に受信したコマンドに対応した不揮発性メモリ27のアドレスに、受信データを書き込み、
図6の(7)に示すように、その書込結果(Ack/Nack情報)を返信する。
【0052】
この結果、本実施形態によれば、NFC方式の近接無線通信を行う一般的な通信回路30を利用して、不揮発性メモリ27のアドレスをより広範囲に指定し、不揮発性メモリ27からの情報の読み出し若しくは書き込みを実行することができるようになる。
【0053】
なお、
図5から明らかなように、本実施形態では、不揮発性メモリ27から読み出す情報として、コマンドC1〜C5を利用して、電動工具の固有情報、動作条件として設定可能な上限値情報、動作条件として設定可能な下限値情報、動作条件を設定変更する際の最小単位である設定可能ステップ情報、及び、現在設定されている動作条件である現工具設定情報を指定できる。
【0054】
また、不揮発性メモリ27に書き込む情報として、コマンドC6により、動作条件を更新するための新工具設定情報を設定することができる。
そして、使用者は、新工具設定情報を設定する場合、不揮発性メモリ27から読み出した上限値情報、下限値情報、設定可能ステップ情報を確認することで、新工具設定情報を適正に設定することができる。
【0055】
また、
図6から明らかなように、コマンドC1により取得可能な電動工具の固有情報は、製品名、モータの種類、定格電圧、制御仕様、シリアル番号等である。
また、コマンドC2〜C5により読み出し、コマンドC6により書き込むことができる動作条件は、ねじ締め開始直後のモータ12の回転速度(First speed)及び回転量(First turns)、ねじ締め途中のモータ12の回転速度(Rundown speed)及び回転量(Rundown turns)、及び、ねじ締め終了時のモータ12の回転速度(Final speed)及び回転量(Final turns)である。
【0056】
つまり、例えば、製造工場等で、充電式スクリュードライバ2を利用して、所定のねじ締めを行う場合、
図7に示すように、時点t0でねじ締めを開始してから、ねじが所定回転する時点t1までは、所定の低速でモータ12を回転させる。
【0057】
そして、その後は、モータ12を高速回転させて、ねじ締めを行い、ねじ締めが概ね完了すると(時点t2)、ねじの締め付けのために、ねじが更に所定回転する時点t3まで、モータを低速回転させる。
【0058】
このため、本実施形態の充電式スクリュードライバ2では、こうしたねじ締め作業を適正に行うために、上記各動作条件(First speed、First turns、Rundown speed、Rundown turns、Final speed、Final turns)が規定されている。
【0059】
また、これら各動作条件を、外部端末50を使って設定変更できるようにするために、これら各動作条件と、その設定可能範囲(上限値、下限値、設定可能ステップ値)が、不揮発性メモリ27に記憶されている。
【0060】
一方、
図5に示した外部端末50からの送信データにおいて、2バイトの先頭フレーム(「AddressL」、「AddressH」)は、アドレス指定に利用されない。
そこで、本実施形態では、
図5の(1)に記載のように、この先頭フレームの3ビット(b5,b6,b7)を使って、後述の通信処理にて使用されるフラグF_T1、F_T2、及び、送信データが書き込み要求であるのか読み出し要求であるのかを表すフラグF_writeを、外部端末50から送信する。また、この先頭フレームには、外部端末50の固有の4ビットの認証キーも付与される。
【0061】
次に、モータ12の駆動制御や、外部端末50からの要求に基づく不揮発性メモリ27に対する情報の読み出し及び書き込みを行うために、制御回路20のMCU26にて実行される制御処理を、
図8〜
図11のフローチャートを用いて説明する。
【0062】
図8に示すように、MCU26は、S110(Sはステップを表す)にて、所定の制御周期が経過したか否かを判断し、所定の制御周期が経過していなければ、再度S110の判定処理を実行することで、所定の制御周期が経過するのを待つ。
【0063】
そして、所定の制御周期が経過すると、S120以降の処理を実行する。つまり、MCU26は、所定の制御周期で、S120以降の処理を周期的に実行する。
S120では、ウォッチドッグタイマ(WDT)をクリアするWDTクリア処理を実行し、続くS130にて、操作部14に設けられた操作スイッチからの信号(スイッチ信号)を確認する。
【0064】
また、続くS140では、操作部14の操作量、電流検出部24にて検出される電流やバッテリパック8から供給されるバッテリ電圧、モータ12に設けられた回転センサ12aや図示しない温度センサ等からの検出信号を、A/D変換して取り込むA/D変換処理を実行する。
【0065】
そして、続くS150では、S140でのA/D変換結果に基づき、バッテリ電圧の低下、モータ12の過熱、といった異常を確認する異常確認処理を実行し、続くS160に移行して、モータ12を駆動制御するモータ制御処理を実行する。
【0066】
なお、モータ制御処理では、異常確認処理にて異常が検出されると、モータ12の駆動を停止し、その後、使用者による操作部14の操作が終了するまで、駆動停止状態を保持する。また、モータ制御処理では、後述の通信処理にてセット/リセット(クリア)されるフラグF_Mstopがセットされている場合にも、モータ12の駆動を停止する。
【0067】
次に、S170では、通信回路30を介して入力される外部端末50からの書き込み要求又は読み出し要求を受信し、書き込み結果若しくは読み出し情報を返信する通信処理を実行する。
【0068】
また、続くS180では、S170での通信処理に基づく不揮発性メモリ27へのデータの書き込み、若しくは、不揮発性メモリ27からのデータの読み出しを行うメモリ操作処理を実行する。
【0069】
そして、最後に、S190に移行して、異常確認処理にて検出された異常や、通信処理で取得した書き込みデータの異常を、報知部18を介して使用者に報知する、報知制御処理を実行し、S110に移行する。
【0070】
なお、
図9に示すように、この報知制御処理では、S191にて、通信処理にてセット/リセット(クリア)されるフラグF_setoverがセットされているか否かを判断することにより、通信処理で取得した動作条件の更新データが、
図6に示した上・下限値情報若しくは設定可能ステップ情報にて規定される更新可能範囲内にあるか否かを判断する。
【0071】
そして、フラグF_setoverがセットされていれば、S192に移行し、報知部18を駆動することにより、その旨を報知する。なお、上述したように、報知部18はブザー、LED等にて構成されることから、S192では、ブザーの鳴動、LEDの点灯(若しくは点滅)により、更新データが更新可能範囲から外れていること(つまり、更新データによる更新不可)を、使用者に通知する。
【0072】
また、フラグF_setoverがセットされていなければ、報知制御処理を終了する。
次に、本発明に係る主要な処理である通信処理(S170)について説明する。
図10に示すように、通信処理では、S210にて、フラグF_T1が値0にクリアされているか否かを判断する。このフラグF_T1は、後述の処理や、外部端末50からの送信データにより、
図5の(1)に示した複数のコマンドC1〜C6を表す最初の送信データを受信して、その受信処理(つまり返信)が完了するまではクリア状態に設定される。
【0073】
このため、S210では、
図5の(1)に示した最初の送信データを受信して受信処理(つまり返信)が完了するまで、肯定判断され、処理はS220に移行する。
S220では、フラグF_setoverをクリアし、S230に移行して、フラグF_S1はクリアされているか否かを判断する。
【0074】
このフラグF_S1は、S500の通信サブ処理にて、外部端末50からの書き込み又は読み込み要求(以下、これらを総称して通信要求ともいう)に対する返信までの一連の処理が完了したときにセットされ、その後、次の通信要求の待機状態になるとクリアされるフラグである。
【0075】
このため、S230では、S210と同様、
図5の(1)に示した最初の送信データを受信して受信処理(つまり返信)が完了するまでは肯定判断され、S500の通信サブ処理を実行する。なお、通信サブ処理の実行後は、通信処理を終了する。
【0076】
通信サブ処理は、
図5の(1)〜(7)に示した外部端末50からの通信要求に従い不揮発性メモリへのデータの読み出し、若しくは、書き込みを行い、その結果(
図5の(1)〜(7)に示した情報)を返信するまでの一連の処理を実行するための処理であり、
図11に示す手順で実施される。
【0077】
すなわち、通信サブ処理では、通信回路30を介して外部端末50からの通信要求が入力されたか否かを判定し、通信要求がなければそのまま通信サブ処理を終了し、通信要求があれば、S520に移行する。
【0078】
S520では、モータ12の駆動を停止させるために、フラグF_Mstopをセットし、続くS530にて、外部端末50からの通信要求の全データの受信が完了したか否かを判断する。
【0079】
そして、通信要求の全データの受信が完了していなければ、通信サブ処理を終了し、通信要求の全データの受信が完了していれば、S540に移行する。
S540では、その受信データの先頭フレームのフラグF_writeから、今回受信した通信要求は、書き込み要求であるのか読み込み要求であるのかを判定する。
【0080】
そして、今回受信した通信要求が書き込み要求であれば、S550に移行して、受信内容をデータ保持バッファへ書き込み、続くS560にて、書き込みデータを正常に受信できたことを返信するための送信内容(
図6の(1)、(7)に示したAck/Nack情報)を準備し、S600に移行する。
【0081】
一方、今回受信した通信要求が読み出し要求であれば、S570に移行し、その読み出し要求に従い不揮発性メモリ27から読み出すべきデータのアドレス(つまり、
図5に示したコマンドC1〜C5にて特定されるアドレス)を、読み出しバッファへ書き込む。
【0082】
すると、S180のメモリ操作処理にて、読み出しバッファに書き込んだアドレスのデータが不揮発性メモリ27から読み出されるので、続くS580では、その読み出しデータを、外部端末50へ返信する送信内容(
図6の(2)〜(6)に示した情報)を準備し、S600に移行する。
【0083】
S600では、S560又はS580にて準備した情報を通信回路30に出力することで、通信回路30から外部端末50に送信(返信)させる、送信処理を実行する。
そして、S610では、S600の送信処理が完了したか否かを判断し、送信処理が完了すると、フラグF_S1をセットし、通信サブ処理を終了する。また、S610にて、送信処理が完了していないと判断されると、通信サブ処理を一旦終了する。
【0084】
このように、通信サブ処理にて、フラグF_S1がセットされると、S230では、否定判断されるようになり、続くS240が実行される。
そして、S240では、フラグF_S1をクリアし、S250にて、S500の通信サブ処理で得られた送信データ(ここでは、
図5の(1)に示した最初の送信データ)から、通信コマンド数及び通信コマンドを取得する。
【0085】
また続くS260では、フラグF_T1をセットし、S270にて、通信サブ処理での通信要求の検出状態をクリアし、当該通信処理を終了する。
このように通信コマンド数及び通信コマンドを取得すると、フラグF_T1がセットされるので、その後、通信処理では、S210にて、否定判断されることになる。そして、S210にて、否定判断されると、S280に移行し、フラグF_T2が値0にクリアされているか否かを判断する。
【0086】
このフラグF_T2は、後述の処理や、外部端末50からの送信データにより、外部端末50から最初に送信されてきた複数のコマンドC1〜C6を全て完了するまで、クリア状態に設定される。
【0087】
このため、S280では、その複数のコマンドが完了するまで肯定判断され、S290に移行する。S290では、S250にて取得した通信コマンド数分の通信が未完了であるか否か、つまり、最初に取得した複数の通信コマンドに対する処理が残っているか否かを判断する。
【0088】
そして、通信コマンド数分の通信が未完了であり、実行すべきコマンドが残っていれば、S300に移行して、フラグF_S1がクリアされているか否かを判断し、フラグF_S1がクリアされていれば、S500の通信サブ処理を実行する。
【0089】
なお、このとき実行される通信サブ処理では、外部端末50からの最初の送信データの受信(つまり、通信コマンド数及び通信コマンドの受信)は終了している。
従って、S300にて肯定判断されたときに実行される通信サブ処理では、最初の送信データに含まれるコマンド毎の実行指令を通信要求として受信し、その実行指令に対応して不揮発性メモリ27への情報の書き込み若しくは読み出しを行うことになる。
【0090】
但し、最初の送信データにて複数のコマンドを取得した後、S510にて通信要求があったか否かを判断する際には、最初の送信データの先頭フレームに付与されていた認証キーと、今回受信した通信要求の先頭フレームに付与されている認証キーとを比較し、これらが一致している場合に、コマンドの実行指令を受信したと判断する。
【0091】
これは、最初に複数のコマンドを送信してきた外部端末50とは異なる外部装置からの送信信号にて、誤動作するのを防止するためである。
次に、S300にて、フラグF_S1がセットされていると判断された場合には、通信サブ処理により、一つのコマンドに対する通信が完了した直後であるので、S310に移行し、今回受信したデータの先頭フレームのフラグF_writeがクリアされているか否か、つまり、通信要求は、読み出し要求であったか否かを判断する。
【0092】
そして、フラグF_writeがクリアされていて、通信要求が読み出し要求であった場合には、S360に移行して、次に実行すべき通信コマンドを設定する。なお、通信コマンド数分の通信が完了していて、次の通信コマンドを設定できないときは、S290の判定処理のために、その旨を記憶する。
【0093】
また、続くS370では、フラグF_S1をクリアし、S380にて、通信サブ処理での通信要求の検出状態をクリアし、当該通信処理を終了する。
次に、S310にて、フラグF_writeがセットされていると判断された場合には、通信要求は、書き込み要求であるので、S320に移行する。
【0094】
S320では、通信サブ処理でデータ保持バッファに記憶した書き込みデータ(本実施形態では、
図5の(7)に示す新工具設定情報)は、設定可能範囲(上・下限値)内にあり、且つ、設定可能ステップ値に対応しているか否かを判断する。
【0095】
そして、S320にて、書き込みデータは、設定可能範囲内にあり、設定可能ステップ値に対応していると判断されると、S340に移行する。
また、S320にて、書き込みデータは、設定可能範囲外にあるか、或いは、設定可能ステップ値に対応していないと判断されると、S330に移行する。
【0096】
そして、S330では、データ保持バッファに記憶された書き込みデータが設定範囲外にあれば、設定可能範囲の上下限値の内、今回受信した書き込みデータに近い方の値となるよう、書き込みデータを補正し、S340に移行する。
【0097】
また、書き込みデータが設定可能ステップ値に対応していない場合には、設定可能ステップ値にて設定可能な値の内、今回受信した書き込みデータに最も近い値となるよう、書き込みデータを補正し、S340に移行する。
【0098】
S340では、データ保持バッファ内の書き込みデータを、書き込みバッファへ移動させ、S350にて、フラグF_flashをセットし、S360に移行する。
なお、このフラグF_flashは、S180のメモリ操作処理にて、書き込みバッファ内の書き込みデータが、コマンドに対応した不揮発性メモリ27の所定のアドレスに書き込まれたときに、クリアされる。
【0099】
また、S330の補正処理では、外部端末50からの書き込み要求に対応した設定値を書き込むことができないので、その旨を使用者に通知するために、フラグF_setoverがセットされる。
【0100】
この結果、
図9に示した報知制御処理により、書き込み要求に対応した設定値を書き込むことができなかったことが、報知部18を介して、使用者に通知され、使用者は、その旨を検知できる。
【0101】
次に、S290にて、通信コマンド数分の通信が完了していると判断されると、S390に移行して、フラグF_T2をセットし、当該通信処理を終了する。
また、S280にて、フラグF_T2がセットされていると判断された場合には、S400に移行して、フラグF_flashがクリアされているか否か、つまり、S180のメモリ操作処理にて書き込みデータの不揮発性メモリ27への書き込みが完了しているか否かを判断する。
【0102】
そして、S400にて、フラグF_flashはセットされていると判断されると、不揮発性メモリ27への書き込みが完了していないので、そのまま当該通信処理を終了する。
一方、S400にて、フラグF_flashはクリアされていると判断された場合には、外部端末50から送信された複数のコマンドに対する処理を全て完了したことになるので、S410に移行して、フラグF_Mstopをクリアすることで、モータ制御処理によるモータ12の駆動を許可する。
【0103】
そして、続くS420では、外部端末50からの通信要求に対応した一連のメモリ操作を実行できるようにするために、フラグF_T1及びF_T2をクリアし、当該通信処理を終了する。
【0104】
以上説明したように、本実施形態の充電式スクリュードライバ2によれば、近接無線通信にて外部端末50との間で無線通信を行う通信回路30が設けられている。通信回路30は、NFC方式のデータフォーマットのデータを送受信可能であり、そのデータを、外部端末50と制御回路20との間で中継するが、外部端末50と制御回路20との間では、NFC方式のデータフォーマットを利用して、本発明特有の通信を行う。
【0105】
すなわち、外部端末50からは、読み出し要求に利用される通信フレームの、16バイトの情報フレームを利用して、複数のコマンド(本実施形態では、2バイトのアドレス)が送信され、その後、各コマンド(アドレス)に対する通信要求が順次送信される。
【0106】
そして、制御回路20は、最初に送信されてきた複数のコマンドを、コマンド数と共に記憶し、その後送信されてくる通信要求に従い、順次、そのコマンド(アドレス)に対するデータの書き込み、若しくは読み出しを行う。
【0107】
このため、本実施形態の充電式スクリュードライバ2によれば、スマートフォン等の外部端末50から、近接無線通信用の通信フレームを使って、従来よりも広範囲にアドレス指定を行うことが可能となる。
【0108】
よって、不揮発性メモリ27に対し書き込み若しくは読み出しができるデータ量を増加させることができる。
また、外部端末50からの送信データには、先頭フレームに認証キーが付与されているので、制御回路20側では、外部端末50から複数のコマンドを取得した後、他の外部装置から通信要求が送信されてきたとしても、その認証キーから、通信要求に対するメモリ操作を実施するか否かを識別することができる。
【0109】
よって、MCU26が不揮発性メモリ27に対するデータの書き込み若しくは読み出しを誤って実施するのを防止でき、近接無線通信によるメモリ操作の信頼性を高めることができる。
【0110】
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内にて、種々の態様をとることができる。
例えば、上記実施形態では、本発明を充電式スクリュードライバ2に適用した場合について説明したが、本発明は、充電式スクリュードライバに限らず、各種電動工具に適用することができる。また、本発明は、電動工具に電力供給を行うバッテリパックやその充電器にも適用できるし、これら電動工具用装置とは異なる装置であっても適用できる。
【0111】
つまり、本発明は、近接無線通信を行うことで記憶媒体への情報の書き込み若しくは読み出しを行う無線通信装置、若しくは、その無線通信装置を備えた装置であれば、上記実施形態と同様に適用して、同様の効果を得ることができる。