JP2002073120A - プログラマブルコントローラのプログラミング装置とその方法 - Google Patents

プログラマブルコントローラのプログラミング装置とその方法

Info

Publication number
JP2002073120A
JP2002073120A JP2000266724A JP2000266724A JP2002073120A JP 2002073120 A JP2002073120 A JP 2002073120A JP 2000266724 A JP2000266724 A JP 2000266724A JP 2000266724 A JP2000266724 A JP 2000266724A JP 2002073120 A JP2002073120 A JP 2002073120A
Authority
JP
Japan
Prior art keywords
program
data
function
motion
instruction
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.)
Pending
Application number
JP2000266724A
Other languages
English (en)
Inventor
Ryutaro Kuwamura
竜太郎 桑村
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 JP2000266724A priority Critical patent/JP2002073120A/ja
Publication of JP2002073120A publication Critical patent/JP2002073120A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Programmable Controllers (AREA)

Abstract

(57)【要約】 【課題】 従来、モーション言語でプログラムを組んで
いたユーザにとって、ラダーダイアグラムなどの定周期
処理で実行されるプログラムの作成は非常に困難であっ
た。 【解決手段】 定周期にラダーダイアグラムなどのプロ
グラムを実行するプログラマブルコントローラ2のプロ
グラミング装置1において、命令ステップでプログラム
が実行されるモーション言語を表示、編集するモーショ
ン言語表示編集操作手段22と、22から送られた入出力デ
ータを解釈し、モーション言語から2が有するラダーダ
イアグラムなどの定周期にプログラムが実行される言語
に変換し、2へプログラムを転送し、2とユーザメモリ
の読み出し、書き込みをする制御手段を持つモーション
言語からラダーダイアグラムへの変換機能手段24と、編
集したプログラムを記憶し変換されたプログラムを記憶
する記憶領域を有するプログラムデータ格納機能手段23
とを備えて成る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラマブルコ
ントローラのプログラミング装置とその方法に係り、特
にシーケンス制御とモーション制御の両者を通常の一つ
のハードウェアで実行する手段に関する。
【0002】
【従来の技術】従来、モーション制御が可能で、定周期
処理でプログラムを実行するプログラマブルコントロー
ラでは、ユーザは、ラダーダイアグラム(LD)、インスト
ラクションリスト(IL)、ストラクチャードランゲージ(S
T)などの言語でプログラムを記述していた。
【0003】
【発明が解決しようとする課題】ところが、従来技術で
は、命令ステップで実行されるプログラムであるモーシ
ョン言語でプログラムを組んでいたユーザにとって、ラ
ダーダイアグラム、インストラクションリスト、ストラ
クチャードランゲージなどの定周期処理で実行されるプ
ログラムを書くことは、非常に困難であった。また、シ
ーケンス制御とモーション制御の両方を行うために、シ
ーケンス制御を行う手段として、ラダーダイアグラム、
インストラクションリスト、ストラクチャードランゲー
ジなどでプログラムを記述し定周期処理でプログラムを
実行するプログラマブルコントローラと、モーション制
御を行う手段として、命令ステップで実行されるプログ
ラムであるモーション言語でプログラムを記述し命令ス
テップでプログラムを実行するプログラマブルコントロ
ーラを別々に購入し、別々にプログラムを開発せねばな
らない等の問題があった。ここにおいて本発明は、1つ
のプログラマブルコントローラのプログラミング装置に
おいて、ユーザの要求に応じてシーケンス制御とモーシ
ョン制御の両方を行える手段としての、プログラマブル
コントローラのプログラミング装置とその方法を提供す
ることを目的とする。
【0004】
【課題を解決するための手段】上記問題を解決するた
め、本発明の請求項1の発明は、定周期にラダーダイア
グラムなどのプログラムを実行し、モータ制御機能手段
とユーザメモリを有するプログラマブルコントローラの
プログラミング装置において、命令ステップでプログラ
ムが実行されるモーション言語を表示、編集するモーシ
ョン言語表示編集操作手段と、前記モーション言語表示
編集操作手段から送られた入出力データを解釈し、前記
モーション言語から前記プログラマブルコントローラが
有するラダーダイアグラムなどの定周期にプログラムが
実行される言語に変換し、前記プログラマブルコントロ
ーラへ前記プログラムを転送し、前記プログラマブルコ
ントローラと前記ユーザメモリの読み出し、書き込みを
する制御手段を備えモーション言語からラダーダイアグ
ラムへの変換機能手段と、編集した前記プログラムを記
憶する記憶領域、変換されたプログラムを記憶する記憶
領域を有するプログラムデータ格納機能手段とを備えた
ことを特徴とするプログラマブルコントローラのプログ
ラミング装置である。かくして本発明によれば、定周期
にラダーダイアグラムなどのプログラムを実行し、モー
タ制御機能、ユーザメモリを有するプログラマブルコン
トローラのプログラミング装置において、命令ステップ
でプログラムが実行されるモーション言語を表示、編集
する編集操作手段と、前記操作手段から送られた入出力
データを解釈し、モーション言語からプログラマブルコ
ントローラが有するラダーダイアグラムなどの定周期に
プログラムが実行される言語に変換し、プログラマブル
コントローラへ前記プログラムを転送し、プログラマブ
ルコントローラとユーザメモリの読み出し、書き込みを
する制御手段と編集したプログラムを記憶する記憶領
域、変換されたプログラムを聞くする記憶領域を有する
記憶手段とを備えたので、、シーケンス制御とモーショ
ン制御の両方を一台のプログラマブルコントローラで、
ユーザにとって最適なプログラム手段を選択でき、また
このプログラム装置は、既存のプログラマブルコントロ
ーラにプログラマブルコントローラ自体に改造を加えず
にモーション言語でプログラムを行う手段を提供できる
という特段の効果を奏する。さらに、それによってユー
ザはどの機種のプログラマブルコントローラで使用する
場合にでも、モーション言語をプログラムする方法が同
じになるので、ユーザが別の機種のプログラマブルコン
トローラでプログラムを行う場合にも、新たにプログラ
ムの習得をしなくてよいという顕著な効果が認められ
る。
【0005】本発明の請求項2の発明は、前記入出力デ
ータは、データIDと、命令タイプと、命令IDと、デ
ータサイズと、データとから構成される入出力データフ
ォーマットから成ることを特徴とする請求項1記載のプ
ログラマブルコントローラのプログラミング装置であ
る。
【0006】本発明の請求項3の発明は、前記プログラ
ムデータは命令0ないし自然数Nとする命令Nの構造か
ら成るフォーマットであり、前記命令データはデータI
Dと、命令ナンバーと、データサイズと、データの構造
から成るフォーマットであることをことを特徴とする請
求項2記載のプログラマブルコントローラのプログラミ
ング装置である。
【0007】本発明の請求項4の発明は、前記モーショ
ン言語からラダーダイアグラムへの変換機能手段は、受
け取った前記入出力データを前記命令IDにより解釈
し、その解釈されたデータに基づいてプログラムデータ
解釈機能とプログラマブルコントローラへラダープログ
ラム書き込み機能とプログラマブルコントローラとのユ
ーザメモリ入出力機能にデータに対応した処理を実行す
る入出力データ解釈機能と、前記命令IDがプログラム
コンパイルのとき前記入出力データ解釈機能により実行
され、前記プログラムデータ格納機能手段から指定プロ
グラムデータを読み出し、前記モーション言語からラダ
ーダイアグラムへの変換機能にラダーダイアグラム変換
処理を実行させ、そのデータを前記プログラムデータ格
納機能手段へ格納させるプログラムデータ解釈機能と、
前記命令IDがプログラムダウンロードのときに前記入
出力データ解釈機能により実行され、前記プログラムデ
ータ格納機能手段から指定プログラムデータを読み出
し、前記プログラマブルコントローラにラダープログラ
ムの書き出しを実行するプログラマブルコントローラへ
ラダープログラム書き込み機能と、前記命令IDがプロ
グラムデータライトとプログラムカウンタリセットのと
きに前記入出力データ解釈機能により前記プログラムコ
ントローラと前記ユーザメモリの入出力が実行されるプ
ログラムコントローラとユーザメモリ入出力機能とを具
備することを特徴とする請求項3記載のプログラマブル
コントローラのプログラミング装置である。
【0008】本発明の請求項5の発明は、前記モーショ
ン言語からラダーダイアグラムへの変換機能のコンパイ
ル後のラダーダイアグラムの構造は、周期処理の1番目
にあって、サーボ制御装置のデータなどを次のモーショ
ン制御処理で使用するためにセットする処理が行われる
モーションデータ処理と、周期処理の2番目にあって、
前記モーションデータ処理からの制御対称の位置や速度
検出などユーザが作成したモーション言語プログラムの
コンパイル結果のラダーダイアグラムとさらなるモーシ
ョン制御処理で使用するデータを作成する処理を行う第
1のモーション制御処理と、周期処理の3番目にあっ
て、プログラムカウンタを条件文として囲まれた複数命
令の集合で構成され、実行時はプログラムカウンタの値
の命令のみ実行され、実行が完了をするまで周期をまた
いで、同じプログラムカウンタの処理が実行されるラダ
ーダイアグラムと、周期処理の4番目にあって、実際の
モーション制御を行う前記サーボ制御装置へ出力する前
記ユーザデータを作成する第2のモーション制御処理
と、周期処理の5番目にあって、前記第2のモーション
制御処理の実行データに基づいて、必要なモーションデ
ータを前記サーボ制御装置へ出力するモーションデータ
出力処理とから成ることを特徴とする請求項4記載のプ
ログラマブルコントローラのプログラミング装置であ
る。
【0009】本発明の請求項6の発明は、前記ユーザが
作成した前記モーション言語プログラムのコンパイル結
果のダイアグラムは、前記プログラムカウンタを条件文
からなる条件式で囲んだラダープログラムのブロックの
集まりで構成され、1つ1つの前記プログラムカウンタ
を前記条件式中のラダープログラムは、各命令分を表現
するラダーと、命令の完了を監視する条件文とで構成さ
れ、命令の完了が真になると前記プログラムカウンタは
次の命令に遷移するようにしたことを特徴とする請求項
5記載のプログラマブルコントローラのプログラミング
装置である。
【0010】本発明の請求項7の発明は、モータ制御機
能手段とユーザメモリを有しかつ前記モーション言語表
示編集操作手段により、定周期にラダーダイアグラムな
どのプログラムを実行し、モーション言語からラダーダ
イアグラムへの変換機能手段において、命令ステップで
プログラムが実行されるモーション言語を表示、編集す
ると、前記モーション言語表示編集操作手段から送られ
た入出力データを解釈し、前記モーション言語から前記
プログラマブルコントローラが有するラダーダイアグラ
ムなどの定周期にプログラムが実行される言語に変換
し、前記プログラマブルコントローラへ前記プログラム
を転送し、前記プログラマブルコントローラと前記ユー
ザメモリの読み出し、書き込み制御を行う、ことを特徴
とするプログラマブルコントローラのプログラミング方
法である。
【0011】本発明の請求項8の発明は、前記モーショ
ン言語編集操作機能は、前記モーション言語からラダー
ダイアグラムへの変換機能に対して規定された入出力デ
ータフォーマットで命令を発行し、前記モーション言語
からラダーダイアグラムへの変換機能は、規定された入
出力データフォーマットの入出力データを解釈するにつ
いて、前記入出力データ解釈機能は、受け取った前記入
出力データを前記命令IDにより解釈し、前記データの
命令IDがプログラムコンパイル要求であれば、前記プ
ログラムデータ解釈機能は、前記命令IDがプログラム
コンパイルのときに入出力データ解釈機能により実行
し、前記プログラムデータ解釈機能は、前記プログラム
データ格納機能から指定プログラムデータを読み出し、
前記モーション言語からラダーダイアグラムへの変換機
能にラダープログラム変換処理を実行させ、前記モーシ
ョン言語からラダーダイアグラムへの変換機能は、プロ
グラムデータ構造フォーマットに基づいて、前記命令I
D毎に別々のラダープログラムに変換し、そのデータを
前記プログラムデータ格納機能に格納することを特徴と
する請求項6に記載のプログラマブルコントローラのプ
ログラミング方法である。
【0012】本発明の請求項9の発明は、前記モーショ
ン言語編集操作機能は前記モーション言語からラダーダ
イアグラムへの変換機能に対して規定された入出力デー
タフォーマットで命令を発行し、前記モーション言語か
らラダーダイアグラムへの変換機能は規定された入出力
データフォーマットの入出力データを解釈するについ
て、前記入出力データ解釈機能は、受け取った入出力デ
ータを前記命令IDによりデータを解釈し、前記データ
の命令IDがプログラムカウンタリードかプログラムデ
ータリードかプログラムデータライトかプログラムカウ
ンタリセットのいずれかの要求であれば、それぞれの中
のいずれか特定の要求であるとし、前記プログラムデー
タ解釈機能は、前記命令IDがそれぞれの中のプログラ
ムカウンタリードかプログラムデータリードかプログラ
ムデータライトかプログラムカウンタリセットの該当す
る前記特定の要求のときに、その要求が前記入出力デー
タ解釈機能により実行され、前記プログラマブルコント
ローラとの前記ユーザメモリ入出力機能は、前記特定の
要求のとき、プログラムカウンタをプログラマブルコン
トローラよりリードし、応答データとして前記プログラ
マブルコントローラより読み込んだデータを要求データ
に対するデータとして作成し、このとき前記特定の要求
に係る前記応答データの前記データIDは、前記要求デ
ータの前記データIDと同じにし、前記モーション言語
編集操作機能が受け取った前記応答データがどの要求デ
ータに対する応答かを理解させるために、作成した前記
応答データを前記モーション言語編集操作機能に発行す
る、ことを特徴とする請求項6記載のプログラマブルコ
ントローラのプログラミング方法である。
【0013】
【発明の実施の形態】以下、本発明の実施の形態につい
て図に基づいて説明する。全ての図面において、同一符
号は同一若しくは相当部材を示し、さらに情報の経路に
印した矢印は情報の伝達方向を表す。この実施の形態
は、定周期に実行されるプログラムのプログラム手段と
してのラダーダイアグラムを、一つの例にとり説明す
る。図1は、本発明の装置全体の概要を示す構成図であ
る。1はプログラマブルコントローラのプログラミング
装置、2はプログラマブルコントローラ、3はプログラ
マブルコントローラから制御されるサーボ制御装置、4
はサーボ制御装置から制御されるサーボモータである。
サーボモータ4は、サーボ制御装置3の指令により制御
される。サーボ制御装置3は、プログラマブルコントロ
ーラ2の指令により制御される。プログラマブルコント
ローラ2は、ラダーダイアグラムで記述されたプログラ
ムに基づいて、サーボ制御装置3に指令を発行する。プ
ログラマブルコントローラ2は、プログラミング装置1
からプログラムを転送され、それに基づいて動作する。
またプログラマブルコントローラ2は、プログラム装置
1からのユーザデータの入出力要求も実行する。本発明
では、プログラマブルコントローラ2、サーボ制御装置
3、サーボモータ4に一切変更を加えることなく、プロ
グラミング装置1を付加することで、モーション言語で
記述したプログラムをステップ命令で実行する装置を実
現している。よって以下の説明はプログラミング装置1
を中心に行う。
【0014】図2は、本発明のプログラミング装置の回
路構成図である。22はモーション言語編集操作機能、
23はプログラムデータ格納機能、24はモーション言
語からラダーダイアグラムへの変換機能である。すなわ
ちプログラミング装置1は、モーション言語編集操作機
能22およびプログラムデータ格納機能23およびモー
ション言語からラダーダイアグラムへの変換機能24に
より構成される。モーション言語編集操作機能22は、
ユーザへのモーションプログラム操作、表示、実行モニ
タを提供し、ユーザが作成したモーション言語プログラ
ムをプログラムデータ格納機能23に規定されたプログ
ラムフォーマットで格納する。またモーション言語編集
操作機能22は、モーション言語からラダーダイアグラ
ムへの変換機能24に対して規定された入出力データフ
ォーマットで命令を発行する。モーション言語からラダ
ーダイアグラムへの変換機能24は、規定された入出力
データフォーマットの入出力データを解釈し、プログラ
ムコンパイル、ダウンロード、プログラムカウンタのリ
ード、ユーザデータのリード/ライトを実行する。
【0015】図3は、本発明の規定する入出力データフ
ォーマットを示す図である。31は入出力データフォー
マット、32はデータID、33は命令タイプ、34は
命令ID、35はデータサイズ、36はデータである。
このように入出力データフォーマット31は、データI
D32および命令タイプ33および命令ID34および
データサイズ35およびデータ36により構成される。
データID32は、モーション言語編集操作機能22が
モーション言語からラダーダイアグラムへの変換機能2
4からの、要求データに対する応答データを区別するた
めに、各要求データに対してユニークに割り当てる。命
令タイプ33は、その要求データがリード要求なのか、
ライト要求なのかを区別する。リード要求であれば、必
ずその要求に対する応答データが返ってくる。命令ID
34にはプログラムコンパイル341 、プログラムダウン
ロード342 、プログラムカウンタリード343 、プログラ
ムデータリード344 、プログラムデータライト345 、プ
ログラムカウンタリセット346 がある。命令IDによ
り、モーション言語からラダーダイアグラムへの変換機
能24は、データの解釈の方法を決定する。データサイ
ズ35は、データ36のデータの大きさを表す。データ
36の内容は、命令ID毎に決定される。
【0016】図4は、本発明の規定するプログラムデー
タフォーマットを示す図で、(a) はプログラムデータ構
造フォーマット、(b) は命令データ構造フォーマットを
表す図である。すなわち、図3は命令のフォーマットを
示す図で、図4は図3の命令IDが341 の場合のデータ
36の詳細を表示する図である。41はプログラムデー
タ構造フォーマット、42は命令データ構造フォーマッ
ト、43はデータID、44は命令ナンバー、45はデ
ータサイズ、46はデータである。プログラムデータ構
造フォーマット41は、命令データ構造フォーマット4
2の配列で構成される。命令データ構造フォーマット4
2は、データID43、命令ナンバー44、データサイ
ズ45、データ46で構成される。データID43は、
プログラムデータ構造フォーマット中で必ずユニークで
ある。条件命令による分岐先などは、データID43に
より分岐先が表現される。命令ナンバー44には、チエ
ンジダイナミックス(Change Dynamics) 、ホームアクシ
ス(Home Axis) 、ムーブアクシス(Move Axis) 、ギャレ
シオ(Gear Ratio)、ジョグアクシス(Jog Axis)、スケー
ルシーエイエム(Scale CAM) 、シーエイエムオン/ オフ
(CAM On/Off)、サーボオン/ オフ(Servo On/Off)、アボ
ートモーション(Abort Motion)、ギヤリングオン/ オフ
(Gearing On/Off)、リセットフォルト(Reset Fault) 、
デファインポジション(Define Position) 、インクリメ
ントポジション(Increment Position)、ラッチオン/ オ
フ(Latch On/Off)、ラッチターゲット(Latch Target)、
イフエベント(If Event)、オンタイム(On Time) 、リス
タートプログラム(Restart Program) 、スタート(Star
t) 、イフフォルト(IfFault)、サスペンドプログラム(S
uspend Program) 、エンド(End) 、メッセージアウト('
Message Out)、メッセージイン(Message In)、セットバ
リアブル(Set Variable)、プログラマブルリミットスイ
ッチ(Programmable Limit Switch) 、コールブロック(C
all Block)がある。命令ナンバーにより、モーション言
語からラダーダイアグラムへの変換規則が決まる。デー
タサイズ45は、データ46のデータの大きさを表す。
データ46の内容は、命令ナンバー毎に決定される。
【0017】図5は、本発明のモーション言語からラダ
ーダイアグラムへの変換機能でラダーダイアグラムを用
いての、モーション言語のステップ実行方式を実現する
機能の周辺回路も含めた、回路構成を示すブロック図で
ある。24はモーション言語からラダーダイアグラムへ
の変換機能、52は入出力データ解釈機能、53はプロ
グラムデータ解釈機能、54はモーション言語からラダ
ーダイアグラムへの変換機能、55はプログラマブルコ
ントローラへラダープログラム書き込み機能、56はプ
ログラマブルコントローラとのユーザメモリ入出力機能
である。モーション言語からラダーダイアグラムへの変
換機能24は、入出力データ解釈機能52、プログラム
データ解釈機能53、モーション言語からラダーダイア
グラムへの変換機能54、プログラマブルコントローラ
へラダープログラム書き込み機能55、プログラマブル
コントローラとのユーザメモリ入出力機能56で構成さ
れる。入出力データ解釈機能52は、受け取った入出力
データを命令ID34により解釈する。解釈されたデー
タに基づいて入出力データ解釈機能52は、プログラム
データ解釈機能53やプログラマブルコントローラへラ
ダープログラム書き込み機能55やプログラマブルコン
トローラとのユーザメモリ入出力機能56にデータに対
応した処理を実行させる。プログラムデータ解釈機能5
3は、命令ID34が1(プログラムコンパイル)のと
きに、入出力データ解釈機能52により実行される。プ
ログラムデータ解釈機能53は、プログラムデータ格納
機能23から指定プログラムデータを読み出し、モーシ
ョン言語からラダーダイアグラムへの変換機能54に、
ラダープログラム変換処理を実行させ、そのデータをプ
ログラムデータ格納機能23に格納する。
【0018】プログラマブルコントローラへラダープロ
グラム書き込み機能55は、命令ID34が342 (プロ
グラムダウンロード)のときに入出力データ解釈機能5
2により実行される。プログラマブルコントローラへラ
ダープログラム書き込み機能55は、プログラムデータ
格納機能23から指定プログラムデータを読み出し、プ
ログラマブルコントローラにラダープログラムの書き出
しを実行する。プログラマブルコントローラとのユーザ
メモリ入出力機能56は、命令ID34が343 (プログ
ラムカウンタリード)、344 (プログラムデータリー
ド)、345 (プログラムデータライト)、346 (プログ
ラムカウンタリセット)のときに入出力データ解釈機能
52により実行される。プログラマブルコントローラと
のユーザメモリ入出力機能56は、命令ID34が343
のときは、プログラムカウンタをプログラマブルコント
ローラよりリードする。プログラマブルコントローラと
のユーザメモリ入出力機能56は、命令ID34が344
のときは、指定プログラムデータをプログラマブルコン
トローラよりリードする。命令ID34が345 のとき
は、指定プログラムデータをプログラマブルコントロー
ラへライトする。命令ID34が346 のときは、プログ
ラムカウンタを341 で書き込み、処理を最初の命令に戻
す。
【0019】また、プログラマブルコントローラ機種に
依存する機能は、モーション言語からラダーダイアグラ
ムへの変換機能54、プログラマブルコントローラへラ
ダープログラム書き込み機能55、プログラマブルコン
トローラとのユーザメモリ入出力機能56の3つの機能
だけであるので、プログラマブルコントローラ機種毎に
モーション言語からラダーダイアグラムへの変換機能5
4、プログラマブルコントローラへラダープログラム書
き込み機能55、プログラマブルコントローラとのユー
ザメモリ入出力機能56の3つの機能を作成することに
より、ユーザへは全く同一の操作環境であるモーション
言語編集操作機能22を提供することが可能となる。こ
の機能の構造により、プログラマブルコントローラが変
わってもモーションプログラム機能の操作方法は不変と
なり、ユーザにとってプログラマブルコントローラが変
わっても新しいモーションプログラム機能の操作方法を
習得する必要がなくなり、1台のプログラマブルコント
ローラでシーケンス制御とモーション制御の両方を行う
ことができるので、ラダーダイアグラムをサポートする
プログラマブルコントローラと、モーション言語をサポ
ートするプログラマブルコントローラを別々に購入する
必要がなくなる。
【0020】図6は、本発明のモーション言語からラダ
ーダイアグラムへの変換機能のコンパイル後のラダーダ
イアグラム全体の構成を示す図である。61はモーショ
ン言語からラダーダイアグラムへの変換後のラダーダイ
アグラム構造、62はモーションデータ入力処理、63
は第1のモーション制御処理、64はユーザが作成した
モーション言語プログラムのコンパイル結果のラダーダ
イアグラムプログラム、65は第2のモーション制御処
理、66はモーションデータ出力処理である。モーショ
ン言語からラダーダイアグラムへの変換後のラダーダイ
アグラム構造61は、モーションデータ入力処理62、
第1のモーション制御処理63、ユーザが作成したモー
ション言語プログラムのコンパイル結果のラダーダイア
グラムプログラム64、第2のモーション制御処理6
5、モーションデータ出力処理66により構成される。
モーションデータ入力処理62は、周期処理の最初に位
置する。モーションデータ入力処理62は、サーボ制御
装置3のデータなどを、第1のモーション制御処理63
に使用するためにセットする処理が記述されている。第
1のモーション制御処理63は、周期処理の2番目に位
置する。
【0021】第1のモーション制御処理63は、位置、
速度検出など、ユーザが作成したモーション言語プログ
ラムのコンパイル結果のラダーダイアグラムプログラム
64、第2のモーション制御処理65で使用するデータ
を作成する処理を行う。ユーザが作成したモーション言
語プログラムのコンパイル結果のラダーダイアグラムプ
ログラム64は、周期処理の3番目に位置する。ユーザ
が作成したモーション言語プログラムのコンパイル結果
のラダーダイアグラムプログラム64は、プログラムカ
ウンタを条件文として囲まれた複数命令の集合で構成さ
れる。実行時は、プログラムカウンタの値の命令のみ実
行される。実行が完了するまで周期をまたいで、同じプ
ログラムカウンタの処理が実行される。ここでは、実際
のモーション制御は行わず、第2のモーション制御処理
65でサーボ制御装置3に出力するためのユーザデータ
を作成する。第2のモーション制御処理65は、周期処
理の4番目に位置する。この第2のモーション制御処理
65は、ユーザが作成したモーション言語プログラムの
コンパイル結果のラダーダイアグラムプログラム64で
設定されたユーザデータに基づいて、サーボ制御装置に
制御パラメータを出力する処理を実行する。モーション
データ出力処理66は、第2のモーション制御処理65
の実行データに基づいて、必要なモーションデータを出
力する。
【0022】図7は、ユーザが作成したモーション言語
プログラムのコンパイル結果のラダーダイアグラムプロ
グラムの構成図である。71はユーザが作成したモーシ
ョン言語プログラムのコンパイル結果のラダーダイアグ
ラムプログラムである。ユーザが作成したモーション言
語プログラムのコンパイル結果のラダーダイアグラムプ
ログラム71は、プログラムカウンタを条件式で囲んだ
ラダープログラムのブロックの集まりで構成される。1
つ1つのプログラムカウンタを条件式の中のダープログ
ラムは、各命令を実現するラダーと命令の完了を監視す
る条件文とで構成されている。命令の完了が真になると
プログラムカウンタは次の命令に遷移する。
【0023】本発明のこの実施の形態におけるプログラ
ムコンパイルされる例を、図8の流れ図に基づいて説明
する。モーション言語編集操作機能22は、モーション
言語からラダーダイアグラムへの変換機能24に対して
規定された入出力データフォーマットで命令を発行する
(ステップ801)。モーション言語からラダーダイアグラ
ムへの変換機能24は、規定された入出力データフォー
マットの入出力データを解釈する (ステップ802)。モー
ション言語からラダーダイアグラムへの変換機能24の
中で、入出力データ解釈機能52は、受け取った入出力
データを命令ID34により解釈する。データの命令I
D34が341 であればプログラムコンパイル要求である
(ステップ802 でYES)。プログラムデータ解釈機能53
は、命令ID34が1(プログラムコンパイル)のとき
に入出力データ解釈機能52により実行される。つま
り、プログラムデータ解釈機能53は、プログラムデー
タ格納機能23から指定されたプログラムデータを読み
出し (ステップ803)、モーション言語からラダーダイア
グラムへの変換機能54にラダープログラム変換処理を
実行させ(ステップ804)、モーション言語からラダーダ
イアグラムへの変換機能54は、プログラムデータ構造
フォーマット[ 図4(b) 参照] に基づいて、命令ナンバ
ー44毎に別々のラダープログラムに変換し (ステップ
806,807)、そのデータをプログラムデータ格納機能23
に格納する (ステップ808,809)。
【0024】本発明のこの実施の形態におけるプログラ
ムの実行ステップをモニタされる例を、図9の流れ図に
基づいて説明する。モーション言語編集操作機能22
は、モーション言語からラダーダイアグラムへの変換機
能24に対して規定された入出力データフォーマットで
命令を発行する (ステップ901)。モーション言語からラ
ダーダイアグラムへの変換機能24は、規定された入出
力データフォーマットの入出力データを解釈する (ステ
ップ902)。モーション言語からラダーダイアグラムへの
変換機能24の中で、入出力データ解釈機能52は、受
け取った入出力データを命令ID34により解釈する。
データの命令IDが343 であればプログラムカウンタリ
ード要求である。プログラムデータ解釈機能53は、命
令ID34が343 (プログラムカウンタリード)、344
(プログラムデータリード)、345 (プログラムデータ
ライト)、346 (プログラムカウンタリセット)のとき
に入出力データ解釈機能52により実行される。プログ
ラマブルコントローラとのユーザメモリ入出力機能56
は、命令ID34が343 のときは、プログラムカウンタ
をプログラマブルコントローラよりリードする (ステッ
プ903)。応答データとしてプログラマブルコントローラ
より読み込んだデータを要求データに対するデータとし
て作成する (ステップ904)。このとき応答データのデー
タID32は、要求データのデータID32と同じにす
る。モーション言語編集操作機能22が、受け取った応
答データがどの要求データに対する応答かを理解するた
めである。作成した応答データをモーション言語編集操
作機能22に発行する (ステップ905,906)。
【0025】本発明のこの実施の形態におけるプログラ
ムの変数をモニタする例を、図10の流れ図に基づいて
説明する。モーション言語編集操作機能22は、モーシ
ョン言語からラダーダイアグラムへの変換機能24に対
して規定された入出力データフォーマットで命令を発行
する (ステップ101)。モーション言語からラダーダイア
グラムへの変換機能24は、規定された入出力データフ
ォーマットの入出力データを解釈する (ステップ102)。
モーション言語からラダーダイアグラムへの変換機能2
4の中で、入出力データ解釈機能52は、受け取った入
出力データを命令ID34により解釈する。データの命
令IDが344 であれば、プログラムデータリード要求で
ある。プログラムデータ解釈機能53は、命令ID34
が343 (プログラムカウンタリード)、344 (プログラ
ムデータリード)、345 (プログラムデータライト)、
346 (プログラムカウンタリセット)のときに、入出力
データ解釈機能52により実行される (ステップ103)。
プログラマブルコントローラとのユーザメモリ入出力機
能56は、命令ID34が344 のときは、プログラムデ
ータをプログラマブルコントローラよりリードする。応
答データとしてプログラマブルコントローラより読み込
んだデータを要求データに対するデータとして作成する
(ステップ104)。このとき応答データのデータID32
は、要求データのデータID32と同じにする。モーシ
ョン言語編集操作機能22が、受け取った応答データが
どの要求データに対する応答かを理解するためである。
作成した応答データをモーション言語編集操作機能22
に発行する (ステップ105,106)。このようにして、本発
明の入出力データフォーマットにおける命令IDが341
のプログラムコンパイルのときは、図8の流れ図に対応
して処理され、その他の場合例えば命令IDが343,344
のときは、図9,図10に掲記した流れ図に対応してそ
れらが処理される。
【0026】
【発明の効果】以上詳記したように本発明によれば、定
周期にラダーダイアグラムなどのプログラムを実行し、
モータ制御機能、ユーザメモリを有するプログラマブル
コントローラのプログラミング装置において、命令ステ
ップでプログラムが実行されるモーション言語を表示、
編集する編集操作手段と、前記操作手段から送られた入
出力データを解釈し、モーション言語からプログラマブ
ルコントローラが有するラダーダイアグラムなどの定周
期にプログラムが実行される言語に変換し、プログラマ
ブルコントローラへ前記プログラムを転送し、プログラ
マブルコントローラとユーザメモリの読み出し、書き込
みをする制御手段と編集したプログラムを記憶する記憶
領域、変換されたプログラムを記憶する記憶領域を有す
る記憶手段とを備えたので、、シーケンス制御とモーシ
ョン制御の両方を一台のプログラマブルコントローラ
で、ユーザにとって最適なプログラム手段を選択でき、
またこのプログラム装置は、既存のプログラマブルコン
トローラにプログラマブルコントローラ自体に改造を加
えずにモーション言語でプログラムを行う手段を提供で
きるという特段の効果を奏する。さらに、それによって
ユーザはどの機種のプログラマブルコントローラで使用
する場合にでもモーション言語をプログラムする方法が
同じになるので、ユーザが別の機種のプログラマブルコ
ントローラでプログラムを行う場合にも、新たにプログ
ラムの習得をしなくてよいという顕著な効果が認められ
る。
【図面の簡単な説明】
【図1】本発明の装置全体の構成を示す図
【図2】本発明のプログラミング装置の構成を示すブロ
ック図
【図3】本発明が規定する入出力データフォーマットを
示す図
【図4】本発明が規定するプログラムデータフォーマッ
トを示し、(a) はプログラムデータ構造フォーマットの
図、(b) は命令データ構造フォーマットの図
【図5】本発明になるモーション言語からラダーダイア
グラムへの変換機能でラダーダイアグラムを用いてのモ
ーション言語のステップ実行方式を実現する機能のブロ
ック図
【図6】本発明におけるモーション言語からラダーダイ
アグラムへの変換機能のコンパイル後におけるラダーダ
イアグラム全体の構成を示す図
【図7】本発明でユーザが作成したモーション言語プロ
グラムのコンパイル後のラダーダイアグラムプログラム
の構成を示す図
【図8】本発明におけるプログラムコンパイルされる一
例を示す流れ図
【図9】本発明におけるプログラムの実行ステップをモ
ニタされる一例を示す流れ図
【図10】本発明におけるプログラムの変数(プログラ
ムデータ)をモニタする一例を示す流れ図
【符号の説明】
1 プログラマブルコントローラのモーションプログラ
ム装置 2 プログラマブルコントローラ 3 プログラマブルコントローラから制御されるサーボ
制御装置 4 サーボ制御装置から制御されるサーボモータ 22 モーション言語編集操作機能 23 プログラムデータ格納機能 24 モーション言語からラダーダイアグラムへの変換
機能 31 入出力データフォーマット 32 (入出力データフォーマットの)データID 33 命令タイプ 34 命令ID 35 (入出力データフォーマットの)データサイズ 36 (入出力データフォーマットの)データ 41 プログラムデータ構造フォーマット 42 命令データ構造フォーマット 43 (命令データ構造フォーマットの)データID 44 命令ナンバー 45 (命令データ構造フォーマットの)データサイズ 46 (命令データ構造フォーマットの)データ 52 入出力データ解釈機能 53 プログラムデータ解釈機能 54 モーション言語からラダーダイアグラムへの変換
機能 55 プログラマブルコントローラへラダープログラム
書き込み機能 56 プログラマブルコントローラとのユーザメモリ入
出力機能 61 (モーション言語からラダーダイアグラムへの変
換後の)ラダーダイアグラム構造 62 第1のモーションデータ入力処理 63 モーション制御処理 64 ユーザが作成したモーション言語プログラムのコ
ンパイル結果のラダーダイアグラムプログラム 65 第2のモーション制御処理 66 モーションデータ出力処理 71 (ユーザが作成したモーション言語プログラムの
コンパイル結果の)ラダーダイアグラムプログラム

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 定周期にラダーダイアグラムなどのプロ
    グラムを実行し、モータ制御機能手段とユーザメモリを
    有するプログラマブルコントローラのプログラミング装
    置において、 命令ステップでプログラムが実行されるモーション言語
    を表示、編集するモーション言語表示編集操作手段と、 前記モーション言語表示編集操作手段から送られた入出
    力データを解釈し、 前記モーション言語から前記プログラマブルコントロー
    ラが有するラダーダイアグラムなどの定周期にプログラ
    ムが実行される言語に変換し、 前記プログラマブルコントローラへ前記プログラムを転
    送し、 前記プログラマブルコントローラと前記ユーザメモリの
    読み出し、書き込みをする制御手段を備えモーション言
    語からラダーダイアグラムへの変換機能手段と、 編集した前記プログラムを記憶する記憶領域、変換され
    たプログラムを記憶する記憶領域を有するプログラムデ
    ータ格納機能手段とを備えたことを特徴とするプログラ
    マブルコントローラのプログラミング装置。
  2. 【請求項2】 前記入出力データは、データIDと、命
    令タイプと、命令IDと、データサイズと、データとか
    ら構成される入出力データフォーマットから成ることを
    特徴とする請求項1記載のプログラマブルコントローラ
    のプログラミング装置。
  3. 【請求項3】 前記プログラムデータは命令0ないし自
    然数Nとする命令Nの構造から成るフォーマットであ
    り、前記命令データはデータIDと、命令ナンバーと、
    データサイズと、データの構造から成るフォーマットで
    あることをことを特徴とする請求項2記載のプログラマ
    ブルコントローラのプログラミング装置。
  4. 【請求項4】 前記モーション言語からラダーダイアグ
    ラムへの変換機能手段は、 受け取った前記入出力データを前記命令IDにより解釈
    し、その解釈されたデータに基づいてプログラムデータ
    解釈機能とプログラマブルコントローラへラダープログ
    ラム書き込み機能とプログラマブルコントローラとのユ
    ーザメモリ入出力機能にデータに対応した処理を実行す
    る入出力データ解釈機能と、 前記命令IDがプログラムコンパイルのとき前記入出力
    データ解釈機能により実行され、前記プログラムデータ
    格納機能手段から指定プログラムデータを読み出し、前
    記モーション言語からラダーダイアグラムへの変換機能
    にラダーダイアグラム変換処理を実行させ、そのデータ
    を前記プログラムデータ格納機能手段へ格納させるプロ
    グラムデータ解釈機能と、 前記命令IDがプログラムダウンロードのときに前記入
    出力データ解釈機能により実行され、前記プログラムデ
    ータ格納機能手段から指定プログラムデータを読み出
    し、前記プログラマブルコントローラにラダープログラ
    ムの書き出しを実行するプログラマブルコントローラへ
    ラダープログラム書き込み機能と、 前記命令IDがプログラムデータライトとプログラムカ
    ウンタリセットのときに前記入出力データ解釈機能によ
    り前記プログラムコントローラと前記ユーザメモリの入
    出力が実行されるプログラムコントローラとユーザメモ
    リ入出力機能とを具備することを特徴とする請求項3記
    載のプログラマブルコントローラのプログラミング装
    置。
  5. 【請求項5】 前記モーション言語からラダーダイアグ
    ラムへの変換機能のコンパイル後のラダーダイアグラム
    の構造は、 周期処理の1番目にあって、サーボ制御装置のデータな
    どを次のモーション制御処理で使用するためにセットす
    る処理が行われるモーションデータ処理と、 周期処理の2番目にあって、前記モーションデータ処理
    からの制御対称の位置や速度検出などユーザが作成した
    モーション言語プログラムのコンパイル結果のラダーダ
    イアグラムとさらなるモーション制御処理で使用するデ
    ータを作成する処理を行う第1のモーション制御処理
    と、 周期処理の3番目にあって、プログラムカウンタを条件
    文として囲まれた複数命令の集合で構成され、実行時は
    プログラムカウンタの値の命令のみ実行され、実行が完
    了をするまで周期をまたいで、同じプログラムカウンタ
    の処理が実行されるラダーダイアグラムと、 周期処理の4番目にあって、実際のモーション制御を行
    う前記サーボ制御装置へ出力する前記ユーザデータを作
    成する第2のモーション制御処理と、 周期処理の5番目にあって、前記第2のモーション制御
    処理の実行データに基づいて、必要なモーションデータ
    を前記サーボ制御装置へ出力するモーションデータ出力
    処理とから成ることを特徴とする請求項4記載のプログ
    ラマブルコントローラのプログラミング装置。
  6. 【請求項6】 前記ユーザが作成した前記モーション言
    語プログラムのコンパイル結果のダイアグラムは、 前記プログラムカウンタを条件文からなる条件式で囲ん
    だラダープログラムのブロックの集まりで構成され、 1つ1つの前記プログラムカウンタを前記条件式中のラ
    ダープログラムは、各命令分を表現するラダーと、命令
    の完了を監視する条件文とで構成され、 命令の完了が真になると前記プログラムカウンタは次の
    命令に遷移するようにしたことを特徴とする請求項5記
    載のプログラマブルコントローラのプログラミング装
    置。
  7. 【請求項7】 モータ制御機能手段とユーザメモリを有
    しかつ前記モーション言語表示編集操作手段により、定
    周期にラダーダイアグラムなどのプログラムを実行し、 モーション言語からラダーダイアグラムへの変換機能手
    段において、 命令ステップでプログラムが実行されるモーション言語
    を表示、編集すると、前記モーション言語表示編集操作
    手段から送られた入出力データを解釈し、 前記モーション言語から前記プログラマブルコントロー
    ラが有するラダーダイアグラムなどの定周期にプログラ
    ムが実行される言語に変換し、 前記プログラマブルコントローラへ前記プログラムを転
    送し、 前記プログラマブルコントローラと前記ユーザメモリの
    読み出し、書き込み制御を行う、 ことを特徴とするプログラマブルコントローラのプログ
    ラミング方法。
  8. 【請求項8】 前記モーション言語編集操作機能は、前
    記モーション言語からラダーダイアグラムへの変換機能
    に対して規定された入出力データフォーマットで命令を
    発行し、 前記モーション言語からラダーダイアグラムへの変換機
    能は、規定された入出力データフォーマットの入出力デ
    ータを解釈するについて、 前記入出力データ解釈機能は、受け取った前記入出力デ
    ータを前記命令IDにより解釈し、 前記データの命令IDがプログラムコンパイル要求であ
    れば、前記プログラムデータ解釈機能は、前記命令ID
    がプログラムコンパイルのときに入出力データ解釈機能
    により実行し、 前記プログラムデータ解釈機能は、前記プログラムデー
    タ格納機能から指定プログラムデータを読み出し、 前記モーション言語からラダーダイアグラムへの変換機
    能にラダープログラム変換処理を実行させ、 前記モーション言語からラダーダイアグラムへの変換機
    能は、プログラムデータ構造フォーマットに基づいて、
    前記命令ID毎に別々のラダープログラムに変換し、そ
    のデータを前記プログラムデータ格納機能に格納するこ
    とを特徴とする請求項6に記載のプログラマブルコント
    ローラのプログラミング方法。
  9. 【請求項9】 前記モーション言語編集操作機能は前記
    モーション言語からラダーダイアグラムへの変換機能に
    対して規定された入出力データフォーマットで命令を発
    行し、 前記モーション言語からラダーダイアグラムへの変換機
    能は規定された入出力データフォーマットの入出力デー
    タを解釈するについて、 前記入出力データ解釈機能は、受け取った入出力データ
    を前記命令IDによりデータを解釈し、 前記データの命令IDがプログラムカウンタリードかプ
    ログラムデータリードかプログラムデータライトかプロ
    グラムカウンタリセットのいずれかの要求であれば、そ
    れぞれの中のいずれか特定の要求であるとし、 前記プログラムデータ解釈機能は、前記命令IDがそれ
    ぞれの中のプログラムカウンタリードかプログラムデー
    タリードかプログラムデータライトかプログラムカウン
    タリセットの該当する前記特定の要求のときに、その要
    求が前記入出力データ解釈機能により実行され、 前記プログラマブルコントローラとの前記ユーザメモリ
    入出力機能は、前記特定の要求のとき、プログラムカウ
    ンタをプログラマブルコントローラよりリードし、 応答データとして前記プログラマブルコントローラより
    読み込んだデータを要求データに対するデータとして作
    成し、 このとき前記特定の要求に係る前記応答データの前記デ
    ータIDは、前記要求データの前記データIDと同じに
    し、 前記モーション言語編集操作機能が受け取った前記応答
    データがどの要求データに対する応答かを理解させるた
    めに、作成した前記応答データを前記モーション言語編
    集操作機能に発行する、ことを特徴とする請求項6記載
    のプログラマブルコントローラのプログラミング方法。
JP2000266724A 2000-09-04 2000-09-04 プログラマブルコントローラのプログラミング装置とその方法 Pending JP2002073120A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000266724A JP2002073120A (ja) 2000-09-04 2000-09-04 プログラマブルコントローラのプログラミング装置とその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000266724A JP2002073120A (ja) 2000-09-04 2000-09-04 プログラマブルコントローラのプログラミング装置とその方法

Publications (1)

Publication Number Publication Date
JP2002073120A true JP2002073120A (ja) 2002-03-12

Family

ID=18753764

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000266724A Pending JP2002073120A (ja) 2000-09-04 2000-09-04 プログラマブルコントローラのプログラミング装置とその方法

Country Status (1)

Country Link
JP (1) JP2002073120A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1467271A2 (en) * 2003-04-11 2004-10-13 Fanuc Ltd Controller for machines
US6952811B1 (en) * 1998-07-30 2005-10-04 Mitsubishi Denki Kabushiki Kaisha Ladder circuit editing system
US7272450B2 (en) * 2004-03-31 2007-09-18 Omron Corporation Development aid device
JP2015200914A (ja) * 2014-04-03 2015-11-12 多摩川精機株式会社 機器制御装置、プログラム作成装置、プログラム作成・実行システム、機器制御システム、プログラム作成方法、機器制御プログラム、プログラム記録媒体、プログラム格納装置および機器制御方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6952811B1 (en) * 1998-07-30 2005-10-04 Mitsubishi Denki Kabushiki Kaisha Ladder circuit editing system
EP1467271A2 (en) * 2003-04-11 2004-10-13 Fanuc Ltd Controller for machines
US7174235B2 (en) 2003-04-11 2007-02-06 Fanuc Ltd Controller for machines
EP1467271A3 (en) * 2003-04-11 2008-07-09 Fanuc Ltd Controller for machines
US7272450B2 (en) * 2004-03-31 2007-09-18 Omron Corporation Development aid device
US7272825B2 (en) * 2004-03-31 2007-09-18 Omron Corporation Development aid device
JP2015200914A (ja) * 2014-04-03 2015-11-12 多摩川精機株式会社 機器制御装置、プログラム作成装置、プログラム作成・実行システム、機器制御システム、プログラム作成方法、機器制御プログラム、プログラム記録媒体、プログラム格納装置および機器制御方法

