(57)【要約】【課題】ＥＵＣ形式からシフトＪＩＳ形式への文字コードの変換処理を簡略化する。【解決手段】ＥＵＣ形式の文字コードを変換処理してシフトＪＩＳ形式の文字コードとして出力する文字コード変換処理装置であって、入力された文字コードを１バイト毎の文字コードに分割する分割手段（Ｓ１）と、分割された文字コードを前から順に参照し（Ｓ２）、参照された文字コードが０ｘ８ｅである場合（Ｓ６）、この０ｘ８ｅの次の文字コードを出力する出力手段（Ｓ７）と、を備える。【選択図】図４
2014002525.tif 000002
【特許請求の範囲】
【請求項１】
ＥＵＣ形式の文字コードを変換処理してシフトＪＩＳ形式の文字コードとして出力する文字コード変換処理装置であって、
入力された文字コードを１バイト毎の文字コードに分割する分割手段と、
分割された前記文字コードを前から順に参照し、参照された前記文字コードが０ｘ８ｅである場合、この０ｘ８ｅの次の文字コードを出力する出力手段と、
を備えることを特徴とする文字コード変換処理装置。
【請求項２】
請求項１に記載の文字コード変換処理装置であって、
前記出力手段は、参照された前記文字コードが０ｘ８０未満である場合、参照された前記文字コードを出力する、
ことを特徴とする文字コード変換処理装置。
【請求項３】
請求項１又は請求項２に記載の文字コード変換処理装置であって、
前記出力手段は、参照された前記文字コードが０ｘ８０未満でなく、かつ０ｘ８ｅでない場合、参照された前記文字コードの２バイト後の文字コードを参照する、
ことを特徴とする文字コード変換処理装置。
【請求項４】
ＥＵＣ形式の文字コードを変換処理してシフトＪＩＳ形式の文字コードとして出力する文字コード変換処理方法であって、
入力された文字コードを１バイト毎の文字コードに分割する分割ステップと、
分割された前記文字コードを前から順に参照し、参照された前記文字コードが０ｘ８ｅである場合、この０ｘ８ｅの次の文字コードを出力する出力ステップと、
を含むことを特徴とする文字コード変換処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＥＵＣ形式の文字コードをシフトＪＩＳ形式の文字コードへと変換処理する文字コード変換処理装置及びその変換処理方法に関する。
【背景技術】
【０００２】
製品を生産する生産設備には、作業者に機器の状態を通知したり作業者の操作入力を受け付けたりするための操作盤が設けられている。操作盤は操作盤制御ソフトウェアによってその表示が制御される。操作盤制御ソフトウェアを開発するに当たって、ソフトウェアの開発環境と当該ソフトウェアが組み込まれる開発対象機器との間で、採用されている文字コードの種類が異なる場合がある。
【０００３】
このような場合には、開発環境で正しく表示されている文字列を開発対象機器の操作盤に表示させようとしても正しく表示されない。
【０００４】
例えば、開発環境がＥＵＣ形式の文字コードを採用し、開発対象機器がシフトＪＩＳ形式の文字コードを採用している場合、開発対象機器の操作盤には、半角英数字は正しく表示されるが、半角カナや漢字は異なる文字として認識され、文字化けして表示されるか何も表示されないといった問題が生じる。
【０００５】
ここで、使用する文字を半角英数字に限定すれば上記不具合を回避できるが、半角英数字だけでは作業者が操作盤に表示される情報を理解し難いという問題がある。
【０００６】
そこで、特許文献１には、ＥＵＣコードとシフトＪＩＳコードとの対応表を備え、当該対応表に基づいて一方のコードから他方のコードへと変換処理することが開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−５４０３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、開発環境で作成されたＥＵＣ形式の文字コードを漢字も含めてすべてシフトＪＩＳ形式の文字コードに変換処理すると、変換処理が複雑になり処理負担及び消費メモリが増大してしまう。
【０００９】
本発明は、このような技術的課題に鑑みてなされたものであり、ＥＵＣ形式からシフトＪＩＳ形式への文字コードの変換処理を簡略化することが可能な文字コード変換処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、ＥＵＣ形式の文字コードを変換処理してシフトＪＩＳ形式の文字コードとして出力する文字コード変換処理装置であって、入力された文字コードを１バイト毎の文字コードに分割する分割手段と、分割された文字コードを前から順に参照し、参照された文字コードが０ｘ８ｅである場合、この０ｘ８ｅの次の文字コードを出力する出力手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ＥＵＣ形式の文字コードであって１バイト毎に分割された文字コードが０ｘ８ｅである場合、０ｘ８ｅの次の文字コードをシフトＪＩＳ形式の文字コードとして出力する。ＥＵＣ形式の半角カナを表わす文字コードは２バイトであり、上位１バイトは０ｘ８ｅ、下位１バイトはシフトＪＩＳ形式の半角カナを表わす文字コードと同一である。したがって、上記のように文字コードを出力することで、ＥＵＣ形式の半角カナをシフトＪＩＳ形式に変換することができる。よって、簡易な変換処理によってＥＵＣ形式からシフトＪＩＳ形式へと文字コードを変換することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態に係る文字コード変換処理装置を備えた操作盤制御システムを示す構成図である。
【図２】比較例における操作盤制御システムを示す構成図である。
【図３】文字コードのエリアマップを示す図である。
【図４】文字コード変換処理部の処理内容を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照しながら本発明の実施形態について説明する。
【００１４】
図１は、本実施形態における文字コード変換処理部１２を備えた操作盤制御システム１０を示す構成図である。操作盤制御システム１０は、工場などにおいて製品を生産するために用いられる生産設備１００の操作盤１４を制御するシステムである。
【００１５】
操作盤制御システム１０は、操作盤１４を制御する操作盤制御ソフトウェア１１と、文字コードをＥＵＣ形式からシフトＪＩＳ形式に変換する文字コード変換処理部１２と、文字コードから作業者に判読可能な文字列を生成する文字列生成部１３と、文字列を表示するディスプレイを備えた操作盤１４と、を備える。
【００１６】
操作盤制御ソフトウェア１１は、内部に予め格納されているプログラムの動作に応じて、操作盤１４に表示させるべき文字列をＥＵＣ形式の文字コードとして出力する。なお、操作盤制御ソフトウェア１１の開発環境では、ＥＵＣ形式の文字コードが使用されているため、ここで出力される文字コードもＥＵＣ形式の文字コードである。
【００１７】
文字コード変換処理部１２は、操作盤制御ソフトウェア１１から送信されたＥＵＣ形式の文字コードをシフトＪＩＳ形式の文字コードに変換して出力する。変換処理の詳細については後述する。
【００１８】
文字列生成部１３は、文字コード変換処理部１２から送信されたシフトＪＩＳ形式の文字コードに基づいて操作盤１４に表示させる文字列を生成して出力する。
【００１９】
操作盤１４は、文字列生成部１３から送信された文字列をディスプレイに表示させる。操作盤１４に表示される文字列は、例えば、生産設備１００の作業完了を伝えるメッセージや生産設備１００の故障を知らせるエラーメッセージなどである。
【００２０】
図２は、比較例における操作盤制御システム２０を示す構成図である。
【００２１】
操作盤制御ソフトウェア２１における文字コードは、前述のように、開発環境によりＥＵＣ形式の文字コードである。比較例では、このＥＵＣ形式の文字コードがそのまま文字列生成部２２に入力される。
【００２２】
しかし、文字列生成部２２はシフトＪＩＳ形式の文字コードに対応するように設計されているため、ＥＵＣ形式の文字コードがそのまま入力されると、図２に示すように適切な文字列が生成されない。すなわち、文字によっては文字化けを生じたり、非表示となったりする。
【００２３】
上記比較例の問題点について、図３を参照しながらさらに詳細に説明する。
【００２４】
図３は、ＥＵＣ形式の文字コード及びシフトＪＩＳ形式の文字コードのそれぞれのエリアマップを示す図である。なお、図３では、全角文字のエリアマップを省略し、半角文字のエリアマップのみを示している。
【００２５】
図３の左側に示すように、ＥＵＣ形式の文字コードには、１バイトコードと２バイトコードとがある。このうち半角英数字は１バイトコードであり、半角カナ及び漢字等は２バイトコードである。
【００２６】
１バイトコードは、上位４ビット及び下位４ビットで一つの文字を表わしている。このうち、上位４ビットが８未満かつ下位４ビットが０〜Ｆの領域が半角英数字を表わす文字コード（ＡＳＣＩＩコード）として割り当てられている。したがって、例えば「０ｘ３５」や「０ｘ４Ｂ」などは半角英数字を表わしている。
【００２７】
２バイトコードは、上位１バイト及び下位１バイトで一つの文字を表わしている。このうち、半角カナは、すべて上位１バイトが「０ｘ８ｅ」である。したがって、例えば「０ｘ８ｅ  ０ｘＢ６」や「０ｘ８ｅ  ０ｘＤ４」などは半角カナを表わしている。
【００２８】
また、図示しない全角英数字及び漢字は、２バイトコードであり、かつ上位１バイトが「０ｘ８ｅ」以外及び「０ｘ８０」以上の領域に割り当てられている。
【００２９】
一方、図３の右側に示すように、シフトＪＩＳ形式の文字コードには、１バイトコードと２バイトコードとがある。このうち半角英数字及び半角カナは１バイトコードであり、図示しない全角英数字及び漢字は２バイトコードである。
【００３０】
１バイトコードは、上位４ビット及び下位４ビットで一つの文字を表わしている。このうち、上位４ビットが８未満かつ下位４ビットが０〜Ｆの範囲が半角英数字を表わす文字コード（ＡＳＣＩＩコード）として割り当てられている。つまり、半角英数字に割り当てられている領域はＥＵＣ形式と全く同一である。したがって、例えば「０ｘ３５」や「０ｘ４Ｂ」などはＥＵＣ形式でもシフトＪＩＳ形式でも同一の文字を表わす。
【００３１】
また、半角カナは、上位４ビットがＡ〜Ｄかつ下位４ビットが０〜Ｆの領域に割り当てられている。したがって、例えば「０ｘＢ６」や「０ｘＤ４」などは半角カナを表わしている。
【００３２】
以上のように、ＥＵＣ形式とシフトＪＩＳ形式とでは、文字が割り当てられている領域が同一ではない。したがって、ＥＵＣ形式の文字コードで開発された操作盤制御ソフトウェア２１から出力された文字コードをそのまま用いて文字列生成部２２において文字列を生成すると、操作盤２３において半角英数字は正しく表示されるが、その他の文字は文字化けするか又は非表示となる。
【００３３】
ここで、半角英数字についてはＥＵＣ形式及びシフトＪＩＳ形式において共通の文字コードが割り当てられているので、操作盤２３に表示させる文字を半角英数字だけに限定すれば文字コードの変換を行うことなく、適切な文字列を表示させることができる。
【００３４】
しかし、操作盤２３を介して作業者に通知するメッセージの文字を半角英数字に限定すると、当該メッセージを作業者が判読し難くなる。
【００３５】
また、ＥＵＣ形式の文字コードを漢字も含めてすべてシフトＪＩＳ形式の文字コードに変換させることも考えられるが、変換処理が複雑化して制御負担及び消費メモリが増大してしまう。
【００３６】
そこで、本実施形態では、以下のようにしてＥＵＣ形式の文字コードをシフトＪＩＳ形式の文字コードに変換している。
【００３７】
図３に示すように、半角英数字を表わす文字コードは、ＥＵＣ形式とシフトＪＩＳ形式とで同一である。また、半角カナを表わす文字コードは、ＥＵＣ形式とシフトＪＩＳ形式とで異なるが、ＥＵＣ形式の上位１バイト「０ｘ８ｅ」を取り除くと、残りの下位１バイトはシフトＪＩＳ形式と同一である。
【００３８】
例えば、ＥＵＣ形式の「０ｘ８ｅ  ０ｘＢ６」とシフトＪＩＳ形式の「０ｘＢ６」とはともに半角の「カ」を表わしているが、ＥＵＣ形式の上位１バイトを取り除くと文字コードが同一となる。
【００３９】
これらのことから、使用する文字を半角英数字及び半角カナに限定することで、文字コードの変換処理を簡略化することができる。以下、その変換処理について説明する。
【００４０】
図４は、文字コード変換処理部１２において行われる文字コード変換処理の内容を示すフローチャートである。
【００４１】
ステップＳ１において文字コード変換処理部１２は、文字コードを１バイト毎の文字コードに分割する（分割手段）。これにより、操作盤制御ソフトウェア１１から送信されたＥＵＣ形式の文字コードが１バイトコードであるか２バイトコードであるかにかかわらず、すべて１バイトコードに分割される。
【００４２】
ステップＳ２において文字コード変換処理部１２は、参照アドレスを先頭の文字コードに割り当てる。これにより、文字コードはすべて１バイト毎の文字コードに分割されているので、先頭の１バイトが参照される。
【００４３】
ステップＳ３において文字コード変換処理部１２は、文字コードが０（ゼロ）でないことを判定する。文字コードが０でないと判定されると処理がステップＳ４へ進み、判定が成立しない場合は処理が終了する。ここで、文字コードが０である場合は文字コードが無い場合であるので、変換処理を終了させる。
【００４４】
ステップＳ４において文字コード変換処理部１２は、文字コードが「０ｘ８０」未満であることを判定する。文字コードが「０ｘ８０」未満であると判定されると処理がステップＳ５へ進み、判定が成立しない場合は処理がステップＳ６へ進む。
【００４５】
ステップＳ５において文字コード変換処理部１２は、文字コードをそのまま出力する（出力手段）。ステップＳ４において、文字コードが「０ｘ８０」未満であると判定された場合、表わされる文字は図３に示すように半角英数字であるので、そのままシフトＪＩＳ形式の文字コードとして出力すれば適切な文字が生成される。
【００４６】
ステップＳ６において文字コード変換処理部１２は、文字コードが「０ｘ８ｅ」であることを判定する。文字コードが「０ｘ８ｅ」である場合には処理がステップＳ７へ進み、判定が成立しない場合は処理がステップＳ９へ進む。
【００４７】
ステップＳ７において文字コード変換処理部１２は、文字コードを飛ばして次の文字コードを出力する（出力手段）。ステップＳ６において、文字コードが「０ｘ８ｅ」であると判定された場合、表わされる文字は図３に示すように半角カナであるので、上位１バイトの「０ｘ８ｅ」を飛ばして次の文字コードを出力すれば、シフトＪＩＳ形式の半角カナを表わす文字コードが出力される。
【００４８】
ステップＳ８において文字コード変換処理部１２は、参照アドレスを１バイト増加させる（出力手段）。ステップＳ５又はＳ７において何らかの文字コードを出力しているので、本ステップにより、その後に続く文字コードに参照アドレスが割り当てられる。
【００４９】
ステップＳ９において文字コード変換処理部１２は、参照アドレスを２バイト増加させる（出力手段）。本ステップが実行されるのは、文字コードが「０ｘ８０」未満でなくかつ「０ｘ８ｅ」でない場合であるので、当該文字コードは半角英数字及び半角カナを表わす文字コードではなく、例えば漢字等を表わす文字コードであると判断できる。よって、参照アドレスを２バイト増加させることで、漢字等を表わす文字コードを飛ばしてその後に続く文字コードに参照アドレスを割り当てることができる。
【００５０】
以上のように文字コード変換処理部１２は、１バイト毎に分割された文字コードを先頭から順に参照していき、文字コードが「０ｘ８０」未満である場合（半角英数字である場合）には当該文字コードをそのまま出力し、文字コードが「０ｘ８ｅ」である場合（半角カナである場合）には当該文字コードを飛ばして次に続く文字コードをそのまま出力し、文字コードが「０ｘ８０」未満でも「０ｘ８ｅ」でもない場合には何も出力しない。
【００５１】
以上の実施形態によれば、以下に示す効果を奏する。
【００５２】
ＥＵＣ形式の文字コードであって１バイト毎に分割されて参照された文字コードが「０ｘ８ｅ」である場合、「０ｘ８ｅ」の次の文字コードをシフトＪＩＳ形式の文字コードとして出力するので、ＥＵＣ形式の半角カナをシフトＪＩＳ形式に変換することができる。よって、簡易な変換処理によってＥＵＣ形式からシフトＪＩＳ形式へと文字コードを変換することができる。
【００５３】
さらに、参照された文字コードが「０ｘ８０」未満である場合、当該参照された文字コードをそのままシフトＪＩＳ形式の文字コードとして出力するので、ＥＵＣ形式の半角英数字をシフトＪＩＳ形式に変換することができる。よって、簡易な変換処理によってＥＵＣ形式からシフトＪＩＳ形式へと文字コードを変換することができる。
【００５４】
さらに、参照された文字コードが「０ｘ８０」未満でなく、かつ「０ｘ８ｅ」でない場合、参照アドレスを２バイト増加させるので、ＥＵＣ形式の半角英数字及び半角カナを表わす文字コード以外の文字コードを除外することができる。よって、シフトＪＩＳ形式の文字コードから操作盤１４に表示させる文字列を生成する際に、文字化けが生じたり何も表示されなかったりといった問題が生じることを防止することができる。
【００５５】
さらに、操作盤制御ソフトウェア１１の開発段階で使用されるＥＵＣ形式の文字コードを半角英数字及び半角カナに限定したので、文字コードの変換処理を簡略化しながら操作盤１４に表示される文字列を作業者が判読し易くすることができる。さらに、文字コードが半角文字に限定されることで、操作盤１４に表示可能な文字数が全角文字と比べて２倍になるので、操作盤１４に表示可能な情報量を増加させることができる。
【００５６】
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一つを示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
【００５７】
例えば、上記実施形態では、生産設備１００の操作盤１４を例に挙げて、表示させる文字列を表わす文字コードの変換処理を説明したが、その他の設備又は機器などの操作盤や、操作盤以外の表示装置に適用しても上記したのと同様の効果を得ることができる。
【符号の説明】
【００５８】
１２  文字コード変換処理部（文字コード変換処理装置）
【図１】
2014002525.tif 000003
【図２】
2014002525.tif 000004
【図３】
2014002525.tif 000005
【図４】
2014002525.tif 000006