説明

PLC

【課題】 ユニットのツールレスオンライン脱着が可能であり、しかもユニット脱の判定に際するシステムプログラム側の処理負担を軽減することが可能なプログラマブル・コントローラを提供すること。
【解決手段】 CPUユニット(2)がいずれかのコネクタ(13a〜13d)を介して機能ユニットにアクセスした際に異常レスポンスが検出されたときには、そのコネクタに関する内部レジスタ(12)の記憶内容を参照すると共に、その記憶内容が「ユニット脱状態」であると判定されたときには、ユニット取り外し時に必要とされる処理を実行する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ツールを使用することなく、ユニットのオンライン脱着を可能としたプログラマブル・コントローラ(以下、PLCと言う)に関する。
【背景技術】
【0002】
CPUユニットと、複数の機能ユニットとが、I/Oバスを介して互いに接続され、かつ各機能ユニットのそれぞれが、コネクタを介してI/Oバスに対して取り付け、取り外し可能とされたPLCは、従来より知られている。
【0003】
ここで、機能ユニットとしては、例えば、I/Oユニット(INユニット、OUTユニット、及びIN,OUT混在ユニットを総称する)、通信ユニット(PLC間通信ユニット、マスタ・スレーブ間通信ユニット、及び上位装置間通信ユニットを総称する)、特殊機能ユニット(温度調節ユニット、PID制御ユニット、モーションコントロールユニット、位置制御ユニット等々)等を挙げることができる。
【0004】
斯かるPLCにおいては、CPUユニットが必要に応じてI/Oバスを介して各機能ユニットにアクセスすることにより、その機能ユニットに関する機能が実現される。すなわち、機能ユニットがI/Oユニットであれば、CPUユニットがこれをアクセスすることにより、外部からの入力信号の取り込み機能や外部への出力信号の送出機能が実現される。また、機能ユニットが通信ユニットであれば、CPUがこれをアクセスすることにより、PLC間通信機能、リモート子局間通信機能等々の機能が実現される。さらに、機能ユニットが特殊機能ユニットであれば、CPUがこれをアクセスすることにより、それぞれその特殊機能ユニットに固有の機能(温度調節機能、PID制御機能、モーションコントロール機能、位置制御機能等々)が実現される。
【0005】
CPUユニットには、マイクロプロセッサとメモリとが組み込まれている。マイクロプロセッサは、メモリのシステムプログラム領域から読み出されたシステムプログラムにしたがって動作することにより、共通処理と、ユーザプログラム実行処理と、I/Oリフレッシュ処理と、周辺サービス処理とを繰り返し実行する。
【0006】
共通処理においては、バッテリ異常チェック、I/Oバスのチェック、メモリのユーザプログラム記憶領域のチェック等の各種のハードウェアチェックが行われる。ユーザプログラム実行処理においては、メモリのユーザプログラム記憶領域から順次にユーザプログラムを構成する各命令語を読み出すと共に、メモリのI/Oデータ領域のI/Oデータを参照してこれを実行し、その実行結果により、メモリのI/Oデータ領域(特に、OUTデータ領域)の内容を書き換える処理が行われる。I/Oリフレッシュ処理においては、I/Oユニットを介して取り込まれたINデータをメモリのI/Oデータ領域(特に、INデータ領域)に書き込む処理(INリフレッシュ処理)、及びメモリのI/Oデータ領域(特に、OUTデータ領域)から読み出されたOUTデータをI/Oユニットへと送出する処理(OUTリフレッシュ処理)が行われる。
【0007】
また、新規に作成された又は編集されたユーザプログラムをCPUユニット内のメモリにアップロードしたり、同メモリからユーザプログラムをダウンロードしたり、さらには、PLCの各種の機能設定を行うための設定データをメモリの設定データ領域に書き込んだり、修正したりするためには、所定のツールが使用される。このツールは、一般に、パソコンにツールとしての機能を実現するためのアプリケーション・プログラムをインストールすることで実現され、ケーブルを介してPLCにコネクタ接続される。
【0008】
ところで、この種の複数の機能ユニットを含んで構成されるPLCにおいては、故障した機能ユニットを交換するために、或いは、機能ユニットのメンテナンス等のために、入出力ユニットや通信ユニットや特殊機能ユニット等々の機能ユニットを、PLCの運転を継続したままで、取り外したり、取り付けたりすること(以下、「ユニットのオンライン脱着」と言う)を行いたいとする要望がある。
【0009】
CPUユニット内のメモリに格納されたシステムプログラムには、所定の通信異常時処理が組み込まれている。この通信異常時処理は、いずれかのユニットに対するアクセス時に異常レスポンスが検出されると、PLCの運転を強制的に停止(以下、「システムダウン」と言う)させるように仕組まれている。
【0010】
従来、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り外しを可能とするためには、PLCにケーブルを介して接続されたツールにより、CPUユニットのメモリ内の設定データを変更することで、ユニット取り外し時に必要とされる処理を実行させる一方、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り付けを可能とするためには、PLCにケーブルを介して接続されたツールにより、CPUユニットのメモリ内の設定データを変更することで、ユニット取り付け時に必要とされる処理を実行させる、と言う方法が採用されていた。
【0011】
ここで、「ユニット取り外し時に必要とされる処理」としては、例えば、当該ユニットへのアクセスに際して異常レスポンスが発生してもシステムダウン機能が作動しなくなるようにすると共に、その後、当該ユニットが取り外されたコネクタに関しては、外部からの信号を一切受け付けないようにし、さらに、そのコネクタに関しては以後CPUユニットがアクセスを行わないようにする等の処理が挙げられる。一方、「ユニットを取り付け時に必要とされる処理」としては、例えば、ツール操作で設定データを変更して元の状態に戻すことで、当該コネクタからの信号の受け付けを可能とすると共に、当該ユニットへのアクセスを再開する等の処理が挙げられる。
【0012】
しかしながら、このようなツールを使用することで、ユニットのオンライン脱着を可能とする従来方法にあっては、ユニットのオンライン脱着のたびに、PLCが据え付けられた生産現場等に、ツールとして機能するパソコンをその都度に持ち込まねばならないため、操作性乃至機動性に劣り、またユニットの脱着が行われるべきコネクタの指定はユーザのツール操作に委ねられているため、ユーザのコネクタ指定が誤れば、システムダウンを引き起こし兼ねないと言う問題点があった。
【0013】
そこで、このような問題を解決するために、ツールを使用することなく(ツールレスで)、ユニットのオンライン脱着を可能としたPLCも従来より知られている(特許文献1参照)。
【0014】
このようなユニットのツールレス・オンライン脱着を可能としたPLCにあっては、脱着対象となる機能ユニットのそれぞれの側には、ユニットの取り付け、取り外しに際して作動するスイッチが設けられ、CPUユニットの側には、上記の各スイッチのそれぞれと専用の信号線で結ばれると共に、各スイッチの作動により発生するオンオフ信号を記憶するコネクタ別の記憶領域を有する状態メモリが設けられる。別の例としては、上記のオンオフ信号により、マイクロプロセッサに割込をかけ、割込処理を介して状態メモリへのオンオフ信号の書き込みを行う。
【0015】
すなわち、この状態メモリは、コネクタ別の記憶領域を有すると共に、いずれかのコネクタに関して機能ユニットの取り外し操作が行われるのに連動して、そのコネクタに関する記憶領域には第1の状態(ユニットが取り外された状態)が記憶され、かついずれかのコネクタに関して機能ユニットの取り付け操作が行われるのに連動して、そのコネクタに関する記憶領域には第2の状態(ユニットが取り付けられた状態)が記憶されることとなる。
【0016】
一方、CPUユニット内のメモリに格納されるシステムプログラムの側には、脱着対象となるユニットのそれぞれをアクセスするに先立って、上記の状態メモリの内容を参照すると共に、その参照の結果として、取り付けられた状態から取り外された状態への変化(ユニット脱)が判定され、又は取り外された状態から取り付けられた状態への変化(ユニット着)が判定されたときには、それぞれユニットのオンライン脱着に必要な「ユニット取り外し時に必要な処理」又は「ユニットを取り付け時に必要とされる処理」を実行する機能が組み込まれている。
【0017】
このような構成によれば、ユニットの取り外し操作又は取り付け操作が行われれば、状態メモリの記憶内容の変化に基づいて、ユニットのオンライン脱着に必要な処理が自動的に実行されるため、ツールを使用して設定データを操作せずとも、ユニットのオンライン脱着が可能となる。
【特許文献1】特開平5−241622号公報
【発明の開示】
【発明が解決しようとする課題】
【0018】
しかしながら、このようなユニットのツールレス・オンライン脱着を可能としたPLCにあっては、状態メモリの記憶内容の変化のみを頼りとして、ユニットが取り付けられた状態から取り外された状態への変化(ユニット脱)を判定するようにしているため、脱着対象となる各ユニットのユニット脱を逃さず確実に判定するためには、コネクタを介して各ユニットにアクセスしようとするたびに、それに先立って、そのコネクタに対応する状態メモリの内容をその都度に参照せねばならず、システムプログラム側の処理負担が極めて大きいと言う問題点がある。すなわち、状態メモリの参照を1サイクルでも怠って、ユニット脱を見過ごしたまま、ユニットが取り外されたコネクタにアクセスしてしまえば、異常レスポンスの発生に応答して、システムダウン処理が起動されてしまうからである。
【0019】
この発明は、このような従来の問題点に着目してなされたものであり、その目的とするところは、ユニットのツールレスオンライン脱着が可能であり、しかもユニット脱の判定に際するシステムプログラム側の処理負担を軽減することが可能なプログラマブル・コントローラを提供することにある。
【0020】
この発明のさらに他の目的並びに作用効果については、明細書の以下の記述を参照することにより、当業者であれば容易に理解されるであろう。
【課題を解決するための手段】
【0021】
上述の課題は、つぎのような構成を有するPLCにより実現することができる。すなわち、このPLCは、CPUユニットと、複数の機能ユニットとが、I/Oバスを介して互いに接続され、かつ各機能ユニットのそれぞれは、コネクタを介してI/Oバスに対して取り付け、取り外し可能とされ、さらにCPUユニットが必要に応じてI/Oバスを介して各機能ユニットにアクセスすることにより、その機能ユニットに関する機能が実現されるよう構成されている。
【0022】
上記のPLCには、さらに、状態メモリと、第1の制御手段と、第2の制御手段とが具備されている。
【0023】
状態メモリは、コネクタ別の記憶領域を有すると共に、いずれかのコネクタに関して機能ユニットの取り外し操作が行われるのに連動して、そのコネクタに関する記憶領域には第1の状態が記憶され、かついずれかのコネクタに関して機能ユニットの取り付け操作が行われるのに連動して、そのコネクタに関する記憶領域には第2の状態が記憶されるように構成されている。
【0024】
第1の制御手段は、CPUユニットがいずれかのコネクタを介して機能ユニットにアクセスした際に異常レスポンスが検出されたときに、そのコネクタに関する状態メモリの記憶内容を参照すると共に、その記憶内容が第1の状態であると判定されたときには、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り外しを可能とするために、ユニット取り外し時に必要な処理を実行する一方、第2の状態であると判定されたときには、所定の通信異常時処理を実行する。
【0025】
第2の制御手段は、いずれかのコネクタに関して状態メモリの記憶内容が第1の状態から第2の状態へと変化したと判定されたときには、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り付けを可能とするために、ユニット取り付け時に必要な処理を実行する。
【0026】
このような構成によれば、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り外しを可能とすること(ユニットのオンライン脱)に必要な処理については、CPUユニットがいずれかのコネクタを介して機能ユニットにアクセスした際に異常レスポンスが検出され、かつそのコネクタに関する状態メモリの記憶内容が第1の状態であると判定されたときに限り実行されることとなるため、状態メモリを参照する必要が生ずるのは、ユニットにアクセスした結果として異常レスポンスが検出されたときだけとなり、CPUユニットが各機能ユニットにアクセスするたびに、それに先立ち状態メモリの参照が必要とされた従来例に比べて、システムプログラム側の処理負担が大幅に軽減される。一方、いずれかの機能ユニットにアクセスした際に、I/Oバスの異常等の真の通信異常を原因とする異常レスポンスが発生したときには、状態メモリの記憶内容は第2の状態を示すことから、通信異常時処理が正常に実行されて、システムダウン等の必要処理が行われる。
【0027】
なお、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り付けを可能とすること(ユニットのオンライン着)に必要な処理については、いずれかのコネクタに関して状態メモリの記憶内容が第1の状態から第2の状態へと変化したと判定されたときに実行されることとなる。当該ユニットに関する取り付け完了後の動作開始については、多少の遅れ時間は許容される。オンライン脱されたユニットに対してのみオンライン着されることを監視すれば良いため、システムプログラム側の処理負担が問題となることはない。
【0028】
このようなPLCにおいては、第2の制御手段は、そのコネクタを介して機能ユニットから読み込まれたユニット識別情報に基づいて、ユニット交換前後においてユニット不一致と判定されるときには、ユニット取り付け時に必要とされる処理を実行しない、ように構成してもよい。
【0029】
このような構成によれば、オンラインでユニットを交換した際に、誤って、別の種類のユニットを装着したような場合には、そのユニットに関する運転は再開されないので、誤った種別のユニットが突然に参入することによる不測の事態を未然に防止することができる。
【0030】
また、上記のPLCにおいては、いずれかのコネクタに関して状態メモリの内容が第1の状態から第2の状態へと変化したと判定されたときに、そのコネクタを介して機能ユニットから読み込まれたユニット識別情報に基づいてユニット交換間違いの有無を判定する判定手段と、判定手段による判定結果を、PLCのユーザプログラムやプログラマブル表示器の表示プログラムで参照可能な1又は2以上のユニット交換間違いフラグの状態に反映させるフラグ制御手段とをさらに備えてもよい。
【0031】
このような構成によれば、ユニット交換間違いが生ずれば、直ちに、特定のフラグは所定の論理値にセットされるから、予めそのフラグを入力条件として表示ランプが点灯するようなユーザプログラムを組んだり、あるいは、そのフラグを入力条件としてプログラマブル表示器の表示プログラムを組んでおけば、別途ツールが存在せずとも、ユニット交換間違いが生じたことを直ちにユーザに知らせることができる。
【0032】
このとき、PLCのユーザプログラムやプログラマブル表示器の表示プログラムで参照可能な1又は2以上のユニット交換間違いフラグには、オンライン交換に失敗したことを示すフラグが含めるようにしてもよい。
【0033】
このような構成によれば、予めそのフラグを入力条件として表示ランプが点灯するようなユーザプログラムを組んだり、あるいは、そのフラグを入力条件としてプログラマブル表示器の表示プログラムを組んでおけば、別途ツールが存在せずとも、とにかく、なんらかの原因でユニットのオンライン交換に失敗したことを、表示ランプやプログラマブル表示器を介して、ユーザに知らせることができる。
【0034】
また、PLCのユーザプログラムやプログラマブル表示器の表示プログラムで参照可能な1又は2以上のユニット交換間違いフラグには、機能ユニットの種類を間違えたことを示すフラグが含めてもよい。
【0035】
このような構成によれば、予めそのフラグを入力条件として表示ランプが点灯するようなユーザプログラムを組んだり、あるいは、そのフラグを入力条件としてプログラマブル表示器の表示プログラムを組んでおけば、別途ツールが存在せずとも、取り外したユニットを元に戻すに際して、誤って別の種類のユニットを戻してしまったことを、表示ランプやプログラマブル表示器を介して、ユーザに知らせることができる。加えて、そのようなフラグを入力条件として、ユニット交換間違い時の対策処理に相当するユーザプログラムを組んでおけば、間違いの種類に応じて適切な対応を取ることも可能となる。
【0036】
さらに、PLCのユーザプログラムやプログラマブル表示器の表示プログラムで参照可能な1又は2以上のユニット交換間違いフラグには、ユニット側の1の設定項目に関する設定を間違えたことを示すフラグが含めてもよい。
【0037】
このような構成によれば、予めそのフラグを入力条件として表示ランプが点灯するようなユーザプログラムを組んだり、あるいは、そのフラグを入力条件としてプログラマブル表示器の表示プログラムを組んでおけば、別途ツールが存在せずとも、取り外したユニットを元に戻すに際して、誤ってユニット側の1の設定項目に関する設定を間違えたことを、表示ランプやプログラマブル表示器を介して、ユーザに知らせることができる。加えて、そのようなフラグを入力条件として、ユニット交換間違い時の対策処理に相当するユーザプログラムを組んでおけば、間違いの種類に応じて適切な対応を取ることも可能となる。
【発明の効果】
【0038】
この発明によれば、ユニットのツールレスオンライン脱着が可能であり、しかもユニット脱の判定に際するシステムプログラム側の処理負担を軽減することが可能なプログラマブル・コントローラを提供することができる。
【発明を実施するための最良の形態】
【0039】
以下に、この発明に係るPLCの好適な実施の一形態を添付図面を参照しながら詳細に説明する。
【0040】
PLCのベースユニットの構成図が図1に示されている。同図に示されるように、このベースユニット1はバックプレーンやマザーボード等とも称される細長長方形の板状部材であり、その表面には、CPUユニット装着領域1aと複数の機能ユニットのための装着領域1bとが定義されている。
【0041】
ここで、CPUユニット以外の各種機能ユニットとしては、当業者にはよく知られているように、I/Oユニット(INユニット、OUTユニット、及びIN,OUT混在ユニットを総称する)、通信ユニット(PLC間通信ユニット、マスタ・スレーブ間通信ユニット、及び上位装置間通信ユニットを総称する)、特殊機能ユニット(温度調節ユニット、PID制御ユニット、モーションコントロールユニット、位置制御ユニット等々)等を挙げることができる。
【0042】
CPUユニット装着領域1aにはCPUユニットを装着するためのコネクタ(図示せず)が配置されると共に、各種機能ユニット装着領域1bにはそれらの機能ユニットを装着するための複数(図示例では4個)のコネクタ13a〜13dが一列に配置され、それらのコネクタ13a〜13dはベースユニット1上に敷設されたI/Oバス(アドレス信号ライン、データ信号ライン各種の制御信号ラインを含む)11を介して接続されている。これにより、CPUユニットとコネクタ13a〜13dに装着される各種機能ユニットとはI/Oバス11を介してデータのやり取りが可能とされている。
【0043】
各コネクタ13a〜13dのそれぞれには、CPUユニットからの制御信号でオンオフ制御される電源スイッチ(図示せず)が内蔵されており、この電源スイッチをオンオフさせることにより、各コネクタに装着されたユニットに対する通電をオンオフ可能とされている。また、各コネクタ13a〜13dには、機能ユニットの取り付け操作又は取り外し操作に連動してオンオフするユニット検出手段(図示せず)が内蔵されており、このユニット検出手段がオンオフすることで、当該コネクタに機能ユニットが取り付けられたこと、当該コネクタから機能ユニットが取り外されたことが検出可能とされている。ユニット検出手段の一例としては、機能ユニットがコネクタに装着されると、機能ユニットとコネクタ間で信号線が導通する構造とすることでスイッチの機能を備える構成とすることができる。つまり、機能ユニットがコネクタに装着されると信号線が導通してスイッチがオンとなり、その状態から機能ユニットが脱状態となると信号線が切断されてスイッチがオフとなる。このスイッチの状態を検出信号として、信号線14a〜14dを介して、内部レジスタ12へと伝えれば良い。
【0044】
ベースユニット1上における各種機能ユニットの装着領域1bには、各コネクタ13a〜13dのそれぞれに対応する複数の個別記憶領域を有する内部レジスタ(本発明の状態メモリに相当)12が設けられている。なお、この内部レジスタ12は、CPUユニット装着領域1aに設けてもよく、さらには、CPUユニット装着領域1aに装着されるCPUユニット(図示せず)に内蔵させてもよい。
【0045】
内部レジスタ12の各個別記憶領域は、I/Oバス11とは別の専用の信号線14a〜14dを介して、コネクタ13a〜13dへと接続される。各コネクタ13a〜13dに内蔵されるユニット検出手段の検出信号は、信号線14a〜14dを介して、内部レジスタ12へと伝えられる。その結果、いずれかのコネクタ13a〜13dに関して機能ユニットの取り外し操作が行われるのに連動して、内部レジスタ12内のそのコネクタに関する個別記憶領域には第1の状態(例えば、"1")が自動的に記憶され、かついずれかのコネクタに関して機能ユニットの取り付け操作が行われるのに連動して、内部レジスタ12内のそのコネクタに関する個別記憶領域には第2の状態(例えば、"0")が自動的に記憶される。これにより、内部レジスタ12の各個別記憶領域には、常に、その時々の各コネクタのユニット着脱状態(ユニットが取り付けられた状態又は取り外された状態)を示すデータが記憶された状態となる。
【0046】
内部レジスタ12はI/Oバス11にも接続されている。そのため、内部レジスタ12の各個別記憶領域の記憶内容は、I/Oバス11を介してCPUユニットから読み取り可能とされている。これにより、CPUユニットは、I/Oバス11を介して内部レジスタ12の各個別記憶領域の記憶内容を参照することにより、各コネクタのユニット着脱状態を認識することができる。
【0047】
なお、図において、CPU21は、CPUユニットに内蔵された演算処理部(マイクロプロセッサやASICを含む)である。また、メモリ22は、CPUユニットに含まれるシステムメモリ、ワークメモリ、ユーザプログラムメモリ、システム設定メモリ、I/Oデータメモリ、オンライン交換ステータスメモリ等々をまとめて示すものである。
【0048】
次に、CPUユニットについて説明する。CPUユニットに内蔵されるマイクロプロセッサの管理するアドレス空間の割り付けを示すメモリマップが図2に示されている。
【0049】
同図に示されるように、アドレス空間には、システムメモリ領域M1と、ワークメモリ領域M2と、ユーザプログラムメモリ領域M3と、システム設定メモリ領域M4と、I/Oデータ領域M5と、オンライン交換ステータスメモリ領域M6とが割り付けられている。
【0050】
システムメモリ領域M1は、CPU21を構成するマイクロプロセッサがPLCとしての機能を実現するために必要な各種のシステムプログラム(ファームウェア)を記憶する領域である。
【0051】
ワークメモリ領域M2は、同マイクロプロセッサがシステムプログラムを実行する際に演算途中結果等を記憶するための各種ワークエリアとして使用される領域である。
【0052】
ユーザプログラムメモリ領域M3は、ユーザがラダー図言語等を利用して適宜に組み上げた、所望の制御機能を実現するための制御プログラムである、ユーザプログラムを記憶させるための領域である。
【0053】
システム設定メモリ領域M4は、システムプログラムの実行に際して、予め用意された各種のオプションの設定、選択等々に必要なシステム設定情報を記憶させるための領域である。
【0054】
I/Oデータ領域M5は、ユーザの制御対象システムに含まれる各種の外部入力機器(押しボタンスイッチ、リミットスイッチ、マイクロスイッチ等々)の状態、各種外部出力機器(リレー、各種アクチュエータ等々)の状態、等々を記憶させるための領域である。このI/Oデータ領域M5のデータは、ユーザの使用する各命令(LD命令,IN命令,OUT命令,AND命令,OR命令等々)のオペランドとして使用可能である。換言すれば、このI/Oデータ領域M5の記憶データは、ユーザプログラムにて適宜に参照可能とされている。
【0055】
オンライン交換ステータスメモリ領域M6は、本発明に関連して新たに設けられた領域である。このオンライン交換ステータスメモリ領域M6には、図に拡大して示すように、オンライン交換失敗フラグM610と、ユニット種類間違えフラグ620と、ユニット側設定間違えフラグ(設定1)〜(設定N)631〜63Nとを含んで構成される。
【0056】
オンライン交換失敗フラグM610は、なんらかの原因でオンラインユニット交換(PLCの運転を継続したままで、いずれかの機能ユニットを取り外し、その後、取り付けること)に失敗したときに"0"から"1"にセットされるフラグである。後述するように、オンラインユニット交換失敗の原因としては、ユニットの種類を間違えた場合、ユニット側設定を間違えた場合等々、様々な原因が存在する。
【0057】
ユニット種類間違えフラグM620は、オンラインユニット交換に際して、例えば、本来はOUTユニットを取り付けるべきところ、誤ってINユニットを取り付けてしまった場合ように、ユニットの種類を間違えたときに"0"から"1"にセットされるフラグである。
【0058】
ユニット側設定(設定1〜N)間違えフラグM631〜M63Nは、なんらかの理由でユニット交換に際して、ユニット側の設定(例えば、通信ユニットの場合、設定1=ノード番号(ネットワーク上でノードとしてのPLCを特定する情報)、設定2=ユニット番号(PLC上でユニットを特定する情報)等々)を設定間違えしたときに、その設定項目(1〜N)に関連して"0"から"1"にセットされるフラグである。
【0059】
上述の各フラグM610,M620,M631〜M63Nは、ユーザプログラムを構成する各命令(LD命令,IN命令,OUT命令,AND命令,OR命令等々)のオペランドとして使用可能である。換言すれば、このI/Oデータ領域M5の記憶データは、ユーザプログラムにて参照可能とされている。
【0060】
CPUユニットに含まれるマイクロプロセッサの処理の全体を示すゼネラルフローチャートが図3に示されている。同図に示されるように、このPLCのCPUユニットにおいては、電源投入により起動され、直後に、イニシャル処理(ステップ301)を実行したのち、共通処理(ステップ302)、ユーザプログラム実行処理(ステップ303)、I/Oリフレッシュ処理(ステップ304)、及び周辺サービス処理(ステップ305)を繰り返し実行する。
【0061】
イニシャル処理(ステップ301)においては、システムプログラムの実行に必要な各種のフラグやレジスタ類の初期設定等の処理が実行される。
【0062】
共通処理(ステップ302)においては、内部バスのチェックを含む各種のハードウェアチェックが行われる。このハードウェアチェックに際しては、本発明に関連して、ユニット着確認処理(ユニットがコネクタから取り外された状態からコネクタへと取り付けられた状態へと変化したことを確認する処理)が実行される。
【0063】
このユニット着確認処理においては、後に図5を参照して詳述するように、CPUユニットは、I/Oバス11を介して内部レジスタ12の各個別記憶領域の記憶内容を読み込み、読み込まれた記憶内容に基づいて、複数のコネクタ13a〜13dのそれぞれが、ユニットが取り外された状態から取り付けられた状態へと変化したか否かの判定が行われる。
【0064】
ユーザプログラム実行処理(ステップ303)においては、ラダー図言語等を使用してユーザが適宜に組み上げた、ユーザの所望する制御仕様に相当するユーザプログラムをユーザプログラムメモリ領域M3から読み出して実行すると共に、その実行結果により、I/Oデータ領域M5内の指定されたI/Oデータの内容を書き替える処理が行われる。
【0065】
I/Oリフレッシュ処理(ステップ304)においては、ユーザプログラム実行処理(ステップ303)において書き替えられたI/Oデータ領域M5のOUT領域の内容をI/Oバス11を介してI/Oユニットへと送出すると共に、I/Oバス11を介してI/Oユニットから取り込まれた入力データを、I/Oデータ領域M5のIN領域へと書き込む処理が行われる。
【0066】
周辺サービス処理(ステップ305)においては、通信を介して接続されたリモートI/Oや他のPLCとの交信を行って、それらの通信ノードとの間でデータの交換を行ったり、通信を介してツールとやり取りすることにより、プログラムの作成、編集、表示等々の処理を行ったり、さらには、通信を介してプログラマブル表示器とやり取りすることにより、指定された内部データを外部に表示させる等々の周辺サービス処理が行われる。加えて、この周辺サービス処理においては、必要に応じて、各種の特殊機能ユニット(温度調節ユニット、PID制御ユニット、モーションコントロールユニット、位置制御ユニット等々)のそれぞれに関する処理も行われる。
【0067】
以上一連の処理(ステップ302〜305)の間に、複数のコネクタ13a〜13dのいずれかにおいて、ユニットの着操作(ユニットを取り付ける操作)又は脱操作(ユニットを取り外す操作)が行われると、後述するように、信号ライン14a〜14dを介してその旨の信号が内部レジスタ12へと伝えられ、内部レジスタ12の該当する個別記憶領域の記憶内容は、ユニット着状態(本発明の第1の状態)又はユニット脱状態(本発明の第2の状態)に更新される。ここで、「ユニットの着状態」とはユニットがコネクタに取り付けられている状態、「ユニット脱状態」とはユニットがコネクタから取り外されている状態のことである。
【0068】
また、一連の処理(ステップ302〜305)の間に、ユニットが脱状態(取り外された状態)にあるコネクタに対してデータ読み込みのためのアクセスが行われると、該当するユニットが存在しないことから、CPUユニットに対しては異常レスポンス(所定時間経過しても該当ユニットから応答が無い状態)が検出されることとなる。本発明では、後述するように、この異常レスポンスを利用することで、ユニット脱(ユニットが取り付けられた状態から取り外された状態へと変化すること)の判定に必要な内部レジスタ(状態メモリ)12の参照の頻度を減少させることにより、システム側の処理負担軽減を図っている。
【0069】
次に、一連の処理(ステップ302〜305)の間に、いずれかのユニットにアクセスした際に、異常レスポンスが得られた場合の処理について説明する。
【0070】
ユニットからの異常レスポンス入力時の詳細フローチャートが図4に示されている。同図に示されるように、I/Oリフレッシュ処理や周辺サービス処理において、いずれかの機能ユニットに対するアクセスが行われるたびに、異常レスポンスの検出有無がその都度に判定され(ステップ401)、異常レスポンスの検出ありと判定されないときには(ステップ401NO)、内部レジスタ12の記憶内容を参照することなく、予め決められた他の処理への移行が行われる。すなわち、従来例のように、機能ユニットにアクセスを試みるに先立って、常に、内部レジスタ12の記憶内容を参照する必要はない。
【0071】
これに対して、いずれかの機能ユニットにアクセスした結果として、異常レスポンスの検出ありが判定されると(ステップ401YES)、続いて、ベースユニット1上の内部レジスタ12の各個別記憶領域の内容が読み込まれ、その内容に基づいて、異常レスポンスに係るコネクタがユニット着状態(ユニットが取り付けられた状態)にあるのか、又はユニット脱状態(ユニットが取り外された状態)にあるのかの判定が行われる(ステップ403)。
【0072】
ここで、ユニット脱状態と判定されると(ステップ403YES)、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り外しを可能とするために、規定のユニット脱時処理が実行される(ステップ404)。このユニット脱時処理(ステップ404)においては、その後、該当するコネクタから誤ったデータが読み込まれることのないように、そのコネクタに関する通信処理の断、電源断等の処理が実行される。一方、ユニット脱ではないと判定されると(ステップ403NO)、I/Oバス11の異常等に起因する真の通信異常であると認識して、規定の通信異常時処理(ステップ405)が実行される。この通信異常時処理(ステップ405)の内容としては、システムダウンに必要な各種の処理等を挙げることができる。
【0073】
このように、本発明にあっては、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り外しを可能とすること(ユニットのオンライン脱)に必要な処理(ステップ404)については、CPUユニットがいずれかのコネクタを介して機能ユニットにアクセスした際に異常レスポンスが検出され(ステップ401YES)、かつそのコネクタに関する内部レジスタ(状態メモリ)12の記憶内容が脱状態(第1の状態)であると判定されたときに限り実行されることとなるため(ステップ403YES)、内部レジスタ(状態メモリ)12を参照する必要が生ずるのは、ユニットにアクセスした結果として異常レスポンスが検出されたときだけとなり、CPUユニットが各機能ユニットにアクセスするたびに、それに先立ち、常に、状態メモリの参照が必要とされた従来例に比べて、システムプログラム側の処理負担が大幅に軽減される。
【0074】
一方、いずれかの機能ユニットにアクセスした際に、I/Oバスの異常等の真の通信異常を原因とする異常レスポンスが発生したときには、内部レジスタ(状態メモリ)12の記憶内容は着状態(第2の状態)を示すことから、通信異常時処理が正常に実行されて、システムダウン等の必要処理が行われる。
【0075】
次に、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り付けを可能とすること(ユニットのオンライン着)を実現するための処理について説明する。
【0076】
ユニット着判定時処理の詳細フローチャートが図5に示されている。同図に示されるように、CPUユニットにおいては、共通処理(ステップ302)が到来する毎に、内部レジスタ12の記憶内容を読み込むことにより、ユニット着脱状態の確認を行っている。そして、内部レジスタ12の記憶内容に基づいてユニット着(ユニットが取り外された状態から取り付けられた状態への変化)の有無を判定している。ここで、ユニット着無しと判定されるときには(ステップ502NO)、なにも行わずに、決められた他の処理への移行が行われる。
【0077】
これに対して、ユニット着有りが判定されると(ステップ502YES)、以下の一連の処理(ステップ503〜508)への移行が行われる。先ず、コネクタ電源をONとすることにより、そのコネクタに接続されたユニットに対する給電を開始すると共に(ステップ503)、当該ユニットからI/Oバス11を介して所定のユニット識別情報(複数の項目から構成される)を読み込み、これを先のユニット着時に読み込まれて記憶されているユニット識別情報(複数の項目から構成される)と照合することにより、ユニット種別の確認を行う(ステップ504)。
【0078】
ここで、上記の照合の結果として、新たに装着されたユニットの種別が先に装着されていたユニットの種別と一致すると判定されれば(ステップ505YES)、規定のユニット着時処理が開始される(ステップ506)。このユニット着時処理(ステップ506)においては、通信を再開する等の各ユニット毎に予め決められた正常動作への復帰処理が実行される。
【0079】
これに対して、新たに装着されたユニットの種別が先に装着されていたユニットの種別と一致しないと判定されれば(ステップ505NO)、上記のユニット着時処理(ステップ506)は実行されず、その代わりに、新たに装着されたユニットのユニット識別情報(複数の項目から構成される)と先に装着されていたユニットのユニット識別情報(複数の項目から構成される)との比較により間違え情報が生成される。こうして得られた間違え情報は、CPUユニットのメモリ内のオンライン交換ステータスメモリ領域M6に格納される。
【0080】
先に述べたように、このオンライン交換ステータスメモリ領域M6には、オンライン交換失敗フラグM610と、ユニット種類間違えフラグM620と、ユニット側設定間違えフラグ(設定1)〜(設定N)M631〜M63Nとが含まれており、この間違い情報格納処理(ステップ507)においては、上記で生成された間違い情報は、それらのフラグM610,M620,M631〜M63Nの状態(例えば、"1"又は"0")に反映される。
【0081】
したがって、ユーザは、こられのフラグM610,M620,M631〜M63Nを入力条件として所定の表示ランプを点灯するようにユーザプログラムを組んだり、あるには、図6に示されるように、市販のプログラマブル表示器において、それらのフラグM610,M620,M631〜M63Nを条件として、それらのフラグの意味内容に合う文字や図形を表示させることにより、PLCにツールを接続せずとも、オンライン交換に失敗したこと、失敗の原因がユニットの種類を間違えたことにあること、ユニット側のどの設定を間違ったこと、等々を、通常の表示ランプやプログラマブル表示器6上の文字や図形を介して、容易に確認することが可能となる。
【0082】
なお、図6において、2はCPUユニット、3はI/Oユニット、4は通信ユニット、5はモーション・コントロールユニットやPID演算ユニット等々の特殊機能ユニットであり、この例では、故障した通信ユニット4aをベースユニット1から取り外す代わりに、正常な通信ユニット4bを新たに取り付けるものである。
【0083】
このとき、例えば、誤って通信ユニットではなくて、別のユニットを装着すれば、オンライン交換失敗フラグM610及びユニット種類間違えフラグM620が"1"にセットされる。また、設定項目1〜Nのいずれかが間違いであれば、フラグM631〜M63Nの該当するものが"1"にセットされる。
【0084】
したがって、これらのフラグM610,M620,M631〜M63Nを入力条件として所定の表示ランプを点灯するようにユーザプログラムを組み込んだり、あるには、図6に示されるように、市販のプログラマブル表示器において、それらのフラグM610,M620,M631〜M63Nを入力条件として、それらのフラグの意味内容に合う文字や図形を表示させることにより、PLCにツールを接続せずとも、オンライン交換に失敗したこと、失敗の原因がユニットの種類を間違えたことにあること、ユニット側のどの設定項目を設定間違ったこと、等々を、通常の表示ランプやプログラマブル表示器6上の文字や図形を介して、容易に確認することが可能となる。
【0085】
加えて、そのようなフラグを入力条件として、ユニット交換間違い時の対策に相当するユーザプログラムを予め組んでおけば、動作範囲や動作条件を限定した上で運転を継続させる等々、そのユニット毎に、間違いの種類に応じて適切な対応を取ることも可能となる。
【産業上の利用可能性】
【0086】
この発明によれば、ユニットのツールレスオンライン脱着が可能であり、しかもユニット脱の判定に際するシステムプログラム側の処理負担を軽減することが可能なプログラマブル・コントローラを提供することができる。
【図面の簡単な説明】
【0087】
【図1】PLCのベースユニットの構成図である。
【図2】CPUユニット内のデータ配置を示すメモリマップである。
【図3】CPUユニットの処理全体を示すフローチャートである。
【図4】ユニットからの異常レスポンス入力時の詳細フローチャートである。
【図5】ユニット着時処理の詳細フローチャートである。
【図6】本発明の作用説明図である。
【符号の説明】
【0088】
1 ベースユニット
1a CPUユニット装着領域
1b 各種機能ユニット装着領域
2 CPUユニット
3 I/Oユニット
4 通信ユニット
5 特殊機能ユニット
6 プログラマブル表示器
11 I/Oバス
12 内部レジスタ
13a,13b,13c,13d スロット
14 信号ライン
21 CPU
22 メモリ
M1 システムメモリ領域
M2 ワークメモリ領域
M3 ユーザプログラムメモリ領域
M4 システム設定メモリ領域
M5 I/Oデータ領域
M6 オンライン交換ステータスメモリ領域
M610 オンライン交換失敗フラグ
M620 ユニット種類間違えフラグ
M631〜M63N ユニット側設定間違いフラグ(設定1〜N)