Similar Documents

Publication Publication Date Title
JP2938374B2 (ja) 順序シーケンス・プログラムの作成装置及び制御装置
CN110271009B (zh) 基于plc仿机器人指令实现机械手示教功能方法
US20140005805A1 (en) Cpu of plc, system program for plc, and recording medium storing system program for plc
JP6550269B2 (ja) プログラム作成支援装置、制御方法およびプログラム
WO2020246097A1 (ja) サポート装置およびサポートプログラム
JP2002073120A (ja) プログラマブルコントローラのプログラミング装置とその方法
JP7024679B2 (ja) 開発支援プログラム、開発支援装置、および開発支援方法
JP7077848B2 (ja) 制御装置
JP2002268896A (ja) 制御プログラム作成方法とその装置
JP2608085B2 (ja) 生産計画シミュレーション装置
WO2022249713A1 (ja) 制御システム、システムプログラムおよびデバッグ方法
JPH09258808A (ja) モーションコントローラプログラミング方式
JP2009157534A (ja) プログラム作成支援システム、そのプログラマブルコントローラ支援装置、プログラマブル表示器支援装置
JP7234810B2 (ja) サポート装置およびサポートプログラム
JPH0950371A (ja) プログラム作成支援装置およびプログラム作成支援方法
JP7091986B2 (ja) 制御システム、制御方法、および開発支援プログラム
WO2022190418A1 (ja) 開発支援装置、開発支援方法および開発支援プログラム
JPH11167409A (ja) 並列実行言語で動作するプログラマブルコントローラ
US11640153B2 (en) Control system, support device, and recording medium
KR100423742B1 (ko) 순차기능챠트에 의한 전용 제어 시스템
JPH01195505A (ja) 数値制御装置
JPH01169605A (ja) プログラム生成装置
CN116909205A (zh) 一种面向机器人的可视化编程方法及系统
JP2021144627A (ja) 制御システムおよびサポート装置
JPH02171901A (ja) プログラマブルコントローラ