JP7375632B2 - Control system and support equipment - Google Patents
Control system and support equipment Download PDFInfo
- Publication number
- JP7375632B2 JP7375632B2 JP2020044555A JP2020044555A JP7375632B2 JP 7375632 B2 JP7375632 B2 JP 7375632B2 JP 2020044555 A JP2020044555 A JP 2020044555A JP 2020044555 A JP2020044555 A JP 2020044555A JP 7375632 B2 JP7375632 B2 JP 7375632B2
- Authority
- JP
- Japan
- Prior art keywords
- control
- program
- control system
- target trajectory
- control device
- 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
Links
- 230000033001 locomotion Effects 0.000 claims description 31
- 238000011161 development Methods 0.000 claims description 20
- 238000000034 method Methods 0.000 claims description 20
- 239000000872 buffer Substances 0.000 claims description 12
- 230000006870 function Effects 0.000 description 59
- 238000012545 processing Methods 0.000 description 27
- 238000004364 calculation method Methods 0.000 description 26
- 230000018109 developmental process Effects 0.000 description 23
- 238000010586 diagram Methods 0.000 description 22
- 238000004891 communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 4
- 230000029777 axis specification Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 208000033748 Device issues Diseases 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Programmable Controllers (AREA)
Description
本発明は、複数の軸を含む制御対象を制御する制御システムおよびその制御システムに用いられるサポート装置に関する。 The present invention relates to a control system that controls a controlled object including a plurality of axes, and a support device used in the control system.
従来から、CNC工作機械は様々な生産現場で利用されている。CNC工作機械などの複数の軸を含む制御対象は、目標の軌跡を実現するために、特有の演算処理が必要である。例えば、特開平6-282321号公報(特許文献1)は、数値制御工作機械における加工装置の移動制御用に作成された数値制御プログラムを新たなプログラム変換作成する装置などを開示する。そのため、専用の制御装置を用いて制御することが一般的である。 CNC machine tools have traditionally been used at various production sites. A controlled object including a plurality of axes, such as a CNC machine tool, requires specific arithmetic processing in order to realize a target trajectory. For example, Japanese Patent Laid-Open No. 6-282321 (Patent Document 1) discloses an apparatus for converting a numerical control program created for movement control of a processing device in a numerically controlled machine tool into a new program. Therefore, it is common to use a dedicated control device for control.
一方で、FA(Factory Automation)の根幹をなすPLC(プログラマブルロジックコントローラ)などの制御装置は、その高機能化に伴って、従来のシーケンス制御だけではなく、より高機能な制御を実現できるようになってきている。 On the other hand, as control devices such as PLCs (programmable logic controllers), which form the basis of FA (Factory Automation), become more sophisticated, they are now able to perform not only conventional sequence control but also more sophisticated control. It has become to.
しかしながら、CNC工作機械は特有の演算処理が必要であり、PLCのプログラム開発者がこのような特有の演算処理に精通しているとは限らない。 However, CNC machine tools require specific arithmetic processing, and PLC program developers are not necessarily familiar with such specific arithmetic processing.
本発明の一つの目的は、一般的な制御演算に加えて、複数の軸を含む制御対象を制御することが可能な制御システムを提供することである。 One object of the present invention is to provide a control system capable of controlling a controlled object including a plurality of axes in addition to general control calculations.
本発明のある実施の形態によれば、複数の軸を含む制御対象を制御する制御システムが提供される。制御システムは、制御プログラムを所定の制御周期でサイクリック実行する制御装置と、制御装置で実行される制御プログラムを作成するための開発環境を提供するサポート装置とを含む。サポート装置は、1または複数のファンクションブロックを含む任意のソースプログラムを作成可能なユーザインターフェイスを提供する手段を含む。1または複数のファンクションブロックのうち少なくとも1つのファンクションブロックには、制御対象の動作を規定する動作定義が指定可能になっている。サポート装置は、ファンクションブロックに指定された動作定義に基づいて、制御対象の目標軌跡を逐次更新するための命令と、当該逐次更新される目標軌跡に基づいて制御対象の各軸に対する指令値を決定する命令とを含む、制御プログラムを生成する手段を含む。 According to an embodiment of the present invention, a control system is provided for controlling a controlled object including a plurality of axes. The control system includes a control device that cyclically executes a control program at a predetermined control cycle, and a support device that provides a development environment for creating a control program to be executed by the control device. The support device includes means for providing a user interface with which any source program including one or more function blocks can be created. At least one of the one or more function blocks can be designated with an operation definition that defines the operation of a controlled object. The support device issues instructions to sequentially update the target trajectory of the controlled object based on the operation definition specified in the function block, and determines command values for each axis of the controlled object based on the sequentially updated target trajectory. and means for generating a control program.
この構成によれば、ユーザは、ソースプログラムを作成する際に、特定のファンクションブロックを用いて制御対象の動作を規定する動作定義を指定するだけで、制御装置が制御対象を制御するのに必要な制御プログラムを自動的に生成できる。これによって、専門知識の少ないユーザであっても、制御装置を用いて、複数の軸を含む制御対象を制御できる。 According to this configuration, when creating a source program, the user can simply specify the operation definition that specifies the operation of the controlled object using a specific function block, and the user can create a source program that is necessary for the control device to control the controlled object. A control program can be automatically generated. As a result, even a user with little specialized knowledge can use the control device to control a control target including a plurality of axes.
少なくとも1つのファンクションブロックは、異なる方式の動作定義をそれぞれ指定可能に構成されてもよい。この構成によれば、特定のファンクションブロックは共通化した上で、必要に応じて適切な動作定義を指定すればよいので、ユーザ操作を簡素化できる。 At least one function block may be configured to be able to specify different types of operation definitions. According to this configuration, user operations can be simplified because specific function blocks can be shared and appropriate operation definitions can be specified as needed.
動作定義は、Gコードプログラムまたはデータブロックを含んでいてもよい。この構成によれば、汎用的なGコードプログラムまたは指定の容易なデータブロックを利用できるので、ソースプログラムの作成を容易化できる。 The operational definition may include a G-code program or data block. According to this configuration, it is possible to use a general-purpose G code program or an easily specified data block, thereby facilitating the creation of a source program.
制御装置は、制御プログラムにより逐次更新される目標軌跡を格納するためのバッファを含んでいてもよい。この構成によれば、制御プログラムが生成する目標軌跡の管理を簡素化できる。 The control device may include a buffer for storing a target trajectory that is sequentially updated by the control program. According to this configuration, management of the target trajectory generated by the control program can be simplified.
制御プログラムは、動作定義に基づいて決定された複数のブロックを順次移動する際の速度の変動が小さくなるように、目標軌跡を更新する命令を含んでいてもよい。この構成によれば、制御装置が加工装置などである場合に、仕上がり品質を高めることができる。 The control program may include an instruction to update the target trajectory so that variations in speed when sequentially moving a plurality of blocks determined based on the motion definition are reduced. According to this configuration, when the control device is a processing device or the like, finish quality can be improved.
制御プログラムは、現在位置から予め定められた終点までの間を仮想的に往復走査することで、目標軌跡を更新する命令を含んでいてもよい。この構成によれば、より適切な目標軌跡を決定できる。 The control program may include a command to update the target trajectory by virtually scanning back and forth between the current position and a predetermined end point. According to this configuration, a more appropriate target trajectory can be determined.
本発明の別の実施の形態によれば、複数の軸を含む制御対象を制御する制御装置で実行される制御プログラム、を作成するための開発環境を提供するサポート装置が提供される。制御装置は、制御プログラムを所定の制御周期でサイクリック実行するように構成されている。サポート装置は、1または複数のファンクションブロックを含む任意のソースプログラムを作成可能なユーザインターフェイスを提供する手段を含む。1または複数のファンクションブロックのうち少なくとも1つのファンクションブロックには、制御対象の動作を規定する動作定義が指定可能になっている。サポート装置は、ファンクションブロックに指定された動作定義に基づいて、制御対象の目標軌跡を逐次更新するための命令と、当該逐次更新される目標軌跡に基づいて制御対象の各軸に対する指令値を決定する命令とを含む、制御プログラムを生成する手段を含む。 According to another embodiment of the present invention, a support device is provided that provides a development environment for creating a control program to be executed by a control device that controls a controlled object including a plurality of axes. The control device is configured to cyclically execute a control program at a predetermined control cycle. The support device includes means for providing a user interface with which any source program including one or more function blocks can be created. At least one of the one or more function blocks can be designated with an operation definition that defines the operation of a controlled object. The support device issues instructions to sequentially update the target trajectory of the controlled object based on the operation definition specified in the function block, and determines command values for each axis of the controlled object based on the sequentially updated target trajectory. and means for generating a control program.
本発明によれば、一般的な制御演算に加えて、複数の軸を含む制御対象を制御することが可能な制御システムを実現できる。 According to the present invention, it is possible to realize a control system capable of controlling a control target including a plurality of axes in addition to general control calculations.
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。 Embodiments of the present invention will be described in detail with reference to the drawings. Note that the same or corresponding parts in the figures are designated by the same reference numerals, and the description thereof will not be repeated.
<A.適用例>
まず、本発明が適用される場面の一例について説明する。
<A. Application example>
First, an example of a scene to which the present invention is applied will be described.
図1は、本実施の形態に係る制御システムの適用例を示す模式図である。図1には、制御システムの一例として、ロボット制御システム1の構成例を示す。ロボット制御システム1は、複数の軸を含む制御対象を制御可能になっている。以下の説明においては、制御対象をロボット600とも称す。ロボット600の典型例としては、複数の軸を有するCNC(computer numerical control)工作機械などが挙げられるが、本技術思想は、アプリケーションに応じて任意に作成されるロボットに適用可能である。
FIG. 1 is a schematic diagram showing an example of application of the control system according to the present embodiment. FIG. 1 shows a configuration example of a
制御装置100は、PLC(プログラマブルロジックコントローラ)などの、一種のコンピュータとして具現化されてもよい。制御装置100は、IECプログラム1104(制御プログラムに相当)を所定の制御周期でサイクリック実行する。制御装置100は、IECプログラム1104をサイクリック実行するための実行環境であるIECプログラム実行エンジン160を有している。
The
IECプログラム1104の逐次実行により、ロボット600の軌道を規定する目標軌跡データ154が更新される。IECプログラム1104は、目標軌跡データ154が参照して、ロボット600に対する指令値を制御周期毎に出力する。
By sequentially executing the IEC
ロボット制御システム1は、制御装置100で実行される制御プログラム(IECプログラム1104)を作成するための開発環境を提供するサポート装置200を有している。なお、制御装置100が制御プログラムを実行する期間(制御動作中)において、サポート装置200は必ずしも必要がなく、制御装置100と分離されていてもよい。
The
サポート装置200は、エディタ232と、ビルダ234とを含む。サポート装置200のエディタ232は、1または複数のファンクションブロックを含む任意のソースプログラム240を作成可能なユーザインターフェイスを提供する。ここで、1または複数のファンクションブロックのうち少なくとも1つのファンクションブロック(軌跡制御ファンクションブロック242)には、ロボット600の動作を規定する動作定義248が指定可能になっている。
サポート装置200のビルダ234は、ファンクションブロック(軌跡制御ファンクションブロック242)に指定された動作定義248に基づいて、ロボット600の目標軌跡を逐次更新するための命令と、当該逐次更新される目標軌跡(目標軌跡データ154)に基づいてロボット600の各軸に対する指令値を決定する命令とを含む、IECプログラム1104(第2の制御プログラム)を生成する。
The
さらに、サポート装置200は、IECプログラム1104を制御装置100へ転送する。
Further, the
このような構成を採用することで、ユーザは、ファンクションブロック(軌跡制御ファンクションブロック242)において目的の動作定義248を指定するとともに、他の制御プログラムも含むソースプログラム240を作成すれば、サポート装置200がIECプログラム1104を自動的に生成する。これらの生成されたプログラムが制御装置100へ転送されることで、ロボット600を含む制御演算を容易に実現できる。
By adopting such a configuration, the user can specify the target operation definition 248 in the function block (trajectory control function block 242) and create the
<B.ロボット制御システム構成例>
次に、本実施の形態に係るロボット制御システム1の構成例について説明する。
<B. Robot control system configuration example>
Next, a configuration example of the
図2は、本実施の形態に係るロボット制御システム1の全体構成例を示す模式図である。図2を参照して、ロボット制御システム1は、1または複数の制御装置100を含む。
FIG. 2 is a schematic diagram showing an example of the overall configuration of the
制御装置100は、制御対象に対する制御演算を実行する。制御対象に対する制御には、ロボット600の制御を含む。ロボット600は、複数の軸を含む制御対象であり、各軸あるいは各関節を駆動するための複数のサーボモータ550を含む。サーボモータ550は、対応付けられたサーボドライバ500により駆動される。
The
図2には、サーボドライバ500とサーボモータ550との組を4個含むロボット600を示す。制御装置100とサーボドライバ500との間は、フィールドネットワーク20を介して接続されている。なお、サーボドライバ500とサーボモータ550との組がより少ないあるいはより多いロボット600を採用してもよい。
FIG. 2 shows a
フィールドネットワーク20のプロトコルの一例として、EtherNet/IPなどの産業用のイーサネット(登録商標)を採用してもよい。あるいは、EtherCAT(登録商標)を採用してもよい。制御装置100には、フィールドネットワーク20を介して、IOユニット、セーフティコントローラ、ビジョンセンサなどの任意のフィールドデバイスが接続されてもよい。
As an example of the protocol of the
制御装置100は、さらに上位ネットワーク12を介して、サポート装置200と、表示装置300と、サーバ装置400と接続されていてもよい。上位ネットワーク12のプロトコルの一例として、通常のイーサネットを採用してもよい。
The
サポート装置200は、制御装置100で実行されるソースプログラムの作成、ソースプログラムのデバッグ、制御装置100の動作に係る設定、制御装置100に接続されるフィールドデバイスの動作に対する設定、フィールドネットワーク20に関する設定などの機能を提供する。
The
表示装置300は、HMI(Human Machine Interface)やPT(Programmable Terminal)とも称され、制御装置100が保持する情報を参照して監視操作画面を提供するとともに、ユーザ操作に対応する指示を制御装置100へ送出する。
The
サーバ装置400は、制御装置100との間で制御演算に係る情報をやり取りする。サーバ装置400は、例えば、ファイルサーバ、製造実行システム(MES:Manufacturing Execution System)、生産管理システムなどとして実装されてもよい。
The
<C.ハードウェア構成例>
次に、図2に示すロボット制御システム1を構成する主要装置のハードウェア構成例について説明する。
<C. Hardware configuration example>
Next, an example of the hardware configuration of the main devices constituting the
(c1:制御装置100)
図3は、本実施の形態に係るロボット制御システム1を構成する制御装置100のハードウェア構成例を示す模式図である。図3を参照して、制御装置100は、プロセッサ102と、メインメモリ104と、ストレージ110と、メモリカードインターフェイス112と、上位ネットワークコントローラ106と、フィールドネットワークコントローラ108と、ローカルバスコントローラ116と、USB(Universal Serial Bus)インターフェイスを提供するUSBコントローラ120とを含む。これらのコンポーネントは、プロセッサバス118を介して接続されている。
(c1: control device 100)
FIG. 3 is a schematic diagram showing an example of the hardware configuration of the
プロセッサ102は、制御演算を実行する演算処理部に相当し、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)などで構成される。具体的には、プロセッサ102は、ストレージ110に格納されたプログラムを読出して、メインメモリ104に展開して実行することで、制御対象に対する制御演算を実現する。
The
メインメモリ104は、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)などの揮発性記憶装置などで構成される。ストレージ110は、例えば、SSD(Solid State Drive)やHDD(Hard Disk Drive)などの不揮発性記憶装置などで構成される。
The
ストレージ110には、基本的な機能を実現するためのシステムプログラム1102、および、制御対象に応じて作成されたIECプログラム1104などが格納される。IECプログラム1104は、シーケンス命令1105およびモーション命令1106を含み得る。これらの命令は、典型的には、国際電気標準会議(IEC:International Electrotechnical Commission)が定めるIEC61131-3に沿った形式で作成されてもよい。
The
メモリカードインターフェイス112は、着脱可能な記憶媒体の一例であるメモリカード114を受け付ける。メモリカードインターフェイス112は、メモリカード114に対して任意のデータの読み書きが可能になっている。
The
上位ネットワークコントローラ106は、上位ネットワークを介して、任意の情報処理装置との間でデータをやり取りする。
The
フィールドネットワークコントローラ108は、フィールドネットワーク20を介して任意のフィールドデバイスとの間でデータをやり取りする。図2に示す構成例において、フィールドネットワークコントローラ108は、フィールドネットワーク20の通信マスタとして機能してもよい。
ローカルバスコントローラ116は、ローカルバス122を介して、制御装置100を構成する任意の機能ユニット130との間でデータをやり取りする。機能ユニット130は、例えば、アナログ信号の入力および/または出力を担当するアナログIOユニット、デジタル信号の入力および/または出力を担当するデジタルIOユニット、エンコーダなどからのパルスを受け付けるカウンタユニットなどからなる。
The
USBコントローラ120は、USB接続を介して、サポート装置200などとの間でデータをやり取りする。
The
(c2:サポート装置200)
図4は、本実施の形態に係るロボット制御システム1を構成するサポート装置200のハードウェア構成例を示す模式図である。サポート装置200は、一例として、汎用パソコンを用いて実現されてもよい。
(c2: Support device 200)
FIG. 4 is a schematic diagram showing an example of the hardware configuration of the
図4を参照して、サポート装置200は、プロセッサ202と、メインメモリ204と、入力部206と、表示部208と、ストレージ210と、光学ドライブ212と、USBコントローラ220と、通信コントローラ222とを含む。これらのコンポーネントは、プロセッサバス218を介して接続されている。
Referring to FIG. 4,
プロセッサ202は、CPUやGPUなどで構成され、ストレージ210に格納されたプログラム(一例として、OS2102および開発プログラム2104)を読出して、メインメモリ204に展開して実行することで、後述するような各種処理を実現する。
The
メインメモリ204は、DRAMやSRAMなどの揮発性記憶装置などで構成される。ストレージ210は、例えば、HDDやSSDなどの不揮発性記憶装置などで構成される。
The
ストレージ210には、基本的な機能を実現するためのOS2102、および、開発環境を実現するための開発プログラム2104などが格納される。開発環境においては、制御装置100で実行されるソースプログラムの作成、ソースプログラムのデバッグ、制御装置100の動作に係る設定、制御装置100に接続されるフィールドデバイスの動作に対する設定、フィールドネットワーク20に関する設定などが可能になっている。
The
入力部206は、キーボードやマウスなどで構成され、ユーザ操作を受け付ける。表示部208は、ディスプレイや各種インジケータなどで構成され、プロセッサ202による処理結果などを表示する。
The
USBコントローラ220は、USB接続を介して、制御装置100などとの間のデータをやり取りする。通信コントローラ222は、上位ネットワーク12を介して、任意の情報処理装置との間でデータをやり取りする。
The
サポート装置200は、光学ドライブ212を有しており、コンピュータ読取可能なプログラムを非一過的に格納する記憶媒体214(例えば、DVD(Digital Versatile Disc)などの光学記憶媒体)から、その中に格納されたプログラムが読取られてストレージ210などにインストールされる。
The
サポート装置200で実行される開発プログラム2104などは、コンピュータ読取可能な記憶媒体214を介してインストールされてもよいが、ネットワーク上のサーバ装置などからダウンロードする形でインストールするようにしてもよい。また、本実施の形態に係るサポート装置200が提供する機能は、OSが提供するモジュールの一部を利用する形で実現される場合もある。
The
なお、ロボット制御システム1の稼動中において、サポート装置200は、制御装置100から取り外されていてもよい。
Note that the
(c3:表示装置300)
本実施の形態に係るロボット制御システム1を構成する表示装置300は、一例として、汎用パソコンを用いて実現されてもよい。表示装置300の基本的なハードウェア構成例は、図4に示すサポート装置200のハードウェア構成例と同様であるので、ここでは詳細な説明は行わない。
(c3: display device 300)
The
(c4:サーバ装置400)
本実施の形態に係るロボット制御システム1を構成するサーバ装置400は、一例として汎用パソコンを用いて実現されてもよい。サーバ装置400の基本的なハードウェア構成例は、図4に示すサポート装置200のハードウェア構成例と同様であるので、ここでは詳細な説明は行わない。
(c4: server device 400)
The
(c5:サーボドライバ500)
本実施の形態に係るロボット制御システム1を構成するサーボドライバ500は、電気的に接続されたサーボモータ550を駆動する。サーボドライバ500は、モータドライバの一例であり、サーボドライバ500とは異なるモータドライバを採用してもよい。同様に、サーボモータ550は、モータの一例であり、サーボモータ550とは異なるモータ(例えば、誘導型モータやリニアモータなど)を採用してもよい。モータドライバとしては、駆動対象のモータに応じた構成を採用できる。
(c5: Servo driver 500)
サーボドライバ500は、フィールドネットワーク20を介して、制御装置100から指令を受信するとともに、制御装置100へ状態値などを送信するためのフィールドネットワークコントローラを有している。サーボドライバ500は、コンバータ回路およびインバータ回路などを含み、制御装置100からの指令に従って、指定された電圧・電流・位相の電力を生成して、サーボモータ550へ供給する。
The
<D.制御装置100の機能構成例>
次に、制御装置100の機能構成例について説明する。
<D. Functional configuration example of
Next, an example of the functional configuration of the
図5は、本実施の形態に係るロボット制御システム1を構成する制御装置100の機能構成例を示す模式図である。図5に示す各機能は、制御装置100のプロセッサ102がシステムプログラム1102を実行することで実現されてもよい。あるいは、図5に示される機能の全部または一部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤード回路を用いて実現してもよい。
FIG. 5 is a schematic diagram showing an example of the functional configuration of the
図5を参照して、制御装置100は、その機能として、スケジューラ150と、変数マネジャ152と、IECプログラム実行エンジン160とを含む。
Referring to FIG. 5,
スケジューラ150は、IECプログラム実行エンジン160の処理タイミングなどを制御する。
The
変数マネジャ152は、フィールドネットワークコントローラ108がフィールドデバイスとの間でやり取りする状態値(フィールドデバイスが収集する入力値、および/または、フィールドデバイスに与えられる指令値)、および/または、ローカルバスコントローラ116が機能ユニット130との間でやり取りする状態値(機能ユニット130が収集する入力値、および/または、機能ユニット130に与えられる指令値)を保持するとともに、周期的に更新する。変数マネジャ152は、それぞれの状態値を変数値として参照可能に保持してもよい。変数マネジャ152は、制御装置100で実行されるプログラムが使用する内部変数、および/または、制御装置100の動作に係るシステム変数を保持および更新してもよい。
The
変数マネジャ152は、ロボット制御に係る目標軌跡データ154を有している。目標軌跡データ154は、IECプログラム実行エンジン160により順次更新される。すなわち、制御装置100は、IECプログラム1104により逐次更新される目標軌跡データ154を格納するためのバッファを有している。なお、目標軌跡データ154を格納するためのバッファは、リングバッファを採用してもよい。リングバッファを採用することで、順次更新される目標軌跡データ154を効率的に格納することができる。
The
IECプログラム実行エンジン160は、変数マネジャ152が保持する変数(状態値)を参照して、IECプログラム1104を所定の制御周期でサイクリック実行する。IECプログラム実行エンジン160による実行結果は、変数マネジャ152が保持する変数(状態値)に反映される。
The IEC
IECプログラム実行エンジン160による実行結果は、目標軌跡データ154に反映される。
The execution result by the IEC
図6は、本実施の形態に係るロボット制御システム1を構成する制御装置100におけるプログラム実行を示すタイムチャートである。
FIG. 6 is a time chart showing program execution in the
図6を参照して、制御装置100においては、IECプログラム実行エンジン160による定周期タスク180が実行される。
Referring to FIG. 6, in
定周期タスク180は、出力更新処理182と、入力更新処理184と、IECプログラム実行処理186と、モーション命令実行処理188との一群の処理を含み、この一群の処理が予め定められた制御周期T1毎にサイクリック実行(繰り返し実行)される。
The fixed
出力更新処理182は、IECプログラム実行処理186およびモーション命令実行処理188により算出された出力(指令値)を対象のフィールドデバイスおよび/または機能ユニットへ送信する処理を含む。特に、モーション命令実行処理188は、制御対象のロボット600の各軸に対する指令値を算出する処理と、目標軌跡データ154を更新する処理とを含む。入力更新処理184は、接続されているフィールドデバイスおよび/または機能ユニットから入力を取得する処理を含む。
The
IECプログラム実行処理186は、IECプログラム1104に含まれるシーケンス命令1105(軌跡制御ファンクションブロック242を含み得る)を実行する処理を含む。IECプログラム実行処理186によって次の周期における目標軌跡データ154が算出される。モーション命令実行処理188は、IECプログラム1104に含まれるモーション命令1106を実行する処理を含む。モーション命令1106の実行は、目標軌跡データ154を参照して、制御周期T1毎にサーボドライバ500に対する指令値を算出する処理を含む。
IEC
このように、制御装置100においては、定周期で繰り返し実行される定周期タスク180を含む。
As described above, the
<E.サポート装置200が提供する開発環境>
次に、サポート装置200が提供する開発環境の一例について説明する。
<E. Development environment provided by
Next, an example of the development environment provided by the
図7は、本実施の形態に係るロボット制御システム1を構成するサポート装置200が提供する開発環境230の一例を示す模式図である。
FIG. 7 is a schematic diagram showing an example of a
サポート装置200は、ユーザ操作に従って作成されるソースプログラム240からIECプログラム1104を生成し、制御装置100へ転送する。このように、サポート装置200は、制御装置100で実行される制御プログラム(IECプログラム1104)を作成するための開発環境230を提供する。
The
より具体的には、図7を参照して、サポート装置200は、開発環境230に係る機能として、エディタ232と、ビルダ234と、デバッガ236とを含む。これらの機能は、サポート装置200のプロセッサ202が開発プログラム2104を実行することで実現されてもよい。あるいは、図5に示される機能の全部または一部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのハードワイヤード回路を用いて実現してもよい。
More specifically, referring to FIG. 7,
エディタ232は、ユーザ操作に応じて、ソースプログラム240を作成するための環境を提供する。より具体的には、エディタ232は、1または複数のファンクションブロックを含む任意のソースプログラム240を作成可能なユーザインターフェイスを提供する。エディタ232は、GUI(Graphical User Interface)形式の編集画面を提供してもよいし、その他の任意のプログラム作成画面を提供してもよい。ユーザは、サポート装置200の入力部206(キーボードやマウスなど)を操作して、ソースプログラム240を作成する。
説明の便宜上、単一のソースプログラム240を例示するが、互いに独立した複数のソースプログラム240を作成することも可能である。さらに、エディタ232は、データ通信に関する設定や、フィールドデバイスや機能ユニット130の動作に関する設定などを行うためのユーザインターフェイスを提供するようにしてもよい。
For convenience of explanation, a
1または複数のソースプログラム240ならびに各種設定をまとめて、「プロジェクト」という単位で管理してもよい。
One or
ソースプログラム240は、典型的には、IEC61131-3に規定された、LD(ラダーダイアグラム)、IL(インストラクションリスト)、ST(ストラクチャードテキスト)、FBD(ファンクションブロックダイアグラム)、SFC(シーケンシャルファンクションチャート)などの任意の言語で記述されてもよい。
The
本実施の形態に係るサポート装置200においては、ロボット600を制御するため命令をソースプログラム240に定義することが可能である。このような命令として、例えば、軌跡制御ファンクションブロック242を採用してもよい。このように、開発環境230で利用可能な1または複数のファンクションブロックのうち少なくとも1つのファンクションブロック(軌跡制御ファンクションブロック242)には、制御対象であるロボット600の動作を規定する動作定義が指定可能になっている。
In the
ロボット600の動作を規定する動作定義は、ロボット600の挙動を上位レベルで規定するものであり、例えば、Gコードプログラム244あるいはデータブロック246を利用できる。
The motion definition that defines the motion of the
ビルダ234は、作成されたソースプログラム240をコンパイルして、制御装置100で実行可能なプログラムを生成する。より具体的には、ビルダ234は、ソースプログラム240(および、参照される動作定義(例えば、Gコードプログラム244あるいはデータブロック246))に基づいて、IECプログラム1104を生成する。これらの生成されたプログラムは、制御装置100へ転送される。
The
このように、ビルダ234は、軌跡制御ファンクションブロック242に指定された動作定義に基づいて、制御対象であるロボット600の目標軌跡(目標軌跡データ154に格納されるデータ)を逐次更新するための命令と、当該逐次更新される目標軌跡に基づいてロボット600の各軸に対する指令値を決定する命令とを含む、IECプログラム1104を生成する。
In this way, the
デバッガ236は、生成されたIECプログラム1104に含まれる不具合を検出および修正するための機能を提供する。
<F.軌跡制御ファンクションブロック>
次に、ソースプログラム240に定義可能な軌跡制御ファンクションブロック242について説明する。なお、ロボット600を制御するため命令としては、軌跡制御ファンクションブロック242に限らず、任意の形式の命令を採用できる。
<F. Trajectory control function block>
Next, the trajectory
図8は、本実施の形態に係るロボット制御システム1を構成するサポート装置200が提供する開発環境230で利用可能な軌跡制御ファンクションブロック242の一例を示す図である。
FIG. 8 is a diagram showing an example of the trajectory
図8を参照して、軌跡制御ファンクションブロック242は、ツール定義入力2420と、座標定義入力2421と、M関数入力2422と、Gコード内変数定義入力2423と、チャネル指定入力2424と、軸指定入力2425と、ペンダント定義入力2426と、データブロック開始入力2427と、ブロックバッファ定義入力2428と、先読みブロック数入力2429といった複数の入力を有している。
Referring to FIG. 8, the trajectory
ツール定義入力2420には、制御対象のロボット600の先端に配置されたツール(ワークを加工する治具)に関する設定値群が指定される。図8に示す例では、変数Toolsが構造体となっており、1または複数の設定値が変数Toolsのメンバとして設定された上で、変数Toolsが入力値として指定される。
In the
座標定義入力2421には、制御対象のロボット600が採用する座標系が指定される。
In the coordinate
M関数入力2422には、Gコードプログラム244に基づく軌跡制御が実行される際に、Gコードプログラム244の開始や終了などを制御するための命令であるM関数が指定される。図8に示す例では、変数MFunctionDefが構造体となっており、1または複数のM関数が変数MFunctionDefのメンバとして設定された上で、変数MFunctionDefが入力値として指定される。
The
Gコード内変数定義入力2423には、Gコードプログラム244で参照される変数の定義が指定される。図8に示す例では、変数Variablesは、変数名と対応する数値との組が複数配置された構造体となっており、変数Variablesにおいて定義された変数名は、Gコードプログラム244で参照可能になる。
In the G-code
チャネル指定入力2424には、制御対象のロボット600を指定するためのチャネルが指定される。
In the
軸指定入力2425には、制御対象のロボット600に含まれる軸定義が指定される。図8に示す例では、X,Y,Z,A,B,C,U,V,Wの合計9個の軸が有効化されている。但し、例えば、制御対象のロボット600が4個の軸のみをもつ場合には、対応する4個の軸にのみ定義を指定すればよい。
In the
ペンダント定義入力2426には、制御対象のロボット600に付属するペンダントからの入力を示す変数が指定される。
In the
データブロック開始入力2427には、Gコードプログラム244ではなく、データブロック246が利用される場合に、データブロック246の読み込みを開始するためのトリガが入力される。
A trigger for starting reading of the data block 246 is input to the data block
ブロックバッファ定義入力2428には、Gコードプログラム244ではなく、データブロック246が利用される場合に、データブロック246が格納されるバッファが入力される。
The block
先読みブロック数入力2429には、データブロック246を解釈して、目標軌跡データ154を順次更新する際に利用されるバッファの数が入力される。
The number of buffers to be used when interpreting the data block 246 and sequentially updating the
図9は、本実施の形態に係るロボット制御システム1を構成するサポート装置200で利用可能なGコードプログラム244の一例を示す図である。
FIG. 9 is a diagram showing an example of the
図9を参照して、Gコードプログラム244は、G01やG02といったGで始まる命令(Gコード)、および/または、M30といったMで始まる命令(M関数)と、各命令に対応する変数との組み合わせで、行毎に定義される。
Referring to FIG. 9, the
図10は、本実施の形態に係るロボット制御システム1を構成するサポート装置200で利用可能なデータブロック246の一例を示す図である。
FIG. 10 is a diagram showing an example of the data block 246 that can be used in the
図10を参照して、データブロック246は、ブロック(区間)毎に定義されたデータ群を含む。各ブロックは、インデックス2451(変数i)を用いて定義されている。各ブロックは、補間方式などを示すブロックタイプ2462の定義と、終了位置2463の定義と、移動速度2464の定義とを含む。データブロック246に含まれる各ブロックの定義に従って、軌跡が逐次計算される。
Referring to FIG. 10, data block 246 includes a data group defined for each block (section). Each block is defined using an index 2451 (variable i). Each block includes a definition of a
上述したように、本実施の形態に係るサポート装置200が提供する開発環境230において、同一の軌跡制御ファンクションブロック242には、異なる方式の動作定義がそれぞれ指定可能になっている。すなわち、同一の軌跡制御ファンクションブロック242に対して、Gコードなどのプログラミング言語で記述されたプログラムを入力することもできるし、データブロック246を入力することもできる。
As described above, in the
<G.IECプログラム1104に含まれる目標軌跡生成のアルゴリズム例>
次に、IECプログラム1104に含まれる目標軌跡生成のアルゴリズムの一例について説明する。
<G. Example of algorithm for generating target trajectory included in
Next, an example of an algorithm for generating a target trajectory included in the
図11は、本実施の形態に係るロボット制御システム1を構成する制御装置100で実行されるIECプログラム1104の目標軌跡生成に係る処理例を示すフローチャートである。
FIG. 11 is a flowchart showing an example of processing related to target trajectory generation of the
図11を参照して、制御装置100のIECプログラム実行エンジン160は、指定された先読みブロック数の情報を読み込む(ステップS100)。続いて、IECプログラム実行エンジン160は、読み込んだ先読みブロック数の情報に基づいて、ラフ演算により移動速度の制限値である移動速度制限を演算する(ステップS102)。
Referring to FIG. 11, IEC
そして、IECプログラム実行エンジン160は、読み込んだブロックのうち最終のブロックから順次移動速度を演算する逆方向演算により、各ブロック内およびブロック間の移動速度を演算する(ステップS104)。このとき、移動速度制限とコンフリクトする移動速度が演算されたブロックについては、当該ブロックと直前のブロックとの境界の移動速度から再演算が行われる。
Then, the IEC
読み込んだブロックのすべてに対して逆方向演算が終了すると、IECプログラム実行エンジン160は、読み込んだブロックのうち最初のブロックから順次移動速度を演算する順方向演算により、各ブロック内およびブロック間の移動速度を演算する(ステップS106)。このとき、移動速度制限とコンフリクトする移動速度が演算されたブロックについては、当該ブロックと直前のブロックとの境界の移動速度から再演算が行われる。
When the backward calculation is completed for all the read blocks, the IEC
このように、IECプログラム1104は、現在位置から予め定められた終点までの間を仮想的に往復走査する(逆方向演算および順方向演算)ことで、目標軌跡を更新する命令を含む。
In this way, the
IECプログラム実行エンジン160は、ステップS104およびステップS106の演算結果を合成して、移動速度を決定する(ステップS108)。そして、IECプログラム実行エンジン160は、決定した移動速度を変数マネジャ152の目標軌跡データ154に反映する(ステップS110)。目標軌跡データ154には、各ブロック内の制御周期毎の速度が規定されてもよいし、各ブロック内の時刻と速度との関係を規定する定義式(例えば、at3+bt2+ct+d(tは時刻))が規定されてもよい。
The IEC
IECプログラム実行エンジン160は、未だ読み込まれていない次のブロックが存在するか否かを判断する(ステップS112)。未だ読み込まれていない次のブロックが存在する場合(ステップS112においてYES)には、IECプログラム実行エンジン160は、直前の演算に用いたブロックの情報に次のブロックの情報を追加して(ステップS114)(なお、直前の演算に用いたブロックの情報のうち先頭のブロックの情報は破棄される)、ステップS102以下の処理を再度実行する。
The IEC
未だ読み込まれていない次のブロックが存在しない場合(ステップS112においてNO)には、IECプログラム実行エンジン160は、移動速度の演算処理を終了する。
If there is no next block that has not been read yet (NO in step S112), the IEC
なお、未だ読み込まれていない次のブロックが存在しない場合であっても、ロボット600の現在いるブロックから最終ブロックまでの区間の情報に基づいて、ステップS102以下の処理を繰り返し実行するようにしてもよい。
Note that even if there is no next block that has not yet been read, the processes from step S102 onward may be repeatedly executed based on information about the section from the block where the
図12は、図11に示されるIECプログラム1104の処理内容を説明するための図である。
FIG. 12 is a diagram for explaining the processing contents of the
図12を参照して、先に、ラフ演算により移動速度制限が決定される。続いて、逆方向演算により、最終のブロックから順次移動速度が演算される。図12に示す例においては、ブロック251において、最初に演算された移動速度(破線)が移動速度制限を超えるので、再度演算が実行されている。
Referring to FIG. 12, first, a travel speed limit is determined by rough calculation. Subsequently, the moving speed is calculated sequentially from the last block by backward calculation. In the example shown in FIG. 12, in
逆方向演算が完了すると、順方向演算により、最初のブロックから順次移動速度が演算される。図12に示す例においては、ブロック252および253において、最初に演算された移動速度(破線)が移動速度制限を超えるので、再度演算が実行されている。
When the backward calculation is completed, the forward calculation calculates the moving speed sequentially from the first block. In the example shown in FIG. 12, in
最終的に、逆方向演算により決定された移動速度と、順方向演算により決定された移動速度とを合成して、ブロック間で速度ギャップが生じないように、対象のブロックにおける移動速度が決定される。 Finally, the movement speed determined by the backward calculation and the movement speed determined by the forward calculation are combined to determine the movement speed of the target block so that no speed gap occurs between blocks. Ru.
特に、IECプログラム1104は、参照される動作定義(例えば、Gコードプログラム244あるいはデータブロック246)に基づいて決定された複数のブロックを順次移動する際の速度の変動が小さくなるように、目標軌跡を更新する命令を含んでいてもよい。すなわち、演算対象のブロックを移動するに際して、速度の変動が小さくことを目的として、逆方向演算および順方向演算を行うようにしてもよい。
In particular, the
なお、軌跡および移動速度を決定する処理としては、どのようなアルゴリズムを採用してもよい。 Note that any algorithm may be employed for the process of determining the trajectory and moving speed.
<H.変形例>
上述の実施の形態においては、単一のサポート装置200がIECプログラム1104を生成する構成を例示したが、これに限らず、複数のコンピュータが連携して本実施の形態に係る機能を実現してもよい。この場合、一部または全部の機能をいわゆるクラウドコンピューティングの環境で実現してもよい。
<H. Modified example>
In the above-described embodiment, a configuration in which a
<I.付記>
上述したような本実施の形態は、以下のような技術思想を含む。
[構成1]
複数の軸を含む制御対象(600)を制御する制御システム(1)であって、
制御プログラム(1104)を所定の制御周期(T1)でサイクリック実行する制御装置(100)と、
前記制御装置で実行される制御プログラムを作成するための開発環境(230)を提供するサポート装置(200)とを備え、
前記サポート装置は、
1または複数のファンクションブロックを含む任意のソースプログラム(1104)を作成可能なユーザインターフェイスを提供する手段(232)を含み、前記1または複数のファンクションブロックのうち少なくとも1つのファンクションブロック(242)には、前記制御対象の動作を規定する動作定義(248)が指定可能になっており、
前記ファンクションブロックに指定された前記動作定義に基づいて、前記制御対象の目標軌跡(154)を逐次更新するための命令と、当該逐次更新される目標軌跡に基づいて前記制御対象の各軸に対する指令値を決定する命令とを含む、前記制御プログラムを生成する手段(234)とを備える、制御システム。
[構成2]
前記少なくとも1つのファンクションブロックは、異なる方式の動作定義をそれぞれ指定可能に構成される、構成1に記載の制御システム。
[構成3]
前記動作定義は、Gコードプログラム(244)またはデータブロック(246)を含む、構成2に記載の制御システム。
[構成4]
前記制御装置は、前記制御プログラムにより逐次更新される目標軌跡を格納するためのバッファを備える、構成1~3のいずれか1項に記載の制御システム。
[構成5]
前記制御プログラムは、前記動作定義に基づいて決定された複数のブロックを順次移動する際の速度の変動が小さくなるように、前記目標軌跡を更新する命令を含む、構成1~4のいずれか1項に記載の制御システム。
[構成6]
前記制御プログラムは、現在位置から予め定められた終点までの間を仮想的に往復走査することで、前記目標軌跡を更新する命令を含む、構成5に記載の制御システム。
[構成7]
複数の軸を含む制御対象(600)を制御する制御装置(100)で実行される制御プログラム(1104)を作成するための開発環境(230)を提供するサポート装置(200)であって、前記制御装置は、制御プログラム(1104)を所定の制御周期でサイクリック実行するように構成されており、
1または複数のファンクションブロックを含む任意のソースプログラム(1104)を作成可能なユーザインターフェイスを提供する手段(232)を含み、前記1または複数のファンクションブロックのうち少なくとも1つのファンクションブロック(242)には、前記制御対象の動作を規定する動作定義(248)が指定可能になっており、
前記ファンクションブロックに指定された前記動作定義に基づいて、前記制御対象の目標軌跡(154)を逐次更新するための命令と、当該逐次更新される目標軌跡に基づいて前記制御対象の各軸に対する指令値を決定する命令とを含む、前記制御プログラムを生成する手段(234)とを備える、サポート装置。
<I. Additional notes>
This embodiment as described above includes the following technical idea.
[Configuration 1]
A control system (1) that controls a controlled object (600) including a plurality of axes,
a control device (100) that cyclically executes a control program (1104) at a predetermined control cycle (T1);
a support device (200) that provides a development environment (230) for creating a control program to be executed by the control device;
The support device includes:
means (232) for providing a user interface with which an arbitrary source program (1104) including one or more function blocks can be created; at least one function block (242) among the one or more function blocks; , an operation definition (248) that defines the operation of the controlled object can be specified,
A command for sequentially updating a target trajectory (154) of the controlled object based on the operation definition specified in the function block, and a command for each axis of the controlled object based on the sequentially updated target trajectory. and means (234) for generating the control program, including instructions for determining values.
[Configuration 2]
The control system according to
[Configuration 3]
The control system according to
[Configuration 4]
4. The control system according to any one of
[Configuration 5]
Any one of
[Configuration 6]
6. The control system according to configuration 5, wherein the control program includes an instruction to update the target trajectory by virtually reciprocating from a current position to a predetermined end point.
[Configuration 7]
A support device (200) that provides a development environment (230) for creating a control program (1104) to be executed by a control device (100) that controls a controlled object (600) including a plurality of axes, the support device (200) comprising: The control device is configured to cyclically execute the control program (1104) at a predetermined control cycle,
means (232) for providing a user interface with which an arbitrary source program (1104) including one or more function blocks can be created; at least one of the one or more function blocks (242) includes: , an operation definition (248) that defines the operation of the controlled object can be specified,
A command for sequentially updating a target trajectory (154) of the controlled object based on the operation definition specified in the function block, and a command for each axis of the controlled object based on the sequentially updated target trajectory. and means (234) for generating the control program, including instructions for determining values.
<J.利点>
本実施の形態に従うロボット制御システムによれば、一般的な制御演算に加えて、複数の軸を含む制御対象を制御することが可能になる。
<J. Advantages>
According to the robot control system according to the present embodiment, in addition to general control calculations, it is possible to control a controlled object including a plurality of axes.
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。 The embodiments disclosed this time should be considered to be illustrative in all respects and not restrictive. The scope of the present invention is indicated by the claims rather than the above description, and it is intended that all changes within the meaning and range equivalent to the claims are included.
1 ロボット制御システム、12 上位ネットワーク、20 フィールドネットワーク、100 制御装置、102,202 プロセッサ、104,204 メインメモリ、106 上位ネットワークコントローラ、108 フィールドネットワークコントローラ、110,210 ストレージ、112 メモリカードインターフェイス、114 メモリカード、116 ローカルバスコントローラ、118,218 プロセッサバス、120,220 USBコントローラ、122 ローカルバス、130 機能ユニット、150 スケジューラ、152 変数マネジャ、154 目標軌跡データ、160 プログラム実行エンジン、180 定周期タスク、182 出力更新処理、184 入力更新処理、186 IECプログラム実行処理、188 モーション命令実行処理、200 サポート装置、206 入力部、208 表示部、212 光学ドライブ、214 記憶媒体、222 通信コントローラ、230 開発環境、232 エディタ、234 ビルダ、236 デバッガ、240 ソースプログラム、242 軌跡制御ファンクションブロック、244 Gコードプログラム、246 データブロック、248 動作定義、251,252 ブロック、300 表示装置、400 サーバ装置、500 サーボドライバ、550 サーボモータ、600 ロボット、1102 システムプログラム、1104 IECプログラム、1105 シーケンス命令、1106 モーション命令、2104 開発プログラム、2420 ツール定義入力、2421 座標定義入力、2422 関数入力、2423 コード内変数定義入力、2424 チャネル指定入力、2425 軸指定入力、2426 ペンダント定義入力、2427 データブロック開始入力、2428 ブロックバッファ定義入力、2429 先読みブロック数入力、2451 インデックス、2462 ブロックタイプ、2463 終了位置、2464 移動速度、T1 制御周期。 1 robot control system, 12 upper network, 20 field network, 100 control device, 102, 202 processor, 104, 204 main memory, 106 upper network controller, 108 field network controller, 110, 210 storage, 112 memory card interface, 114 memory Card, 116 Local bus controller, 118, 218 Processor bus, 120, 220 USB controller, 122 Local bus, 130 Functional unit, 150 Scheduler, 152 Variable manager, 154 Target trajectory data, 160 Program execution engine, 180 Periodic task, 182 Output update processing, 184 Input update processing, 186 IEC program execution processing, 188 Motion command execution processing, 200 Support device, 206 Input section, 208 Display section, 212 Optical drive, 214 Storage medium, 222 Communication controller, 230 Development environment, 232 Editor, 234 Builder, 236 Debugger, 240 Source program, 242 Trajectory control function block, 244 G code program, 246 Data block, 248 Operation definition, 251, 252 Block, 300 Display device, 400 Server device, 500 Servo driver, 550 Servo Motor, 600 Robot, 1102 System program, 1104 IEC program, 1105 Sequence command, 1106 Motion command, 2104 Development program, 2420 Tool definition input, 2421 Coordinate definition input, 2422 Function input, 2423 Variable definition input in code, 2424 Channel specification input , 2425 Axis specification input, 2426 Pendant definition input, 2427 Data block start input, 2428 Block buffer definition input, 2429 Prefetch block number input, 2451 Index, 2462 Block type, 2463 End position, 2464 Movement speed, T1 control cycle.
Claims (7)
制御プログラムを所定の制御周期でサイクリック実行する制御装置と、
前記制御装置で実行される制御プログラムを作成するための開発環境を提供するサポート装置とを備え、
前記サポート装置は、
1または複数のファンクションブロックを含む任意のソースプログラムを作成可能なユーザインターフェイスを提供する手段を含み、前記1または複数のファンクションブロックのうち少なくとも1つのファンクションブロックには、前記制御対象の動作を規定する動作定義が指定可能になっており、
前記ファンクションブロックに指定された前記動作定義に基づいて、前記制御対象の目標軌跡を逐次更新するための命令と、当該逐次更新される目標軌跡に基づいて前記制御対象の各軸に対する指令値を決定する命令とを含む、前記制御プログラムを生成する手段とを備える、制御システム。 A control system that controls a controlled object including multiple axes,
a control device that cyclically executes a control program at a predetermined control cycle;
and a support device that provides a development environment for creating a control program to be executed by the control device,
The support device includes:
The method includes means for providing a user interface that allows creation of an arbitrary source program including one or more function blocks, and at least one of the one or more function blocks defines an operation of the object to be controlled. Behavior definitions can be specified,
Based on the operation definition specified in the function block, a command for sequentially updating a target trajectory of the controlled object, and a command value for each axis of the controlled object based on the sequentially updated target trajectory. and means for generating the control program, the control system comprising: an instruction for generating the control program.
1または複数のファンクションブロックを含む任意のソースプログラムを作成可能なユーザインターフェイスを提供する手段を含み、前記1または複数のファンクションブロックのうち少なくとも1つのファンクションブロックには、前記制御対象の動作を規定する動作定義が指定可能になっており、
前記ファンクションブロックに指定された前記動作定義に基づいて、前記制御対象の目標軌跡を逐次更新するための命令と、当該逐次更新される目標軌跡に基づいて前記制御対象の各軸に対する指令値を決定する命令とを含む、前記制御プログラムを生成する手段とを備える、サポート装置。 A support device that provides a development environment for creating a control program executed by a control device that controls a controlled object including a plurality of axes, the control device executing a first control program at a predetermined control cycle. is configured to run cyclically with
The method includes means for providing a user interface that allows creation of an arbitrary source program including one or more function blocks, and at least one of the one or more function blocks defines an operation of the object to be controlled. Behavior definitions can be specified,
Based on the operation definition specified in the function block, a command for sequentially updating a target trajectory of the controlled object, and a command value for each axis of the controlled object based on the sequentially updated target trajectory. and means for generating the control program, including instructions for:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020044555A JP7375632B2 (en) | 2020-03-13 | 2020-03-13 | Control system and support equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020044555A JP7375632B2 (en) | 2020-03-13 | 2020-03-13 | Control system and support equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021144627A JP2021144627A (en) | 2021-09-24 |
JP7375632B2 true JP7375632B2 (en) | 2023-11-08 |
Family
ID=77766820
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020044555A Active JP7375632B2 (en) | 2020-03-13 | 2020-03-13 | Control system and support equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7375632B2 (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132307A (en) | 2000-10-18 | 2002-05-10 | Yaskawa Electric Corp | Motion controller and program editor |
WO2015063925A1 (en) | 2013-10-31 | 2015-05-07 | 三菱電機株式会社 | Program creating device, program creating method, and program |
WO2018180148A1 (en) | 2017-03-31 | 2018-10-04 | ソニー株式会社 | Information processing device and information processing method, computer program, and program manufacturing method |
JP2019061467A (en) | 2017-09-26 | 2019-04-18 | オムロン株式会社 | Support system and support program |
JP2019139365A (en) | 2018-02-07 | 2019-08-22 | オムロン株式会社 | Method for creation of application program and device and program |
JP2020013211A (en) | 2018-07-13 | 2020-01-23 | オムロン株式会社 | Program development device and controller |
-
2020
- 2020-03-13 JP JP2020044555A patent/JP7375632B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002132307A (en) | 2000-10-18 | 2002-05-10 | Yaskawa Electric Corp | Motion controller and program editor |
WO2015063925A1 (en) | 2013-10-31 | 2015-05-07 | 三菱電機株式会社 | Program creating device, program creating method, and program |
WO2018180148A1 (en) | 2017-03-31 | 2018-10-04 | ソニー株式会社 | Information processing device and information processing method, computer program, and program manufacturing method |
JP2019061467A (en) | 2017-09-26 | 2019-04-18 | オムロン株式会社 | Support system and support program |
JP2019139365A (en) | 2018-02-07 | 2019-08-22 | オムロン株式会社 | Method for creation of application program and device and program |
JP2020013211A (en) | 2018-07-13 | 2020-01-23 | オムロン株式会社 | Program development device and controller |
Also Published As
Publication number | Publication date |
---|---|
JP2021144627A (en) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6903275B2 (en) | Control device and control method | |
US10606246B2 (en) | Control device and control method with various command values in a shared memory providing access to various program execution and command value operation parts in each control cycle | |
US20190095246A1 (en) | Support device and non-transitory storage medium | |
JP4748286B1 (en) | Controller support apparatus, controller support program to be executed in the apparatus, recording medium storing the program, and method for estimating execution time of control program | |
US20190094831A1 (en) | Control apparatus, control method, and support apparatus | |
WO2021181801A1 (en) | Robot control system and control method | |
US11855907B2 (en) | Robot control system and control method | |
JP7375632B2 (en) | Control system and support equipment | |
JP7077848B2 (en) | Control device | |
JP7247808B2 (en) | Control system, analysis method and program | |
WO2012124145A1 (en) | Computation unit, assistance unit, assistance program, recording medium storing assistance program, and operation method in assistance device | |
JP2019053397A (en) | Control apparatus and control method | |
WO2022162959A1 (en) | Control system, robot controller, and control method | |
WO2022162958A1 (en) | Control device, program execution method, and program | |
WO2022249713A1 (en) | Control system, system program, and debugging method | |
WO2021181800A1 (en) | Robot control system and control method | |
CN114041092B (en) | Control system, analysis method, and recording medium | |
JP7396063B2 (en) | Data processing method | |
WO2022168336A1 (en) | Control device, control method, and control program | |
JP7167516B2 (en) | Control device, control method and control program | |
JP2023151731A (en) | Control system, control method, and control program | |
JP2023151876A (en) | Control apparatus, control method, development support apparatus, and program | |
JP2021144586A (en) | Robot control system and control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230111 |
|
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: 20230926 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231009 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7375632 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |