JP2012198636A - コントローラ - Google Patents

コントローラ Download PDF

Info

Publication number
JP2012198636A
JP2012198636A JP2011061056A JP2011061056A JP2012198636A JP 2012198636 A JP2012198636 A JP 2012198636A JP 2011061056 A JP2011061056 A JP 2011061056A JP 2011061056 A JP2011061056 A JP 2011061056A JP 2012198636 A JP2012198636 A JP 2012198636A
Authority
JP
Japan
Prior art keywords
virtual
processing
program
controller
control 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.)
Pending
Application number
JP2011061056A
Other languages
English (en)
Inventor
Kazuhisa Suzurai
和久 鈴来
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2011061056A priority Critical patent/JP2012198636A/ja
Publication of JP2012198636A publication Critical patent/JP2012198636A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】制御プログラムをコントローラで実行する際に、制御対象の周辺装置単位に実I/Oと仮想I/Oとを切り替えて制御プログラムのI/O処理を実行できるコントローラを得る。
【解決手段】周辺装置の応答を、制御対象の周辺装置単位に構成する模擬応答プログラム3で模擬実行する。模擬応答プログラム3によって仮想I/Oとして実行するI/O一覧を保持する模擬応答I/O情報テーブル6を用いて、I/Oアクセス検出部4は制御プログラム2のI/O処理要求を実I/Oとして処理するか仮想I/Oとして処理するかを判定する。I/Oアクセス経路制御部5は、I/Oアクセス検出部4の判定結果に従って、実I/Oと仮想I/Oとを切り替えてI/O処理を実行する。
【選択図】図1

Description

この発明は、液晶製造装置や半導体製造装置といった大型装置を制御するコントローラに関するものである。
液晶製造装置や半導体製造装置といった大型装置は、ワーク配給装置やワーク搬送装置などの多種多様な周辺装置と、周辺装置の動作を制御するコントローラとを組み合わせた構成となっている。一般的に、コントローラと接続される周辺装置は、コントローラと周辺装置との間の入出力(I/O)処理によって動作が制御される。大型装置の場合は、装置を構成する周辺装置の規模に応じてI/O接続線数が増大する。
I/O処理は、コントローラで実行される制御プログラムによって実行される。制御プログラムのI/O処理に不具合があると、周辺装置の破損や誤動作を引き起こす原因となる。このため、制御プログラムのI/O処理に不具合が含まれていないことをI/O処理の動作検証によって確認し、不具合が発見された場合は制御プログラムを修正して周辺装置の破損や誤動作が発生しないようにする。
そこで、従来のI/O処理の動作検証手段として、例えば、コントローラに付属されるユーティリティプログラムを用いて、手動操作でI/O処理を実行する方法がある。
また、別の手段として、例えば特許文献1のように、周辺装置に対するI/O処理をシミュレーション実行する動作検証方法も知られている。この特許文献1では、プログラマブルコントローラで実行するユーザプログラムを改変することなく、プログラマブルコントローラでのユーザプログラムの動作のシミュレーションをパソコン上で実現する方法が開示されている。
特開平8−194506号公報
制御プログラムのI/O処理の動作検証は、(1)I/O処理をシミュレーション実行できる手段を用いて制御プログラムのI/O処理の結果を確認した後、(2)制御プログラムをコントローラで実行してI/O処理の結果を確認する、という2段階で実施されることが望ましい。(1)を実施する理由は、周辺装置を実際に動作させる前に制御プログラムのI/O処理の不具合を発見して制御プログラムを修正することによって、周辺装置の破損や誤動作を未然に防ぐためである。また、(2)を実施する理由は、周辺装置の(a)単動動作の検証、(b)連動動作の検証、(c)動作タイミングの調整、の3項目を実施するためである。単動動作とは、周辺装置の単一動作のことを意味する。例えば、アームが取り付けられたワーク配給装置において、アームを前後方向のみ動かす動作や、上下方向のみ動かす動作を指す。また、連動動作とは、周辺装置の単動動作の組合せで実現される動作のことを意味する。例えば、前述のワーク配給装置において、アームを前後方向と上下方向に動かしてワークを所望の位置に配置する動作を指す。
このような前提において、従来のように、ユーティリティプログラムを用いて手動操作で制御プログラムのI/O処理を動作検証する方法では、例えば、ワーク配給装置に対してワーク投入を指示する入力信号を、ユーティリティプログラムを用いて手動で操作することにより、このワーク投入を指示する信号と対応して、ワーク配給装置の動作を制御するための制御プログラムのI/O処理が正しく動作するかを検証することになる。この際、動作検証の作業者は、周辺装置に対する出力信号線や周辺装置からの入力信号線がコントローラの何番目のI/O接点と接続されているか、というコントローラと周辺装置との接続構成を事前に把握しておく必要がある。
このため、周辺装置を単動動作、あるいは連動動作させて制御プログラムのI/O処理を動作検証する場合、大型装置のようにI/O接続線数が多いと作業者の手動操作を必要とするI/Oが増加することになり、効率よくI/O処理の動作検証を行うことができない、という課題があった。
また、特許文献1のような従来のI/O処理の動作検証方法においては、プログラムをシミュレーションモードで実行させた場合は、パソコン上でI/O処理を模擬実行してプログラムの動作検証を行い、シミュレーションモードでない場合は、プログラマブルコントローラとコマンド通信を行って実際にI/O処理を実行させてプログラムの動作検証を行う。すなわち、シミュレーションモードか否かに基づいて、I/O処理を一括して模擬実行するか周辺装置に対して実際にI/O処理を実行するかを切り替えている。
しかしながら、装置全体のI/O処理を一括してシミュレーションモードにより模擬実行するか、一括して実際のモードに切り替えてプログラムのI/O処理を動作検証するため、個々の周辺装置単位にプログラムのI/O処理を動作検証することができない、という課題があった。
この発明は、上記のような課題を解決するためになされたものであり、制御プログラムのI/O処理をコントローラと周辺装置との間で実際に処理する実I/Oと、I/O処理を仮想実行する仮想I/Oとを、周辺装置単位に切り替えて制御プログラムのI/O処理の動作検証を実施できるコントローラを得ることを目的とする。
上記目的を達成するため、この発明は、I/O処理によって周辺装置の動作を制御する制御プログラムを実行するコントローラにおいて、前記制御プログラムはI/O処理要求をI/Oアクセス検出部に通知する手段を内部に有し、周辺装置単位に構成されて周辺装置の応答を模擬する模擬応答プログラムと対応して実I/Oから仮想I/Oへ切り替える仮想I/O情報を保持する模擬応答I/O情報テーブルと、前記模擬応答I/O情報テーブルに保持されている前記仮想I/O情報を用いて前記制御プログラムのI/O処理要求を実I/Oとして処理するか仮想I/Oとして処理するかを判定し、かつ要求されたI/O処理の結果が前記模擬応答プログラムの実行条件を満たすかを判定するI/Oアクセス検出部と、前記I/Oアクセス検出部の判定結果に従って実I/Oと仮想I/Oとを切り替えてI/O処理を実行するI/Oアクセス経路制御部とを備えたことを特徴とする。
この発明のコントローラによれば、上記のように構成したので、制御プログラムのI/O処理をコントローラと周辺装置との間で実際に処理する実I/Oと、I/O処理を仮想実行する仮想I/Oとを、周辺装置単位に切り替えて制御プログラムのI/O処理の動作検証を実施することができる。また、単動動作や連動動作といった周辺装置を段階的に動作させて制御プログラムのI/O処理を動作検証できるという、従来では実現されていない効果を有する。
この発明の実施の形態1におけるコントローラの基本構成を示す図である。 この発明の実施の形態1における模擬応答I/O情報テーブルの構成例を示す図である。 この発明の実施の形態1における制御プログラムのI/O処理を示すフローチャートである。 この発明の実施の形態1における模擬応答プログラムの動作を示すフローチャートである。 この発明の実施の形態2におけるコントローラの基本構成を示す図である。
以下、この発明の実施の形態について、図面を参照しながら詳細に説明する。
実施の形態1.
図1は、この発明の実施の形態1におけるコントローラの基本構成を示す図である。図1に示されているコントローラ1は、I/Oアクセス検出部4と、I/Oアクセス経路制御部5と、模擬応答I/O情報テーブル6と、実I/O領域71と、仮想I/O領域72と、を備え、制御プログラム2と、模擬応答プログラム3を実行する。制御プログラム2は、I/Oアクセス部21を含む。
実I/O領域71と仮想I/O領域72は、制御プログラム2や模擬応答プログラム3からメモリ読み書きアクセスと同じ手段でI/O処理を実行できるように、メモリアドレス空間7の一部として構成される。すなわち、実I/O領域71に含まれる1つのメモリアドレスは、コントローラ1と周辺装置(図示せず)との間のI/O接続線の1つが一意に特定されるように、メモリアドレス割当てが実施されている。
制御プログラム2は、コントローラ1と周辺装置との間のI/O処理を制御するためのもので、プログラミング言語(例えば、C言語)を用いて作成される。また、I/Oアクセス部21は、制御プログラム2に含まれ、制御プログラム2によるI/O処理要求をI/Oアクセス検出部4を介して実行する手段を備えている。I/Oアクセス部21を制御プログラム2に含める方法は、制御プログラム2を作成したプログラミング言語で利用可能な方法(例えば、C言語の場合は関数呼出しやマクロ)を用いればよく、本発明ではその実施形態を問わない。また、図1では、制御プログラム2が1つだけ示されているが、ユーザが所望の動作を得るために、制御プログラム2を1つ以上作成してコントローラ1で実行してもよい。
模擬応答プログラム3は、制御プログラム2によって実行されるコントローラ1と周辺装置との間のI/O処理を模擬実行するためのもので、プログラミング言語(例えば、C言語)を用いて周辺装置単位に作成される。より具体的には、周辺装置として1つのワーク配給装置と、1つのワーク搬送装置がコントローラ1に接続される場合、ワーク配給装置のI/O処理を模擬実行する1つの模擬応答プログラムと、ワーク搬送装置のI/O処理を模擬実行する別の模擬応答プログラムが、それぞれ個別の模擬応答プログラム3として作成される。すなわち、図1では、模擬応答プログラム3が1つだけ示されているが、複数の周辺装置のI/O処理を周辺装置単位に模擬実行するために、模擬応答プログラム3が1つ以上作成されてコントローラ1で実行される。
I/Oアクセス検出部4は、制御プログラム2または模擬応答プログラム3のI/O処理要求を受け、そのI/O処理を実I/Oとして処理するか、仮想I/Oとして処理するかを模擬応答I/O情報テーブル6に基づいて判定する。図2は、模擬応答I/O情報テーブル6の構成例を示す図である。I/Oアクセス検出部4は、模擬応答I/O情報テーブルの仮想I/Oリストをすべて参照し、要求されたI/Oが仮想I/Oリストに含まれている場合は、そのI/Oを仮想I/Oとして判定する。なお、図2に示した模擬応答I/O情報テーブル6の構成は一例であり、本発明の効果を制限しない限りこれ以外の構成であっても構わない。
また、I/Oアクセス検出部4は、I/O処理が書込みアクセスであった場合、その書込みアクセスの処理結果によって模擬応答プログラム3の実行条件が成立するか否かを模擬応答I/O情報テーブル6に基づいて判定する。例えば、要求されたI/O処理がY100に対する書込みアクセスで、かつI/O処理の結果Y100が1であった場合、識別子がID000である模擬応答プログラム3の実行条件が成立したと判定する。
I/Oアクセス経路制御部5は、I/Oアクセス検出部4の判定結果にしたがって、実I/Oの場合は、要求されたI/Oと対応する実I/O領域71のメモリアドレスを求めて実I/Oとして処理し、仮想I/Oの場合は、要求されたI/Oと対応する仮想I/O領域72のメモリアドレスを求めて仮想I/Oとして処理する。
図3は、制御プログラム2のI/O処理を説明するためのフローチャートである。制御プログラム2の実行中に、I/O処理要求が発生すると(ステップST11)、I/Oアクセス部21を介してI/Oアクセス検出部4にI/O処理要求が通知される。次に、I/Oアクセス検出部4が、制御プログラム2のI/O処理要求を実I/Oとして処理するか仮想I/Oとして処理するかを判定し(ステップST12)、実I/Oであると判定された場合(ステップST12のNOの場合)は、I/Oアクセス経路制御部5が、要求されたI/O処理に対応する実I/O領域71のメモリアドレスを求める。一方、ステップST12において仮想I/Oであると判定された場合(ステップST12のYESの場合)は、I/Oアクセス経路制御部5が、要求されたI/O処理に対応する仮想I/O領域72のメモリアドレスを求める。
そして、ステップST13またはステップST14で求めたメモリアドレスに対して読出しアクセスまたは書込みアクセスのI/O処理を実行する(ステップST15)。すなわち、制御プログラム2のI/O処理要求が読出しアクセスであった場合は、ステップST13またはステップST14で求めたメモリアドレスに対して読出しアクセスを実行し、制御プログラム2のI/O処理要求が書込みアクセスであった場合は、ステップST13またはステップST14で求めたメモリアドレスに対して書込みアクセスを実行する。次に、I/Oアクセス検出部4はステップST15の処理が書込みアクセスか読出しアクセスかを判定し(ステップST16)、読出しアクセスの場合(ステップST16のNOの場合)は、読出しアクセスの結果を制御プログラム2へ渡し(ステップST17)、I/O処理を完了する。一方、書込みアクセスの場合(ステップST16のYESの場合)は、さらにステップST15の処理が仮想I/Oアクセスかを判定し(ステップST18)、実I/Oである場合(ステップST18のNOの場合)は、I/O処理を完了する。また、ステップST18において仮想I/Oであると判定された場合(ステップST18のYESの場合)は、後述する図4に示したフローチャートへ進む。
図4は、模擬応答プログラム3の処理を説明するためのフローチャートである。図3のステップST16でI/O処理が書込みアクセスであった場合、かつ、ステップST15の処理が仮想I/Oアクセスであった場合、I/Oアクセス検出部4は模擬応答プログラム3の実行条件が成立したか否かを判定する(ステップST21)。そして、条件成立の場合(ステップST21のYESの場合)は、I/Oアクセス経路制御部5が、条件成立した模擬応答プログラム3を呼び出し(ステップST22)、呼び出された模擬応答プログラム3の実行結果に基づいて、仮想I/O領域72のメモリアドレスを求め、このメモリアドレスに対してステップST22で呼び出された模擬応答プログラム3の実行結果を書き込み(ステップST23)、模擬応答プログラム3の処理を完了する。また、ステップST21において条件が成立していない場合(ステップST21のNOの場合)にも、模擬応答プログラム3の処理を完了する。
このようにして、この模擬応答プログラム3に対応する周辺装置についてのみ、仮想I/Oに切り替えてI/O処理を実行することができるのである。
この実施の形態1に係るコントローラにより、周辺装置ごとに実I/Oと仮想I/Oとを切り替えて制御プログラムのI/O処理を実行する具体例について説明する。一般に、大型装置においては多数の周辺装置がコントローラに接続されているが、ここでは便宜上、周辺装置としてワーク配給装置とワーク搬送装置の2つの装置がコントローラに接続されてI/O処理の制御が行われているものとし、ワーク配給装置の模擬応答プログラムを3a、ワーク搬送装置の模擬応答プログラムを3bとして説明する。通常、何らかの不具合が発見された場合や、製品の改良、バージョンアップ等の理由により、制御プログラムの修正や変更が行われるが、ここでは、製品の改良のためにワーク配給装置に関する部分についてのみ制御プログラムが変更されたものとする。
そこで、ワーク配給装置についてのみ実I/Oから仮想I/Oに切り替えて制御プログラムの動作をシミュレーションする。この際、I/Oアクセス検出部4が、模擬応答プログラム3aのI/O処理要求を受け、模擬応答I/O情報テーブル6に基づいて、要求されたI/Oが仮想I/Oリストに含まれていることを確認し、仮想I/Oと判定する。そして、模擬応答プログラム3aの実行条件が成立しているか否かを判定し、成立している場合には、I/Oアクセス経路制御部5が、模擬応答プログラム3aを呼び出してI/O処理の模擬実行を開始し、この実行結果に基づいて、仮想I/O領域72に対するI/O処理を実行する。このようにして、模擬応答プログラム3aに対応する周辺装置であるワーク配給装置についてのみ、仮想I/Oに切り替えてI/O処理を実行することができ、制御プログラムの変更が正しく行われたか否かが検証できる。
なお、ここでは便宜上、ワーク配給装置についてのみ制御プログラムが変更されたものとして説明したが、例えば、すべての周辺装置に関する制御プログラムが変更された場合には、まずはワーク配給装置のみ仮想I/Oに切り替えて動作検証を行い、OKであれば、次にワーク配給装置は実I/Oに切り替えて、ワーク搬送装置のみ仮想I/Oに切り替えて試験を行う。このようにすれば、実行結果が正常でなかった場合に、どの周辺装置の制御プログラムに問題があるかがいち早くわかり、効率良く試験を実行することができる。
また、この実施の形態1に係るコントローラにより、個別の周辺装置における単動動作および連動動作を試験する具体例について説明する。ここでは、周辺装置としてワーク配給装置を例に説明し、説明の便宜上、ワーク配給装置はワークを掴むハンド部分と、ハンド部分を移動させるアーム部分と、から構成され、(1)ハンド開き、(2)アーム押下げ、(3)ハンド閉じ(ワーク捕獲)、(4)アーム押上げ、(5)アーム前移動、(6)アーム押下げ、(7)ハンド開き(ワーク設置)、(8)アーム押上げ、(9)ハンド閉じ、(10)アーム後移動、の10個の単動動作を、この順序で実行するものとする。
制御プログラムは、ワーク配給装置との間でI/O処理を行うことによって、ハンド部分やアーム部分を駆動するアクチュエータの動作を制御する。すなわち、単動動作試験では、前述の(1)〜(10)について、制御プログラムによるI/O処理に従ってハンド部分やアーム部分が所望の動作を得ているか否かを試験する。
例えば、(1),(3)を制御するI/Oのみ実I/Oとして設定し、それ以外を仮想I/Oとして設定する。この状態で制御プログラムを実行することによって、アーム部分を動作させることなくハンド部分の単動動作を検証できる。他の単動動作も、同様に仮想I/Oと実I/Oとを切り替えることによって個別に検証できる。
上記の手順でワーク配給装置の単動動作試験を終えた後、次にハンド部分とアーム部分の連動動作試験を実施する。例えば、(1),(2),(3),(4)を制御するI/Oを実I/Oとして設定し、それ以外を仮想I/Oとして設定する。この状態で制御プログラムを実行することによって、ハンド部分の開閉動作とアーム部分の上下動作の連動によってワークを捕獲する動作を検証できる。
ワークを捕獲する動作の試験を終えたら、次に(5)を制御するI/Oを仮想I/Oから実I/Oに切り替えて制御プログラムを実行し、ワーク捕獲からアーム部分の前移動までの動作を検証できる。最終的に、(1)〜(10)までの全I/Oを実I/Oとして設定して制御プログラムを動作させて、ワーク配給装置の一連の動作を検証することができる。
また、この実施の形態1に係るコントローラによれば、模擬応答プログラムで意図的にエラー状態を発生させた場合に、制御プログラム側で正しくリカバリ処理が実行されることを確認することもできる。
例えば、上記のワーク配給装置を例に説明すると、アーム前移動と対応する模擬応答プログラムにおいて、アームが所望の位置に達したことを通知する信号を仮想I/Oを介してコントローラに通知するものとする。そして、正常状態の試験を行う場合には、信号を仮想I/Oを介してコントローラに対して入力する模擬応答プログラムを登録し、制御プログラムを動作させて正常に処理が行われることを検証する。一方、異常状態の試験を行う場合には、信号をコントローラに対して入力しない模擬応答プログラムを登録し、リカバリ機能(例えば、装置破壊を防ぐための緊急停止)が動作するか否かを検証する。
このように、装置破壊につながる試験を、実I/Oを使って実際に装置を動作させて行うことは困難であるが、この発明によれば、制御プログラムには変更を加えずに仮想I/Oに切り替えるだけで動作検証することができる。
以上のように、この実施の形態1によれば、コントローラと周辺装置との間で実行されるI/O処理を制御する制御プログラムを実行するコントローラにおいて、周辺装置単位に構成されて当該周辺装置の応答を模擬する模擬応答プログラムと対応して実I/Oから仮想I/Oへ切り替える仮想I/O情報を保持する模擬応答I/O情報テーブルと、模擬応答I/O情報テーブルに保持されている仮想I/O情報に基づいて制御プログラムのI/O処理要求を実I/Oとして処理するか仮想I/Oとして処理するかを判定し、かつ要求されたI/O処理の結果が模擬応答プログラムの実行条件を満たすかを判定するI/Oアクセス検出部と、I/Oアクセス検出部の判定結果に従って実I/Oと仮想I/Oとを切り替えてI/O処理を実行するI/Oアクセス経路制御部とを備え、制御プログラムのI/O処理要求がI/Oアクセス検出部に通知されると、模擬応答I/O情報テーブルの仮想I/O情報に基づいて当該I/O処理要求を実I/Oとして処理するか仮想I/Oとして処理するかをI/Oアクセス検出部が判定し、I/Oアクセス経路制御部は、I/Oアクセス検出部の判定結果が実I/Oであった場合は実I/O領域に対してI/O処理を実行する一方、判定結果が仮想I/Oであった場合は仮想I/O領域に対してI/O処理を実行し、仮想I/Oの処理結果が模擬応答プログラムの実行条件を満たす場合は模擬応答プログラムを呼び出して周辺装置の応答を模擬実行するようにしたので、周辺装置単位に実I/Oと仮想I/Oと切り替えて制御プログラムのI/O処理を実行することができる。また、単動動作や連動動作といった周辺装置を段階的に動作させて制御プログラムのI/O処理を動作検証することができる。さらに、模擬応答プログラムで意図的にエラー状態を発生させた場合に、制御プログラム側でリカバリ処理が正しく実行されることを確認することもできる。
実施の形態2.
図5は、この発明の実施の形態2におけるコントローラ10の基本構成を示す図である。図1に示した実施の形態1のコントローラ1との違いは、実施の形態1における模擬応答I/O情報テーブル6と仮想I/O領域72が主記憶装置8に含まれるように配置されている点であり、これにより、実施の形態1のコントローラ1より簡素な構成となっている。なお、模擬応答I/O情報テーブル6と仮想I/O領域72の構成は実施の形態1における模擬応答I/O情報テーブル6と仮想I/O領域72と同様である。また、コントローラ10におけるその他の構成については実施の形態1と同様であるため、図1に示した構成と同一部分については同一符号を付してその説明を省略する。
主記憶装置8は、制御プログラム2や模擬応答プログラム3を実行する際に、プログラムの変数などを格納するための作業メモリとして利用されるものである。さらに、主記憶装置8によって模擬応答I/O情報テーブル6と仮想I/O領域72が含まれるような構成であっても、図3と図4で示した処理手順で実I/Oと仮想I/Oとを切り替えて制御プログラムのI/O処理が実行される。すなわち、コントローラ10の構成であっても、実施の形態1のコントローラ1と同様のI/O処理が実現される。
以上のように、この実施の形態2のコントローラによれば、実施の形態1と同様の効果に加え、コントローラの構成をより簡素化することができる。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
1,10 コントローラ、2 制御プログラム、3,3a,3b 模擬応答プログラム、4 I/Oアクセス検出部、5 I/Oアクセス経路制御部、 6 模擬応答I/O情報テーブル、 7 メモリアドレス空間、8 主記憶装置、21 I/Oアクセス部、71 実I/O領域、72 仮想I/O領域。

Claims (3)

  1. I/O処理によって周辺装置の動作を制御する制御プログラムを実行するコントローラにおいて、
    前記制御プログラムはI/O処理要求をI/Oアクセス検出部に通知する手段を内部に有し、
    周辺装置単位に構成されて周辺装置の応答を模擬する模擬応答プログラムと対応して実I/Oから仮想I/Oへ切り替える仮想I/O情報を保持する模擬応答I/O情報テーブルと、
    前記模擬応答I/O情報テーブルに保持されている前記仮想I/O情報を用いて前記制御プログラムのI/O処理要求を実I/Oとして処理するか仮想I/Oとして処理するかを判定し、かつ要求されたI/O処理の結果が前記模擬応答プログラムの実行条件を満たすかを判定するI/Oアクセス検出部と、
    前記I/Oアクセス検出部の判定結果に従って実I/Oと仮想I/Oとを切り替えてI/O処理を実行するI/Oアクセス経路制御部とを備えたことを特徴とするコントローラ。
  2. 実I/O領域と仮想I/O領域とをさらに備え、
    前記I/Oアクセス経路制御部が、前記I/Oアクセス検出部の判定結果に従って実I/O処理時は前記コントローラと周辺装置との間のI/O処理を中継する前記実I/O領域に対するI/O処理を実行する一方、仮想I/O処理時は前記仮想I/O領域に対するI/O処理を実行し、前記I/Oアクセス検出部により前記仮想I/Oの処理結果が前記模擬応答プログラムの実行条件を満たすと判定された場合は前記模擬応答プログラムを呼び出して対象となる周辺装置の応答を模擬実行することを特徴とする請求項1記載のコントローラ。
  3. 前記模擬応答I/O情報テーブルと前記仮想I/O領域とを主記憶装置の一部に配置したことを特徴とする請求項2記載のコントローラ。
JP2011061056A 2011-03-18 2011-03-18 コントローラ Pending JP2012198636A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011061056A JP2012198636A (ja) 2011-03-18 2011-03-18 コントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011061056A JP2012198636A (ja) 2011-03-18 2011-03-18 コントローラ

Publications (1)

Publication Number Publication Date
JP2012198636A true JP2012198636A (ja) 2012-10-18

Family

ID=47180816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011061056A Pending JP2012198636A (ja) 2011-03-18 2011-03-18 コントローラ

Country Status (1)

Country Link
JP (1) JP2012198636A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014157506A (ja) * 2013-02-15 2014-08-28 Omron Corp コントローラ、情報処理装置およびプログラム
WO2015137505A1 (ja) * 2014-03-14 2015-09-17 オムロン株式会社 プログラマブルコントローラおよびプログラマブルコントローラによるデバイス制御方法
WO2017138164A1 (ja) * 2016-02-08 2017-08-17 三菱電機株式会社 コントローラおよび搬送システム
CN113341936A (zh) * 2021-06-24 2021-09-03 安徽江淮汽车集团股份有限公司 基于电源控制的虚拟故障注入测试方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03235136A (ja) * 1990-02-13 1991-10-21 Nec Corp プログラム制御方式
JPH08272409A (ja) * 1995-03-31 1996-10-18 Yamatake Honeywell Co Ltd シーケンスコントローラ
JP2000267706A (ja) * 1999-03-15 2000-09-29 Nissan Motor Co Ltd シーケンス制御方法及びその装置
JP2003091310A (ja) * 2001-09-17 2003-03-28 Toshiba Corp 監視制御システム
JP2004259112A (ja) * 2003-02-27 2004-09-16 Omron Corp 評価用システム及び評価方法並びにモーションコントローラ

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03235136A (ja) * 1990-02-13 1991-10-21 Nec Corp プログラム制御方式
JPH08272409A (ja) * 1995-03-31 1996-10-18 Yamatake Honeywell Co Ltd シーケンスコントローラ
JP2000267706A (ja) * 1999-03-15 2000-09-29 Nissan Motor Co Ltd シーケンス制御方法及びその装置
JP2003091310A (ja) * 2001-09-17 2003-03-28 Toshiba Corp 監視制御システム
JP2004259112A (ja) * 2003-02-27 2004-09-16 Omron Corp 評価用システム及び評価方法並びにモーションコントローラ

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014157506A (ja) * 2013-02-15 2014-08-28 Omron Corp コントローラ、情報処理装置およびプログラム
US9984244B2 (en) 2013-02-15 2018-05-29 Omron Corporation Controller, information processing apparatus, and recording medium
WO2015137505A1 (ja) * 2014-03-14 2015-09-17 オムロン株式会社 プログラマブルコントローラおよびプログラマブルコントローラによるデバイス制御方法
JP2015176340A (ja) * 2014-03-14 2015-10-05 オムロン株式会社 プログラマブルコントローラおよびプログラマブルコントローラによるデバイス制御方法
CN106068480A (zh) * 2014-03-14 2016-11-02 欧姆龙株式会社 可编程序逻辑控制器及基于可编程序逻辑控制器的设备控制方法
WO2017138164A1 (ja) * 2016-02-08 2017-08-17 三菱電機株式会社 コントローラおよび搬送システム
JPWO2017138164A1 (ja) * 2016-02-08 2018-04-12 三菱電機株式会社 コントローラおよび搬送システム
CN108604088A (zh) * 2016-02-08 2018-09-28 三菱电机株式会社 控制器及输送系统
US10363645B2 (en) * 2016-02-08 2019-07-30 Mitsubishi Electric Corporation Controller and conveyance system
CN113341936A (zh) * 2021-06-24 2021-09-03 安徽江淮汽车集团股份有限公司 基于电源控制的虚拟故障注入测试方法
CN113341936B (zh) * 2021-06-24 2022-07-12 安徽江淮汽车集团股份有限公司 基于电源控制的虚拟故障注入测试方法

Similar Documents

Publication Publication Date Title
JP5727528B2 (ja) ロボットプログラムによりシミュレーションを行うシミュレーション装置
JP2012198636A (ja) コントローラ
TWI503835B (zh) Test apparatus and test method
JP6456051B2 (ja) ロボットシステムの制御方法、ロボットシステム、ロボットシステムの制御プログラム、及び記録媒体
KR20080065936A (ko) 동적 피드백 제어 시스템 시뮬레이팅 방법, 시뮬레이션동적 피드백 제어 시스템 준비 방법 및 동적 피드백 제어시스템 시뮬레이팅 시스템
WO2017038290A1 (ja) 検証システム、検証装置、及び、車両制御装置
US20210165650A1 (en) Seamless and safe upgrade of software intensive systems during operation
CN106908711A (zh) 一种应用于ic测试的高低温测试装置
CN108319533B (zh) 可关断地模拟控制装置内部的设备的系统和模拟器
JP6540473B2 (ja) デバッグサポートシステム
WO2018070041A1 (ja) シミュレーション装置
JP2016024798A (ja) 冗長化コントローラシステム、その待機系コントローラ
JP5900336B2 (ja) エミュレータ検証システム、エミュレータ検証方法
KR100792896B1 (ko) 자동화 설비라인의 오프라인 시운전 장치 및 그 방법
WO2021106492A1 (ja) シミュレーションシステム、シミュレーション方法、シミュレーションプログラム、ロボットの製造方法、およびロボットシステム
WO2022171325A1 (en) Plc-based support for zero-downtime upgrades of control functions
JP2008004940A (ja) 仮想テストが可能な半導体テストシステム及びその半導体テスト方法
JP6770795B2 (ja) 火力発電プラントの運転訓練用シミュレータ、及び火力発電プラントの運転訓練方法
JP7184710B2 (ja) 模擬プロセス制御装置
CN106908712A (zh) 一种应用于ic测试的高低温测试方法
JP2001195110A (ja) 数値制御装置
JP2837455B2 (ja) 分散型制御装置とそのプログラムテスト方法
JP5921449B2 (ja) コントローラ
TW202327831A (zh) 機器人或工具機的模擬裝置
JP2017027259A (ja) 機械制御プログラム作成装置、コンピュータプログラム、機械制御プログラム中のレジスタへの参照の入れ替え方法及びコンピュータにより実行可能な電子データ作成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131016

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131212

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140218