(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-16
(45)【発行日】2024-10-24
(54)【発明の名称】情報処理装置及び産業用ロボット
(51)【国際特許分類】
H04L 12/28 20060101AFI20241017BHJP
H04L 47/50 20220101ALI20241017BHJP
B25J 13/00 20060101ALI20241017BHJP
G05B 19/042 20060101ALI20241017BHJP
【FI】
H04L12/28 200Z
H04L12/28 100F
H04L47/50
B25J13/00 Z
G05B19/042
(21)【出願番号】P 2021010109
(22)【出願日】2021-01-26
【審査請求日】2023-12-18
(73)【特許権者】
【識別番号】000002233
【氏名又は名称】ニデックインスツルメンツ株式会社
(74)【代理人】
【識別番号】100123788
【氏名又は名称】宮崎 昭夫
(74)【代理人】
【識別番号】100127454
【氏名又は名称】緒方 雅昭
(72)【発明者】
【氏名】中村 和博
【審査官】前田 健人
(56)【参考文献】
【文献】韓国公開特許第10-2020-0113958(KR,A)
【文献】特開2018-132829(JP,A)
【文献】米田 健 TAKESHI YONEDA,可変長パケット巡回方式を用いた統合サービスLAN An Integrated Service LAN Using Variable Length Packet Circulation Scheme,情報処理学会論文誌 第34巻 第7号 Transactions of Information Processing Society of Japan,日本,社団法人情報処理学会 Information Processing Society of Japan,1993年07月15日,第34巻,pp.1618-1628
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/28-12/46
H04L 47/50-47/6295
G05B 19/042
B25J 13/00
(57)【特許請求の範囲】
【請求項1】
第1演算部を具備する第1情報処理部と、第2演算部を具備する第2情報処理部とを備え、前記第1情報処理部と前記第2情報処理部とで通信を行う情報処理装置であって、
前記第1情報処理部が、
通信を実行する第1通信部と、
データを記憶する第1データ記憶部とを備え、
前記第1演算部が、
前記第1通信部に通信を実行させるためのソフトウエアである第1通信デバイスドライバと、
送信用のデータを周期的に生成し、前記第1データ記憶部に記憶された先入れ先出し型の送信用周期データリストに加えて記録する一方で、前記第1通信部によって周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第1
データ記憶部に記憶されたリストである受信周期データリストからデータを読み込む第1周期通信を実行するための第1周期通信アプリケーションと、
送信用のデータを非周期的に生成し、前記第1データ記憶部に記憶された先入れ先出し型の送信用非周期データリストに加えて記録する一方で、前記第1通信部によって非周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第1
データ記憶部に記憶されたリストである受信非周期データリストからデータを読み込む第1非周期通信を実行するための第1非周期通信アプリケーションと、
データを加工するための第1データ加工処理アプリケーションとを実行し、
前記第1データ加工処理アプリケーションが、
前記第1データ記憶部に記憶された前記送信用周期データリストから読み込んだデータと、前記第1データ記憶部に記憶された前記送信用非周期データリストから読み込んだデータとを統合による送信用統合データに加工し、
前記送信用統合データが、前記第1通信デバイスドライバの実行によって前記第1通信部から送信される
ことを特徴とする情報処理装置。
【請求項2】
前記第1データ加工処理アプリケーションが、
前記第1通信部によって周期的に受信されるデータを複数のデータに分割し、分割後のそれぞれのデータを互いに異なる前記受信周期データリストに加える
ことを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第2情報処理部が、
通信を実行する第2通信部と、
データを記憶する第2データ記憶部とを備え、
前記第2演算部が、
前記第2通信部に通信を実行させるためのソフトウエアである第2通信デバイスドライバと、
送信用のデータを周期的に生成し、前記第2データ記憶部に記憶された先入れ先出し型の送信用周期データリストに加えて記録する一方で、前記第2通信部によって周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第2
データ記憶部に記憶されたリストである受信周期データリストからデータを読み込む第2周期通信を実行するための第2周期通信アプリケーションと、
送信用のデータを非周期的に生成し、前記第2データ記憶部に記憶された先入れ先出し型の送信用非周期データリストに加えて記録する一方で、前記第2通信部によって非周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第2
データ記憶部に記憶されたリストである受信非周期データリストからデータを読み込む第2非周期通信を実行するための第2非周期通信アプリケーションと、
データを加工するための第2データ加工処理アプリケーションとを実行し、
前記第2データ加工処理アプリケーションが、
前記第2データ記憶部に記憶された前記送信用周期データリストから読み込んだデータと、前記第2データ記憶部に記憶された前記送信用非周期データリストから読み込んだデータとを統合による送信用統合データに加工し、
前記送信用統合データが、前記第2通信デバイスドライバの実行によって前記第2通信部から送信される
ことを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記第2データ加工処理アプリケーションが、
前記第2通信部によって周期的に受信されるデータを複数のデータに分割し、分割後のそれぞれのデータを互いに異なる前記受信周期データリストに加える
ことを特徴とする請求項3に記載の情報処理装置。
【請求項5】
情報処理装置を備える産業用ロボットであって、
前記情報処理装置が、請求項1乃至4の何れか1項に記載の情報処理装置である
ことを特徴とする産業用ロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置及び産業用ロボットに関する。
【背景技術】
【0002】
従来、第1演算部を具備する第1情報処理部と、第2演算部を具備する第2情報処理部とを備え、第1情報処理部と第2情報処理部とで通信を行う情報処理装置が知られている。
【0003】
例えば、特許文献1に記載の情報処理装置としての交通信号システムは、第1情報処理部たる主制御ユニットと、第2情報処理部たる伝送ユニットとを備え、主制御ユニットと伝送ユニットとで通信を行う。主制御ユニット、伝送ユニットのそれぞれは、演算部としてのCPU(Central Processing Unit)を個別に備える。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1において、主制御ユニットと伝送ユニットとの通信方式の具体的な記述はないが、通信方式として、周期通信及び非周期通信の2つを採用することが考えられる。周期通信は、例えばセンシングデータを周期的に送受信するなど、データを予め定められた周期で定期的に送受信する方式である。また、非周期通信は、例えば突発的に発生したエラー信号を送受信するなど、所定のデータを非周期的なタイミングで送受信する方式である。
【0006】
主制御ユニットと伝送ユニットとの周期通信を実現するためには、それぞれのユニットのCPUが、周期通信アプリケーションの実行により、データを周期的に送受信するための周期通信を個別に実行する必要がある。また、主制御ユニットと伝送ユニットとの非周期通信を実現するためには、それぞれのユニットのCPUが、非周期通信アプリケーションの実行により、データを非周期的に送受信するための非周期通信を個別に実行する必要がある。
【0007】
上述の周期通信アプリケーション、非周期通信アプリケーションのそれぞれのソースコードは、通信デバイスの構成によって異なってくるのが一般的である。
【0008】
例えば、それぞれのユニットにおいて、通信でバイアスの構成が、通信デバイスとしての2つのSPI(Serial Peripheral Interface)のそれぞれが周期通信を個別に実行する構成であるとする。この場合には、周期通信アプリケーションのソースコードが、所定のデータを周期的に生成して一方のSPIから送信するためのコードと、別の所定のデータを周期的に生成して他方のSPIから送信するためのコードとを含むものになる。
【0009】
また例えば、それぞれのユニットにおいて、通信デバイスの構成が、互いに異なる種類のデータのそれぞれを、1つのSPIによって周期通信する構成であるとする。この場合には、周期通信アプリケーションのソースコードが、1つのSPIに対し、周期的に生成した所定のデータを送信させるためのコード、及び周期的に生成した別の所定のデータを送信させるためのコードを含むものになる。
【0010】
設計変更により、交通信号システムの後発品の通信デバイスの構成が、先行品の通信デバイスの構成とは異なってしまう場合には、周期通信アプリケーションのソースコードを変更する必要が生じ、大きな手間を強いられてしまう。周期通信を行う通信デバイスの構成が変更された場合における不具合について説明したが、非周期通信を行う通信デバイスの構成が変更された場合にも、同様の不具合が生じ得る。
【0011】
本発明は、以上の背景に鑑みてなされたものであり、その目的とするところは、次のような情報処理装置及び産業用ロボットを提供することである。即ち、通信デバイスの構成が変更された場合における、周期通信アプリケーションのソースコードの変更の手間と、非周期通信アプリケーションのソースコードの変更の手間とを軽減することができる情報処理装置及び産業用ロボットである。
【課題を解決するための手段】
【0012】
上記目的を達成するために、本発明は、第1演算部を具備する第1情報処理部と、第2演算部を具備する第2情報処理部とを備え、前記第1情報処理部と前記第2情報処理部とで通信を行う情報処理装置であって、前記第1情報処理部が、通信を実行する第1通信部と、データを記憶する第1データ記憶部とを備え、前記第1演算部が、前記第1通信部に通信を実行させるためのソフトウエアである第1通信デバイスドライバと、送信用のデータを周期的に生成し、前記第1データ記憶部に記憶された先入れ先出し型の送信用周期データリストに加えて記録する一方で、前記第1通信部によって周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第1記憶部に記憶されたリストである受信周期データリストからデータを読み込む第1周期通信を実行するための第1周期通信アプリケーションと、送信用のデータを非周期的に生成し、前記第1データ記憶部に記憶された先入れ先出し型の送信用非周期データリストに加えて記録する一方で、前記第1通信部によって非周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第1記憶部に記憶されたリストである受信非周期データリストからデータを読み込む第1非周期通信を実行するための第1非周期通信アプリケーションと、データを加工するための第1データ加工処理アプリケーションとを実行し、前記第1データ加工処理アプリケーションが、前記第1データ記憶部に記憶された前記送信用周期データリストから読み込んだデータと、前記第1データ記憶部に記憶された前記送信用非周期データリストから読み込んだデータとを統合による送信用統合データに加工し、前記送信用統合データが、前記第1通信デバイスドライバの実行によって前記第1通信部から送信されることを特徴とするものである。
【発明の効果】
【0013】
本発明によれば、通信デバイスの構成が変更された場合における、周期通信アプリケーションのソースコードの変更の手間と、非周期通信アプリケーションのソースコードの変更の手間とを軽減することができるという優れた効果を奏する。
【図面の簡単な説明】
【0014】
【
図1】実施形態に係る産業用ロボットを示す斜視図である。
【
図3】同産業用ロボットの電気回路の要部を示すブロック図である。
【
図4】同産業用ロボットのロボットコントローラの主コントローラにおける各種の構成の第1例を示す構成図である。
【
図5】同第1例の構成によって取り扱われる各種のデータセットの構成を説明するための構成図である。
【
図6】同ロボットコントローラの副コントローラにおける各種の構成の第1例を示す構成図である。
【
図7】同ロボットコントローラの主コントローラにおける各種の構成の第2例を示す構成図である。
【
図8】同第2例の構成によって取り扱われる各種のデータセットの構成を説明するための構成図である。
【
図9】同ロボットコントローラの副コントローラにおける各種の構成の第2例を示す構成図である。
【
図10】同第2例の構成によって取り扱われる各種のデータセットの変形例構成を説明するための構成図である。
【
図11】同ロボットコントローラの主コントローラにおける各種の構成の第3例を示す構成図である。
【
図12】同ロボットコントローラの副コントローラにおける各種の構成の第3例を示す構成図である。
【
図13】一般的な周期通信及び非周期通信を実行するための通信デバイス構成及びソフトウエア構成を示す構成図である。
【
図14】
図13に示される例で取り扱われる各種のデータセットの構成を説明するための構成図である。
【発明を実施するための形態】
【0015】
以下、図面を参照しながら、本発明の実施形態に係るロボットコントローラ及び産業用ロボットの一実施形態について説明する。なお、以下の図面においては、各構成をわかり易くするために、実際の構造、並びに、各構造における縮尺及び数、などを異ならせる場合がある。
【0016】
図1は、実施形態に係る産業用ロボット1を示す斜視図である。
図2は、産業用ロボット1を示す平面図である。産業用ロボット1は、ガラス基板を搬送するためのロボットであり、アーム2、架台3、及び昇降部4を備える。昇降部4は、架台3に保持され、不図示の昇降モータの駆動によって上下方向(
図1の矢印方向)に昇降する。アーム2は、ガラス基板を載せる手部2A、前腕部2B、及び上腕部2Cを備え、昇降部4によって保持される。
【0017】
上腕部2Cにおける昇降部4との接続部である肩関節2Dは、第1モータ22Aの駆動によって水平方向に沿って回動することが可能である。具体的には、第1モータ22Aの回転駆動力が第1ベルト2Eを介して肩関節2Dに伝達されることで、肩関節2Dが水平方向に回動する。また、上腕部2Cと前腕部2Bとの接続部である肘関節2Fは、第2モータ22Bの駆動によって水平方向に沿って回動することが可能である。具体的には、第2モータ22Bの回転駆動力が第2ベルト2Gを介して肘関節2Fに伝達されることで、肘関節2Fが水平方向に回動する。また、前腕部2Bと手部2Aとの接続部である手首関節は、第2モータ22Bの駆動力をベルトを介して受けることで、水平方向に沿って回動することが可能である。
【0018】
図1における昇降部4は、昇降モータの正転、逆転により、図中矢印方向に昇降することが可能である。
【0019】
図3は、産業用ロボット1の電気回路の要部を示すブロック図である。産業用ロボット1は、情報処理装置たるロボットコントローラ30、第1温度センサ81、第2温度センサ82、昇降ブレーキ83、昇降モータ84、第1モータ22A、及び第2モータ22Bを備える。
【0020】
ロボットコントローラ30は、第1情報処理部たる主コントローラ31と、第2情報処理部たる副コントローラ41とを備える。主コントローラ31は、第1演算部たる第1CPU32と、第1ROM(Read Only Memory)33と、第1データ記憶部34と、第1通信部35とを備える。第1ROM33には、各種のアプリケーション及びデバイスドライバが記録されている。第1CPU32は、第1ROM33に記録されているアプリケーションを実行したり、第1ROM33に記録されているデバイスドライバを実行したりする。第1データ記憶部34は、RAM(Random Access Memory)等からなる。第1通信部35は、副コントローラ41との通信を実行する。
【0021】
副コントローラ41は、第2演算部たる第2CPU42と、第2ROM43と、第2データ記憶部444と、第2通信部45と、第1モータ駆動回路46と、第2モータ駆動回路47と、昇降モータ駆動回路48と、バス49とを備える。第2ROM43には、各種のアプリケーション及びデバイスドライバが記録されている。第2CPU42は、第2ROM43に記録されているアプリケーションを実行したり、第2ROMに記録されているデバイスドライバを実行したりする。第2データ記憶部44は、RAM等からなる。第2通信部45は、主コントローラ31との通信を実行する。
【0022】
第1モータ駆動回路46は、第2CPU42によって生成される制御信号に基づいて、肩関節(
図2の2D)の駆動源である第1モータ22Aの駆動を制御する。第2モータ駆動回路47は、第2CPU42によって生成される制御信号に基づいて、肘関節(
図2の2F)の駆動源である第2モータ22Bの駆動を制御する。昇降モータ駆動回路48は、第2CPU42によって生成される制御信号に基づいて、昇降部(
図2の4)の駆動源である昇降モータ84の駆動を制御する。
【0023】
昇降ブレーキ83は、昇降モータ84の回転を物理的に停止させたり、物理的な停止を解除したりするものである。昇降モータ84の停止時に、昇降モータ84にアーム(
図2の2)からの外力が加わると、昇降モータ84が回転して昇降部を降下させてしまうおそれがある。昇降ブレーキ83は、停止状態の昇降モータ84の外力による回転を物理的に阻止するためのブレーキである。昇降ブレーキ83のオン(回転停止)及びオフ(回転停止解除)は、第2CPU42によって制御される。
【0024】
第1温度センサ81、産業用ロボット1の肩関節(
図2の2D)の温度を検出した結果を、肩関節温度データとして出力する。第2温度センサ82は、産業用ロボット1の肘関節(
図2の2F)の温度を検出した結果を、肘関節温度データとして出力する。
【0025】
第2CPU42は、第1温度センサ81から出力される肩関節温度データを周期的に取得する。また、第2CPU42は、第2温度センサ82から出力される肘関節温度データを周期的に取得する。肩関節温度データが所定の閾値を超えた場合、あるいは、肘関節温度データが所定の閾値を超えた場合には、第2CPU42は、第2通信部45を介して、温度エラー信号を主コントローラ31に送信する。
【0026】
図13は、一般的な周期通信及び非周期通信を実行するための通信デバイス構成及びソフトウエア構成を示す構成図である。
図14は、
図13に示される例で取り扱われる各種のデータセットの構成を説明するための構成図である。
【0027】
図13において、通信デバイス構成は、通信部209からなる。通信部209は、周期通信部206と、非周期通信部207とを備える。周期通信部206は、周期通信を行う第1SPI206aと、第1SPI206aとは別に周期通信を行う第2SPI206bとを備える。非周期通信部207は、非周期通信を行うUART(Universal Asynchronous Receiver/Transmitter)207aを備える。
【0028】
図13に示される例においては、
図14に示されるように、第1送信用周期データセットd1、第1受信周期データセットd2、第2送信用周期データセットd3、第2受信周期データセットd4、送信用非周期データセットd5、及び受信非周期データセットd6が取り扱われる。第1送信用周期データセットd1は、ヘッダと、第1送信用周期データと、FCS(Frame Check Sequence)とからなる。第1受信周期データセットd2は、ヘッダと、第1受信周期データと、FCSとからなる。第2送信用周期データセットd3は、ヘッダと、第2送信用周期データと、FCSとからなる。第2受信周期データセットd4は、ヘッダと、第2受信周期データと、FCSとからなる。送信用非周期データセットd5は、ヘッダと、送信用非周期データと、FCSとからなる。受信非周期データセットd6は、ヘッダと、受信非周期データと、FCSとからなる。
【0029】
図13に示されるソフトウエア構成は、周期通信アプリケーション201と、非周期通信アプリケーション202と、通信デバイスドライバ203とを含む。また、通信デバイスドライバ203は、第1周期通信デバイスドライバ203aと、第2周期通信デバイスドライバ203bと、非周期通信デバイスドライバ203cとを含む。周期通信アプリケーション201の実行によって周期的に生成される第1送信用周期データセット(
図14のd1)は、第1周期通信デバイスドライバ203aの実行によって第1SPI206aから出力される。また、第1SPI206aによって周期的に受信される第1受信周期データセット(
図14のd2)は、周期通信アプリケーション201の実行によってCPUに受信される。
【0030】
周期通信アプリケーション201の実行によって周期的に生成される第2送信用周期データセット(
図14のd3)は、第2周期通信デバイスドライバ203bの実行によって第2SPI206bから出力される。また、第2SPI206bによって周期的に受信される第2受信周期データセット(
図14のd4)は、周期通信アプリケーション201の実行によってCPUに受信される。
【0031】
非周期通信アプリケーション202の実行によって非周期的に生成される送信用非周期データセット(
図14のd5)は、非周期通信デバイスドライバ203cの実行によってUART207aから出力される。また、UART207aによって非周期的に受信される受信周期データセット(
図14のd6)は、非周期通信デバイスドライバ203cの実行によってCPUに受信される。
【0032】
図13に示される例において、設計変更により、通信デバイス構成が、先行品の通信デバイス構成成とは異なったとする。すると、周期通信アプリケーション201のソースコードを変更する必要が生じたり、非周期通信アプリケーション202のソースコードを変更する必要が生じたりして、大きな手間を強いられてしまうおそれがある。
【0033】
図4は、実施形態に係るロボットコントローラ(
図3の30)の主コントローラ(
図3の31)における各種の構成の第1例を示す構成図である。
図5は、前記第1例の構成によって取り扱われる各種のデータセットの構成を説明するための構成図である。
【0034】
図4において、通信デバイス構成は、第1通信部35からなる。第1通信部35は、周期通信部36と、非周期通信部37とを備える。周期通信部36は、周期通信を行う第1SPI36aと、第1SPI36aとは別に周期通信を行う第2SPI36bとを備える。非周期通信部37は、非周期通信を行うUART37aを備える。
【0035】
図4に示される第1例においては、
図5に示されるように、第1送信用周期データセットD1、第1受信周期データセットD2、第2送信用周期データセットD3、第2受信周期データセットD4、送信用非周期データセットD5、及び受信非周期データセットD6が取り扱われる。第1送信用周期データセットD1は、ヘッダと、第1送信用周期データと、FCSとからなる。第1受信周期データセットD2は、ヘッダと、第1受信周期データと、FCSとからなる。第2送信用周期データセットD3は、ヘッダと、第2送信用周期データと、FCSとからなる。第2受信周期データセットD4は、ヘッダと、第2受信周期データと、FCSとからなる。送信用非周期データセットD5は、ヘッダと、送信用非周期データと、FCSとからなる。受信非周期データセットD6は、ヘッダと、受信非周期データと、FCSとからなる。
【0036】
図4に示される第1例のソフトウエア構成は、ソフトウエア構成Aと、ソフトウエア構成Bとを含む。ソフトウエア構成Aは、第1データ加工処理アプリケーション53と、第1通信デバイスドライバ54とからなる。また、ソフトウエア構成Bは、第1周期通信アプリケーション51と第1非周期通信アプリケーション52とからなる。
【0037】
第1通信デバイスドライバ54は、第1周期通信デバイスドライバ54aと、第2周期通信デバイスドライバ54bと、非周期通信デバイスドライバ54cとを含む。第1周期通信アプリケーション51の実行によって周期的に生成される第1送信用周期データセットD1は、第1データ加工処理アプリケーション53の実行によって第1データ記憶部(
図3の34)内の第1送信キューに記録される。また、第1SPI36aによって周期的に受信される第1受信周期データセットD2は、第1周期通信デバイスドライバ54aの実行により、第1データ記憶部内の第1受信キューに書き込まれる。
【0038】
なお、第1送信キューは、データ先入れ先出し型の送信用周期データリストである。また、第1受信キューは、データ先入れ先出し型の受信周期データリストである。また、データ先入れ先出し型は、データリストの最後尾に新たなデータを加え、且つデータリストの先頭のデータを読み込んで消去及び出力する型式である。
【0039】
第1周期通信アプリケーション51の実行によって周期的に生成される第2送信用周期データセットD3は、第2周期通信デバイスドライバ54bの実行によって第1データ記憶部(
図3の34)内の第2送信キューに記録される。また、第2SPI36bによって周期的に受信される第2受信周期データセットD4は、第2周期通信デバイスドライバ54bの実行により、第1データ記憶部内の第2受信キューに書き込まれる。第2送信キューは、データ先入れ先出し型の送信用周期データリストであり、第2受信キューは、データ先入れ先出し型の受信周期データリストである。
【0040】
第1非周期通信アプリケーション52の実行によって非周期的に生成される送信用非周期データセットD5は、非周期通信デバイスドライバ54cの実行によって第1データ記憶部(
図3の34)内の第3送信キューに記録される。また、UART37aによって非周期的に受信される受信非周期データセットD6は、非周期通信デバイスドライバ54cの実行により、第1データ記憶部内の第3受信キューに書き込まれる。第3送信キューは、データ先入れ先出し型の送信用非周期データリストであり、第3受信キューは、データ先入れ先出し型の受信非周期データリストである。
【0041】
第1データ加工処理アプリケーション53は、第1周期通信アプリケーション51の実行によって周期的に生成される第1送信用周期データセットD1を、そのままの状態で第1周期通信デバイスドライバ54aに受け渡す。また、第1データ加工処理アプリケーション53は、第1周期通信アプリケーション51の実行によって周期的に生成される第2送信用周期データセットD3を、そのままの状態で第2周期通信デバイスドライバ54bに受け渡す。また、第1データ加工処理アプリケーション53は、第1非周期通信アプリケーション52の実行によって非周期的に生成される送信用非周期データセットD5を、そのままの状態で非周期通信デバイスドライバ54cに受け渡す。また、第1データ加工処理アプリケーション53は、第1受信キューの先頭の第1受信周期データセットD2を第1受信キューから分離して第1周期通信アプリケーション51に受け渡す。また、第1データ加工処理アプリケーション53は、第2受信キューの先頭の第2受信周期データセットD4を第2受信キューから分離して第1周期通信アプリケーション51に受け渡す。また、第1データ加工処理アプリケーション53は、第3受信キューの先頭の受信非周期データセットD6を第3受信キューから分離して第1非周期通信アプリケーション52に受け渡す。
【0042】
第1データ記憶部(
図3の34)内の第1送信キューにおける先頭の第1送信用周期データセットD1は、第1周期通信デバイスドライバ54aの実行により、第1送信キューから分離されて第1SPI36aから出力される。また、第1データ記憶部内の第2送信キューにおける先頭の第2送信用周期データセットD3は、第2周期通信デバイスドライバ54bの実行により、第2送信キューから分離されて第2SPI36bから出力される。また、第1データ記憶部内の第3送信キューにおける先頭の送信用非周期データセットD5は、非周期通信デバイスドライバ54cの実行により、第3送信キューから分離されてUART37aから出力される。
【0043】
なお、
図5に示される各種のデータセットの名称は、主コントローラ(
図3の31)を主体とした表現で名付けられたものである。副コントローラ(
図3の41)を主体とした表現で名付けられる場合、データセットの名称は、
図5における送信と受信とが逆転する。具体的には、副コントローラを主体とした表現の場合、
図5における第1送信用周期データセットD1は、第1受信周期データセットという名称になる。また、
図5における第1受信周期データセットD2は、第1送信用周期データセットという名称になる。また、
図5における第2送信用周期データセットD3は、第2受信周期データセットという名称になる。また、
図5における第2受信周期データセットD4は、第2送信用周期データセットという名称になる。また、
図5における送信用非周期データセットD5は、受信非周期データセットという名称になる。また、
図5における受信非周期データセットD6は、送信用非周期データセットという名称になる。以下、理解の容易化のために、各種のデータセットの名称については、主コントローラを主体にした名称で統一する。
【0044】
図6は、実施形態に係るロボットコントローラ(
図2の30)の副コントローラ(
図2の41)における各種の構成の第1例を示す構成図である。
【0045】
図6において、通信デバイス構成は、第2通信部45からなる。第2通信部45は、周期通信部76と、非周期通信部77とを備える。周期通信部76は、周期通信を行う第1SPI76aと、第1SPI76aとは別に周期通信を行う第2SPI76bとを備える。非周期通信部77は、非周期通信を行うUART77aを備える。
【0046】
図6に示される第1例のソフトウエア構成は、ソフトウエア構成Aと、ソフトウエア構成Bとを含む。ソフトウエア構成Aは、第2データ加工処理アプリケーション63と、第2通信デバイスドライバ64とからなる。また、ソフトウエア構成Bは、第2周期通信アプリケーション61と第2非周期通信アプリケーション62とからなる。
【0047】
第2通信デバイスドライバ64は、第1周期通信デバイスドライバ64aと、第2周期通信デバイスドライバ64bと、非周期通信デバイスドライバ64cとを含む。第2周期通信アプリケーション61の実行によって周期的に生成される第1受信周期データセットD2は、第1周期通信デバイスドライバ64aの実行によって第2データ記憶部(
図3の44)内の第1送信キューに記録される。また、第1SPI46aによって周期的に受信される第1送信用周期データセットD1は、第1周期通信デバイスドライバ64aの実行により、第2データ記憶部内の第1受信キューに書き込まれる。
【0048】
第2周期通信アプリケーション61の実行によって周期的に生成される第2受信周期データセットD4は、第2周期通信デバイスドライバ64bの実行によって第2データ記憶部(
図3の44)内の第2送信キューに記録される。また、第2SPI46bによって周期的に受信される第2送信用周期データセットD3は、第2周期通信デバイスドライバ64bの実行により、第2データ記憶部内の第2受信キューに書き込まれる。
【0049】
第2非周期通信アプリケーション62の実行によって非周期的に生成される受信非周期データセットD6は、非周期通信デバイスドライバ64cの実行によって第2データ記憶部(
図3の44)内の第3送信キューに記録される。また、UART47aによって非周期的に受信される送信用非周期データセットD5は、非周期通信デバイスドライバ54cの実行により、第2データ記憶部内の第3受信キューに書き込まれる。
【0050】
第2データ加工処理アプリケーション63は、第2周期通信アプリケーション61の実行によって周期的に生成される第1受信周期データセットD2を、そのままの状態で第1周期通信デバイスドライバ64aに受け渡す。また、第2データ加工処理アプリケーション63は、第2周期通信アプリケーション61の実行によって周期的に生成される第2受信周期データセットD4を、そのままの状態で第2周期通信デバイスドライバ64bに受け渡す。また、第2データ加工処理アプリケーション63は、第2非周期通信アプリケーション62の実行によって非周期的に生成される受信非周期データセットD6を、そのままの状態で非周期通信デバイスドライバ64cに受け渡す。また、第2データ加工処理アプリケーション63は、第1受信キューの先頭の第1送信用周期データセットD1を第1受信キューから分離して第2周期通信アプリケーション61に受け渡す。また、第2データ加工処理アプリケーション63は、第2受信キューの先頭の第2送信用周期データセットD3を第2受信キューから分離して第2周期通信アプリケーション61に受け渡す。また、第2データ加工処理アプリケーション63は、第3受信キューの先頭の送信用非周期データセットD5を第3受信キューから分離して第2非周期通信アプリケーション62に受け渡す。
【0051】
第2データ記憶部(
図3の44)内の第1送信キューにおける先頭の第1受信周期データセットD2は、第1周期通信デバイスドライバ64aの実行により、第1送信キューから分離されて第1SPI46aから出力される。また、第2データ記憶部内の第2送信キューにおける先頭の第2受信周期データセットD4は、第2周期通信デバイスドライバ64bの実行により、第2送信キューから分離されて第2SPI46bから出力される。また、第2データ記憶部内の第3送信キューにおける先頭の受信非周期データセットD6は、非周期通信デバイスドライバ64cの実行により、第3送信キューから分離されてUART37aから出力される。
【0052】
図7は、実施形態に係るロボットコントローラ(
図3の30)の主コントローラ(
図3の31)における各種の構成の第2例を示す構成図である。
図8は、前記第2例の構成によって取り扱われる各種のデータセットの構成を説明するための構成図である。
【0053】
図7に示される第2例においては、
図8に示されるように、第1送信用周期データセットD1、第1受信周期データセットD2、第2送信用周期データセットD3、第2受信周期データセットD4、送信用非周期データセットD5、及び受信非周期データセットD6が取り扱われる。加えて、第1送信用統合データセットD7、第2送信用統合データセットD8、第1受信統合データセットD9、及び第2受信統合データセットD10が取り扱われる。
【0054】
図8における第1送信用周期データセットD1、第1受信周期データセットD2、第2送信用周期データセットD3、第2受信周期データセットD4、送信用非周期データセットD5、及び受信非周期データセットD6のそれぞれは、
図5に示されるものと同じである。
【0055】
第1送信用統合データセットD7は、第1送信用周期データセットD1と、第1送信用周期データセットD1の末尾に結合した第2送信用周期データセットD3とからなる。第2送信用統合データセットD8は、第1送信用周期データセットD1と、第1送信用周期データセットD1の末尾に結合した第2送信用周期データセットD3と、第2送信用周期データセットD3の末尾に結合した送信用非周期データセットD5とからなる。第1受信統合データセットD9は、第1受信周期データセットD2と、第1受信周期データセットD2の末尾に結合した第2受信周期データセットD4とからなる。第2受信統合データセットD10は、第1受信周期データセットD2と、第1受信周期データセットD2の末尾に結合した第2受信周期データセットD4と、第2受信周期データセットD4の末尾に結合した受信非周期データセットD6とからなる。
【0056】
なお、
図8に示される各種のデータセットの名称は、主コントローラ(
図3の31)を主体とした表現で名付けられたものである。副コントローラ(
図3の41)を主体とした表現で名付けられる場合、データセットの名称は、
図5における送信と受信とが逆転する。具体的には、副コントローラを主体とした表現の場合、
図8における第1送信用統合データセットD7は、第1受信統合データセットという名称になる。また、
図8に示される第2送信用統合データセットD8は、第2受信統合データセットという名称になる。また、
図8に示される第1受信統合データセットD9は、第1送信用統合データセットという名称になる。また、
図8に示される第2受信統合データセットD10は、第2送信用統合データセットという名称になる。以下、理解の容易化のために、各種のデータセットの名称については、主コントローラを主体にした名称で統一する。
【0057】
以下、
図7に示される第2例については、
図4に示される第1例と異なる点だけを説明する。
図7において、通信デバイス構成は、第1通信部35からなる。第1通信部35は、通信デバイスとして、第1SPI36aだけを備える。ソフトウエア構成は、ソフトウエア構成Aと、ソフトウエア構成Bとを含む。ソフトウエア構成Aは、第1データ加工処理アプリケーション53と、第1通信デバイスドライバ54とからなる。また、ソフトウエア構成Bは、第1周期通信アプリケーション51と第1非周期通信アプリケーション52とからなる。
【0058】
第1通信デバイスドライバ54は、デバイスドライバとして、通信デバイスドライバ54dだけを備える。第1周期通信アプリケーション51の実行によって周期的に生成される第1送信用周期データセットD1は、第1データ加工処理アプリケーション53の実行によって第1データ記憶部(
図3の34)内の第1送信キューに記録される。また、第1SPI36aによって周期的に受信される第1受信周期データセットD2は、通信デバイスドライバ54dの実行により、第1データ記憶部内の第1受信キューに書き込まれる。
【0059】
第1周期通信アプリケーション51の実行によって周期的に生成される第2送信用周期データセットD3は、通信デバイスドライバ54dの実行によって第1データ記憶部(
図3の34)内の第2送信キューに記録される。また、第2SPI36bによって周期的に受信される第2受信周期データセットD4は、通信デバイスドライバ54dの実行により、第1データ記憶部内の第2受信キューに書き込まれる。
【0060】
第1非周期通信アプリケーション52の実行によって非周期的に生成される送信用非周期データセットD5は、通信デバイスドライバ54dの実行によって第1データ記憶部(
図3の34)内の第3送信キューに記録される。また、第1SPI36aによって非周期的に受信される受信非周期データセットD6は、通信デバイスドライバ54dの実行により、第1データ記憶部内の第3受信キューに書き込まれる。
【0061】
第1データ加工処理アプリケーション53は、第1周期通信アプリケーション51の実行によって生成される第1送信用周期データセットD1、及び第2送信用周期データセットD3を結合によって第1送信用統合データセットD7に加工して通信デバイスドライバ54dに受け渡す。また、第1データ加工処理アプリケーション53は、第1送信用周期データセットD1、及び第2送信用周期データセットD3と、第1非周期通信アプリケーション52の実行によって生成される送信用非周期データセットD5とを加工する。具体的には、第1データ加工処理アプリケーション53は、第1送信用周期データセットD1、第2送信用周期データセットD3、及び送信用非周期データセットD5を結合によって第2送信用統合データセットD8に加工して通信デバイスドライバ54dに受け渡す。また、第1データ加工処理アプリケーション53は、第1SPI36aによって受信される第1受信統合データセットD9を、分割によって第1受信周期データセットD2と第2受信周期データセットD4とに加工して第1データ加工処理アプリケーション53に受け渡す。また、第1データ加工処理アプリケーション53は、第1SPI36aによって受信される第2受信統合データセットD10を、分割によって第1受信周期データセットD2と第2受信周期データセットD4と受信非周期データセットD6とに加工して第1データ加工処理アプリケーション53に受け渡す。
【0062】
図9は、実施形態に係るロボットコントローラ(
図3の30)の副コントローラ(
図3の41)における各種の構成の第2例を示す構成図である。以下、
図9に示される第2例については、
図6に示される第1例と異なる点だけを説明する。
【0063】
図9において、通信デバイス構成は、第2通信部45からなる。第2通信部45は、通信デバイスとして、第1SPI46aだけを備える。ソフトウエア構成は、ソフトウエア構成Aと、ソフトウエア構成Bとを含む。ソフトウエア構成Aは、第2データ加工処理アプリケーション63と、第2通信デバイスドライバ64とからなる。また、ソフトウエア構成Bは、第2周期通信アプリケーション61と第2非周期通信アプリケーション62とからなる。
【0064】
第2通信デバイスドライバ64は、デバイスドライバとして、通信デバイスドライバ64aだけを備える。第2周期通信アプリケーション61の実行によって周期的に生成される第1受信周期データセットD2は、第2データ加工処理アプリケーション63の実行によって第2データ記憶部(
図3の44)内の第1送信キューに記録される。また、第1SPI46aによって周期的に受信される第1送信用周期データセットD1は、通信デバイスドライバ54dの実行により、第1データ記憶部内の第1受信キューに書き込まれる。
【0065】
第1周期通信アプリケーション51の実行によって周期的に生成される第2受信周期データセットD4は、通信デバイスドライバ54dの実行によって第2データ記憶部(
図3の44)内の第2送信キューに記録される。また、第2SPI46bによって周期的に受信される第2送信用周期データセットD3は、通信デバイスドライバ64dの実行により、第2データ記憶部内の第2受信キューに書き込まれる。
【0066】
第2非周期通信アプリケーション62の実行によって非周期的に生成される受信非周期データセットD6は、通信デバイスドライバ64dの実行によって第2データ記憶部(
図3の44)内の第3送信キューに記録される。また、第1SPI46aによって非周期的に受信される送信用非周期データセットD5は、通信デバイスドライバ64dの実行により、第2データ記憶部内の第3受信キューに書き込まれる。
【0067】
第2データ加工処理アプリケーション63は、第2周期通信アプリケーション61の実行によって生成される第1受信周期データセットD2、及び第2受信周期データセットD4を結合によって第1受信統合データセットD9に加工して通信デバイスドライバ64dに受け渡す。また、第2データ加工処理アプリケーション63は、第1受信周期データセットD2、及び第2受信周期データセットD4と、第1非周期通信アプリケーション52の実行によって生成される受信非周期データセットD6とを加工する。具体的には、第1データ加工処理アプリケーション53は、第1受信周期データセットD2、第2受信周期データセットD4、及び受信非周期データセットD6を結合によって第2受信統合データセットD10に加工して通信デバイスドライバ64dに受け渡す。また、第1データ加工処理アプリケーション53は、第1SPI46aによって受信される第1送信用統合データセットD7を、分割によって第1送信用周期データセットD1と第2送信用周期データセットD3とに加工して第2データ加工処理アプリケーション63に受け渡す。また、第2データ加工処理アプリケーション63は、第1SPI46aによって受信される第2送信用統合データセットD8を、分割によって第1送信用周期データセットD1と第2送信用周期データセットD3と送信用非周期データセットD5とに加工して第2データ加工処理アプリケーション63に受け渡す。
【0068】
なお、第1送信用統合データセットD7、第2送信用統合データセットD8、第1受信統合データセットD9、及び第2受信統合データセットD10として、
図8に示されるものに代えて、
図10に示されるものを構築させるようにしてもよい。具体的には、第1データ加工処理アプリケーション(
図7の53)は、第1非周期通信アプリケーション(
図7の52)によって送信用非周期データが生成された場合には、
図10に示される第2送信用統合データセットD8を生成する。この第2送信用統合データセットD8は、全体ヘッダ、第1送信用周期データ、第2送信用周期データ、非周期ヘッダ、送信用非周期データ、及び全体FCSを備える。全体ヘッダは、第2送信用統合データセットD8の全体のヘッダとなるものである。非周期ヘッダは、送信用非周期データのヘッダとなるものである。全体FCSは、第2送信用統合データセットD8の全体のFCSとなるものである。全体ヘッダ、及び全体FCSのそれぞれは、第1データ加工処理アプリケーションによって構築される。
【0069】
一方、第1データ加工処理アプリケーション(
図7の53)は、第1非周期通信アプリケーション(
図7の52)によって送信用非周期データが生成されない場合には、
図10に示される第1送信用統合データセットD7を生成する。この第1送信用統合データセットD7は、全体ヘッダ、第1送信用周期データ、第2送信用周期データ、ダミーデータ、及び全体FCSを備える。ダミーデータは、第1送信用統合データセットD7の全長を、第2送信用統合データセットD8の全長と同じにするためのデータであり、第1データ加工処理アプリケーションによって構築される。ダミーデータの長さは、第2送信用統合データセットD8の非周期ヘッダの長さと送信用非周期データの長さとの合計値と同じである。
【0070】
また、第2データ加工処理アプリケーション(
図9の63)は、第2非周期通信アプリケーション(
図9の62)によって受信非周期データが生成された場合には、
図10に示される第2受信統合データセットD10を生成する。この第2受信統合データセットD10は、全体ヘッダ、第1受信周期データ、第2受信周期データ、非周期ヘッダ、受信非周期データ、及び全体FCSを備える。全体ヘッダは、第2受信統合データセットD10の全体のヘッダとなるものである。非周期ヘッダは、受信非周期データのヘッダとなるものである。全体FCSは、第2受信統合データセットD10の全体のFCSとなるものである。全体ヘッダ、及び全体FCSのそれぞれは、第2データ加工処理アプリケーションによって構築される。
【0071】
一方、第2データ加工処理アプリケーション(
図9の63)は、第2非周期通信アプリケーション(
図7の62)によって受信非周期データが生成されない場合には、
図10に示される第1受信統合データセットD9を生成する。この第1受信統合データセットD9は、全体ヘッダ、第1受信周期データ、第2受信周期データ、ダミーデータ、及び全体FCSを備える。ダミーデータは、第1受信統合データセットD9の全長を、第2受信統合データセットD10の全長と同じにするためのデータであり、第2データ加工処理アプリケーションによって構築される。ダミーデータの長さは、第2受信統合データセットD10の非周期ヘッダの長さと受信非周期データの長さとの合計値と同じである。
【0072】
図11は、実施形態に係るロボットコントローラ(
図3の30)の主コントローラ(
図3の31)における各種の構成の第3例を示す構成図である。この第3例は、第1SPIの代わりに、UART37aを備える点の他が、
図7に示される第2例と同様の構成になっている。
【0073】
図4と、
図7と、
図11との比較により、実施形態に係るロボットコントローラ(
図3の30)の主コントローラ(
図3の31)においては、通信デバイス構成が変更されても、第1周期通信アプリケーション51による処理内容が変化しない。加えて、第1非周期通信アプリケーション52による処理内容も変化しない。具体的には、第1周期通信アプリケーション51は、通信デバイス構成にかかわらず、第1データ構成Daの第1送信用周期データセットD1、第2データ構成Dbの第2送信用周期データセットD3、及び第3データ構成Dcの送信用非周期データセットD5を生成する。また、第1周期通信アプリケーション51は、通信デバイス構成にかかわらず、第1データ構成Daの第1受信周期データセットD2と、第2データ構成Dbの第2受信周期データセットD4と、第3データ構成Dcの受信非周期データセットD6とを参照する。つまり、通信デバイス構成が変更されても、第1周期通信アプリケーション51のソースコードは変わらない。よって、主コントローラ(
図3の31)によれば、通信デバイス構成が変更された場合における、第1周期通信アプリケーション51のソースコードの変更の手間と、第1非周期通信アプリケーション52のソースコードの変更の手間とを軽減(回避)することができる。
【0074】
なお、第1通信デバイスドライバ54の構成、及び第1データ加工処理アプリケーション53については、通信デバイス構成に応じて、内容を変更する必要がある。しかしながら、第1通信デバイスドライバ54、第1データ加工処理アプリケーション53のそれぞれは、定型的なルーティーン処理を実施するものである。このため第1通信デバイスドライバ54及び第1データ加工処理アプリケーション53のそれぞれの構成の変更は、第1周期通信アプリケーション51及び第1非周期通信アプリケーション52のそれぞれのソースコードの変更に比べて、手間が軽減される。
【0075】
図12は、実施形態に係るロボットコントローラ(
図3の30)の副コントローラ(
図3の41)における各種の構成の第3例を示す構成図である。この第3例は、第1SPIの代わりに、UART47aを備える点の他が、
図9に示される第2例と同様の構成になっている。
【0076】
図6と、
図9と、
図12との比較により、実施形態に係るロボットコントローラ(
図3の30)の副コントローラ(
図3の41)においては、通信デバイス構成が変更されても、第2周期通信アプリケーション61による処理内容が変化しない。加えて、第2非周期通信アプリケーション62による処理内容も変化しない。具体的には、第2周期通信アプリケーション61は、通信デバイス構成にかかわらず、第1データ構成Daの第1受信周期データセットD2、第2データ構成Dbの第2受信周期データセットD4、及び第3データ構成Dcの受信非周期データセットD6を生成する。また、第2周期通信アプリケーション61は、通信デバイス構成にかかわらず、第1データ構成Daの第1送信用周期データセットD1と、第2データ構成Dbの第2送信用周期データセットD3と、第3データ構成Dcの送信用非周期データセットD5とを参照する。つまり、通信デバイス構成が変更されても、第2周期通信アプリケーション61のソースコードは変わらない。よって、副コントローラ(
図3の41)によれば、通信デバイス構成が変更された場合における、第2周期通信アプリケーション61のソースコードの変更の手間と、第2非周期通信アプリケーション62のソースコードの変更の手間とを軽減(回避)することができる。
【0077】
以上、本発明の好ましい実施形態について説明したが、本発明は、実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。実施形態は、発明の範囲及び要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【0078】
本発明は、以下の態様毎に特有の効果を奏する。
〔第1態様〕
第1態様は、第1演算部(例えば第1CPU32)を具備する第1情報処理部(例えば主コントローラ31)と、第2演算部(例えば第2CPU42)を具備する第2情報処理部(例えば副コントローラ41)とを備え、前記第1情報処理部と前記第2情報処理部とで通信を行う情報処理装置であって、前記第1情報処理部が、通信を実行する第1通信部(例えば第1通信部35)と、データを記憶する第1データ記憶部(例えば第1データ記憶部34)とを備え、前記第1演算部が、前記第1通信部に通信を実行させるためのソフトウエアである第1通信デバイスドライバ(例えば第1通信デバイスドライバ54)と、送信用のデータを周期的に生成し、前記第1データ記憶部に記憶された先入れ先出し型の送信用周期データリスト(例えば第1送信キュー、第2送信キュー)に加えて記録する一方で、前記第1通信部によって周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第1記憶部に記憶されたリストである受信周期データリスト(例えば第1受信キュー、第2受信キュー)からデータを読み込む第1周期通信を実行するための第1周期通信アプリケーション(例えば第1周期通信アプリケーション51)と、送信用のデータを非周期的に生成し、前記第1データ記憶部に記憶された先入れ先出し型の送信用非周期データリスト(例えば第3送信キュー)に加えて記録する一方で、前記第1通信部によって非周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第1記憶部に記憶されたリストである受信非周期データリスト(例えば第3受信キュー)からデータを読み込む第1非周期通信を実行するための第1非周期通信アプリケーションと、データを加工するための第1データ加工処理アプリケーション(例えば第1データ加工処理アプリケーション53)とを実行し、
前記第1データ加工処理アプリケーションが、前記第1データ記憶部に記憶された前記送信用周期データリストから読み込んだデータ(例えば第1送信用周期データセットD1、第2送信用周期データセットD3)と、前記第1データ記憶部に記憶された前記送信用非周期データリストから読み込んだデータ(例えば送信用非周期データセットD5)とを統合による送信用統合データ(例えば第2送信用統合データセットD8)に加工し、前記送信用統合データが、前記第1通信デバイスドライバの実行によって前記第1通信部から送信されることを特徴とするものである。
【0079】
第1態様によれば、通信デバイスの構成が変更された場合における、周期通信アプリケーション(第1周期通信アプリケーション)のソースコードの変更の手間と、非周期通信アプリケーション(第1非周期通信アプリケーション)のソースコードの変更の手間とを軽減(回避)することができる。
【0080】
〔第2態様〕
第2態様は、第1態様の構成を備え、且つ、前記第1データ加工処理アプリケーションが、前記第1通信部によって周期的に受信されるデータ(例えば第2受信統合データセットD10)を複数のデータ(例えば、第1受信周期データセットD2、第2受信周期データセットD4、受信非周期データセットD6)に分割し、分割後のそれぞれのデータを互いに異なる前記受信周期データリスト(例えば第2受信キュー)に加えることを特徴とするものである。
【0081】
第2態様によれば、第1情報処理部において、互いに異なる種類の複数のデータを、1つのデータセットとしてまとめて受信することができる。
【0082】
〔第3態様〕
第3態様は、第2態様の構成を備え、且つ、前記第2情報処理部が、通信を実行する第2通信部(例えば第2通信部45)と、データを記憶する第2データ記憶部(例えば第2データ記憶部44)とを備え、前記第2演算部が、前記第2通信部に通信を実行させるためのソフトウエアである第2通信デバイスドライバ(例えば第2通信デバイスドライバ64)と、送信用のデータを周期的に生成し、前記第2データ記憶部に記憶された先入れ先出し型の送信用周期データリストに加えて記録する一方で、前記第2通信部によって周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第2記憶部に記憶されたリストである受信周期データリストからデータを読み込む第2周期通信を実行するための第2周期通信アプリケーション(例えば第2周期通信アプリケーション61)と、送信用のデータを非周期的に生成し、前記第2データ記憶部に記憶された先入れ先出し型の送信用非周期データリストに加えて記録する一方で、前記第2通信部によって非周期的に受信されたデータの先入れ先出し型のリストであり且つ前記第2記憶部に記憶されたリストである受信非周期データリストからデータを読み込む第2非周期通信を実行するための第2非周期通信アプリケーション(例えば第2非周期通信アプリケーション62)と、データを加工するための第2データ加工処理アプリケーション(第2データ加工処理アプリケーション63)とを実行し、前記第2データ加工処理アプリケーションが、前記第2データ記憶部に記憶された前記送信用周期データリストから読み込んだデータと、前記第2データ記憶部に記憶された前記送信用非周期データリストから読み込んだデータとを統合による送信用統合データに加工し、前記送信用統合データが、前記第2通信デバイスドライバの実行によって前記第2通信部から送信されることを特徴とするものである。
【0083】
第3態様によれば、通信デバイスの構成が変更された場合における、第2周期通信アプリケーションのソースコードの変更の手間と、第2非周期通信アプリケーションのソースコードの変更の手間とを軽減(回避)することができる。
【0084】
〔第4態様〕
第4態様は、第3態様の構成を備え、且つ、前記第2データ加工処理アプリケーションが、前記第2通信部によって周期的に受信されるデータを複数のデータに分割し、分割後のそれぞれのデータを互いに異なる前記受信周期データリストに加えることを特徴とするものである。
【0085】
第4態様によれば、第2情報処理部において、互いに異なる種類の複数のデータを、1つのデータセットとしてまとめて受信することができる。
【0086】
〔第5態様〕
第5態様は、情報処理装置を備える産業用ロボットであって、前記情報処理装置が、第1態様~第4態様の何れかの情報処理装置であることを特徴とするものである。
【0087】
第5態様によれば、通信デバイスの構成が変更された場合における、周期通信アプリケーション(第1周期通信アプリケーション)のソースコードの変更の手間と、非周期通信アプリケーション(第1非周期通信アプリケーション)のソースコードの変更の手間とを軽減(回避)することができる。
【符号の説明】
【0088】
1:産業用ロボット、 30:ロボットコントローラ(情報処理装置)、 31:主コントローラ(第1情報処理部)、 32:第1CPU(第1演算部)、 34:第1データ記憶部、 35:第1通信部、 41:副コントローラ(第2情報処理部)、 42:第2CPU(第2演算部)、 44:第2データ記憶部、 45:第2通信部、 51:第1周期通信アプリケーション、 52:第1非周期通信アプリケーション、 53:第1データ加工処理アプリケーション、 54:第1通信デバイスドライバ、 61:第2周期通信アプリケーション、 62:第2非周期通信アプリケーション、 63:第2データ加工処理アプリケーション、 64:第2通信デバイスドライバ