JP6409755B2 - 機械制御プログラム作成装置、ライブラリ生成方法、及び機械制御プログラム追加方法 - Google Patents

機械制御プログラム作成装置、ライブラリ生成方法、及び機械制御プログラム追加方法 Download PDF

Info

Publication number
JP6409755B2
JP6409755B2 JP2015235660A JP2015235660A JP6409755B2 JP 6409755 B2 JP6409755 B2 JP 6409755B2 JP 2015235660 A JP2015235660 A JP 2015235660A JP 2015235660 A JP2015235660 A JP 2015235660A JP 6409755 B2 JP6409755 B2 JP 6409755B2
Authority
JP
Japan
Prior art keywords
machine control
control program
library
list
global variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015235660A
Other languages
English (en)
Other versions
JP2017102720A (ja
Inventor
水野 直樹
直樹 水野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yaskawa Electric Corp
Original Assignee
Yaskawa Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yaskawa Electric Corp filed Critical Yaskawa Electric Corp
Priority to JP2015235660A priority Critical patent/JP6409755B2/ja
Publication of JP2017102720A publication Critical patent/JP2017102720A/ja
Application granted granted Critical
Publication of JP6409755B2 publication Critical patent/JP6409755B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Programmable Controllers (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、機械制御プログラム作成装置、ライブラリ生成方法、及び機械制御プログラム追加方法に関する。
PLC(Programmable Logic Controller)等の機械制御装置において用いられる機械制御プログラムは、当該機械制御装置が制御しようとする機械全体の構成に応じて、都度専用で作成されるのが一般的である。
また、機械制御装置を用いて、1軸あるいは多軸の単純なサーボアクチュエータを直接制御することはなされているが、いわゆる逆運動学(Inverse kinematics)演算を必要とする多関節ロボットを、専用のロボットコントローラを介することなく制御することはなされていない。
本発明の解決しようとする課題は、機械制御装置が制御する機械全体の一部分の構成に対応する機械制御プログラムを独立して再利用可能とすることである。
また、本発明の解決しようとする別の課題は、機械制御装置により、専用のロボットコントローラを介することなく多関節ロボットを制御することである。
本発明の一側面に係る機械制御プログラム作成装置は、並列に又は連続して実行される複数の機械制御プログラムを含む機械制御プログラム群から、少なくとも1の機械制御プログラムを選択する機械制御プログラム選択部と、選択された前記機械制御プログラムが使用するグローバル変数のリストを生成するグローバル変数リスト生成部と、少なくとも、選択された前記機械制御プログラムと、前記グローバル変数リストを含むライブラリを生成するライブラリ生成部と、を有する。
また、本発明の別の一側面に係る機械制御プログラム作成装置は、少なくとも、1の機械制御プログラムと、当該機械制御プログラムが使用するグローバル変数のリストであるグローバル変数リストを含むライブラリを読み込むライブラリ読み込み部と、並列に又は連続して実行される複数の機械制御プログラムを含む機械制御プログラム群に前記ライブラリに含まれる前記機械制御プログラムを追加する機械制御プログラム追加部と、前記ライブラリ追加部が前記機械制御プログラムを追加する際に、前記グローバル変数リストに基いて、当該機械制御プログラムが使用するグローバル変数を、グローバル変数領域の未使用領域に割り当てるグローバル変数割り当て部と、を有する。
また、本発明の別の一側面に係る機械制御システムは、複数の機械制御プログラムを並列に又は連続して実行する機械制御装置と、前記機械制御装置に接続された少なくとも1つの機械モジュールと、前記機械制御装置に記憶された、前記機械モジュールに対応付けられる少なくとも1の機械制御プログラムを含む2以上の機械制御プログラムと、を有し、前記少なくとも1の機械制御プログラムは、当該機械制御プログラムが使用するグローバル変数の値を、他の機械制御プログラムが書き換えることにより制御される。
また、本発明の別の一側面に係るライブラリ生成方法は、並列に又は連続して実行される複数の機械制御プログラムを含む機械制御プログラム群から、少なくとも1の機械制御プログラムを選択し、選択された前記機械制御プログラムが使用するグローバル変数のリストを生成し、少なくとも、選択された前記機械制御プログラムと、前記グローバル変数リストを含むライブラリを生成する。
また、本発明の別の一側面に係る機械制御プログラム追加方法は、少なくとも、1の機械制御プログラムと、当該機械制御プログラムが使用するグローバル変数のリストであるグローバル変数リストを含むライブラリを読み込み、並列に又は連続して実行される複数の機械制御プログラムを含む機械制御プログラム群に前記ライブラリに含まれる前記機械制御プログラムを追加し、前記機械制御プログラムを追加する際に、前記グローバル変数リストに基いて、当該機械制御プログラムが使用するグローバル変数を、グローバル変数領域の未使用領域に割り当てる。
また、本発明の別の一側面に係る制御方法は、複数の機械制御プログラムを並列に又は連続して実行する機械制御装置と、前記機械制御装置に接続された少なくとも1つの機械モジュールと、前記機械制御装置に記憶された、前記機械モジュールに対応付けられる少なくとも1の機械制御プログラムを含む2以上の機械制御プログラムと、を有する機械制御システムの制御方法であって、前記少なくとも1の機械制御プログラムを、当該機械制御プログラムが使用するグローバル変数の値を、他の機械制御プログラムが書き換えることにより制御する。
本発明の実施形態に係る機械制御プログラム作成装置及び機械制御システムを含む物理的な全体構成例を示す概略図である。 本発明の実施形態に係る機械制御プログラム作成装置の物理的な構成例を示す図である。 本発明の実施形態に係る機械制御プログラム作成装置及び機械制御システムの機能的な構成例を示す機能ブロック図である。 機械制御装置において実行される機械制御プログラムの配置と動作を説明する図である。
図1は本発明の実施形態に係る機械制御プログラム作成装置1及び機械制御システム100を含む物理的な全体構成例を示す概略図である。
機械制御システム100は機械制御装置2及び、機械制御装置2と接続され、機械制御装置2により制御される少なくとも1つの機械モジュール3を含む。ここで、機械制御装置とは、機械要素を電子的・電気的に制御する機器であり、具体的には、いわゆるPLCが該当する。また、機械要素は、機械制御装置に接続され制御される物理的な要素の意味であり、具体的には、サーボモータやステップモータ等のアクチュエータ、それらのコントローラ、スイッチやランプ、ソレノイドや油空圧バルブ等の各種自動化機器が該当する。また、機械モジュールは、機械要素であって、単純なON/OFFでない高度な制御を要する機械装置の意味である。例えば、サーボ軸や、サーボモータを使用した多関節ロボット、画像認識を行うビジョンコントローラなどが機械モジュールに該当する。一方で、単純なON/OFFにより制御されるスイッチやランプ、ソレノイド等は、本明細書では機械モジュールとしては取り扱わない。本実施形態の例では、機械モジュール3として、2軸のいわゆるスカラロボット(水平多関節ロボット)が示されている。機械制御システムは、機械制御装置と、かかる機械制御装置に接続され制御される機械要素を一まとまりの系として取り扱う際の呼称である。
また、ここで示した機械制御システム100には、さらに、機械要素としてGUIデバイス4が含まれており、GUIデバイス4は機械制御装置2と接続されている。GUIデバイス4は、機械制御システム100を操作するオペレータにGUI(Graphical User Interface)を提供するものであり、ここではタッチパネルである。GUIデバイスもまた、機械モジュールの1種である。
本実施形態の例に示す機械制御システム100は、ここで示した機械モジュール3及びタッチパネル4以外の1又は複数の機械要素をさらに含むものであってよいが、図示及び説明が煩雑となるのを避けるため省略している。
機械制御プログラム作成装置1は、機械制御装置2が実行する機械制御プログラムを作成し、作成した機械制御プログラムを機械制御装置2に転送する。機械制御プログラム作成装置1はさらに、機械制御システム100の状態のモニタリングや、タッチパネル4を代替する用途に用いられてもよい。機械制御プログラム作成装置1は、必要に応じて機械制御装置2に接続すればよく、常に機械制御装置2に接続されている必要はない。また、機械制御プログラム作成装置1は、インターネットなどの電気通信回線によるネットワークNに接続可能であり、ネットワークNを介して後述するサーバ5と情報通信を行うことができる。
機械制御プログラム作成装置1としては一般的なコンピュータを用いてよく、本実施形態においても、図2に示すように、CPU(Central Processing Unit)1a、RAM(Random Access Memory)1b、外部記憶装置1c、GC(Graphics Controller)1d、入力デバイス1e及びI/O(Inpur/Output)1fがデータバス1gにより相互に電気信号のやり取りができるよう接続されている一般的なコンピュータを用いている。ここで、外部記憶装置1cはHDD(Hard Disk Drive)やSSD(Solid State Drive)等の静的に情報を記録できる装置である。またGC1dからの信号はCRT(Cathode Ray Tube)やいわゆるフラットパネルディスプレイ等の、使用者が視覚的に画像を認識するモニタ1hに出力され、画像として表示される。入力デバイス1eはキーボードやマウス、タッチパネル等の、ユーザが情報を入力するための機器であり、I/O1fは機械制御プログラム作成装置1が外部の機器と情報をやり取りするためのインタフェースである。コンピュータを機械制御プログラム作成装置1として機能させるためのアプリケーションプログラムは外部記憶装置1cにインストールされ、必要に応じてRAM1bに読みだされてCPU1aにより実行される。また、かかるプログラムは、適宜の光ディスク、光磁気ディスク、フラッシュメモリ等の適宜のコンピュータ可読情報記録媒体に記録されて提供されても、インターネット等の情報通信回線を介して提供されてもよく、さらに、I/O1fを介して外部のネットワークに接続されたサーバにより機械制御プログラム作成装置1としての機能が提供される、いわゆるクラウドコンピューティングにより提供されてもよい。
なお、本明細書では、機械制御プログラムという語を、機械制御装置により実行され、機械要素を制御するためのコンピュータプログラムの意で用いる。機械制御プログラムの代表的なものとして、IEC61131−3に規定されるLD(ラダーロジック)、SFC(シーケンシャルファンクションチャート)、FBD(ファンクションブロックダイアグラム)、ST(ストラクチャードテキスト)及びIL(インストラクションリスト)が挙げられる。本実施形態に係る機械制御装置2では、基本的に機械制御プログラムとして基本的にLDを用いている。
図1に戻り、本実施形態では、機械モジュール3であるスカラロボットは、ユーザが工場Fにより製造された部品を個別に購入し、組み立てることができる。ここで示した例では、機械モジュール3であるスカラロボットは、当該スカラロボットを構成する土台部品3a、第1アーム部品3b、第2アーム部品3cを個別に購入し、組み立てたものである。ロボットを構成する各部品は、動力源であるサーボモータなどのアクチュエータと構造部材を含むものであってよい。この例では、第1アーム部品3b、第2アーム部品3cは、それぞれ、サーボモータと、構造部材であるアームを含むものである。また、第2アーム部品3cはエンドエフェクタとなるシリンダをその先端に備えている。
そして、工場Fは、用途や要求に応じた種々の部品を提供してよい。例えば、ロボットに用いるアーム部品であっても、モータの容量や、アーム長、さらには先端に備えられたエンドエフェクタが異なる様々なものが提供される。このようにすることにより、ユーザは、想定する用途や要求に応じて自由に部品を組み合わせ、所望の性能を有する機械モジュール3を得ることができる。工場Fから提供される部品は、この例で示したスカラロボットに関するものだけでなく、他の形式のロボット、例えば垂直多関節ロボットやガントリ、パラレルリンクロボットに関するものであってもよいし、ロボット以外の機械モジュール、例えば、ビジョンコントローラに用いるカメラや照明であってもよい。
サーバ5は、後述するように、工場Fにより提供される各種部品や、それら部品を組み立てることにより得られる機械モジュール等に関するライブラリ(後述する)を記憶しており、機械制御プログラム作成装置1が電気通信回線を通じて必要なものをダウンロードすることができるようになっている。
図3は本発明の実施形態に係る機械制御プログラム作成装置1の機能的な構成例を示す機能ブロック図である。本図に示す各機能ブロックは、上述の機械制御プログラム作成装置1の物理的構成を用いて、例えば、CPU1aにより所定のプログラムを実行したり、RAM1bや外部記憶装置1cに所定の情報を記憶する領域を割り当てたりすることにより仮想的に実現されるものを含み、すなわち、ソフトウェアにより実現される機能を個別に示したものを含んでいる。従って、本図に示す機能ブロックは必ずしも機械制御プログラム作成装置1の物理的構成や、機械制御プログラム作成装置1等が実行するプログラム自体が機能ブロック毎に区分されることを意味しない。また、本図には機械制御プログラム作成装置1が有する全ての機能が示されているわけではなく、本発明と技術的関連の低い部分は省略されている。
機械制御プログラム作成装置1は、機械制御プログラムからライブラリを作成するライブラリ作成装置10として機能する部分と、ライブラリを機械制御プログラムに追加するライブラリ追加装置20として機能する部分とに大別することができる。また、機械制御プログラム作成装置1は、ライブラリを記憶するライブラリ記憶部40、機械制御プログラムを記憶する機械制御プログラム記憶部50を有している。
ここでまず、ライブラリの意味とその技術的意義について説明する。本実施形態に係る機械制御プログラム作成装置1が作成する機械制御プログラムが実行される機械制御装置2は、その機能として、複数の機械制御プログラムを並列に又は連続して実行することができる。すなわち、複数の機械制御プログラムを同時に実行するか、或いは、スキャン期間内で複数の機械制御プログラムを連続して実行することにより、疑似的に複数の機械制御プログラムを同時に実行する。そのため、機械制御システム100において、関連の強い部分毎に機械制御プログラムを作成し、作成された複数の機械制御プログラムを並列に又は連続して実行するようにして全体の制御を実現することで、機械制御プログラムの開発効率を高めることができる。また、このような全体の制御を実現する複数の機械制御プログラムの集合を、プロジェクトと称している。
しかしながら、かかる複数の機械制御プログラムは、互いに完全に独立しているわけではなく、制御を連携させ、また機械制御プログラム間の干渉を防ぐため、あらかじめ、機械制御プログラム間のやり取りや、各機械制御プログラムが使用するグローバル変数や使用する入出力等の割り当てを定めておき、各機械制御プログラムはかかる定めに従って作成される。この定めは、作成しようとする機械制御システム100毎のものであるので、作成された機械制御プログラムを個別に他の機械制御システムに転用するのは難しい。
ライブラリは、このような、特定の機械制御システムに固有の個別又は一群の機械制御プログラムを、特定の機械制御システムに依存することなく再利用できるようにするための情報であり、機械制御プログラムと、その機械制御プログラムを任意の機械制御システムに適合させるための適合情報、すなわち、前述の定めについての情報を含むものである。適合情報には、先ほど述べたように、ライブラリに含まれる機械制御プログラムが使用するグローバル変数のリストや、入出力のリストが含まれてよい。
そして、機械制御プログラム作成装置1は、特定の機械制御システム100について作成された複数の機械制御プログラムのうち、1又は複数を切り出して、汎用のライブラリを作成する機能、すなわち、ライブラリ作成装置10としての機能と、汎用のライブラリを特定の機械制御システム100に適合させ、機械制御プログラムとして追加するライブラリ追加装置20としての機能を備えるものである。なお、ライブラリ作成装置10としての機能とライブラリ追加装置20としての機能は、必ずしも同時に機械制御プログラム作成装置1に備えられずともよく、それぞれ別の装置或いはソフトウェアとして提供されてもよい。
<ライブラリ作成装置としての構成>
まず、機械制御プログラム作成装置1のうち、ライブラリ作成装置10として機能する部分について説明する。
ライブラリ作成装置10は、機械制御プログラム選択部11、ライブラリ作成部12、グローバル変数リスト作成部13及び入出力リスト作成部14を有する。
機械制御プログラム選択部11は、機械制御プログラム記憶部50に記憶された1又は複数の機械制御プログラムから、汎用のライブラリとして取り出そうとする少なくとも1の機械制御プログラムを選択する。この選択は、入力デバイス1eにより受け付けられたオペレータの指示に基いてなされてよい。
選択された機械制御プログラムは、ライブラリ作成部12、グローバル変数リスト作成部13及び入出力リスト作成部14に受け渡される。グローバル変数リスト作成部13は、機械制御プログラムを解析し、機械制御プログラムが使用しているグローバル変数のリストを作成する。一般的な機械制御装置では、変数は、レジスタ番号により区別されるため、ここでは、使用されているグローバルレジスタ番号のリストが作成されることになる。入出力リスト作成部14は、同様に、機械制御プログラムを解析し、機械制御プログラムが使用している入出力のリストを作成する。ここで言う入出力は、機械制御プログラムが制御しようとする機械要素が使用する接点やコネクタの番号、IPアドレス等の識別子等、機械制御プログラムが占有する電気接続或いは情報通信接続の識別情報である。
そして、ライブラリ作成部12は、選択された機械制御プログラムに、グローバル変数リスト作成部13により作成されたグローバル変数リスト及び、入出力リスト作成部14により作成された入出力リストを付してライブラリを作成し、ライブラリ記憶部40に記憶する。
このように作成されたライブラリは、機械制御プログラムの定めについての情報、特に、グローバル変数リスト及び入出力リストを含んでいるため、他のプロジェクトに追加しようとする際に、既に存在するグローバル変数や入出力と干渉することがないように、機械制御プログラム自体を書き換えることができる。そのため、ライブラリは特定の機械制御システムに依存せず、汎用としての特性を備える。なお、本実施形態では、機械制御プログラムの定めについての情報として、グローバル変数リスト及び入出力リストを作成するものとしたが、これ以外の情報、例えば機械制御プログラム自身の名称や、他の機械制御プログラムへの参照等のリストをさらに生成するものとしてもよい。
<ライブラリ追加装置としての構成>
続いて、機械制御プログラム作成装置1のうち、ライブラリ追加装置20として機能する部分について説明する。
ライブラリ追加装置20は、ダウンロード部21、一覧表示部22、ライブラリ選択部23、ライブラリ読み込み部24、機械制御プログラム追加部25、グローバル変数割り当て部26、入出力割り当て部27及び機器情報入力部28を有する。
ダウンロード部21は、サーバ5に記憶されたライブラリのうち、所望のものをダウンロードし、ライブラリ記憶部40に記憶する。ここで、ライブラリは、先のライブラリ作成装置10で説明したように、機械制御プログラム作成装置1により作成してもよいが、後述するように、機械モジュール3のベンダーが、機械モジュール3の制御に適した機械制御プログラムをライブラリとして提供してもよい。このようにすることで、機械モジュール3の制御に適した機械制御プログラムを汎用のライブラリとして利用でき、既存のプロジェクトに容易に追加することができるようになり、ユーザが、機械モジュール3を制御する機械制御プログラムを自ら作成する手間を軽減できる。
一覧表示部22は、ライブラリ記憶部40に記憶されたライブラリの一覧を、モニタ1hに表示する。そして、ライブラリ選択部23は、一覧表示されたライブラリを選択し、ライブラリ読み込み部24に通知する。オペレータは、モニタ1hに表示されたライブラリの一覧を参照して、入力デバイス1eを操作して、必要なライブラリを選択し、プロジェクトに追加することができる。
ここで、ライブラリ、特に、サーバ5に記憶されたライブラリには、当該ライブラリ自身を説明する画像及び説明が含まれていてよい。この画像は例えば、ベンダーが提供する特定の機械モジュールに対応するものであれば、当該機械モジュールの画像である。又説明は、当該機械モジュールについての説明であってよく、本実施形態では例えば、「2軸スカラロボット制御用ライブラリ」等である。
そして、一覧表示部22は、ライブラリを一覧表示する際に、この画像及び説明(又はその少なくともいずれか)を表示する。オペレータは、プロジェクトが必要とするライブラリがどのライブラリであるかを視覚的に確認し、選択することができる。もちろん、一覧表示しようとするライブラリに画像及び説明が含まれていない場合には、かかる画像及び説明は表示されなくともよい。
ライブラリ読み込み部24は、選択されたライブラリを読み込み、機械制御プログラム追加部25、グローバル変数割り当て部26、入出力割り当て部27及び機器情報入力部28に受け渡す。
ここで、グローバル変数割り当て部26は、ライブラリに含まれるグローバル変数リストに基いて、ライブラリに含まれる機械制御プログラムが使用しているグローバル変数を、現在のプロジェクトが使用していない未使用領域に割り当てる。より具体的には、ライブラリに含まれる機械制御プログラム中のグローバル変数名を、未使用のグローバル変数名に書き換える。この割り当ては、グローバル変数割り当て部26がグローバル変数の未使用領域を自動的に探索して行ってもよいし、オペレータが割り当てる未使用領域を指定、例えば、グローバルレジスタ番号10000以降を割り当てる、等の指定をすることによって行ってもよい。
入出力割り当て部27も同様に、ライブラリに含まれる入出力リストに基いて、ライブラリに含まれる機械制御プログラムが使用している入出力を、現在のプロジェクトが使用していない入出力に割り当てる。この割り当てもまた、入出力割り当て部27が自動で行ってもよく、オペレータが指定することによって行ってもよい。
機器情報入力部28は、ライブラリに含まれる機械制御プログラムが制御する機器に関する情報である機器情報を入力する。この入力は、入力デバイス1eを用いて、オペレータが行ってよい。
ここで機器情報とは、機械制御プログラムが対象となる機器を制御する際に必要となる当該機器のパラメータ等の情報である。本実施形態のように、対象となる機器が2軸スカラロボットである機械モジュール3である場合には、各アームの長さや、エンコーダの分解能等が該当する。ここで、あるライブラリが、特定の構成の機械モジュール3にのみ対応しているのであれば、オペレータが機器情報を入力する必要は特にないと考えられる。ところが、本実施形態のように、機械モジュール3が種々の部品を組み立てて得られるものである場合には、使用される部品によって機械モジュール3の特性が変化すると考えられる。したがって、そのような場合には、構成によって変化する機械モジュール3の特性は機器情報として入力されなければならない。
機械制御プログラム追加部は、グローバル変数割り当て部26によるグローバル変数の割り当て、入出力割り当て部27による入出力の割り当て、さらに、機器情報入力部28により入力された機器情報を反映させて、機械制御プログラムを既存のプロジェクトに適合させて機械制御プログラム記憶部に記憶する。このようにすることで、既存の機械制御プログラムを効率的に再利用し、プロジェクト作成の手間を大幅に軽減できる。
<機械制御装置における機械制御プログラムの動作>
図4は、機械制御装置2において実行される機械制御プログラムの配置と動作を説明する図である。
機械制御装置2は、複数の機械制御プログラムを記憶するプログラム記憶領域30、グローバル変数記憶領域31及び教示点記憶領域32を少なくとも備えている。ここで、教示点記憶領域32は、接続される機械モジュール3がロボットである場合の教示点その他のロボット制御情報を保持する領域である。この教示点記憶領域32は、グローバル変数記憶領域31の一部の領域を割り当てたものであってもよいし、図示のように、独立した領域として構成されていてもよい。本実施形態では、グローバル変数記憶領域31とは別個に用意されたテーブル領域を教示点記憶領域32として用いている。
そして、この例では、プログラム記憶領域30に記憶された機械制御プログラムB及び機械制御プログラムCが、ライブラリ追加装置20により追加された機械制御プログラムである。機械制御プログラムBに対しては、グローバル変数記憶領域31の特定の領域である割り当て区間Bが、機械制御プログラムCに対しては、グローバル変数記憶領域31の特定の領域である割り当て区間Cがそれぞれ割りつけられている。機械制御プログラムAは、ユーザにより作成された機械制御プログラムである。
ここで、機械制御プログラムB及び機械制御プログラムCは、2軸スカラロボットである機械モジュール3に関してのライブラリに含まれていた機械制御プログラムであり、機械モジュール3に対応づけられるものである。そして、機械制御プログラムAから機械制御プログラムB及び機械制御プログラムCを呼びだすことにより、すなわち、機械制御プログラムAが機械制御プログラムB及び機械制御プログラムCを制御することにより、機械モジュール3を制御することを考える。この時、機械制御プログラムCは、教示点から機械モジュール3の各モータ位置を与える、いわゆる逆運動学演算を行うルーチンであり、機械モジュール3の教示点は既に教示点記憶領域に与えられているものとする。
この時、機械制御プログラムAは、直接機械制御プログラムBを参照することはなく、機械制御プログラムBに割り当てられた割り当て区間B中の特定のグローバル変数の値を書き換えることにより、間接的に機械制御プログラムBを制御する。
この理由は、機械制御プログラムBは機械制御プログラムAを作成したユーザ自身が作成したものでない可能性があり、ユーザは機械制御プログラムBの詳細な内容を知らないと考えられるため、機械制御プログラムAから直接機械制御プログラムBへアクセスすることは容易でないからである。これに対し、割り当て区間B中の特定のグローバル変数の値を機械制御プログラムAが書き換えることは容易である。したがって、まず、機械制御プログラムAは、割り当て区間B中の特定のグローバル変数の値を書き換える(図中矢印(1))。
そして、機械制御プログラムBは割り当て区間B中の特定のグローバル変数の値を監視しており、この値が変化したことを受けて所定の処理を実行する(図中矢印(2))。ここでは、例えば、機械制御プログラムAから、機械モジュール3を次の教示点位置まで移動させる指示がなされたと仮定する。
ここで、機械制御装置2は、一軸の単純なモータ位置を制御する機能は有しているが、いわゆるロボットコントローラが有しているような、座標変換の機能は有していない。そこで、機械制御プログラムBは、機械制御プログラムCの割り当て区間Cに、次の教示点を示す教示点番号を書き込み(図中矢印(3))、機械制御プログラムCに逆運動学演算をさせる。
機械制御プログラムCは、割り当て区間Cを監視しており、機械制御プログラムBにより教示点番号が書き込まれたことにより処理を開始し(図中矢印(4))、教示点記憶領域32から指定された教示点番号に対応する教示点座標を取得する(図中矢印(5))。機械制御プログラムCは、逆運動学演算のルーチンであり、取得した教示点座標及び、機器情報入力部28により入力された機器情報を用いて逆運動学演算を行い、各モータ位置を算出し、機械制御プログラムBの割り当て区間Bに書き込む(図中矢印(6))。
機械制御プログラムBは、割り当て区間Bに各モータ位置が書き込まれたことを検出し、機械モジュール3の各モータを指定位置となるように作動させ、制御する。
各機械制御プログラムを、以上説明したように、当該機械制御プログラムが使用するグローバル変数の値を、他の機械制御プログラムが書き換えることにより制御するものとすることで、ライブラリとして追加される機械制御プログラムの詳細を必要とすることなく、当該機械制御プログラムの制御ができる。そして、ライブラリとして追加される機械制御プログラムが接続される機械モジュールに対応付けられているから、機械モジュールを制御しようとするユーザは、当該機械モジュールに対応するライブラリを追加することにより、極めて容易に当該機械モジュールを制御することができる。
また、かかる機械制御プログラムが逆運動学演算のルーチンであることにより、本来かかる演算の機能を有していない機械制御装置2を、あたかもロボットコントローラであるかのように取り扱うことができ、専用のロボットコントローラを必要とすることなく多関節ロボットの制御が可能である。
<教示点の教示方法>
一般に、多関節ロボットはティーチングプレイバック方式のものであることが多く、多関節ロボットであるような機械モジュール3に対しては、その教示点の教示作業が必要である。しかしながら、機械制御装置2は、専用のロボットコントローラではないため、いわゆるティーチングペンダントは用意されていない。
そこで、本実施形態では、タッチパネルであるGUIデバイス4をティーチングペンダントの代用として用いる。すなわち、GUIデバイス4上に一般的なティーチングペンダントに類似したインターフェースを表示し、GUIデバイス4をあたかもティーチングペンダントであるかのように用いて、オペレータの入力に基いて機械モジュール3を作動させ、教示点を入力していく。入力された教示点や、教示点に至る動作や軌跡の種別は、教示点記憶領域32に記憶され、先の例では、機械制御プログラムCにより参照され利用される。このようにして教示点データを作成することにより、特別のティーチングペンダントを必要とすることなく、汎用のGUIデバイス4を用いて、ロボットである機械モジュール3の教示が可能となる。
なお、この教示作業は、図1に図示のGUIデバイス4に換えて、機械制御プログラム作成装置1をティーチングペンダントとして用いて行ってもよい。この場合、機械制御プログラム作成装置1もまたGUIを有する機器であるので、機械制御プログラム作成装置1をGUIデバイスとして用いていることになる。さらには、機械制御プログラム作成装置1でシミュレーションを行い、いわゆるオフラインティーチングの手法により教示点データを作成するようにしてもよい。
以上、本発明に係る実施形態について説明したが、この実施形態に示した具体的な構成は一例として示したものであり、本発明の技術的範囲をこれに限定することは意図されていない。当業者は、これら開示された実施形態を適宜変形してもよく、本明細書にて開示される発明の技術的範囲は、そのようになされた変形をも含むものと理解すべきである。
1 機械制御プログラム作成装置、1a CPU、1b RAM、1c 外部記憶装置、1d GC、1e 入力デバイス、1f I/O、1h モニタ、2 機械制御装置、3 機械モジュール、4 GUIデバイス、5 サーバ、10 ライブラリ作成装置、11 機械制御プログラム選択部、12 ライブラリ作成部、13 グローバル変数リスト作成部、14 入出力リスト作成部、20 ライブラリ追加装置、21 ダウンロード部、22 一覧表示部、23 ライブラリ選択部、24 ライブラリ読み込み部、25 機械制御プログラム追加部、26 グローバル変数割り当て部、27 入出力割り当て部、28 機器情報入力部、30 プログラム記憶領域、31 グローバル変数記憶領域、32 教示点記憶領域、100 機械制御システム、F 工場、N ネットワーク。

Claims (8)

  1. 並列に又は連続して実行される複数の機械制御プログラムを含む機械制御プログラム群から、少なくとも1の機械制御プログラムを選択する機械制御プログラム選択部と、
    選択された前記機械制御プログラムが使用するグローバル変数のリストであるグローバル変数リストを生成するグローバル変数リスト生成部と、
    少なくとも、選択された前記機械制御プログラムと、前記グローバル変数リストを含むライブラリを生成するライブラリ生成部と、
    を有する機械制御プログラム作成装置。
  2. 選択された前記機械制御プログラムが使用する入出力のリストを生成する入出力リスト生成部をさらに有し、
    前記ライブラリ生成部は、さらに、前記入出力のリストを含むライブラリを生成する請求項1に記載の機械制御プログラム作成装置。
  3. 少なくとも、1の機械制御プログラムと、当該機械制御プログラムが使用するグローバル変数のリストであるグローバル変数リストを含むライブラリを読み込むライブラリ読み込み部と、
    並列に又は連続して実行される複数の機械制御プログラムを含む機械制御プログラム群に前記ライブラリに含まれる前記機械制御プログラムを追加する機械制御プログラム追加部と、
    前記機械制御プログラム追加部が前記機械制御プログラムを追加する際に、前記グローバル変数リストに基いて、当該機械制御プログラムが使用するグローバル変数を、グローバル変数領域の未使用領域に割り当てるグローバル変数割り当て部と、
    を有する機械制御プログラム作成装置。
  4. 前記ライブラリはさらに、当該機械制御プログラムが使用する入出力のリストである入出力リストを含み、
    前記機械制御プログラム追加部が前記機械制御プログラムを追加する際に、前記入出力リストに基いて、当該機械制御プログラムが使用する入出力を、入出力の未使用領域に割り当てる入出力割り当て部と、
    を有する請求項3に記載の機械制御プログラム作成装置。
  5. 前記機械制御プログラム追加部が前記機械制御プログラムを追加する際に、当該機械制御プログラムが制御する機器に関する情報を入力する機器情報入力部を有する請求項3又は4に記載の機械制御プログラム作成装置。
  6. 複数の前記ライブラリを記憶するサーバから電気通信回線を通じて所望のライブラリをダウンロードするダウンロード部と、
    ダウンロードされた前記ライブラリを、当該ライブラリに含まれる画像及び説明の少なくともいずれかを用いて一覧表示する一覧表示部と、
    前記ライブラリ読み込み部により読み込むライブラリを一覧表示から選択するライブラリ選択部と、
    を有する請求項3〜5のいずれかに記載の機械制御プログラム作成装置。
  7. 並列に又は連続して実行される複数の機械制御プログラムを含む機械制御プログラム群から、少なくとも1の機械制御プログラムを選択し、
    選択された前記機械制御プログラムが使用するグローバル変数のリストであるグローバル変数リストを生成し、
    少なくとも、選択された前記機械制御プログラムと、前記グローバル変数リストを含むライブラリを生成する、
    ライブラリ生成方法。
  8. 少なくとも、1の機械制御プログラムと、当該機械制御プログラムが使用するグローバル変数のリストであるグローバル変数リストを含むライブラリを読み込み、
    並列に又は連続して実行される複数の機械制御プログラムを含む機械制御プログラム群に前記ライブラリに含まれる前記機械制御プログラムを追加し、
    前記機械制御プログラムを追加する際に、前記グローバル変数リストに基いて、当該機械制御プログラムが使用するグローバル変数を、グローバル変数領域の未使用領域に割り当てる、
    機械制御プログラム追加方法。
JP2015235660A 2015-12-02 2015-12-02 機械制御プログラム作成装置、ライブラリ生成方法、及び機械制御プログラム追加方法 Active JP6409755B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015235660A JP6409755B2 (ja) 2015-12-02 2015-12-02 機械制御プログラム作成装置、ライブラリ生成方法、及び機械制御プログラム追加方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015235660A JP6409755B2 (ja) 2015-12-02 2015-12-02 機械制御プログラム作成装置、ライブラリ生成方法、及び機械制御プログラム追加方法

Publications (2)

Publication Number Publication Date
JP2017102720A JP2017102720A (ja) 2017-06-08
JP6409755B2 true JP6409755B2 (ja) 2018-10-24

Family

ID=59017440

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015235660A Active JP6409755B2 (ja) 2015-12-02 2015-12-02 機械制御プログラム作成装置、ライブラリ生成方法、及び機械制御プログラム追加方法

Country Status (1)

Country Link
JP (1) JP6409755B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7192251B2 (ja) * 2018-05-29 2022-12-20 富士通株式会社 情報処理装置、ロボット動作プログラム生成補助方法及びロボット動作プログラム生成補助プログラム
EP3786750B1 (en) * 2019-08-30 2024-02-28 Kabushiki Kaisha Yaskawa Denki Data collection system, data collection method, and program
JP6849029B2 (ja) * 2019-08-30 2021-03-24 株式会社安川電機 データ収集システム、データ収集方法、及びプログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2993288B2 (ja) * 1992-02-17 1999-12-20 三菱電機株式会社 加工プログラム作成装置
JP2002099742A (ja) * 2000-09-21 2002-04-05 Fuji Electric Co Ltd シーケンスソフトウェア部品の販売方法、サーバ装置、プログラマブルコントローラ、及び記録媒体
JP2006099639A (ja) * 2004-09-30 2006-04-13 Denso Wave Inc プログラム作成装置,制御装置及びコンピュータプログラム
JP4973867B2 (ja) * 2007-10-19 2012-07-11 オムロン株式会社 Plc制御プログラム開発装置及びプログラム
JP5338297B2 (ja) * 2008-12-19 2013-11-13 株式会社安川電機 ロボットの制御装置
JP5757098B2 (ja) * 2011-02-08 2015-07-29 富士電機株式会社 プログラム作成支援装置、プログラム作成支援方法
JP2014124733A (ja) * 2012-12-27 2014-07-07 Jtekt Corp ロボット制御装置及びロボットの制御方法

Also Published As

Publication number Publication date
JP2017102720A (ja) 2017-06-08

Similar Documents

Publication Publication Date Title
CN108628595B (zh) 开发用于自动化系统的控制器的控制应用的系统和方法
US11986962B2 (en) Method for extending end user programming of an industrial robot with third party contributions
CN110573308A (zh) 机器人系统的混合现实辅助空间编程
CN105382836A (zh) 示教系统、机器人系统以及示教方法
JP6409557B2 (ja) 制御装置、コントローラ・システム、出力制御方法、およびプログラム
CN107838922B (zh) 一种机器人免重复示教的方法
EP3441830B1 (en) Information processing device, information processing method, and information processing program
JP6409755B2 (ja) 機械制御プログラム作成装置、ライブラリ生成方法、及び機械制御プログラム追加方法
JP7246267B2 (ja) 組立計画装置、組立計画方法、及び組立計画プログラム
EP3441831B1 (en) Information processing device, information processing method, and information processing program
WO2013145940A1 (ja) 情報処理装置、情報処理方法、およびプログラム
WO2019167512A1 (ja) 表示装置、画面生成方法、および画面生成プログラム
JP2018114576A (ja) オフラインプログラミング装置及び位置パラメータ補正方法
US11609547B2 (en) Gestural control of an industrial robot
Schäffer et al. System architecture and conception of a standardized robot configurator based on microservices
JP6972873B2 (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP5272447B2 (ja) 数値制御機械の動作シミュレータ
JP7452124B2 (ja) ロボット制御システムおよび制御方法
JP6135247B2 (ja) 情報処理装置および情報処理プログラム
CN115176209A (zh) 机器人控制系统以及控制方法
Kuts et al. Digital Twin: Universal User Interface for Online Management of the Manufacturing System
WO2012124145A1 (ja) 演算ユニット、支援装置、支援プログラム、支援プログラムを格納した記憶媒体、および、支援装置における動作方法
WO2024087108A1 (en) Robot system and color control method
JP7375632B2 (ja) 制御システムおよびサポート装置
JP7276359B2 (ja) 動作指令生成装置、機構制御システム、コンピュータプログラム、動作指令生成方法及び機構制御方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171115

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180109

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180803

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180828

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180910

R150 Certificate of patent or registration of utility model

Ref document number: 6409755

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150