(57)【特許請求の範囲】
【請求項１】
所定の演算処理をする特殊モジュールと、停電時にデータ等を保持する停電保持エリアを有し、前記特殊モジュール出力を含む各種の信号に基づいて所定の演算処理を行うＣＰＵモジュールとを有するプログラマブルコントローラにおいて、
前記特殊モジュールはカウンタモジュールから構成されており、
このカウンタモジュールは、電源投入時に前記ＣＰＵモジュールの停電保持エリアに書込まれている現在経過値を読み出してその現在経過値を基礎として計数処理をし、そして、計数処理後にその計数値を現在経過値としてＣＰＵモジュールに送信して前記停電保持エリアに書き込ませることを特徴とするプログラマブルコントローラ。
【請求項２】
所定の演算処理をする特殊モジュールと、停電時にデータ等を保持する停電保持エリアを有し、前記特殊モジュール出力を含む各種の信号に基づいて所定の演算処理を行うＣＰＵモジュールとを有するプログラマブルコントローラにおいて、
前記特殊モジュールは位置決めモジュールから構成されており、
この位置決めモジュールは、電源投入時に前記ＣＰＵモジュールの停電保持エリアに書込まれている現在位置を読み出してその現在位置を基礎として演算処理をし、そして、新たな現在位置が生成されるとそれを現在位置としてＣＰＵモジュールに送信して前記停電保持エリアに書き込ませることを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はカウンタモジュール、位置決めモジュール、アスキーモジュール等の特殊モジュール及びＣＰＵモジュールを搭載したプログラマブルコントローラ、特に、その特殊モジュールの停電保持機能に関するものである。
【０００２】
【従来の技術】
従来この種のプログラマブルコントローラにおいて、カウンタモジュールを使用して生産管理をしているとき、例えばベルトコンベア上を送られてくる製品を光電スイッチにより検出して、カウンタモジュールによりその数量を計数し、所定数毎に区分けする生産管理を行っているときに、生産途中（計数途中）に機械を停止して電源を切る必要があった場合（：メインテナンスのために機械を停止させる場合、休息時間やその日の生産が終わるなどの場合）においては、再度電源を投入して前回の続きで制御動作を行わせる必要がある。このような場合の処理には、カウンタモジュールに停電保持機能が必要とされている。
【０００３】
このカウンタモジュールにおいて計数値の停電保持を行う場合には従来次の２つの方法がある。
ａ）カウンタモジュール側にバックアップ用バッテリや大容量コンデンサを搭載する方法。
ｂ）カウンタモジュール側にはバックアップ機能を設けずに、ユーザプログラムによってＣＰＵモジュールの停電保持エリア（レジスタ）を利用してバックアップを行う方法。この方法は、具体的には、動作時にはカウンタの経過値エリアに書き込まれている計数値を常時読み出して、ＣＰＵモジュールの停電保持エリアに書き込み、動作開始時にＣＰＵモジュールの停電保持エリアからカウンタモジュールの経過値エリアに書き込むことにより行われる。図４はこの処理方法のユーザプログラムの一例を示す図である。
【０００４】
【発明が解決しようとする課題】
プログラマブルコントローラに搭載されたＣＰＵモジュールはその性質上メモリのバックアップが必要であり、そのためのバックアップ用バッテリが搭載されているが、上記のａ）の処理方法を採用した場合においては、ＣＰＵモジュールだけでなく、カウンタモジュールにもバックアップ用バッテリや大容量コンデンサを搭載する必要があるので、コストアップに繋がる。また、バックアップ用バッテリを用いた場合には、ＣＰＵモジュールだけでなく、カウンタモジュールについてもバッテリ交換というメンテナンス作業が定期的に必要となる。
更に、上記のｂ）の処理方法ではユーザプログラムが必要となるため、ユーザに負担がかかる。
【０００５】
本発明は、上記の問題点を解決するためになされたものであり、カウンタモジュール等の特殊モジュールにおいて生成された情報若しくは外部から入力された情報又はそのモジュールにおいて停電保持が必要なプログラム或いはデータを停電時に保持させるのに際して、コストアップに繋がることなく、メンテナンス作業が増加せず、且つ、ユーザに負担がかかるような事態を避けることを可能にしたプログラマブルコントローラを提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明に係るプログラマブルコントローラは、所定の演算処理をする特殊モジュールと、停電時にデータ等を保持する停電保持エリアを有し、特殊モジュール出力を含む各種の信号に基づいて所定の演算処理を行うＣＰＵモジュールとを有するプログラマブルコントローラにおいて、特殊モジュールは、電源投入時にＣＰＵモジュールの停電保持エリアに書込まれている所定の情報を読み出してその情報を基礎として所定の演算処理をし、そして、演算処理により生成された情報又は外部から入力された情報を所定の情報としてＣＰＵモジュールに送信して停電保持エリアに書き込ませる。
ここで、特殊モジュールがカウンタモジュールの場合については、電源投入時にＣＰＵモジュールの停電保持エリアに書込まれている現在経過値を読み出してその現在経過値を基礎として計数処理をし、そして、計数処理後にその計数値を現在経過値としてＣＰＵモジュールに送信して停電保持エリアに書き込ませる。
従って、カウンタモジュールは、計数処理後にその計数値を現在経過値としてＣＰＵモジュールに送信してそのＣＰＵモジュールの停電保持エリアに書き込ませており、このため、電源が切られても、その計数値は現在経過値としてＣＰＵモジュールに保存される。その後に電源を投入したときには、停電保持エリアに書き込まれてある現在経過値を読み出して、その現在経過値を基礎として計数処理をしていく。
また、特殊モジュールが位置決めモジュールの場合については、電源投入時にＣＰＵモジュールの停電保持エリアに書込まれている現在位置を読み出してその現在位置を基礎として演算処理をし、そして、新たな現在位置が生成されるとそれを現在位置としてＣＰＵモジュールに送信して停電保持エリアに書き込ませる。従って、位置決めモジュールは、演算処理をして新たな現在位置を生成するとＣＰＵモジュールに送信してそのＣＰＵモジュールの停電保持エリアに書き込ませており、このため、電源が切られても、その現在位置はＣＰＵモジュールに保存される。その後に電源を投入したときには、停電保持エリアに書き込まれてある現在位置を読み出して、その現在位置を基礎として演算処理をしていく。
【０００８】
【発明の実施の形態】
（第１の実施の形態）
図１は本発明の第１の実施の形態の係るプログラマブルコントローラの構成を示すブロック図である。なお、この図においては本発明と関連する部分のみが図示されており、他の部分は省略されている。カウンタモジュール１０は、ＣＰＵ１１、ＲＡＭ１２、ＲＯＭ１３、停電保持選択スイッチ１４、バスインターフェース１５及び入出力ポート１６から構成されている。この入出力ポート１６には計数信号が供給され、計数信号が取り込まれると、ＣＰＵ１１は割り込み処理を行い、ＲＡＭ１２の所定の領域に確保されている割り込みフラグ１２ａをセットし、ＲＡＭ１２の所定の領域に確保されている経過値エリア１２ｂに格納されている計数値を読み出してその計数値を「１」増加して、その経過値エリア１２ｂに再び書き込む。この計数処理自体は割り込みフラグ１２ａをセットする点を除き従来のカウンタモジュールの処理動作と同じである。
【０００９】
また、ＣＰＵモジュール２０は、ＣＰＵ２１、ＲＡＭ２２、ＲＯＭ２３、バッテリー２４及びバスインターフェース２５から構成されている。ＲＡＭ２２はバッテリー２４によりバックアップされており、ＣＰＵモジュール２０の停電保持エリアとして機能する。ＣＰＵモジュール２０はバス３０を介してカウンタモジュール１０と相互に接続されている。
【００１０】
図２は図１のカウンタモジュール１０とＣＰＵモジュール２０との関係を示した説明図である。図３はカウンタモジュールの動作の詳細を示したフローチャートである。以下これらの図に基づいて図１のプログラマブルコントローラの動作を説明する。
【００１１】
カウンタモジュール１０は電源が投入されると、そのＣＰＵ１１は初期設定の処理をする（Ｓ１１）。ＣＰＵ１１は、初期設定の処理として、ここでは停電保持選択スイッチ１４の設定の内容を読み込み、そして、その内容をＲＡＭ１２の所定の領域に確保されている停電保持ＳＷメモリ１２ｃに書き込むと同時に、割り込みフラグ１２ａをリセットする。次に、ＣＰＵ１１はその停電保持ＳＷメモリ１２ｃがＯＮに設定されているかどうかを判断する（Ｓ１２）。ＣＰＵ１１は、停電保持ＳＷメモリ１２ｃがＯＮに設定されていると判断した場合には、ＣＰＵモジュール２０から現在経過値を読み出す（Ｓ１３）。即ち、ＣＰＵ１１はバスインタフェース１５及びバス３０を介してＣＰＵモジュール２０にアクセスする。ＣＰＵモジュール２０のＣＰＵ２１はこのアクセスにより停電保持エリア（ＲＡＭ２２）の現在経過値を読み出して、バスインタフェース２５及びバス３０を介してカウンタモジュール１０に送り出す。カウンタモジュール１０のＣＰＵ１１はバスインタフェース１５を介してその現在経過値をＲＡＭ１２の経過値エリア１２ｂに書き込む（Ｓ１４）。
【００１２】
次に、カウンタモジュール１０のＣＰＵ１１は停電保持ＳＷメモリ１２ｃがＯＮに設定されているかどうかを再び判断する（Ｓ１５）。ＣＰＵ１１は、停電保持ＳＷメモリ１２ｃがＯＮに設定されていると判断した場合には、次に、割り込みフラグ１２ａがセットされているかどうかを判断する（Ｓ１６）。ここで、割り込みフラグ１２ａがセットされている場合というのは、上述のように、入出力ポート１６に計数信号が入力して計数処理が行われ、経過値エリア１２ｂの計数値が変化（増加）した場合である。従って、ＣＰＵ１１は割り込みフラグ１２ａがセットされていると判断した場合には、経過値エリア１２ｂの計数値を現在経過値として送信してＣＰＵモジュール２０に書き込む（Ｓ１７）。即ち、ＣＰＵ１１はバスインタフェース１５及びバス３０を介してＣＰＵモジュール２０に現在経過値を送信する。ＣＰＵモジュール２０のＣＰＵ２１はその現在経過値を停電保持エリア（ＲＡＭ２２）に書き込んでその値を更新する。その後、カウンタモジュール１０のＣＰＵ１１は割り込みフラグ１２ａをリセットして（Ｓ１８）、その他の必要な処理を行い（Ｓ１９））、再び、上記の処理（Ｓ１５）に戻って上述の処理を繰り返す。なお、停電保持ＳＷメモリ１２ｃがＯＦＦに設定されているときには、上記のＳ１３〜Ｓ１８の処理は省略される。
【００１３】
なお、以上の説明では、カウンタ入力の割り込み処理により割り込みフラグ１２ａをセットし、後でＣＰＵモジュール２０の停電保持エリア（ＲＡＭ２１）へ計数値を記憶させているが、この方法では、高速のパルス計数時には頻繁に停電保持がなされ、特に、複数のカウンタモジュールが装着されているときには、ＣＵＰモジュール２０への負荷が重くなり、ＣＰＵモジュールのユーザープログラム実行が遅くなる。
この対策として、例えば、機械が停止し電源を切るときに、運転者に停電保持指令スイッチを押してもらい、このスイッチ入力をカウンタモジュールにて検出し、前述の“割り込みフラグ１２ａ”をセットしてやれば、図３の処理に従って本フラグがセットされた時に限り計数値が停電保持されるので、ＣＰＵモジュールへの負荷が無視出来、ユーザープログラムの実行速度への影響も無視できる。
或いは、カウンタモジュールにて、タイマー割り込みを使用し、定期的に前述の“割り込みフラグ１２ａ”をセットし、図３の処理に従って計数値を停電保持させても良い（これらの場合には、当然割り込み処理内で割り込みフラグ１２ａはセットされない）。或いは、タイマ割り込みと、計数割り込みとの組み合わせで、定期的だが計数入力があった時に限り計数値を停電保持させても良い。或いは、ＣＰＵモジュール側に、前述のタイマ割り込み機能を持たせ定期的に、或いは停電保持指令スイッチ検出時に、或いはユーザープログラム実行が１スキャン終了する度に、カウンタモジュール側の“割り込みフラグ１２ａ”もセットする指令を与えてカウンタモジュールに図３の処理に従って計数値を停電保持させても良い。
【００１４】
（第２の実施の形態）
上述の実施の形態においては、カウンタモジュールにより生成された情報即ち計数値を停電保持する場合について説明したが、外部から入力された情報を保持する場合においても本発明は同様に適用される。また、上述の実施の形態においては特殊モジュールとしてカウンタモジュールの場合について説明したが、位置決めモジュールにおいても本発明は同様に適用される。この位置決めモジュールの場合は、カウンタモジュールの計数値の代わりに、現在位置がＣＰＵモジュールの停電保持エリアに書き込まれることになる。
【００１５】
（第３の実施の形態）
ところで、上述の実施の形態においてはデータを停電保持する場合について説明したが、例えば停電保持が必要なプログラムやデータを、その対象にしてもよい。その場合には、ＣＰＵモジュールの停電保持エリアには特殊モジュールのためのプログラムやデータ（停電保持が必要なプログラムやデータ）を予め書き込んでおき、そして、特殊モジュールは、ＣＰＵモジュールの停電保持エリアに書込まれているプログラムやデータを電源投入時に読み出して、それ自身に内蔵されている記憶手段に書き込む。以後、特殊モジュールは、このプログラムやデータに従って運転を開始する。この場合の特殊モジュールとしては、カウンタモジュール、位置決めモジュール及びアスキーモジュールが該当する。
【００１６】
【発明の効果】
以上のように本発明によれば、特殊モジュールにおいて生成された情報をＣＰＵモジュールの停電保持エリアに書き込み、電源を投入したときには、停電保持エリアに書き込まれてある情報を読み出して取り込むようにしたので、特殊モジュールの情報等が停電時においても適切に保持される。しかも、その情報等の保持がＣＰＵモジュールにおいてなされるので、特殊モジュール自体にバックアップのためのバッテリ又はコンデンサを必要とせず、また、ユーザープログラムを作成する必要もないことからユーザーに負担を強いることもない。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るプログラマブルコントローラの構成を示すブロック図である。
【図２】図１のカウンタモジュールとＣＰＵモジュールとの関係を示した説明図である。
【図３】図１のカウンタモジュールの動作の詳細を示したフローチャートである。
【図４】従来のプログラマブルコントローラにおいてユーザプログラムにより計数値のバックアップを行う場合のユーザプログラムの一例を示す図である。
【図１】
0003694817.tif 000002
【図２】
0003694817.tif 000003
【図３】
0003694817.tif 000004
【図４】
0003694817.tif 000005