"モータの回転速度や回転角度などの軸状態をパルスに変換して出力するエンコーダと、該エンコーダが出力したパルスをカウントするパルスカウント部と、このパルスカウント部によってカウントされたカウンタ値に基づきモータの制御指令を出力する制御部と、前記制御指令に基づきモータを制御する出力部と、を有するモータ制御装置であって、前記パルスカウント部、前記制御部、前記出力部それぞれは通信路を介して互いに接続され、前記パルスカウント部は、前記エンコーダの出力パルスをカウントする第一カウンタと、所定周波数のクロックをカウントする第二カウンタと、この第二カウンタのカウンタ値を、前記パルスに同期して取り込み保持する記憶手段と、前記第一カウンタのカウンタ値および前記記憶手段に保持された第二カウンタのカウンタ値それぞれを、前記制御部から前記通信路を介して該パルスカウント部に送信されたアクセス要求に応答して送信する応答送信手段を備え、前記制御部は、前記アクセス要求を前記パルスカウント部に周期毎に送信するアクセス要求送信手段と、前記応答送信手段によって送信された前記第一カウンタのカウンタ値および前記記憶手段に保持された第二カウンタ値を受信するカウンタ値取得手段と、このカウンタ値取得手段によって周期毎に取得された前記第一カウンタ値の今回値と前回値との差分値を算出して、前記周期の間隔における前記パルスのカウント進捗数を算出するパルス進捗数算出手段と、前記カウンタ値取得手段によって周期毎に取得された前記第二カウンタ値の今回値と前回値との差分値を算出し、該差分値と前記クロックの周波数とを基に前記パルスのカウント進捗数に対応した時間を算出する間隔時間算出手段と、この間隔時間算出手段によって算出された前記時間および前記パルス進捗数算出手段によって算出された前記パルスのカウント進捗数に基づき、前記エンコーダが出力したパルスの周波数を求め、この周波数に応じた前記制御指令を前記通信路を介して前記出力部に送信する指令送信手段と、を備えることを特徴とするモータ制御装置。請求項1記載のモータ制御装置において、前記クロックの前記所定の周波数は、前記エンコーダの出力パルスの周波数よりも大であることを特徴とするモータ制御装置。しかしながら、特許文献1に記載された発明は、CPUやI/Oなどの各種実行ユニットが一体化されたプログラマブルロジックコントローラPLCによってパルス周波数の計測精度を向上するものであり、ネットワーク上に分散配置されて互いにネットワークを介して通信するマスタ/スレーブ型のPLCでパルス周波数の計測精度を向上するものではない。図3のように、マスタ/スレーブ型のPLCでは、マスタユニットCPUユニットがスレーブユニット高速カウンタユニットのカウンタ値を周期的にてポーリングして獲得しモータへの制御指令を演算する一方、スレーブユニットは、マスタユニットからのポーリングとは非同期にカウンタ値を更新している。このため、マスタユニットのスレーブユニットへのポーリングタイミングとスレーブユニットのカウンタの更新タイミングによっては、マスタユニットが取得するカウンタ値にばらつきが生じる。このばらつきにより、エンコーダから出力されるエンコーダパルスの周波数が一定でありながら、CPUユニットが加速や減速といった誤った制御指令を出力してしまうという問題がある。例えば、マスタユニットとスレーブユニットがネットワークを介して互いに通信するPLC図3でモータを制御する際の従来の動きは図4のようになる。エンコーダは該エンコーダに接続されるモータの回転軸の位置回転角や回転速度、回転方向などをパルスに変換してエンコーダパルスを出力している。高速カウンタユニットはエンコーダパルスを受信してカウントしている図4:カウンタ値。CPUユニットはネットワークを介して高速カウンタユニットに周期的にアクセス要求を送信している図4:アクセス要求。このアクセス要求を受信した高速カウンタユニットはアクセス要求に応答してカウンタ値を送信し、CPUユニットは高速カウンタユニットによって送信されたカウンタ値を受信してカウンタ値を獲得している図4:カウンタ値入力。このようにしてCPUユニットに獲得されたカウンタ値は、アクセス要求t1~t2の間において1、アクセス要求t2~t3の間において4、アクセス要求t3~t4の間において6であり、その間隔毎にパルス数が2パルスのときと3パルスときが存在する。所定期間の時間をTとし、このTにおけるエンコーダが出力したパルス数をNとすると、その周波数はN/Tで算出される。仮にCPUユニットのアクセス要求の送信間隔が1msであったすると、アクセス要求t1~t2、およびアクセス要求t3~t4でのCPUユニットによって算出されるパルス周波数は2kHzになる。一方、アクセス要求t2~t3の間では3kHzとなり、エンコーダパルスが一定に出力されているにも関わらず、計測された周波数が一定にならない。この結果、CPUユニットは、加速や減速といった制御指令をパルス出力ユニットに与えることにより、誤った制御を行うという問題が生じる。本発明は上記問題を鑑みて考案されたものであり、その課題はネットワークを介してデータを授受するマスタ/スレーブ型のPLCが高精度にモータを制御することが可能なモータ制御装置を提供することにある。上記のような課題を解決する方法として、本発明は以下のように構成される。請求項1に係る発明は、モータの回転速度や回転角度などの軸状態をパルスに変換して出力するエンコーダと、該エンコーダが出力したパルスをカウントするパルスカウント部と、このパルスカウント部によってカウントされたカウンタ値に基づきモータの制御指令を出力する制御部と、制御指令に基づきモータを制御する出力部と、を有するモータ制御装置であって、パルスカウント部、制御部、出力部それぞれは通信路を介して互いに接続され、パルスカウント部は、エンコーダの出力パルスをカウントする第一カウンタと、所定周波数のクロックをカウントする第二カウンタと、この第二カウンタのカウンタ値を、パルスに同期して取り込み保持する記憶手段と、第一カウンタのカウンタ値および記憶手段に保持された第二カウンタのカウンタ値それぞれを、制御部から通信路を介して該パルスカウント部に送信されたアクセス要求に応答して送信する応答送信手段を備え、制御部は、アクセス要求をパルスカウント部に周期毎に送信するアクセス要求送信手段と、応答送信手段によって送信された第一カウンタのカウンタ値および記憶手段に保持された第二カウンタ値を受信するカウンタ値取得手段と、このカウンタ値取得手段によって周期毎に取得された第一カウンタ値の今回値と前回値との差分値を算出して、周期の間隔におけるパルスのカウント進捗数を算出するパルス進捗数算出手段と、カウンタ値取得手段によって周期毎に取得された第二カウンタ値の今回値と前回値との差分値を算出し、該差分値とクロックの周波数とを基にパルスのカウント進捗数に対応した時間を算出する間隔時間算出手段と、この間隔時間算出手段によって算出された時間およびパルス進捗数算出手段によって算出されたパルスのカウント進捗数に基づき、エンコーダが出力したパルスの周波数を求め、この周波数に応じた制御指令を通信路を介して出力部に送信する指令送信手段と、を備えるように構成する。請求項2に係る発明は、請求項1記載のモータ制御装置において、クロックの周波数を、エンコーダの出力パルスの周波数よりも大とするように構成する。本発明によれば、パルスカウント部はエンコーダの出力パルスを第一カウンタによりカウントする。また、パルスカウント部は所定周波数のクロックをカウントする第二カウンタの出力値を、エンコーダの出力パルスに同期してイネーブルとして記憶手段に保持する。さらに、パルスカウント部は、第一カウンタ値および記憶手段に保持された第二カウンタ値を制御部からのアクセス要求に応答して制御部に与える。制御部は、アクセス要求をパルスカウント部に周期的に与える。そして、制御部はアクセス要求に対するパルスカウント部からの応答を受信し、第一カウンタ値と第二カウンタ値を取得する。これらカウンタ値を周期的に受信した制御部は、取得された第一カウンタ値の今回値と前回値との差分値を算出することによって、アクセス要求が送信される周期間隔におけるエンコーダの出力パルス数を求める。また、制御部は、周期的に取得された第二カウンタ値の今回値と前回値との差分値を算出し、この差分値と第二カウンタのクロックの周期とを乗算する。このようにして、制御部は、アクセス要求が送信される周期間隔において、第一カウンタがエンコーダの出力パルスを最初にカウントした時点から最後にカウントした時点までの間隔時間を算出する。すなわち、制御部は、周期毎に取得された第二カウンタ値の今回値と前回値との差分値を算出して、周期間隔におけるクロックのカウント進捗数を求め、このクロックのカウント進捗数とクロックの周波数周期時間とを基に、周期間隔に計数されたエンコーダのパルス数パルス進捗数に対応した時間を間隔時間として求める。この間隔時間および前述のように求めた周期間隔におけるエンコーダの出力パルス数を基に制御部は、エンコーダが出力したパルスの周波数を求める。さらに、制御部は、算出したエンコーダの出力パルスの周波数が、予め設定されたモータを制御するためのパラメータに合っているかチェックし、合致すれば、平常指令を出力部に与え、合致しなければ加速や減速といった指令を出力部に与えてモータを制御する。このように構成することにより、制御部のパルスカウント部へのアクセスタイミングに依存せず、エンコーダの出力パルスの周波数を正確に計測できるようになるため、ネットワークを介してデータを授受するようなマスタ/スレーブ型のPLCがモータを高精度に制御できる。以下、本発明の好適な実施形態について図1、図2を基に説明する。なお、これらの図面は本発明の一実施形態を説明するための図面であって、これらの図面によって本発明が限定されるものではない。図1は、本発明の一例を示すモータ制御装置のシステム構成図である。このモータ制御装置は、所定のアプリケーションを実行するプログラマブルコントローラで構成されており、複数の機能ユニットがネットワークを介して接続され、互いにデータを授受することで位置決め制御などのアプリケーションを実行する。具体的に説明すると、本発明のモータ制御装置は、シーケンスプログラムなどのプログラムを実行するCPUユニット制御部100と、このCPUユニット100の指令に基づきモータ400を制御するパルス出力ユニット出力部300と、モータ400に接続されエンコーダ500の出力パルスをカウントする高速カウンタユニットパルスカウント部200とがネットワーク600通信バスを介して接続されている。CPUユニット100、高速カウンタユニット200、パルス出力ユニット300それぞれは、ネットワーク600を介して互いにデータを授受する送受信手段を備えている。エンコーダ500は該エンコーダに接続されるモータ400の回転軸の回転速度や回転角度など、すなわちモータの軸状態をパルスに変換して出力するものである。高速カウンタユニット200は、プログラムを実行する記憶手段20、ネットワーク600を介して他のユニットとデータを授受する送受信手段26、第一カウンタ24エンコーダパルスカウント部、そして第二カウンタ25が搭載されている。第一カウンタ24はエンコーダ500が出力するエンコーダパルスを入力してカウントし、第一カウンタ値としてその値を出力する。第二カウンタ25はフリーランカウンタであり、所定の周波数のクロック不図示をカウントし、第二カウンタ値としてその値を出力する。続いて、記憶手段20は、第一カウンタ値を保持する第一レジスタと、第二カウンタ値をエンコーダパルスに同期してイネーブルにして取り込み保持する第二レジスタとで構成されている。また、高速カウンタユニット200は、応答送信手段23を備えている。この応答送信手段23は、ネットワーク600を介してCPUユニット100から送信されたアクセス要求に応答して、記憶手段20に保持された第一カウンタ値と第二カウンタ値とを含んだパケットをCPUユニット100に送信する。一方、CPUユニット100は、プログラムを実行するCPU回路10、ネットワーク600を介して他のユニットとデータを授受する送受信手段18が搭載されている。CPU回路10には、中央演算部CPUやプログラムメモリ、そして作業メモリなどが備えられており、このCPUがプログラムメモリに保持された位置決め制御プログラムなどのシーケンスプログラムを実行し、パルス出力部300に制御指令を与えることによりモータ400を制御する。また、CPU回路10には、アクセス要求送信手段15、カウンタ値取得手段16、そして指令送信手段17が備えられている。アクセス要求送信手段15は、高速カウンタユニット200をアクセスするためのアクセス要求パケットを所定の周期毎に例えば10ms毎に送信する。この周期は位置決め制御を実行する際の、被対称物の移動速度やモータの追従速度などを加味した上で、そのアプリケーションに求められる性能に応じて設定可能である。また、カウンタ値取得手段16は、アクセス要求送信手段15によって送信された高速カウンタ200へのアクセス要求に対する高速カウンタユニット200からの応答パケットを受信して、第一カウンタ値と第二カウンタ値を取得し、第一カウンタ値を第一カウンタ値11とし、第二カウンタ値を第二カウンタ値12として内部レジスタに格納する。なお、アクセス要求送信手段15は高速カウンタユニット200にアクセス要求を送信する際、レジスタに保持された第一カウンタ値11および第二カウンタ値12を不図示の記憶手段内部メモリに退避している。すなわち、カウンタ値取得手段16によってレジスタに格納された第一カウンタ値11と第二カウンタ値12それぞれは、カウンタ値取得手段16が取得した最新の値今回値である。また、アクセス要求送信手段15によって退避されたカウンタ値は、前述最新の値今回値に対し、前周期にカウンタ値取得手段16が取得した値前回値である。また、CPU回路10は周波数算出部としてパルス進捗数算出手段14と間隔時間算出手段13、そして、この周波数算出部の演算結果を基にパルス出力ユニット300に制御指令を送信する指令送信手段をさらに備えている。パルス進捗数算出手段14は、前述第一カウンタ値11の今回値と前回値との差分値を算出する。すなわち、パルス進捗数算出手段14は、前述第一カウンタ値11の今回値と前回値との差分をとることにより、所定周期毎のエンコーダパルスの進捗数を算出することになる。間隔時間算出手段13は前述第二カウンタ値12の今回値と前回値との差分値を算出し、この差分値を基に、前回値を取得した時点を起点に今回値を取得するまでの時間間隔時間を算出する詳細は後述。そして、この算出された間隔時間と前述パルス進捗数算出手段14によって算出された差分値に基づき、指令送信手段17は、エンコーダパルスの周波数を求めエンコーダパルス数÷間隔時間、この算出されたエンコーダパルスの周波数に応じた制御指令を、ネットワーク600を介してパルス出力ユニット300に送信する。パルス出力ユニット300は、指令送信手段17によって送信された制御指令を受信し、受信した制御指令に基づきモータ400の回転方向、角度、そして回転速度などを制御する。図2は、本発明のモータ制御装置の動きを説明するためのタイミングチャートである。図2においてT1,T2,T3はタクト時間であり、CPUユニット100が高速カウンタユニット200にアクセス要求を送信する送信間隔である。また、C1は第一レジスタに保持された第一カウンタ値がネットワーク600に送信された際の値であり、C2は第二レジスタに保持された第二カウンタ値がネットワーク600に送信された際の値である。また、時点t1,t2,t3,t4それぞれにおいてCPUユニット100はアクセス要求送信手段により高速カウンタユニット200にアクセス要求を送信している。これらアクセス要求に応答して高速カウンタユニット200はC1およびC2を含んだ応答パケットをCPUユニット100に送信している。エンコーダパルスはエンコーダ500から出力されたパルスであり、高速カウンタユニットに入力されている。タクト時間T1において、エンコーダパルスを入力した高速カウンタユニット200の第一カウンタ値は、エンコーダパルスが入力される都度1→2→3と順次カウントアップされている。この値は第一レジスタにカウントアップの度に保持されている。また、高速カウンタユニット200はエンコーダパルスに対して十分高い周波数のクロックをカウントするフリーランカウンタ第二カウンタ25が搭載されている。この出力値は第二カウンタ出力として図2に示されている。この値はエンコーダパルスをイネーブルとして第二レジスタに取り込まれている。すなわち、時点t1において第二カウンタ値は1110であるが、エンコーダパルスがHになる度に1120→1130と、第二カウンタ25の出力値が第二レジスタにロードされ保持されている。また、時点t1において、CPUユニット100は高速カウンタユニット200にアクセス要求を送信しており、このアクセス要求に応答して高速カウンタユニット200はネットワーク600にC1=1,C2=1110としたパケットを送信している。このパケットを受信したCPUユニット100はカウンタ値取得手段16により第一カウンタ値11を1とし、第二カウンタ値12を1110としてレジスタに格納している。続いて、時点t2において、CPUユニット100は高速カウンタユニット200にアクセス要求を送信するとともに、時点t1にて取得した第一カウンタ値11および第二カウンタ値12を作業メモリカウンタ値退避領域に退避する。もちろん、上述時点t1においても、時点t1の前に取得したカウンタ値の退避が実行されている。そして、高速カウンタユニット200は時点t2でのアクセス要求に応答してネットワーク600にC1=4,C2=1140としたパケットを送信している。このパケットを受信したCPUユニット100はカウンタ値取得手段16により第一カウンタ値11を4とし、第二カウンタ値12を1140としてレジスタに格納している。第一カウンタ値11と第二カウンタ値12がレジスタに格納されることにより、CPUユニット100は第一カウンタ値11に保持された値今回値とカウンタ値退避領域に退避された第一カウンタ値前回値との差分値を算出する。この例の場合、不図示であるが、パルス進捗数算出手段14は4から1を引いて3を算出している。すなわち、この3はタクト時間T1においてエンコーダパルスが出力された数である。また、CPUユニット100は間隔時間算出手段13により第二カウンタ値12の今回値レジスタに保持された第二カウンタ値と前回値カウンタ値退避領域に退避された第二カウンタ値との差分値を算出する。この例の場合、間隔時間算出手段13は1140から1110を引いて、その差分値として30を算出している。仮に第二カウンタ25の出力周期クロックの出力周期を0.1μsとした場合、間隔時間算出手段13は前回値が取得された時間と今回値が取得された時間との間隔時間を0.1μs×30=3μsとして算出する。そして、指令送信手段17は、算出された3μsと前述タクト時間T1でのエンコーダパルス3とを基に、エンコーダパルスの周波数を求める。この例の場合、3を30μsで除算して100kHzが算出される。続いて、指令送信手段17は、算出されたエンコーダパルスの周波数100kHzが、予め設定されたモータを制御するためのパラメータ不図示に合っているかチェックする。この例の場合、合致したとし、CPUユニット100は平常指令そのままの指令をパルス出力ユニット300に送信し、モータが正常に制御されている。なお、前述パラメータとエンコーダパルスの周波数が合致していなければ、CPUユニット100は加速や減速といった指令をパルス出力ユニット300に送信しモータを制御する。続いて、時点t3において、CPUユニット100は高速カウンタユニット200にアクセス要求を送信するとともに、時点t2で取得した第一カウンタ値11および第二カウンタ値12を作業メモリカウンタ値退避領域に退避する。高速カウンタユニット200はアクセス要求に応答してネットワーク600にC1=6,C2=1160としたパケットを送信している。このパケットを受信したCPUユニット100はカウンタ値取得手段16により第一カウンタ値11を6とし、第二カウンタ値12を1160としてレジスタに格納している。第一カウンタ値11と第二カウンタ値12が格納されることにより、CPUユニット100は、前述同様パルス進捗数算出手段14により第一カウンタ値11の今回値と前回値との差分値を算出する。この例の場合、6から4を引いて2が算出される。すなわち、算出された2という値はタクト時間T2でエンコーダパルスが出力された数として扱われる。また、CPUユニット100は、前述同様間隔時間算出手段13により第二カウンタ値12の今回値と前回値との差分値を算出する。この例の場合、間隔時間算出手段13は1160から1140を引いて、その差分値として20を算出している。仮に第二カウンタ25の出力周期クロックの出力周期を0.1μsとした場合、第一カウンタ値11の前回値を取得した時間と今回値を取得した時間との間隔時間は、0.1μs×20として計算され、2μsが算出される。そして、指令送信手段17は、この2μsと前述タクト時間T2で求められたエンコーダパルスの数2とを基に、エンコーダパルスの周波数を求める。この例の場合、2を20μsで除算して100kHzが算出されている。続いて、指令送信手段17は、算出されたエンコーダパルスの周波数100kHzが、予め設定されたモータを制御するためのパラメータ不図示に合っているかチェックする。この例の場合、合致したとし、CPUユニット100は平常指令そのままの指令をパルス出力ユニット300に送信し、モータが正常に制御されている。このように、CPUユニット100が高速カウンタユニット200のカウンタ値を周期的に獲得する一方、高速カウンタユニット200は、CPUユニット100からのアクセスポーリングとは非同期にエンコーダパルスをカウントしている。このような状況においても、本発明のモータ制御装置は、ポーリング周期タクト時間の区切りとは非同期にカウントされるエンコーダパルス数に応じた時間を求めて、該エンコーダパルスの周波数を算出するのでその周波数が正確に算出され、モータを高精度に制御することが可能になる。エンコーダパルス数に応じた時間をどのように求めるかというと、高速カウンタユニット200は第一カウンタによりエンコーダパルスをカウントし第一レジスタに保持させる。これとともに高速カウンタユニット200は、所定周波数のクロックをカウントする第二カウンタの出力値を、エンコーダパルスをイネーブルとして第二レジスタに保持させる。そして、高速カウンタユニット200は、第一レジスタに保持された第一カウンタ値および第二レジスタに保持された第二カウンタ値をCPUユニット100のアクセス要求に応答してCPUユニット100与える。CPUユニット100は、第一カウンタ値と第二カウンタ値を取得し、第一カウンタ値の今回値と前回値との差分値を算出し、タクト時間中でのエンコーダの出力パルス数を求める。そして、CPUユニット100は、第二カウンタ値の今回値と前回値との差分値を算出し、この差分値と高速カウンタユニット200の第二カウンタ25の出力周期とを乗算する。このようにして、CPUユニット100は、タクト時間において高速カウンタユニット200の第一カウンタ24がエンコーダパルスを最初にカウントした時点を起点とし、そのタクト時間中で第一カウンタ24がエンコーダパルスを最後にカウントした時点を終点として、起点と終点との間隔時間を算出する。そして、CPUユニット100はエンコーダの出力パルス数第一カウンタ値と前述間隔時間とを基に、エンコーダパルスの周波数を求める。また、CPUユニット100は、エンコーダパルスの周波数が、予め設定されたモータを制御するためのパラメータに合っているかチェックし、合致していれば、平常指令をパルス出力ユニット300に与え、合致していなければ加速や減速といった指令をパルス出力ユニット300に与えてモータを制御する。以上説明したように、本発明ではCPUユニット100の高速カウンタ200へのアクセスタイミングに依存せず、エンコーダパルスの周波数を正確に計測できるようになり、ネットワークを介してデータを授受するようなマスタ/スレーブ型のPLCがモータを高精度に制御することが可能なモータ制御装置が提供される。なお、第二カウンタ25のクロック周波数をエンコーダパルスの周波数よりも大きくとるほど計測されたエンコーダパルスの周波数の誤差を少なくすることができる。このように構成することでマスタ/スレーブ型のPLCがモータを高精度に制御することが可能になる。"