【特許請求の範囲】
【請求項1】
CPUユニットと、複数の機能ユニットとが、I/Oバスを介して互いに接続され、かつ各機能ユニットのそれぞれは、コネクタを介してI/Oバスに対して取り付け、取り外し可能とされ、さらにCPUユニットが必要に応じてI/Oバスを介して各機能ユニットにアクセスすることにより、その機能ユニットに関する機能が実現されるようにしたPLCであって、
コネクタ別の記憶領域を有すると共に、いずれかのコネクタに関して機能ユニットの取り外し操作が行われるのに連動して、そのコネクタに関する記憶領域には第1の状態が記憶され、かついずれかのコネクタに関して機能ユニットの取り付け操作が行われるのに連動して、そのコネクタに関する記憶領域には第2の状態が記憶される状態メモリと、
CPUユニットがいずれかのコネクタを介して機能ユニットにアクセスした際に異常レスポンスが検出されたときに、そのコネクタに関する状態メモリの記憶内容を参照すると共に、その記憶内容が第1の状態であると判定されたときには、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り外しを可能とするために、ユニット取り外し時に必要とされる処理を実行する一方、第2の状態であると判定されたときには、所定の通信異常時処理を実行する第1の制御手段と、
いずれかのコネクタに関して状態メモリの記憶内容が第1の状態から第2の状態へと変化したと判定されたときには、PLCの運転を継続したままで、指定されたコネクタに関して、機能ユニットの取り付けを可能とするために、ユニット取り付け時に必要とされる処理を実行する第2の制御手段とを具備する、ことを特徴とするPLC。
【請求項2】
第2の制御手段は、コネクタを介して機能ユニットから読み込まれたユニット識別情報に基づいて、ユニット交換前後においてユニット不一致と判定されるときには、ユニット取り付け時に必要とされる処理を実行しない、ことを特徴とする請求項1に記載のPLC。
【請求項3】
いずれかのコネクタに関して状態メモリの内容が第1の状態から第2の状態へと変化したと判定されたときに、そのコネクタを介して機能ユニットから読み込まれたユニット識別情報に基づいてユニット交換間違いの有無を判定する判定手段と、
判定手段による判定結果を、PLCのユーザプログラムやプログラマブル表示器の表示プログラムで参照可能な1又は2以上のユニット交換間違いフラグの状態に反映させるフラグ制御手段とをさらに具備する、ことを特徴とする請求項1に記載のPLC。
【請求項4】
PLCのユーザプログラムやプログラマブル表示器の表示プログラムで参照可能な1又は2以上のユニット交換間違いフラグには、オンライン交換に失敗したことを示すフラグが含まれている、ことを特徴とする請求項3に記載のPLC。
【請求項5】
PLCのユーザプログラムやプログラマブル表示器の表示プログラムで参照可能な1又は2以上のユニット交換間違いフラグには、機能ユニットの種類を間違えたことを示すフラグが含まれている、ことを特徴とする請求項3に記載のPLC。
【請求項6】
PLCのユーザプログラムやプログラマブル表示器の表示プログラムで参照可能な1又は2以上のユニット交換間違いフラグには、ユニット側の1の設定項目に関する設定を間違えたことを示すフラグが含まれている、ことを特徴とする請求項3に記載のPLC。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2008−97369(P2008−97369A)
【公開日】平成20年4月24日(2008.4.24)
【国際特許分類】
【出願番号】特願2006−279118(P2006−279118)
【出願日】平成18年10月12日(2006.10.12)
【出願人】(000002945)オムロン株式会社 (3,542)
【Fターム(参考)】