JP2016012191A - 情報処理装置、情報処理方法、およびプログラム - Google Patents

情報処理装置、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP2016012191A
JP2016012191A JP2014132624A JP2014132624A JP2016012191A JP 2016012191 A JP2016012191 A JP 2016012191A JP 2014132624 A JP2014132624 A JP 2014132624A JP 2014132624 A JP2014132624 A JP 2014132624A JP 2016012191 A JP2016012191 A JP 2016012191A
Authority
JP
Japan
Prior art keywords
series
simulation
control
values
command values
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
JP2014132624A
Other languages
English (en)
Other versions
JP2016012191A5 (ja
Inventor
高史 藤井
Takashi Fujii
高史 藤井
正樹 浪江
Masaki Namie
正樹 浪江
美樹子 保利
Mikiko Hori
美樹子 保利
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.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to JP2014132624A priority Critical patent/JP2016012191A/ja
Priority to EP15172880.5A priority patent/EP2961061A1/en
Priority to US14/749,718 priority patent/US20150378333A1/en
Priority to CN201510357703.4A priority patent/CN105278402A/zh
Publication of JP2016012191A publication Critical patent/JP2016012191A/ja
Publication of JP2016012191A5 publication Critical patent/JP2016012191A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/042Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B17/00Systems involving the use of models or simulators of said systems
    • G05B17/02Systems involving the use of models or simulators of said systems electric
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/0004Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control
    • H02P23/0031Control strategies in general, e.g. linear type, e.g. P, PI, PID, using robust control implementing a off line learning phase to determine and store useful data for on-line control
    • HELECTRICITY
    • H02GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
    • H02PCONTROL OR REGULATION OF ELECTRIC MOTORS, ELECTRIC GENERATORS OR DYNAMO-ELECTRIC CONVERTERS; CONTROLLING TRANSFORMERS, REACTORS OR CHOKE COILS
    • H02P23/00Arrangements or methods for the control of AC motors characterised by a control method other than vector control
    • H02P23/14Estimation or adaptation of motor parameters, e.g. rotor time constant, flux, speed, current or voltage
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41112Control parameter such as motor controlled by a torque signal
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41367Estimator, state observer, space state controller

Landscapes

  • Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Databases & Information Systems (AREA)
  • Programmable Controllers (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

【課題】制御対象物のモデルを精度よく作成することが可能な情報処理装置を提供する。【解決手段】シミュレーション手段は、一連の模擬指令値を入力し、一連の模擬指令値に応答して動作する制御対象物の位置または速度の一連の模擬値を算出し、一連の模擬値を出力する。制御手段は、シミュレーション手段に対して一連の模擬指令値を与えるとともに、シミュレーション手段が出力した一連の模擬値をディスプレイに表示させる。制御手段は、制御装置が制御対象物の動作を制御するために予め定められた制御周期毎に出力する一連の実指令値および制御装置が制御周期毎に取得した制御対象物の位置または速度の一連の実値とを制御装置から取得し、一連の実指令値を一連の模擬指令値としてシミュレーション手段に与える。制御手段は、一連の実指令値を用いてシミュレーション手段が算出した一連の模擬値と対比可能な態様で一連の実値をディスプレイに表示させる。【選択図】図11

Description

本発明は、制御対象物の動作を制御する制御装置と通信する情報処理装置、情報処理方法、およびプログラムに関する。
従来、生産ライン等ではシーケンス制御が用いられている。当該シーケンス制御には、プログラマブル・ロジック・コントローラ(PLC:Programmable Logic Controller)が利用される。また、PLCに接続されるとともに、PLCの開発をサポートするサポート装置が知られている。なお、サポート装置は、典型的には、PC(Personal Computer)にて実現される。
特許文献1には、PLC等のコントローラが正しく動作しているかをデバックするための機能として、サンプリングトレース機能が開示されている。サンプリングトレース機能とは、詳しくは、指定されたタイミングで指定されたデバイスの状態を示すデータ(トレースデータ)を一定周期(サンプリング周期)で取得(サンプリング)し、取得したトレースデータを所定のメモリ(サンプリングトレースメモリ)に格納するものである。
特開2009−289131号公報
ここで、実機で構成されるPLCシステムをPC等の情報処理装置上でシミュレートする場合を検討する。この場合には、制御対象物(実機)を数式等で表したモデルをPC(Personal Computer)で生成し、当該PCにおいて、予め用意したPLCのモデルを用いて制御対象機械の動作のシミュレーションがなされることになる。
しかしながら、PLCのモデルから制御対象物のモデルに送信(出力)される指令値または出力値(操作量)と、PLC(実機)から制御対象物(実機)に送信される指令値または出力値(操作量)とは必ずしも一致しない。これは、PLC(実機)がフィードバック制御により、補正後の指令値を制御対象物に送信することがなされるためである。
それゆえ、上記のような場合には、ユーザは、シミュレーション結果を参照しても、制御対象物のモデルを精度よく作成(修正)することは困難である。
本願発明は、上記の問題点に鑑みなされたものであって、その目的は、制御対象物のモデルを精度よく作成することが可能な情報処理装置、情報処理方法、およびプログラムを提供することにある。
本発明のある局面に従うと、情報処理装置は、制御装置によって制御される制御対象物の動作を模擬し、模擬結果を表示手段に表示させる。情報処理装置は、一連の模擬指令値を入力し、一連の模擬指令値に応答して動作する制御対象物の位置または速度の一連の模擬値を算出し、一連の模擬値を出力するシミュレーション手段と、シミュレーション手段に対して一連の模擬指令値を与えるとともに、シミュレーション手段が出力した一連の模擬値を表示手段に表示させる制御手段と、制御装置と通信するための通信手段とを備える。制御手段は、さらに、制御装置が制御対象物の動作を制御するために予め定められた制御周期毎に出力する一連の実指令値および制御装置が制御周期毎に取得した制御対象物の位置または速度の一連の実値とを、通信手段を介して制御装置から取得し、一連の実指令値を一連の模擬指令値としてシミュレーション手段に与え、一連の実指令値を用いてシミュレーション手段が算出した一連の模擬値と対比可能な態様で、一連の実値を表示手段に表示させる。
好ましくは、一連の実指令値は、第1の時間間隔で制御装置から制御対象物に送信されるものであり、制御手段は、第1の時間間隔よりも長い第2の時間間隔毎に、当該第2の時間において制御装置から送信された一連の実指令値および一連の実値とを、制御装置から取得する。
好ましくは、制御装置は、複数の変数についての指令値を制御対象物に送信するものである。制御手段は、複数の変数のうちから、モデルに入力する変数を指定するための入力操作を受け付け、指定された変数についての一連の実指令値および当該一連の実指令値に基づいた一連の実値とを、制御装置から取得する。
好ましくは、制御手段は、一連の実指令値に関連付けて、一連の模擬値と一連の実値とを表示手段にグラフ表示させる。
好ましくは、制御手段は、コンピュータと、コンピュータで実行されるシミュレーション制御プログラムとにより構成される。
好ましくは、シミュレーション手段は、コンピュータと、コンピュータで実行されるシミュレーションプログラムと、制御対象物を定義したデータとにより構成される。
好ましくは、シミュレーションプログラムは、複数の制御対象物で共通のプログラムである。シミュレーション手段は、複数の制御対象物の各々についての前記データを有し、
複数の制御対象物の各々について一連の模擬値を算出して当該一連の模擬値を出力する。
好ましくは、シミュレーション手段は、コンピュータと、コンピュータで実行される制御対象物用のシミュレーションプログラムとにより構成される。
好ましくは、シミュレーション手段は、シミュレーションプログラムを、複数の制御対象物の各々に対応して有しており、複数の制御対象物の各々について一連の模擬値を算出して当該一連の模擬値を出力する。
本発明の他の局面に従うと、情報処理方法は、制御装置によって制御される制御対象物の動作を模擬し、模擬結果を表示手段に表示させる情報処理装置において実行される。情報処理方法は、一連の模擬指令値を入力し、一連の模擬指令値に応答して動作する制御対象物の位置または速度の一連の模擬値を算出し、一連の模擬値を出力するステップと、シミュレーション手段に対して一連の模擬指令値を与えるとともに、シミュレーション手段が出力した一連の模擬値を表示手段に表示させるステップと、制御装置と通信するステップと、制御装置が制御対象物の動作を制御するために予め定められた制御周期毎に出力する一連の実指令値および制御装置が制御周期毎に取得した制御対象物の位置または速度の一連の実値とを、通信手段を介して制御装置から取得するステップと、一連の実指令値を一連の模擬指令値としてシミュレーション手段に与えるステップと、一連の実指令値を用いてシミュレーション手段が算出した一連の模擬値と対比可能な態様で、一連の実値を表示手段に表示させるステップとを備える。
本発明のさらに他の局面に従うと、プログラムは、制御装置によって制御される制御対象物の動作を模擬し、模擬結果を表示手段に表示させる情報処理装置を制御する。プログラムは、一連の模擬指令値を入力し、一連の模擬指令値に応答して動作する制御対象物の位置または速度の一連の模擬値を算出し、一連の模擬値を出力するステップと、シミュレーション手段に対して一連の模擬指令値を与えるとともに、シミュレーション手段が出力した一連の模擬値を表示手段に表示させるステップと、制御装置と通信するステップと、制御装置が制御対象物の動作を制御するために予め定められた制御周期毎に出力する一連の実指令値および制御装置が制御周期毎に取得した制御対象物の位置または速度の一連の実値とを、通信手段を介して制御装置から取得するステップと、一連の実指令値を一連の模擬指令値としてシミュレーション手段に与えるステップと、一連の実指令値を用いてシミュレーション手段が算出した一連の模擬値と対比可能な態様で、一連の実値を表示手段に表示させるステップとを、情報処理装置のプロセッサに実行させる。
本発明によれば、制御対象物のモデルを精度よく作成することが可能となる。
本発明の実施の形態に係るPLCシステムの概略構成を示す模式図である。 本発明の実施の形態に係るCPUユニット13のハードウェア構成を示す模式図である。 本発明の実施の形態に係るCPUユニット13に接続して用いられるPC8のハードウェア構成を示す模式図である。 本発明の実施の形態に係るCPUユニット13で実行されるソフトウェア構成を示す模式図である。 本発明の実施の形態に係るCPUユニット13に接続して用いられるPC8のソフトウェア構成を示す模式図である。 PLCシステムSYSの機能的構成を説明するためのブロック図である。 ユーザの指示によってPLCシステムSYSが実行する各種の処理を説明するためのフローチャートである。 図7のステップS12における処理の詳細を説明するためのフローチャートである。 図7のステップS14における処理の詳細を説明するためのフローチャートである。 ディスプレイ87に表示させる画像の例を説明するための図である。 発明の技術思想を説明するための模式図である。 シミュレーション制御手段の具体的形態を説明するための図である。 シミュレーション実行手段の第1の形態を説明するための図である。 シミュレーション実行手段の第2の形態を説明するための図である。
本発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰り返さない。
<A.発明の技術思想>
図11は、本実施の形態における発明の技術思想を説明するための模式図である。図11を参照して、情報処理装置(PC)は、制御装置(PLC)によって制御される制御対象物の動作を模擬し、模擬結果を表示手段であるディスプレイに表示させる。情報処理装置は、シミュレーション実行手段と、シミュレーション制御手段と、通信手段とを備える。
シミュレーション実行手段は、一連の模擬指令値を入力し、当該一連の模擬指令値に応答して動作する制御対象物の位置または速度の一連の模擬値を算出し、当該一連の模擬値を出力する。シミュレーション制御手段は、シミュレーション実行手段に対して上記一連の模擬指令値を与えるとともに、シミュレーション実行手段が出力した上記一連の模擬値をディスプレイに表示させる。通信手段は、制御装置と通信する。
シミュレーション制御手段は、さらに、以下の処理を実行する。シミュレーション制御手段は、制御装置が制御対象物の動作を制御するために予め定められた制御周期毎に出力する一連の実指令値および制御装置が当該制御周期毎に取得した制御対象物の位置または速度の一連の実値とを、通信手段を介して制御装置から取得する。シミュレーション制御手段は、上記一連の実指令値を上記一連の模擬指令値としてシミュレーション実行手段に与える。シミュレーション制御手段は、上記一連の実指令値を用いてシミュレーション実行手段が算出した上記一連の模擬値と対比可能な態様で、上記一連の実値をディスプレイに表示させる。
上記の構成によれば、ユーザは、ディスプレイに表示されたシミュレーション結果を参照することにより、情報処理装置を用いて制御対象物のモデルを精度よく作成(修正)することが可能となる。
図12は、シミュレーション制御手段の具体的形態を説明するための図である。図12を参照して、シミュレーション制御手段は、シミュレーションを制御するシミュレーション制御プログラムと、コンピュータとで構成される。当該コンピュータは、OS(Operating System)と、コンピュータハードウェアとで構成される。なお、コンピュータハードウェアとは、CPUやメモリ等のプログラムやOSを実行するためのハードウェアである。
図13は、シミュレーション実行手段の第1の具体的形態を説明するための図である。図13(a)は、上記第1の形態における第1の例であり、図13(b)は、上記第1の形態における第2の例である。
図13(a)を参照して、シミュレーション実行手段は、制御対象物の定義データと、各制御対象物に対して共通して使用される共通シミュレーションプログラムと、コンピュータとで構成される。なお、コンピュータも、OSと、コンピュータハードウェアとで構成される。また、当該OSおよびコンピュータハードウェアは、シミュレーション制御手段におけるOSおよびコンピュータハードウェア(図12)と共通のものでよい。当該構成においては、シミュレーションする制御対象物を変更するときには、制御対象物の定義データを入れ替えることになる。
図13(b)を参照して、シミュレーション実行手段は、複数の制御対象物の定義データ(制御対象物Aの定義データ,制御対象物Bの定義データ)と、各制御対象物に対して共通して使用される共通シミュレーションプログラムと、コンピュータとで構成してもよい。当該構成の場合には、複数の制御対象物を同時にシミュレーションすることができる。
図14は、シミュレーション実行手段の第2の形態を説明するための図である。図14(a)は、上記第2の形態における第1の例であり、図14(b)は、上記第2の形態における第2の例である。
図14(a)を参照して、シミュレーション実行手段は、制御対象物のシミュレーションプログラムと、コンピュータとで構成される。なお、コンピュータも、OSと、コンピュータハードウェアとで構成される。また、当該OSおよびコンピュータハードウェアは、シミュレーション制御手段におけるOSおよびコンピュータハードウェア(図12)と共通のものでよい。当該構成においては、シミュレーションする制御対象物を変更するときには、制御対象物のシミュレーションプログラムを入れ替えることになる。
図14(b)を参照して、シミュレーション実行手段は、複数の制御対象物のシミュレーションプログラム(制御対象物Aのシミュレーションプログラム,制御対象物Bのシミュレーションプログラム)と、コンピュータとで構成してもよい。当該構成の場合には、複数の制御対象物を同時にシミュレーションすることができる。
<B.PLCシステムの構成>
図1は、本発明の実施の形態に係るPLCシステムの概略構成を示す模式図である。図1を参照して、PLCシステムSYSは、PLC1と、フィールドネットワーク2と、モータドライバ3と、モータ41と、機械42と、検出器61と、検出器69とを含む。また、PLC1には、接続ケーブル10などを介してPC8が接続される。なお、モータ41は、たとえば、ステッピングモータ(パルスモータ)である。
PLC1は、主たる演算処理を実行するCPUユニット13と、IOユニット14A,14B,14Cと、特殊ユニット15とを含む。これらのユニットは、PLCシステムバス11を介して、データを互いに遣り取りできるように構成される。また、これらのユニットには、電源ユニット12によって適切な電圧の電源が供給される。なお、以下では、IOユニット14A,14B,14Cを区別せずに任意の1つを表す場合には、「IOユニット14」と記載する。
IOユニット14は、入出力処理に関するユニットであり、データの入出力を司る。
特殊ユニット15は、アナログデータの入出力、温度制御、特定の通信方式による通信といった、IOユニット14ではサポートしない機能を有する。本実施の形態では、特殊ユニット15は、パルスを出力する。なお、特殊ユニット15は、広義には、IOユニットの一種である。
フィールドネットワーク2は、CPUユニット13と遣り取りされる各種データを伝送する。フィールドネットワーク2としては、典型的には、各種の産業用イーサネット(登録商標)を用いることができる。
なお、図1には、PLCシステムバス11およびフィールドネットワーク2の両方を有するPLCシステムSYSを例示するが、一方のみを搭載するシステム構成を採用することもできる。たとえば、フィールドネットワーク2ですべてのユニットを接続してもよい。
モータドライバ3は、PLCシステムバス11を介して特殊ユニット15と接続されるとともに、CPUユニット13からの指令値に従ってモータ41を駆動する。より具体的には、モータドライバ3は、PLC1から一定周期で、位置指令値、速度指令値、トルク指令値といった指令値を受ける。詳しくは、モータドライバ3は、CPUユニット13から、PLCシステムバス11および特殊ユニット15を介して、上記指令値を受け取る。
検出器61は、IOユニット14Bと通信可能に接続されている。検出器61は、位置センサ(ロータリーエンコーダ)やトルクセンサである。検出器61は、位置、速度(典型的には、今回位置と前回位置との差から算出される)、トルクといった機械42の動作に係る各種の値を検出する。検出器61は、検出した値(実測値)を、IOユニット14Bに送る。この場合、IOユニット14Bは、当該実測値をCPUユニット13に送る。
CPUユニット13は、IOユニット14Bから実測値を受け取ると、当該実測値に基づいて、以降に送信する指令値の値を基準となる値から補正する。つまり、CPUユニット13は、検出器61から取得した実測値を利用してフィードバック制御を行なう。一例として、CPUユニット13は、PID(Proportional Integral Derivative)制御を行なう。CPUユニット13の詳細については、図2を参照して後述する。
検出器69は、IOユニット14Aと通信可能に接続されている。検出器69は、たとえば、機械42によって加工されるワークが予め定められた位置に到達したか否かを検出する。検出器69は、検出結果(オンまたたオフ)を、IOユニット14Aに送る。なお、IOユニット14Aは、PLCシステムバス11を介して、検出器69から受け付けた検出結果をCPUユニット13に送る。
ところで、図1には、ステッピングモータ(モータ41)とステッピングモータドライバ(モータドライバ3)とを組み合わせたシステム例を示しているが、その他の構成、たとえば、サーボモータとサーボモータドライバとを組み合わせたシステムを採用することもできる。
また、PLCシステムSYSが導入される制御対象物4としては、たとえば、包装機、マスキング装置、焼成炉、移動用チャンバと複数の処理用チャンバとを備えたウェーハカセット等の様々な装置が挙げられる。
PC8は、(i)PLC1のサポート装置としての機能と、(ii)マルチドメインシミュレーションおよびモデルベースデザイン(MBD:Model Based Design)のためのブロック線図によるアルゴリズム開発環境とを提供する。当該環境として、動的システムのモデル化およびシミュレーションのためのグラフィカルエディタ、カスタマイズ可能なブロックライブラリ、ならびにソルバが用意されている。当該環境は、たとえば、MathWorks社のSimulink(登録商標)といったソフトウェア製品によって提供される。
<C.ハードウェア構成>
(c1.CPUユニット13)
次に、図2を参照して、CPUユニット13のハードウェア構成について説明する。図2は、本発明の実施の形態に係るCPUユニット13のハードウェア構成を示す模式図である。図2を参照して、CPUユニット13は、マイクロプロセッサ100と、チップセット102と、メインメモリ104と、不揮発性メモリ106と、システムタイマ108と、PLCシステムバスコントローラ120と、フィールドネットワークコントローラ140と、USBコネクタ110とを含む。チップセット102と他のコンポーネントとの間は、各種のバスを介してそれぞれ結合されている。
CPUユニット13は、記憶手段として、メインメモリ104および不揮発性メモリ106を有する。メインメモリ104は、揮発性の記憶領域(RAM)であり、CPUユニット13への電源投入後にマイクロプロセッサ100で実行されるべき各種プログラムを保持する。不揮発性メモリ106は、リアルタイムOS(Operating System)、PLC1のシステムプログラム、ユーザプログラム、モーション演算プログラム、システム設定パラメータといったデータを不揮発的に保持する。システムタイマ108は、一定周期ごとに割り込み信号を発生してマイクロプロセッサ100に提供する。
CPUユニット13は、通信回路として、PLCシステムバスコントローラ120およびフィールドネットワークコントローラ140を有する。バッファメモリ126は、図1に示したPLCシステムバス11を介して他のユニットへ出力されるデータ(以下「出力データ」とも称す。)の送信バッファ、および、PLCシステムバス11を介して他のユニットから入力されるデータ(以下「入力データ」とも称す。)の受信バッファとして機能する。DMA制御回路122は、メインメモリ104からバッファメモリ126への出力データの転送、および、バッファメモリ126からメインメモリ104への入力データの転送を行なう。PLCシステムバス制御回路124は、PLCシステムバス11に接続される他のユニットとの間で、バッファメモリ126の出力データを送信する処理および入力データを受信してバッファメモリ126に格納する処理を行なう。
フィールドネットワークコントローラ140は、図1に示したフィールドネットワーク2を介したデータの遣り取りを制御する。DMA制御回路142は、メインメモリ104からバッファメモリ146への出力データの転送、および、バッファメモリ146からメインメモリ104への入力データの転送を行なう。フィールドネットワーク制御回路144は、フィールドネットワーク2に接続される他の装置との間で、バッファメモリ146の出力データを送信する処理および入力データを受信してバッファメモリ146に格納する処理を行なう。USBコネクタ110は、PC8とCPUユニット13とを接続するためのインターフェイスである。
(c2.PC8)
図3は、本発明の実施の形態に係るCPUユニット13に接続して用いられるPC8のハードウェア構成を示す模式図である。図3を参照して、PC8は、典型的には、汎用のコンピュータで構成される。なお、メンテナンス性の観点からは、可搬性に優れたノート型のパーソナルコンピュータが好ましい。
図3を参照して、PC8は、OSを含む各種プログラムを実行するCPU81と、BIOSや各種データを格納するROM(Read Only Memory)82と、CPU81でのプログラムの実行に必要なデータを格納するための作業領域を提供するメモリRAM83と、CPU81で実行されるプログラムなどを不揮発的に格納するハードディスク(HDD)84とを含む。
PC8は、さらに、ユーザからの操作を受け付けるキーボード85およびマウス86と、情報をユーザに提示するためのディスプレイ87とを含む。さらに、PC8は、図1に示したPLC1(CPUユニット13)などと通信するための通信インターフェイス(IF)を含む。
後述するように、PC8で実行される各種プログラムは、DVD−ROM9に格納されて流通する。このDVD−ROM9に格納されたプログラムは、DVD−ROM(Compact Disk-Read Only Memory)ドライブ88によって読取られ、ハードディスク(HDD)84などへ格納される。あるいは、上位のホストコンピュータなどからネットワークを通じてプログラムをダウンロードするように構成してもよい。
上述したように、PC8は、汎用的なコンピュータを用いて実現されるので、これ以上の詳細な説明は行わない。
<D.ソフトウェア構成>
(d1.CPUユニット13)
次に、図4を参照して、CPUユニット13の各種機能を提供するためのソフトウェア群について説明する。これらのソフトウェアに含まれる命令コードは、適切なタイミングで読み出され、CPUユニット13における図2に示したマイクロプロセッサ100によって実行される。
図4は、本発明の実施の形態に係るCPUユニット13で実行されるソフトウェア構成を示す模式図である。図4を参照して、CPUユニット13で実行されるソフトウェアとしては、リアルタイムOS200と、システムプログラム210と、ユーザプログラム236との3階層になっている。
リアルタイムOS200は、CPUユニット13のコンピュータアーキテクチャに応じて設計されており、マイクロプロセッサ100がシステムプログラム210およびユーザプログラム236を実行するための基本的な実行環境を提供する。このリアルタイムOSは、典型的には、PLCのメーカーあるいは専門のソフトウェア会社などによって提供される。
システムプログラム210は、PLC1としての機能を提供するためのソフトウェア群である。具体的には、システムプログラム210は、スケジューラプログラム212と、出力処理プログラム214と、入力処理プログラム216と、シーケンス命令演算プログラム232と、モーション演算プログラム234と、その他のシステムプログラム220とを含む。なお、一般には出力処理プログラム214および入力処理プログラム216は、連続的(一体として)に実行されるので、これらのプログラムを、IO処理プログラム218と総称する場合もある。
ユーザプログラム236は、ユーザにおける制御目的に応じて作成される。すなわち、PLCシステムSYSを用いて制御する対象のライン(プロセス)などに応じて、任意に設計されるプログラムである。
後述するように、ユーザプログラム236は、シーケンス命令演算プログラム232およびモーション演算プログラム234と協働して、ユーザにおける制御目的を実現する。すなわち、ユーザプログラム236は、シーケンス命令演算プログラム232およびモーション演算プログラム234によって提供される命令、関数、機能モジュールなどを利用することで、プログラムされた動作を実現する。そのため、ユーザプログラム236、シーケンス命令演算プログラム232、およびモーション演算プログラム234を、制御プログラム230と総称する場合もある。
このように、CPUユニット13のマイクロプロセッサ100は、記憶手段に格納されたシステムプログラム210およびユーザプログラム236を実行する。
以下、各プログラムについてより詳細に説明する。
ユーザプログラム236は、上述したように、ユーザにおける制御目的(たとえば、対象のラインやプロセス)に応じて作成される。ユーザプログラム236は、典型的には、CPUユニット13のマイクロプロセッサ100で実行可能なオブジェクトプログラム形式になっている。このユーザプログラム236は、PC8などにおいて、ST(Structured Text)言語等のIEC(International Electrotechnical Commission) 61131−3標準で定義される言語によって記述されたソースプログラムがコンパイルされることで生成される。そして、生成されたオブジェクトプログラム形式のユーザプログラム236は、PC8から接続ケーブル10を介してCPUユニット13へ転送され、不揮発性メモリ106などに格納される。
スケジューラプログラム212は、出力処理プログラム214、入力処理プログラム216、および制御プログラム230について、各実行サイクルでの処理開始および処理中断後の処理再開を制御する。より具体的には、スケジューラプログラム212は、ユーザプログラム236およびモーション演算プログラム234の実行を制御する。
出力処理プログラム214は、ユーザプログラム236(制御プログラム230)の実行によって生成された出力データを、PLCシステムバスコントローラ120および/またはフィールドネットワークコントローラ140へ転送するのに適した形式に再配置する。PLCシステムバスコントローラ120またはフィールドネットワークコントローラ140が、マイクロプロセッサ100からの、送信を実行するための指示を必要とする場合は、出力処理プログラム214がそのような指示を発行する。
入力処理プログラム216は、PLCシステムバスコントローラ120および/またはフィールドネットワークコントローラ140によって受信された入力データを、制御プログラム230が使用するのに適した形式に再配置する。
シーケンス命令演算プログラム232は、ユーザプログラム236で使用されるある種のシーケンス命令が実行されるときに呼び出されて、その命令の内容を実現するために実行されるプログラムである。
モーション演算プログラム234は、ユーザプログラム236による指示に従って実行され、モータドライバ3やパルスモータドライバといったモータドライバに対して出力する指令値を算出するプログラムである。
その他のシステムプログラム220は、図4に個別に示したプログラム以外の、PLC1の各種機能を実現するためのプログラム群をまとめて示したものである。その他のシステムプログラム220は、モーション制御サイクルの周期を設定するプログラム222を含む。
(d2.PC8)
図5は、本発明の実施の形態に係るCPUユニット13に接続して用いられるPC8のソフトウェア構成を示す模式図である。図5を参照して、PC8ではOS310が実行され、PLCサポートモジュール320に含まれる各種のプログラムおよびシミュレーションモジュールに含まれる各種のプログラムを実行可能な環境が提供される。
PLCサポートモジュール320は、エディタプログラム321と、コンパイラプログラム322と、デバッガプログラム323と、通信プログラム326とを含む。PLCサポートモジュール320に含まれるそれぞれのプログラムは、典型的には、CD−ROM9に格納された状態で流通して、PC8にインストールされる。
エディタプログラム321は、実行可能なオブジェクトプログラム形式のユーザプログラム236を作成するための入力および編集といった機能を提供する。より具体的には、エディタプログラム321は、ユーザがキーボード85やマウス86を操作してユーザプログラム236のソース形式のユーザプログラム330を作成する機能に加えて、作成したユーザプログラム330の保存機能および編集機能を提供する。また、エディタプログラム321は、外部からのユーザプログラム330の入力を受け付ける。
コンパイラプログラム322は、ユーザプログラム330をコンパイルして、CPUユニット13のマイクロプロセッサ100で実行可能なオブジェクトプログラム形式のユーザプログラム236を生成する機能を提供する。
デバッガプログラム323は、ユーザプログラムのソースプログラムに対してデバッグを行なうための機能を提供する。このデバッグの内容としては、ソースプログラムのうちユーザが指定した範囲を部分的に実行する、ソースプログラムの実行中における変数値の時間的な変化を追跡する、といった動作を含む。
通信プログラム326は、PLC1のCPUユニット13へユーザプログラム236を転送する機能を提供する。
シミュレーションモジュール390は、上述したブロック線図環境(Simulink)用のプログラムで構成される。シミュレーションモジュール390は、ユーザプログラム330を作成するため、および当該ユーザプログラム330をシミュレートするために用いられる。シミュレーションモジュール390は、典型的には、CD−ROM9に格納された状態で流通して、PC8にインストールされる。
<E.PLCシステムSYSにおけるデータ処理>
(e1.処理の概要)
処理の詳細を説明する前に、PLCシステムSYSにおけるデータ処理の概要について説明する。
PC8は、PLC1から制御対象物4に送られる指令値(正確には、CPUユニット13によって特殊ユニット15からモータドライバ3に送信される指令値)を、CPUユニット13から受け取る。その際、PC8は、指令値(位置指令値、速度指令値、トルク指令値等)の種別を識別可能とするために、指令値を指令値の識別情報とともに受け取る。さらに、PC8は、当該指令値に基づいた制御対象物4の制御結果を、PLC1から取得する。詳しくは、PC8は、当該指令値に基づいて制御対象物4が動作したときにIOユニット14Bを介して検出器61からCPUユニット13に対して送信される制御結果を受け取る。
PC8は、PLC1から制御対象物4に送られる指令値を制御対象物4のモデルに入力することによって、シミュレーションを実行する。なお、制御対象物4のモデルは、変数の値が入力されると、当該入力された値に応じた出力を行なう構成を有する。制御対象物4のモデルは、典型的には、関数によって記述される。なお、制御対象物4のモデル以外の後述する各モデルも、典型的には、入力に応じた出力を行なう構成を有する。
さらに、PC8は、上記制御結果と上記シミュレーションの結果とをディスプレイ87に表示させる。
ここで、上記のようにPLC1が出力した指令値を用いてシミュレーションを実行する場合と、PLC1のモデル(正確には、PC8内で用意されたCPUユニット13についてのシミュレーション用のモデル(一例として、Simulinkによるモデル))から制御対象物4のモデルに指令値を送信(出力)することによってシミュレーションを実行する場合と比較する。
PLC1のモデルから制御対象物4のモデルに送信される指令値と、PLC1(実機)から制御対象物4(実機)に送信される指令値とは必ずしも一致しない。これは、PLC1(実機)がフィードバック制御により、補正後の指令値を制御対象物4に送信することがなされるためである。
それゆえ、PLC1のモデルから制御対象物4のモデルに指令値を送信することによってシミュレーションを実行する構成の場合には、ユーザは、実機での制御結果とシミュレーション結果とを比較しても、制御対象物のモデルを精度よく作成(修正)することは困難である。
その一方、上記のようにPLC1が出力した指令値を用いてシミュレーションを実行する場合には、PLC1のモデルから制御対象物4のモデルに指令値を送信する構成に比べて、ユーザは、制御対象物4のモデルを実機である制御対象物4に精度よく近づけることができる。
つまり、ユーザは、実機である制御対象物4と制御対象物のモデルM4との差異を精度よく確認することができる。その結果、ユーザは、制御対象物4のモデルを精度よく作成することが可能となる。
さらに、ユーザは、上記のように精度の高いモデルが得られることにより、精度の高いモデルが得られない場合に比べ、PC8のPLC1のモデルにおいて、PLC1における制御用のパラメータ(PID制御における各パラメータ)の値を適切に設定することができる。この場合、当該設定された値は実機であるPLC1に転送され、PLC1においてもパラメータの値として当該設定された値が利用されることになる。それゆえ、ユーザが意図する動作を実機で行わせることが可能となる。
以下、データ処理の詳細について、図6から図10に基づいて説明する。
(e2.機能的構成)
図6は、PLCシステムSYSの機能的構成を説明するためのブロック図である。図6を参照して、PLCシステムSYSは、PLC1と、PC8と、モータドライバ3と、制御対象物4と、検出器61とを備える。
PLC1は、上述したように、少なくともCPUユニット13と特殊ユニット15とIOユニット14Bとを含む。なお、CPUユニット13と特殊ユニット15とIOユニット14Bとは、上述したようにPLCシステムバス11(図6では図示せず)によって通信可能に接続されている(図1)。制御対象物4は、モータ41と、機械42とを含む。
PC8は、ディスプレイ87と、シミュレーション実行部801と、PLCサポート部802と、モデル記憶部803とを備える。シミュレーション実行部801は、通信IF部811と、表示制御部812と、PLCシステムSYSにおける各実機のシミュレーション用のモデルを含む。当該モデルとして、シミュレーション実行部801は、PLC1のシミュレーション用のモデルM1(以下、「PLCのモデルM1」と称する)と、モータドライバ3のシミュレーション用のモデルM3(以下、「モータドライバのモデルM3」)と、検出器61のシミュレーション用のモデルM61(以下、検出器のモデルM61)と、制御対象物4のシミュレーション用のモデルM4(以下、「制御対象物のモデルM4」)とを含む。
PLCのモデルM1は、PLC1の制御プログラムに対応するシミュレーション用のモデルM13(以下、「コントローラモデルM13」と称する)と、特殊ユニット15のシミュレーション用のモデルM15(以下、「特殊ユニットのモデルM15」と称する)と、IOユニット13のシミュレーション用のモデルM13(以下、「IOユニットのモデルM13」と称する)とを含む。
制御対象物のモデルM4は、モータ41のシミュレーション用のモデルM41(以下、「モータのモデルM41」と称する)と、機械42のシミュレーション用のモデルM42(以下、「機械のモデルM42」と称する)とを含む。
PLCサポート部802は、PLC1のサポート装置としての機能を実行するためのブロックである。PLCサポート部802は、制御プログラムと、通信IF部821とを含む。
通信IF部821は、PLC1(詳しくは、CPUユニット13)およびシミュレーション実行部801の通信IF部811と通信するためのインターフェイスである。
表示制御部812は、ディスプレイ87にグラフ等の各種の描画を実行する。以下、PLCシステムSYSにおける各部の動作について説明する。
<動作>
CPUユニット13は、制御プログラム230(図4)を実行することにより、指令値を特殊ユニット15を介して、モータドライバ3に送る。CPUユニット13は、一例として、1ミリ秒(1msec)毎に指令値を送信する。モータドライバ3は、受け付けた指令値に基づいてモータ41の動作を制御する。これにより、機械42(たとえば、機械42のアーム)が稼働する。
検出器61は、上述したように、モータ41の動作に係る各種の値を検出する。検出器61は、検出した値(実測値)としての制御結果をIOユニット14Bに送る。IOユニット14Bは、制御結果をCPUユニット13に送る。CPUユニット13は、制御結果を用いて、フィードバック制御を行なう。
ユーザからの指示に基づきシミュレーションが行われる場合(シミュレーションモードの場合)には、モータドライバ3に送った指令値を、PLCサポート部802が通信IF部821を介してCPUユニット13から取得する。通信IF部821は、当該指令値を、シミュレーション実行部801に送る。
より詳しくは、特殊ユニット15への指令値の送信間隔(1ミリ秒)よりも長い時間間隔(たとえば、2秒)毎に、当該時間間隔(2秒)において特殊ユニット15へ送信された各指令値がまとめて通信IF部821に送られる。2秒の間に1ミリ秒毎に送信される指令値は2000個(=2sec/1msec)存在するので、通信IF部821は、当該2000個の指令値をまとめて取得する。その結果、シミュレーション実行部801は、2秒毎に、2000個の指令値を受け取ることになる。
さらに、IOユニット14Bから受信した制御結果は、2秒毎に通信IF部821に送られる。具体的には、通信IF部821は、2秒間における2000個の指令値に対応した2000個の制御結果(実測値)を、2秒間隔で取得する。通信IF部821は、CPUユニット13から受信した制御結果をシミュレーション実行部801に送る。
以上のように、PLCサポート部802は、通信IF部821を介して一定間隔で、指令値および制御結果をCPUユニット13から取得する。より詳細には、CPUユニット13は指令値などの変数の値を一定間隔(本実施の形態では1ミリ秒)でロギングする機能があり、PLCサポート部802がCPUユニット13のロギングデータを一定間隔(本実施の形態では2秒)で読み出す。
なお、CPUユニット13は、通信IF部821に対して、指令値と制御結果とを同時に送信してもよいし、別々に送信してもよい。また、制御結果を2秒毎にまとめずに、制御結果を逐次通信IF部821に送信するように、CPUユニット13を構成してもよい。
次に、シミュレーション実行部801の動作について説明する。通信IF部811は、通信IF部821を介してCPUユニット13から送られてくる指令値と制御結果とを受信する。つまり、通信IF部811は、2秒毎に、指令値と制御結果との各々を受信する。詳しくは、通信IF部811は、2秒間においてPLC1のCPUユニット13から送信された各指令値と、IOユニット14Bを介して検出器61からCPUユニット13に対して送信された各制御結果を、CPUユニット13から取得する。通信IF部811は、制御結果(つまり、実測値)を表示制御部812に送る。
シミュレーション実行部801は、通信IF部811が受信した指令値を、シミュレーションの指令値として用いる。つまり、シミュレーション実行部801は、受信した指令値と、実機のモデルとを利用して、実機についてのシミュレーションを実行する。その際、シミュレーション実行部801は、1回に受信した2000個の指令値のうち、CPUユニット13から特殊ユニット15に送られた時間が古いのもから順に、シミュレーションの指令値として用いる。
具体的には、シミュレーション実行部801は、受信した指令値を特殊ユニットのモデルM15に送り、特殊ユニットのモデルM15はモータドライバのモデルM3に指令値を出力する。モータドライバのモデルM3は、受信した指令値を用いてモータのモデルM41を制御する。検出器のモデルM61は、機械のモデルM42の各種の出力を取得し、出力値をシミュレーション結果としてIOユニットのモデルM14Bに送る。IOユニットのモデルM14Bは、シミュレーション結果を表示制御部812に送る。
表示制御部812は、通信IF部811から受信した制御結果と、シミュレーション結果(つまり、IOユニットのモデルM14Bから受け付けたシミュレーション結果)とを、予め定められた表示態様でディスプレイ87に表示させる。なお、ユーザは、当該表示を確認することにより、機械のモデルM42を修正することになる。
また、制御結果およびシミュレーション結果に、当該結果の元となった指令値とを対応付けてディスプレイに表示させるように、表示制御部812を構成してもよい。どのデータを表示させるかは、ユーザからの指示基づき決定される。
さらに詳しく説明すると、以下のとおりである。CPUユニット13からは、数多くの種別の指令値(複数の変数(入力変数等)についての指令値)が出力される。たとえば、CPUユニット13から特殊ユニット15に送られる指令値についても、複数のモータドライバ3毎に、位置指令値、速度指令値、トルク指令値等の各種の指令値が送られる。
ところで、PC8においてシミュレーションを実行する場合には、全ての種別の指令値が必要となるわけではない。このような観点から、シミュレーション実行部801は、以下の構成を有している。シミュレーション実行部801は、複数の変数のうちから、制御対象物のモデルM4(正確には、モータのモデルM41)に入力する変数を指定するための入力操作を受け付ける。シミュレーション実行部801は、指定された変数についての指令値および当該指令値に対する制御結果とを、PLCサポート部802を介してPLC1から取得する。
当該構成によれば、PC8は、シミュレーションの実行に必要な変数の指令値と、当該指令値に基づく制御結果のみを得ることができる。それゆえ、PC8は、不要なデータを取得せずに済む。
(e3.制御構造)
図7は、ユーザの指示によってPLCシステムSYSが実行する各種の処理を説明するためのフローチャートである。図7を参照して、ステップS2において、ユーザは、PC8のシミュレーション実行部801によって、コントローラモデルM13を作成する。なお、コントローラモデルM13が既に作成されている場合には、ステップS2の処理は不要である。
ステップS4において、ユーザは、シミュレーション実行部801によって、制御対象物のモデルM4(シミュレーション用の制御対象物4のモデル)を作成する。ステップS6において、シミュレーション実行部801は、コントローラモデルM13を制御プログラムに変換する。これにより、PLCサポート部802は、コントローラモデルM13のソースプログラムを得る。ステップS10において、PLCサポート部802は、ソースプログラムをコンパイルした後、当該コンパイルにより得られたオブジェクトプログラムをCPUユニット13に送信する。
ステップS12において、ユーザの指示に基づき、PLC1による制御対象物4の制御が開始される。つまり、実機での動作が開始される。ステップS14において、ユーザの指示に基づき、PC8は、シミュレーション実行部801によるシミュレーションを開始する。
ステップS16において、ユーザは、制御結果(実測値)とシミュレーション結果とを確認(検証)し、シミュレーション実行部801によって制御対象物のモデルM4(特に、機械のモデルM42)の修正を行なう。また、ユーザは、必要に応じて、ステップS18において、シミュレーション実行部801によって、コントローラモデルM13のパラメータの値を修正する。具体的には、ユーザは、PID制御の制御パラメータを変更する。
図8は、図7のステップS12における処理の詳細を説明するためのフローチャートである。図8を参照して、ステップS202において、CPUユニット13は、制御プログラム230(図4)の実行開始に基づき、指令値を1ミリ秒毎に制御対象物4に送信する。詳しくは、CPUユニット13は、指令値を用いてモータ41を制御することにより、機械42を動作させる。
ステップS204において、CPUユニット13は、指令値に基づく制御結果(実測値)を指令値毎に受信し、当該制御結果に基づき指令値を修正する。つまり、CPUユニット13は、IOユニット14Bを介して検出器61から制御結果を順次受信し、フィードバック処理を実行する。
ステップS206において、複数の連続する2000個の指令値(2秒間に送信された指令値)を2秒間隔毎にまとめて、PC8が取得する。ステップS208において、複数の連続する2000個の制御結果(実測値)を2秒間隔毎にまとめて、PC8が取得する。
図9は、図7のステップS14における処理の詳細を説明するためのフローチャートである。図9を参照して、ステップS402において、PC8は、複数の連続する指令値を2秒間隔毎にPLC1(詳しくは、CPUユニット13)から受信する。ステップS404において、PC8は、複数の連続する制御結果を2秒間隔毎にPLC1(詳しくは、CPUユニット13)から受信する。
ステップS406において、シミュレーション実行部801は、PLC1から受信した各指令値を用いて、シミュレーションを開始する。ステップS408において、シミュレーション実行部801は、指令値毎のシミュレーション結果を算出する。ステップS410において、シミュレーション実行部801は、PLC1から受信した各制御結果(各実測値)と、各シミュレーション結果とを対比可能にグラフを用いて、ディスプレイ87に表示させる。
(e4.ユーザインターフェイス)
図10は、ディスプレイ87に表示させる画像の例を説明するための図である。図10を参照して、PC8のシミュレーション実行部801は、制御結果と、シミュレーション結果とを1つのグラフに表示させる。なお、PLCシステムSYSにおいては、制御結果とシミュレーション結果とは、同一の指令値に基づいた結果であるため、一対一で対応する。それゆえ、グラフの始点を時間軸で容易に一致させることができる。したがって、ユーザは、制御結果とシミュレーション結果と対比が容易となる。
(e5.比較例との対比)
次に、PLCシステムSYSを、他の構成と比較する。たとえば、以下では、PLCから、トレーサビリティ等のために記憶されている指令値および制御結果をメモリカードを用いて読み出す構成が考えられる。
通常、指令値および制御結果は、予め定められたファイルに他のデータとともに一緒に格納されている。典型的には、指令値および制御結果は、CSV(Comma-Separated Values)形式で日時のデータ等の様々なデータとともにファイルに格納される。
このような構成では、ユーザは、PC8でシミュレーションを実行しようとする場合、メモリカード等を用いてCSV形式のファイルを、PC8にコピーする操作を行なわなければならない。さらに、ユーザは、PC8において、CSV形式のファイルから必要なデータ(指令値および制御結果)を見つけ出し、当該データをコピーするとともに当該コピーしたデータを他のファイルにペーストする必要がある。
つまり、ユーザ自身による複数の操作工程が多数あり、ユーザにとっては不便である。特に、機械のモデルM42の修正が1回で終わらない場合には、当該複数の操作工程をさらに、何度も繰り返す必要がある。
その一方、上述したPLCシステムSYSを用いれば、上記比較例として挙げた構成において説明した操作工程は必要なくなる。それゆえ、PLCシステムSYSは、比較例に比べて、非常に利便性が高い。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示さ
れ、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
2 フィールドネットワーク、3 モータドライバ、4 制御対象物、8 PC、10 接続ケーブル、11 PLCシステムバス、12 電源ユニット、13 CPUユニット、14A,14B,14C IOユニット、15 特殊ユニット、41 モータ、42 機械、61,69 検出器、87 ディスプレイ、100 マイクロプロセッサ、102 チップセット、104 メインメモリ、106 不揮発性メモリ、230 制御プログラム、236,330 ユーザプログラム、320 サポートモジュール、321 エディタプログラム、322 コンパイラプログラム、323 デバッガプログラム、326 通信プログラム、390 シミュレーションモジュール、801 シミュレーション実行部、802 PLCサポート部、803 モデル記憶部、811,821 通信IF部、812 表示制御部、SYS PLCシステム。

Claims (11)

  1. 制御装置によって制御される制御対象物の動作を模擬し、模擬結果を表示手段に表示させる情報処理装置であって、
    一連の模擬指令値を入力し、前記一連の模擬指令値に応答して動作する前記制御対象物の位置または速度の一連の模擬値を算出し、前記一連の模擬値を出力するシミュレーション手段と、
    前記シミュレーション手段に対して前記一連の模擬指令値を与えるとともに、前記シミュレーション手段が出力した前記一連の模擬値を前記表示手段に表示させる制御手段と、
    前記制御装置と通信するための通信手段とを備え、
    前記制御手段は、さらに、
    前記制御装置が前記制御対象物の動作を制御するために予め定められた制御周期毎に出力する一連の実指令値および前記制御装置が前記制御周期毎に取得した前記制御対象物の位置または速度の一連の実値とを、前記通信手段を介して前記制御装置から取得し、
    前記一連の実指令値を前記一連の模擬指令値として前記シミュレーション手段に与え、
    前記一連の実指令値を用いて前記シミュレーション手段が算出した前記一連の模擬値と対比可能な態様で、前記一連の実値を前記表示手段に表示させる、情報処理装置。
  2. 前記一連の実指令値は、第1の時間間隔で前記制御装置から前記制御対象物に送信されるものであり、
    前記制御手段は、前記第1の時間間隔よりも長い第2の時間間隔毎に、当該第2の時間において前記制御装置から送信された前記一連の実指令値および前記一連の実値とを、前記制御装置から取得する、請求項1に記載の情報処理装置。
  3. 前記制御装置は、複数の変数についての前記指令値を前記制御対象物に送信するものであり、
    前記制御手段は、
    前記複数の変数のうちから、前記モデルに入力する変数を指定するための入力操作を受け付け、
    前記指定された変数についての前記一連の実指令値および当該一連の実指令値に基づいた前記一連の実値とを、前記制御装置から取得する、請求項1または2に記載の情報処理装置。
  4. 前記制御手段は、前記一連の実指令値に関連付けて、前記一連の模擬値と前記一連の実値とを前記表示手段にグラフ表示させる、請求項1から3のいずれか1項に記載の情報処理装置。
  5. 前記制御手段は、コンピュータと、前記コンピュータで実行されるシミュレーション制御プログラムとにより構成される、請求項1から4のいずれか1項に記載の情報処理装置。
  6. 前記シミュレーション手段は、コンピュータと、前記コンピュータで実行されるシミュレーションプログラムと、前記制御対象物を定義したデータとにより構成される、請求項1から4のいずれか1項に記載の情報処理装置。
  7. 前記シミュレーションプログラムは、複数の前記制御対象物で共通のプログラムであり、
    前記シミュレーション手段は、
    前記複数の制御対象物の各々についての前記データを有し、
    前記複数の制御対象物の各々について前記一連の模擬値を算出して当該一連の模擬値を出力する、請求項6に記載の情報処理装置。
  8. 前記シミュレーション手段は、コンピュータと、前記コンピュータで実行される前記制御対象物用のシミュレーションプログラムとにより構成される、請求項1から4のいずれか1項に記載の情報処理装置。
  9. 前記シミュレーション手段は、
    前記シミュレーションプログラムを、複数の前記制御対象物の各々に対応して有しており、
    前記複数の制御対象物の各々について前記一連の模擬値を算出して当該一連の模擬値を出力する、請求項8に記載の情報処理装置。
  10. 制御装置によって制御される制御対象物の動作を模擬し、模擬結果を表示手段に表示させる情報処理装置における情報処理方法であって、
    一連の模擬指令値を入力し、前記一連の模擬指令値に応答して動作する前記制御対象物の位置または速度の一連の模擬値を算出し、前記一連の模擬値を出力するステップと、
    前記シミュレーション手段に対して前記一連の模擬指令値を与えるとともに、前記シミュレーション手段が出力した前記一連の模擬値を前記表示手段に表示させるステップと、
    前記制御装置と通信するステップと、
    前記制御装置が前記制御対象物の動作を制御するために予め定められた制御周期毎に出力する一連の実指令値および前記制御装置が前記制御周期毎に取得した前記制御対象物の位置または速度の一連の実値とを、前記通信手段を介して前記制御装置から取得するステップと、
    前記一連の実指令値を前記一連の模擬指令値として前記シミュレーション手段に与えるステップと、
    前記一連の実指令値を用いて前記シミュレーション手段が算出した前記一連の模擬値と対比可能な態様で、前記一連の実値を前記表示手段に表示させるステップとを備える、情報処理方法。
  11. 制御装置によって制御される制御対象物の動作を模擬し、模擬結果を表示手段に表示させる情報処理装置を制御するためのプログラムであって、
    一連の模擬指令値を入力し、前記一連の模擬指令値に応答して動作する前記制御対象物の位置または速度の一連の模擬値を算出し、前記一連の模擬値を出力するステップと、
    前記シミュレーション手段に対して前記一連の模擬指令値を与えるとともに、前記シミュレーション手段が出力した前記一連の模擬値を前記表示手段に表示させるステップと、
    前記制御装置と通信するステップと、
    前記制御装置が前記制御対象物の動作を制御するために予め定められた制御周期毎に出力する一連の実指令値および前記制御装置が前記制御周期毎に取得した前記制御対象物の位置または速度の一連の実値とを、前記通信手段を介して前記制御装置から取得するステップと、
    前記一連の実指令値を前記一連の模擬指令値として前記シミュレーション手段に与えるステップと、
    前記一連の実指令値を用いて前記シミュレーション手段が算出した前記一連の模擬値と対比可能な態様で、前記一連の実値を前記表示手段に表示させるステップとを、前記情報処理装置のプロセッサに実行させる、プログラム。
JP2014132624A 2014-06-27 2014-06-27 情報処理装置、情報処理方法、およびプログラム Pending JP2016012191A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2014132624A JP2016012191A (ja) 2014-06-27 2014-06-27 情報処理装置、情報処理方法、およびプログラム
EP15172880.5A EP2961061A1 (en) 2014-06-27 2015-06-19 Information processing apparatus, information processing method, and program
US14/749,718 US20150378333A1 (en) 2014-06-27 2015-06-25 Information processing apparatus, information processing method, and non-transitory computer-readable storage medium
CN201510357703.4A CN105278402A (zh) 2014-06-27 2015-06-25 信息处理装置、信息处理方法以及程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014132624A JP2016012191A (ja) 2014-06-27 2014-06-27 情報処理装置、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2016012191A true JP2016012191A (ja) 2016-01-21
JP2016012191A5 JP2016012191A5 (ja) 2017-04-13

Family

ID=53483711

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014132624A Pending JP2016012191A (ja) 2014-06-27 2014-06-27 情報処理装置、情報処理方法、およびプログラム

Country Status (4)

Country Link
US (1) US20150378333A1 (ja)
EP (1) EP2961061A1 (ja)
JP (1) JP2016012191A (ja)
CN (1) CN105278402A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018120327A (ja) * 2017-01-24 2018-08-02 オムロン株式会社 制御装置、制御プログラムおよび制御システム
WO2022190559A1 (ja) * 2021-03-11 2022-09-15 オムロン株式会社 情報処理システム、方法およびプログラム
WO2022190558A1 (ja) * 2021-03-11 2022-09-15 オムロン株式会社 情報処理装置、方法およびプログラム
JP7258246B1 (ja) * 2022-04-18 2023-04-14 三菱電機株式会社 シミュレーション用プログラム、シミュレーション装置及び制御方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7037289B2 (ja) * 2017-06-26 2022-03-16 三菱重工業株式会社 制御切替装置、プラント、制御切替方法およびプログラム
JP6972873B2 (ja) * 2017-10-04 2021-11-24 オムロン株式会社 情報処理装置、情報処理方法、および情報処理プログラム
IL279689B (en) * 2018-06-22 2022-09-01 Soft Servo Systems Inc Motion control software, motion control method and motion control device
EP3693816A1 (en) * 2019-02-11 2020-08-12 Siemens Aktiengesellschaft System for validation of a control program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332360A (ja) * 2004-04-22 2005-12-02 Yokogawa Electric Corp プラント運転支援装置
JP2010003267A (ja) * 2008-06-23 2010-01-07 Toshiba Corp プラント監視装置およびプラント状態表示方法
JP2011192017A (ja) * 2010-03-15 2011-09-29 Omron Corp 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2182349C1 (ru) * 2000-10-20 2002-05-10 Журин Дмитрий Вячеславович Способ дистанционного управления (варианты) и устройства для его реализации
JP4194108B2 (ja) * 2001-10-12 2008-12-10 オムロン株式会社 情報処理装置、センサネットワークシステム、情報処理プログラム、および情報処理プログラムを記録したコンピュータ読み取り可能な記録媒体
CN100410825C (zh) * 2004-04-22 2008-08-13 横河电机株式会社 工厂运转支持系统
JP2008165324A (ja) * 2006-12-27 2008-07-17 Fanuc Ltd プログラム作成支援装置
JP4901813B2 (ja) 2008-05-30 2012-03-21 三菱電機株式会社 マルチコントローラシステム
JP5581749B2 (ja) * 2010-03-15 2014-09-03 オムロン株式会社 表示装置、表示方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP5246186B2 (ja) * 2010-03-15 2013-07-24 オムロン株式会社 コントローラサポート装置、制御プログラムのシミュレーション方法、コントローラのサポートプログラムおよびコントローラのサポートプログラムを格納したコンピュータ読み取り可能な記憶媒体
JP4905597B1 (ja) * 2011-03-15 2012-03-28 オムロン株式会社 コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体
JP6051546B2 (ja) * 2012-03-15 2016-12-27 オムロン株式会社 情報処理装置、シミュレーション方法、およびプログラム
JP2013206062A (ja) * 2012-03-28 2013-10-07 Omron Corp シミュレーション装置、シミュレーション方法、および、シミュレーションプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005332360A (ja) * 2004-04-22 2005-12-02 Yokogawa Electric Corp プラント運転支援装置
JP2010003267A (ja) * 2008-06-23 2010-01-07 Toshiba Corp プラント監視装置およびプラント状態表示方法
JP2011192017A (ja) * 2010-03-15 2011-09-29 Omron Corp 表示装置、表示制御方法、プログラム、およびコンピュータ読み取り可能な記録媒体

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018120327A (ja) * 2017-01-24 2018-08-02 オムロン株式会社 制御装置、制御プログラムおよび制御システム
WO2022190559A1 (ja) * 2021-03-11 2022-09-15 オムロン株式会社 情報処理システム、方法およびプログラム
WO2022190558A1 (ja) * 2021-03-11 2022-09-15 オムロン株式会社 情報処理装置、方法およびプログラム
JP7258246B1 (ja) * 2022-04-18 2023-04-14 三菱電機株式会社 シミュレーション用プログラム、シミュレーション装置及び制御方法

Also Published As

Publication number Publication date
CN105278402A (zh) 2016-01-27
US20150378333A1 (en) 2015-12-31
EP2961061A1 (en) 2015-12-30

Similar Documents

Publication Publication Date Title
JP2016012191A (ja) 情報処理装置、情報処理方法、およびプログラム
US10782668B2 (en) Development of control applications in augmented reality environment
JP4905597B1 (ja) コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、およびそのプログラムを格納する記録媒体
JP6469065B2 (ja) 機械学習装置及び加工時間予測装置
US7174225B2 (en) Method and system for simulating processing of a workpiece with a machine tool
US10025286B2 (en) Simulation system, programmable controller, simulation device, and engineering tool
EP3441830B1 (en) Information processing device, information processing method, and information processing program
EP3441831B1 (en) Information processing device, information processing method, and information processing program
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
US9753447B2 (en) Control unit, output control method and program
JP4748286B1 (ja) コントローラサポート装置、その装置において実行されるためのコントローラサポートプログラム、そのプログラムを格納した記録媒体、および、制御プログラムの実行時間を推定する方法
JP5891891B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20210018903A1 (en) Information processing system, information processing method, and recording medium
JP2004259112A (ja) 評価用システム及び評価方法並びにモーションコントローラ
JP6316518B1 (ja) 仮想検証システムおよび駆動制御器
CN113492414A (zh) 一种基于Web的机器人跨平台人机交互系统及实现方法
EP3291112A1 (en) Master and slave architecture for co-simulation of control systems
WO2010134198A1 (ja) シミュレーション装置およびシミュレーションプログラム
Ozana et al. Numerical methods for discretization of continuous nonlinear systems used in SIL/PIL/HIL simulations
Skýpala et al. Virtual commissioning of automated manufacturing systems—Quality-handling station case study
JP4905782B2 (ja) プラント制御システム、プラント制御方法およびプラント制御のためのプログラム
Kim Adaptation of the introductory control system laboratory apparatus for model based design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170307

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171205

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180529