[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP3915808B2 - プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット - Google Patents

プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット Download PDF

Info

Publication number
JP3915808B2
JP3915808B2 JP2004272617A JP2004272617A JP3915808B2 JP 3915808 B2 JP3915808 B2 JP 3915808B2 JP 2004272617 A JP2004272617 A JP 2004272617A JP 2004272617 A JP2004272617 A JP 2004272617A JP 3915808 B2 JP3915808 B2 JP 3915808B2
Authority
JP
Japan
Prior art keywords
unit
cpu unit
cpu
version information
version
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.)
Expired - Fee Related
Application number
JP2004272617A
Other languages
English (en)
Other versions
JP2005122716A (ja
Inventor
英男 桶田
英輔 永野
英治 中西
賢一郎 富田
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
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 filed Critical Omron Corp
Priority to JP2004272617A priority Critical patent/JP3915808B2/ja
Priority to EP04022593A priority patent/EP1519252B1/en
Priority to DE602004006208T priority patent/DE602004006208T2/de
Priority to US10/950,171 priority patent/US7536590B2/en
Priority to CNB2004101047270A priority patent/CN100346290C/zh
Publication of JP2005122716A publication Critical patent/JP2005122716A/ja
Application granted granted Critical
Publication of JP3915808B2 publication Critical patent/JP3915808B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • 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/20Pc systems
    • G05B2219/24Pc safety
    • G05B2219/24187Redundant processors run identical programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Safety Devices In Control Systems (AREA)

Description

この発明は、プログラマブルコントローラおよびプログラマブルコントローラシステムならびにCPUユニットに関するものである。
生産工場(製造現場)に設置されるファクトリーオートメーション(FA)の制御装置として、プログラマブルコントローラ(PLC)が用いられている。このPLCは、複数のユニットから構成される。すなわち、電源供給源の電源ユニット,PLC全体の制御を統率するCPUユニット,FAの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット,アクチュエータなどに制御出力を出す出力ユニット,通信ネットワークに接続するための通信ユニットなどの各種のユニットを適宜組み合わせて構成される。
PLCのCPUユニットにおける制御は、入力ユニットで入力した信号をCPUユニットのI/Oメモリに取り込み(INリフレッシュ)、予め登録されたユーザプログラム記述言語(例えばラダー言語)で組まれたユーザプログラムに基づき論理演算をし(演算実行)、その演算実行結果をI/Oメモリに書き込んで出力ユニットに送り出し(OUTリフレッシュ)、その後、通信ユニットを介して通信ネットワーク上の他のPLCとデータ送受信を行ったり、CPUユニットに備えられた通信ポートを介して外部の機器とデータ送受信などを行ったりする(周辺処理)ことをサイクリックに繰り返し処理するようになる。なお、INリフレッシュとOUTリフレッシュと一括して行なう(I/Oリフレッシュ)場合もある。
ところで、システムの安全性,信頼性を向上するため、PLCを構成する各ユニットを二重化することが行われる。例えば、本発明が対象とするCPUユニットを二重化する場合、CPUユニットを2個設けるとともに、それら2つのCPUユニットをCPU間バスにより接続する。そして、それら2個のCPUユニットは、基本的に同一の機能を持ったものであり、同じユーザプログラムを実行する。
そして、2台のCPUユニットのうち、一方が実行系のCPUユニットとなって、実際にサイクリックな処理を行い、メモリに対して読み書きを行なったり、外部のI/O機器等との間で制御データ(I/Oデータ)の送受を行い、FAネットワークシステムの制御を司る。また、他方のCPUユニットは待機系のCPUユニットとなり、待機中は、実行系のユーザプログラムと同一のユーザプログラムを実行するものの、演算実行結果を出力することはない。そして、実行系のCPUユニットから処理結果等を受信し、待機系のCPUユニットのメモリの内容の更新を行う。これにより、待機系のCPUユニットと実行系のCPUユニットのメモリの内容の同一性が確保される。
そして、実行系のCPUユニットが故障した場合には、待機系のCPUユニットが実行系のCPUユニットに切り替わって実際の制御等の動作を行う。従って、CPUユニットに故障が発生しても、すぐにシステムが停止することなく、継続して運転できるので信頼性が向上する。
一方、CPUユニットで実行するユーザプログラムは、PLCに接続されたサポートツールを介してダウンロードされ、PLC(CPUユニット)のユーザメモリに格納される。また、PLCに格納されているユーザプログラムを修正等する場合には、サポートツールをPLCに接続するとともに、PLCに格納されているユーザプログラムをアップロードし、必要な修正をした後、修正後の新ユーザプログラムをPLCに再度ダウンロードすることが行われる。なお、サポートツールは、パーソナルコンピュータ或いは専用の周辺機器などにより実現される。
さらに、CPUユニットの二重化を図った場合、各CPUユニットに対して同一のユーザプログラムを実装する必要があるが、例えば、サポートツールから各CPUユニットに対してそれぞれユーザプログラムをダウンロードするようにすると、ユーザはダウンロード処理を2回行う必要があり煩雑である。そこで、サポートツールからは実行系側のCPUユニットに対してユーザプログラムをダウンロードし、CPUユニットが持つコピー機能により実行系側のCPUユニットは、上記ダウンロードされたユーザプログラムを待機系側のCPUユニットにコピーするようにしたものがある。
ところで、PLCは、生産方式の高度化,多様化並び技術の進歩に伴って新規の機能が付加された新機種の開発や仕様の改善、さらには、搭載ソフトウェアの機能強化などの各種のバージョンアップがされる。このバージョンアップは、処理速度の向上,機能追加などが行われるが、基本的に従来機種との互換性を持ち、旧バージョンのPLCの機能は新バージョンのPLCに継承される。したがって、旧バージョンのPLCで使用していたユーザプログラムは、そのまま新バージョンのPLCに実装することが可能となる。
また、このように機能の向上等に伴うバージョンアップの場合、形式はそのままでバージョンのみ変更することが良く行われる。そのため、バージョンが異なるものの形式が同じCPUユニットが存在するため、二重化のために実装した2つのCPUユニット(形式は一致)のバージョンが異なることが有り得る。
また、サポートツールは各PLC(CPUユニット)に対応するもので、PLCがバージョンアップされると、それに合わせてサポートツールもバージョンアップされる。すなわち、新バージョンのPLCにおいて機能拡張された場合、旧バージョンのサポートツールでは拡張された機能に対応できず、その拡張された機能をサポートするためには、それに対応したサポートツールが必要となる。もちろん、サポートツールも従来のサポートツールの機能を継承するように設計されるので、バージョンアップされたサポートツールは、旧バージョンのPLCに接続し、ユーザプログラムのダウンロードや作成・修正等が行えるようになっている。
このように、新バージョンのサポートツールは、新旧いずれのバージョンのPLCとの接続性を保証し、旧バージョンのサポートツールは旧バージョンのPLCとの接続のみ保証する。そして、旧バージョンのサポートツールが新バージョンのPLCに接続して所定のサポート処理(ユーザプログラムの追加・更新等)をすることがないように、サポートツールをPLCに接続した際に、両者間の通信でPLCの機種情報(例えば、形式とバージョンとで構成される)をサポートツールが読み出し、サポートツールは自己が保有する対応可能なPLC機種情報と照合し接続保証できるか否かを判断するようにしている。つまり、PLCとサポートツールをシリアル通信などの通信回線を介して接続し、PLCに対してPLC機種情報を取得する通信コマンドをサポートツールからPLCに発行し、その通信コマンドを受けたPLCは自己のPLC機種情報をレスポンスとして返信する。サポートツールは、自己が接続可能なPLC機種情報の一覧を記憶保持しているため、そのレスポンスを受けたサポートツールは、記憶保持した上記一覧のデータとレスポンスとして取得した現在接続しているPLCのPLC機種情報との照合を図り、接続可能か否かの判断をする。なお、係る機種確認についての技術としては例えば特許文献1に開示されている。
特開平10−97310号公報
上記した特許文献1に開示されたサポートツールを用いると、実行系のCPUユニットにユーザプログラムをダウンロードするに際し、サポートツールが機種確認をすることにより接続可能か否かの判断をするため、実行系のCPUユニットに対してはそのCPUユニットで実行可能な正しいバージョンのユーザプログラムをダウンロードすることができる。しかし、実行系側のCPUユニットから待機系側のCPUユニットにユーザプログラムをコピーする際には、サポートツールによるバージョンのチェック実行することができない。その結果、仮に実行系側のCPUユニットが新バージョンで、待機系側のCPUユニットが旧バージョンの場合には、ユーザプログラムのコピーはできるものの、待機系側のCPUユニットはユーザプログラムを順次実行し、自己が実行できない回路に至ると、停止、或いは異常な動作を行ってしまう。そのため、少なくとも待機系側の旧バージョンのCPUユニットが実行系側に切り替わると、PLCが停止することになってしまう。
一方、バージョンアップする都度形式も変えるようにすれば、同じ形式のCPUユニットを用いることにより、上記した停止の問題は生じない。しかし、バージョンアップするごとに形式が増えるため、製造メーカ並びにユーザの形式管理が煩雑となり、実用的でない。
この発明は、正常な二重化運転が可能な状態で実行系と待機系のCPUユニットを稼動させることができるプログラマブルコントローラおよびプログラマブルコントローラシステムならびにCPUユニットを提供することを目的とする。
本発明に係るプログラマブルコントローラは、2つのCPUユニットを備え、前記2つのCPUユニットは、相手の状態を確認可能とし、一方が実行系となるとともに他方が待機系となり、前記実行系のCPUユニットがダウンした場合には、前記待機系のCPUユニットが実行系に切り替わって運転を継続するプログラマブルコントローラにおいて、CPUユニットは、そのCPUユニット自体が備えている利用可能な機能を示すユニットバージョン情報を記憶保持するとともに、格納されたユーザプログラムバージョン情報を有し、前記待機系のCPUユニットのユニットバージョン情報と、前記実行系のCPUユニットが有する前記ユーザプログラムバージョン情報に基づき、前記実行系のCPUユニットが記憶保持するユーザプログラムを前記待機系のCPUユニットが実行可能か否かを判断する判断手段と、その判断手段が実行可能と判断した場合にのみ二重化運転を開始する手段を備え、その判断手段が実行可能と判断した場合にのみ二重化運転を開始する手段を備え、前記判断手段は、前記実行系のCPUユニットに実装された、前記待機系のCPUユニットからその待機系のCPUユニットが持つユニットバージョン情報を取得する取得機能と、その取得機能で取得した前記待機系のCPUユニットのユニットバージョン情報と、自己が有する前記ユーザプログラムバージョン情報を比較し、自己が記憶保持するユーザプログラムを前記待機系のCPUユニットが実行可能か否かを判断する判断機能と、を有し、前記実行系のCPUユニットは、前記取得機能が取得した前記待機系のCPUユニットのユニットバージョン情報と、自己のユニットバージョン情報とを比較し、古いユニットバージョン情報を、プログラマブルコントローラに接続される、ユーザプログラムを作成するサポートツールに通知する手段を備えた。
ここでユニットバージョン情報は、CPUユニットが備えている機能の範囲を表すものであればよい。例えば、CPUユニットが備えている機能の名称のリスト情報でも良いし、機能名称のリストに対応させた数値情報でも良い。また、ユーザプログラムバージョン情報は、当該ユーザプログラムを実行するためにCPUユニットが備えるべき機能の範囲を表すものであればよい。例えば、機能の名称のリスト情報でもよいし、機能名称のリストに対応させた数値情報でもよい。
なお、判断手段は、実施の形態では実行系のCPUユニットに実装したが、どちらのCPUユニットに備えても良いし,CPUユニット以外の他のユニットに備えても良い。さらに、CPUユニットに実装する場合は、二重化運転中に実行系のCPUユニットがダウンすると待機系のCPUユニットは実行系に切り替わるため、その後にダウンしたCPUユニットを復帰させて二重化運転を開始しようとした際には、当初待機系であったものが実行系になるため、好ましくは両方のCPUユニットに判断手段を実装することである。また、一方のCPUユニットに実装した場合には、実行系か待機系かに関係なく、その一方のCPUユニットが他方のCPUユニットから必要なバージョン情報(ユニットバージョン情報またはユーザプログラムバージョン情報)を取得し判断するようになる。
また、前記実行系のCPUユニットは、前記待機系のCPUユニットからその待機系のCPUユニットが持つユニットバージョン情報を取得する取得機能と、その取得した前記待機系のCPUユニットのユニットバージョン情報と、自己が有する前記ユーザプログラムバージョン情報を比較し、自己が記憶保持するユーザプログラムを前記待機系のCPUユニットが実行可能か否かを判断する判断機能を備え、前記取得機能および前記判断機能により、前記判断手段を構成することができる。
上記した各発明によれば、二重化運転しようとするCPUユニットのユニットバージョン情報が異なる場合でも、待機系のCPUユニットのユニットバージョン情報と実行系のCPUユニットで実行するユーザプログラムに基づくユーザプログラムバージョン情報から、待機系のCPUユニットが係るユーザプログラムを実行可能か否かを判断できる。よって、適宜のタイミング(例えば二重化運転開始時等)でチェックをすることにより、確実に二重化対応が可能な場合のみ二重化運転を開始できる。つまり、実行系のCPUユニットが実行しているユーザプログラムを実行できない待機系のCPUユニットが、そのまま稼動し、見かけ上、二重化運転を実行し、実行系のCPUユニットがダウンすると待機系のCPUユニットが実行系に切り替わり、停止するおそれを未然に防止できる。
また、前記ユーザプログラムバージョン情報並びに前記ユニットバージョン情報は、数値データで構成するとよい。このようにすると、バージョンの新旧を容易に判定できる。
また、CPUユニットは、CPUユニットの仕様を定義するデータを含むパラメータが設定され、CPUユニットは、その設定されたパラメータがどのレベルまでの仕様に対応しているかを特定するパラメータバージョン情報を有し、判断手段は、前記待機系のCPUユニットのユニットバージョン情報と、前記実行系のCPUユニットが有する前記パラメータバージョン情報と、に基づき前記待機系のCPUユニットが対応可能か否かを判断する機能を備えるようにしてもよい。
パラメータは、サポートツールによって設定することでCPUユニットの基本仕様やPLCシステムの仕様をソフトウェア的に定義することを可能とするデータや、複数のネットワークを介してPLC間でデータの送受信を行なう場合の通信経路に関するデータなどを含むものである。このパラメータを設定変更することでPLCシステム全体の動作可能範囲を複数のレベルに設定することができる。この動作可能範囲の設定例としては、例えば、機能の名称のリストで情報でもよいし、機能名称のリストに対応する数値情報でもよい。
また、「バージョン情報を有する」とは、不揮発性記憶手段等に記憶保持させていてもよいし、必要に応じて記憶保持している情報に基づいて生成することにより有するようにしても良い。
発明に係るプログラマブルコントローラシステムでは、係るプログラマブルコントローラと、そのプログラマブルコントローラに接続されたサポートツールを備えたシステムにおいて、前記サポートツールは、前記プログラマブルコントローラに対して前記ユニットバージョン情報の要求を発行し、前記プログラマブルコントローラは、前記実行系と前記待機系のCPUユニットのうち、古いユニットバージョン情報を通知するように構成するとよい。
このようにすると、サポートツールは、古いユニットバージョン情報に合わせてユーザプログラムを作成し、ダウンロードすることにより、そのダウンロードしたユーザプログラムを用いて確実に二重化運運転が実行できる。
さらに、上記した各発明を実行するに適した本発明に係るCPUユニットは、自己が備えている利用可能な機能を示すユニットバージョン情報が設定された、プログラマブルコントローラ用のCPUユニットであって、同一のプログラマブルコントローラを構成する他のCPUユニットが保有する当該他のCPUユニットが利用可能な機能を示すユニットバージョン情報を取得する手段と、その取得した前記他のCPUユニットのユニットバージョン情報と、自己に格納されたユーザプログラムに基づくユーザプログラムバージョン情報を比較し、自己が保有するユニットバージョン情報と、前記取得手段で取得した他のCPUユニットのユニットバージョン情報を比較する比較手段と、ユーザプログラムを作成するサポートツールからの読出要求に対するレスポンスとして、前記比較手段で比較して求めた前記2つのユニットバージョン情報のうち古いバージョン情報を返送する手段とを備えるようにした。

本発明では、異なるユニットバージョンが存在するCPUユニットを用いた場合でも、正常な二重化運転が可能な状態で実行系と待機系のCPUユニットを稼動させることができる。
図1は、本発明の好適な一実施の形態を実現するシステム全体を示している。図1に示すように、パソコンからなるサポートツール10とPLC20が、所定の通信回線30を介して接続されている。この通信回線30は、例えば、RS232Cなどのシリアル回線を用いて直接ケーブル接続することにより実現される。もちろん、このように直接接続するものに限ることはなく、他の通信回線を用いネットワーク経由でPLC20とサポートツール10とを接続する構成を採っても良い。そして、サポートツール10で作成(修正も含む)したユーザプログラムは、通信回線30を介してPLC20にダウンロードされる。
PLC20は、複数のユニットから構成される。すなわち、電源供給源の電源ユニット21,PLC全体の制御を統率する第1,第2CPUユニット22,22′,FAの生産装置や設備装置の適所に取り付けたスイッチやセンサの信号を入力する入力ユニット23,アクチュエータなどに制御出力を出す出力ユニット24,通信ネットワークに接続するための通信ユニット25などの各種のユニットを適宜組み合わせて構成される。そして、本システムにおいてサポートツール10からダウンロードされるユーザプログラムは、CPUユニット22,22′に記憶保持され、そこにおいて実行される。より具体的には、サポートツール10は、実行系側の第1CPUユニット22に対してユーザプログラムをダウンロードし、第1CPUユニット22は、待機系側の第2CPUユニット22′に対してユーザプログラムをコピーすることにより、第1CPUユニット22と第2CPUユニット22′は、同一内容のユーザプログラムを記憶保持するようになる。
すなわち、通信回線30を通信ユニット25に接続し、サポートツール10と第1CPUユニット22は、通信ユニット25を介して通信したり、第1CPUユニット22にシリアル回線のインタフェースを内蔵させることによりサポートツール10を直接第1CPUユニット22に連結し、ユーザプログラムのダウンロード等を行うようにしたりできる。もちろん、ユーザプログラムのダウンロードについて着目したため、サポートツール10は第1CPUユニット22と通信することについて説明したが、第2CPUユニット22′も第1CPUユニット22と同様にサポートツール10と通信する機能は持っている。
サポートツール10は、パソコンから構成され、図2に示すように、ハードウエア構成としてキーボード,ポインティングデバイス等の入力装置11と、ディスプレイ等の表示装置12と、CPU13と、記憶部14を備えている。さらに、接続されたPLC20(CPUユニット22,22′)に実装されるユーザプログラムも記憶部14に格納される。
一方、CPUユニット22,22′の内部構造は、図3に示すように構成されている。すなわち、システムプログラムは、システムROM22a,22′aに格納されており、そのシステムプロクラムは、MPU22b,22′bに呼び出され、そのMPU22b,22′bにおいて、ワークメモリとしてのシステムRAM22c,22′cを適宜使用しながら、プログラムに従った所定の処理を実行する。また、運転時において、ユーザデータの1つであるユーザプログラムは、ユーザメモリ(UM)22d,22′dに格納されている。さらに、I/Oデータやパラメータは、IOメモリ(IOM)22e,22′eに格納されている。
そして、ユーザプログラムには、後述するごとく機能性を示す機能バージョンが付与されており、この機能バージョンもユーザプログラムの一部を構成し、ユーザメモリに格納される。また、パラメータは、サポートツールによって設定することでCPUユニットの基本仕様やPLCシステムの仕様をソフト的に定義することを可能とするデータや、複数のネットワークを介してPLC間でデータの送受信を行なう場合の通信経路に関するデータなどがある。従って、このパラメータにも、どのレベルまでの仕様に対応しているかを特定するパラメータバージョンを付与して管理することができる。そして、CPUユニット全体を見ると、ユーザプログラムの機能を示す機能バージョンと、パラメータバージョンにより、アプリケーション(システム)全体の仕様・レベル(アプリバージョン)を特定できる。
本実施の形態では、CPUユニットが備えている機能の範囲を表わすユニットバージョン(CPUバージョン)と、ユーザプログラムのバージョンである機能バージョンという2種類のバージョンを用意し、後述するごとくCPUユニットの所定メモリに格納するとともに、それら2種類のバージョンを用いて二重化運転の可否等を判断するようにした。また、後述するごとく、CPUバージョンとアプリバージョンとにより二重化運転の可否等を判断するようにしてもよい。
CPUバージョンは、例えばシステムROM22aに格納される。CPUユニットは、サポートツール10等からの呼出要求を受けると、そのレスポンスとしてそれらCPUバージョンをサポートツール10に返送するようになっている。また、機能バージョンはユーザプログラムの一部として、ユーザメモリ22d,22′dに格納する。
さらに、本実施の形態では、PLC(CPUユニット)に付すCPUバージョン並びに機能バージョンは、数値で表し、バージョンアップするごとに数値も大きくする。つまり、数値が大きいほど新しいバージョンであると言えるので、係るバージョンの数値の大小関係を比較することにより、簡単にどちらが新しいバージョンであるかを判別できる。そして、新バージョンのPLC20(第1,第2CPUユニット22,22′)は、旧バージョンの機能を継承しているため、実装するユーザプログラムの機能バージョンの数値が、自己のCPUバージョンの数値以下の場合には、対応できる。なお、バージョンの数値は、整数のみ(いわゆる「メジャーバージョン」のみ)でもよいし、小数点等を適宜使用したマイナーバージョンも使用することもある。
上記した機能バージョンとCPUバージョンの関係ならびに旧バージョンの承継について、例をあげて説明すると、図4,図5のようになる。すなわち、図4はCPUバージョンと機能の関係を示す図で、CPUバージョンがアップするごとに、搭載される(利用可能な)機能が増える。そして、使用可能な機能を示す機能バージョンとCPUバージョンのバージョン番号を一致させている。つまり、CPUバージョンが1.0ならば、機能A〜Cまでが実行可能であり、係る機能A〜Cの範囲内で使用しているユーザプログラムの機能バージョンは1.0となる。同様に、CPUバージョンが2.0ならば、機能A〜Fまでが実行可能であり、係る機能A〜Fの範囲内で使用しているユーザプログラムの機能バージョンは2.0となる。よって、CPUバージョンが2.0のCPUユニットであれば、機能バージョンが2.0と1.0の両方のユーザプログラムを実行可能となる(図5参照)。
さらに、図6に模式的に示すように、実行系の第1CPUユニット22と待機系の第2CPUユニット22′は、互いのバージョン情報を確認し、比較する機能を備えている。さらに、上記したように、サポートツール10からの要求に応じて、バージョン情報を通知する機能を有する。
二重化運転可能性のチェックをするタイミングとしては、任意のタイミングで実行可能であるが、例えば、外部機器により実行系CPUユニットに格納されているユーザプログラムの一部または全部が変更された場合や、外部機器により実行系CPUユニットのパラメータが変更された場合などがある。勿論、これ以外のタイミングでチェックをしても良い。
上記した構成において、第1,第2CPUユニット22,22′は、二重化運転になる際に二重化運転が可能か否かを判断し、その判断結果に従って所定の処理を実行する。すなわち、まず二重化運転になるタイミングとしては、
(1)電源立ち上げ時などの第1,第2CPUユニット22,22′が同時に立ち上がる場合;
(2)一方のCPUユニットを故障などで交換している間、他方のCPUユニットで単独運転しているケースから、再度一方のCPUユニットを立ち上げて二重化運転に戻す場合;
がある。
図7に示すように、実行系の第1CPUユニット22の機能バージョンと、待機系の第2CPUユニット22′のCPUバージョンを比較し、実行系のCPUユニット22の機能バージョンが待機系のCPUユニット22′のCPUバージョン以下の場合には、二重化運転可能と判断し、待機系のCPUユニット22′のCPUバージョンが実行系のCPUユニット22の機能バージョン未満の場合には、二重化運転不可と判断する。
一例として、実行系CPUユニットの機能バージョンが3.0で、待機系のCPUユニットのCPUバージョンが4.0の場合、実行系CPUユニットは機能A〜Gを実行するのに対して、待機系CPUユニットは機能A〜Iを実行可能であることから、実行系CPUユニットがダウンして待機系CPUユニットが実行系に切り替わっても全ての機能を実行できるので、そのままシステムを継続できる。
一方、実行系CPUユニットの機能バージョンが3.0で、待機系のCPUユニットのCPUバージョンが2.0の場合、実行系CPUユニットは機能A〜Gを実行するのに対して、待機系CPUユニットは機能A〜Fを実行可能であるが、機能Gは実行不能である。従って、実行系CPUユニットがダウンして待機系CPUユニットが実行系に切り替わると、機能Gを実行できないことからシステムが停止する。
よって、このように二重化運転不可能と判断した場合には、「バージョン照合異常」として、二重化運転せずに単独運転を継続する。なお、電源立ち上げ時に二重化運転が不可となった場合には、実行系CPUユニットのみで単独運転するか、全体で運転停止にするかは内部設定などで決定することができる。
そして、上記した処理を行なうための具体的な処理機能は、図8に示すフローチャートを実行するようになる。すなわち、二重化運転移行開始になると、まず、実行系CPUユニット側は待機系CPUユニットのCPUバージョンを確認する(ST1)。つまり、待機系CPUユニットに対してCPUバージョンを要求する。待機系CPUユニットは、係る要求を受けると、自己のCPUバージョンを実行系CPUユニットに通知する(ST2)。
そこで、実行系CPUユニットは、待機系CPUユニットから送られてきたCPUバージョンと、自己の機能バージョンを比較する(ST3)。そして、その大小関係から、待機系CPUユニットのCPUバージョンが実行系CPUの機能バージョン未満の場合には、二重化不可と判断し(ST4)、バーション照合異常通知を発行し(ST5)、単独運転を開始する(ST6)。
一方、待機系CPUユニットのCPUバージョンが実行系CPUの機能バージョン以上の場合には、二重化可能と判断し(ST5)、二重化運転を開始する(ST8)。また、二重化不可の決定(ST4)並びに二重化可能の決定(ST7)をしたならば、それぞれその決定内容を待機系CPUユニットに通知する。
待機系CPUユニットは、実行系CPUユニットに対して自己のCPUバージョンを通知したならば、実行系CPUユニットからの比較結果を待ち(ST9)、比較結果を受信するとその比較結果に応じて二重化運転開始するか(ST10,ST8)、運転を停止しバージョン照合異常の通知をする(ST10,ST11)。さらに、ステップ8の二重化運転開始に伴い、実行系CPUユニットは自己が記憶保持しているユーザプログラムと、必要によりパラメータを待機系CPUユニットの所定エリアへコピーする。
ところで、サポートツール10は、自己が対応可能なCPUユニットのCPUバージョンに関する情報を持ち、実行系の第1CPUユニット22にダウンロードするに際し、第1CPUユニット22のCPUバージョンを取得し、対応可能か否かを判断する。そして、対応可能な場合のみユーザプログラムをダウンロードする。
さらに、CPUユニットに新たな機能を追加する場合には、図9に示すように、(1)まずサポートツール10は、第1CPUユニット22に対してバージョン情報(CPUバージョン,機能バージョン)を確認する。(2)次いで、第1CPUユニット22は、第2CPUユニット22′のCPUバージョンを取得し、その大小関係を比較する。(3)そして、第1CPUユニット22は、古い方のCPUバージョンと自己の機能バージョンを通知する。なお、機能バージョンは対比することなく自己のものを通知するのは、二重化運転中は同じ機能で両CPUユニットが動作しているため、機能バージョンは一致しているのが前提であるからである。
これにより、サポートツール10は、二重化PLCに使用できる命令や設定の範囲を認識することができ、ユーザが間違えて範囲を超えた命令や設定をダウンロードしてしまうことを防止することができる。
上述の実施の形態では、サポートツール10からのバージョン読み出し要求に対して、実行系CPUユニットは、自己のCPUバージョンと待機系CPUユニットから取得したCPUバージョンとを比較し、古いCPUバージョンを応答するように説明したが、本発明は、これに限ることはなく、実行系CPUユニットは、自己のCPUバージョンと待機系CPUユニットのCPUバージョンの両方をサポートツール10へ応答するようにしても良い。この場合、サポートツール10は、実行系CPUユニットからの応答された実行系CPUユニットのCPUバージョンと待機系CPUユニットのCPUバージョンを比較し、古いCPUバージョンを実行系CPUユニットと待機系CPUユニットの共通のCPUバージョンとして扱うように構成すれば良い。
また、実行系CPUユニットが待機系CPUユニットのCPUバージョンを知る方法としては、実施の形態のように、実行系CPUユニットが待機系CPUユニットに対してCPUバージョンを要求し、その要求に待機系CPUユニットが応答することでも良いし、待機系CPUユニットが自己のCPUバージョンを実行系CPUユニットから読み出し可能なメモリに予め格納しておき、それを実行系CPUユニットが必要に応じて読み出す様にしても良く、各種の実施が可能となる。
なお、CPUバージョン(ユニットバージョン)の格納場所は、実施の形態のようにシステムROM22a,22’aでも良いし、その他の書き換え可能なメモリに格納しても良い。さらにまた、機能バージョンの格納場所は、実施の形態のようにユーザプログラムの一部としてユーザメモリ(UM)22d,22’dに格納しても良いし、IOメモリ22e,22’eに格納しても良く、その格納場所は任意である。
さらに、上記した実施の形態では、機能バージョンとCPUバージョンを比較すること
により、二重化運転が可能か否かを判断するようにしたが、実行系が有するアプリバージョンと待機系が有するCPUバージョンを比較することにより二重化可能か否かを判断するようにしても良い。アプリバージョンは、パラメータバージョンと機能バージョンにより決定されるため、例えばIOメモリ22e,22′eに格納することができる。このアプリバージョンは、CPUバージョンと同様に不揮発性メモリに格納しても良いし、揮発性メモリ・バッファに一時的に記憶しても良い。また、パラメータバージョンやアプリバージョンは、機能バージョンと同様にサポートツールにより設定することもできるし、CPUユニットが、設定されたパラメータや、機能バージョンに従って自働的に設定するようにしても良い。そして、そのように自動的に設定する機能をCPUユニットに実装した場合には、アプリバージョンは、例えば二重化運転可能か否かを判断する際に、求めることもできる。
そして、あらかじめ或いは二重化運転可否判断の際に求めたアプリバージョンを用いた二重化可能か否かの判断処理は、基本的に、上記した実施の形態における機能バージョンをアプリバージョンに置き換えたものにすることにより、実行することができる。
上記した実施例にけるアプリバージョンは、ユーザプログラム作成時にユーザが決定し、サポートツールを用いてユーザプログラムの一部として格納されるように構成してもよい。
アプリバージョンを決める他の実施の形態について述べる。後述するようにCPUユニット内に予めアプリバージョンとアプリバージョンごとに実施可能な機能名を対応させたテーブルを格納しておく。CPUユニットのMPUは、ユーザメモリ(UM)に格納されているユーザプログラムやIOメモリ(IOM)に格納されているパラメータを参照することでアプリバージョンを決めるように構成してもよい。図10と図11を用いて説明する。図10は、アプリバージョンとアプリバージョンごとに実施可能な機能とその機能の格納場所との関係を示すテーブル(以下アプリバージョンテーブル)の一例である。この例では、IOメモリに機能名B,C,FおよびGのパラメータが格納されているものとする。図11は、図10のアプリバージョンテーブルを用いてユーザプログラムとパラメータからアプリバージョンを決定する処理フローを示した例である。実行系CPUユニットのMPUは、まず、ユーザメモリを検索し(ST21)、機能Hまたは機能Iが使用されているかどうか判断する(ST22)。これらステップ21とステップ22に対応する具体的例としてはユーザメモリに格納されているユーザプログラムを参照し機能Hまたは機能Iに対応する命令語が使用されているかどうかを判断することである。ステップ22で機能Hまたは機能Iが使用されていると判断した場合は、アプリバージョンをVer4.0に決定する(ST32)。ステップ22で機能Hと機能Iとがともに使用されてないと判断した場合は、さらに、ユーザメモリ内で機能Dまたは機能Eが使用されているかどうかを判断する(ST23)。このステップ23に対応する具体例としてはユーザメモリに格納されているユーザプログラムを参照し機能Dまたは機能Eに対応する命令語が使用されているかどうかを判断することである。ステップ23で機能Dまたは機能Eが使用されていると判断した場合は、IOメモリを検索し(ST28)、機能Gを使用しているかどうか判断する(ST29)。これらステップ28とステップ29に対応する具体例としては、IOメモリに格納されているパラメータを参照し機能Gが使用されているかどうかを判断することである。ステップ29で機能Gが使用されていると判断した場合はアプリバージョンをVer3.0に決定する(ST31)。一方、ステップ29で機能Gが使用されていないと判断した場合は、アプリバージョンをVer2.0に決定する(ST30)。ステップ23で機能Dと機能Eとがともに使用されていないと判断した場合は、次に、IOメモリを検索し(ST24)、機能Gが使用されているかどうか判断する(ST25)。このステップ25で機能Gが使用されていると判断した場合は、アプリバージョンをVer3.0に決定する(ST31)。ステップ25で機能Gが使用されていないと判断した場合は、さらに、IOM内で機能Fが使用されているかどうか判断する(ST26)。このステップ26で機能Fが使用されていると判断した場合は、アプリバージョンをVer2.0に決定する(ST30)。ステップ26で機能Fが使用されていないと判断した場合は、アプリバージョンをVer1.0に決定する(ST27)。以上の処理によりアプリバージョンが決定される。
本発明のシステムの一実施の形態を示す図である。 サポートツールの内部構成を示す図である。 CPUユニットの内部構成を示す図である。 CPUバージョンと機能の関係を説明する図である。 CPUバージョンと機能の関係を説明する図である。 本発明のシステムの一実施の形態の要部を説明する図である。 本発明のシステムの一実施の形態の作用を説明する図である。 各CPUユニットの機能を説明するフローチャートである。 本発明のシステムの一実施の形態の作用を説明する図である。 本発明のアプリバージョンテーブルの一実施の形態を説明する図である。 本発明のアプリバージョンを決定する処理を説明するフローチャートである。
符号の説明
10 サポートツール
11 入力装置
12 表示装置
13 CPU
14 記憶部
20 PLC
21 電源ユニット
22 第1CPUユニット
22′ 第2CPUユニット
22a,22a′ システムROM
22b,22b′ MPU
22c,22c′ RAM
22d,22d′ ユーザメモリ
22e,22e′ IOメモリ
23 入力ユニット
24 出力ユニット
25 通信ユニット
30 通信回線

Claims (4)

  1. 2つのCPUユニットを備え、前記2つのCPUユニットは、相手の状態を確認可能とし、一方が実行系となるとともに他方が待機系となり、前記実行系のCPUユニットがダウンした場合には、前記待機系のCPUユニットが実行系に切り替わって運転を継続するプログラマブルコントローラにおいて、
    前記CPUユニットは、そのCPUユニット自体が備えている利用可能な機能を示すユニットバージョン情報を記憶保持するとともに、格納されたユーザプログラムに基づくユーザプログラムバージョン情報を有し、
    前記待機系のCPUユニットのユニットバージョン情報と、前記実行系のCPUユニットが有する前記ユーザプログラムバージョン情報に基づき、前記実行系のCPUユニットが記憶保持するユーザプログラムを前記待機系のCPUユニットが実行可能か否かを判断する判断手段と、
    その判断手段が実行可能と判断した場合にのみ二重化運転を開始する手段を備え、
    前記判断手段は、前記実行系のCPUユニットに実装された、前記待機系のCPUユニットからその待機系のCPUユニットが持つユニットバージョン情報を取得する取得機能と、その取得機能で取得した前記待機系のCPUユニットのユニットバージョン情報と、自己が有する前記ユーザプログラムバージョン情報を比較し、自己が記憶保持するユーザプログラムを前記待機系のCPUユニットが実行可能か否かを判断する判断機能と、を有し、
    前記実行系のCPUユニットは、前記取得機能が取得した前記待機系のCPUユニットのユニットバージョン情報と、自己のユニットバージョン情報とを比較し、古いユニットバージョン情報を、プログラマブルコントローラに接続される、ユーザプログラムを作成するサポートツールに通知する手段を備えたことを特徴とするプログラマブルコントローラ。
  2. 前記ユーザプログラムバージョン情報は、少なくとも前記ユーザプログラムが使用している機能を示す機能バージョン情報と、前記CPUユニットに設定されたCPUユニットの仕様を定義するデータを含むパラメータがどのレベルまでの仕様に対応しているかを示すパラメータバージョン情報と、により特定されるアプリバージョン情報であることを特徴とする請求項1に記載のプログラマブルコントローラ。
  3. 請求項1または2に記載のプログラマブルコントローラと、そのプログラマブルコントローラに接続されたサポートツールを備えたシステムにおいて、
    前記サポートツールは、ユーザプログラムを作成するものであって、前記プログラマブルコントローラに対して前記ユニットバージョン情報の要求を発行し、
    前記プログラマブルコントローラは、前記実行系と前記待機系のCPUユニットのうち、古いユニットバージョン情報を通知するように構成したことを特徴とするプログラマブルコントローラシステム。
  4. 自己が備えている利用可能な機能を示すユニットバージョン情報が設定された、プログラマブルコントローラ用のCPUユニットであって、
    同一のプログラマブルコントローラを構成する他のCPUユニットが保有する当該他のCPUユニットが利用可能な機能を示すユニットバージョン情報を取得する取得手段と、
    その取得した前記他のCPUユニットのユニットバージョン情報と、自己に格納されたユーザプログラムに基づくユーザプログラムバージョン情報を比較し、自己が記憶保持するユーザプログラムを前記他のCPUユニットが実行可能か否かを判断する判断手段と、
    自己が保有するユニットバージョン情報と、前記取得手段で取得した他のCPUユニットのユニットバージョン情報を比較する比較手段と、
    ユーザプログラムを作成するサポートツールからの読出要求に対するレスポンスとして、前記比較手段で比較して求めた前記2つのユニットバージョン情報のうち古いバージョン情報を返送する手段とを備えたことを特徴とするCPUユニット。
JP2004272617A 2003-09-26 2004-09-17 プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット Expired - Fee Related JP3915808B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2004272617A JP3915808B2 (ja) 2003-09-26 2004-09-17 プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット
EP04022593A EP1519252B1 (en) 2003-09-26 2004-09-22 Programmable controller, programmable controller system, CPU unit and method of starting duplexed operation
DE602004006208T DE602004006208T2 (de) 2003-09-26 2004-09-22 Programmierbare Steuerung, programmierbares Steuersystem, CPU und Verfahren zum Starten des Duplexbetriebs
US10/950,171 US7536590B2 (en) 2003-09-26 2004-09-24 Programmable controller, programmable controller system, CPU unit and method of starting duplexed operation
CNB2004101047270A CN100346290C (zh) 2003-09-26 2004-09-27 可编程控制器及系统、中央处理器和双重化运转开始方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003335593 2003-09-26
JP2004272617A JP3915808B2 (ja) 2003-09-26 2004-09-17 プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2006183350A Division JP2006260607A (ja) 2003-09-26 2006-07-03 プログラマブルコントローラおよびcpuユニットおよび二重化運転開始方法

Publications (2)

Publication Number Publication Date
JP2005122716A JP2005122716A (ja) 2005-05-12
JP3915808B2 true JP3915808B2 (ja) 2007-05-16

Family

ID=34197262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004272617A Expired - Fee Related JP3915808B2 (ja) 2003-09-26 2004-09-17 プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット

Country Status (5)

Country Link
US (1) US7536590B2 (ja)
EP (1) EP1519252B1 (ja)
JP (1) JP3915808B2 (ja)
CN (1) CN100346290C (ja)
DE (1) DE602004006208T2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4289293B2 (ja) * 2004-12-20 2009-07-01 日本電気株式会社 起動制御方法、二重化プラットフォームシステム及び情報処理装置
JP3925557B2 (ja) * 2005-02-28 2007-06-06 オムロン株式会社 パラメータ設定装置
CA2549540C (en) * 2005-06-10 2008-12-09 Hitachi, Ltd. A task management control apparatus and method
JP2007133735A (ja) * 2005-11-11 2007-05-31 Mitsubishi Electric Engineering Co Ltd プログラマブルコントローラのメンテナンス用信号変換機
SE529676C2 (sv) * 2006-03-02 2007-10-23 Abb Ab En metod för att utvärdera en applikation, ett automationssystem och en styrenhet
SE0600449L (sv) * 2006-03-02 2007-10-09 Abb Ab En metod för att jämföra variabelvärden erhållna från olika versioner av ett applikationsprogram samt ett automationssystem och en styrenhet
EP2012201B1 (de) * 2007-07-05 2011-10-19 Sick Ag Verfahren zum Programmieren einer Sicherheitssteuerung
JP2009259134A (ja) * 2008-04-21 2009-11-05 Koyo Electronics Ind Co Ltd 安全plc
JP5293141B2 (ja) * 2008-12-16 2013-09-18 日本電気株式会社 冗長システム
JP5641181B2 (ja) * 2009-11-26 2014-12-17 横河電機株式会社 二重化処理装置
US8843885B2 (en) * 2009-12-28 2014-09-23 Mitsubishi Electric Corporation Program creation support device
JP5701459B1 (ja) * 2014-01-23 2015-04-15 三菱電機株式会社 プログラマブルコントローラおよびプログラマブルコントローラシステム
JP6549050B2 (ja) * 2016-02-23 2019-07-24 アズビル株式会社 コントローラおよびその制御方法
WO2017145287A1 (ja) * 2016-02-24 2017-08-31 京セラ株式会社 管理システム及び管理方法
CN110347433A (zh) * 2018-04-03 2019-10-18 京东方科技集团股份有限公司 参数配置方法、装置及显示装置
CN111538636B (zh) * 2020-04-24 2021-11-19 深圳华锐金融技术股份有限公司 计算机设备确定方法、装置和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100292005B1 (ko) * 1991-06-17 2001-09-17 리패치 컴퓨터회로가컴퓨터소프트웨어의갱신된버전과작용하도록하기위한방법및장치
JPH1040083A (ja) * 1996-07-24 1998-02-13 Nissin Electric Co Ltd 情報処理装置
JP2000305758A (ja) * 1999-04-20 2000-11-02 Nec Corp ファームウェア・バージョン管理によるcpu間通信整合性チェック方法
JP2001202101A (ja) * 2000-01-18 2001-07-27 Toshiba Corp 二重化制御システムおよびそのプログラムメンテナンス方法
US6968242B1 (en) * 2000-11-07 2005-11-22 Schneider Automation Inc. Method and apparatus for an active standby control system on a network
US7092987B2 (en) * 2001-02-13 2006-08-15 Educational Testing Service Remote computer capabilities querying and certification
US20020188934A1 (en) * 2001-06-12 2002-12-12 Nortel Networks Limited Method and system for upgrading existing firmware on third party hardware
US6836859B2 (en) * 2001-08-15 2004-12-28 Sun Microsystems, Inc. Method and system for version control in a fault tolerant system
US7178056B2 (en) * 2001-12-04 2007-02-13 Intel Corporation Rolling software upgrades for fault tolerant systems
US7028177B2 (en) * 2002-01-31 2006-04-11 Hewlett-Packard Development Company, L.P. Array controller ROM cloning in redundant controllers
US20040181777A1 (en) * 2003-03-14 2004-09-16 Swee-Koon Fam Method and device for programming electronic devices using a uniform parameter format

Also Published As

Publication number Publication date
CN100346290C (zh) 2007-10-31
DE602004006208D1 (de) 2007-06-14
CN1619445A (zh) 2005-05-25
DE602004006208T2 (de) 2008-01-03
US20050086560A1 (en) 2005-04-21
EP1519252A1 (en) 2005-03-30
JP2005122716A (ja) 2005-05-12
US7536590B2 (en) 2009-05-19
EP1519252B1 (en) 2007-05-02

Similar Documents

Publication Publication Date Title
JP3915808B2 (ja) プログラマブルコントローラおよびプログラマブルコントローラシステムならびにcpuユニット
US8930931B2 (en) Information processing apparatus using updated firmware and system setting method
JP5039428B2 (ja) プログラマブルコントローラ及びplcシステム
EP2382545B1 (en) Component configuration mechanism for rebooting
CN110809755A (zh) 电子控制系统
CN111562932A (zh) 一种高可靠嵌入式软件升级方法及系统
JP4482029B2 (ja) 無線基地局および無線基地局の運用方法
CN111480142A (zh) 在运行期间对软件密集型系统的无缝和安全升级
JPH04167139A (ja) プログラムダウンロード方式
JP2006260607A (ja) プログラマブルコントローラおよびcpuユニットおよび二重化運転開始方法
JP2007094766A (ja) 制御装置及びバージョンアップ方法並びにプログラム
JP4305740B2 (ja) プログラマブルコントローラシステムおよび接続保証方法
EP1835398A1 (en) Frequency converter controller, peripheral device, method and program
JP2007122151A (ja) ブート制御装置およびブート制御方法
JP2008226111A (ja) 2重化コントローラシステム、その稼動系コントローラ
JP2004272629A (ja) プログラマブルコントローラ用機器並びにプログラマブルコントローラ用機器におけるプログラム更新方法並びにプログラム起動方法
CN111666094B (zh) 一种实时固件升级系统与方法
JPH1083358A (ja) プログラム書換方法およびプログラム書換機能付制御装置
KR20030041605A (ko) 통신시스템의 프로그램 원격 업그레이드 장치 및 그 방법
JP2003140915A (ja) コンピュータ装置及びプログラムのダウンロード方法
JP2000207180A (ja) 情報処理装置及びプログラム書換方法
KR100334792B1 (ko) 네트워크 시스템의 원격 다운 로드 방법
JP2016143103A (ja) 制御装置
KR20230107953A (ko) 논리연산제어장치에 신규 모듈을 추가하는 방법
JP2001306112A (ja) プログラマブルコントローラ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060331

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20060331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060502

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20060606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061010

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061211

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: 20070116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070129

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3915808

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110216

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120216

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130216

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140216

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees