JP2013205866A - 情報処理装置、情報処理方法、およびプログラム - Google Patents
情報処理装置、情報処理方法、およびプログラム Download PDFInfo
- Publication number
- JP2013205866A JP2013205866A JP2012070761A JP2012070761A JP2013205866A JP 2013205866 A JP2013205866 A JP 2013205866A JP 2012070761 A JP2012070761 A JP 2012070761A JP 2012070761 A JP2012070761 A JP 2012070761A JP 2013205866 A JP2013205866 A JP 2013205866A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- control program
- value
- input
- program
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Programmable Controllers (AREA)
Abstract
【課題】任意のタイミングにおいてコントローラで入出力されている変数の状態を、ユーザにとって確認が容易な状態で表示可能な情報処理装置を提供する。
【解決手段】PC6は、任意のタイミングにおける第1の制御プログラムに対して入力された入力変数の値および入力変数名と、第1の制御プログラムの実行により出力された出力変数の値および出力変数名とをコントローラ14から取得する。シミュレーション部806は、第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、入力変数の値を入力変数名で特定される変数の値とし、出力変数の値を出力変数名で特定される変数の値として、第2の制御プログラムに入力する。表示データ作成部804は、取得された入力変数の値と出力変数の値との第2の制御プログラムへの入力の結果を、第2の制御プログラムを可視化した状態でモニタに表示させる。
【選択図】図7
【解決手段】PC6は、任意のタイミングにおける第1の制御プログラムに対して入力された入力変数の値および入力変数名と、第1の制御プログラムの実行により出力された出力変数の値および出力変数名とをコントローラ14から取得する。シミュレーション部806は、第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、入力変数の値を入力変数名で特定される変数の値とし、出力変数の値を出力変数名で特定される変数の値として、第2の制御プログラムに入力する。表示データ作成部804は、取得された入力変数の値と出力変数の値との第2の制御プログラムへの入力の結果を、第2の制御プログラムを可視化した状態でモニタに表示させる。
【選択図】図7
Description
本発明は、情報処理装置、情報処理方法、およびプログラムに関し、特に、制御プログラムをシミュレーション実行することができる情報処理装置、情報処理装置における情報処理方法、および情報処理装置を制御するためのプログラムに関する。
従来、機械の動きを制御するコントローラにおいて制御周期ごとに実行される、シーケンス制御部分およびモーション制御部分を含む制御プログラムを、シミュレーション実行することができるコントローラサポート装置が知られている。
たとえば、特許文献1には、モーション制御を含む制御プログラムをシミュレーション実行する場合に、実行の開始から終了までの間の途中の制御周期からの再実行を可能にするコントローラサポート装置が開示されている。具体的には、当該コントローラサポート装置は、制御プログラムのシーケンス制御部分を1周期分シミュレーション実行し、シーケンス制御部分に関する実行結果を生成する。コントローラサポート装置は、モーション制御部分を1周期分シミュレーション実行し、モーション制御部分に関する実行結果を生成する。そして、次に、コントローラサポート装置は、制御周期番号をインクリメント更新する。コントローラサポート装置は、再開可能制御周期かどうかを判断し、再開可能制御周期であると判断した場合には、前の制御周期で更新された再開用データバッファの内容を再開用データ記憶部に保存する。
しかしながら、特許文献1等の技術では、任意のタイミングにおいてコントローラで入出力されている変数の状態を、コントローラサポート装置(情報処理装置)側においてユーザにとって確認が容易な状態で表示させることはできない。
本願発明は、上記問題点に鑑みなされたものであって、その目的は、任意のタイミングにおいてコントローラで入出力されている変数の状態を、ユーザにとって確認が容易な状態で表示可能な情報処理装置、情報処理方法、およびプログラムを提供することにある。
本発明のある局面に従うと、情報処理装置は、機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする。情報処理装置は、任意のタイミングにおける第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、任意のタイミングにおける第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、コントローラから取得する取得手段と、第1の制御プログラムと同じ処理を実行する第2の制御プログラムを記憶した記憶手段と、記憶手段に記憶された第2の制御プログラムをシミュレーションするシミュレーション手段と、シミュレーションの結果を表示装置に表示させる表示制御手段とを備える。シミュレーション手段は、第2の制御プログラムの実行を停止させた状態で、取得された入力変数の値を第1の識別情報で特定される変数の値とし、取得された出力変数の値を第2の識別情報で特定される変数の値として、第2の制御プログラムに入力する。表示制御手段は、取得された入力変数の値と出力変数の値との第2の制御プログラムへの入力の結果を、第2の制御プログラムを可視化した状態で表示装置に表示させる。
好ましくは、取得手段は、コントローラから当該コントローラにおける設定情報をさらに取得する。シミュレーション手段は、第2の制御プログラムに取得された設定情報をさらに入力する。表示制御手段は、取得された入力変数と出力変数と設定情報とが第2の制御プログラムに入力された場合、第2の制御プログラムを可視化した状態で当該入力変数と出力変数との状態を表示装置に表示させる。
好ましくは、制御プログラムは、ラダープログラムである。表示制御手段は、取得された入力変数と出力変数とを含むラダー図を表示装置に表示させる。
好ましくは、シミュレーション手段は、動作モードとして、ラダープログラムを実行する第1の動作モードと、ラダープログラムのロジックの実行を停止する第2の動作モードとを含む。シミュレーション手段は、動作モードが第2の動作モードである場合に、取得された入力変数と出力変数とのラダ―プログラムへの入力を行なう。
好ましくは、任意のタイミングは、コントローラによる機械の制御に不具合が生じたときである。
好ましくは、取得手段は、任意のタイミングにおける第1の制御プログラムの内部変数と、当該内部変数を識別するための第3の識別情報とを、コントローラからさらに取得する。シミュレーション手段は、第2の制御プログラムの実行を停止させた状態で、取得された内部変数の値を第3の識別情報で特定される変数の値として、第2の制御プログラムに入力する。表示制御手段は、取得された入力変数の値と出力変数の値と内部変数の値との第2の制御プログラムへの入力の結果を、第2の制御プログラムを可視化した状態で表示装置に表示させる。
本発明の他の局面に従うと、情報処理方法は、機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置において実行される。情報処理方法は、任意のタイミングにおける第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、任意のタイミングにおける第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、コントローラから取得するステップと、情報処理装置において第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、取得された入力変数の値を第1の識別情報で特定される変数の値とし、取得された出力変数の値を第2の識別情報で特定される変数の値として、第2の制御プログラムに入力するステップと、取得された入力変数の値と出力変数の値との第2の制御プログラムへの入力の結果を第2の制御プログラムを可視化した状態で表示装置に表示させるステップとを備える。
本発明のさらに他の局面に従うと、プログラムは、機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置を制御する。プログラムは、任意のタイミングにおける第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、任意のタイミングにおける第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、コントローラから取得するステップと、情報処理装置において第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、取得された入力変数の値を第1の識別情報で特定される変数の値とし、取得された出力変数の値を第2の識別情報で特定される変数の値として、第2の制御プログラムに入力するステップと、取得された入力変数の値と出力変数の値との第2の制御プログラムへの入力の結果を第2の制御プログラムを可視化した状態で表示装置に表示させるステップとを、情報処理装置のプロセッサに実行させる。
本発明によれば、任意のタイミングにおいてコントローラで入出力されている変数の状態を、ユーザにとって確認が容易な状態で表示可能となる。
以下、図面を参照しつつ、本発明の実施の形態に係る制御システムについて説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
また、「<D.バックアップおよびリストア>」に記載の処理を説明するに先立ち、「<A.システム構成>」、「<B.コントローラ14>」、および「<C.PC6>」の項目において、制御システムの全体構成、制御システムに含まれるコントローラの構成、および制御システムに含まれるPC(パーソナルコンピュータ)の構成を説明する。
<A.システム構成>
図1は、制御システムの構成を説明する図である。図1を参照して、本発明の実施の形態に従う制御システム1は、サーバ2と、ネットワーク4と、PC(パーソナルコンピュータ)6と、コントローラ14と、制御対象装置16とから構成されている。
図1は、制御システムの構成を説明する図である。図1を参照して、本発明の実施の形態に従う制御システム1は、サーバ2と、ネットワーク4と、PC(パーソナルコンピュータ)6と、コントローラ14と、制御対象装置16とから構成されている。
サーバ2は、ネットワーク4を介してPC6と接続されている。PC6は、接続ケーブル22を介して、制御対象装置16を制御するコントローラ14と通信可能に接続されている。
情報処理装置であるPC6は、コントローラサポート装置として機能する。PC6には、コントローラサポートプログラム8がインストールされており、また、ユーザが作成した制御プログラム10が記憶されている。CD−ROM(Compact Disc-Read Only Memory)12は、コントローラサポートプログラム8を格納している。PC6にインストールされているコントローラサポートプログラム8は、このCD−ROM12からインストールされたものである。
コントローラ14は、制御対象装置16とはフィールドネットワーク24により通信可能に接続されている。コントローラ14は、制御対象装置16の動きを制御する。本発明の実施の形態においては、コントローラ14として一例として、PLC(Programmable Logic Controller)が用いられる。すなわち、このPLCには、いわゆるモーションコントロール機能が備えられている。コントローラ14は、制御対象装置16に対する制御内容を規定する制御プログラム15を記憶している。コントローラ14は、制御周期ごとに制御プログラム15を一巡実行する。ここで、コントローラ14に記憶されている制御プログラム15は、PC6に記憶されている制御プログラム10をコピーしたコピーデータであり、PC6から送信されたものである。
制御対象装置16は、サーボモータ、ステッピングモータなどのモータ18を駆動するモータドライバ17を含む。
モータ18はモータドライバ17から駆動電流を供給される。モータドライバ17は、制御プログラム15を実行するコントローラ14から制御周期ごとに位置の指令値を与えられ、それに応じた駆動電流をモータ18に供給する。モータ18がサーボモータである場合、モータ18にはエンコーダが備えられており、モータ18の回転位置の実測値がエンコーダによって検出される。モータの回転位置の実測値は、モータドライバ17がフィードバック制御に利用する。
なお、上記においては、CD−ROM12を介して、PC6にコントローラサポートプログラムをインストールする場合について説明したが、特にこれに限られず、サーバ2からネットワーク4を介してコントローラサポートプログラムをPC6にダウンロードするようにしても良い。制御プログラムについても同様である。
<B.コントローラ14>
(b1.全体構成)
図2は、コントローラ14の概略構成を表した図である。図2を参照して、コントローラ14は、主たる演算処理を実行するCPUユニット413と、1つ以上のIOユニット414と、特殊ユニット415とを含む。これらのユニットは、PLCシステムバス411を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット412によって適切な電圧の電源が供給される。なお、コントローラ14として構成される各ユニットは、PLCメーカーが提供するものであるので、PLCシステムバス411は、一般にPLCメーカーごとに独自に開発され、使用されている。これに対して、後述するようにフィールドネットワーク24については、異なるメーカーの製品同士が接続できるように、その規格などが公開されている場合も多い。
(b1.全体構成)
図2は、コントローラ14の概略構成を表した図である。図2を参照して、コントローラ14は、主たる演算処理を実行するCPUユニット413と、1つ以上のIOユニット414と、特殊ユニット415とを含む。これらのユニットは、PLCシステムバス411を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット412によって適切な電圧の電源が供給される。なお、コントローラ14として構成される各ユニットは、PLCメーカーが提供するものであるので、PLCシステムバス411は、一般にPLCメーカーごとに独自に開発され、使用されている。これに対して、後述するようにフィールドネットワーク24については、異なるメーカーの製品同士が接続できるように、その規格などが公開されている場合も多い。
CPUユニット413の詳細については、図3を参照して後述する。
IOユニット414は、一般的な入出力処理に関するユニットであり、オン/オフといった2値化されたデータの入出力を司る。すなわち、IOユニット414は、検出スイッチ(図示せず)などのセンサが何らかの対象物を検出している状態(オン)および何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット414は、リレー(図示せず)やアクチュエータといった出力先に対して、活性化するための指令(オン)および不活性化するための指令(オフ)のいずれかを出力する。
IOユニット414は、一般的な入出力処理に関するユニットであり、オン/オフといった2値化されたデータの入出力を司る。すなわち、IOユニット414は、検出スイッチ(図示せず)などのセンサが何らかの対象物を検出している状態(オン)および何らの対象物も検出していない状態(オフ)のいずれであるかという情報を収集する。また、IOユニット414は、リレー(図示せず)やアクチュエータといった出力先に対して、活性化するための指令(オン)および不活性化するための指令(オフ)のいずれかを出力する。
特殊ユニット415は、アナログデータの入出力、温度制御、特定の通信方式による通信といった、IOユニット414ではサポートしない機能を有する。
(b2.CPUユニットのハードウェア構成)
図3は、CPUユニット413のハードウェア構成を示す模式図である。図3を参照して、CPUユニット413は、マイクロプロセッサ100と、チップセット102と、メインメモリ104と、不揮発性メモリ106と、システムタイマ108と、PLCシステムバスコントローラ120と、フィールドネットワークコントローラ140と、USBコネクタ110とを含む。チップセット102と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
図3は、CPUユニット413のハードウェア構成を示す模式図である。図3を参照して、CPUユニット413は、マイクロプロセッサ100と、チップセット102と、メインメモリ104と、不揮発性メモリ106と、システムタイマ108と、PLCシステムバスコントローラ120と、フィールドネットワークコントローラ140と、USBコネクタ110とを含む。チップセット102と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
マイクロプロセッサ100およびチップセット102は、典型的には、汎用的なコンピュータアーキテクチャに準じて構成される。すなわち、マイクロプロセッサ100は、チップセット102から内部クロックに従って順次供給される命令コードを解釈して実行する。チップセット102は、接続されている各種コンポーネントとの間で内部的なデータを遣り取りするとともに、マイクロプロセッサ100に必要な命令コードを生成する。さらに、チップセット102は、マイクロプロセッサ100での演算処理の実行の結果得られたデータなどをキャッシュする機能を有する。
CPUユニット413は、記憶手段として、メインメモリ104および不揮発性メモリ106を有する。
メインメモリ104は、揮発性の記憶領域(RAM)であり、CPUユニット413への電源投入後にマイクロプロセッサ100で実行されるべき各種プログラムを保持する。また、メインメモリ104は、マイクロプロセッサ100による各種プログラムの実行時の作業用メモリとしても使用される。このようなメインメモリ104としては、DRAM(Dynamic Random Access Memory)やSRAM(Static Random Access Memory)といったデバイスが用いられる。
一方、不揮発性メモリ106は、リアルタイムOS(Operating System)、コントローラ14のシステムプログラム、ユーザプログラム、モーション演算プログラム、システム設定パラメータといったデータを不揮発的に保持する。これらのプログラムやデータは、必要に応じて、マイクロプロセッサ100がアクセスできるようにメインメモリ104にコピーされる。このような不揮発性メモリ106としては、フラッシュメモリのような半導体メモリを用いることができる。あるいは、ハードディスクドライブのような磁気記録媒体や、DVD−RAM(Digital Versatile Disk Random Access Memory)のような光学記録媒体などを用いることもできる。
システムタイマ108は、一定周期ごとに割り込み信号を発生してマイクロプロセッサ100に提供する。典型的には、ハードウェアの仕様によって、複数の異なる周期でそれぞれ割り込み信号を発生するように構成されるが、OS(Operating System)やBIOS(Basic Input Output System)などによって、任意の周期で割り込み信号を発生するように設定することもできる。このシステムタイマ108が発生する割り込み信号を利用して、後述するようなモーション制御サイクルごとの制御動作が実現される。
CPUユニット413は、通信回路として、PLCシステムバスコントローラ120およびフィールドネットワークコントローラ140を有する。
バッファメモリ126は、PLCシステムバス411を介して他のユニットへ出力されるデータ(以下「出力データ」とも称す。)の送信バッファ、および、PLCシステムバス411を介して他のユニットから入力されるデータ(以下「入力データ」とも称す。)の受信バッファとして機能する。なお、マイクロプロセッサ100による演算処理によって作成された出力データは、原始的にはメインメモリ104に格納される。そして、特定のユニットへ転送されるべき出力データは、メインメモリ104から読み出されて、バッファメモリ126に一次的に保持される。また、他のユニットから転送された入力データは、バッファメモリ126に一次的に保持された後、メインメモリ104に移される。
DMA制御回路122は、メインメモリ104からバッファメモリ126への出力データの転送、および、バッファメモリ126からメインメモリ104への入力データの転送を行なう。
PLCシステムバス制御回路124は、PLCシステムバス411に接続される他のユニットとの間で、バッファメモリ126の出力データを送信する処理および入力データを受信してバッファメモリ126に格納する処理を行なう。典型的には、PLCシステムバス制御回路124は、PLCシステムバス411における物理層およびデータリンク層の機能を提供する。
フィールドネットワークコントローラ140は、フィールドネットワーク24を介したデータの遣り取りを制御する。すなわち、フィールドネットワークコントローラ140は、用いられるフィールドネットワーク24の規格に従い、出力データの送信および入力データの受信を制御する。上述したように、本実施の形態においてはEtherCAT(登録商標)規格に従うフィールドネットワーク24が採用されるので、通常のイーサネット(登録商標)通信を行なうためのハードウェアを含む、フィールドネットワークコントローラ140が用いられる。EtherCAT(登録商標)規格では、通常のイーサネット(登録商標)規格に従う通信プロトコルを実現する一般的なイーサネット(登録商標)コントローラを利用できる。但し、フィールドネットワーク24として採用される産業用イーサネット(登録商標)の種類によっては、通常の通信プロトコルとは異なる専用仕様の通信プロトコルに対応した特別仕様のイーサネット(登録商標)コントローラが用いられる。また、産業用イーサネット(登録商標)以外のフィールドネットワークを採用した場合には、当該規格に応じた専用のフィールドネットワークコントローラが用いられる。
DMA制御回路142は、メインメモリ104からバッファメモリ146への出力データの転送、および、バッファメモリ146からメインメモリ104への入力データの転送を行なう。
フィールドネットワーク制御回路144は、フィールドネットワーク24に接続される他の装置との間で、バッファメモリ146の出力データを送信する処理および入力データを受信してバッファメモリ146に格納する処理を行なう。典型的には、フィールドネットワーク制御回路144は、フィールドネットワーク24における物理層およびデータリンク層の機能を提供する。
USBコネクタ110は、PC6とCPUユニット413とを接続するためのインターフェイスである。典型的には、PC6から転送される、CPUユニット413のマイクロプロセッサ100で実行可能なプログラムなどは、USBコネクタ110を介してコントローラ14に取込まれる。
(b3.CPUユニットのソフトウェア構成)
次に、本実施の形態に係る各種機能を提供するためのソフトウェア群について説明する。これらのソフトウェアに含まれる命令コードは、適切なタイミングで読み出され、CPUユニット413のマイクロプロセッサ100によって実行される。
次に、本実施の形態に係る各種機能を提供するためのソフトウェア群について説明する。これらのソフトウェアに含まれる命令コードは、適切なタイミングで読み出され、CPUユニット413のマイクロプロセッサ100によって実行される。
図4は、CPUユニット413で実行されるソフトウェア構成を示す模式図である。図4を参照して、CPUユニット413で実行されるソフトウェアとしては、リアルタイムOS200と、システムプログラム210と、ユーザプログラム236との3階層になっている。
リアルタイムOS200は、CPUユニット413のコンピュータアーキテクチャに応じて設計されており、マイクロプロセッサ100がシステムプログラム210およびユーザプログラム236を実行するための基本的な実行環境を提供する。このリアルタイムOSは、典型的には、PLCのメーカーあるいは専門のソフトウェア会社などによって提供される。
システムプログラム210は、コントローラ14としての機能を提供するためのソフトウェア群である。具体的には、システムプログラム210は、スケジューラプログラム212と、出力処理プログラム214と、入力処理プログラム216と、シーケンス命令演算プログラム232と、モーション演算プログラム234と、その他のシステムプログラム220とを含む。なお、一般には出力処理プログラム214および入力処理プログラム216は、連続的(一体として)に実行されるので、これらのプログラムを、IO処理プログラム218と総称する場合もある。
ユーザプログラム236は、ユーザにおける制御目的に応じて作成される。すなわち、制御システム1を用いて制御する対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。
後述するように、ユーザプログラム236は、シーケンス命令演算プログラム232およびモーション演算プログラム234と協働して、ユーザにおける制御目的を実現する。すなわち、ユーザプログラム236は、シーケンス命令演算プログラム232およびモーション演算プログラム234によって提供される命令、関数、機能モジュールなどを利用することで、プログラムされた動作を実現する。そのため、ユーザプログラム236、シーケンス命令演算プログラム232、およびモーション演算プログラム234を、制御プログラム15と総称する場合もある。
このように、CPUユニット413のマイクロプロセッサ100は、記憶手段に格納されたシステムプログラム210およびユーザプログラム236を実行する。
以下、各プログラムについてより詳細に説明する。
ユーザプログラム236は、上述したように、ユーザにおける制御目的(たとえば、対象のラインやプロセス)に応じて作成される。ユーザプログラム236は、典型的には、CPUユニット413のマイクロプロセッサ100で実行可能なオブジェクトプログラム形式になっている。このユーザプログラム236は、PC6などにおいて、ラダー言語などによって記述されたソースプログラムがコンパイルされることで生成される。そして、生成されたオブジェクトプログラム形式のユーザプログラム236は、PC6から接続ケーブル22を介してCPUユニット413へ転送され、不揮発性メモリ106などに格納される。
ユーザプログラム236は、上述したように、ユーザにおける制御目的(たとえば、対象のラインやプロセス)に応じて作成される。ユーザプログラム236は、典型的には、CPUユニット413のマイクロプロセッサ100で実行可能なオブジェクトプログラム形式になっている。このユーザプログラム236は、PC6などにおいて、ラダー言語などによって記述されたソースプログラムがコンパイルされることで生成される。そして、生成されたオブジェクトプログラム形式のユーザプログラム236は、PC6から接続ケーブル22を介してCPUユニット413へ転送され、不揮発性メモリ106などに格納される。
スケジューラプログラム212は、出力処理プログラム214、入力処理プログラム216、および制御プログラム15について、各実行サイクルでの処理開始および処理中断後の処理再開を制御する。より具体的には、スケジューラプログラム212は、ユーザプログラム236およびモーション演算プログラム234の実行を制御する。
本実施の形態に係るCPUユニット413では、モーション演算プログラム234に適した一定周期の実行サイクル(モーション制御サイクル)を処理全体の共通サイクルとして採用する。そのため、1つのモーション制御サイクル内で、すべての処理を完了することは難しいので、実行すべき処理の優先度などに応じて、各モーション制御サイクルにおいて実行を完了すべき処理と、複数のモーション制御サイクルに亘って実行してもよい処理とが区分される。スケジューラプログラム212は、これらの区分された処理の実行順序などを管理する。より具体的には、スケジューラプログラム212は、各モーション制御サイクル期間内において、より高い優先度が与えられているプログラムほど先に実行する。
出力処理プログラム214は、ユーザプログラム236(制御プログラム15)の実行によって生成された出力データを、PLCシステムバスコントローラ120および/またはフィールドネットワークコントローラ140へ転送するのに適した形式に再配置する。PLCシステムバスコントローラ120またはフィールドネットワークコントローラ140が、マイクロプロセッサ100からの、送信を実行するための指示を必要とする場合は、出力処理プログラム214がそのような指示を発行する。
入力処理プログラム216は、PLCシステムバスコントローラ120および/またはフィールドネットワークコントローラ140によって受信された入力データを、制御プログラム15が使用するのに適した形式に再配置する。
シーケンス命令演算プログラム232は、ユーザプログラム236で使用されるある種のシーケンス命令が実行されるときに呼び出されて、その命令の内容を実現するために実行されるプログラムである。
モーション演算プログラム234は、ユーザプログラム236による指示に従って実行され、モータドライバ17に対して出力する指令値を算出するプログラムである。
その他のシステムプログラム220は、図4に個別に示したプログラム以外の、コントローラ14の各種機能を実現するためのプログラム群をまとめて示したものである。その他のシステムプログラム220は、モーション制御サイクルの周期を設定するプログラム222を含む。
モーション制御サイクルの周期は、制御目的に応じて適宜設定することができる。典型的には、モーション制御サイクルの周期を指定する情報をユーザがPC6へ入力する。すると、その入力された情報は、PC6からCPUユニット413へ転送される。モーション制御サイクルの周期を設定するプログラム222は、PC6からの情報を不揮発性メモリ106に格納させるとともに、システムタイマ108から指定されたモーション制御サイクルの周期で割り込み信号が発生されるように、システムタイマ108を設定する。CPUユニット413への電源投入時に、モーション制御サイクルの周期を設定するプログラム222が実行されることで、モーション制御サイクルの周期を指定する情報が不揮発性メモリ106から読み出され、読み出された情報に従ってシステムタイマ108が設定される。
モーション制御サイクルの周期を指定する情報の形式としては、モーション制御サイクルの周期を示す時間の値や、モーション制御サイクルの周期に関する予め用意された複数の選択肢のうちから1つを特定する情報(番号または文字)などを採用することができる。
本実施の形態に係るCPUユニット413において、モーション制御サイクルの周期を設定する手段としては、モーション制御サイクルの周期を指定する情報を取得するために用いられるPC6との通信手段、モーション制御サイクルの周期を設定するプログラム222、ならびにモーション制御サイクルを規定する割り込み信号の周期を任意に設定可能に構成されているシステムタイマ108の構成といった、モーション制御サイクルの周期を任意の設定するために用いられる要素が該当する。
リアルタイムOS200は、複数のプログラムを時間の経過に従い切り換えて実行するための環境を提供する。本実施の形態に係るコントローラ14においては、CPUユニット413のプログラム実行によって生成された出力データを他のユニットまたは他の装置へ出力(送信)するためのイベント(割り込み)として、出力準備割り込み(P)およびフィールドネットワーク送信割り込み(X)が初期設定される。リアルタイムOS200は、出力準備割り込み(P)またはフィールドネットワーク送信割り込み(X)が発生すると、マイクロプロセッサ100での実行対象を、割り込み発生時点で実行中のプログラムからスケジューラプログラム212に切り換える。なお、リアルタイムOS200は、スケジューラプログラム212およびスケジューラプログラム212がその実行を制御するプログラムが何ら実行されていない場合に、その他のシステムプログラム210に含まれているプログラムを実行する。このようなプログラムとしては、たとえば、CPUユニット413とPC6との間の接続ケーブル22(USB)などを介した通信処理に関するものが含まれる。
<C.PC6>
(c1.ハードウェア構成)
図5は、PC6のハードウェア構成を説明する図である。図5を参照して、本発明の実施の形態に従うPC6は、CPU901と、ROM902、RAM903、およびHDD904と、CD−ROM駆動装置908と、通信IF909と、モニタ907と、キーボード905およびマウス906とを含む。なお、これらの部位は、内部バス910を介して互いに接続される。
(c1.ハードウェア構成)
図5は、PC6のハードウェア構成を説明する図である。図5を参照して、本発明の実施の形態に従うPC6は、CPU901と、ROM902、RAM903、およびHDD904と、CD−ROM駆動装置908と、通信IF909と、モニタ907と、キーボード905およびマウス906とを含む。なお、これらの部位は、内部バス910を介して互いに接続される。
HDD904は、典型的には不揮発性の磁気メモリであり、CD−ROM駆動装置908によりCD−ROM12から読取られたコントローラサポートプログラムを格納する。また、制御プログラム15も格納している。
CPU901は、HDD904に格納されている、本実施の形態に従うコントローラサポートプログラム8をRAM903などに展開して実行する。
RAM903は、揮発性メモリであり、ワークメモリとして使用される。ROM902は、一般的に、オペレーティングシステム(OS:Operating System)等のプログラムを格納している。
通信IF909は、典型的にはイーサネット(登録商標)およびUSB(Universal Serial Bus)といった汎用的な通信プロトコルをサポートし、ネットワーク4を介してサーバ2との間でデータ通信を提供するとともに、コントローラ14との間でデータ通信を提供する。
モニタ907は、液晶表示装置、CRT(Cathode Ray Tube)、プラズマディスプレイ装置などで構成され、PC6による処理結果などを表示する。キーボード905は、ユーザによるキー入力を受付け、マウス906は、ユーザによるポインティング操作を受付ける。
(c2.機能的構成)
図6は、CPU901がコントローラサポートプログラム8を実行することにより実現される機能ブロックを説明する図である。図6を参照して、ここでは、ユーザインターフェイス部802と、表示データ作成部804と、シミュレーション部806と、制御プログラム記憶部808と、制御プログラム編集部810と、コントローラインターフェイス部812と、バックアップファイル作成部814とが示されている。
図6は、CPU901がコントローラサポートプログラム8を実行することにより実現される機能ブロックを説明する図である。図6を参照して、ここでは、ユーザインターフェイス部802と、表示データ作成部804と、シミュレーション部806と、制御プログラム記憶部808と、制御プログラム編集部810と、コントローラインターフェイス部812と、バックアップファイル作成部814とが示されている。
ユーザインターフェイス部802は、PC6のモニタ907に表示するウインドウ画面の内容を作成し、また、キーボード905やマウス906によるユーザの操作を受け付ける部位である。
制御プログラム編集部810は、制御プログラムの入力および編集をユーザに行わせる。制御プログラム編集部810は、制御プログラムを実行するためにコンパイルが必要である場合はコンパイルも行う。作成された制御プログラムは、コントローラインターフェイス部812を介してコントローラ14に送られる。また、作成された制御プログラムは、HDD904の所定領域である制御プログラム記憶部808に格納される。また、制御プログラム編集部810は、コントローラインターフェイス部812を介してコントローラ14に記憶されている制御プログラム15を読み出して編集することもできる。制御プログラム編集部810は、たとえば、ユーザからの制御プログラムの変更(たとえば修正)指示を受け付け、当該指示に基づいて制御プログラムを変更する。
シミュレーション部806は、コントローラ14のシミュレータである。シミュレーション部806は、制御プログラム記憶部808に記憶された制御プログラム10に従ってコントローラ14が制御プログラム15を実行する動作をシミュレートし、コントローラ14が制御周期ごとに出力するはずの位置の指令値を算出する。
また、シミュレーション部806は、外部からの信号が到来して制御プログラムの動作に影響を与える状態をシミュレートしたり、制御プログラム15の実行自体によってコントローラ14のメモリの記憶内容などのコントローラ14の内部状態が変化して、その変化が制御プログラム15の動作に影響を与える状態をシミュレートしたりすることができる。
また、シミュレーション部806は、ユーザインターフェイス部802を介してシミュレーション実行に関するユーザの指示を受け付ける。すなわち、ユーザインターフェイス部802は、シミュレーション部806に対するユーザの指示を受け付ける手段としても働く。
表示データ作成部804は、シミュレーション部806によって作成された実行結果データの時間的な変化を表示するための表示データを作成する。表示データ作成部804は、作成した表示データをユーザインターフェイス部802に送ることによりPC6のモニタ907に表示データをグラフや文字の態様で表示する。
また、コントローラインターフェイス部812は、コントローラ14からバックアップデータを取得する。なお、バックアップデータの取得は、コントローラインターフェイス部812を介したものに限定されない。たとえば、PC6のバックアップファイル作成部814は、SD(Secure Digital)カード等のメモリカードを用いて、コントローラ14からバックアップデータを取得してもよい。以下では、説明の便宜上、コントローラインターフェイス部812がコントローラ14からバックアップデータを取得する構成を例に挙げて説明する。つまり、SDカードを用いない構成を例に挙げて説明する。また、バックアップデータの詳細については、後述する。
バックアップファイル作成部814は、複数種類のバックアップデータを用いて1つのバックアップファイルを生成する。
シミュレーション部806は、後述するリストアの指示がユーザインターフェイス部802を介して入力された場合、バックアップファイルを用いてリストアを実行する。
表示データ作成部804は、制御プログラム10を可視化した状態で、リストアの結果をモニタ907に表示させる。
バックアップファイルの生成、リストアの詳細、および表示データ作成部804によるリストアの結果表示については、以下の「<D.バックアップおよびリストア>」の項目で説明する。
以下では、バックアップデータの取得前において、PC6が、制御プログラム10と、設定情報と、制御システム1におけるユニットの構成およびスレーブの構成を表した情報(以下、ユニットおよびスレーブ情報)とを有していない場合を例に挙げて説明する。なお、「設定情報」とは、モーション軸の設定、タスクの設定等を表した情報である。
また、以下では、説明の便宜上、制御プログラムの一例としてラダープログラムを例に挙げて説明する。また、ラダープログラムによるラダー図には、ファンクションブロックが含まれるものとして説明する。また、バックアップを行なうタイミングとして、コントローラ14で異常が発生した場合を例に挙げて説明する。なお、バックアップを行なうタイミングは、コントローラ14で異常が発生した場合に限定されず、ユーザの所望する任意のタイミングで実行可能である。
<D.バックアップおよびリストア>
(d1.概要)
図7は、上述したバックアップとリストアとにおける処理の流れを説明するためのシーケンスチャートである。図7を参照して、シーケンスSQ2において、コントローラ14において異常が発生したとする。
(d1.概要)
図7は、上述したバックアップとリストアとにおける処理の流れを説明するためのシーケンスチャートである。図7を参照して、シーケンスSQ2において、コントローラ14において異常が発生したとする。
シーケンスSQ4において、PC6のコントローラインターフェイス部812は、コントローラ14から複数種類のバックアップデータを取得する。バックアップデータの種類としては、たとえば、変数情報が挙げられる。「変数情報」とは、変数の識別情報、変数の型、変数の値等を含む情報である。「変数の識別情報」とは、たとえば、変数名である。変数の型としては、たとえば、bool、int、stringが挙げられる。
シーケンスSQ6において、コントローラインターフェイス部812は、取得した複数種類のバックアップデータをバックアップファイル作成部814に送る。シーケンスSQ8において、バックアップファイル作成部814は、複数のバックアップデータから1つのバックアップファイルを作成する。具体的には、バックアップファイル作成部814は、複数種類のバックアップデータをアーカイブすることにより、1つのバックアップファイルを生成する。バックアップファイルの構成については、後述する(図8)。
シーケンスSQ10において、バックアップファイル作成部814は、生成されたバックアップファイルを、シミュレーション部806に送る。シーケンスSQ12において、シミュレーション部806は、バックアップファイルを利用して、リストアを行なう。
「リストア」とは、バックアップファイルに格納された各変数の全部または一部を、シミュレーションの変数として利用(変数を戻す)ことをいう。本実施の形態では、「リストア」とは、特に、バックアップファイルに格納された各変数のうちの入力変数の全部または一部をミュレーションの入力変数として利用し、バックアップファイルに格納された各変数のうちの出力変数の全部または一部をミュレーションの出力変数として利用することをいう。より詳しくは、「リストア」とは、制御プログラムを停止させた状態で、コントローラ14から取得された入力変数をPC6の制御プログラム10の入力変数とし、コントローラ14から取得された出力変数をPC6の制御プログラム10の出力変数として、制御プログラム10に入力することをいう。当該入力は、変数名毎に行なわれる。
ここで、シミュレーション部806は、動作モードとして、制御プログラム(たとえばラダープログラム)を実行するランモードと、制御プログラムのロジックの実行を停止するプログラムモードとを有している。上記リストアは、動作モードがプログラムモードである場合に、実行される。つまり、上記制御プログラムを停止させた状態とは、プログラムモードであることを意味する。
シーケンスSQ14において、シミュレーション部806は、変数の入力により得られた入力結果を表示データ作成部804に送る。シーケンスSQ16において、表示データ作成部804は、入力結果に基づいた表示をモニタ907に表示させる。詳しくは、表示データ作成部804は、制御プログラム10を可視化した状態で、バックアップファイルにおける入力変数と出力変数との制御プログラム10への入力結果を、モニタ907に表示させる。具体的な表示内容については、後述する(図9)。
以上により、ユーザは、コントローラ14でバックアップを実施したときの状態のスナップショット(静止状態)をPC6のモニタ907で確認することができる。なお、「スナップショット」とは、ある時点におけるメモリ内の状態(変数の状態)を取得して、データとして別途保存する処理である。
なお、たとえばラダー図では、それぞれの要素(接点等)が変数に割り当てられているため、任意のタイミングにおける変数の値および当該変数の変数名(識別情報)が分かれば、バックアップファイルにおける入力変数と出力変数とを制御プログラム10に入力でき、パワーフロー図(各接点のON/OFFなどを表示したラダー図)を表示できる。また、プログラムに属するローカル変数の場合には、プログラム名が変数情報に含まれることになる。
(d2.データ)
図8は、バックアップファイルの構成を説明するための図である。図8を参照して、バックアップファイル890は、バックアップデータ891と、バックアップデータ892と、バックアップデータ893とを含んで構成されている。つまり、バックアップファイル890は、複数種類のバックアップデータ891〜893をアーカイブしたものである。バックアップデータ891は、制御プログラム15と、設定情報とを含んでいる。バックアップデータ892は、変数情報である。変数情報は、上述したように、変数名と、変数の型と、変数の値とを含む。バックアップデータ893は、ユニットおよびスレーブ情報である。
図8は、バックアップファイルの構成を説明するための図である。図8を参照して、バックアップファイル890は、バックアップデータ891と、バックアップデータ892と、バックアップデータ893とを含んで構成されている。つまり、バックアップファイル890は、複数種類のバックアップデータ891〜893をアーカイブしたものである。バックアップデータ891は、制御プログラム15と、設定情報とを含んでいる。バックアップデータ892は、変数情報である。変数情報は、上述したように、変数名と、変数の型と、変数の値とを含む。バックアップデータ893は、ユニットおよびスレーブ情報である。
バックアップファイル890における制御プログラム15は、PC6においてシミュレーションに用いられる。つまり、バックアップファイル890における制御プログラム15は、図1における制御プログラム10として用いられる。
なお、バックアップデータの取得前において、PC6が、制御プログラム10と、設定情報と、ユニットおよびスレーブ情報とを有している場合には、バックアップファイルには、こららのプログラムおよび各情報は含まれている必要はない。つまり、バックアップファイルには、変数情報のみが含まれていればよい。
(d3.表示画面)
図9は、制御プログラム10を可視化した状態で、バックアップファイルにおける入力変数と出力変数との制御プログラム10への入力結果をモニタ907に表示させた状態を表した図である。図9を参照して、画面9070には、2つの回路(つまりロジック)が含まれている。
図9は、制御プログラム10を可視化した状態で、バックアップファイルにおける入力変数と出力変数との制御プログラム10への入力結果をモニタ907に表示させた状態を表した図である。図9を参照して、画面9070には、2つの回路(つまりロジック)が含まれている。
1つ目(上側)のラダーにおいては、名称が“aaa”である変数(program0.aaa)の現在値および名称が“bbb”である変数(program0.bbb)の現在値が、ともに“True”となっている。当該ラダーにおいては、名称が“aaa”である変数(program0.aaa)の現在値(つまりTrue)が入力となり、名称が“bbb”である変数(program0.bbb)の現在値(つまりTrue)が出力となっている。
また、2つ目(下側)のラダーにおいては、名称が“bbb”である変数(program0.bbb)の現在値が“True”であり、名称が“ccc”である変数(program0.ccc)の現在値が“FALSE”となっている。当該ラダーにおいては、名称が“bbb”である変数(program0.bbb)の現在値(つまりTrue)が入力となり、名称が“ccc”である変数(program0.ccc)の現在値(つまりFalse)が出力となっている。なお、“MCPW”との名称が付されたブロック(MC_POWER)は、ファンクションブロックである。
ユーザは、画面9070を確認することにより、どこで問題が生じているのかを容易に判断できる。たとえば、制御プログラム10,15に問題がない場合、変数(program0.bbb)の値がTrueであれば、変数(program0.ccc)の値がTrueとなるとする。この場合、ユーザは、ラダー図を見れば、変数(program0.ccc)の値が間違った結果(つまりFalse)となっていることを、容易かつ迅速に判断できる。つまり、ユーザは、2つ目のラダーにおいて問題が生じていることを、容易かつ迅速に判断できる。
なお、画面9070のウォッチウィンドウ9071にもラダー図と同じ結果が異なる表示形式で表示される。したがって、ユーザは、ウォッチウィンドウ9071を確認することによっても、制御プログラムに問題が生じているか否かを判断できる。
(d4.制御構造)
図10は、PC6における処理の流れを示したフローチャートである。図10を参照して、ステップS2において、PC6のCPU901は、コントローラ14において制御プログラム15に対して入力された入力変数および入力変数名と、制御プログラム15の実行により出力された出力変数および出力変数名とを、コントローラ14から取得する。
図10は、PC6における処理の流れを示したフローチャートである。図10を参照して、ステップS2において、PC6のCPU901は、コントローラ14において制御プログラム15に対して入力された入力変数および入力変数名と、制御プログラム15の実行により出力された出力変数および出力変数名とを、コントローラ14から取得する。
ステップS4において、CPU901は、制御プログラム10の実行を停止させた状態で、取得された入力変数を入力変数名の入力変数とし、取得された出力変数を出力変数名の出力変数として、制御プログラム10に入力する。ステップS6において、CPU901は、制御プログラム10を可視化した状態で、取得された入力変数と出力変数との制御プログラム10への入力結果をモニタ907に表示させる。
<E.変形例>
(1)上記においては、ラダープログラムを例に挙げて説明したが、これに限定されるものではない。たとえば、PLC用のプログラム言語であるストラクチャードテキスト(ST:Structured Text)に対しても適用できる。
(1)上記においては、ラダープログラムを例に挙げて説明したが、これに限定されるものではない。たとえば、PLC用のプログラム言語であるストラクチャードテキスト(ST:Structured Text)に対しても適用できる。
(2)また、入力変数および出力変数だけではなく、内部変数を表示するように、PC6を構成してもよい。なお、「内部変数」とは、入出力される変数ではなく、内部で使用される変数をいう。内部変数としては、たとえば、一時的な値を格納する変数が挙げられる。
この場合、具体的には、PC6を以下のように構成すればよい。PC6のコントローラインターフェイス部812は、複数種類のバックアップデータとして、任意のタイミングにおける制御プログラム15に対して入力された入力変数の値および当該入力変数を識別するための識別情報と、当該タイミングにおける制御プログラム15の実行により出力された出力変数の値および当該出力変数を識別するための識別情報と、当該タイミングにおける制御プログラム15の内部変数および当該内部変数を識別するための識別情報とを、コントローラ14からさらに取得する。シミュレーション部806は、制御プログラム10の実行を停止させた状態で、取得された内部変数の値を、当該内部変数の識別情報で特定される変数の値として、制御プログラム10に入力する。表示データ作成部804は、取得された入力変数の値と出力変数の値と内部変数の値との制御プログラム10への入力の結果を、制御プログラム10を可視化した状態でモニタ907に表示させる。
今回開示された実施の形態は例示であって、上記内容のみに制限されるものではない。本発明の範囲は特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
1 制御システム、2 サーバ、4 ネットワーク、6 PC、8 コントローラサポートプログラム、10,15 制御プログラム、12 CD−ROM、14 コントローラ、16 制御対象装置、17 モータドライバ、18 モータ、22 接続ケーブル、24 フィールドネットワーク、212 スケジューラプログラム、232 シーケンス命令演算プログラム、234 モーション演算プログラム、236 ユーザプログラム、411 システムバス、412 電源ユニット、413 CPUユニット、414 IOユニット、415 特殊ユニット、802 ユーザインターフェイス部、804 表示データ作成部、806 シミュレーション部、808 制御プログラム記憶部、810 制御プログラム編集部、812 コントローラインターフェイス部、814 バックアップファイル作成部、890 バックアップファイル、891〜893 バックアップデータ、901 CPU、903 RAM、907 モニタ、909 通信IF、9070 画面、9071 ウォッチウィンドウ。
Claims (8)
- 機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置であって、
任意のタイミングにおける前記第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、前記任意のタイミングにおける前記第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、前記コントローラから取得する取得手段と、
前記第1の制御プログラムと同じ処理を実行する第2の制御プログラムを記憶した記憶手段と、
前記記憶手段に記憶された第2の制御プログラムをシミュレーションするシミュレーション手段と、
前記シミュレーションの結果を表示装置に表示させる表示制御手段とを備え、
前記シミュレーション手段は、前記第2の制御プログラムの実行を停止させた状態で、前記取得された入力変数の値を前記第1の識別情報で特定される変数の値とし、前記取得された出力変数の値を前記第2の識別情報で特定される変数の値として、前記第2の制御プログラムに入力し、
前記表示制御手段は、前記取得された入力変数の値と出力変数の値との前記第2の制御プログラムへの入力の結果を、前記第2の制御プログラムを可視化した状態で前記表示装置に表示させる、情報処理装置。 - 前記取得手段は、前記コントローラから当該コントローラにおける設定情報をさらに取得し、
前記シミュレーション手段は、前記第2の制御プログラムに前記取得された設定情報をさらに入力し、
前記表示制御手段は、前記取得された入力変数と出力変数と前記設定情報とが前記第2の制御プログラムに入力された場合、前記第2の制御プログラムを可視化した状態で当該入力変数と出力変数との状態を前記表示装置に表示させる、請求項1に記載の情報処理装置。 - 前記制御プログラムは、ラダープログラムであって、
前記表示制御手段は、前記取得された入力変数と出力変数とを含むラダー図を前記表示装置に表示させる、請求項1または2に記載の情報処理装置。 - 前記シミュレーション手段は、
動作モードとして、前記ラダープログラムを実行する第1の動作モードと、前記ラダープログラムのロジックの実行を停止する第2の動作モードとを含み、
前記動作モードが前記第2の動作モードである場合に、前記取得された入力変数と出力変数との前記ラダ―プログラムへの入力を行なう、請求項3に記載の情報処理装置。 - 前記任意のタイミングは、前記コントローラによる前記機械の制御に不具合が生じたときである、請求項1から4のいずれか1項に記載の情報処理装置。
- 前記取得手段は、前記任意のタイミングにおける前記第1の制御プログラムの内部変数と、当該内部変数を識別するための第3の識別情報とを、前記コントローラからさらに取得し、
前記シミュレーション手段は、前記第2の制御プログラムの実行を停止させた状態で、前記取得された内部変数の値を前記第3の識別情報で特定される変数の値として、前記第2の制御プログラムに入力し、
前記表示制御手段は、前記取得された入力変数の値と出力変数の値と内部変数の値との前記第2の制御プログラムへの入力の結果を、前記第2の制御プログラムを可視化した状態で前記表示装置に表示させる、請求項1から5のいずれか1項に情報処理装置。 - 機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置における情報処理方法であって、
任意のタイミングにおける前記第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、前記任意のタイミングにおける前記第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、前記コントローラから取得するステップと、
前記情報処理装置において前記第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、前記取得された入力変数の値を前記第1の識別情報で特定される変数の値とし、前記取得された出力変数の値を前記第2の識別情報で特定される変数の値として、前記第2の制御プログラムに入力するステップと、
前記取得された入力変数の値と出力変数の値との前記第2の制御プログラムへの入力の結果を前記第2の制御プログラムを可視化した状態で表示装置に表示させるステップとを備える、情報処理方法。 - 機械の動きを制御するコントローラにおいて制御周期ごとに実行される第1の制御プログラムをシミュレーションする情報処理装置を制御するためのプログラムであって、
任意のタイミングにおける前記第1の制御プログラムに対して入力された入力変数の値および当該入力変数を識別するための第1の識別情報と、前記任意のタイミングにおける前記第1の制御プログラムの実行により出力された出力変数の値および当該出力変数を識別するための第2の識別情報とを、前記コントローラから取得するステップと、
前記情報処理装置において前記第1の制御プログラムと同じ処理を実行する第2の制御プログラムの実行を停止させた状態で、前記取得された入力変数の値を前記第1の識別情報で特定される変数の値とし、前記取得された出力変数の値を前記第2の識別情報で特定される変数の値として、前記第2の制御プログラムに入力するステップと、
前記取得された入力変数の値と出力変数の値との前記第2の制御プログラムへの入力の結果を前記第2の制御プログラムを可視化した状態で表示装置に表示させるステップとを、前記情報処理装置のプロセッサに実行させる、プログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012070761A JP5891891B2 (ja) | 2012-03-27 | 2012-03-27 | 情報処理装置、情報処理方法、およびプログラム |
PCT/JP2013/053963 WO2013145940A1 (ja) | 2012-03-27 | 2013-02-19 | 情報処理装置、情報処理方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012070761A JP5891891B2 (ja) | 2012-03-27 | 2012-03-27 | 情報処理装置、情報処理方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013205866A true JP2013205866A (ja) | 2013-10-07 |
JP5891891B2 JP5891891B2 (ja) | 2016-03-23 |
Family
ID=49259222
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012070761A Active JP5891891B2 (ja) | 2012-03-27 | 2012-03-27 | 情報処理装置、情報処理方法、およびプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP5891891B2 (ja) |
WO (1) | WO2013145940A1 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015125654A (ja) * | 2013-12-26 | 2015-07-06 | オムロン株式会社 | 制御装置および通信制御方法 |
JP2015125653A (ja) * | 2013-12-26 | 2015-07-06 | オムロン株式会社 | 制御装置および通信制御方法 |
EP3301582A1 (en) | 2016-09-30 | 2018-04-04 | Omron Corporation | Information processing apparatus, information processing method and program |
JP2018088277A (ja) * | 2018-02-19 | 2018-06-07 | オムロン株式会社 | 制御装置および通信制御方法 |
JP2018139162A (ja) * | 2018-06-19 | 2018-09-06 | オムロン株式会社 | 制御装置および通信制御方法 |
JP2019153134A (ja) * | 2018-03-05 | 2019-09-12 | 日本電産株式会社 | ロボット制御装置、バックアップファイルの保存方法およびプログラム |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0854907A (ja) * | 1994-08-12 | 1996-02-27 | Yokogawa Electric Corp | 検証支援システム |
-
2012
- 2012-03-27 JP JP2012070761A patent/JP5891891B2/ja active Active
-
2013
- 2013-02-19 WO PCT/JP2013/053963 patent/WO2013145940A1/ja active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0854907A (ja) * | 1994-08-12 | 1996-02-27 | Yokogawa Electric Corp | 検証支援システム |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015125654A (ja) * | 2013-12-26 | 2015-07-06 | オムロン株式会社 | 制御装置および通信制御方法 |
JP2015125653A (ja) * | 2013-12-26 | 2015-07-06 | オムロン株式会社 | 制御装置および通信制御方法 |
EP3301582A1 (en) | 2016-09-30 | 2018-04-04 | Omron Corporation | Information processing apparatus, information processing method and program |
JP2018088277A (ja) * | 2018-02-19 | 2018-06-07 | オムロン株式会社 | 制御装置および通信制御方法 |
JP2019153134A (ja) * | 2018-03-05 | 2019-09-12 | 日本電産株式会社 | ロボット制御装置、バックアップファイルの保存方法およびプログラム |
JP7249735B2 (ja) | 2018-03-05 | 2023-03-31 | 日本電産株式会社 | ロボット制御装置、バックアップファイルの保存方法およびプログラム |
JP2018139162A (ja) * | 2018-06-19 | 2018-09-06 | オムロン株式会社 | 制御装置および通信制御方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013145940A1 (ja) | 2013-10-03 |
JP5891891B2 (ja) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5891891B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP4905597B1 (ja) | コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体 | |
JP4807475B1 (ja) | 演算ユニット、出力制御方法、およびプログラム | |
JP6540166B2 (ja) | 制御装置 | |
WO2015136959A1 (ja) | 制御システム、方法、プログラムおよび情報処理装置 | |
US8977534B2 (en) | Controller support apparatus, controller support program executed on the apparatus, storage medium storing the program, and method of estimating execution time of control program | |
JP6299064B2 (ja) | 制御装置、制御方法、およびプログラム | |
JP6409557B2 (ja) | 制御装置、コントローラ・システム、出力制御方法、およびプログラム | |
JP2018097663A (ja) | 制御システム、制御プログラムおよび制御方法 | |
JP6051546B2 (ja) | 情報処理装置、シミュレーション方法、およびプログラム | |
JP6481267B2 (ja) | プログラマブル表示器 | |
US10761513B2 (en) | Information processing device, information processing method, and non-transitory computer-readable recording medium | |
EP2533114B1 (en) | Controller support device, controller support program to be executed in said device, recording medium storing said program, and method for estimating execution duration of control program | |
WO2010017835A1 (en) | A system and a method for off-line programming of an industrial robot | |
JP2016194831A (ja) | 制御装置 | |
JP6184651B1 (ja) | シミュレーション装置 | |
JP6362821B2 (ja) | 制御装置、制御方法および命令セット | |
KR101706029B1 (ko) | 시스템 구축 지원 장치 | |
JP6135247B2 (ja) | 情報処理装置および情報処理プログラム | |
JP2012194668A (ja) | Plcのcpuユニット、plc用のシステムプログラムおよびplc用のシステムプログラムを格納した記録媒体 | |
JP5212508B2 (ja) | デバッグ装置 | |
JP2012194955A (ja) | 支援装置、表示制御方法、およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150327 |
|
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: 20160126 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160208 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5891891 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |