(57)【要約】【課題】桁上あげ機能が無い年カウンタを内蔵するカレンダーＩＣに対して西暦年の更新をコストアップすることなく簡単な構成で実現可能とすること。【解決手段】西暦年の下２桁「００」から「９９」までを年毎にカウントしカウント値が「９９」からプラス１するときは「００」になる年カウンタ２１ｇを備えたカレンダーＩＣ１７において、当該カレンダーＩＣ１７が内蔵する少なくとも２つの任意の第１、第２のレジスタ（分アラームレジスタ、時アラームレジスタ）２３ａ，２３ｂを未使用の汎用レジスタとなし、第１のレジスタ２３ａに西暦年の上位２桁を記憶させ、第２のレジスタ２３ｂに西暦年の下位２桁を記憶させる。【選択図】図２
2007072993.tif 000002
【特許請求の範囲】
【請求項１】
西暦年の下２桁「００」から「９９」までを年毎にカウントしカウント値が「９９」からプラス１するときは「００」になる年カウンタを備えたカレンダーＩＣにおいて、当該カレンダーＩＣが内蔵する少なくとも２つの任意の第１、第２のレジスタを未使用の汎用レジスタとなし、第１のレジスタに西暦年の上位２桁を記憶させ、第２のレジスタに西暦年の下位２桁を記憶させる、ことを特徴とする請求項１に記載のカレンダーＩＣ。
【請求項２】
請求項１に記載のカレンダーＩＣが組み込まれていることを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カレンダーＩＣおよび該カレンダーＩＣを備えたプログラマブル表示器等の制御装置に関する。
【背景技術】
【０００２】
例えばプログラマブル表示器は、プログラマブルロジックコントローラ（ＰＬＣ）に制御されて外部機器を表示画面上に表示部品として表示して外部機器の状況を表示したり、表示画面上でその表示部品を操作して外部機器を操作したりすることができるものである（特許文献１参照）。
【０００３】
このようなプログラマブル表示器にはカレンダーＩＣを備えたものがある。このカレンダーＩＣは、一般に、秒カウンタ、分カウンタ、時カウンタ、曜日カウンタ、日カウンタ、月カウンタ、および年カウンタを備えることにより年、月、日、分、秒、曜日のカレンダー機能を提供することができる。しかしながら、カレンダーＩＣの中で低価格のものでは、年カウンタが、西暦年の下２桁（１位と１０位）をカウントし該西暦年の下２桁のカウント値が「９９」よりプラス１するときにカウント値が「００」となる年カウンタのものが組み込まれることがある。
【０００４】
このような低価格のカレンダーＩＣがプログラマブル表示器に限らず、多くのコンピュータを用いた制御装置に組み込まれ西暦年の下２桁でカウントするのは、制御装置（電子、電気装置を含む、）が高価であったり、メモリの使用に限界があったので、その使用量を減らし、処理速度を高めるためでもあったが、最近に至っても、そのように低価格なカレンダーＩＣを用いて依然としてその年カウンタにより西暦年の下２桁をカウントし、１９９９年のカウント値を「９９」とし、２０００年のときは「００」として桁上げしないタイマ・カウンタ機能としたものが多い。
【０００５】
このような年カウンタを備えたカレンダーＩＣでは、西暦２０００年問題、すなわち、西暦２０００年以降に、またはそれ以前でも、２０００年以降の西暦年データを年用カウンタのカウント値に基づいて処理しようとする時に、日付の大小比較など日付を絡めた計算などに正常な処理ができなくなるという問題が発生する。この問題に対処した技術は特許文献２等において多数提案されている。
【０００６】
上記した西暦２０００年の問題はプログラマブル表示器に限らず、情報通信機器（小型情報機器、携帯電話、自動車電話等の移動体通信機器等を含む）やコンピュータ等のＯＡ機器、民生機器の様々な電子機器等、上記カレンダーＩＣを組み込んだ制御装置一般に広く派生する問題である。
【特許文献１】特開２００４−２５２９２０号公報
【特許文献２】特開２００１−３５０７４０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、上記制御装置に組み込まれるカレンダーＩＣにおいて、桁上あげ機能が無い年カウンタを内蔵するカレンダーＩＣに対して、年カウンタが示す下２桁のカウント値が西暦２０００年以降、「００」「０１」…であることによる上記した課題をコストアップすることなく簡単な構成により解消可能としたカレンダーＩＣを提供することを目的としている。
【課題を解決するための手段】
【０００８】
本発明によるカレンダーＩＣは、西暦年の下２桁「００」から「９９」までを年毎にカウントしカウント値が「９９」からプラス１するときは「００」になる年カウンタを備えたカレンダーＩＣにおいて、当該カレンダーＩＣが内蔵する少なくとも２つの任意の第１、第２のレジスタを未使用の汎用レジスタとなし、第１のレジスタに西暦年の上位２桁を記憶させ、第２のレジスタに西暦年の下位２桁を記憶させることを特徴とするものである。
【０００９】
本発明のカレンダーＩＣによると、年カウンタのカウント値が例えば「９９」から「００」になったときは、第１のレジスタの記憶値は「１９」であり、第２のレジスタの記憶値は「９９」であり、年カウンタのカウント値が「００」から「０１」になったときは、第１のレジスタの記憶値は「２０」であり、第２のレジスタの記憶値は「００」であり、それ以降も、年カウンタのカウント値がプラス１づつ更新するときは、第２のレジスタの記憶値は年カウンタの更新したカウント値よりも常に小さくなっているので、当該カレンダーＩＣを搭載した制御装置においては、この大小関係および第１のレジスタの記憶値とにより、年カウンタの「００」は２０００年の下２桁であり、「０１」は２００１年の下２桁であるとしてソフト処理することができる。
【００１０】
したがって、桁上あげ機能が無い年カウンタを内蔵するカレンダーＩＣを用いたことによる西暦２０００年の問題をコストアップすることなく簡単な構成により容易に解決することができるようになる。
【００１１】
上記第１、第２のレジスタはカレンダーＩＣに内蔵されるレジスタであれば限定されないが、例えば、分アラームレジスタや時アラームレジスタ等を採用することができる。
【００１２】
本発明が適用される制御装置は、カレンダーＩＣが組み込まれる制御装置であればよく特に限定されない。
【発明の効果】
【００１３】
本発明によれば、年カウンタが桁上あげ機能が無いため、年カウンタのカウント値が、「９９」、「００」、「０１」…と変化するとき、第１のレジスタの記憶値および年カウンタのカウント値と第２のレジスタの記憶値との大小関係を用いて、年カウンタのカウント値「００」、「０１」、「０２」…が２０００年の「００」、２００１年の「０１」、２００２年の「０２」…であると判定することができる。この場合、汎用レジスタにはカレンダーＩＣ内蔵の未使用レジスタを用いているから、コストがアップする外付けレジスタ等を要することなく、簡単かつ容易に西暦２０００年問題を解消できるカレンダーＩＣを提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付した図面を参照して、本発明の実施の形態に係るカレンダーＩＣを説明する。図１はそのカレンダーＩＣが組み込まれているプログラマブル表示器（制御装置の一例）のブロック図である。このプログラマブル表示器は、センサ等の各種外部機器を制御する図示略のＰＬＣ（プログラマブルロジックコントローラ）に専用ネットワークを介して接続され、実行プログラムに従い動作し、ＰＬＣと通信してセンサやリレー等の外部機器の状態を表示し、通信結果やオペレータの指示に応じて外部機器への制御指示をＰＬＣへ送信する。プログラマブル表示器には外部機器を操作するための操作部品が表示され、操作者は表示器に表示されている操作部品を操作して外部機器を操作することができるようになっている。プログラマブル表示器はまた、外部ＰＣ（ホストコンピュータ）との間でデータ通信処理を行うことができるようになっている。
【００１５】
このような制御システムに用いるプログラマブル表示器は、当該表示器の全体を制御する主制御部としてのＣＰＵ１、外部ＰＣに対するインターフェース（Ｉ／Ｆ）３、ＰＬＣに対するインターフェース（Ｉ／Ｆ）５、ＯＳ（オペレーティングシステム）やその他のプログラム等が格納されている各種のＲＯＭ７、ＣＰＵの作業エリア等を提供する各種のＲＡＭ９、オペレータにより操作入力される入力部１１、必要な情報や操作部品を表示する表示部１３、ＣＰＬＤ（コンプレックスプログラマブルロジックデバイス）１５、およびカレンダーＩＣ１７を備える。ＣＰＬＤ１５は、内部の論理回路を外部から与えられるプログラム情報（プログラム言語情報）に従って配線可能な極めて多数の論理素子（ゲート）および記憶素子（フリップフロップ、レジスタ、メモリ）と、与えられたプログラム情報によりそれらを配線するプログラミング回路とを有するものである。
【００１６】
図２を参照して、カレンダーＩＣ１７を説明する。このカレンダーＩＣ１７はリアルタイムクロック（ＲＴＣ）モジュールにより構成されている。このカレンダーＩＣ１７は、３２．７６８ｋＨｚの水晶振動子を用いた発振回路１９を備えており、この発振回路１９が発生する基本クロックを分周器１９ａにより分周し、基本時間である１秒パルスをカウンタクロックとし、レジスタ構成のカウンタ回路２１とアラーム回路２３へ入力する。カウンタ回路２１は、いずれもレジスタ構成である、秒カウンタ２１ａ、分カウンタ２１ｂ、時カウンタ２１ｃ、曜日カウンタ２１ｄ、日カウンタ２１ｅ、月カウンタ２１ｆ、および年カウンタ２１ｇからなり、秒カウンタ２１ａは１秒パルス毎にカウントアップし、６０秒後に桁上げ信号を発生する。この桁上げ信号により分カウンタ２１ｂの桁上がりが発生し、同様に、時カウンタ２１ｃ、曜日カウンタ２１ｄ、…、年カウンタ２１ｇの桁上がりが発生する。
【００１７】
アラーム回路２３は、分アラームレジスタ２３ａ、時アラームレジスタ２３ｂ、曜日アラームレジスタ２３ｃ、および日アラームレジスタ２３ｄからなる。これらアラームレジスタ２３ａないし２３ｄには、アラーム割り込み発生時刻（分、時、曜日、日）がアラーム情報として格納されるが、実施の形態では、分アラームレジスタ２３ａ、時アラームレジスタ２３ｂには、コントロールレジスタ２５によりアラーム情報は格納されず、アラーム割り込みがされない未使用の汎用レジスタとされている。実施の形態では、カレンダーＩＣ１７が内蔵する未使用の汎用レジスタとして、分アラームレジスタ２３ａ、時アラームレジスタ２３ｂを選択したが、汎用レジスタの例としては、これらに限定されず、カレンダーＩＣ１７が内蔵する他のレジスタを任意に採用することができることは勿論である。
【００１８】
図３を参照してカウンタ回路２１内の年カウンタ２１ｇは、西暦年の下２桁（１位と１０位）をカウントし該西暦年の下２桁のカウント値が西暦年が１９９９年では「９９」であり、２０００年のときは、「００」となり、２００１年のときは「０１」となり、２００２年のときは「０２」となる。以降、年毎にプラス１ずつカウント値が増加する。
【００１９】
一方、分アラームレジスタ２３ａには、未使用汎用レジスタとして、西暦年の上位２桁（１００位と１０００位の世紀情報）が記憶されており、西暦年が「１９９９」のときは「１９」が、「２０００」のときは「２０」、…、それ以降、書き換えるまでは「２０」が記憶されている。時アラームレジスタ２３ｂには、未使用汎用レジスタとして、年カウンタ２１ｇのカウント値が示す西暦年の下２桁のカウント値が「９９」のときは記憶値として「９９」が記憶され、カウント値が「００」のときは記憶値として「００」が記憶され、カウント値が「０１」のときは記憶値として「０１」が記憶され、それ以降、年カウンタ２１ｇのカウント値より小さい記憶値が記憶される。
【００２０】
以上の構成において、カレンダーＩＣ１７の年カウンタ２１ｇのカウント値が「００」に変化したとき、西暦年の上位２桁の変化の情報が存在しないと、従来のようにソフト的には西暦年は「１９００」であると読み込まれるが、実施の形態では、分アラームレジスタ２３ａの記憶値は「１９」であり、また、時アラームレジスタ２３ｂの記憶値「９９」と年カウンタ２１ｇのカウント値「００」との大小関係から、西暦年の上位２桁が「１９」から「２０」に変化したという情報を得ることができ、西暦年の上位２桁が「２０」であるとソフト処理することができる結果、カレンダーＩＣ１７は現西暦年の時刻情報が「２０００年」であると提供することができる。同様に、年カウンタ２１ｇのカウント値が「０１」になると、このときは、分アラームレジスタ２３ａの記憶値は「２０」であり、時アラームレジスタ２３ｂの記憶値は「００」であるので、時アラームレジスタ２３ｂの記憶値「００」と年カウンタ２１ｇのカウント値「０１」との大小関係と分アラームレジスタ２３ａの記憶値とから、カレンダーＩＣ１７は現西暦年の時刻情報が「２００１年」であると提供することができる。以降、同様に、カレンダーＩＣ１７は、年カウンタ２１ｇが桁上がり機能を備えずとも、現西暦年の時刻情報を提供することができる。
【００２１】
以上から実施の形態では、年カウンタ２１ｇが西暦年の下２桁の更新のみであることによる西暦２０００年代やそれ以降での問題をコストアップすることなく簡単な構成により解消することができる。
【００２２】
本発明、上記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【図面の簡単な説明】
【００２３】
【図１】本発明の実施の形態に係るカレンダーＩＣが組み込まれているプログラマブル表示器（制御装置）のブロック図である。
【図２】実施の形態のカレンダーＩＣの要部の概略化したブロック図である。
【図３】年カウンタのカウント値と、分アラームレジスタおよび時アラームレジスタそれぞれの記憶値との関係を示すブロック図である。
【符号の説明】
【００２４】
１７  カレンダーＩＣ
２１  カウンタ回路
２１ｇ  年カウンタ
２３  アラーム回路
２３ａ  分アラームレジスタ
２３ｂ  時アラームレジスタ
【図１】
2007072993.tif 000003
【図２】
2007072993.tif 000004
【図３】
2007072993.tif 000005