(57)【特許請求の範囲】
【請求項１】
ラダープログラムの部品を何れの配置位置に表示させるかを指示する表示制御部と、
前記表示制御部からの指示に従って、前記ラダープログラムを表示する表示部と、
を備え、
前記表示制御部は、前記表示部の表示画面上に、前記部品を千鳥配置させることを特徴とするラダープログラム表示装置。
【請求項２】
前記表示制御部は、前記千鳥配置を前記表示部に指示する場合、前記ラダープログラムの各部品を配置する仮想方眼としての格子状領域を六角形としておき、前記部品を六角形の格子状領域に配置させることを特徴とする請求項１に記載のラダープログラム表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ラダープログラムを表示するラダープログラム表示装置に関する。
【背景技術】
【０００２】
ラダープログラムを表示する装置としては、例えば、タブレット端末などがある。タブレット端末の中には、縦置き／横置きを自動判別し、置かれた方向（置き方）に応じて表示画面を切替えるものがある。
【０００３】
例えば、タブレット端末が長方形の表示画面を備えている場合に、タブレット端末が縦置きされると、タブレット端末の表示画面が縦長の表示画面となり、横置きされると、タブレット端末の表示画面が横長の表示画面となる。このタブレット端末は、縦置きされた場合であっても、横置きされた場合であっても、ラダープログラムが水平方向に延びるよう横書き表示する。具体的には、タブレット端末が縦置きされた場合には、ラダープログラムが表示画面の短手方向に延びるよう横書きされる。また、タブレット端末が横置きされた場合には、ラダープログラムが表示画面の長手方向に延びるよう横書きされる。このように、タブレット端末は、縦置き／横置きの判別結果に基づいて、表示画面に対するラダープログラムの表示方向を切替えている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２８５１７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来の技術では、タブレット端末を横置きにすると、縦置きの場合よりも表示できる行数が少なくなるので、表示できないラダープログラムの部分が発生してしまう場合がある。このように、タブレット端末の置き方が縦置きまたは横置きに変えられることによって、表示可能なラダープログラムの行数（情報量）が少なくなる場合があるという問題があった。
【０００６】
本発明は、上記に鑑みてなされたものであって、表示画面の置き方に関わらず、多くの情報量を表示可能なラダープログラム表示装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明は、ラダープログラムの部品を何れの配置位置に表示させるかを指示する表示制御部と、前記表示制御部からの指示に従って、前記ラダープログラムを表示する表示部と、を備え、前記表示制御部は、前記表示部の表示画面上に、前記部品を千鳥配置させることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、表示画面の置き方に関わらず、多くの情報量を表示することが可能になるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１に係るラダープログラム表示装置の構成を示すブロック図である。
【図２】図２は、ラダープログラムの縦書き表示および横書き表示を説明するための図である。
【図３】図３は、実施の形態１のラダープログラム表示装置による表示方向の変更処理手順を示すフローチャートである。
【図４】図４は、縦書き時と横書き時に表示できる回路を説明するための図である。
【図５】図５は、縦書き時と横書き時に表示される余白領域を説明するための図である。
【図６】図６は、実施の形態２に係るラダープログラム表示装置の構成を示すブロック図である。
【図７】図７は、実施の形態２のラダープログラム表示装置による表示方向の変更処理手順を示すフローチャートである。
【図８】図８は、ラダープログラムの折り返し表示を説明するための図である。
【図９】図９は、ラダープログラム表示装置のハードウェア構成を示す図である。
【図１０】図１０は、実施の形態３に係るラダープログラム表示装置の構成を示すブロック図である。
【図１１】図１１は、ラダープログラムを縦書き表示した場合の回路表示例を示す図である。
【図１２】図１２は、ラダープログラムを横書き表示した場合の回路表示例を示す図である。
【図１３】図１３は、ラダープログラムの回路配置例を示す図である。
【図１４−１】図１４−１は、行毎にずらされた矩形状の回路配置格子を示す図である。
【図１４−２】図１４−２は、行毎にずらされた六角形の回路配置格子を示す図である。
【図１５】図１５は、ラダープログラムを折り曲げて表示する場合の回路配置を示す図である。
【図１６】図１６は、ラダープログラムの折り返し表示を解消する処理を説明するための図である。
【図１７】図１７は、ラダープログラムの接点を右側から表示する場合の、ラダープログラムの表示例を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本発明の実施の形態に係るラダープログラム表示装置およびラダープログラム表示方法を図面に基づいて詳細に説明する。なお、これらの実施の形態により、この発明が限定されるものではない。
【００１１】
実施の形態１．
図１は、実施の形態１に係るラダープログラム表示装置の構成を示すブロック図である。ラダープログラム表示装置１Ａは、ラダープログラムを表示する装置である。ラダープログラムは、例えばＰＬＣ（Programmable  Logic  Controller）などに用いられるプログラムである。ラダープログラム表示装置１Ａは、例えば、タブレット端末、液晶ディスプレイ、ＣＲＴ（Cathode  Ray  Tube）、ＰＣ（Personal  Computer）、スマートホンなどであり、ラダープログラムを表示する表示画面を備えている。
【００１２】
なお、以下では、ラダープログラム表示装置１Ａがタブレット端末である場合について説明する。また、以下で説明するラダープログラム表示装置１Ａの縦置きは、表示画面が長方形である場合に、表示画面の長手方向が鉛直方向または使用者の視線方向となる置き方である。また、以下で説明するラダープログラム表示装置１Ａの横置きは、表示画面が長方形である場合に、表示画面の短手方向が鉛直方向または使用者の視線方向となる置き方である。
【００１３】
本実施の形態のラダープログラム表示装置１Ａは、縦置き／横置きの置き方に応じて、多くの情報量（ラダープログラム）を表示可能なよう、ラダープログラムを縦書き表示又は横書き表示にする。ラダープログラム表示装置１Ａは、縦置きから横置きに変えられた際に、例えば、表示できないラダープログラムの部分が発生する場合または表示画面の余白が縦置き時よりも狭くなる場合に、ラダープログラムの表示を横書き表示から縦書き表示に変える。
【００１４】
また、ラダープログラム表示装置１Ａは、縦置き／横置きの置き方に応じて、視認性が良くなるように、ラダープログラムを縦書き表示又は横書き表示にしてもよい。この場合、ラダープログラム表示装置１Ａは、縦置きから横置きに変えられた際に、１行のラダープログラムが折り返されて（改行されて）複数行で表示する必要が生じた場合に、ラダープログラムの表示を縦書き表示から横書き表示に変える。
【００１５】
ラダープログラムを縦書き表示する場合、例えば、以下の仕様に従ってラダープログラムが表示される。
・配線間隔や、接点・コイルの表示仕様などは基本的に横書き表示時と同一とする。
・接点は上方に表示し、コイルは下方に表示する。
・各回路（部品）は左側から順番に配置していく。
なお、各回路は右側から順番に配置してもよい。
【００１６】
ラダープログラム表示装置１Ａは、配置方向検出部１１と、条件設定部１２Ａと、入力部１３Ａと、プログラム記憶部１４Ａと、表示方向決定部１５Ａと、表示方向変更部１７Ａと、表示部１８と、を有している。
【００１７】
配置方向検出部１１は、ラダープログラム表示装置１Ａの配置方向（縦置き／横置き）を検出する。配置方向検出部１１は、検出結果（縦置き又は横置き）（以下、配置情報という）を表示方向決定部１５Ａに送る。
【００１８】
入力部１３Ａは、ラダープログラムの表示方向を変更する条件（表示変更条件）、ラダープログラム自体、およびラダープログラムを表示させる指示（表示させるラダープログラムを指定する指示）などを入力する。入力部１３Ａへは、ラダープログラム表示装置１Ａの使用者によって、所望の表示変更条件、所望のラダープログラム自体、所望の表示指示などが入力される。
【００１９】
入力部１３Ａは、表示変更条件を条件設定部１２Ａに送り、ラダープログラムを表示させる指示を表示方向変更部１７Ａに送る。また、入力部１３Ａは、ラダープログラムをプログラム記憶部１４Ａに送る。プログラム記憶部１４Ａは、入力部１３Ａから送られてくるラダープログラムを記憶するメモリなどである。
【００２０】
条件設定部１２Ａは、入力部１３Ａから送られてくる表示変更条件を設定する。条件設定部１２Ａが設定する表示変更条件は、以下の（１）〜（３）などである。
（１）無条件でラダープログラムの表示を縦書き表示にする。
（２）無条件でラダープログラムの表示を横書き表示にする。
（３）ラダープログラムの表示のされ方に基づいて、ラダープログラムの表示を縦書き表示または横書き表示にする。
【００２１】
表示方向決定部１５Ａは、配置方向検出部１１から送られてくる配置情報が縦置き又は横置きに変化した場合、ラダープログラム表示装置１Ａを起動した際、または条件設定部１２Ａに設定されている表示変更条件が変更された場合に、縦書き表示と横書き表示の何れを選択するかを判定する。表示方向決定部１５Ａは、縦書き表示と横書き表示の何れが適切かを判定する際に、条件設定部１２Ａに設定されている表示変更条件を読み出す。
【００２２】
表示方向決定部１５Ａは、条件設定部１２Ａに設定されている表示変更条件に基づいて、ラダープログラムを縦書き表示するか横書き表示するかを決定する。表示方向決定部１５Ａは、上述した（１）または（２）の表示変更条件が設定されている場合には、設定されている表示変更条件に応じた表示方向を表示方向変更部１７Ａに指示する。
【００２３】
表示方向決定部１５Ａは、上述した（３）の表示変更条件が設定されている場合には、ラダープログラムの表示のされ方に基づいて、ラダープログラムを縦書き表示するか横書き表示するかを決定する。
【００２４】
表示方向決定部１５Ａは、例えば、表示方向変更部１７Ａが表示部１８に表示させるラダープログラムを用いて、ラダープログラムの表示方向を決定する。表示方向決定部１５Ａは、ラダープログラム表示装置１Ａの置き方が変更された場合に、表示できなくなるラダープログラムの部分が発生するか否かを判定する。このとき、表示方向決定部１５Ａは、表示部１８に設定されている表示領域の形状および大きさに関する情報を用いて、縦書き表示する場合のラダープログラムの表示のされ方と、横書き表示する場合のラダープログラムの表示のされ方と、を比較する。表示方向決定部１５Ａは、比較結果に基づいてラダープログラムの表示方向を決定する。
【００２５】
表示方向決定部１５Ａは、例えば、縦書き表示した場合に表示画面に表示できるラダープログラムの列数（縦書き時の列数）（縦方向の本数）と、横書き表示した場合に表示画面に表示できるラダープログラムの行数（横書き時の行数）（横方向の本数）と、を比較する。そして、表示方向決定部１５Ａは、行数と列数とで数の多い方を採用する。換言すると、表示方向決定部１５Ａは、横書き時の行数が、縦書き時の列数よりも少なくなる場合に、縦書きに決定する。また、表示方向決定部１５Ａは、縦書き時の列数が、横書き時の行数よりも少なくなる場合に、横書きに決定する。また、表示方向決定部１５Ａは、横書き時の行数と、縦書き時の行数と、表示画面に表示できるラダープログラムの行数が同じになる場合は、横書きに決定する。
【００２６】
また、表示方向決定部１５Ａは、例えば、縦書き表示した場合の表示画面の余白領域（縦書き時の余白領域）と、横書き表示した場合の表示画面の余白領域（横書き時の余白領域）と、を比較してもよい。この場合、表示方向決定部１５Ａは、余白領域の多い方を採用する。換言すると、表示方向決定部１５Ａは、横書き時の余白領域が、縦書き時の余白領域よりも広くなる場合は、横書き表示に決定する。また、表示方向決定部１５Ａは、縦書き時の余白領域が、横書き時の余白領域よりも広くなる場合は、縦書き表示に決定する。また、表示方向決定部１５Ａは、横書き時の余白領域と縦書き時の余白領域とが、同じ広さになる場合は、横書き表示に決定する。
【００２７】
また、表示方向決定部１５Ａは、例えば、横書き表示した場合に表示画面に表示されるラダープログラムの折り返し表示数（横書き時の折り返し表示数）と、縦書きした場合に表示部１８に表示されるラダープログラムの折り返し表示数（縦書き時の折り返し表示数）と、を比較してもよい。この場合、表示方向決定部１５Ａは、折り返し表示数の少ない方を採用する。換言すると、表示方向決定部１５Ａは、縦書き時の折り返し表示数が、横書き時の折り返し表示数よりも多くなる場合は、横書き表示に決定する。また、表示方向決定部１５Ａは、横書き時の折り返し表示数が、縦書き時の折り返し表示数よりも多くなる場合は、縦書き表示に決定する。また、表示方向決定部１５Ａは、横書き時の折り返し表示数と縦書き時の折り返し表示数とが、同じ数になる場合は、横書き表示に決定する。
【００２８】
表示方向決定部１５Ａは、例えば、縦置き（横書き表示）から横置き（縦書き表示）に変更された場合、または横置き（縦書き表示）から縦置き（横書き表示）に変更されたた場合に、表示方向を変更するか否かを判定する。
【００２９】
表示方向決定部１５Ａは、例えば、縦置き（横書き表示）から横置き（縦書き表示）に変えられた場合に、ラダープログラムの横書き表示を維持すると、表示画面に表示できなくなるラダープログラムの部分が新たに発生するか否かを判定する。表示方向決定部１５Ａは、横書き時の行数が、縦書き時の行数よりも少なくなる場合に、表示できなくなるラダープログラムの部分が新たに発生すると判定し、縦書き表示に決定する。
【００３０】
また、表示方向決定部１５Ａは、例えば、縦置き（横書き表示）から横置き（縦書き表示）に変えられた場合に、ラダープログラムの横書き表示を維持すると、縦書き時の表示画面の余白領域が横書き時よりも広くなるか否かを判定する。表示方向決定部１５Ａは、縦書き時の余白領域が、横書き時よりも広くなる場合に、縦書き表示に決定する。
【００３１】
また、表示方向決定部１５Ａは、例えば、縦置き（縦書き表示）から横置き（横書き表示）に変えられた場合に、ラダープログラムの縦書き表示を維持すると、ラダープログラムの折り返し表示が新たに発生するか否かを判定する。表示方向決定部１５Ａは、縦書き時の折り返し表示数が、横書き時の折り返し表示数よりも大きくなる場合に、ラダープログラムの折り返し表示が新たに発生すると判定し、横書き表示に決定する。
【００３２】
表示方向決定部１５Ａは、ラダープログラムを縦書き表示にすることを決定した場合、表示方向変更部１７Ａに縦書き表示の指示を送る。表示方向決定部１５Ａは、ラダープログラムを横書き表示にすることを決定した場合、表示方向変更部１７Ａに横書き表示の指示を送る。
【００３３】
なお、表示方向決定部１５Ａは、例えば、下記に示す（Ａ）および（Ｂ）の両方が成立した場合に、ラダープログラムを縦書き表示にする。また、表示方向決定部１５Ａは、下記に示す（Ａ）および（Ｂ）の何れか一方が成立した場合に、ラダープログラムを縦書き表示にしてもよい。
（Ａ）表示画面に表示できなくなるラダープログラムの部分が新たに発生する。
（Ｂ）縦書き時の表示画面の余白が横書き時よりも広くなる。
【００３４】
また、表示方向決定部１５Ａは、例えば、ラダープログラム表示装置１Ａを起動した際に、縦置き状態であれば、ラダープログラムを横書きに決定し、横置き状態であれば、ラダープログラムを縦書きに決定してもよい。
【００３５】
この場合において、縦置き状態であって且つ上述した（１）の表示変更条件が設定されている場合には、表示方向決定部１５Ａは、ラダープログラムを横書きから縦書きに変更してもよい。また、横置き状態であって且つ上述した（２）の表示変更条件が設定されている場合には、表示方向決定部１５Ａは、ラダープログラムを縦書きから横書きに変更してもよい。また、上述した（３）の表示変更条件が設定されている場合には、表示方向決定部１５Ａは、ラダープログラムの表示のされ方に基づいて、ラダープログラムの表示を縦書き表示または横書き表示に変更してもよい。
【００３６】
なお、表示方向決定部１５Ａは、表示画面に実際に表示されているラダープログラムに基づいて、ラダープログラムの表示方向を決定してもよい。この場合、表示方向決定部１５Ａは、表示部１８からラダープログラムの表示のされ方に関する情報を取得する。
【００３７】
表示方向変更部１７Ａは、表示方向決定部１５Ａから送られてくる指示に基づいて、表示部１８にラダープログラムを表示させる。表示方向変更部１７Ａは、ラダープログラムを縦書き表示する指示が送られてきた場合には、表示部１８にラダープログラムを縦書き表示させる。また、表示方向変更部１７Ａは、ラダープログラムを横書き表示する指示が送られてきた場合には、表示部１８にラダープログラムを横書き表示させる。表示部１８は、ラダープログラムを縦書き表示または横書き表示する表示画面である。
【００３８】
なお、ラダープログラム表示装置１Ａの各構成要素を別々の装置に配置してもよい。例えば、表示部１８および配置方向検出部１１をコンピュータに接続されたディスプレイ装置に配置し、プログラム記憶部１４Ａをコンピュータ本体に配置してもよい。この場合、配置方向検出部１１は、表示部１８の配置方向を検出する。
【００３９】
ここで、ラダープログラムの縦書き表示および横書き表示について説明する。図２は、ラダープログラムの縦書き表示および横書き表示を説明するための図である。ラダープログラム表示装置１Ａは、横置きされることによって、横置き状態１０１Ｙとなる。この横置き状態１０１Ｙでは、表示画面３０が横長になる。そして、表示画面３０には、縦書き表示でラダープログラムが表示される。
【００４０】
ラダープログラム表示装置１Ａは、縦置きされることによって、縦置き状態１０１Ｘとなる。この縦置き状態１０１Ｘでは、表示画面３０が縦長になる。そして、表示画面３０には、横書き表示でラダープログラムが表示される。
【００４１】
このように、ラダープログラムは、横書き表示または縦書き表示が選択可能なようになっている。本実施の形態のラダープログラム表示装置１Ａは、横置き状態１０１Ｙまたは縦置き状態１０１Ｘにされて使用される。横置き状態１０１Ｙと縦置き状態１０１Ｘとは、使用者によって切替えられる。
【００４２】
なお、ラダープログラム表示装置１Ａが有しているアプリケーションのメニュー（置き方を指定させる項目）を使用者に選択させることによって、ラダープログラム表示装置１Ａは、横置き状態１０１Ｙと縦置き状態１０１Ｘとを切替えてもよい。
【００４３】
なお、ラダープログラム表示装置１Ａは、横置き状態１０１Ｙの場合であっても、ラダープログラムを横書きにしてもよい。また、ラダープログラム表示装置１Ａは、縦置き状態１０１Ｘの場合であっても、ラダープログラムを縦書きにしてもよい。
【００４４】
つぎに、ラダープログラムの表示変更処理手順について説明する。図３は、実施の形態１のラダープログラム表示装置による表示方向の変更処理手順を示すフローチャートである。ラダープログラム表示装置１Ａの置き方が、使用者によって変更されると（ステップＳ１０）、配置方向検出部１１は、ラダープログラム表示装置１Ａの配置方向を示す配置情報を表示方向決定部１５Ａに送る。
【００４５】
これにより、表示方向決定部１５Ａは、無条件でラダープログラムの表示方向を変更する設定であるか否かを判定する（ステップＳ２０）。具体的には、表示方向決定部１５Ａは、条件設定部１２Ａに設定されている表示変更条件を読み出す。そして、表示方向決定部１５Ａは、表示変更条件が、（１）無条件でラダープログラムの表示を縦書き表示にする、または（２）無条件でラダープログラムの表示を横書き表示にする、の何れかであるかを判定する。
【００４６】
無条件でラダープログラムの表示方向を変更する設定である場合（ステップＳ２０、Ｙｅｓ）、表示方向決定部１５Ａは、ラダープログラムの表示方向を、表示変更条件に応じた表示方向に変更させる（ステップＳ６０）。
【００４７】
例えば、表示変更条件が、上記（１）である場合、表示方向決定部１５Ａは、ラダープログラムの表示を縦書き表示にするための指示を、表示方向変更部１７Ａに送る。この場合、表示方向決定部１５Ａは、表示部１８にラダープログラムを縦書き表示させる。
【００４８】
また、表示変更条件が、上記（２）である場合、表示方向決定部１５Ａは、ラダープログラムの表示を横書き表示にするための指示を、表示方向変更部１７Ａに送る。この場合、表示方向決定部１５Ａは、表示部１８にラダープログラムを横書き表示させる。
【００４９】
また、表示変更条件が、上記（３）である場合、表示方向決定部１５Ａは、無条件でラダープログラムの表示方向を変更する設定でないと判断する。無条件でラダープログラムの表示方向を変更する設定でない場合（ステップＳ２０、Ｎｏ）、表示方向決定部１５Ａは、ラダープログラムの表示方向を維持すると、ラダープログラム表示装置１Ａの置き方が変更されたことによって、表示画面に表示できなくなる回路（ラダープログラム）が新たに発生するか否かを判定する（ステップＳ３０）。
【００５０】
表示画面に表示できなくなる回路が新たに発生する場合（ステップＳ３０、Ｙｅｓ）、表示方向決定部１５Ａは、ラダープログラム表示装置１Ａの置き方に応じて、ラダープログラムの表示方向を変更させる（ステップＳ６０）。例えば、ラダープログラム表示装置１Ａが縦置き（横書き）から横置き（横書き）に変更されたことによって、表示画面に表示できなくなる回路が新たに発生する場合、表示方向決定部１５Ａは、ラダープログラムを縦書き表示に決定する。
【００５１】
表示画面に表示できなくなる回路が発生しない場合（ステップＳ３０、Ｎｏ）、表示方向決定部１５Ａは、縦書き時の余白領域の広さと、横書き時の余白領域の広さと、を予測し（ステップＳ４０）、比較する。
【００５２】
そして、表示方向決定部１５Ａは、ラダープログラムの表示方向を変更すると、ラダープログラム表示装置１Ａの置き方が変更されたことによって、表示画面に表示される余白領域が広くなるか否かを判定する。換言すると、表示方向決定部１５Ａは、現在の表示方向から表示方向を変更した方が、表示画面に表示できる余白領域が広くなるか否かを判定する（ステップＳ５０）。
【００５３】
ラダープログラム表示装置１Ａの置き方に応じて、現在の表示方向を変更した方が、表示画面に表示できる余白領域が広くなる場合（ステップＳ５０、Ｙｅｓ）、表示方向決定部１５Ａは、ラダープログラムの表示方向を変更させる（ステップＳ６０）。例えば、ラダープログラム表示装置１Ａが縦置き（横書き表示）から横置き（横書き表示）に変えられたことによって、表示画面に表示できる余白領域が狭くなる場合、表示方向決定部１５Ａは、ラダープログラムを縦書き表示に決定する。
【００５４】
一方、ラダープログラム表示装置１Ａの置き方に応じて、現在の表示方向を変更しても、表示画面に表示できる余白領域が広くならない場合（ステップＳ５０、Ｎｏ）、表示方向決定部１５Ａは、ラダープログラムの表示方向を変更させない。例えば、ラダープログラム表示装置１Ａが縦置き（横書き表示）から横置き（横書き表示）に変えられても、表示画面に表示できる余白領域が狭くならない場合、表示方向決定部１５Ａは、ラダープログラムを横書き表示に決定する。
【００５５】
図４は、縦書き時と横書き時に表示できる回路を説明するための図である。図４では、ラダープログラム表示装置１Ａが、縦置き状態１０３から横置き状態１０４，１０５に変更された場合に、表示画面に表示される回路の一例を示している。
【００５６】
横置き状態１０４の表示画面は、ラダープログラムを横書き表示した場合の回路を示し、横置き状態１０５の表示画面は、ラダープログラムを縦書き表示した場合の回路を示している。
【００５７】
縦置き状態１０３から横置き状態１０４に変更された場合、表示画面の縦幅（高さ）は、短くなるので、表示画面に表示できるラダープログラムの行数は減少する。このため、縦置き状態１０３では表示されていたにも関わらず、横置き状態１０４に変更されたことによって、表示画面に表示されないプログラム領域４０が発生する場合がある。この場合、表示方向決定部１５Ａは、表示画面に表示できなくなる回路が新たに発生したと判定する。
【００５８】
一方、縦置き状態１０３から横置き状態１０５に変更された場合、横置き状態１０５の表示画面の横幅は、縦置き状態１０３の表示画面の縦幅と同じである。このため、横置き状態１０５において、ラダープログラムを縦書きすることによって、縦置き状態１０３と同様のプログラム領域を表示することが可能となる。図４では、横置き状態１０４の場合には、表示画面に表示されず、横置き状態１０５の場合に、表示画面に表示されるプログラム領域をプログラム領域４１で示している。
【００５９】
図５は、縦書き時と横書き時に表示される余白領域を説明するための図である。図５では、ラダープログラム表示装置１Ａが、縦置き状態１０６から横置き状態１０７，１０８に変更された場合に、表示画面に表示される余白領域の一例を示している。
【００６０】
横置き状態１０７の表示画面は、ラダープログラムを横書き表示した場合の余白領域を示し、横置き状態１０８の表示画面は、ラダープログラムを縦書き表示した場合の余白領域を示している。
【００６１】
縦置き状態１０６から横置き状態１０７に変更された場合、表示画面の縦幅は、短くなるので、表示画面に表示できるラダープログラムの行数は減少する。一方、縦置き状態１０６から横置き状態１０８に変更された場合、横置き状態１０８の表示画面の横幅は、縦置き状態１０６の表示画面の縦幅と同じである。
【００６２】
このため、横置き状態１０７の場合に表示される余白領域３１Ｙは、横置き状態１０８の場合に表示される余白領域３１Ｘよりも狭くなる。表示方向決定部１５Ａは、横置き状態１０７（横書き表示）と横置き状態１０８（縦書き表示）とでは、横置き状態１０８の方が、表示画面に表示できる余白領域が広くなると判定する。換言すると、表示方向決定部１５Ａは、縦置き状態１０６から横置き状態１０７に変更されると、表示画面に表示できる余白領域が狭くなると判定する。
【００６３】
なお、縦置き状態（縦書き表示）から横置き状態（縦書き表示）に変化した場合に、ラダープログラムの折り返し表示が所定数以上、新たに発生する場合には、ラダープログラム表示装置１Ａは、ラダープログラムを横書き表示させてもよい。
【００６４】
同様に、横置き状態（横書き表示）から縦置き状態（横書き表示）に変化した場合に、ラダープログラムの折り返し表示が所定数以上、新たに発生する場合には、ラダープログラム表示装置１Ａは、ラダープログラムを縦書き表示させてもよい。
【００６５】
また、条件設定部１２Ａには、多くの情報量（ラダープログラム）を表示することを優先させるか、折り返し表示を減らすこと（視認性の向上）を優先させるかの優先順位を設定しておいてもよい。また、条件設定部１２Ａには、以下のような条件（ａ）〜（ｉ）の少なくとも１つを設定しておいてもよい。
（ａ）無条件で、多くの情報量を表示することを優先する。表示できる情報量が同じ場合には、折り返し表示を減らさせる。
（ｂ）縦書き表示と横書き表示とで、表示行数に所定数以上の差がある場合に、多くの情報量を表示することを優先する。
（ｃ）表示行数に所定数未満の差しかない場合には、折り返し表示を減らすことを優先する。
（ｄ）縦書き表示と横書き表示とで、余白領域に所定面積以上の差がある場合に、多くの情報量を表示することを優先する。
（ｅ）余白領域に所定面積未満の差しかない場合には、折り返し表示を減らすことを優先する。
（ｆ）無条件で、折り返し表示を減らすことを優先する。折り返し表示の数が同じ場合は、多くの情報量を表示させる。
（ｇ）縦書き表示と横書き表示とで、ラダープログラムの折り返し表示数に所定数以上の差がある場合に、折り返し表示を減らすことを優先する。
（ｈ）ラダープログラムの折り返し表示数に所定数未満の差しかない場合には、多くの情報量を表示することを優先する。
（ｉ）表示行数と、余白領域と、折り返し表示数とのそれぞれに優先度を示す係数（重み付け）を付与しておき、優先度の合計値に基づいて、縦書き表示および横書き表示の何れかに決定する。
なお、上述した条件（ａ）〜（ｉ）を組み合わせてもよい。
【００６６】
このように、実施の形態１によれば、縦書き表示および横書き表示のうち、多くの情報量（ラダープログラム）を表示できる表示方向を選択してラダープログラムを表示するので、表示画面の置き方に関わらず、多くの情報量を表示することが可能になる。また、表示画面（ラダープログラム表示装置１Ａ）の置き方が縦置きまたは横置きに変えられた場合であっても、表示可能な情報量を維持することが可能になる。
【００６７】
また、縦書き表示および横書き表示のうち、ラダープログラムの折り返し表示数を少なく表示できる表示方向を選択してラダープログラムを表示するので、表示画面の置き方に関わらず、ラダープログラムの視認性が向上するとともに、ラダープログラムの操作性（編集の容易性）が向上する。
【００６８】
実施の形態２．
つぎに、図６〜図８を用いてこの発明の実施の形態２について説明する。実施の形態２では、ラダープログラムを編集することができるラダープログラム表示装置について説明する。
【００６９】
図６は、実施の形態２に係るラダープログラム表示装置の構成を示すブロック図である。図６の各構成要素のうち図１に示す実施の形態１のラダープログラム表示装置１Ａと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【００７０】
本実施の形態のラダープログラム表示装置１Ｂは、ラダープログラムが編集された際に、ラダープログラムの折り返し表示が新たに発生すると、折り返し表示が無くなるよう、ラダープログラムの表示方向を変更する。
【００７１】
ラダープログラム表示装置１Ｂは、条件設定部１２Ｂと、入力部１３Ｂと、プログラム記憶部１４Ｂと、表示方向決定部１５Ｂと、表示方向変更部１７Ｂと、表示部１８と、編集部２１と、を有している。
【００７２】
入力部１３Ｂは、ラダープログラムの表示方向を変更する条件（表示変更条件）、ラダープログラム自体、ラダープログラムを表示させる指示、およびラダープログラムを編集する指示（編集内容）などを入力する。
【００７３】
入力部１３Ｂは、表示変更条件を条件設定部１２Ｂに送り、ラダープログラムを表示させる指示を表示方向変更部１７Ｂに送る。また、入力部１３Ｂは、ラダープログラムをプログラム記憶部１４Ｂに送る。また、入力部１３Ｂは、ラダープログラムを編集する指示を編集部２１に送る。
【００７４】
編集部２１は、ラダープログラムを編集する指示に従って、ラダープログラムを編集する。プログラム記憶部１４Ｂは、入力部１３Ｂから送られてくるラダープログラム、および編集部２１で編集されたラダープログラムを記憶するメモリなどである。
【００７５】
条件設定部１２Ｂは、入力部１３Ｂから送られてくる表示変更条件を設定する。条件設定部１２Ｂが設定する表示変更条件は、以下の（４）および（５）などである。
（４）ラダープログラムの折り返し表示に関わらず、ラダープログラムの表示方向を変更しない。
（５）ラダープログラムの折り返し表示の数に基づいて、ラダープログラムの表示を縦書き表示または横書き表示にする。
【００７６】
なお、以下の説明では、上述した（４）の表示変更条件が設定されている場合を、自動変更設定無しの場合とし、上述した（５）の表示変更条件が設定されている場合を、自動変更設定有りの場合として説明する。
【００７７】
ラダープログラム表示装置１Ｂは、ラダープログラム表示装置１Ｂが縦置き状態で使用されるよう構成されている場合には、初期設定を横書き表示にしておく。一方、ラダープログラム表示装置１Ｂは、ラダープログラム表示装置１Ｂが横置き状態で使用されるよう構成されている場合には、初期設定を縦書き表示にしておく。なお、表示方向決定部１５Ｂは、表示方向決定部１５Ａと同様に、表示画面に表示できる情報の量またはラダープログラムの視認性に基づいて、ラダープログラムの表示方向を決定してもよい。
【００７８】
表示方向決定部１５Ｂは、表示部１８が表示しているラダープログラムの表示の仕方に基づいて、ラダープログラムの表示方向（縦書き／横書き）を決定する。表示方向決定部１５Ｂは、自動変更設定有りの場合に、ラダープログラムが編集されてラダープログラムの折り返し表示が新たに発生すると、新たに発生した折り返し表示が無くなるよう、ラダープログラムの表示方向を変更する。例えば、ラダープログラム表示装置１Ｂが縦置きされている場合、ラダープログラムは横書き表示される。この場合において、ラダープログラムが編集されたことによって、ラダープログラムの折り返し表示が新たに発生すると、表示方向決定部１５Ｂは、ラダープログラムを縦書き表示に変更する。
【００７９】
なお、ラダープログラムがさらに編集されたことによって、ラダープログラムの折り返し表示が解消された場合には、表示方向決定部１５Ｂは、ラダープログラムを横書き表示に戻してもよい。
【００８０】
表示方向決定部１５Ｂは、ラダープログラムを縦書き表示にすることを決定した場合、表示方向変更部１７Ｂに縦書き表示の指示を送る。表示方向決定部１５Ｂは、ラダープログラムを横書き表示にすることを決定した場合、表示方向変更部１７Ｂに横書き表示の指示を送る。
【００８１】
表示方向変更部１７Ｂは、表示方向決定部１５Ｂから送られてくる情報に基づいて、表示部１８にラダープログラムを表示させる。表示方向変更部１７Ｂは、（４）の表示変更条件が送られてきた場合には、ラダープログラムの折り返し表示に関わらず、ラダープログラム表示装置１Ｂに設定されている初期設定を、ラダープログラムの表示方向に決定する。
【００８２】
また、表示方向変更部１７Ｂは、ラダープログラムを縦書き表示する指示が送られてきた場合には、表示部１８にラダープログラムを縦書き表示させる。また、表示方向変更部１７Ｂは、ラダープログラムを横書き表示する指示が送られてきた場合には、表示部１８にラダープログラムを横書き表示させる。なお、ラダープログラム表示装置１Ｂの各構成要素を別々の装置に配置してもよい。
【００８３】
つぎに、ラダープログラムの表示変更処理手順について説明する。図７は、実施の形態２のラダープログラム表示装置による表示方向の変更処理手順を示すフローチャートである。ラダープログラム表示装置１Ｂ内のラダープログラムが、使用者によって編集されると（ステップＳ１１０）、表示方向決定部１５Ｂは、編集後のラダープログラムに折り返し表示が新たに発生したか否かを判定する（ステップＳ１２０）。
【００８４】
編集後のラダープログラムに折り返し表示が新たに発生していなければ（ステップＳ１２０、Ｎｏ）、表示方向決定部１５Ｂは、現在のラダープログラムの表示方向を維持する。そして、ラダープログラムの編集作業が続けられる（ステップＳ１１０）。
【００８５】
一方、編集後のラダープログラムに折り返し表示が新たに発生した場合（ステップＳ１２０、Ｙｅｓ）、表示方向決定部１５Ｂは、表示変更条件が自動変更設定有りに設定されているか否かを判定する。換言すると、表示方向の自動切換えが選択されているか否かが判定される（ステップＳ１３０）。具体的には、表示方向決定部１５Ｂは、条件設定部１２Ｂに設定されている表示変更条件を読み出す。そして、表示方向決定部１５Ｂは、表示変更条件が、上述した（５）の表示変更条件であるかを判定する。
【００８６】
上述した（４）の表示変更条件が設定されている場合（自動変更設定無しの場合）（ステップＳ１３０、Ｎｏ）、表示方向決定部１５Ｂは、現在のラダープログラムの表示方向を維持する。そして、ラダープログラムの編集作業が続けられる（ステップＳ１１０）。
【００８７】
一方、上述した（５）の表示変更条件が設定されている場合（自動変更設定有りの場合）（ステップＳ１３０、Ｙｅｓ）、表示方向決定部１５Ｂは、新たに発生した折り返し表示が無くなるよう、ラダープログラムの表示方向を変更する（ステップＳ１４０）。
【００８８】
ここで、ラダープログラムの折り返し表示について説明する。図８は、ラダープログラムの折り返し表示を説明するための図である。図８では、ラダープログラム表示装置１Ｂを、横置き状態とした場合に、表示画面３０１〜３０４に表示される回路の一例を示している。
【００８９】
ラダープログラム表示装置１Ｂが横置き状態の場合、ラダープログラムは縦書き表示される。図８では、ラダープログラムが編集される前の表示画面を表示画面３０１として示している。この場合において、ラダープログラムが編集されると、表示画面が表示画面３０２となる。図８では、編集されたプログラム領域をプログラム領域４５として示している。ラダープログラムが編集された場合であっても、ラダープログラムに新たな折り返し表示が発生していなければ、表示方向決定部１５Ｂは、ラダープログラムの表示方向を変更しない。ここでの表示方向決定部１５Ｂは、ラダープログラムの縦書き表示を維持する。
【００９０】
この後、ラダープログラムがさらに編集されると、表示画面が表示画面３０３となる。ラダープログラムが編集されたことによって、ラダープログラムに新たな折り返し表示が発生する場合がある。図８では、折り返し表示が発生したプログラム領域をプログラム領域４６として示している。
【００９１】
ラダープログラムに折り返し表示が発生した場合、表示方向決定部１５Ｂは、ラダープログラムに折り返し表示が無くなるよう、ラダープログラムの表示方向を変更する。ここでの表示方向決定部１５Ｂは、ラダープログラムを横書き表示に変更する。これにより、表示画面は、ラダープログラムが縦書き表示された表示画面３０３から、ラダープログラムが横書き表示された表示画面３０４になる。
【００９２】
なお、ラダープログラム表示装置１Ｂにラダープログラム表示装置１Ａの機能を加えてもよい。例えば、ラダープログラム表示装置１Ｂが、配置方向検出部１１を備える構成としてもよい。
【００９３】
また、表示方向決定部１５Ｂは、ラダープログラムが編集される前から折り返し表示がある場合には、編集する前に、折り返し表示がなくなるようラダープログラムの表示方向を変更してもよい。
【００９４】
図９は、ラダープログラム表示装置のハードウェア構成を示す図である。なお、ラダープログラム表示装置１Ａ，１Ｂは、同様のハードウェア構成を有しているので、ここではラダープログラム表示装置１Ａのハードウェア構成について説明する。
【００９５】
ラダープログラム表示装置１Ａは、表示部１８、表示用メモリ２、マイクロプロセッサ３、制御メモリ４、ＨＤＤ（Hard  Disk  Drive）５、センサ６を備えている。ラダープログラム表示装置１Ａでは、これらの表示部１８、表示用メモリ２、マイクロプロセッサ３、制御メモリ４、ＨＤＤ５、センサ６が、バスラインを介して接続されている。
【００９６】
センサ６は、ラダープログラム表示装置１Ａの配置方向（縦置き／横置き）を検出する。ここでのセンサ６は、配置方向検出部１１に対応している。ＨＤＤ５は、ラダープログラムの表示方向を決定する際に用いるコンピュータプログラム（表示方向決定プログラム）および表示変更条件などを記憶する。このように、ＨＤＤ５は、プログラム記憶部１４Ａおよび条件設定部１２Ａを含んで構成されている。
【００９７】
マイクロプロセッサ３は、センサ６から送られてくる配置情報（縦置き又は横置き）に基づいて、ラダープログラムの表示方向を決定する。このとき、マイクロプロセッサ３は、表示方向決定プログラムを用いてラダープログラムの表示方向を決定する。また、マイクロプロセッサ３は、ラダープログラムの表示方向を決定する際に必要な情報は、制御メモリ４に記憶させておく。制御メモリ４は、例えばＲＡＭ（Random  Access  Memory）である。
【００９８】
表示部１８は、液晶モニタなどの表示装置であり、マイクロプロセッサ３からの指示に基づいて、ラダープログラムを表示する。表示部１８にラダープログラムを表示する際には、表示用メモリ２にラダープログラムを記憶しておき、表示用メモリ２内のラダープログラムを表示部１８に表示させる。表示用メモリ２は、例えばＲＡＭである。
【００９９】
また、ラダープログラム表示装置１Ａは、マウスやキーボードなどの入力部１３Ａ（ここでは、図示せず）を備えており、使用者から外部入力される指示情報（表示変更条件など）を入力する。入力部１３Ａへ入力された指示情報は、マイクロプロセッサ３へ送られる。
【０１００】
表示方向決定プログラムは、ＨＤＤ５内からバスラインを介して制御メモリ４へロードされる。マイクロプロセッサ３は制御メモリ４内にロードされた表示方向決定プログラムを実行する。具体的には、ラダープログラム表示装置１Ａでは、マイクロプロセッサ３がＨＤＤ５内から表示方向決定プログラムを読み出して制御メモリ４内のプログラム格納領域に展開して各種処理を実行する。マイクロプロセッサ３は、この各種処理に際して生じる各種データを制御メモリ４内に形成されるデータ格納領域に一時的に記憶させておく。なお、表示方向決定プログラムは、図示しないＲＯＭ（Read  Only  Memory）内に格納しておいてもよい。
【０１０１】
ラダープログラム表示装置１Ａで実行される表示方向決定プログラムは、表示方向決定部１５Ａと、表示方向変更部１７Ａと、を含むモジュール構成となっており、これらが主記憶装置上にロードされ、主記憶装置上に生成される。
【０１０２】
このように、実施の形態２によれば、ラダープログラムが編集されたことによって折り返し表示が新たに発生した場合であっても、折り返し表示がなくなるようにラダープログラムの表示方向が変更されるので、ラダープログラムの視認性が向上するとともに、ラダープログラムの操作性（編集の容易性）が向上する。
【０１０３】
実施の形態３．
つぎに、図１０〜図１５を用いてこの発明の実施の形態３について説明する。実施の形態３では、ラダープログラムの回路の配置位置などを変更することによって、視認性を低下させることなく、表示画面に多くの情報量を表示する。なお、以下では、ラダープログラム表示装置１Ｃが回路を配置する場合について説明するが、ラダープログラム表示装置１Ａ，１Ｂが回路を配置してもよい。
【０１０４】
図１０は、実施の形態３に係るラダープログラム表示装置の構成を示すブロック図である。図１０の各構成要素のうち図１に示す実施の形態１のラダープログラム表示装置１Ａと同一機能を達成する構成要素については同一番号を付しており、重複する説明は省略する。
【０１０５】
ラダープログラム表示装置１Ｃは、入力部１３Ｃと、プログラム記憶部１４Ｃと、表示制御部１６と、表示部１８と、を有している。入力部１３Ｃは、ラダープログラム自体、ラダープログラムを表示させる指示などを入力する。入力部１３Ｃは、ラダープログラムを表示させる指示を表示制御部１６に送り、ラダープログラムをプログラム記憶部１４Ｃに送る。表示制御部１６は、表示画面に多くの情報量を表示することができるよう、ラダープログラムの回路を表示部１８に表示させる。
【０１０６】
図１１は、ラダープログラムを縦書き表示した場合の回路表示例を示す図である。図１１における、縦方向は、ラダープログラムの列方向に平行な方向であり、横方向はラダープログラムの列方向に垂直な方向である。
【０１０７】
表示制御部１６は、ラダープログラムを構成する「ＭＯＶ」などの各回路（命令）を、回路表示例５１のように、縦方向に文字を配列し、且つ各回路を縦方向に並べてもよい。また、表示制御部１６は、各回路を、回路表示例５２のように、横方向に文字を配列し、且つ各回路を縦方向に並べてもよい。
【０１０８】
また、表示制御部１６は、各回路を、回路表示例５３のように、横方向に文字を配列し、且つ各回路を横方向に並べてもよいし、回路表示例５４のように、回路表示例５３を時計回りに９０度回転させたものを配置してもよい。回路表示例５４は、横方向に文字が配列され且つ各回路を横方向に並べたものを、回転させて列方向に配置したものである。
【０１０９】
なお、図１１に示した回路表示例５１〜５４を、ラダープログラムの横書き表示に適用してもよい。図１２は、ラダープログラムを横書き表示した場合の回路表示例を示す図である。図１２における、横方向は、ラダープログラムの行方向に平行な方向であり、縦方向はラダープログラムの行方向に垂直な方向である。図１２の回路表示例５５〜５７は、それぞれ図１１の回路表示例５１〜５３を、横書き表示したものに対応している。
【０１１０】
表示制御部１６は、ラダープログラムを構成する「ＭＯＶ」などの各回路を、回路表示例５５のように、横方向に文字を配列し、且つ各回路を横方向に並べてもよい。また、表示制御部１６は、各回路を、回路表示例５６のように、縦方向に文字を配列し、且つ各回路を横方向に並べてもよい。
【０１１１】
また、表示制御部１６は、各回路を、回路表示例５７のように、縦方向に文字を配列し、且つ各回路を縦方向に並べてもよい。なお、回路表示例５７は、回路表示例５１と同じ表示形式であり、回路表示例５５は、回路表示例５３と同じ表示形式である。また、回路表示例５４を横書き表示にしたものは、回路表示例５５と同じである。
【０１１２】
表示制御部１６は、例えば、ラダープログラムを可能な限り狭い領域で表示できる回路表示方法を選択する。換言すると、表示制御部１６は、表示画面上でできるだけラダープログラムを多く表示できるよう、回路（部品）の機能を示す文字の配列方向および回路を並べる方向を、ラダープログラムの行毎または列毎に設定する。
【０１１３】
なお、表示制御部１６は、複数の回路表示方法を組み合わせてもよい。表示制御部１６は、例えば、ラダープログラムを列毎に回路表示例５１〜５４の何れかに設定して回路表示例５１〜５４を組み合わせることにより、最も狭い領域で表示できる回路表示を行なわせる。また、表示制御部１６は、例えば、ラダープログラムを行毎に回路表示例５５〜５７の何れかに設定して回路表示例５５〜５７を組み合わせることにより、最も狭い領域で表示できる回路表示を行なわせる。
【０１１４】
図１３は、ラダープログラムの回路配置例を示す図である。図１３では、ラダープログラムを横書き表示した場合の回路配置例を示している。表示制御部１６は、ラダープログラム構成する各回路（回路Ｘ０〜Ｘ２など）を、行毎に回路の横方向の位置をずらした千鳥配置にしてもよい。例えば、表示制御部１６は、第１の行に配置される回路Ｘ０と回路Ｘ２との間の横方向の位置が、第２の行に配置される回路Ｘ１の横方向の位置となるように回路Ｘ０〜Ｘ２を配置する。
【０１１５】
なお、図１３に示した回路配置例を、ラダープログラムの縦書き表示に適用してもよい。この場合、ラダープログラムを構成する各回路は、列毎に回路の縦方向の位置をずらした千鳥配置される。
【０１１６】
ここで、図１４−１および図１４−２を用いて、ラダープログラムの行毎の千鳥配置方法について説明する。例えば、表示制御部１６が、ラダープログラムの各回路を配置する仮想方眼としての格子状の領域（回路配置格子）を矩形状とし、行毎に回路配置格子の位置を横方向に半分ずつずらしておくことによって、ラダープログラムの各行を千鳥配置できる。
【０１１７】
図１４−１は、行毎にずらされた矩形状の回路配置格子を示す図である。表示制御部１６は、各行において、矩形状の回路配置格子６１を横方向に並べる。そして、表示制御部１６は、行毎に回路配置格子６１の位置を半分ずつずらしておく。これにより、表示制御部１６は、ラダープログラムを千鳥配置できる。
【０１１８】
また、表示制御部１６が、ラダープログラムの各回路を配置する格子状の領域（回路配置格子）（仮想方眼）を六角形とし、行毎に回路配置格子の位置を横方向に半分ずつずらしておくことによって、ラダープログラムの各行間で千鳥配置できる。
【０１１９】
図１４−２は、行毎にずらされた六角形の回路配置格子を示す図である。表示制御部１６は、各行において、六角形の回路配置格子６２を横方向に並べる。そして、表示制御部１６は、行毎に回路配置格子６２の位置を横方向に半分ずつずらしておく。これにより、表示制御部１６は、ラダープログラムを千鳥配置できる。
【０１２０】
なお、図１４−１および図１４−２では、各回路配置格子の頂点が連続的に配置されている場合について説明したが、各回路配置格子の頂点は、離散的に配置されていてもよい。この場合、各回路配置格子は、所定の隙間を介して各行上に配置されることとなる。
【０１２１】
また、表示制御部１６は、回路配置格子を設定することなく、各回路を配置してもよい。この場合も、表示制御部１６は、ラダープログラムが千鳥配置されるよう、各回路を配置していく。
【０１２２】
また、表示制御部１６は、回路を配置するレイヤを複数レイヤ準備しておき、レイヤ毎に回路を配置することによって、ラダープログラムを千鳥配置してもよい。例えば、表示制御部１６は、第１の行を構成する回路に用いる第１のレイヤと、第２の行を構成する回路に用いる第２のレイヤと、を準備しておく。そして、表示制御部１６は、第１のレイヤと第２のレイヤとで、ラダープログラムが千鳥配置されるよう、レイヤ毎に回路を配置していく。
【０１２３】
また、表示制御部１６は、ラダープログラムを行毎に３次元表示させてもよい。また、表示制御部１６は、立体視眼鏡を介してラダープログラムを見た場合に、ラダープログラムが行毎に立体表示できるようラダープログラムを表示させてもよい。
【０１２４】
また、表示制御部１６は、ラダープログラムを横書き表示させるとともに、１行のラダープログラムを断線することなく所定位置で折り曲げて表示させてもよい。図１５は、ラダープログラムを折り曲げて表示する場合の回路配置を示す図である。
【０１２５】
従来、１行に収まらないラダープログラムは、折り返し表示（改行して複数行で表示）していた。本実施の形態では、表示制御部１６は、１行に収まらないラダープログラムを、縦方向に折り曲げた後、再度、横方向に折り曲げて表示させる。
【０１２６】
図１５では、位置６５，６６のラダープログラムが、縦方向に折り曲げられて表示されている場合を示している。表示制御部１６は、横書き表示しているラダープログラムを、位置６５で折り曲げて縦書き表示させるとともに、位置６５の後段を横書き表示に戻している。さらに、表示制御部１６は、横書き表示に戻されたラダープログラムを、位置６６で折り曲げて縦書き表示させるとともに、位置６６の後段を横書き表示に戻している。
【０１２７】
このように、表示制御部１６は、１本のラダープログラムを途中で折り曲げて連結した状態で表示画面上に表示させる。なお、表示制御部１６は、ラダープログラムを何回折り曲げてもよい。表示制御部１６は、例えば、できるだけ折り曲げ回数が少なくなるようラダープログラムを折り曲げる。これにより、ラダープログラムを狭い領域に表示させることが可能となる。
【０１２８】
また、表示制御部１６は、縦書き表示する位置に、ラダープログラムの回路を配置してもよい。図１５では、縦書き表示される位置６５に回路が配置されている場合を示している。
【０１２９】
また、表示制御部１６は、同じ行内に配置されている回路間の距離を縮めることによって、ラダープログラムの折り返し表示を解消してもよい。図１６は、ラダープログラムの折り返し表示を解消する処理を説明するための図である。図１６の上段に示すラダープログラム７１は、回路間が距離Ｌ１に設定されている。また、ラダープログラムは、回路数が予め設定している所定数（１行当たりに表示させる回路数）よりも多いので、折り返し表示されている。
【０１３０】
表示制御部１６は、図１６の下段に示すように、回路間の距離を距離Ｌ１よりも小さな距離Ｌ２に変更する。これにより、表示制御部１６は、ラダープログラム７１の折り返し表示を解消したラダープログラム７２を生成する。折り返し表示が解消されることによって、折り返し表示されている場合よりも、狭い領域にラダープログラムを表示することが可能となる。
【０１３１】
また、表示制御部１６は、回路に付す文字などを回路の上側と下側に順番に配置してもよい。例えば、「Ｘ０」、「Ｘ１」、「Ｘ２」、「Ｘ３」の文字を行上で各回路上に順番に配置する場合、表示制御部１６は、１番目の回路の上側に「Ｘ０」を配置し、２番目の回路の下側に「Ｘ１」を配置する。さらに、表示制御部１６は、３番目の回路の上側に「Ｘ２」を配置し、４番目の回路の下側に「Ｘ３」を配置する。換言すると、表示制御部１６は、奇数番目の回路には、上側に文字を配置し、偶数番目の回路には、下側に文字を配置する。なお、表示制御部１６は、偶数番目の回路には、上側に文字を配置し、奇数番目の回路には、下側に文字を配置してもよい。
【０１３２】
表示制御部１６は、例えば、回路間の距離を距離Ｌ１よりも小さな距離Ｌ２に変更した場合に、回路に付す文字などを行上で各回路の上側と下側に順番に配置する。なお、表示制御部１６は、例えば、回路間の距離を距離Ｌ１のまま変更しない場合であっても、回路に付す文字などを行上で各回路の上側と下側に順番に配置してもよい。
【０１３３】
また、表示制御部１６は、ラダープログラムの行間の距離を、初期設定された距離よりも狭くすることによって、ラダープログラムの表示領域を削減してもよい。なお、図１５および図１６で説明した表示方法を、縦書き表示されているラダープログラムに適用してもよい。
【０１３４】
また、表示制御部１６は、ラダープログラムを横書き表示する際に、接点を右側から表示し、コイルを左側から表示してもよい。図１７は、ラダープログラムの接点を右側から表示する場合の、ラダープログラムの表示例を示す図である。表示制御部１６は、ラダープログラム７５の接点を右側から表示し、コイルを左側から表示する。これにより、右側から左側に向かって言語表記を行う使用者に対してラダープログラム７５の視認性を向上させることが可能となる。
【０１３５】
なお、表示制御部１６は、図１２〜図１６で説明した回路の表示方法を組み合わせてもよい。この場合、表示制御部１６に、表示方法の優先度を設定しておく。例えば、表示制御部１６は、回路間の距離を狭くした場合であっても、ラダープログラムの折り返し表示が解消されない場合に、ラダープログラムを折り曲げ表示させる。
【０１３６】
このように、実施の形態３によれば、ラダープログラムの回路の配置位置などを変更することによって、広い領域に表示されていたラダープログラムを狭い領域に表示させるので、視認性を低下させることなく、表示画面に多くの情報量を表示することが可能となる。
【産業上の利用可能性】
【０１３７】
以上のように、本発明に係るラダープログラム表示装置およびラダープログラム表示方法は、ラダープログラムの表示に適している。
【符号の説明】
【０１３８】
１Ａ〜１Ｃ  ラダープログラム表示装置、１１  配置方向検出部、１２Ａ，１２Ｂ  条件設定部、１５Ａ，１５Ｂ  表示方向決定部、１６  表示制御部、１７Ａ，１７Ｂ  表示方向変更部、１８  表示部、２１  編集部、３０  表示画面、３１Ｘ，３１Ｙ  余白領域、６１，６２  回路配置格子、３０１〜３０４  表示画面。
【図１】
0005911625.tif 000002
【図２】
0005911625.tif 000003
【図３】
0005911625.tif 000004
【図４】
0005911625.tif 000005
【図５】
0005911625.tif 000006
【図６】
0005911625.tif 000007
【図７】
0005911625.tif 000008
【図８】
0005911625.tif 000009
【図９】
0005911625.tif 000010
【図１０】
0005911625.tif 000011
【図１１】
0005911625.tif 000012
【図１２】
0005911625.tif 000013
【図１３】
0005911625.tif 000014
【図１４−１】
0005911625.tif 000015
【図１４−２】
0005911625.tif 000016
【図１５】
0005911625.tif 000017
【図１６】
0005911625.tif 000018
【図１７】
0005911625.tif 000019