(57)【特許請求の範囲】
【請求項１】
キーボードに設けられ、該キーボードの任意のキーが押された時点で、その押されたキーを特定するキーコードを含む第１のデータと該キーコードに識別コードを付加した第２のデータとを作成して送信するキーコード作成手段と、
前記第１および第２のデータを受信し、それらのデータに含まれる前記キーコード相互を照合して該キーコードの適否を判定する判定手段と
を備えることを特徴とするキーボードを用いた入力装置。
【請求項２】
キーボードに設けられ、該キーボードの特殊キーおよび非特殊キーが組合せて押された時点で、その押されたキーを特定するキーコードを含む第１のデータと該キーコードに識別コードを付加した第２のデータとを作成して送信するキーコード作成手段と、
前記第１および第２のデータを受信し、それらのデータに含まれる前記非特殊キーを特定するキーコード相互を照合して該キーコードの適否を判定する判定手段と、
前記第１のデータに含まれるキーコードが前記第２のデータに全て存在していることを確認する手段と
を備えることを特徴とするキーボードを用いた入力装置。
【請求項３】
キーボードの任意のキーが押された時点で、その押されたキーを特定するキーコードを含む第１のデータと該キーコードに識別コードを付加した第２のデータとを作成して送信するキーコード作成ステップと、
前記第１および第２のデータを受信し、それらのデータに含まれる前記キーコード相互を照合して該キーコードの適否を判定する判定ステップと
を含むことを特徴とするキーボードを用いた入力方法。
【請求項４】
キーボードの特殊キーおよび非特殊キーが組合せて押された時点で、その押されたキーを特定するキーコードを含む第１のデータと該キーコードに識別コードを付加した第２のデータとを作成して送信するキーコード作成ステップと、
前記第１および第２のデータを受信し、それらのデータに含まれる前記非特殊キーを特定するキーコード相互を照合して該キーコードの適否を判定する判定ステップと、
前記第１のデータに含まれるキーコードが前記第２のデータに全て存在していることを確認するステップと
を含むことを特徴とするキーボードを用いた入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、キーボードを用いた入力装置および入力方法に関し、特に、入力データの信頼性を向上するための技術に関する。
【背景技術】
【０００２】
プラント監視制御システム（ＤＣＳ：distributed control system）では、オペレータが監視及び操作を行うためのＨＭＩ（human machine interface）手段として、専用キーボードが使用される。このようなシステムに用いられる専用キーボードは、ノイズ等によるキー入力データの変化が事故の発生につながることもあるため、該データに高い信頼性が要求される。
【０００３】
近年、ＤＣＳでは、パソコンを用いてシステムを構築することが多く、そのため、上記専用キーボードのインターフェースとしてＰＳ／２インターフェースが使用されるようになってきた。しかし、ＰＳ／２インターフェースは、通信伝文中に巡回冗長検査やチェックサム等の伝送データを保障するためのデータを有していないので、特に、専用キーボードがパソコン本体から離れた位置に設置されて、それら相互を接続するケーブルが長くなる場合、パソコン本体において信頼性の高いキーコードを得られなくなるおそれがある。
【０００４】
そこで、キー押圧時にキーコードをコンピュータに伝送するとともに、キー押圧解除時に該キーコードに関する認証データをコンピュータに伝送し、コンピュータ側でこのキーコードのデータと認証データとを照合するという技術が提案されている（例えば、特許文献１参照）。この技術によれば、例えば、ノイズによりキーコードが変化した場合に、そのキー入力データの誤りをコンピュータ側で判定することが可能になる。
【０００５】
【特許文献１】特開２００４−１９２６０５公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来の技術方法では、キーの押圧解除時点がキーコードの入力時点になるので、オペレータがキー操作時に違和感やストレスを感じることになる。
【０００７】
本発明は、上記問題点に鑑み、キーコードの適否をキーの押圧操作時点で判定することが可能なキーボードを用いた入力装置及び入力方法を提供することを課題とする。
【課題を解決するための手段】
【０００８】
本発明に係る入力装置は、キーボードに設けられ、該キーボードの任意のキーが押された時点で、その押されたキーを特定するキーコードを含む第１のデータと該キーコードに識別コードを付加した第２のデータとを作成して送信するキーコード作成手段と、前記第１および第２のデータを受信し、それらのデータに含まれる前記キーコード相互を照合して該キーコードの適否を判定する判定手段と、を備えることによって上記課題を解決している。
【０００９】
さらに、本発明に係る入力装置は、キーボードに設けられ、該キーボードの特殊キーおよび非特殊キーが組合せて押された時点で、その押されたキーを特定するキーコードを含む第１のデータと該キーコードに識別コードを付加した第２のデータとを作成して送信するキーコード作成手段と、前記第１および第２のデータを受信し、それらのデータに含まれる前記非特殊キーを特定するキーコード相互を照合して該キーコードの適否を判定する判定手段と、を備えることによって上記課題を解決している。
【００１０】
ここで、前記判定手段は、第１のデータに含まれるキーコードが第２のデータに全て存在していることを確認する。 
【００１１】
本発明に係る入力方法は、キーボードの任意のキーが押された時点で、その押されたキーを特定するキーコードを含む第１のデータと該キーコードに識別コードを付加した第２のデータとを作成して送信するキーコード作成ステップと、前記第１および第２のデータを受信し、それらのデータに含まれる前記キーコード相互を照合して該キーコードの適否を判定する判定ステップと、を含むことによって上記課題を解決している。
【００１２】
本発明に係る入力方法は、キーボードの特殊キーおよび非特殊キーが組合せて押された時点で、その押されたキーを特定するキーコードを含む第１のデータと該キーコードに識別コードを付加した第２のデータとを作成して送信するキーコード作成ステップと、前記第１および第２のデータを受信し、それらのデータに含まれる前記非特殊キーを特定するキーコード相互を照合して該キーコードの適否を判定する判定ステップと、を含むことによって上記課題を解決している。
【００１３】
ここで、前記判定ステップは、第１のデータに含まれるキーコードが第２のデータに全て存在していることを確認する。
【発明の効果】
【００１４】
本発明によれば、キーの押圧操作と同時に、キー入力データの適否を判定することができるので、キーデータの入力遅れに伴う違和感やストレスを受けることがない。
【発明を実施するための最良の形態】
【００１５】
図１は、本発明に係る入力装置が適用されたＨＭＩ（human machine system）、つまり、監視対象設備とオペレータとの間におけるインターフェース装置を示している。
このＨＭＩ１０は、監視用モニタ１２、専用キーボード１４、ＨＭＩ本体としてのコンピュータ１６、専用キーボード１４とコンピュータ１６とを接続するＰＳ／２インターフェースケーブル１０２、および制御用ＬＡＮ１０４を備えている。監視用モニタ１２では、キーボード１４で入力したデータや制御ＬＡＮ１０４を経由して収集したプラントの動作状態を示すデータ等が表示される。
【００１６】
本発明に係る入力装置は、図２に示すキーコード発生器２４を有している。
前記キーボード１４の任意のキー２２を押圧および押圧解除すると、図３に示すように、該キー２２に付設された図示していないスイッチがそれぞれオンおよびオフする。キーコード発生部２４は、キー２２が押圧された時点で後述の第１のデータ（白矢印参照）及び第２のデータ（黒矢印参照）を作成して送信する。
【００１７】
次に、上記第１および第２のデータについて説明する。
図２に示すキーコード発生部２４では、ＰＳ／２インターフェースが有する３種類のコードセットである“Scan Code Set 1”、“Scan Code Set 2”、“Scan Code Set 3”の内、ＰＣ／ＡＴ互換機において一般的に使用されている“Scan Code Set 2”を使用している。“Scan Code Set 2”では、第１のデータに１バイト、第２のデータに２バイトを使用する。具体的には、例えば、オペレータがキー２２としてファンクションキーＦ８を押圧した場合、図４（ａ）に示すように、キーＦ８を特定する１バイトのキーコード０Ａが第１のデータとして作成され、さらに、このキーコード０Ａに１バイトの識別コードＦ０を付加した合計２バイトのキーコードＦ０・０Ａが第２のデータとして作成される。
【００１８】
キーコード発生器２４は、“Ｓｈｉｆｔ”、“Ｃｔｒｌ”、“Ａｌｔ”等の特殊キーと、その他のキー（たとえば、英数字キーやファンクションキーＦ１〜Ｆ１２）とが組合せて操作された場合においても第１および第２のデータを作成する。
すなわち、例えば、図４（ｂ）に示すように、Ｓｈｉｆｔキーと、Ｃｔｒｌキーと、Ｆ８キーとが組合せ操作された場合、Ｓｈｉｆｔキーを特定する１バイトのキーコード１４と、Ｃｔｒｌキーを特定する１バイトのキーコード１２と、Ｆ８キーを特定する１バイトの前記キーコード０Ａとを組み合わせた第１のデータが作成されるとともに、上記各キーのコードにそれぞれ識別コードＦ０を付加した内容の第２のデータが作成される。なお、第２のデータ３４は、各キーのコードの配列順序が第１のデータのそれと逆であるが、これは後述のデータ照合手順を考慮したためである。
【実施例１】
【００１９】
まず、図５を参照して、ファンクションキーＦ８のみが押圧された場合のキー入力データの適否を判定する手順を説明する。
コンピュータ１６は、初期動作として、該コンピュータ１６に設けられた図６に示す記録領域６０をクリアし（ステップ５０２）、そののち、最初の１バイト分のコードを受けとるとともに、その受けとったコードが識別コードであるか否かを判断する（ステップ５０４、５０６）。
【００２０】
Ｆ８キーが押された場合には、図２に示すキーコード発生器２４から図４（ａ）に示すコード０Ａ、Ｆ０および０Ａが出力されるので、図１に示すケーブル１０２等でのデータの変化がない場合、上記最初の１バイト分のコードは、図４（ａ）における第１のデータのキーコード０Ａである。
ここで、上記キーコード０Ａを受けとったとすると、ステップ５０６の判断結果がＮＯになる。そこで、ステップ５２０で、キーコード０Ａが特殊キー（Ｓｈｉｆｔ、Ｃｔｒｌ、Ａｌｔ）に係るものであるか否かが判断される（ステップ５２０）。キーコード０Ａは、特殊キーによるものではないため、ステップ５２０の判断結果はＮＯである。そこで、当該キーコード０Ａが図５に示す記録領域６０のキーコード記録領域に記録される（ステップ５２４）。
【００２１】
ステップ５２４の処理が終了すると、手順が前記ステップ５０４に戻されて、次の１バイトのコードを受け取る。この次の１バイトのコードは、上記ケーブル１０２等におけるデータの変化がない場合、図４（ａ）に示す第２のデータの識別コードＦ０である。
ここで、この識別コードＦ０を受けとったものとすると、ステップ５０６の判断結果がＹＥＳとなる。そこで、コンピュータ１４は、さらに次の１バイトのキーコードを受けとる（ステップ５０８）。この次の１バイトのコードは、上記データの変化がないとすると、図４（ａ）におけるコード０Ａである。ここで、このコード０Ａを受けとったとすると、このキーコード０Ａが特殊キーに係るものであるか否かを判断する（ステップ５１０）。キーコード０Ａは特殊キーに係るものではないため、ステップ５１０の判断結果はＮＯである。そこで、上記受けとったコード０Ａが前記ステップ５２４で記録領域６０に記録されたキーコードと同一か否かを判断する（ステップ５１４）。
【００２２】
現在、キーコード記録領域に記録されているキーコードは０Ａであるため、ステップ５１４の判断結果はＹＥＳになる。そこで、コンピュータ１６は、コード０Ａに基づいてキーＦ８の受信処理を実行し（ステップ５１６）、ついで記録領域５０をクリアする（ステップ５１８）。
ところで、何らかの要因（ノイズ等）のために、ステップ５２４で記録された第１のデータのキーコードもしくはステップ５０８で受けとった第２のデータのキーコードが０Ａでない場合があり得る。この場合には、ステップ５１４の判断結果がＮＯになるため、上記キーＦ８の受信処理は実行されない。
【００２３】
次に、図４（ｂ）に示すように、特殊キーであるＣｔｒｌ、Ｓｈｉｆｔと特殊キーでないファンクションキーＦ８が組合せて押圧された場合のキー入力データの適否を判定する手順を説明する。
ここで、図４（ｂ）に示す第１のデータの各コード１４、１２、および０Ａと、第２のデータの各コードＦ０、０Ａ、Ｆ０、１２、Ｆ０、および１４が共にコンピュータ１６に適正に伝送されると仮定すると、ステップ５０４で最初に受けとるキーコードは、Ｃｔｒｌキーのコード１４である。このとき、ステップ５０６のその判断結果はＮＯになり、また、ステップ５２０の判断結果はＹＥＳになる。そこで、図６に示す記録領域６０において、Ｃｔｒｌフラグを１にする（ステップ５２２）。
ステップ５０４で次に受けとるコードは、Ｓｈｉｆｔキーのコード１４であるから、同様に、前記記録領域６０においてＳｈｉｆｔフラグを１にする（ステップ５２２）。
その後、ステップ５０４でＦ８キーのコード０Ａを受けとると、ステップ５２０の判断結果がＮＯになることから、コードＯＡを記録領域６０に記録する（ステップ５２４）。
【００２４】
図４（ｂ）の第２のデータにおける最初のコードＦ０をステップ５０４で受けとると、このコードＦ０が識別コードであることから、ステップ５０６の判断結果がＹＥＳになる。そこで、ステップ５０８では、次の１バイトのコードとして０Ａを受けとる。この場合、ステップ５１０の判断結果がＮＯになるので、ステップ５０８で受けとったコード０Ａと記録領域６０に記録されているコード０Ａとが、ステップ５１４で照合される。
そして、ステップ５１４で双方のコード０Ａが同一であると判断されたときのみ、つまり、図４（ｂ）に示す第１のデータのコード０Ａと第２のデータのコード０Ａとが一致しているときにのみ、ステップ５１６の受信処理が実行される。
図４（ｂ）の第２のデータにおけるコード１２、１４をステップ５０８で受けとった場合には、ステップ５１０の判断結果がＹＥＳになるので、ステップ５２２で判断されたＣｔｒｌフラグおよびＳｈｉｆｔフラグを共に１から０にする（ステップ５１２）。
もし、第１のデータにおけるコード０Ａもしくは第２のデータにおけるコード０Ａがノイズ等の影響でコンピュータ１６に適切に受信されなかった場合には、ステップ５１４の判断結果がＮＯになるので、ステップ５１６でのＦ８キーの受信処理が実行されない。
【実施例２】
【００２５】
図７は、本発明の実施例２を示すフローチャートである。この図７のフローチャートにおいて、ステップ７０２〜７１０は、図５のステップ５０２〜５１０にそれぞれ対応し、ステップ７３０および７３２は、図５のステップ５２０および５２２にそれぞれ対応している。コンピュータ１６において、図４（ａ）に示す第１のデータおよび第２のデータが適切に受けとられたとすると、この場合、まず、図４（ａ）に示す第１のデータのキーコード０Ａがステップ７０４で受けとられる。このとき、ステップ７０６、７３０の制御結果が共にＮＯになるので、ステップ７３４において図８に示す記録領域８０のＦ８キーフラグが１に設定され、かつ、次のステップ７３６で記録領域８０のキーコード記録領域にキーコード０Ａが記録される。
【００２６】
コンピュータ１６が図４（ａ）における第２のデータの識別コードＦ０を受けると（ステップ７０４）、ステップ７０６の判断結果がＹＥＳになる。この場合、図５のステップ５０８、５１０、および５１４に対応する処理７０８、７１０、および７２０が実行される。
このとき、ステップ７２０の判断結果はＹＥＳになる。そこで、次のステップ７２２で該当フラグ、つまり記録領域８０のキーフラグ領域におけるＦ８キーフラグ１をフラグ２に設定変更する。このＦ８キーフラグが２に変更されたことは、図４（ａ）の第１のデータのコード０Ａと第２のデータのコード０Ａの双方をコンピュータ１６が受けとったことを示している。
【００２７】
次に、記憶領域８０において、Ｓｈｉｆｔフラグ、Ｃｔｒｌフラグ、およびＡｌｔフラグが０であるか否かを判断する（ステップ７２４）。図４（ａ）の第１および第２のデータには、Ｓｈｉｆｔキーコード、Ｃｔｒｌキーコード、およびＡｌｔキーコードが含まれていないので、図８の記憶領域におけるＳｈｉｆｔフラグ、Ｃｔｒｌフラグ、Ａｌｔフラグは、イニシャル値０のままである。したがって、ステップ７２４の判断結果はＹＥＳである。そこで、記録領域８０の記録データに基づき、Ｆ８キーのキーコードの最終的な受信処理を実行し（ステップ７２６）、ついで、記録領域８０をクリアする（ステップ７２８）。
以上の説明は、図４（ａ）の第１および第２のデータが正しくコンピュータに伝送された場合のものである。ノイズ等の影響で、第１のデータもしくは第２のデータのキーコード０Ａが誤った判断でコンピュータ１６に入力された場合には、ステップ７２０の判断結果がＮＯになる。この場合、ステップ７２６の受信処理が実行されないので、コンピュータ１６は信頼性の低いキーコードに基づいてＦ８キーの操作を認識することが回避される。
【００２８】
次に、図４（ｂ）の第１および第２のデータをコンピュータ１６が受けとる場合について説明する。
第１および第２のデータがノイズ等の影響を受けることなく、コンピュータに正しく入力されると仮定すると、第１のデータのキーコード１４、１２を受けとる毎にステップ７３２で該当キー（Ｃｔｒｌ、Ｓｈｉｆｔ）のフラグを１にする処理が実行され、これにより、図８に示す記録領域８０のＣｔｒｌフラグおよびＳｈｉｆｔフラグが１になる。
そして、第１のデータのキーコード０Ａを受けとると、ステップ７３０の判断結果がＮＯになるので、ステップ７３４、７３６の処理が実行されて、記録領域８０のキーフラグ領域においてＦ８キーフラグが１に設定されるとともに、キーコード記録領域においてキーコード０Ａが記録される。
【００２９】
第２のデータのキーコードＦ０を受けとると、ステップ７０６の判断結果がＹＥＳになるので、ステップ７０８でキーコード０Ａを受けとる。この場合、次のステップ７１０の判断結果がＮＯになるので、現在記録領域８０に記録されている第１のデータのキーコードと第２のデータのキーコード０Ａとの同一性がステップ７２０で判断される。記録領域８０に記録されたキーコードは０Ａであるので、ステップ７２０の判断結果はＹＥＳとなる。そこで、ステップ７２２で記録領域８０のＦ０キーフラグを１から２に変化させる。
現在、記録領域８０にはＣｔｒｌフラグおよびＳｈｉｆｔフラグが１に設定された状態にあるので、次のステップ７２４の判断結果はＮＯである。それ故、手順がステップ７０４に戻され、このステップ７０４で次のコードＦ０を受けとることになる。
【００３０】
そこで、ステップ７０６の判断結果が、ＹＥＳとするので、ステップ７０８でコード１２を受けとる。この場合、次のステップ７１０の判断結果がＹＥＳになるので、ステップ７１２でキーコード１２が第２のデータにおける最後のコードになるか否かを判断する。
コードには最後のデータではないので、ステップ７１２の判断結果はＮＯになる。
【００３１】
次のステップ７１８では、該当フラグを２にする処理が実行される。つまり、図８で示す記憶領域８０において、Ｓｈｉｆｔフラグを１から２に変更する処理を実行する。
その後、ステップ７０４でコードＦ０を受けとると、ステップ７０８でコード１４を受けとることになるので、ステップ７１２でコード１４が最後のコードであるか否かを判別する。上記、最後のコードは以下のように判断される。
【００３２】
現時点において、記録領域８０では、Ｓｈｉｆｔフラグが２に、Ｃｔｒｌフラグが２に、Ｓｈｉｆｔフラグが１に、Ａｌｔフラグが０に、またＦ８フラグが２にそれぞれ設定されている。これらのフラグ値から明らかなように、キーフラグ領域のキーフラグ（この例ではＦ８フラグ）が２で、かつ特殊キー（Ｓｈｉｆｔ、Ｃｔｒｌ、Ａｌｔ）のフラグのうちのあるフラグの値が１で他のフラグの値が０もしくは２のときに、フラグ値１の特殊キーフラグ（この例では、Ｃｔｒｌフラグ）のコードが最後のフラグとして判断される。
したがって、図４（ｂ）の例では、Ｃｔｒｌキーのコード１４を受けとった時点でステップ７１２の判断がＹＥＳになる。そして、この時点で、記録領域８０の内容に基づいて、Ｃｔｒｌキーコード１４、Ｓｈｉｆｔキーコード１２、Ｆ８キーコード０Ａが最終的に受信処理され（ステップ７１４）、ついで記録領域８０からクリアされる（ステップ７１６）。
以上の説明は、図４（ｂ）の第１、第２のデータが正しくコンピュータ１６に伝送された場合のものである。
ノイズ等の影響で第１のデータもしくは第２のデータのキーコード０Ａが誤った形態でコンピュータ１６に入力された場合には、ステップ７２０の判断結果がＮＯになるので、ステップ７２８においてこの記録領域７２８がクリアされる。
【００３３】
以上の記載から明らかなように、図７の実施例では、図４（ｂ）のように特殊キーと非特殊キーが併用される場合に、ステップ７１２、７１８、７２２、７３２、７３４の処理に基づいて、受信した第１のデータに含まれるキーコードが受信した第２のデータに全て存在しているか否かを判断し、全て存在していることが確認され場合にのみ入力されたキーコードを最終的に受信処理するようにしている。
したがって、図５に示した実施例に比してより一層信頼性の高いキーデータを得ることができる。
そして、この第２の実施例でも前記第１の実施例と同様に、キーボードのキーが押された時点でキーコードが入力されるので、オペレータに対してキーデータの入力遅れに伴う違和感やストレスを与えないという効果を奏する。
【図面の簡単な説明】
【００３４】
【図１】本発明に係るキー判定システムの実施形態を示すブロック図である。
【図２】キーとキーコード発信器との接続形態を示す概略図である。
【図３】キー操作に対する第１、第２のデータの発生タイミングを示す概略図である。
【図４】第１のデータのコードと第２のデータのコードの一例を示す説明図である。
【図５】本発明に係る入力方法の第１の実施例を示すフローチャートである。
【図６】記録領域内の記録データを示す説明図である。
【図７】本発明に係る入力方法の第２の実施例を示すフローチャートである。
【図８】記録領域内の記録データを示す説明図である。
【符号の説明】
【００３５】
１０        キー判定システム
１２        監視用モニタ
１４        専用キーボード
１６        コンピュータ
１０２      ＰＳ／２ケーブル
１０４      制御用ＬＡＮ
２２        キー
２４        キーコード発生部
【図１】
0004618107.tif 000002
【図２】
0004618107.tif 000003
【図３】
0004618107.tif 000004
【図４】
0004618107.tif 000005
【図５】
0004618107.tif 000006
【図６】
0004618107.tif 000007
【図７】
0004618107.tif 000008
【図８】
0004618107.tif 000009