(57)【特許請求の範囲】
【請求項１】
自己が使用可能な接点の種類と点数を特定する情報を記憶保持し、プログラミング機能を備えたコントローラであって、
コントローラに接続されるユニットで使用可能な接点の種類と点数を特定する情報を記憶する接続ユニット記憶手段を備え、
前記プログラミング機能は、前記自己が使用可能な接点の種類と点数を特定する情報と前記接続ユニット記憶手段に記憶されたユニットで使用可能な接点の種類と点数を特定する情報とから、前記ユニットが接続されて自己と一体となった実システムにおいて使用可能な接点の種類とその接点を特定する番号のみを入力可能とするようにしたことを特徴とするコントローラ。
【請求項２】
コントローラに接続されるユニットが記憶保持しているそのユニットで使用可能な接点の種類と点数を特定する情報を取得する取得手段を備え、
前記接続ユニット記憶手段へ記憶される前記ユニットで使用可能な接点の種類と点数を特定する情報は、前記取得手段が取得した情報を格納したものであることを特徴とする請求項１に記載のコントローラ。
【請求項３】
作成中のコントローラ用プログラムを表示する表示手段と、
前記表示手段上の任意の位置にプログラムを構成する接点の種類とその接点を特定する番号を入力する入力手段と、を備え、
前記入力手段は、入力箇所において提供される前記実システムで使用可能な接点の種類とその接点を特定する番号を選択するものであることを特徴とする請求項１または２に記載のコントローラ。
【請求項４】
前記表示手段は、表示画面をＭ行Ｎ列のマトリクス状に分割することにより、複数の表示領域を構成し、１つの表示領域、或いは１行に隣接する複数の表示領域を用いて、ラダー回路の接点や接点を接続する接続線を表示する機能を備えたことを特徴とする請求項３に記載のコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コントローラに関するもので、より具体的には、コントローラ用のプログラムの作成機能の改良に関する。
【０００２】
【従来の技術】
近年、ＰＬＣ（プログラマブルコントローラ）市場では、シーケンス制御技術が成熟し、ＦＡ以外の各分野に進出している。また、ＰＬＣは、各機能がユニット化され、ユーザが任意のユニット（ＣＰＵユニット，Ｉ／Ｏユニット，高機能ユニット等）を組み合わせることにより１つのシステムを構築できるようになっている。接続する各ユニットは、それぞれ取り扱い可能な入出力点数等が異なる複数のタイプが存在する。そこで、ユーザは、必要なユニットを選択して接続するとともに、ＣＰＵユニットにユーザプログラムを組み込むことにより、所望のシステムを稼働させるようになる。
【０００３】
そして、上記したユーザプログラムの組み込みは、通常ツール装置にてラダー言語で作成したプログラムを中間コードにコンパイル後、ＣＰＵユニットにダウンロードする。また、ＣＰＵユニット側では、ダウンロードされた中間コードをコントローラで実行できる形式にコンパイルして記憶保持し、実行するようになっている。
【０００４】
【発明が解決しようとする課題】
従来のツール装置を用いたプログラミングでは、ＰＬＣにて使用できる命令／パラメータは予め全て提供されていた。一方、実際に使用するユニットによって、使用できる命令／パラメータ（リレー番号，タイマ番号，カウンタ番号など）は決まっており、システム構成によっては、ツール装置に提供された全ての命令／パラメータを使用できるわけではない。従って、プログラミングする際には、システムを構築するユニットで使用可能な命令／パラメータをマニュアルなどで確認する必要がある。
【０００５】
そして、仮に使用できない命令／パラメータを使用して作成したプログラムを実行すると、誤動作したり動作停止したりするおそれがある。また、システム構成を変更した場合には、今まで使用していた命令やパラメータなどが使えなくなったり、異なる機能に割り当てられたりすることがある。従って、誤動作を防止するためには、係る変更の有無を事前にマニュアルで確認しなければならない。さらに、変更等があった場合には、その変更点を考慮して再度プログラミングする必要があり、非常に煩雑である。
【０００６】
さらに、ユーザがＰＬＣを設置している現場でプログラムの変更をしたいという要求に対応することを考えると、上記したようにマニュアルを見ながらの変更は煩雑であり、誤動作を招く原因となる。さらに、プログラム変更の都度ツール装置を用いて変更するプログラムを変更し、ダウンロードする処理も煩雑である。
【０００７】
この発明は、システムを構成するユニットが使用可能な命令やパラメータなどが不明でも、マニュアル等を確認することなく、使用可能な物のみを用いてプログラミングすることができ、しかも、直接プログラムの組み込みを行うことができるコントローラを提供することを目的とする。
【０００８】
【課題を解決するための手段】
この発明によるコントローラでは、自己が使用可能な接点の種類と点数を特定する情報を記憶保持し、プログラミング機能を備えるとともに、コントローラに接続されるユニットで使用可能な接点の種類と点数を特定する情報を記憶する接続ユニット記憶手段を有する。そして、前記プログラミング機能は、自己が使用可能な接点の種類と点数を特定する情報と前記接続ユニット記憶手段に記憶されたユニットで使用可能な接点の種類と点数を特定する情報とから、前記ユニットが接続されて自己と一体となった実システムにおいて使用可能な接点の種類とその接点を特定する番号のみを入力可能とするようにしたものである。
【０００９】
パラメータは、実施の形態では、エリア種別，リレー種別，リレー番号，付加機能などに対応する。
【００１０】
この発明によると、実システムで使用できる命令，パラメータのみが入力可能であるので、マニュアルなど見ることなく確実に使用可能なもののみを用いてプログラムを組むことができる。また、コントローラに対して直接プログラムを入力できるので、現場でのプログラムの設定，変更が容易にできる。
【００１１】
また、コントローラに接続されるユニットが記憶保持しているそのユニットで使用可能な接点の種類と点数を特定する情報を取得する取得手段を備え、前記接続ユニット記憶手段へ記憶される前記ユニットで使用可能な接点の種類と点数を特定する情報は、前記取得手段が取得した情報を格納したものにするとよい。このように、実際にユニットを接続することにより自動的に使用可能なパラメータ（接点の種類とその接点を特定する番号）が設定されると、誤入力がない。もちろん、例えば、接続するユニット番号などの情報を入力し、それに基づいて使用可能なパラメータを特定するようにしても良い。
【００１２】
さらに、この発明の一実施態様によると、作成中のコントローラ用プログラムを表示する表示手段と、前記表示手段上の任意の位置にプログラムを構成する接点の種類とその接点を特定する番号を入力する入力手段とを備え、前記入力手段は、入力箇所において提供される前記実システムで使用可能な接点の種類とその接点を特定する番号を選択するようにできる。使用可能なものの中から択一的に選択できると、簡単に入力できる。もちろん、このように選択方式をとるのではなく、入力された接点の種類とその接点を特定する番号が使用可能か否かを判断し、使用不可の場合には、入力を拒否するようにしても良い。さらにまた、前記表示手段は、表示画面をＭ行Ｎ列のマトリクス状に分割することにより、複数の表示領域を構成し、１つの表示領域、或いは１行に隣接する複数の表示領域を用いて、ラダー回路の接点や接点を接続する接続線を表示する機能を備えるとよい。実施の形態では、４×１２としたが、この数に限らないのはいうまでもない。
【００１３】
この発明の以上説明した構成要素は可能な限り組み合わせることができる。この発明によるコントローラを構成する各手段を専用のハードウエア回路によって実現することができるし、プログラムされたコンピュータによって実現することもできる。
【００１４】
【発明の実施の形態】
図１は、本発明に係るコントローラの好適な一実施の形態の外観を示している。本形態では小型のＰＬＣに適用した例を示している。同図に示すように、ＰＬＣを構成するＣＰＵユニット１は、矩形状の筐体２の前面の上方に入力端子３（図示の例では６点入力のため６個）が配置され、下方に出力端子４（図示の例では４点出力のため８個）が設置されている。また、前面には、中央右側に、操作キーとしてカーソルキー５並びにデリートキー（ＤＥＬキー）６ａ，オルタネートキー（ＡＬＴキー）６ｂ，エスケイプキー（ＥＳＣキー）６ｃ並びに実行キー（ＯＫキー）６ｄが配置されるとともに、中央左側には、ＬＣＤからなる表示部７が設けられている。なお、符号８は電源端子である。また、図示省略するが、筐体２の側面には、他のユニットと連結し、電気・機械的に結合する機構（コネクタ）が設けられている。
【００１５】
本形態では、カーソルキー５と他の４つのキー６ａ〜６ｄを操作しながら、ラダープログラムを組み込むことができるようになっており、作成中のプログラム、つまりラダー図が表示部７に出力表示されるようになっている。そして、本形態では、１行に書き込める回路は、最大で接点３点と出力リレーコイル１点とし、同時に表示部７に表示可能な回路は２行分としている。そして、係る表示を行う表示部７の具体的な構成は、図２のようになっている。
【００１６】
すなわち、図２に示すように、１枚のＬＣＤを用い、表示画面を４行１２列のマトリクス状に分割することにより、破線で示すように複数の表示領域（エリア）を構成する。そして、１行目と３行目が、リレーの種類と番号を特定する情報を表示する領域として使用し、２行目と４行目が実際のラダー回路を表示する領域として使用する。さらに、「１，２列」，「４，５列」，「７，８列」がそれぞれ接点について表示する領域として使用し、「３列」，「６列」，「９列」がそれぞれ接点を接続するため情報を表示する領域として使用する。さらに、「１０〜１２列」は、コイルについて表示するようになっている。
【００１７】
具体的には、図３に示すように、接点については、２つの表示エリアを用いて表示するが、リレー種類を特定するための情報としては、エリア種別（リレー種別）とリレー番号の２つのデータにより特定する。また、回路表示は、接点シンボルと、接続線”−”の対で表示するようにしている。また、コイルは、出力シンボル（付加機能）とコイル番号（エリア種別＋リレー番号）で表示するようにしている。ここで、”Ｉ”，”Ｍ”，”Ｑ”等のエリア種別の記号とその内容は、図４に示すようになる。
【００１８】
従って、本形態のＣＰＵユニット１の場合、入力が６点あるので、Ｉ０〜Ｉ５まで使用可能となる。また、入力が８点の場合には、Ｉ０〜Ｉ７までが使用可能範囲となる。
【００１９】
そして、上記したエリア種別，リレー番号や接続線の入力は、カーソルキー５と４つのキー６ａ〜６ｄを適宜使用して実行する。ここで、それら各キー５，６ａ〜６ｄの機能の関係は、図５に示すようになっている。なお、図５に示した機能は、ラダー回路の書き込み時のものであり、他の処理の時には別の機能となる。
【００２０】
また、表示部７を各接点や接続線などの１つの機能単位で領域を区分けすると図６のようになる。つまり、接点を特定するための情報（記号＋番号）を表示する領域Ｒ１と、回路を表示する領域Ｒ２と、接続線を示す領域Ｒ３と、コイルを特定するための情報（付加機能＋記号＋番号）を表示する領域Ｒ４を有している。領域Ｒ１，Ｒ４が、プログラミング時の提供範囲となり、カーソルキー５を操作することにより、隣接する領域Ｒ２，Ｒ４を順次移動していく。そして、入力対象の領域に来たならば、カーソルキー５の上下（Ｂ２，Ｂ３）を押下することにより、ＬＣＤ上にエリア種別（リレー種別）をスクロールさせ、所望の物に確定したならば、次にリレー番号を同様の手法（０から順にスクロールさせる）で確定する。
【００２１】
そして、確定に伴い、領域Ｒ２に、対応する回路を表示する。また、領域Ｒ２には、自動的或いはオルタネートキー６ｂを操作して手動により所望の接続線を表示するようにする。そして、このようにして必要な全ての領域に対して情報を設定し、プログラムを作成した後で登録する。また、作成したプログラムは、ラダー図により表示部７に表示されるので、その内容を簡単に確認できる。
【００２２】
次に、上記処理をするためのＣＰＵユニット１の機能を説明する。ＣＰＵユニット１の内部構造は、図７に示すようになっている。同図に示すように、各処理部は、バスに接続され、所定の相手とデータの送受を行う。そのデータの流れを基準に各部を説明すると、入力部１１で取得した情報が演算制御部１２に与えられ、そこで取得した情報に基づいて所定の処理を実行し、その結果を出力部１３に渡す。通常のコントローラとしての制御動作では、入力部１１は、ネットワーク或いは接続された拡張Ｉ／Ｏユニット等を介して送られてくる外部の入力機器（例えばセンサ，温調など）のＯＮ／ＯＦＦ状況を読み取って演算制御部１２に結果を渡す。
【００２３】
演算制御部１２は、入力部１１から与えられる入力情報に基づきＰＬＣプログラムの手順に従って、演算を実行し、その結果を出力部１３に渡す機能を持っている。さらに、出力部１３は、演算制御部１２の指示を受けて外部の出力機器（例えばモータ）のＯＮ／ＯＦＦをネットワーク等を介して制御する。
【００２４】
さらに、演算制御部１２で実行されるＰＬＣプログラムは、記憶部１４に格納されている。また、記憶部１４は、演算実行時のデータメモリ領域として使用される。係る処理は、通常のコントローラとしての制御であり、従来と同様であるのでその詳細な説明を省略する。
【００２５】
本発明は、ＰＬＣプログラムを、ＣＰＵユニット１を操作して直接入力可能とするもので、本発明との関係で言えば、入力部１１は、上記した操作キー５，６ａ〜６ｄが押下されるのを検知し、どのキーが押下されたかを演算制御部１２に伝える。また、演算制御部１２は、押下されたキーの種類によって、表示部７上でのカーソル位置や、表示内容を決定し、出力部１３に伝え、出力部１３が表示部７を構成する所定のＬＣＤを発光させ、所望の情報を出力表示するようになっている。
【００２６】
ここで本発明では、接続ユニット情報記憶部１５を備え、ＣＰＵユニット１に接続されたユニットの種類、より具体的には、そのユニットの種類に基づいて使用可能な接点等の情報を格納するようにしている。そして、係る接続ユニット情報は、実際にＣＰＵユニット１に外部インタフェース１６を介して拡張ユニット２０を接続することにより取得し、記憶保持するようにしている。
【００２７】
係る接続ユニット情報の送受は、例えば、接続した際にコネクタ（外部インタフェース１６）経由でＣＰＵユニットは拡張ユニット２０との間でシリアル通信を行い取得する。つまり、ＣＰＵユニット１は、接続時にステータスデータ読み出しコマンドを発行する。すると、各拡張ユニット２０のＡＳＩＣから各拡張ユニット２０のステータスデータが返されるので、ＣＰＵユニット１は、返されてきたステータスデータに基づき、接続されている拡張ユニット２０を判断する。そして、その判断結果に基づく情報（拡張ユニットの種別やＯ／Ｏ点数など）を接続ユニット情報記憶部１５に格納する。
【００２８】
また、図示の例では、接続されたユニットの接続端子のＯＮ／ＯＦＦ情報を、そのまま接続ユニット情報記憶部１５に格納するようにしたが、その途中に接続端子のＯＮ／ＯＦＦ状況から、接続されたユニットを認識し、必要な情報を生成し接続ユニット情報記憶１５に格納するようにしてもよい。
【００２９】
演算制御部１２は、接続ユニット情報記憶部１５にアクセスし、接続されたユニットにおいて使用可能な接点等の情報を取得する。そして、プログラム作成（編集）時に表示部７に表示する命令やエリア種別（リレー種別）／番号を、自己（ＣＰＵユニット１）と接続されたユニットにおける使用可能なもののみにする。これにより、ユーザは、カーソルキー５を用いてエリア種別（リレー種別）やリレー番号を選択するに際し、表示部７に表示されたものは全て使用可能となるので、マニュアル等で使用可能か否かを確認する必要が無く、簡単かつ確実に動作可能なプログラムを作成することができる。
【００３０】
すなわち、図１に示すＣＰＵユニット１は、入力接点に付いては、エリア種別（リレー種別）として、Ｉ，Ｂ，Ｑの３種類が使用可能で、リレー番号はＩが０〜５，Ｂが０〜７，Ｑが０〜３となる。出力リレーコイルに付いては、エリア種別がＱ，Ｄの２種類が使用可能で、リレー番号は、Ｑが０〜３でＤが０〜７となる。従って、ＣＰＵユニット１を単独で使用する場合には、Ｉ０〜Ｉ５，Ｂ０〜Ｂ７並びにＱ０〜Ｑ３が入力接点の領域Ｒ１に対するプログラム時の提供範囲となり、出力リレーコイルを規定する領域Ｒ４に対する提供範囲は、Ｑ０〜Ｑ３とＤ０〜Ｄ７となる。
【００３１】
また、図８に示すように、拡張入力がＸ０〜Ｘ３で拡張出力がＹ０〜Ｙ３となる拡張ユニット２０を接続した場合には、その拡張ユニット２０についての情報が、ＣＰＵユニット１の接続ユニット情報記憶部１５に登録される。そこで、図８に示す状態でプログラミングをした場合、拡張ユニット２０分が追加され、Ｉ０〜Ｉ５，Ｂ０〜Ｂ７，Ｑ０〜Ｑ３，Ｘ０〜Ｘ３並びにＹ０〜Ｙ３が入力接点の領域Ｒ１に対するプログラム時の提供範囲となり、出力リレーコイルを規定する領域Ｒ４に対する提供範囲は、Ｑ０〜Ｑ３，Ｄ０〜Ｄ７並びにＹ０〜Ｙ３となる。
【００３２】
さらにまた、上記したようにリレーの種類，番号の表示を制限するのみならず、接続されたシステム構成に応じた使用可能な命令のみを表示・選択可能となる。一例としては、ＲＴＣ付きのＣＰＵユニットでは、クロックタイマ（＠）命令や、カレンダタイマ（＊）命令を使用することができるが、ＲＴＣ無しのＣＰＵユニットの場合には係る命令を使用することができない。また、ＣＰＵユニットに接続される拡張ユニットが、高機能ユニットとすると、その高機能ユニット専用の命令が使用可能となるが、通常のユニットの場合係る高機能ユニット専用の命令は使用できない。従って、システム構成によって使用可能な命令を認識し、使用可能な命令のみをスクロール方式で表示することになる。
【００３３】
そして、係る処理を実行するための演算制御部１２の機能は、図９〜図１２に示すフローチャートのようになる。図９に示すようにプログラム作成モードの選択を待つ（ＳＴ１）。すなわち、例えば図１３（ａ）に示すようなメニュー画面において、カーソルキー（上下）５の操作を受けて点滅カーソルＫを上下にスクロールさせる。そして、点滅カーソルが「プログラム」上に位置した状態で「ＯＫキー」６ｄが押下されたか否かにより判断する（押下＝Ｙｅｓ）。
【００３４】
プログラム作成モードに移行すると、表示部７上に表示する反転カーソルを所定位置に移動させる（ＳＴ２）。この移動は、カーソルキー５から入力される命令に従い、上下左右方向に移動させる。つまり、１回押下されると、その方向に１つ分移動する。なお、移動ピッチは、ＬＣＤ単位で１つずつ移動させてもよいが、操作性を考慮し、領域単位で移動させるようにした。しかも、入力接点については、回路を表示する領域Ｒ２上を移動する（領域Ｒ１上には反転カーソルは移動しない）ようにし、カーソルキー５に対して少ない押下回数で目的の領域まで移動させることができるようにした。さらに、初期位置は、図１３（ｂ）に示すように、ラダープログラムの１行目の先頭（表示部７では２行目の先頭）に反転カーソルＫ１が表示させるようにした。さらにまた、ある入力接点の領域Ｒ２に対する処理が終了すると、反転カーソルＫ１を自動的に同一行の次の入力接点或いは出力リレーの領域Ｒ４にスキップして表示するようにしている。
【００３５】
そして、接点等を書き込む処理対象領域が決定されたか否かを判断する（ＳＴ２）。具体的には、「ＯＫキー」６ｄが押下されたか否かを判断する。そして、「ＯＫキー」６ｄが押下されたときの反転カーソルの位置が、処理対象領域に決定される。
【００３６】
次に、処理対象領域の種類を判断する（ＳＴ４）。つまり、「入力接点」，「主力コイル」並びに「接続線」のいずれであるかを判断する。なお、接続線については、反転カーソル時に「ＡＬＴキー」６ｂが押下されたことを条件に判断する。そして、領域の種類に応じた書込処理を実行する（ＳＴ５〜ＳＴ７）。そして、「ＥＳＣキー」６ｃが押下されたか否かを判断し、押下された場合には、プログラムの書き込みを終了したと判断し、メニュー画面に戻る。なお、この作成したプログラムは、記憶部１４に格納される。また、「ＥＳＣキー」６ｃが押下されない場合には、ステップ２に戻り、所定の領域に対する書込処理を継続する。
【００３７】
入力接点書込処理（ＳＴ５）は、図１０に示すような処理を実行する。すなわち、処理対象領域に、初期値を出力表示する（ＳＴ１０）。本形態では、初期値は「ａ接点のＩ０」としているため、領域Ｒ１には文字を表示し、領域Ｒ２には該当する回路図を表示する。そして、接点を特定するための情報（記号＋番号）を表示する領域Ｒ１の１桁目に点滅カーソルＫを表示する（ＳＴ１１）。この点滅カーソルＫで指示された部分が、アクティブとなり、変更可能となる。
【００３８】
この状態で、「操作キー」の押下を待つ。このとき有効な操作キーは、リレー種別を変更するためのカーソルキー（上下）と、ａ接点とｂ接点を切り替えるための「ＡＬＴキー」６ｂと、点滅カーソルをリレー番号側に移行するカーソルキー（右）と、入力接点書込処理の完了を表す「ＯＫキー」６ｄであるので、いずれかの入力を待つ（ＳＴ１２）。
【００３９】
そして、カーソルキー（上下）５が押下されたならば、リレー種別を１つスクロールする。具体的には、「カーソルキー（上）」が押下された場合には、リレー種別は、１つ戻り、「カーソルキー（下）」が押下された場合には、リレー種別は、１つ進むようにする。そして、リレー種別はエンドレスでスクロールするようにしている。つまり、最後のリレー種別を表示している時に、「カーソルキー（下）」が押下されると、先頭のリレー種別を表示する。また、先頭のリレー種別を表示している時に、「カーソルキー（上）」が押下されると、最後のリレー種別を表示する。
【００４０】
そして、このエンドレスで提供されるリレー種別が、接続ユニット情報記憶部１５に格納された情報に基づいて設定される。つまり、図１に示すＣＰＵユニット単独の場合には、リレー種別の提供範囲は「Ｉ，Ｂ，Ｑ」の３種類であるので、カーソルキー（下）を繰り返し押下した場合には、リレー種別の欄の表示は、「Ｉ」→「Ｂ」→「Ｑ」→「Ｉ」→「Ｂ」→「Ｑ」→……と切り替わることになる。また、図８に示すように拡張ユニットを接続した状態では、リレー種別の適用範囲は、「Ｉ，Ｂ，Ｑ，Ｘ，Ｙ」となるので、カーソルキー（下）を繰り返し押下した場合には、リレー種別の欄の表示は、「Ｉ」→「Ｂ」→「Ｑ」→「Ｘ」→「Ｙ」→「Ｉ」→……と切り替わることになる。このように、接続されたシステム構成によって、スクロールされて表示される範囲が異なる。しかも、表示されるものは使用可能な範囲であるので、安心して使用できる。なお、ここではリレー種別の表示について言及したが、命令についても同様に、システム構成により使用可能な命令が表示される。
【００４１】
一方、押下された操作キーが「ＡＬＴキー」６ｂの場合には、ａ接点／ｂ接点の切り替えを行う（ＳＴ１４）。この切り替えに応じて、領域Ｒ１に表示する回路図を切り替える。つまり、図１３（ｃ）に示すように現在「ａ接点」の時に「ＡＬＴキー」が押下されると、図１４（ａ）に示すように「ｂ接点」の表示に切り替える。また、この状態で再度「ＡＬＴキー」が押下されると、図１３（ｃ）に示す「ａ接点」の表示に切り替える。
【００４２】
また、押下された操作キーが「カーソルキー（右）」５の場合には、点滅カーソルを処理対象の領域Ｒ１の２桁目に移動し（ＳＴ１５）、リレー番号の設定処理に移行する。そして、この状態で「操作キー」の押下を待つ。このとき有効な操作キーは、リレー番号を変更するためのカーソルキー（上下）と、点滅カーソルをリレー種別側に移行するカーソルキー（左）と、入力接点書込処理の完了を表す「ＯＫキー」６ｄであるので、いずれかの入力を待つ（ＳＴ１２）。
【００４３】
そして、カーソルキー（上下）５が押下されたならばリレー番号を１つスクロールする。具体的には、「カーソルキー（上）」が押下された場合には、リレー番号は、１つ戻り、「カーソルキー（下）」が押下された場合には、リレー番号は、１つ進むようにする。そして、リレー番号もエンドレスでスクロールするようにしている。つまり、リレー番号が最大を表示している時に、「カーソルキー（下）」が押下されると、リレー番号は「０」を表示する。また、リレー番号が「０」を表示している時に、「カーソルキー（上）」が押下されると、最大のリレー番号を表示する。このリレー番号も、接続ユニット情報記憶部１５に格納された情報に基づいて設定され、システム構成によって、使用可能なリレー番号のみが表示される。よって、ユーザは、使用可能か否かについてマニュアルを確認する必要がなく、しかも、使用不能なものを誤って用いるおそれもなくなる。
【００４４】
また、押下された操作キーが「カーソルキー（左）」５の場合には、ステップ１５に戻り、点滅カーソルを１桁目に移動し、リレー種別の設定処理に移行する。上記した処理を適宜実行することにより、ユーザは、目的の接点を設定することができる。そして、「ＯＫキー」６ｄを押下することにより、その領域についての入力接点の内容を確定する。従って、演算制御部１２は、押下された「操作キー」が「ＯＫキー」６ｄの場合には、ステップ１８に進み、１つ前に入力接点があるか否かを判断し、存在する場合には、その間にある接続線の領域Ｒ３内に、接続線を引く（ＳＴ１９）。すなわち、通常同一行に連続して接点がある場合、その２つの接点は接続されるため、自動的に接続線を設定することにより、マニュアル操作での入力を省略することができ、ユーザの処理負荷を軽減するようにしている。
【００４５】
この接続線の自動設定処理の一例を示すと、図１３（ｃ），図１４（ａ）のように先頭の入力接点の場合には、その前には接点が当然存在しないが、例えば図１４（ｂ）に示すように２番目の入力接点の書き込みを行っている（図示の例では、リレー番号がアクティブとなっている）場合に、「ＯＫキー」６ｄを押下すると、その内容（ｂ接点のＩ１）で確定し、図１４（ｃ）で示すように、接続線Ｓが自動的に引かれる。
【００４６】
一方、出力リレー書込処理は、図１１に示すように、まず、処理対象の出力リレーの前まで、接続線を引く（ＳＴ２１）。つまり、同一行の直前の接続線や、入力接点と接続する。
【００４７】
次いで、処理対象領域に初期値を出力する（ＳＴ２２）。本形態で、初期値は「Ｑ０」としたため、２桁目と３桁目にそれぞれ「Ｑ」，「０」を表示する（図１５（ａ）参照）。また、付加機能も初期値は通常出力動作にしているので、領域Ｒ４の１桁目に「［」を表示する。
【００４８】
そして、２桁目に点滅カーソルＫを表示し、出力リレーコイルの種別の選択を待つ（ＳＴ２３）。このとき有効な操作キーは、リレーコイル種別を変更するためのカーソルキー（上下）と、点滅カーソルをリレー番号側に移行するカーソルキー（右）と、出力リレー書込処理の完了を表す「ＯＫキー」６ｄであるので、いずれかの入力を待つ（ＳＴ２４）。なお、一度リレー番号側に移行した後は、有効なカーソルキーは左右両側となる。
【００４９】
そして、カーソルキー（上下）５が押下されたならば、該当箇所におけるデータを１つスクロールする。具体的には、１桁目であれは、付加機能のスクロールを行う。つまり、例えば、「”［”→”Ｓ”→”Ｒ”→”Ａ”」を一サイクルとして、進み方向，戻り方向のいずれにもエンドレスで表示を変える。また、２桁目であればリレー種別の表示を順次切替表示し，３桁目であればリレー番号を切替表示する。そして、このスクロール時の提供範囲が、接続されユニットの種別により変更されるのは、入力接点のときと同様である。
【００５０】
一方、カーソルキー（左右）５が押下された場合には、指示された方向に１桁分だけ点滅カーソルを移動する。さらに、「ＯＫキー」６ｄが押下されたならば、その領域についての出力リレーコイルの内容を確定する。
【００５１】
接続線書込処理は、図１２に示すように、処理対象の領域に初期値を出力する（ＳＴ３１）。接続線の種類は、横罫線からなる横接続と、縦罫線からなる立て接続と、十字からなる交差接続の３種類としている。そこで、例えば初期値は「＋」を表示することができる。
【００５２】
次いで、所望の操作キーの入力を待ち（ＳＴ３２）、カーソルキーが入力されたならば、その入力されたカーソルキーの方向に応じて所定の接続線を表示する（ＳＴ３３）。そして、押下された「操作キー」が「ＯＫキー」６ｄの場合には、現在表示される接続線で確定し、接続線書込処理を終了する。
【００５３】
なお、この接続線の表示は、接点等と同様にカーソルキー（上下）に従い、３つの接続線を順次スクロールするようにしてもよいし、例えば左（右）のカーソルキーが押下された場合には、現在のカーソル一の左（右）側に横接続を設定し、例えば上（下）のカーソルキーが押下された場合には、現在のカーソル一の上（下）側に縦接続を設定することもできる。
【００５４】
本実施の形態を用いることにより、例えば図１６（ａ）に示すプログラムは、表示部の適宜位置に条件を設定することにより、同図（ｂ）に示すようにプログラミングすることができる。そして、図示の例では、２行であるが、３行以上の場合には、カーソルキー（上下）５を操作して、表示画面を上下にスクロールすることによりプログラミングをし、作成したプログラムを表示させることができる。
【００５５】
なお、上記のようにして作成したラダーによるプログラムは、ＣＰＵユニット１の記憶部１４に格納されることは既に述べたが、実際にＣＰＵユニット１がその作成したプログラムに基づいて動作するためには、ラダーによるプログラムをコンパイルして得られたプログラムに従って動作する。もちろん、ＣＰＵユニット１がラダープログラムに従って直接動作できる場合には、コンパイル処理はもちろん必要がない。
【００５６】
【発明の効果】
以上のように、この発明では、接続されるユニットに関する情報（そのユニットで使用可能な接点の種類と点数を特定する情報）を記憶する接続ユニット記憶手段を備え、そこに記憶された情報を利用することにより、システムを構成するユニットが使用可能な接点の種類等が不明でも、マニュアル等を確認することなく、使用可能な物のみを用いてプログラミングすることができる。しかも、コントローラに対して、直接プログラムの組み込みを行うことができる。
【図面の簡単な説明】
【図１】本発明の好適な一実施の形態を示す概観図である。
【図２】表示部の一例を示す図である。
【図３】表示部の表示例を示す図である。
【図４】エリア種別の記号の意味を説明する図である。
【図５】操作キーの機能を説明する図である。
【図６】表示部上の各領域を説明する図である。
【図７】ＣＰＵユニットの内部構造を示す図である。
【図８】ＣＰＵユニットと拡張ユニットからなるシステムを示す図である。
【図９】演算制御部の機能を示すフローチャートである。
【図１０】演算制御部の入力接点書込処理機能を示すフローチャートである。
【図１１】演算制御部の出力コイル書込処理機能を示すフローチャートである。
【図１２】演算制御部の接続線書込処理機能を示すフローチャートである。
【図１３】作用を説明する図である。
【図１４】作用を説明する図である。
【図１５】作用を説明する図である。
【図１６】使用例を説明する図である。
【符号の説明】
１  ＣＰＵユニット
２  筐体
３  入力端子
４  出力端子
５  カーソルキー
６ａ  デリートキー（ＤＥＬキー）
６ｂ  オルタネートキー（ＡＬＴキー）
６ｃ  エスケイプキー（ＥＳＣキー）
６ｄ  実行キー（ＯＫキー）
７  表示部
８  電源端子
１１  入力部
１２  演算制御部
１３  出力部
１４  記憶部
１５  接続ユニット情報記憶部
１６  外部インタフェース
２０  拡張ユニット
【図１】
0004193361.tif 000002
【図２】
0004193361.tif 000003
【図３】
0004193361.tif 000004
【図４】
0004193361.tif 000005
【図５】
0004193361.tif 000006
【図６】
0004193361.tif 000007
【図７】
0004193361.tif 000008
【図８】
0004193361.tif 000009
【図９】
0004193361.tif 000010
【図１０】
0004193361.tif 000011
【図１１】
0004193361.tif 000012
【図１２】
0004193361.tif 000013
【図１３】
0004193361.tif 000014
【図１４】
0004193361.tif 000015
【図１５】
0004193361.tif 000016
【図１６】
0004193361.tif 000017