(57)【特許請求の範囲】
【請求項１】
第１の被制御機器を制御する制御機能、第１の表示器による表示画面の表示に用いられる第１の画像データを作成する第１の画像処理機能、および第１のデータ通信機能を備えた第１の画像処理部を具備する制御基板と、
撮像装置で撮像された画像から前記表示に用いられる第２の画像データを作成する第２の画像処理機能、および第２のデータ通信機能を備えた第２の画像処理部を具備するとともに前記制御基板に着脱可能な拡張基板と、
を有し、
前記第１の画像処理機能は、前記制御基板上のデータを用いて前記第１の画像データを作成し、
前記第１のデータ通信機能は、前記拡張基板との間で通信を実行する機能であり、
前記第２のデータ通信機能は、前記制御基板との間で通信を実行する機能であり、
前記拡張基板が前記制御基板に取り付けられると、前記第１の画像処理部が、前記第２の画像処理部から前記第２の画像データを取得し、前記第１の画像データおよび前記第２の画像データを用いて前記表示画面を作成し前記第１の表示器に表示させる、
ことを特徴とする数値制御装置。
【請求項２】
前記第２の画像データは、映像データである、
ことを特徴とする請求項１に記載の数値制御装置。
【請求項３】
前記第１の画像処理部が、前記第１の画像データを作成するとともに、前記第２の画像データの要求を示す要求情報を作成して前記第２の画像処理部に送信し、前記第２の画像処理部が、前記要求情報を受信すると、前記第２の画像データを作成して前記第１の画像処理部に送信し、前記第１の画像処理部が、前記第２の画像データを受信すると、前記第１の画像データおよび前記第２の画像データを合成した第３の画像データを作成して前記第３の画像データに対応する前記表示画面を前記第１の表示器に表示させる、
ことを特徴とする請求項１または２に記載の数値制御装置。
【請求項４】
前記要求情報には、前記撮像装置で撮像された画像に対する画像処理の内容が含まれており、
前記第２の画像処理部は、前記撮像装置で撮像された画像から前記要求情報に従って前記第２の画像データを作成する、
ことを特徴とする請求項３に記載の数値制御装置。
【請求項５】
前記第２の画像処理部は、前記第２の画像データから特定の対象物を検出し、前記対象物の内容を示す内容情報と、前記第２の画像データとを対応付けして前記第１の画像処理部に送信し、
前記第１の画像処理部は、前記第１または第３の画像データと前記内容情報とを合成した第４の画像データを作成して前記第４の画像データに対応する前記表示画面を前記第１の表示器に表示させる、
ことを特徴とする請求項３または４に記載の数値制御装置。
【請求項６】
前記第２の画像処理部が、前記第１の画像処理部からの指示に従って第２の表示器に表示させる画像の第５の画像データを作成し、前記第５の画像データに対応する画面を前記第２の表示器に表示させる、
ことを特徴とする請求項１から５の何れか１つに記載の数値制御装置。
【請求項７】
前記拡張基板は、第２の被制御機器を制御する他の数値制御装置との間でデータ通信を行う第３のデータ通信機能を備えたデータ通信部をさらに具備し、
前記データ通信部は、前記第１の被制御機器の情報である第１の機器情報を前記他の数値制御装置に送信するとともに、前記他の数値制御装置から前記第２の被制御機器の情報である第２の機器情報を受信し、
前記第１の画像処理部は、前記第２の被制御機器と前記第１の被制御機器とを同期させるとともに前記第２の機器情報に基づいて前記第２の被制御機器への制御信号を作成し、
前記データ通信部は、前記制御信号を前記他の数値制御装置に送信する、
ことを特徴とする請求項１から６の何れか１つに記載の数値制御装置。
【請求項８】
前記データ通信部は、前記他の数値制御装置から送られてくる特定の制御周期毎に更新された前記第２の機器情報を受信し、
前記第１の画像処理部は、更新された前記第２の機器情報に基づいて前記第２の被制御機器への制御信号を作成する、
ことを特徴とする請求項７に記載の数値制御装置。
【請求項９】
複数の数値制御装置が接続された数値制御システムであって、
前記複数の数値制御装置のそれぞれは、
第１の被制御機器を制御する制御機能、および第１のデータ通信機能を備えた第１の処理部を具備する制御基板と、
第２のデータ通信機能、および他の数値制御装置との間でデータ通信を実行する第３のデータ通信機能を備えた第２の処理部を具備するとともに前記制御基板に着脱可能な拡張基板と、
を有し、
前記第１のデータ通信機能は、前記拡張基板との間で通信を実行する機能であり、
前記第２のデータ通信機能は、前記制御基板との間で通信を実行する機能であり、
前記拡張基板が前記制御基板に取り付けられると、前記第２の処理部が、前記第１の被制御機器の情報である第１の機器情報を前記他の数値制御装置に送信するとともに、前記他の数値制御装置が制御する第２の被制御機器の情報である第２の機器情報を前記他の数値制御装置から受信し、
前記制御基板および前記他の数値制御装置は、前記第１の機器情報および前記第２の機器情報を記憶し、
前記第１の処理部は、前記他の数値制御装置が制御する第２の被制御機器と前記第１の被制御機器とを同期させるとともに前記第２の機器情報に基づいて前記第２の被制御機器への制御信号を作成し、
前記第２の処理部は、前記制御信号を前記他の数値制御装置に送信し、
前記第２の被制御機器は、前記制御信号に従って駆動される、
ことを特徴とする数値制御システム。
【請求項１０】
前記複数の数値制御装置のそれぞれは、前記複数の数値制御装置の何れかから出力された基準タイミング信号に従って、前記第２の被制御機器と前記第１の被制御機器とを同期させる、
ことを特徴とする請求項９に記載の数値制御システム。
【請求項１１】
前記制御基板は、共有メモリをさらに備え、
前記第１の処理部は、
前記共有メモリ内の第１のアドレスに前記第１の機器情報を格納するとともに、前記共有メモリ内の第２のアドレスに前記第２の機器情報を格納し、前記第１のアドレスは、前記他の数値制御装置が前記第１の機器情報を格納するアドレスと同じであり、前記第２のアドレスは、前記他の数値制御装置が前記第２の機器情報を格納するアドレスと同じである、
ことを特徴とする請求項９または１０に記載の数値制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理機能を備えた数値制御装置および数値制御システムに関する。
【背景技術】
【０００２】
後付け可能なハードウェアによって機能を向上させる数値制御装置がある。例えば、特許文献１に記載の数値制御装置は、表示機能および操作機能を向上させる場合に、制御基板の全体を交換する必要がないように、表示機能および操作機能を有するパソコン機能カードといった後付け可能なハードウェアを本体に取り付けている。この特許文献１に記載の数値制御装置は、後付け可能なハードウェアを交換することで、表示機能および操作機能を向上させている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−３１８１１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１の技術では、後付け可能なハードウェアに含まれる、プロセッサおよびグラフィック制御回路が映像データを生成し、本体側へ一方向に送信しているに過ぎない。このため、上記特許文献１の技術では、表示に必要な本体側の情報を有効活用できないという問題があった。【０００５】
本開示は、上記に鑑みてなされたものであって、後付け可能なハードウェアから取得した画像を表示する場合において、本体側の情報を有効活用する数値制御装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本開示の数値制御装置は、第１の被制御機器を制御する制御機能、第１の表示器による表示画面の表示に用いられる第１の画像データを作成する第１の画像処理機能、および第１のデータ通信機能を備えた第１の画像処理部を具備する制御基板を有する。また、本開示の数値制御装置は、撮像装置で撮像された画像から表示に用いられる第２の画像データを作成する第２の画像処理機能、および第２のデータ通信機能を備えた第２の画像処理部を具備するとともに制御基板に着脱可能な拡張基板を有する。第１の画像処理機能は、制御基板上のデータを用いて第１の画像データを作成する。第１のデータ通信機能は、拡張基板との間で通信を実行する機能であり、第２のデータ通信機能は、制御基板との間で通信を実行する機能である。拡張基板が制御基板に取り付けられると、第１の画像処理部が、第２の画像処理部から第２の画像データを取得し、第１の画像データおよび第２の画像データを用いて表示画面を作成し第１の表示器に表示させる。
【発明の効果】
【０００７】
本開示にかかる数値制御装置は、後付け可能なハードウェアから取得した画像を表示する場合において、本体側の情報を有効活用することができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】実施の形態１にかかる数値制御装置を備えた数値制御システムの構成を示す図
【図２】実施の形態１にかかる数値制御装置による表示画面の表示処理手順を示すフローチャート
【図３】実施の形態２にかかる数値制御装置を備えた数値制御システムの構成を示す図
【図４】実施の形態２にかかる数値制御装置による表示画面の表示処理手順を示すフローチャート
【図５】実施の形態３にかかる数値制御装置を備えた数値制御システムの構成を示す図
【図６】実施の形態３にかかる数値制御装置に設けられるモータ情報格納領域を説明するための図
【発明を実施するための形態】
【０００９】
以下に、本開示の実施の形態にかかる数値制御装置および数値制御システムを図面に基づいて詳細に説明する。
【００１０】
実施の形態１．
図１は、実施の形態１にかかる数値制御装置を備えた数値制御システムの構成を示す図である。数値制御システム１Ａは、数値制御装置１０Ａと、アンプ３と、モータ２とを備えている。数値制御装置１０Ａは、制御基板２０と、表示器１１と、機能拡張基板３０Ａと、カメラ１２とを備えている。
【００１１】
制御基板２０は、数値制御装置１０Ａの本体に配置される基板である。制御基板２０は、第１の被制御機器であるモータ２を制御する制御機能を有している。制御基板２０は、モータ制御通信ＩＦ（InterFace、インタフェース）２１と、ＣＰＵ（Central  Processing  Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、ＤＳＰ（Digital  Signal  Processor）ともいう）２２と、映像出力ＩＦ２３と、画像処理エンジン２４と、ＶＲＡＭ（Video  Random  Access  Memory、ビデオメモリ）２５と、エンジン間通信バス２６と、メモリ２７と、機能拡張スロット４０とを有している。機能を拡張するための拡張基板である機能拡張基板３０Ａは、画像処理エンジン３１と、ＶＲＡＭ３２と、映像入力ＩＦ３３と、エンジン間通信バス３８とを有している。
【００１２】
モータ制御通信ＩＦ２１は、アンプ３に接続されており、アンプ３はモータ２に接続されている。モータ制御通信ＩＦ２１は、アンプ３との間で通信を実行する。
【００１３】
映像出力ＩＦ２３は、表示器１１に接続されている。機能拡張基板３０Ａは、機能拡張スロット４０に着脱可能となっている。図１では、機能拡張スロット４０に機能拡張基板３０Ａが取り付けられた状態を示している。
【００１４】
ＣＰＵ２２は、数値制御装置１０Ａの全体を制御する。また、ＣＰＵ２２は、例えば、モータ２を制御する。ＣＰＵ２２は、モータ制御通信ＩＦ２１を介して、アンプ３にモータ制御用の指令信号、すなわち制御信号を送信する。アンプ３は、ＣＰＵ２２から受信した指令信号に従ってモータ２を駆動する。
【００１５】
また、ＣＰＵ２２は、アンプ３およびモータ制御通信ＩＦ２１を介して、モータ２からのフィードバック信号を受信し、モータ２のフィードバック制御を実行する。なお、図１にはアンプ３およびモータ２がそれぞれ１つずつしか図示されていないが、数値制御装置１０Ａには、複数のアンプ３および複数のモータ２が接続されていてもよい。この場合、ＣＰＵ２２は、複数台のモータ２を制御する。
【００１６】
また、制御基板２０は、ＣＰＵ２２の代わりにシステムＬＳＩ（Large  Scale  Integration）を有していてもよい。メモリ２７の例は、ＲＡＭ、ＲＯＭ（Read  Only  Memory）である。メモリ２７は、ＣＰＵ２２が各種処理を実行する際の一時メモリに使用される。
【００１７】
数値制御装置１０Ａは、ユーザに対して数値制御装置１０Ａの情報を表示するための表示器１１を備えている。表示器１１が、第１の表示器である。数値制御装置１０Ａの情報は、数値制御装置１０Ａによるモータ２の制御状態、モータ２への設定内容などである。この表示器１１の表示内容を見ることで、ユーザは数値制御装置１０Ａの状態を把握することができる。
【００１８】
また、図示省略しているが、表示器１１の近くには、キースイッチが配置されている。数値制御装置１０Ａでは、ユーザによって、キースイッチまたは表示器１１に表示されているソフトウェアキーが押下されることにより、数値制御装置１０Ａへの設定、加工プログラムの作成などが実行される。
【００１９】
画像処理エンジン２４は、画像処理を高速に処理するためのハードウェア回路であり、画像処理部としての機能を備えている。第１の画像処理部である画像処理エンジン２４は、モータ２の状態を表示器１１に表示させる画像の画像データを作成する画像処理機能、およびデータ通信機能を備えている。画像処理エンジン２４が備えるデータ通信機能は、機能拡張基板３０Ａとの間でデータ通信を実行する機能である。画像処理エンジン２４の画像処理機能が、第１の画像処理機能であり、画像処理エンジン２４のデータ通信機能が、第１のデータ通信機能である。画像処理エンジン２４が備える第１の画像処理機能は、表示器１１による表示画面の表示に用いられるデータを作成するとともに、このデータを用いて表示に用いられる第１の画像データを作成する機能である。
【００２０】
画像処理エンジン２４は、制御基板２０上のデータを用いて表示器１１が表示する画像の画像データを作成する。制御基板２０上のデータは、例えばＣＰＵ２２が作成したデータ、ＣＰＵ２２内のデータ、ＶＲＡＭ２５内のデータ、またはメモリ２７内のデータである。表示器１１が表示する画像は、画像処理エンジン３１が作成した画像である第２の画像データと、画像処理エンジン２４が作成した第１の画像データとの少なくとも一方を用いた画像である。画像処理エンジン２４は、ＣＰＵ２２の処理負荷を軽減するために、ＣＰＵ２２とは別の回路となっている。なお、表示器１１が表示する画像の画像データは、ＣＰＵ２２が作成してもよい。
【００２１】
画像処理エンジン２４は、大規模集積回路（ＬＳＩ）、ＦＰＧＡ（Field  Programmable  Gate  Array）などの半導体チップによって実現される。画像処理エンジン２４は、作成した画像データを、映像出力ＩＦ２３を介して表示器１１に出力する。
【００２２】
ＶＲＡＭ２５は、画像処理エンジン２４に接続されている。ＶＲＡＭ２５は、表示器１１に表示する画像データを一時的に保持するメモリである。エンジン間通信バス２６は、画像処理エンジン２４と機能拡張スロット４０とを接続する。エンジン間通信バス２６は、双方向の通信が可能なバスである。エンジン間通信バス２６は、画像処理エンジン２４から送られてくる情報を画像処理エンジン３１に送り、画像処理エンジン３１から送られてくる情報を画像処理エンジン２４に送る。
【００２３】
機能拡張スロット４０は、後付けで機能拡張基板３０Ａに取り付け可能となっている。すなわち、ユーザは、機能拡張スロット４０に機能拡張基板３０Ａを挿入することで、制御基板２０に、機能拡張基板３０Ａが有する機能を追加することができる。実施の形態１では、映像入力ＩＦ３３と画像処理エンジン３１とが搭載されている機能拡張基板３０Ａが機能拡張スロット４０に挿入される場合について説明する。
【００２４】
画像処理エンジン３１は、画像処理を高速に処理するためのハードウェア回路であり、画像処理部としての機能を備えている。第２の画像処理部である画像処理エンジン３１は、カメラ１２で撮像された画像から表示器１１での表示に用いられる画像の画像データを作成する画像処理機能、およびデータ通信機能を備えている。画像処理エンジン３１が備えるデータ通信機能は、制御基板２０との間でデータ通信を実行する機能である。画像処理エンジン３１の画像処理機能が、第２の画像処理機能であり、画像処理エンジン３１のデータ通信機能が、第２のデータ通信機能である。
【００２５】
画像処理エンジン３１は、画像処理エンジン２４と同様に、大規模集積回路、ＦＰＧＡなどの半導体チップによって実現される。画像処理エンジン３１は、表示器１１が表示する画像の画像データを作成する。画像処理エンジン３１は、画像処理エンジン２４からの指示に従って、画像データを作成する。画像処理エンジン３１は、作成した画像データを、画像処理エンジン２４に送る。
【００２６】
ＶＲＡＭ３２は、画像処理エンジン３１に接続されている。ＶＲＡＭ３２は、画像処理エンジン３１が作成した画像データを一時的に保持するメモリである。エンジン間通信バス３８は、画像処理エンジン３１と機能拡張スロット４０とを接続する。エンジン間通信バス３８は、双方向の通信が可能なバスである。エンジン間通信バス３８は、画像処理エンジン２４から送られてくる情報を画像処理エンジン３１に送り、画像処理エンジン３１から送られてくる情報を画像処理エンジン２４に送る。
【００２７】
映像入力ＩＦ３３は、カメラ１２といった撮像装置、および画像処理エンジン３１に接続されている。映像入力ＩＦ３３は、カメラ１２が撮像した画像の画像データを受け付けて画像処理エンジン３１に送る。なお、カメラ１２は、映像を撮像してもよい。この場合、映像入力ＩＦ３３は、カメラ１２が撮像した映像の映像データを受け付けて画像処理エンジン３１に送る。
【００２８】
制御基板２０は、ＣＰＵ２２が、メモリ２７で記憶されている制御基板２０の動作を実行するための、制御プログラムを読み出して実行することにより実現される。制御プログラムは、制御基板２０の動作を実行するためのコンピュータで実行可能なプログラムである。制御プログラムは、制御基板２０の手順または方法をコンピュータに実行させるものであるともいえる。
【００２９】
制御基板２０で実行される制御プログラムは、制御処理を実行する制御部を含むモジュール構成となっており、制御部が主記憶装置上にロードされ、制御部が主記憶装置上に生成される。
【００３０】
制御プログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に格納されてコンピュータプログラムプロダクトとして提供されてもよい。また、制御プログラムは、インターネットなどのネットワーク経由で数値制御装置１０Ａに提供されてもよい。なお、制御基板２０の機能について、一部を専用回路などの専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
【００３１】
機能拡張基板３０Ａが機能拡張スロット４０に挿入されると、機能拡張基板３０Ａ上の画像処理エンジン３１と、制御基板２０上の画像処理エンジン２４とが、エンジン間通信バス２６，３８を介して繋がる。これにより、画像処理エンジン２４，３１間では、双方向にデータを転送すること、互いのレジスタにアクセスすることなどが可能となる。また、画像処理エンジン２４，３１は、処理の種類を指定するパラメータの設定、処理に必要なパラメータの設定、および処理開始タイミングの制御を相互に行うことが可能となる。
【００３２】
エンジン間通信バス２６，３８は、シリアルバスであってもよいし、パラレルバスであってもよい。数値制御装置１０Ａでは、２つの画像処理エンジン２４，３１がエンジン間通信バス２６，３８で接続されているので、数値制御装置１０Ａは、時間的に同期をとりながら画像処理エンジン２４，３１間で協調動作を実行することができる。
【００３３】
２つの画像処理エンジンのそれぞれに設定レジスタを持たせた場合、両者に対してレジスタの設定を行う必要があるので設定に時間がかかり、また両者の同期を取りにくいという問題があった。これに対し、実施の形態１では、画像処理エンジン２４，３１の何れか一方がレジスタ設定を行うだけで、エンジン間通信バス２６，３８を通じて画像処理エンジン２４，３１間が同期されるので、画像処理エンジン２４，３１の両方にレジスタが設定される。これにより、数値制御装置１０Ａは、レジスタ設定の時間を削減でき、設定切替に伴うオーバーヘッドも削減できる。
【００３４】
また、数値制御装置１０Ａは、画像処理エンジン２４，３１がエンジン間通信バス２６，３８で接続されているので、画像処理エンジン３１に画像が入力されてから実際に表示器１１に表示されるまでの遅延時間、オペレータといったユーザが操作入力を実行してからの反応時間を小さくすることができる。
【００３５】
また、２つの画像処理エンジン２４，３１のそれぞれに搭載されている画像処理機能は、共通の機能もあるが異なる画像処理機能が含まれていてもよく、それぞれが補完し合うように動作することも可能である。
【００３６】
なお、表示器１１およびカメラ１２の少なくとも一方は、数値制御装置１０Ａの外部に配置された数値制御装置１０Ａの外部機器であってもよい。
【００３７】
つぎに、数値制御装置１０Ａの動作について説明する。図２は、実施の形態１にかかる数値制御装置による表示画面の表示処理手順を示すフローチャートである。表示器１１の何れの領域に何をどのように表示するかは、数値制御装置１０Ａの状態およびオペレータからの指令に基づいて、制御基板２０上のＣＰＵ２２が決定する。ＣＰＵ２２は、決定した内容を示す画像設定情報を作成する（ステップＳ１０）。画像設定情報は、何れの領域に何をどのように表示するかを示す情報である。ＣＰＵ２２は、画像設定情報を制御基板２０上の画像処理エンジン２４に送る（ステップＳ２０）。
【００３８】
画像処理エンジン２４は、画像設定情報に対応する表示画面を作成する（ステップＳ３０）。また、画像処理エンジン２４は、画像設定情報に、映像入力ＩＦ３３から取り込んだ画像に対する画像処理内容が含まれているか否かを判定する（ステップＳ４０）。すなわち、画像処理エンジン２４は、画像設定情報に、画像処理エンジン３１による画像処理内容が含まれているか否かを判定する。
【００３９】
ＣＰＵ２２が作成した画像設定情報に、映像入力ＩＦ３３から取り込んだ画像に対する画像処理内容が含まれていない場合（ステップＳ４０、Ｎｏ）、画像処理エンジン２４は、作成した表示画面を表示器１１に表示させる（ステップＳ９０）。
【００４０】
一方、ＣＰＵ２２が作成した画像設定情報に、映像入力ＩＦ３３から取り込んだ画像に対する画像処理内容が含まれている場合（ステップＳ４０、Ｙｅｓ）、画像処理エンジン２４は、画像処理内容を示す画像処理情報を、画像処理エンジン３１に通知する（ステップＳ５０）。このとき、画像処理エンジン２４は、エンジン間通信バス２６，３８を介して、画像処理情報を画像処理エンジン３１に通知する。
【００４１】
具体的には、制御基板２０の画像処理機能が、画像データの要求を示す要求情報、すなわち画像処理情報を作成し、制御基板２０のデータ通信機能が、画像処理情報を機能拡張基板３０Ａに送信する。これにより、機能拡張基板３０Ａのデータ通信機能が画像処理情報を受信する。
【００４２】
なお、画像処理エンジン２４は、画像設定情報を画像処理エンジン３１に送信し、画像処理エンジン３１が、画像設定情報に、映像入力ＩＦ３３から取り込んだ画像に対する画像処理内容が含まれているか否かを判定してもよい。この場合、画像処理エンジン３１が、画像設定情報から画像処理情報を取得することとなる。なお、画像処理情報には、画像サイズの情報が含まれていてもよい。
【００４３】
画像処理情報には、例えば、画像処理の種類（拡大、縮小、回転、切り出し、画像の補正、複数画像の合成表示）、画像処理のオンおよびオフのタイミング、拡大率、縮小率、回転角度、切り出す画像の座標等が含まれている。画像の補正には、色の補正、輝度の補正、歪みの補正などが含まれている。
【００４４】
画像処理エンジン３１は、画像処理情報を受け付けると、映像入力ＩＦ３３を介してカメラ１２から取り込んだ画像に対し、画像処理情報に基づいた画像処理を行う（ステップＳ６０）。具体的には、機能拡張基板３０Ａの画像処理機能が、カメラ１２から取り込んだ画像に基づいて、画像データ（第２の画像データ）を作成する。画像処理エンジン３１が実行する画像処理の例としては、画像データの拡大、縮小、回転、切り出し、画像の補正、複数画像の合成表示などである。
【００４５】
このように、画像処理エンジン３１は、指定された画像処理情報に従って画像処理を行う。画像処理エンジン３１は、画像処理後の画像データを画像処理エンジン２４に送る（ステップＳ７０）。すなわち、機能拡張基板３０Ａ上で画像処理された画像データは、画像処理エンジン３１から、エンジン間通信バス２６，３８を経由して、画像処理エンジン２４に転送される。具体的には、機能拡張基板３０Ａのデータ通信機能が、画像データを制御基板２０に送信し、制御基板２０のデータ通信機能が画像データを受信する。
【００４６】
画像処理エンジン２４は、画像処理エンジン３１から受け付けた第２の画像データと、画像設定情報に対応する表示画面である第１の画像データとを合成する（ステップＳ８０）。すなわち、画像処理エンジン２４は、画像処理エンジン３１から受け付けた第２の画像データを、制御基板２０上のデータである画像設定情報を用いて作成された表示画面である第１の画像データの特定の位置に貼り付けることで、表示画面を作成する。
【００４７】
制御基板２０上のデータを用いて画像処理エンジン２４が作成した表示画面が第１の画像データである。また、画像処理エンジン３１が作成した画像データが第２の画像データである。画像処理エンジン２４が合成によって作成した表示画面が第３の画像データである。
【００４８】
なお、画像処理エンジン２４は、第３の画像データに、ＶＲＡＭ２５内のデータや、メモリ２７内のデータや、ＣＰＵ２２の状態等を含めてもよい。その場合には、制御基板２０は、表示器１１に画像処理エンジン３１の作成したデータと合わせて、ＶＲＡＭ２５内のデータや、メモリ２７内のデータや、ＣＰＵ２２の状態等を表示させることができる。
【００４９】
画像処理エンジン２４によって作成された表示画面は、映像出力ＩＦ２３を介して表示器１１に出力される。これにより、画像処理エンジン２４は、作成した表示画面を表示器１１に表示させる（ステップＳ９０）。
【００５０】
ここで、画像処理エンジン２４，３１はエンジン間通信バス２６，３８で繋がっており、互いの設定レジスタを読み書きすることができる。したがって、画像処理エンジン２４は、ＣＰＵ２２が作成した画像設定情報に含まれる機能拡張基板３０Ａ上の画像処理内容に従い、画像処理エンジン３１に対して、画像処理の詳細設定を行うことが可能である。すなわち、画像処理エンジン２４は、画像処理エンジン３１の設定レジスタに画像処理の詳細設定を書き込むことによって、画像処理エンジン３１による画像処理を詳細に設定することができる。なお、映像入力ＩＦ３３から取り込む画像は、カメラ１２による画像データに限らず、パーソナルコンピュータ等で作成された画像イメージであってもよい。
【００５１】
また、画像処理エンジン３１は、取り込んだ画像データにフィルタ処理を施してもよい。さらに、画像処理エンジン３１の内蔵メモリまたはＶＲＡＭ３２に、例えば、人の姿、工作機械のオペレータの顔、加工物に付いた傷などを検出するための学習済モデルを事前に格納しておき、画像処理エンジン３１が、取り込んだ画像データの入力に対して、前記学習済モデルを用いたＡＩ（Artificial  Intelligence、人工知能）推論処理を施すことによって、画像データの中の特定の対象物を検出してもよい。この場合、画像処理エンジン３１は、例えば、人の姿、工作機械のオペレータの顔、加工物に付いた傷などを検出することが可能となる。ここで学習済モデルは、例えば、一般的なニューラルネットワークモデルに従って、いわゆる教師あり学習により、人の姿、工作機械のオペレータの顔、加工物に付いた傷などを検出するように生成されたモデルであり、数値制御装置１０Ａとは別の装置、あるいはクラウドサーバ上で生成される。
【００５２】
画像処理エンジン３１は、例えば、画像処理エンジン２４からの要求があった場合に、画像データの中の特定の対象物を検出する。この場合、画像処理エンジン２４は、特定の物体を検出した場合に、検出結果の画像データ（顔部分の画像データ、傷部分の画像データなど）と、この画像データの内容を示す内容情報とを、画像処理エンジン２４に送るよう、画像処理エンジン３１に指示する。
【００５３】
例えば、画像処理エンジン３１が、オペレータの顔を検出した場合、内容情報は、オペレータの名前などである。また、画像処理エンジン３１が、加工物に付いた傷を検出した場合、内容情報は、傷の位置を示す座標などである。また、内容情報は、特定の対象物を検出したことを示す情報であってもよい。
【００５４】
画像処理エンジン３１は、画像データと内容情報とを対応付けして、画像処理エンジン２４に送る。画像処理エンジン２４は、内容情報を表示器１１の画面に表示させる。具体的には、画像処理エンジン２４は、画像データを合成した表示画面に内容情報を合成した表示画面を作成する。画像処理エンジン２４が合成によって作成した、内容情報を含む表示画面が第４の画像データである。内容情報が、特定の対象物を検出したことを示す情報である場合、画像処理エンジン２４は、特定の対象物を検出したことを示す情報を文字データとして表示器１１の画面に表示させてもよい。また、画像処理エンジン２４は、検出された対象物の画像データ、および内容情報をメモリ２７に保存してもよい。
【００５５】
例えば、オペレータが表示器１１側にいて、カメラ１２の位置がオペレータから死角となる位置にある場合、画像処理エンジン３１が、カメラ１２の画像データから人の姿を検出し、画像データとして人の画像を画像処理エンジン２４に送信する。画像処理エンジン２４は、人の画像を表示器１１で表示させることによって、オペレータから直接確認できない死角にいる人をオペレータに知らせることができるので、オペレータに危険な操作等の注意を促すことができる。
【００５６】
また、別の例として、カメラ１２がオペレータを撮影する場合、画像処理エンジン３１がオペレータの顔を検出する。画像処理エンジン３１は、画像処理エンジン２４に、画像データとしてオペレータの顔の画像を送信し、画像処理エンジン２４からＣＰＵ２２に画像データを送信する。ＣＰＵ２２は、同一の人の作業時間が長い場合にアラームを出す指示を画像処理エンジン２４に送信する。画像処理エンジン２４は、表示器１１にオペレータに対し休憩を促す画面を出力するよう指示することができる。
【００５７】
また、別の例として、カメラ１２が加工物を撮影する場合、画像処理エンジン３１が加工物の傷を検出する。画像処理エンジン３１が、画像処理エンジン２４に画像データとして加工物の傷の画像を送信する。内容情報は、加工物の傷の位置を表す座標位置情報である。画像処理エンジン２４は、加工物の傷の画像データと座標位置情報とを表示器１１に表示させる。これにより、肉眼では確認が困難な加工物の傷をオペレータに知らせることができるので、オペレータに対処を促すことができる。
【００５８】
制御基板２０上の画像処理エンジン２４は、全ての数値制御装置１０Ａに標準で搭載されるので、極力安価であることが望ましく、必要最小限のハードウェアとすることが望まれる。この場合、画像処理エンジン２４が有する標準機能だけでは不十分であり、かつ外部から入力された画像に適切な画像処理を施した画像を表示したい場合には、機能拡張基板３０Ａが取り付けられればよい。
【００５９】
これにより、標準で必要なハードウェアのコストを低減することができる。また、後付け可能なハードウェアに含まれる画像処理機能を備えた画像処理エンジン３１と、本体に含まれる画像処理機能を備えた画像処理エンジン２４とが、双方向かつ高度に連携することができる。
【００６０】
このように実施の形態１では、機能拡張基板３０Ａが制御基板２０に取り付けられると、画像処理エンジン２４，３１が協調動作を実行することで、画像処理エンジン２４が、画像処理エンジン３１からカメラ１２の画像データを取得する。また、画像処理エンジン２４が、画像設定情報に対応する表示画面およびカメラ１２の画像データを合成した表示画面を作成し表示器１１に表示させている。
【００６１】
このように、数値制御装置１０Ａは、制御基板２０上のデータである、ＣＰＵ２２が作成した画像設定情報を使用して機能拡張基板３０Ａで作成した画像データを表示器１１に表示させているので、制御基板２０側の画像設定情報を有効活用することができる。また、数値制御装置１０Ａは、ＣＰＵ２２が作成した画像設定情報のうち、機能拡張基板３０Ａで作成した画像データに関する画像データは画像処理エンジン３１で作成し、その他については画像処理エンジン２４で作成するので、どちらかの画像処理エンジンのみで画像データを作成するよりも、処理速度を速めることができる。
【００６２】
また、機能拡張基板３０Ａは、後付け可能な構成となっているので、機能拡張基板３０Ａの機能が不要な場合には、機能拡張基板３０Ａを取り付ける必要がない。このため、数値制御装置１０Ａに標準的な機能のみを必要とする場合、数値制御装置１０Ａの作製コストを低減することができる。
【００６３】
また、後付け可能なハードウェアである機能拡張基板３０Ａを他の数値制御装置との間で共通化することで、他の数値制御装置にも機能拡張基板３０Ａを適用できるので、機能拡張基板３０Ａの管理コストを削減することができる。
【００６４】
また、一旦制御基板２０上のＣＰＵ２２が画像処理エンジン２４を起動した後は、画像処理機能およびデータ通信機能を備えた画像処理エンジン２４，３１同士が相互にデータ転送を実行するので、ＣＰＵ２２に負荷がかからず、数値制御装置１０Ａによる加工の性能に悪影響を及ぼすことがない。
【００６５】
実施の形態２．
つぎに、図３および図４を用いて実施の形態２について説明する。実施の形態２では、機能拡張基板の画像処理エンジンが、機能拡張基板に接続された表示器に表示画面を表示させる。実施の形態２でも、実施の形態１と同様に、機能拡張基板による処理が必要な場合にのみ、機能拡張基板が機能拡張スロット４０に取り付けられる。
【００６６】
図３は、実施の形態２にかかる数値制御装置を備えた数値制御システムの構成を示す図である。図３の各構成要素のうち図１に示す実施の形態１の数値制御システム１Ａと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
【００６７】
数値制御システム１Ｂは、数値制御装置１０Ｂと、アンプ３と、モータ２とを備えている。数値制御装置１０Ｂは、制御基板２０と、表示器１１と、機能拡張基板３０Ｂと、カメラ１２と、表示器１３とを備えている。表示器１３が、第２の表示器である。
【００６８】
機能拡張基板３０Ｂは、画像処理エンジン３１と、ＶＲＡＭ３２と、映像入力ＩＦ３３と、映像出力ＩＦ３４とを有している。
【００６９】
映像出力ＩＦ３４は、表示器１３および画像処理エンジン３１に接続されている。表示器１３は、表示器１１と同様の表示装置である。機能拡張基板３０Ｂは、機能拡張スロット４０に着脱可能となっている。図３では、機能拡張スロット４０に機能拡張基板３０Ｂが取り付けられた状態を示している。
【００７０】
このように、実施の形態２の数値制御装置１０Ｂは、制御基板２０に映像出力ＩＦ２３が配置され、機能拡張基板３０Ｂに映像出力ＩＦ３４が配置されている。この構成により、数値制御装置１０Ｂは、同時に２つの表示器１１，１３に画像を表示させることが可能となる。なお、表示器１３は、数値制御装置１０Ｂの外部に配置された数値制御装置１０Ｂの外部機器であってもよい。
【００７１】
つぎに、数値制御装置１０Ｂの動作について説明する。図４は、実施の形態２にかかる数値制御装置による表示画面の表示処理手順を示すフローチャートである。なお、図２で説明した処理と同様の処理については、重複する説明は省略する。
【００７２】
２つの表示器１１，１３の何れの領域に何をどのように表示するかは、数値制御装置１０Ｂの状態およびオペレータからの指令に基づいて、制御基板２０上のＣＰＵ２２が決定する。ＣＰＵ２２は、決定した内容に対応する画像設定情報を作成する（ステップＳ１０）。ＣＰＵ２２は、画像設定情報を制御基板２０上の画像処理エンジン２４に送る（ステップＳ２０）。この画像設定情報には、画像処理エンジン２４への画像設定情報であるか、画像処理エンジン３１への画像設定情報であるかを識別するための識別情報が含まれている。この画像設定情報は、制御基板２０上のデータである。
【００７３】
画像処理エンジン２４は、画像設定情報に含まれる識別情報に基づいて、画像設定情報から画像処理エンジン２４への画像設定情報を抽出する。画像処理エンジン２４は、画像処理エンジン２４への画像設定情報を用いて、表示画面を作成する（ステップＳ１１０）。
【００７４】
また、画像処理エンジン２４は、画像設定情報に含まれる識別情報に基づいて、画像設定情報に、画像処理エンジン３１の画像設定情報が含まれているか否かを判定する（ステップＳ１２０）。
【００７５】
ＣＰＵ２２が作成した画像設定情報に、画像処理エンジン３１への画像設定情報が含まれていない場合（ステップＳ１２０、Ｎｏ）、画像処理エンジン２４は、画像設定情報を画像処理エンジン３１に送信しない。この場合、画像処理エンジン２４は、表示器１１に表示画面を表示させる（ステップＳ１６０）。
【００７６】
一方、ＣＰＵ２２が作成した画像設定情報に、画像処理エンジン３１への画像設定情報が含まれている場合（ステップＳ１２０、Ｙｅｓ）、画像処理エンジン２４は、画像処理エンジン３１への画像設定情報を画像処理エンジン３１に送信する（ステップＳ１３０）。
【００７７】
画像処理エンジン３１は、画像処理エンジン３１への画像設定情報を用いて、表示画面を作成する（ステップＳ１４０）。画像処理エンジン３１が作成する表示画面のデータが、第５の画像データである。
【００７８】
なお、画像処理エンジン２４は、画像設定情報を画像処理エンジン３１に送信し、画像処理エンジン３１が、画像設定情報に、画像処理エンジン３１への画像設定情報が含まれているか否かを判定してもよい。この場合、画像処理エンジン３１が、識別情報に基づいて、画像設定情報から画像処理情報を取得することとなる。
【００７９】
このように、画像処理エンジン２４，３１は、ＣＰＵ２２が作成した画像設定情報に基づいて表示画面を作成する。そして、画像処理エンジン３１は、作成した表示画面を表示器１３に表示させ（ステップＳ１５０）、画像処理エンジン２４は、作成した表示画面を表示器１１に表示させる（ステップＳ１６０）。なお、画像処理エンジン２４，３１が作成する表示画面には、カメラ１２で撮像された画像が含まれていてもよいし、含まれていなくてもよい。
【００８０】
なお、画像処理エンジン２４が表示画面を作成するタイミングと、画像処理エンジン３１が表示画面を作成するタイミングとは、何れが先であってもよい。また、画像処理エンジン２４が表示器１１に表示画面を表示させるタイミングと、画像処理エンジン３１が表示器１３に表示画面を表示させるタイミングとは、何れが先であってもよい。すなわち、画像処理エンジン２４は、ステップＳ２０の後であり、且つステップＳ１６０の前であれば、ステップＳ１１０の処理を何れのタイミングで実行してもよい。また、画像処理エンジン２４は、ステップＳ１１０の後であれば、ステップＳ１６０の処理を何れのタイミングで実行してもよい。
【００８１】
表示器１１，１３が映す表示画面は、同じである場合もあれば、異なる場合もある。例えば、数値制御装置１０Ｂが大型の工作機械を制御する場合がある。この場合に、２つの表示器１１，１３が離して配置され、表示器１１，１３が同じ画像を表示することで、オペレータは工作機械の周囲の広い範囲から、表示器１１，１３に表示されている情報を視認できる。
【００８２】
また、２つの表示器１１，１３が並んで配置されている場合、表示器１１，１３が異なる画像を表示することで、オペレータは同時に多くの情報を入手することができる。なお、２つの表示器１１，１３が離れて配置されている場合であっても、場所によってオペレータが必要とする情報が異なる場合がある。また、機能拡張基板３０Ｂ側の映像出力ＩＦ３４が、遠くからでも視認しやすいような大画面の表示画面を表示器１３に出力して、表示器１１，１３に異なる画面解像度で表示を行いたい場合がある。これらの場合、数値制御装置１０Ｂは、表示器１１，１３に異なる表示画面を表示することもできる。
【００８３】
また、機能拡張基板３０Ｂに設けられている映像入力ＩＦ３３を介して取り込んだ画像は、画像処理エンジン３１にて適切な画像処理が施される。この画像処理後の画像データは、ＣＰＵ２２が作成した画像設定情報に基づいて、表示器１１，１３のうちの何れか一方、または両方で表示される。表示器１１が、画像処理後の画像データを表示する場合には、画像処理エンジン３１が、画像処理後の画像データを、エンジン間通信バス３８，２６を介して画像処理エンジン２４に送る。これにより、画像処理エンジン２４は、表示器１１の特定領域に画像処理後の画像データを表示させる。また、画像処理エンジン３１は、表示器１３の特定領域に画像処理後の画像データを表示させる。
【００８４】
実施の形態２では、実施の形態１と同様に、制御基板２０上の画像処理エンジン２４は、全ての数値制御装置１０Ｂに標準で搭載されるので、極力安価であることが望ましく、必要最小限のハードウェアとすることが望まれる。
【００８５】
実施の形態２では、２つの表示器１１，１３に同時に表示画面を出力したい場合に、機能拡張基板３０Ｂが取り付けられればよいので、標準で必要なハードウェアのコストを低減することができる。また、２つの表示器１１，１３に同時に表示画面を出力したい場合でも、画像処理エンジン２４，３１は、何れも制御基板２０上の画像設定情報を用いるので、本体側の情報を有効活用することができる。
【００８６】
オプションとなる機能拡張基板３０Ｂ側の画像処理エンジン３１の方が画像処理エンジン２４よりも高性能であり、かつ表示器１１よりも表示器１３の方が高画素あるいは大画面である場合がある。この場合、２画面への同時出力はしないが、高画素あるいは大画面の表示器１３に表示させたい場合に、機能拡張基板３０Ｂが、機能拡張スロット４０に装着されてもよい。
【００８７】
また、機能拡張基板３０Ｂは、機能拡張基板３０Ａが備える構成要素を全て含んでいるので、機能拡張基板３０Ｂに機能拡張基板３０Ａと同様の処理を実行させてもよい。この場合の画像処理エンジン２４は、画像処理エンジン３１に実行させる処理の切り替え機能を有している。画像処理エンジン２４は、画像処理エンジン３１に、何れの処理を実行させるかを通知してから、画像処理エンジン３１に、画像処理情報または画像設定情報を送信する。
【００８８】
すなわち、画像処理エンジン２４は、画像処理エンジン３１に画像データを要求する場合には、画像データを要求することを画像処理エンジン３１に通知し、その後、実施の形態１で説明した画像処理情報を画像処理エンジン３１に送る。
【００８９】
また、画像処理エンジン２４は、画像処理エンジン３１に画像データを表示させたい場合には、画像データを表示させることを画像処理エンジン３１に通知し、その後、実施の形態２で説明した画像設定情報を画像処理エンジン３１に送る。
【００９０】
このように実施の形態２によれば、制御基板２０が、映像出力ＩＦ２３を備え、後付け可能な機能拡張基板３０Ｂが映像出力ＩＦ３４を備えている。したがって、数値制御装置１０Ｂは、表示器１１，１３に対して画像を表示させることが可能となる。
【００９１】
実施の形態３．
つぎに、図５および図６を用いて実施の形態３について説明する。実施の形態３では、複数の数値制御装置が接続され、各機能拡張基板が、時間的な同期を取りながら数値制御装置間で各モータの情報を共有する。実施の形態３でも、実施の形態１と同様に、機能拡張基板による処理が必要な場合にのみ、機能拡張基板が機能拡張スロット４０に取り付けられる。
【００９２】
図５は、実施の形態３にかかる数値制御装置を備えた数値制御システムの構成を示す図である。図５の各構成要素のうち図３に示す実施の形態２の数値制御システム１Ｂと同一機能を達成する構成要素については同一符号を付しており、重複する説明は省略する。
【００９３】
数値制御システム１Ｃは、複数の数値制御装置と、複数のアンプと、複数のモータとを備えている。実施の形態３では、数値制御システム１Ｃが、３つの数値制御装置１０Ｘ，１０Ｙ，１０Ｚと、３つのアンプ３Ｘ，３Ｙ，３Ｚと、３つのモータ２Ｘ，２Ｙ，２Ｚとを備えている場合について説明する。
【００９４】
数値制御装置１０Ｘ〜１０Ｚは、何れも同様の構成を有している。また、モータ２Ｘ〜２Ｚは、モータ２と同様の構成を有し、アンプ３Ｘ〜３Ｚはアンプ３と同様の構成を有している。
【００９５】
数値制御システム１Ｃでは、数値制御装置１０Ｘが、数値制御装置１０Ｙ，１０Ｚに接続され、数値制御装置１０Ｙが、数値制御装置１０Ｚに接続されている。数値制御装置１０Ｘは、アンプ３Ｘに接続され、アンプ３Ｘはモータ２Ｘに接続されている。同様に、数値制御装置１０Ｙは、アンプ３Ｙに接続され、アンプ３Ｙはモータ２Ｙに接続されている。同様に、数値制御装置１０Ｚは、アンプ３Ｚに接続され、アンプ３Ｚはモータ２Ｚに接続されている。
【００９６】
数値制御装置１０Ｘ〜１０Ｚは、同様の構成を有しているので、ここでは、数値制御装置１０Ｘの構成について説明する。数値制御装置１０Ｘは、制御基板２０と、表示器１１と、機能拡張基板３０Ｃと、カメラ１２と、表示器１３とを備えている。機能拡張基板３０Ｃは、画像処理エンジン３１と、データ通信部であるデータ通信エンジン３５と、ＶＲＡＭ３２と、映像入力ＩＦ３３と、映像出力ＩＦ３４と、装置間通信ＩＦ３６，３７とを有している。
【００９７】
なお、機能拡張基板３０Ｃの画像処理エンジン３１は、画像処理機能を備えていなくてもよい。この場合、機能拡張基板３０Ｃは、ＶＲＡＭ３２、映像入力ＩＦ３３、および映像出力ＩＦ３４を備えていなくてもよい。また、制御基板２０の画像処理エンジン２４は、画像処理機能を備えていなくてもよい。この場合、制御基板２０は、映像出力ＩＦ２３、およびＶＲＡＭ２５を備えていなくてもよい。
【００９８】
画像処理エンジン３１が、画像処理機能を備えていない場合、画像処理エンジン３１は、制御基板２０との間で通信を実行する、内部通信エンジンとなる。また、画像処理エンジン２４が、画像処理機能を備えていない場合、画像処理エンジン２４は、機能拡張基板３０Ｃとの間で通信を実行する、内部通信エンジンとなる。
【００９９】
実施の形態３では、画像処理エンジン２４が第１の処理部である第１の処理エンジンであり、画像処理エンジン３１およびデータ通信エンジン３５が第２の処理部である第２の処理エンジンである。
【０１００】
数値制御装置１０Ｘは、機能拡張基板３０Ｃの画像処理エンジン３１を内蔵する半導体チップに、データ通信エンジン３５も内蔵されている。半導体チップ内にデータ通信エンジン３５を追加することは、半導体チップの回路容量が足りるのであれば容易に実現できる。
【０１０１】
データ通信エンジン３５は、数値制御装置１０Ｘ〜１０Ｚ間で高速通信を行うための、データ通信機能およびデータ処理機能を有している。すなわち、データ通信エンジン３５は、外部機器との通信を実行する。データ通信機能の例は、ＤＭＡ（Direct  Memory  Access）機能、データバッファリング機能、SerDes（シリアライザ、デシリアライザ）機能などである。データ通信エンジン３５のデータ通信機能が、第３のデータ通信機能である。
【０１０２】
また、データ処理の例は、８Ｂ１０Ｂ変換処理、ビット誤り検出処理、ビット誤り訂正処理などである。数値制御装置１０Ｘと数値制御装置１０Ｙとの間は、数値制御装置１０Ｘが備える装置間通信ＩＦ３７と、数値制御装置１０Ｙが備える装置間通信ＩＦ３６とを介して、データ転送が行われる。同様に、数値制御装置１０Ｙと数値制御装置１０Ｚとの間は、数値制御装置１０Ｙが備える装置間通信ＩＦ３７と、数値制御装置１０Ｚが備える装置間通信ＩＦ３６とを介して、データ転送が行われる。同様に、数値制御装置１０Ｚと数値制御装置１０Ｘとの間は、数値制御装置１０Ｚが備える装置間通信ＩＦ３７と、数値制御装置１０Ｘが備える装置間通信ＩＦ３６とを介して、データ転送が行われる。
【０１０３】
装置間通信ＩＦ３６，３７は、画像処理エンジン３１と、データ通信エンジン３５とを内蔵する半導体チップに接続されている。
【０１０４】
図５では、３つの数値制御装置１０Ｘ〜１０Ｚからなるネットワークのネットワークトポロジがリング型およびフルコネクト型となっているが、ネットワークトポロジは、ライン型またはメッシュ型であってもよい。なお、数値制御システム１Ｃが備える数値制御装置は、２つであってもよいし、４つ以上であってもよい。
【０１０５】
ところで、数値制御装置が備えるＣＰＵの主な機能の１つはモータ制御機能である。１つの数値制御装置のＣＰＵで複数のモータを制御することも可能であるが、搭載されているＣＰＵの性能に依存して、１つの数値制御装置が制御できるモータの個数の上限が決まる。
【０１０６】
また、モータの制御周期を長くすることで１つの数値制御装置が制御できるモータの個数を増やすことも可能であるが、それでも１つの数値制御装置が制御できるモータの個数には限界がある。
【０１０７】
したがって、１つの数値制御装置で制御可能な個数よりも多いモータを制御する必要がある場合、複数の数値制御装置を用いて制御可能なモータの個数を増やす必要がある。この場合、単純に複数の数値制御装置を用意すれば良いのではなく、モータ間で時間的な同期を確保する必要がある。同じ数値制御装置が制御するモータであれば、同じＣＰＵによって制御されるので、時間的な同期は確保される。ところが、異なる数値制御装置が制御しているモータ間で時間的な同期を確保するには、それぞれの数値制御装置のＣＰＵ間で時間的な同期を確保する必要がある。また、数値制御装置が制御する工作機械によっては、ある数値制御装置のＣＰＵで制御していたモータを、ある時間以降では別の数値制御装置のＣＰＵで制御を行う必要があり、各モータの情報を複数の数値制御装置のＣＰＵ間で共有する必要がある。このように数値制御装置間で、時間的な同期を確保しながら、各数値制御装置が取得したモータの情報であるモータ情報を共有するため、数値制御装置間で高速に通信を行う必要がある。
【０１０８】
そこで、実施の形態３では、各数値制御装置１０Ｘが、データ通信エンジン３５を用いて、数値制御装置１０Ｙ，１０Ｚとの間で高速に通信を行うことで、モータ２Ｘ〜２Ｚを同期させつつ、数値制御装置１０Ｘ〜１０Ｚ間で各モータ情報を共有する。
【０１０９】
ここで、複数の数値制御装置１０Ｘ〜１０Ｚ間で時間的な同期を確保する方法の一例について説明する。数値制御装置１０Ｘは、制御基板２０または機能拡張基板３０Ｃに搭載されているタイマー（図示せず）を用いて一定周期の基準タイミング信号を生成する。
【０１１０】
なお、基準タイミング信号を生成する数値制御装置は、数値制御装置１０Ｙまたは数値制御装置１０Ｚであってもよい。数値制御システム１Ｃでは、数値制御装置１０Ｘ〜１０Ｚの何れか１つが、マスタの数値制御装置となり、マスタの数値制御装置が基準タイミング信号を生成する。マスタの数値制御装置は、予めユーザによって指定される。
【０１１１】
制御基板２０または機能拡張基板３０Ｃは、タイマーから出力されるパルスの数を常に同じ数だけカウントし、カウントした時点で信号を出力することで、一定周期の基準タイミング信号を生成する。制御基板２０または機能拡張基板３０Ｃは、パルスを特定数だけカウントしたらカウンターを０にリセットする。
【０１１２】
数値制御装置１０Ｘの画像処理エンジン３１およびデータ通信エンジン３５は、基準タイミング信号と同期して、数値制御装置１０Ｙの画像処理エンジン３１およびデータ通信エンジン３５に対して、同期信号を出力する。数値制御装置１０Ｙの画像処理エンジン３１およびデータ通信エンジン３５も、数値制御装置１０Ｘと同様に、内部に搭載しているタイマーのパルスをカウントしており、数値制御装置１０Ｘから出力された同期信号を受信したタイミングで、カウンターを０にリセットする。数値制御装置１０Ｘ，１０Ｙでは、同期信号に従って、画像処理エンジン３１およびデータ通信エンジン３５が動作する。したがって、数値制御装置１０Ｘのデータ通信エンジン３５は、同期信号に基づいて、数値制御装置１０Ｙとの間でモータ情報を送受信する。
【０１１３】
数値制御装置１０Ｘと数値制御装置１０Ｚとの間も、数値制御装置１０Ｘと数値制御装置１０Ｙとの間と同様の処理によって同期することができる。これにより、複数の数値制御装置１０Ｘ〜１０Ｚ間で時間的な同期を確保することが可能となる。
【０１１４】
つぎに、複数の数値制御装置１０Ｘ〜１０Ｚ間で各モータ情報を共有する方法の一例について説明する。なお、以下で説明するモータ情報の共有方法は一例であり、他の方法によってモータ情報が共有されてもよい。
【０１１５】
全ての数値制御装置１０Ｘ〜１０Ｚには、制御基板２０上の共有メモリに各モータ情報の格納領域が設けられている。共有メモリは、画像処理エンジン２４を格納するチップ内のＲＡＭであってもよいし、他のメモリであってもよい。以下の説明では、各モータ情報の格納領域を、モータ情報格納領域という。
【０１１６】
図６は、実施の形態３にかかる数値制御装置に設けられるモータ情報格納領域を説明するための図である。数値制御装置１０Ｘ〜１０Ｚは、それぞれ共有メモリ内にモータ情報格納領域１０１を有している。モータ情報格納領域１０１には、モータ情報が格納されている。数値制御装置１０Ｘ〜１０Ｚでは、何れの数値制御装置のモータ情報が、モータ情報格納領域１０１内の何れの領域に格納されるかが規定されている。モータ情報の格納領域は、共有メモリ内のアドレスによって規定されている。
【０１１７】
すなわち、モータ情報格納領域１０１には、モータ２Ｘから取得されたモータ情報（以下、第１のモータ情報という）が格納される領域、モータ２Ｙから取得されたモータ情報が格納される領域（以下、第２のモータ情報という）、およびモータ２Ｚから取得されたモータ情報（以下、第３のモータ情報という）が格納される領域が含まれている。なお、第１から第３のモータ情報を区別する必要が無い場合には、第１から第３のモータ情報をモータ情報という場合がある。
【０１１８】
第１から第３のモータ情報のうちの１つのモータ情報が、第１の機器情報であり、第１から第３のモータ情報のうちの他の１つのモータ情報が、第２の機器情報である。
【０１１９】
数値制御装置１０Ｘ〜１０Ｚでは、第１のモータ情報が格納される領域と、第１のモータ情報の識別情報とが対応付けされている。同様に、数値制御装置１０Ｘ〜１０Ｚでは、第２のモータ情報が格納される領域と、第２のモータ情報の識別情報とが対応付けされており、第３のモータ情報が格納される領域と、第３のモータ情報の識別情報とが対応付けされている。数値制御装置１０Ｘ〜１０Ｚは、これらの識別情報に従って、第１から第３のモータ情報をモータ情報格納領域１０１に格納する。
【０１２０】
数値制御装置１０Ｘが用いるアドレスは、数値制御装置１０Ｙ，１０Ｚが用いるアドレスと同じである。すなわち、数値制御装置１０Ｘがモータ２Ｘから取得したモータ情報が格納されるアドレスは、数値制御装置１０Ｘ〜１０Ｚで共通である。同様に、数値制御装置１０Ｙがモータ２Ｙから取得したモータ情報が格納されるアドレスは、数値制御装置１０Ｘ〜１０Ｚで共通であり、数値制御装置１０Ｚがモータ２Ｚから取得したモータ情報が格納されるアドレスは、数値制御装置１０Ｘ〜１０Ｚで共通である。
【０１２１】
数値制御装置１０Ｘ〜１０Ｚが有するモータ情報格納領域１０１は、それぞれ同じ内容となっている。数値制御装置１０Ｘは、モータ２Ｘから取得した第１のモータ情報を数値制御装置１０Ｘのモータ情報格納領域１０１に格納する。この場合において、数値制御装置１０Ｘは、第１のモータ情報に対応付けされている領域、すなわち第１のモータ情報に対応付けされているアドレスに第１のモータ情報を格納する。
【０１２２】
同様に、数値制御装置１０Ｙは、モータ２Ｙから取得した第２のモータ情報を数値制御装置１０Ｙのモータ情報格納領域１０１に格納する。この場合において、数値制御装置１０Ｙは、第２のモータ情報に対応付けされている領域、すなわち第２のモータ情報に対応付けされているアドレスに第２のモータ情報を格納する。
【０１２３】
同様に、数値制御装置１０Ｚは、モータ２Ｚから取得した第３のモータ情報を数値制御装置１０Ｚのモータ情報格納領域１０１に格納する。この場合において、数値制御装置１０Ｚは、第３のモータ情報に対応付けされている領域、すなわち第３のモータ情報に対応付けされているアドレスに第３のモータ情報を格納する。
【０１２４】
また、数値制御装置１０Ｘは、数値制御装置１０Ｙ，１０Ｚから取得した第２および第３のモータ情報を、数値制御装置１０Ｘのモータ情報格納領域１０１に格納する。同様に、数値制御装置１０Ｙは、数値制御装置１０Ｘ，１０Ｚから取得した第１および第３のモータ情報を、数値制御装置１０Ｙのモータ情報格納領域１０１に格納する。同様に、数値制御装置１０Ｚは、数値制御装置１０Ｘ，１０Ｙから取得した第１および第２のモータ情報を、数値制御装置１０Ｚのモータ情報格納領域１０１に格納する。これにより、数値制御装置１０Ｘ〜１０Ｚが有するモータ情報格納領域１０１は、それぞれ同じ内容となる。
【０１２５】
つぎに、数値制御装置１０Ｘ〜１０Ｚが、モータ情報を更新する処理について説明する。数値制御装置１０ＸのＣＰＵ２２は、自らが制御しているモータ２Ｘの第１のモータ情報を制御周期毎に更新する。同様に、数値制御装置１０ＹのＣＰＵ２２は、自らが制御しているモータ２Ｙの第２のモータ情報を制御周期毎に更新し、数値制御装置１０ＺのＣＰＵ２２は、自らが制御しているモータ２Ｚの第３のモータ情報を制御周期毎に更新する。
【０１２６】
また、数値制御装置１０Ｘの画像処理エンジン２４は、ＣＰＵ２２が更新した第１のモータ情報の識別情報（以下、第１のモータ識別情報という）を、数値制御装置１０Ｘの画像処理エンジン３１およびデータ通信エンジン３５に通知する。なお、以下の説明では、画像処理エンジン３１およびデータ通信エンジン３５をエンジン部という場合がある。
【０１２７】
数値制御装置１０Ｙの画像処理エンジン２４は、ＣＰＵ２２が更新した第２のモータ情報の識別情報（以下、第２のモータ識別情報という）を、数値制御装置１０Ｙのエンジン部に通知する。同様に、数値制御装置１０Ｚの画像処理エンジン２４は、ＣＰＵ２２が更新した第３のモータ情報の識別情報（以下、第３のモータ識別情報という）を、数値制御装置１０Ｚのエンジン部に通知する。なお、第１から第３のモータ識別情報を区別する必要が無い場合には、第１から第３のモータ識別情報をモータ識別情報という場合がある。
【０１２８】
数値制御装置１０Ｘのエンジン部は、通知された第１のモータ識別情報に対応する第１のモータ情報を、制御基板２０の共有メモリで格納しているモータ情報格納領域１０１から読み取る。データ通信エンジン３５は、読み取った第１のモータ情報と第１のモータ識別情報とを対応付けたモータ対応情報を、数値制御装置１０Ｙ，１０Ｚのエンジン部に送信する。
【０１２９】
数値制御装置１０Ｙのエンジン部も、数値制御装置１０Ｘのエンジン部と同様に、第２のモータ情報と第２のモータ識別情報とを対応付けたモータ対応情報を、数値制御装置１０Ｘ，１０Ｚのエンジン部に送信する。
【０１３０】
数値制御装置１０Ｚのエンジン部も、数値制御装置１０Ｘのエンジン部と同様に、第３のモータ情報と第３のモータ識別情報とを対応付けたモータ対応情報を、数値制御装置１０Ｘ，１０Ｙのエンジン部に送信する。
【０１３１】
数値制御装置１０Ｘのエンジン部は、受信した第２のモータ識別情報に基づいて、モータ情報格納領域１０１のうち、第２のモータ情報が格納されている領域に、受信した第２のモータ情報を上書きする。
【０１３２】
また、数値制御装置１０Ｘのエンジン部は、受信した第３のモータ識別情報に基づいて、モータ情報格納領域１０１のうち、第３のモータ情報が格納されている領域に、受信した第３のモータ情報を上書きする。
【０１３３】
数値制御装置１０Ｙにおいても、数値制御装置１０Ｘと同様に、受信した第１のモータ識別情報に基づいて、第１のモータ情報が格納されている領域に、受信した第１のモータ情報を上書きする。また、数値制御装置１０Ｙは、受信した第３のモータ識別情報に基づいて、第３のモータ情報が格納されている領域に、受信した第３のモータ情報を上書きする。
【０１３４】
数値制御装置１０Ｚにおいても、数値制御装置１０Ｘと同様に、受信した第１のモータ識別情報に基づいて、第１のモータ情報が格納されている領域に、受信した第１のモータ情報を上書きする。また、数値制御装置１０Ｚは、受信した第２のモータ識別情報に基づいて、第２のモータ情報が格納されている領域に、受信した第２のモータ情報を上書きする。
【０１３５】
数値制御システム１Ｃは、モータ情報の取得処理と、モータ識別情報とモータ情報との対応関係を他の数値制御装置に通知する処理と、モータ情報の更新処理と、モータ情報の上書き処理とを制御周期毎に繰り返す。これにより、数値制御装置１０Ｘ〜１０Ｚは、他の数値制御装置のＣＰＵ２２が制御していたモータを、ある制御周期以降から引き継いで制御することが可能になる。
【０１３６】
数値制御装置１０Ｘ〜１０Ｚは、モータ情報格納領域１０１に格納されている第１から第３のモータ情報に基づいて、モータ２Ｘ〜２Ｚを制御する。この場合において、数値制御装置１０Ｘ〜１０Ｚは、データ通信エンジン３５を用いて、他の数値制御装置に、モータ制御用の指令信号を送信する。他の数値制御装置は、モータ制御用の指令信号を受信すると、このモータ制御用の指令信号をアンプに送信する。
【０１３７】
例えば、数値制御装置１０Ｘが、モータ２Ｙを制御する場合、数値制御装置１０ＸのＣＰＵ２２が、モータ２Ｙを制御するための指令信号を生成する。この指令信号は、数値制御装置１０Ｘ内の、画像処理エンジン２４、およびエンジン間通信バス２６，３８を介してデータ通信エンジン３５に送られる。そして、このデータ通信エンジン３５が、装置間通信ＩＦ３７からモータ２Ｙを制御するための指令信号を、数値制御装置１０Ｙの装置間通信ＩＦ３６に送信する。
【０１３８】
数値制御装置１０Ｙでは、データ通信エンジン３５が、装置間通信ＩＦ３６からモータ２Ｙを制御するための指令信号を受信する。データ通信エンジン３５は、モータ２Ｙを制御するための指令信号を、エンジン間通信バス３８，２６、および画像処理エンジン２４を介してＣＰＵ２２に送る。ＣＰＵ２２は、このモータ２Ｙを制御するための指令信号を、モータ制御通信ＩＦ２１からアンプ３Ｙに送信し、アンプ３Ｙが、モータ２Ｙを制御するための指令信号に従って、モータ２Ｙを駆動する。
【０１３９】
このように、数値制御装置１０Ｘ〜１０Ｚ間における指令信号の送受信は、データ通信エンジン３５を用いて実行される。
【０１４０】
なお、制御基板上のＣＰＵまたは画像処理エンジンが、複数の数値制御装置間通信での時間的な同期の確保、およびモータ情報の共有を行うことも可能であるが、これらを可能とするには制御基板が高価になる。制御基板上のＣＰＵおよび画像処理エンジンは全ての数値制御装置に標準で搭載されるため、極力安価であることが望ましく、必要最小限のハードウェアとすることが望まれる。
【０１４１】
数値制御システム１Ｃでは、複数の数値制御装置１０Ｘ〜１０Ｚの接続が必要とされる場合に、機能拡張基板３０Ｃを取り付ければよいので、標準で必要なハードウェアのコストを低減することができる。
【０１４２】
機能拡張基板３０Ｃは、機能拡張基板３０Ａ，３０Ｂが備える構成要素を全て含んでいるので、機能拡張基板３０Ｃに機能拡張基板３０Ａ，３０Ｂと同様の処理を実行させてもよい。この場合の画像処理エンジン２４は、エンジン部に実行させる処理の切り替え機能を有している。画像処理エンジン２４は、エンジン部に、何れの処理を実行させるかを通知してから、エンジン部に、画像処理情報、画像設定情報、またはモータ対応情報を送信する。
【０１４３】
すなわち、画像処理エンジン２４は、エンジン部に画像データを要求する場合には、画像データを要求することをエンジン部に通知し、その後、実施の形態１で説明した画像処理情報をエンジン部に送る。
【０１４４】
また、画像処理エンジン２４は、エンジン部に画像データを表示させたい場合には、画像データを表示させることをエンジン部に通知し、その後、実施の形態２で説明した画像設定情報をエンジン部に送る。
【０１４５】
また、画像処理エンジン２４は、エンジン部にモータ対応情報を外部送信させたい場合には、モータ対応情報を外部送信させることをエンジン部に通知し、その後、実施の形態３で説明したモータ識別情報をエンジン部に送る。これにより、エンジン部が、モータ識別情報に基づいてモータ情報を制御基板２０から読み出し、モータ対応情報を数値制御装置１０Ｙ，１０Ｚに送る。
【０１４６】
このように実施の形態３によれば、後付け可能な機能拡張基板３０Ｃが、データ通信エンジン３５を備えている。これにより、数値制御装置１０Ｘ〜１０Ｚは、互いにデータ通信を実行することができるので、各機能拡張基板３０Ｃが、時間的な同期を確保しつつ、数値制御装置１０Ｘ〜１０Ｚ間でモータ２Ｘ〜２Ｚのモータ情報を共有することができる。したがって、数値制御装置１０Ｘ〜１０Ｚは、モータ２Ｘ〜２Ｚの何れも制御することが可能となる。
【０１４７】
以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
【符号の説明】
【０１４８】
１Ａ〜１Ｃ  数値制御システム、２，２Ｘ〜２Ｚ  モータ、３，３Ｘ〜３Ｚ  アンプ、１０Ａ，１０Ｂ，１０Ｘ〜１０Ｚ  数値制御装置、１１，１３  表示器、１２  カメラ、２０  制御基板、２１  モータ制御通信ＩＦ、２２  ＣＰＵ、２３，３４  映像出力ＩＦ、２４，３１  画像処理エンジン、２５，３２  ＶＲＡＭ、２６，３８  エンジン間通信バス、２７  メモリ、３０Ａ〜３０Ｃ  機能拡張基板、３３  映像入力ＩＦ、３５  データ通信エンジン、３６，３７  装置間通信ＩＦ、４０  機能拡張スロット、１０１  モータ情報格納領域。
【要約】
数値制御装置（１０Ａ）が、モータ（２）の制御機能、第１の画像データを作成する機能、および第１のデータ通信機能を備えた画像処理エンジン（２４）を具備する制御基板（２０）と、カメラ（１２）で撮像された画像から第２の画像データを作成する機能、および第２のデータ通信機能を備えた画像処理エンジン（３１）を具備するとともに制御基板（２０）に着脱可能な機能拡張基板（３０Ａ）と、を有し、第１の画像処理機能は、制御基板上のデータを用いて第１の画像データを作成し、第１および第２のデータ通信機能は、機能拡張基板（３０Ａ）と制御基板（２０）との間で通信を実行する機能であり、機能拡張基板（３０Ａ）が制御基板（２０）に取り付けられると、画像処理エンジン（２４）が、画像処理エンジン（３１）から第２の画像データを取得し、第１の画像データおよび第２の画像データを用いて表示画面を作成し表示器（１１）に表示させる。【図１】
0006833145.tif 000002
【図２】
0006833145.tif 000003
【図３】
0006833145.tif 000004
【図４】
0006833145.tif 000005
【図５】
0006833145.tif 000006
【図６】
0006833145.tif 000007