(57)【要約】【課題】入出力制御部に接続されている回路の種類を自律的に判別して外部装置との信号の入出力を行うことができる入出力モジュールを提供する。【解決手段】  Ｃ＿Ｉ／Ｏ制御部６の入出力判別部は、電源投入時に、出力端子Ａ及び入出力端子Ｂそれぞれのレベルがハイ，ローとなるように信号を出力すると、その時の入力端子Ｃのレベルを読み込んで第１レベルとして記憶し、次に出力端子Ａ及び入出力端子Ｂそれぞれのレベルを反転させて信号を出力すると、その時の入力端子Ｃのレベルを読み込んで第２レベルとして記憶する。そして、第１，第２レベルが示す組み合わせに応じて、自身に接続されているのが、Ｉ／Ｏユニット８（Ａ〜Ｃ）の何れであるか、或いは何も接続されていない状態かを判別する。【選択図】図３
2012194757.tif 000002
【特許請求の範囲】
【請求項１】
プログラマブルコントローラと外部装置との間で信号の入出力を行うための入出力モジュールにおいて、
前記入出力モジュールは、入出力制御部と、この入出力制御部に複数の信号線を介して接続され、信号入力回路又は信号出力回路の何れかを備えてなるＩ／Ｏ回路部とで構成され、
前記入出力制御部には、外部からの信号が前記信号入力回路を介して入力され、また、前記入出力制御部は、前記信号出力回路を介して信号を外部に出力し、
前記複数の信号線のうち、第１信号線は、前記入出力制御部の端子と前記Ｉ／Ｏ回路部の端子との間に直接接続され、
第２信号線は、前記入出力制御部の端子から抵抗素子Ｒ１を介して前記Ｉ／Ｏ回路部の端子に接続されると共に、抵抗素子Ｒ２を介してグランドに接続され、
第３信号線は、前記第１抵抗素子と前記Ｉ／Ｏ回路部の端子との共通接続点に接続され、
前記入出力制御部は、前記第２信号線を介して信号を出力する出力処理部と、前記第２信号線又は前記第３信号線を介して与えられる信号が入力される入力処理部と、前記第３信号線を介して与えられる信号が入力され、前記第１信号線，前記第２信号線の出力レベルをハイ，ローの二値に変化させ、前記第２信号線を介して行う信号の入出力切替えを行い、更に前記入力処理部に対して、前記第２信号線，前記第３信号線の何れを介して信号を与えるかを切替える入出力判別部とを備え、
前記信号入力回路は、外部装置によって出力された信号が入力される入力部と、前記信号を前記第１及び第２信号線間に出力する出力部と、前記第１及び第２信号線間に接続されるダイオードとを備え、
第１信号入力回路は、前記ダイオードが、前記第２信号線から前記第１信号線に順方向電流を流すように接続され、
第２信号入力回路は、前記ダイオードが、前記第１信号線から前記第２信号線に順方向電流を流すように接続され、
信号出力回路は、前記入出力制御部により出力された信号が、前記第１及び第２信号線間に入力される入力部と、前記第１信号線にハイレベル，前記第２信号線にローレベルが与えられると外部に信号を出力する出力部と、前記入力部において前記第１，第２信号線間に接続される抵抗素子Ｒ３と、前記入力部において前記第１信号線から前記第２信号線に順方向電流を流すように接続されるダイオードとを備え、
前記抵抗素子Ｒ１，Ｒ３における抵抗値の大小関係は、Ｒ１＞Ｒ３に設定され、
前記入出力制御部の前記入出力判別部は、電源投入時に、前記第１信号線及び前記第２信号線それぞれのレベルが、ハイ，ローの何れか一方と他方となるように信号を出力すると、その時の前記第３信号線のレベルを読み込んで第１レベルとして記憶し、
次に前記第１信号線及び前記第２信号線それぞれのレベルを反転させて信号を出力すると、その時の前記第３信号線のレベルを読み込んで第２レベルとして記憶し、
前記第１レベルと前記第２レベルとが何れもローであれば、前記各信号線に接続されているＩ／Ｏ回路部を第１信号入力回路と判定して、前記第１信号線の出力レベルをハイレベルに設定して、前記第２信号線を信号入力側に切り替え、
前記第１レベルと前記第２レベルとが何れもハイであれば、前記各信号線に接続されているＩ／Ｏ回路部を第２信号入力回路と判定して、前記第１信号線の出力レベルをローレベルに設定し、前記第２信号線の出力レベルをハイレベルに設定して、前記入力処理部に対して、前記第３信号線を介して信号を与えるように切替え、
前記第１信号線のレベルがハイである場合に前記第１レベルがハイ，前記第２レベルがローであれば、前記信号線に接続されているＩ／Ｏ回路部を信号出力回路と判定して、前記第１信号線の出力レベルをハイレベルに設定し、前記出力処理部より出力される信号を前記第２信号線を介して出力するように設定し、
前記第１信号線のレベルがローである場合に前記第１レベルがロー，前記第２レベルがハイであれば、前記信号線にはＩ／Ｏ回路部が接続されていないと判定して、前記プログラマブルコントローラの上位制御装置に未接続状態の通知を行うことを特徴とするプログラマブルコントローラの入出力モジュール。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルコントローラと外部装置との間で信号の入出力を行うための入出力モジュールに関する。
【背景技術】
【０００２】
一般に、プログラマブルコントローラにおいて信号の入出力を行なう部分であるＩ／Ｏモジュールでは、信号入力用の回路が接続される端子と、信号出力用の回路が接続される端子とが予め設定されており、入力モジュールと出力モジュールとが独立に構成されている。例えば特許文献１には、上記のようなＩ／Ｏモジュールの一例が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０００−２４２３０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、システム構成の自由度を高めてコストダウンを図るため、自身の機能を定義することで、信号の入出力をプログラマブルに取り扱うことができる制御ＩＣ部分を共通化して、その制御ＩＣの端子に、信号入力回路，信号出力回路を自由に接続してシステムを柔軟に構成することを想定する。この場合、制御ＩＣは、自身の各端子に接続されている回路が、信号入力用，信号出力用の何れであるかを自動的に判別可能とし、更に、その判別結果に応じて自身の端子の機能を定義する必要がある。しかしながら、従来、このような機能を備えている入出力モジュールは存在しなかった。
【０００５】
本発明は上記事情に鑑みてなされたものであり、その目的は、入出力制御部に接続されている回路の種類を自律的に判別して外部装置との信号の入出力を行うことができるプログラマブルコントローラの入出力モジュールを提供することにある。
【課題を解決するための手段】
【０００６】
本発明のプログラマブルコントローラの入出力モジュールによれば、入出力制御部と、この入出力制御部に複数の信号線を介して接続され、信号入力回路又は信号出力回路の何れかを備えてなるＩ／Ｏ回路部とで構成し、入出力制御部には、外部からの信号が信号入力回路を介して入力され、また入出力制御部は、信号出力回路を介して信号を外部に出力する。第１信号線は入出力制御部の端子とＩ／Ｏ回路部の端子との間に直接接続され、第２信号線は入出力制御部の端子から抵抗素子Ｒ１を介してＩ／Ｏ回路部の端子に接続されると共に、抵抗素子Ｒ２を介してグランドに接続され、第３信号線は第１抵抗素子Ｒ１とＩ／Ｏ回路部の端子との共通接続点に接続される。
また、第１信号入力回路は、ダイオードが第２信号線から第１信号線に順方向電流を流すように接続され、第２信号入力回路は、ダイオードが上記と逆方向に接続され、信号出力回路は、第１，第２信号線間に接続される抵抗素子Ｒ３と、第１信号線から第２信号線に順方向電流を流すように接続されるダイオードとを備える。
【０００７】
そして、入出力制御部の入出力判別部は、電源投入時に、第１信号線及び第２信号線それぞれのレベルがハイ，ローの何れか一方と他方となるように信号を出力すると、その時の第３信号線のレベルを読み込んで第１レベルとして記憶し、次に第１信号線及び第２信号線それぞれのレベルを反転させて信号を出力すると、その時の第３信号線のレベルを読み込んで第２レベルとして記憶する。
【０００８】
（１）ここで、入出力制御部に第１信号入力回路が接続されていると、第２信号線がローレベルの場合に第３信号線がローレベルとなり、第２信号線がハイレベルの場合に第３信号線はダイオードの順方向電圧Ｖｆとなる。したがって、電圧Ｖｆもローレベルに含まれると定義すれば、入出力判別部は、第１，第２レベルが何れもローとなることで第１信号入力回路が接続されていると判定して、第１〜第３信号線に接続されている内部回路を第１信号入力回路に対応して信号を入力するように設定する。すなわち、第１信号線の出力レベルをハイレベルに設定して、第２信号線を信号入力側に切り替える。
【０００９】
（２）また、入出力制御部に第２信号入力回路が接続されていると、第１信号線がハイレベルの場合に、第３信号線の電位が第１信号線の電位よりも順方向電圧Ｖｆ分だけ低下したレベルとなり、第２信号線がハイレベルの場合に第３信号線はハイレベルとなる。したがって、第１信号線の電位より電圧Ｖｆ分だけ低下したレベルもハイレベルに含まれると定義すれば、入出力判別部は、第１，第２レベルが何れもハイになることで第２信号入力回路が接続されていると判定して、内部回路を第２信号入力回路に対応して信号を入力するように設定する。すなわち、第１信号線の出力レベルをローレベルに設定し、第２信号線の出力レベルをハイレベルに設定して、入力処理部に対しては、第３信号線を介して信号を与えるように切替える。
【００１０】
（３）また、入出力制御部に信号出力回路が接続されていると、第１信号線がハイレベルの場合に、第３信号線の電位が第１信号線の電位よりも順方向電圧Ｖｆ分だけ低下したレベルとなり、第２信号線がハイレベルの場合、第３信号線の電位は、ハイレベルを抵抗値Ｒ１，Ｒ３で分圧した電位となる。ここで、抵抗素子Ｒ１，Ｒ３における抵抗値の大小関係はＲ１，Ｒ３に設定されているので、前記分圧電位もローレベルに含まれると定義すれば、入出力判別部は、第１レベルがハイ，第２レベルがローの場合に信号出力回路が接続されていると判定して、信号出力回路を介して信号を出力するように内部回路を設定する。すなわち、第１信号線の出力レベルをハイレベルに設定し、出力処理部より出力される信号を第２信号線を介して出力するように設定する。
（４）入出力制御部にＩ／Ｏ回路部が接続されていない場合は、第２信号線のレベルがローの場合に第３信号線はローレベルとなり、第２信号線のレベルがハイの場合に第３信号線のレベルはハイとなる。したがって、第１レベルがロー，第２レベルがハイの場合にはＩ／Ｏ回路部が接続されていないと判定し、プログラマブルコントローラの上位制御装置に未接続状態の通知を行う。
【００１１】
ここで、第１，第２信号入力回路の間でダイオードの接続方向を逆にしているのは、入出力制御部が上記（１），（２）のケースのように何れが接続されているのかを判別するためである。そして、例えば第１，第２信号入力回路の何れか一方を直流信号の入力用に使用し、他方を交流信号の入力用に使用すれば、交流信号が入力される場合、入出力制御部は、それに応じて内部でフィルタ回路を接続するように信号の入力系統を切り替えることができる。加えて、入出力制御部は、信号出力回路が接続されている場合と、Ｉ／Ｏ回路部が接続されていない場合も判定できる。
【００１２】
すなわち、入出力制御部は、自身に接続されているものが第１信号入力回路か、第２信号入力回路か、信号出力回路か、若しくは何も接続されていない状態であるのかを自律的に判別できるので、ユーザに負担をかけることなく信号の入出力系統を柔軟に設定してシステムを構成することが可能となる。更に、上記の各状態判定が入出力モジュール側で行われるので、プログラマブルコントローラの上位装置が判定を行う必要が無く、処理負担を軽減できる。また、入出力制御部の入出力部に第１及び第２抵抗素子を追加し、第１，第２信号入力回路については、出力側にダイオードを接続して一方の出力側配線を交差させるだけで、信号出力回路については入力部にダイオード及び第３抵抗素子を接続するだけで、入出力制御部はこれらの何れが接続されているのかを判別することが可能となる。したがって、既存の構成に極めて僅かな変更を加えるだけで、しかもプログラマブルコントローラを大型化させることなく本発明を適用することができる。
【図面の簡単な説明】
【００１３】
【図１】一実施例でありプログラマブルコントローラの構成を示す機能ブロック図
【図２】Ｃ＿Ｉ／Ｏ制御部の構成を概略的に示す機能ブロック図
【図３】Ｉ／Ｏユニットの内部構成を示す図（その１）
【図４】Ｉ／Ｏユニットの内部構成を示す図（その２）
【図５】Ｉ／Ｏユニットの内部構成を示す図（その３）
【図６】Ｃ＿Ｉ／Ｏ装置にＩ／Ｏユニットが接続されていない状態を示す図
【図７】Ｉ／Ｏユニットの接続判別処理を示すフローチャート
【発明を実施するための形態】
【００１４】
以下、一実施例について図面を参照して説明する。図１は、プログラマブルコントローラの構成を示す機能ブロック図である。プログラマブルコントローラ１は、上位制御装置であるＣＰＵ２，外部とネットワークを介して通信を行う通信モジュール（Ｐ／Ｓ）３，Ｉ／Ｏモジュール４ａ，４ｂ，Ｃ（Configurable）＿Ｉ／Ｏ装置（入出力制御部）５等で構成されている。Ｉ／Ｏモジュール４については従来と同様の一般的な構成であり、具体的には図示しないが、予め各端子の機能が入力，出力に構成されている複数のＩ／Ｏ部と、それらのＩ／Ｏ部を制御するＩ／Ｏ制御部，ＣＰＵ２とローカルに通信を行う通信部等で構成されている。
【００１５】
Ｃ＿Ｉ／Ｏ装置５は、Ｃ＿Ｉ／Ｏ制御部６と、入出力部（Ｉ／Ｏ Space）７とで構成されている。Ｃ＿Ｉ／Ｏ制御部６は、ＡＳＩＣ（Application Specific IC）等で構成され、Ｉ／Ｏモジュール４のＩ／Ｏ制御部及び通信部と同様の機能を有している、また、Ｃ＿Ｉ／Ｏ制御部６は、入出力部７に接続されているＩ／Ｏユニット（Ｉ／Ｏ回路部）８が信号入力回路，信号出力回路の何れに対応する構成を備えているのか、或いはＩ／Ｏユニット８が接続されていないのか等の判定を行い、その判定結果に応じて自身の機能を対応させるように制御する。Ｉ／Ｏユニット８を介しては、直流系／交流系（ＡＣ／ＤＣ）信号やアナログ信号入出力が行われたり、熱電対（ＴＣ）による温度検出信号やリアルタイムデータ（ＲＴＤ）の入力等が行われる。尚、Ｃ＿Ｉ／Ｏ装置５とＩ／Ｏユニット８とがＣ＿Ｉ／Ｏモジュール（入出力モジュール）９を構成している。
【００１６】
図２は、Ｃ＿Ｉ／Ｏ制御部６の構成を概略的に示す機能ブロック図であり、出力処理部１１，入力処理部１２，入出力判別部１３等を備えている。出力処理部１１は、ＣＰＵ２からの指令に応じて、出力バッファ１４及び入出力端子Ｂを介して入出力部７に信号を出力する。入力処理部１２は、入出力端子Ｂ及び入力バッファ１５を介して入力される信号をＣＰＵ２に送信する。また、入力処理部１２には、入力端子Ｃ及び入力バッファ１６を介して入力される信号も与えられている。
【００１７】
入出力判別部１３は、出力バッファ１７及び出力端子Ａを介してハイ，ローの二値レベル信号を出力すると共に、出力バッファ１４の出力状態をハイ，ロー，スルー（入力された信号レベルをそのまま出力）の何れかに切替えるように制御する。そして、入出力判別部１３には、出力処理部１１より出力される信号と、入力バッファ１５，１６を介して入力される信号も与えられている。ここで、出力端子Ａ，入出力端子Ｂ，入力端子ＣとＩ／Ｏユニット８とを接続する信号線が、それぞれ第１，第２，第３信号線に対応している。
【００１８】
次に、図３ないし図５は、Ｃ＿Ｉ／Ｏ装置５に接続されるＩ／Ｏユニット８の種類に応じた内部構成を示すもので、図３は、信号入力機能を備えるＩ／Ｏユニット８Ａ（第１信号入力回路）の構成である（入力タイプ（１）と称す）。Ｉ／Ｏユニット８Ａは、端子台における端子２１ａ,２１ｂ間に入力される信号を、フォトカプラ２２を介して入出力部７側に出力する。端子２１ａとフォトカプラ２２の入力端子との間には、抵抗素子Ｒａが接続されており、フォトカプラ２２の入力端子間には、抵抗素子Ｒｂ及びコンデンサＣが並列に接続されている。
【００１９】
Ｉ／Ｏユニット８Ａの出力側の端子２３ａは、Ｃ＿Ｉ／Ｏ制御部６の出力端子Ａに接続され、端子２３ｂは、入出力部７の第１抵抗素子Ｒ１を介して入出力端子Ｂに接続されると共に入力端子Ｃにも直接接続されている。また、入出力端子Ｂは、第２抵抗素子Ｒ２を介してグランドに接続されている。そして、端子２３ａ，２３ｂにはダイオード２４のカソード，アノードがそれぞれ接続されており、前記カソードは、フォトカプラ２２内の出力側を構成するフォトトランジスタ２２ＰＴのコレクタ側に、前記アノードは同エミッタ側に接続されている。
【００２０】
図４は、やはり信号入力機能を備えるＩ／Ｏユニット８Ｂ（第２信号入力回路）の構成である（入力タイプ（２）と称す）。Ｉ／Ｏユニット８Ｂの構成は基本的にＩ／Ｏユニット８Ａと同様であるが、Ｃ＿Ｉ／Ｏ制御部６の出力端子Ａと、入出力端子Ｂ及び入力端子Ｃとの接続関係が、Ｉ／Ｏユニット８Ｂの内部で逆となるように配線されている。すなわち、ダイオード２３のアノードが端子２３ａに接続され、カソードが端子２３ｂに接続されている。このＩ／Ｏユニット８Ａ，８Ｂの接続状態の相違は、後述するようにＣ＿Ｉ／Ｏ制御部６が両者の何れが接続されているのかを判別するために設定されている。
【００２１】
図５は、信号出力機能を備えるＩ／Ｏユニット８Ｃ（信号出力回路）の構成である。Ｉ／Ｏユニット８Ｃは、入力側の端子２５ａ,２５ｂが、Ｃ＿Ｉ／Ｏ制御部６の出力端子Ａと、第１抵抗素子Ｒ１（入出力端子Ｂ）及び入力端子Ｃとにそれぞれ接続されている。また、端子２５ａ,２５ｂは、フォトカプラ２６の入力側に接続されており、両者の間には第３抵抗素子Ｒ３が接続されている。尚、抵抗素子Ｒ１，Ｒ２，Ｒ３の各抵抗値の関係は、Ｒ２≫Ｒ１≫Ｒ３となるように設定されている。
【００２２】
フォトカプラ２６の出力側であるフォトトランジスタ２６ＰＴ（出力部）のコレクタは、ＰチャネルＭＯＳＦＥＴ２７のゲートに接続されていると共に、抵抗素子Ｒｃを介してＰチャネルＭＯＳＦＥＴ２７のソース及び出力側の端子２８ａに接続されている。ＰチャネルＭＯＳＦＥＴ２７のドレインは端子２８ｂに接続され、フォトトランジスタ２６ＰＴのエミッタは抵抗素子Ｒｄを介して端子２８ｃに接続されている。また、フォトカプラ２６の出力側であるダイオード２６Ｄは入力部に相当する。尚、図６は、Ｃ＿Ｉ／Ｏ制御部６にＩ／Ｏユニット８が接続されていない「未接続」の状態を示している。
【００２３】
次に、本実施例の作用について図７を参照して説明する。図７は、プログラマブルコントローラ１に電源が投入された際（立上げ時）に、Ｃ＿Ｉ／Ｏ制御部６の入出力判別部１３が行うＩ／Ｏユニット８の接続判別処理を示すフローチャートである。入出力判別部１３は、出力端子Ａをハイレベルに，入出力端子Ｂをローレベルに設定すると、その状態での入力端子Ｃの信号レベルがハイ，ローの何れを示しているかを読み込み、第１レベルとして内部のメモリに記憶させる（ステップＳ１）。
【００２４】
続いて、入出力判別部１３は、出力端子Ａをローレベルに，入出力端子Ｂをハイレベルに設定し、その状態での入力端子Ｃの信号レベルがハイ，ローの何れを示しているかを読み込み、第２レベルとして内部のメモリに記憶させる（ステップＳ２）。それから、入出力判別部１３は、第１レベルと第２レベルとがハイ，ローの何れの組み合わせを示したかに応じて（ステップＳ３）、Ｃ＿Ｉ／Ｏ制御部６に接続されているＩ／Ｏユニット８が入力タイプ（１）か（ステップＳ４）、入力タイプ（２）か（ステップＳ５）、出力タイプか（ステップＳ６）、或いは「未接続」か（ステップＳ７）を判別する。
【００２５】
ここで、ステップＳ３→ステップＳ４〜Ｓ７の判別について説明する。図３に示す入力タイプ（１）の場合、出力端子Ａをハイレベル，入出力端子Ｂをローレベルに設定すると、入力端子Ｃの信号レベルはローになる（第１レベル）。また、出力端子Ａをローレベル，入出力端子Ｂをハイレベルに設定すると、入力端子Ｃの信号レベルはロー（ダイオード２４の順方向電圧Ｖｆ）になる（第２レベル）。したがって、第１，第２レベルが何れもローであることから、入力タイプ（１）；Ｉ／Ｏユニット８Ａが接続されていると判別できる（ステップＳ４）。
【００２６】
この場合、入出力判別部１３は、出力端子Ａをハイレベルに設定し、入力処理部１２については、入出力端子Ｂより入力される信号を有効として、入力端子Ｃより入力される信号を無効（Ｈｉ−Ｚ）とするように設定する。これにより、Ｉ／Ｏユニット８Ａの端子２１ａ,２１ｂ間に入力される信号がローレベルであれば、入出力端子Ｂに入力される信号もローレベルとなり、端子２１ａ,２１ｂ間に入力される信号がハイレベルになると、フォトカプラ２２を介して信号が伝送され、入出力端子Ｂに入力される信号もハイレベルになる。
【００２７】
また、図４に示す入力タイプ（２）の場合、出力端子Ａをハイレベル，入出力端子Ｂをローレベルに設定すると、入力端子Ｃの信号レベルはハイ（−Ｖｆ）になる（第１レベル）。また、出力端子Ａをローレベル，入出力端子Ｂをハイレベルに設定した場合も、入力端子Ｃの信号レベルはハイになる（第２レベル）。したがって、第１，第２レベルが何れもハイであることから、入力タイプ（２）；Ｉ／Ｏユニット８Ｂが接続されていると判別できる（ステップＳ５）。この場合、入出力判別部１３は、出力端子Ａをローレベル，入出力端子Ｂをハイレベルに設定し、入力処理部１２については、入出力端子Ｃより入力される信号を有効として、入出力端子Ｂより入力される信号を無効とするように設定する。
これにより、Ｉ／Ｏユニット８Ｂの端子２１ａ,２１ｂ間に入力される信号がローレベルであれば、入力端子Ｃに入力される信号はハイレベルとなり、端子２１ａ,２１ｂ間に入力される信号がハイレベルになると、フォトカプラ２２を介して信号が伝送され、入力端子Ｃに入力される信号はローレベルになる。
【００２８】
尚、入力タイプ（１），（２）の違いとしては、例えば入力タイプ（１）により入力される信号はＤＣ系（ハイ，ローの二値レベルに変化する信号）であり、入力タイプ（２）により入力される信号はＡＣ系（例えば正弦波状に変化する信号等）であるとすると、入力タイプ（２）が接続されている場合は、例えば入力処理部１２に入力される信号を、フィルタ回路を経由させる等の経路の切り替えを行うようにする。また、入力タイプ（１），（２）とＤＣ系，ＡＣ系との対応は任意であり、双方を入れ替えても良い。
【００２９】
図５に示す出力タイプの場合、出力端子Ａをハイレベル，入出力端子Ｂをローレベルに設定すると、入力端子Ｃの信号レベルはハイ（−Ｖｆ；フォトカプラ２６の入力側ダイオード２６Ｄの順方向電圧分）になる（第１レベル）。また、出力端子Ａをローレベル，入出力端子Ｂをハイレベルに設定すると、入力端子Ｃの信号レベルはロー（端子Ｂ，Ａ間の電圧を抵抗素子Ｒ１及びＲ３で分圧したレベル）になる（第２レベル）。すなわち、Ｒ１≫Ｒ３に設定されていることから、第２レベルはローレベルとして認識される。
【００３０】
したがって、第１レベルがハイ，第２レベルがローであることから、出力タイプ；Ｉ／Ｏユニット８Ｃが接続されていると判別できる（ステップＳ６）。この場合、入出力判別部１３は、出力端子Ａをハイレベルにし、出力バッファ１４を「スルー」にして出力処理部１１より出力される信号を入出力端子Ｂを介して出力するように設定する。また、入力処理部１２については、入出力端子Ｂ，入力端子Ｃより入力される信号を何れも無効とするように設定する。
【００３１】
この場合、例えば、Ｉ／Ｏユニット８Ｃの端子２８ａを外部装置の電源に，端子２８ｃをグランドに接続し、端子２８ｂを抵抗素子によりプルダウンして入力信号を読み込むようにする。そして、出力処理部１１が入出力端子Ｂにハイレベルの信号を出力すると、ＰチャネルＭＯＳＦＥＴ２７はオフのままであるから端子２８ｂのレベルはローになる。一方、出力処理部１１が入出力端子Ｂにローレベルの信号を出力すると、フォトカプラ２６を介して信号が伝達され、ＰチャネルＭＯＳＦＥＴ２７がオンするので端子２８ｂのレベルはハイに変化する。
【００３２】
そして、図６に示すように、入出力部７にＩ／Ｏユニット８が接続されていない状態では、出力端子Ａをハイレベル，入出力端子Ｂをローレベルに設定すると、入力端子Ｃの信号レベルはローになる（第１レベル）。また、出力端子Ａをローレベル，入出力端子Ｂをハイレベルに設定すると、入力端子Ｃの信号レベルはハイになる（第２レベル）。したがって、第１レベルがロー，第２レベルがハイであることから、Ｉ／Ｏユニット８が未接続であると判別できる（ステップＳ７）。この場合、入出力判別部１３は、ＣＰＵ２に入出力部７が未接続であることを通知する。
【００３３】
以上のように本実施例によれば、Ｃ＿Ｉ／Ｏ装置５に対し、Ｉ／Ｏユニット８Ａ，８Ｂを接続することで外部装置からの信号を入力し、Ｉ／Ｏユニット８Ｃを接続することで信号を外部装置に出力する。第１信号線をＣ＿Ｉ／Ｏ装置５の出力端子ＡとＩ／Ｏユニット８の端子との間に直接接続し、第２信号線を、Ｃ＿Ｉ／Ｏ装置５の入出力端子Ｂから第１抵抗素子Ｒ１を介してＩ／Ｏユニット８の端子に接続すると共に、第２抵抗素子Ｒ２を介してグランドに接続し、第３信号線を第１抵抗素子Ｒ１とＩ／Ｏユニット８の端子との共通接続点に接続する。
また、Ｉ／Ｏユニット８Ａについては、ダイオード２４が第２信号線から第１信号線に順方向電流を流すように接続し、Ｉ／Ｏユニット８Ｂについては、ダイオード２４を上記と逆方向に接続し、Ｉ／Ｏユニット８Ｃに、第１，第２信号線間に接続される第３抵抗素子Ｒ３と、第１信号線から第２信号線に順方向電流を流すように接続されるダイオード２６Ｄとを備える。
【００３４】
Ｃ＿Ｉ／Ｏ装置５の入出力判別部１３は、電源投入時に、第１信号線及び第２信号線それぞれのレベルがハイ，ローとなるように信号を出力すると、その時の第３信号線のレベルを読み込んで第１レベルとして記憶し、次に第１信号線及び第２信号線それぞれのレベルを反転させて信号を出力すると、その時の第３信号線のレベルを読み込んで第２レベルとして記憶する。そして、第１，第２レベルが示す組み合わせに応じて、自身に接続されているのが、Ｉ／Ｏユニット８Ａ〜８Ｃの何れであるか、或いは何も接続されていない状態かを判別する。
すなわち、Ｃ＿Ｉ／Ｏ装置５は、自身に接続されているＩ／Ｏユニット８の種類，若しくは未接続の状態を自律的に判別できるので、ユーザに負担をかけることなく信号の入出力系統を柔軟に設定してシステムを構成することが可能となる。そして、上記の各状態判定が入出力モジュール９側で行われるので、上位装置であるＣＰＵ２が判定を行う必要も無く、処理負担を軽減できる。
【００３５】
また、Ｃ＿Ｉ／Ｏ装置５の入出力部７に第１，第２抵抗素子Ｒ１，Ｒ２を備え、Ｉ／Ｏユニット８Ａ，８Ｂについては、出力側にダイオード２４を接続してＩ／Ｏユニット８Ｂの出力側配線を交差させるだけで、Ｉ／Ｏユニット８Ｃについてはフォトカプラ２６の入力部であるダイオード２６Ｄを利用すると共に及び第３抵抗素子Ｒ３を接続するだけで、入出力判別部１３はこれらの何れが接続されているのかを判別可能となる。したがって、既存の構成に極めて僅かな変更を加えるだけで、しかもプログラマブルコントローラ１を大型化させることなく本実施例の構成を適用することができる。
【００３６】
すなわち、プログラマブルコントローラ１については、設置スペースの都合からサイズを小さくすることが不断に要求されており、各構成部分を以下に小型化にするかは極めて重要である。上記実施例の場合、追加する部品は抵抗素子Ｒ１〜Ｒ３とダイオード２４であり、Ｉ／Ｏユニット８Ｂの出力側配線を交差させただけであるから、極めて僅かな部品の追加と回路の変更になっている。これにより、Ｃ＿Ｉ／Ｏモジュール９の大型化に加えて故障率の上昇も抑制されるので、プログラマブルコントローラ１を例えば工場の生産ラインの制御等に適用した場合には、ラインを停止させる可能性も抑えることができ生産性の向上に貢献することもできる。
【００３７】
本発明は上記し、又は図面に記載した実施例にのみ限定されるものではなく、以下のような変型又は拡張が可能である。
ステップＳ１，Ｓ２で出力端子Ａ，入出力端子Ｂの出力レベルを反転させても良い。
信号出力回路が、Ｉ／Ｏユニット８Ｃのようにフォトカプラを使用しない構成であれば、入力部に別途ダイオードを追加すれば良い。
第２抵抗素子Ｒ２の抵抗値については、プルダウンするために必要な値であれば良い。
【符号の説明】
【００３８】
図面中、１はプログラマブルコントローラ、２はＣＰＵ（上位制御装置）、５はＣ＿Ｉ／Ｏ装置（入出力制御部）、８はＩ／Ｏユニット（Ｉ／Ｏ回路部）、８ＡはＩ／Ｏユニット（第１信号入力回路）、８ＢはＩ／Ｏユニット（第２信号入力回路）、８ＣはＩ／Ｏユニット（信号出力回路）、９はＣ＿Ｉ／Ｏモジュール（入出力モジュール）、１１は出力処理部、１２は入力処理部、１３は入出力判別部、２４はダイオード、２６Ｄはダイオード（入力部）、２６ＰＴはフォトトランジスタ（出力部）、Ｒ１〜Ｒ３は第１〜第３抵抗素子を示す。
【図１】
2012194757.tif 000003
【図２】
2012194757.tif 000004
【図３】
2012194757.tif 000005
【図４】
2012194757.tif 000006
【図５】
2012194757.tif 000007
【図６】
2012194757.tif 000008
【図７】
2012194757.tif 000009