(57)【要約】【課題】制御ユニットの全体処理時間に依存せず、多様な信号処理を高速に処理することができ、かつ、制御ユニットと通信できなくなってしまうことを抑制しつつ、データ処理手順を書き換えること。【解決手段】制御ユニットと通信可能に接続される通信部２０と、外部の機器と通信可能に接続される入出力インタフェース部２２と、通信部２０と入出力インタフェース部２２とに通信可能に接続されている処理部２１と、を備え、通信部２０は、第１のデータ処理手順を書き換え不能に記憶し、第１のデータ処理手順に基づいて制御ユニットと通信し、処理部２１は、第２のデータ処理手順を書き換え可能に記憶し、第２のデータ処理手順に基づいて、少なくとも入出力インタフェース部２２を介して外部の機器から入力されたデータのみを処理し、入出力インタフェース部２２を介して外部の機器に処理結果を出力可能である、入出力ユニット。【選択図】図２
2015135634.tif 000002
【特許請求の範囲】
【請求項１】
制御ユニットと通信可能に接続される通信部と、
外部の機器と通信可能に接続される入出力インタフェース部と、
前記通信部と前記入出力インタフェース部とに通信可能に接続されている処理部と、
を備え、
前記通信部は、第１のデータ処理手順を書き換え不能に記憶し、前記第１のデータ処理手順に基づいて制御ユニットと通信し、
前記処理部は、第２のデータ処理手順を書き換え可能に記憶し、前記第２のデータ処理手順に基づいて、少なくとも前記入出力インタフェース部を介して外部の機器から入力されたデータのみを処理し、前記入出力インタフェース部を介して外部の機器に処理結果を出力可能である、入出力ユニット。
【請求項２】
請求項１に記載の入出力ユニットであって、
前記処理部は、前記第２のデータ処理手順に基づいて、前記通信部を介して前記処理結果を制御ユニットに送信する、入出力ユニット。
【請求項３】
請求項１又は請求項２に記載の入出力ユニットであって、
前記処理部は、前記第２のデータ処理手順に基づいて、前記通信部を介して制御ユニットから受信したデータと前記入出力インタフェース部を介して外部の機器から入力されたデータとを処理し、前記入出力インタフェース部を介して外部の機器に処理結果を出力する、入出力ユニット。
【請求項４】
請求項１乃至請求項３のいずれか一項に記載の入出力ユニットであって、
前記処理部はＦＰＧＡである、入出力ユニット。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載の入出力ユニットであって、
筐体と、
前記筐体に設けられている表示部と、
前記筐体内に設けられ、前記第２のデータ処理手順を書き換えるための外部のコネクタが接続される通信端子部と、
を備え、
前記筐体の前記表示部が設けられている面に、前記外部のコネクタを前記通信端子部に接続するための開口が形成されている、入出力ユニット。
【請求項６】
請求項５に記載の入出力ユニットであって、
前記表示部は、光源部と、前記筐体内に設けられ前記光源部が接続される表示端子部とを有し、前記光源部は前記筐体の外から前記開口を介して前記表示端子部に接続される、入出力ユニット。
【請求項７】
請求項６に記載の入出力ユニットであって、
前記通信端子部と前記表示端子部とは共通の端子部として構成されており、
前記端子部を前記通信端子部として機能させるか又は前記表示端子部として機能させるかを切り替える切り替えスイッチを備える、入出力ユニット。
【発明の詳細な説明】
【技術分野】
【０００１】
入出力ユニットに関する。
【背景技術】
【０００２】
従来、ＣＰＵユニットとＩ／Ｏユニットとを備えるプログラマブルロジックコントローラが知られている。一般にＩ／Ｏユニットは負荷から入力された信号をＣＰＵユニットに送信し、ＣＰＵユニットはその信号を処理してその結果をＩ／Ｏユニットに送信する。そして、Ｉ／ＯユニットはＣＰＵユニットから受信した処理結果を負荷に出力することによって負荷を制御する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−９６８０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、一般にＣＰＵユニットには複数のＩ／Ｏユニットが接続され、ＣＰＵユニットは各Ｉ／Ｏユニットに順番にアクセスする。このため一つのＩ／Ｏユニットから見ると、自身がＣＰＵユニットに送信した信号がＣＰＵユニットで処理されてその結果を受信するのはＣＰＵユニットが複数のＩ／Ｏユニットにアクセスした後となるので、Ｉ／ＯユニットがＣＰＵユニットに信号を送信してからその結果を受信するまでに時間がかかるという問題がある。
【０００５】
それ以外にも、ＣＰＵユニットで実行される処理が複雑になると全体の処理が遅くなるので、Ｉ／Ｏユニットから受信した信号の処理も遅くなることにより、Ｉ／ＯユニットがＣＰＵユニットに信号を送信してからその結果を受信するまでに時間がかかる場合もある
【０００６】
このような問題を解決するために、データ処理手順を書き換え可能なプログラマブルデバイスをＩ／Ｏユニットに設け、ＣＰＵユニットとは独立してプログラマブルデバイスに信号を処理させるようにすることも考えられる。しかしながら、プログラマブルデバイスに信号を処理させる場合、ＣＰＵユニットと通信する処理までプログラマブルデバイスに実行させると、当該処理に不具合があるデータ処理手順に書き換えられてしまった場合に、ＣＰＵユニットと通信できなくなってしまう。
【０００７】
本明細書では、制御ユニットの全体処理時間に依存せず、多様な信号処理を高速に処理することができ、かつ、制御ユニットと通信できなくなってしまうことを抑制しつつ、データ処理手順を書き換えることができる技術を開示する。
【課題を解決するための手段】
【０００８】
本明細書によって開示される入出力ユニットは、制御ユニットと通信可能に接続される通信部と、外部の機器と通信可能に接続される入出力インタフェース部と、前記通信部と前記入出力インタフェース部とに通信可能に接続されている処理部と、を備え、前記通信部は、第１のデータ処理手順を書き換え不能に記憶し、前記第１のデータ処理手順に基づいて制御ユニットと通信し、前記処理部は、第２のデータ処理手順を書き換え可能に記憶し、前記第２のデータ処理手順に基づいて、少なくとも前記入出力インタフェース部を介して外部の機器から入力されたデータのみを処理し、前記入出力インタフェース部を介して外部の機器に処理結果を出力可能である。
【０００９】
上記入出力ユニットによると、制御ユニットの全体処理時間に依存せず、多様な信号処理を高速に処理することができる。また、上記入出力ユニットによると、通信部と処理部とを別構成とし、通信部が実行する第１のデータ処理手順については書き換え不能とし、処理部が実行する第２のデータ処理手順については書き換え可能としたので、第１のデータ処理手順が書き換えられてしまわないようにすることができる。これにより、制御ユニットと通信できなくなってしまうことを抑制しつつ、処理部が実行する第２のデータ処理手順を書き換えることができる。
【００１０】
また、前記処理部は、前記第２のデータ処理手順に基づいて、前記通信部を介して前記処理結果を制御ユニットに送信してもよい。
【００１１】
上記入出力ユニットによると、入出力ユニットの処理結果を制御ユニットに送信するので、入出力ユニットの処理結果を制御ユニットで管理することができる。
【００１２】
また、前記処理部は、前記第２のデータ処理手順に基づいて、前記通信部を介して制御ユニットから受信したデータと前記入出力インタフェース部を介して外部の機器から入力されたデータとを処理し、前記入出力インタフェース部を介して外部の機器に処理結果を出力してもよい。
【００１３】
上記入出力ユニットによると、制御ユニットから受信したデータについても処理できるので、制御ユニットから受信したデータを処理できない場合に比べ、より多様な処理を実行することができる。
【００１４】
また、前記処理部はＦＰＧＡであってもよい。
【００１５】
上記入出力ユニットによると、ＣＰＵを用いる場合に比べて処理をより高速に実行することができる。
【００１６】
また、上記入出力ユニットは、筐体と、前記筐体に設けられている表示部と、前記筐体内に設けられ、前記第２のデータ処理手順を書き換えるための外部のコネクタが接続される通信端子部と、を備え、前記筐体の前記表示部が設けられている面に、前記外部のコネクタを前記通信端子部に接続するための開口が形成されていてもよい。
【００１７】
一般に表示部は視認性を確保するために外部から見易い面に設けられる。このため表示部が設けられている面に開口を形成すると、ユーザは通信端子部にアクセスし易くなる。これにより、表示部が設けられている面とは異なる面に開口を形成する場合に比べ、第２のデータ処理手順を書き換える作業を行い易くなる。
【００１８】
また、前記表示部は、光源部と、前記筐体内に設けられ前記光源部が接続される表示端子部とを有し、前記光源部は前記筐体の外から前記開口を介して前記表示端子部に接続されてもよい。
【００１９】
上記入出力ユニットによると、外部のコネクタを通信端子部に接続するための開口と、光源部を表示端子部に接続するための開口とを共通化することができる。これにより、外部のコネクタを通信端子部に接続するための開口と光源部を表示端子部に接続するための開口とを別々に設ける場合に比べ、入出力ユニットを小型化することができる。
【００２０】
また、前記通信端子部と前記表示端子部とは共通の端子部として構成されており、前記端子部を前記通信端子部として機能させるか又は前記表示端子部として機能させるかを切り替える切り替えスイッチを備えてもよい。
【００２１】
上記入出力ユニットによると、通信端子部と表示端子部とを別々の端子部とする場合に比べて開口を小さくすることができるので、通信端子部と表示端子部とを別々の端子部とする場合に比べ、入出力ユニットを小型化することができる。
【００２２】
なお、本明細書によって開示される技術は、プログラマブルロジックコントローラ、入出力方法等の種々の態様で実現することができる。
【発明の効果】
【００２３】
上記の入出力ユニットによると、制御ユニットの全体処理時間に依存せず、多様な信号処理を高速に処理することができ、かつ、制御ユニットと通信できなくなってしまうことを抑制しつつ、データ処理手順を書き換えることができる。
【図面の簡単な説明】
【００２４】
【図１】実施形態１に係るプログラマブルロジックコントローラの斜視図。
【図２】Ｉ／Ｏユニットの電気的構成を簡略化して示すブロック図。
【図３】プログラマブルロジックコントローラによって実行される処理の模式図。
【図４】実施形態２に係るＩ／Ｏユニットの分解斜視図。
【図５】ＬＥＤ基板のコネクタの接続端子、及び、主基板のポートの接続端子を示す模式図。
【図６】メンテナンス用のコネクタの接続端子を示す模式図。
【図７】実施形態３に係るＩ／Ｏユニットの分解斜視図。
【図８】他の実施形態に係るＬＥＤ基板のコネクタの接続端子、及び、主基板のポートの接続端子を示す模式図。
【発明を実施するための形態】
【００２５】
＜実施形態１＞
実施形態１を図１ないし図６によって説明する。
（１）プログラマブルロジックコントローラの構成
図１に示すように、実施形態１に係るプログラマブルロジックコントローラ１は電源ユニット１０、ＣＰＵユニット１１、及び、１以上のＩ／Ｏユニット１２Ａ〜１２Ｎが連結されてなるいわゆるスタッキング型のプログラマブルロジックコントローラである。以降の説明ではＩ／Ｏユニット１２Ａ〜１２Ｎを互いに区別しない場合は単にＩ／Ｏユニット１２というものとする。
【００２６】
電源ユニット１０は連結されている他のユニットに電力を供給するユニットである。ＣＰＵユニット１１はＣＰＵ等が内蔵されたユニットである。ＣＰＵユニット１１は制御ユニットの一例である。
【００２７】
Ｉ／Ｏユニット１２はセンサやアクチュエータなどの外部の機器と通信するためのユニットである。Ｉ／Ｏユニット１２はＣＰＵユニット１１に対して受け身の状態であり、ＣＰＵユニット１１がＩ／Ｏユニット１２にアクセスしたときにＣＰＵユニット１１との間でデータを送受信する。Ｉ／Ｏユニット１２は入出力ユニットの一例である。
【００２８】
電源ユニット１０にはＣＰＵユニット１１と連結するための例えば雄型の電源コネクタが設けられている。ＣＰＵユニット１１には電源ユニット１０に連結するための雌型の電源コネクタと、Ｉ／Ｏユニット１２に連結するための例えば雄型のバス連結コネクタとの二種類のコネクタが設けられている。
【００２９】
Ｉ／Ｏユニット１２にはＣＰＵユニット１１の雄型のバス連結コネクタ又は他のＩ／Ｏユニット１２の雄型のバス連結コネクタに連結するための雌型のバス連結コネクタ１７と、他のＩ／Ｏユニット１２の雌型のバス連結コネクタに連結するための雄型のバス連結コネクタ１８（図２参照）との二つのコネクタが設けられている。ＣＰＵユニット１１と１以上のＩ／Ｏユニット１２とを連結させるとＣＰＵユニット１１とそれら１以上のＩ／Ｏユニット１２とが制御バス１９（図２参照）によって連結され、これによりＣＰＵユニット１１と各Ｉ／Ｏユニット１２とが通信可能になる。
【００３０】
（２）Ｉ／Ｏユニットの電気的構成
図２に示すように、Ｉ／Ｏユニット１２は雌型のバス連結コネクタ１７、雄型のバス連結コネクタ１８、バスコントロールユニット２０、処理部２１、入出力インタフェース部２２、表示部２３などを備えている。バスコントロールユニット２０は通信部の一例である。また、図２では示していないが、Ｉ／Ｏユニット１２はバスコントロールユニット２０などの構成部品が実装されている主基板２５（図４参照）も備えている。
【００３１】
バスコントロールユニット２０は通信回路２０Ａ、入力バッファ２０Ｂ、及び、出力バッファ２０Ｃを備えている。通信回路２０ＡにはＣＰＵユニット１１と通信するためのデータ処理手順が予め書き換え不能に記憶されている。通信回路２０Ａに書き換え不能に記憶されているデータ処理手順は第１のデータ処理手順の一例である。
【００３２】
通信回路２０Ａは制御バス１９を介してＣＰＵユニット１１と通信可能に接続され、予め書き換え不能に記憶しているデータ処理手順に基づいてＣＰＵユニット１１と通信する。具体的には例えば、通信回路２０Ａは処理部２１によって入力バッファ２０Ｂに記憶されたデータをデコードしてＣＰＵユニット１１に送信する。また、通信回路２０ＡはＣＰＵユニット１１からデータを受信し、受信したデータをエンコードして出力バッファ２０Ｃに記憶させる。出力バッファ２０Ｃに記憶されたデータは処理部２１によって読み出される。
【００３３】
上述したバスコントロールユニット２０はＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）によって構成されてもよいし、ＡＳＩＣによって構成されてもよい。ＦＰＧＡは製造後に構成を設定できる集積回路である。ただし、バスコントロールユニット２０をＦＰＧＡによって構成する場合であってもデータ処理手順を書き換えられるようにするための構成は設けないものとする。このためバスコントロールユニット２０をＦＰＧＡによって構成した場合もデータ処理手順は書き換え不能である。
【００３４】
処理部２１はＣＰＵ、ＥＥＰＲＯＭ、及び、ＲＯＭを備えて構成されている。ＣＰＵはＥＥＰＲＯＭに書き換え可能に記憶されているデータ処理プログラムを実行する。ＥＥＰＲＯＭに書き換え可能に記憶されているデータ処理プログラムは第２のデータ処理手順の一例である。データ処理プログラムについての説明は後述する。ＥＥＰＲＯＭはデータを書き換え可能な不揮発性のメモリである。ＲＡＭはＣＰＵが処理を実行するための主記憶装置として用いられる。
【００３５】
入出力インタフェース部２２は、入出力信号の伝達に用いる入出力コネクタや、ＲＳ−２３２Ｃ、Ｅｔｈｅｒｎｅｔ（登録商標）などの通信規格に応じた形状の入出力コネクタ２２Ａ、インタフェース回路２２Ｂなどを備えて構成されている。入出力コネクタ２２Ａは通信ケーブルなどを介して外部の機器と接続され、外部の機器との間でデータの入出力を行う。
【００３６】
表示部２３はＬＥＤを点灯させることによってユーザに各種の情報を報知する。詳しくは後述するが、表示部２３は複数のＬＥＤが実装されているＬＥＤ基板２３Ａ（図４参照）と、ＬＥＤ基板２３Ａが接続される表示端子部２３Ｂ（図４参照）とを有している。表示端子部２３Ｂは前述した主基板２５に設けられている。ＬＥＤ基板２３Ａは光源部の一例である。
【００３７】
（３）プログラマブルロジックコントローラの処理
次に、図３を参照して、プログラマブルロジックコントローラ１によって実行される処理の一例について説明する。ここで、図１とは異なり、図３ではＣＰＵユニット１１に従来のＩ／Ｏユニット３０が３台（３０Ａ〜３０Ｃ）、及び、本実施形態に係るＩ／Ｏユニット１２が１台連結されている場合を示している。従来のＩ／Ｏユニット３０とは、処理部２１を備えず、入出力インタフェース部２２と表示部２３とがそれぞれバスコントロールユニット２０に直接接続されているものである。以降の説明ではＩ／Ｏユニット３０Ａ〜３０Ｃを互いに区別しない場合は単にＩ／Ｏユニット３０といい、Ｉ／Ｏユニット３０とＩ／Ｏユニット１２とを互いに区別しない場合は単にＩ／Ｏユニットという。
【００３８】
図３では外部の機器からＩ／Ｏユニット３０Ａに入力されるデータをＸ１ａ及びＸ１ｂとして示している。他のＩ／Ｏユニット１２についても同様であり、Ｉ／Ｏユニット３０Ｂの場合は入力されるデータをＸ２ａ及びＸ２ｂとして示しており、Ｉ／Ｏユニット１２の場合は入力されるデータをＸ３ａ及びＸ３ｂとして示している。また、Ｉ／Ｏユニット３０Ｃの場合は入力されるデータをＸ４ａ及びＸ４ｂとして示している。なお、入力されるデータの数や外部の機器に出力するデータの数はこれに限られるものではない。
【００３９】
図３に示すプログラマブルロジックコントローラ１では、従来のＩ／Ｏユニット３０は、外部の機器から入力されたデータをＣＰＵユニット１１に送信し、ＣＰＵユニット１１がそのデータを用いて行った演算結果を外部の機器に出力する。図３ではＩ／Ｏユニット３０が外部の機器に出力する演算結果をＹ１、Ｙ２、Ｙ４として示している。これに対し、本実施形態に係るＩ／Ｏユニット１２は、自身で演算を行って演算結果Ｙ３を外部の機器に出力し、ＣＰＵユニット１１には外部の機器から入力されたデータではなく自身が行った演算結果Ｙ３を送信する。以下、具体的に説明する。
【００４０】
（３−１）ＣＰＵユニットによって実行される処理
先ず、ＣＰＵユニット１１の処理について説明する。ＣＰＵユニット１１は演算処理（Ｓ１０１）、Ｉ／Ｏアクセス（Ｓ１０２）、及び、その他の処理（Ｓ１０３）をこの順で繰り返し実行する。ここでは一度の繰り返しのことを１サイクルというものとする。
【００４１】
Ｓ１０１では、ＣＰＵユニット１１は演算処理を実行する。演算処理はＩ／Ｏユニット３０から受信したデータを用いて所定の演算を行う処理である。具体的には例えば、Ｉ／Ｏユニット３０Ａを例に説明すると、ＣＰＵユニット１１は自身が記憶しているデータ処理プログラムを実行することにより、Ｉ／Ｏユニット３０Ａから受信したデータＸ１ａ及びＸ１ｂを用いて平均値を算出し、その平均値を演算結果Ｙ１としてＲＡＭに記憶する。Ｉ／Ｏユニット３０Ｂ及び３０Ｃについても同様である。演算結果は処理結果の一例である。
【００４２】
なお、演算の内容はユーザがプログラミングによって任意に決定することができるものであり、平均値を算出する処理に限定されるものではない。例えばＸ１ａとＸ１ｂとを加算する処理であってもよい。また、Ｘ１ａが出力された回数をカウンタに加算し、カウンタの値が５００回に達したか否かを判断するという処理でもよい。そして、カウンタの値が５００回に達した場合は次に実行するＩ／Ｏアクセス（Ｓ１０２）において何らかのデータを処理結果として外部の機器に出力してもよい。これにより外部の機器はＩ／Ｏユニット３０にデータを出力した回数を自身でカウントしていなくてもその回数が５００回に達したタイミングを知ることができる。
【００４３】
ここで、ＣＰＵユニット１１は、Ｉ／Ｏユニット１２については演算を行わない。これは、前述したようにＩ／Ｏユニット１２は自身で演算を行うからである。Ｉ／Ｏユニット１２によって実行される処理についての説明は後述する。
【００４４】
Ｓ１０２では、ＣＰＵユニット１１はＩ／Ｏアクセスを実行する。Ｉ／Ｏアクセスは各Ｉ／Ｏユニットに順にアクセスして各Ｉ／Ｏユニットと通信する処理である。具体的には例えば、Ｉ／Ｏユニット３０Ａを例に説明すると、ＣＰＵユニット１１は制御バス１９を介してＩ／Ｏユニット３０Ａにアクセスし、Ｉ／Ｏユニット３０ＡからデータＸ１ａ及びＸ１ｂを受信する。そして、ＣＰＵユニット１１は演算処理（Ｓ１０１）で演算を行った演算結果Ｙ１をＩ／Ｏユニット３０Ａに送信する。
【００４５】
ただし、ＣＰＵユニット１１は、Ｉ／Ｏユニット１２についてはデータＸ３ａ及びＸ３ｂの受信は行わない。その理由は、前述したようにＩ／Ｏユニット１２は自身で演算を行うのでＣＰＵユニット１１はデータＸ３ａ及びＸ３ｂを受信する必要がないからである。その替りとして、ＣＰＵユニット１１はＩ／Ｏユニット１２で行われた演算結果Ｙ３を受信する。これは、Ｉ／Ｏユニット１２で行われた演算結果Ｙ３をＣＰＵユニット１１で管理するためである。なお、この管理が不要である場合は演算結果Ｙ３の受信は不要である。
【００４６】
ここで、Ｓ１０２でＣＰＵユニット１１がＩ／Ｏユニット３０から受信したデータは次回Ｓ１０１を実行したときに演算に用いられ、その演算結果は次回Ｓ１０２を実行したときにＩ／Ｏユニット３０に送信される。つまり、ＣＰＵユニット１１がＩ／Ｏユニット３０からデータを受信するサイクルと、ＣＰＵユニット１１がそのデータを用いた演算の結果をＩ／Ｏユニット３０に送信するサイクルとは１サイクルずれることになる。このため、Ｉ／Ｏユニット３０の場合は外部の機器からデータが入力されてから演算結果を外部の機器に出力するまでに遅延が生じる。
【００４７】
また、ＣＰＵユニット１１はＩ／Ｏユニットに順にアクセスするので、Ｉ／Ｏユニット３０は外部の機器からデータが入力されてもＣＰＵユニット１１との通信の順番が回ってくるまでＣＰＵユニット１１へのデータの送信を待たなければならない。また、ＣＰＵユニット１１から演算結果を受信する場合もＩ／Ｏユニット３０はＣＰＵユニット１１との通信の順番が回ってくるまで待たなければならない。このため、Ｉ／Ｏユニット３０の場合はＣＰＵユニット１１がＩ／Ｏユニットに順にアクセスすることによる遅延も生じる。連結されるＩ／Ｏユニットの数が多くなるとこの遅延はより大きくなることになる。
【００４８】
また、ＣＰＵユニット１１とＩ／Ｏユニットとは制御バス１９を介して通信するが、制御バス１９を介した通信ではノイズ対策や各Ｉ／Ｏユニットにアクセスするタイミングにマージンなどを取っており、ＣＰＵユニット１１内の内部バスと比較すると通信速度が遅くなる傾向がある。このため、Ｉ／Ｏユニット３０の場合はそのような理由による遅延も生じる。
【００４９】
このため、Ｉ／Ｏユニット３０の場合は外部の機器からデータが入力されてから外部の機器に演算結果を出力するまでに時間がかかる。これに対し、Ｉ／Ｏユニット１２は自身で演算を行ってその演算結果Ｙ３を外部の機器に出力するので、Ｉ／Ｏユニット３０に比べ、外部の機器からデータが入力されてから外部の機器に演算結果を送信するまでの時間を短縮できる。
【００５０】
Ｓ１０３では、ＣＰＵユニット１１はその他の処理を実行する。その他の処理はデータ処理プログラムに応じて決まる処理であり、ユーザの必要に応じた処理をＣＰＵに実行させることができる。
【００５１】
（３−２）Ｉ／Ｏユニットによって実行される処理
次に、Ｉ／Ｏユニット１２によって実行される処理について説明する。本処理は外部の機器からＩ／Ｏユニット１２にデータＸ３ａ及びＸ３ｂが入力されると開始される。つまり、本処理はＣＰＵユニット１１によって実行される処理とは独立して開始される。
【００５２】
Ｓ２０１では、Ｉ／Ｏユニット１２の処理部２１は、ＥＥＰＲＯＭに記憶されているデータ処理プログラムを実行することにより、外部の機器から入力されたデータＸ３ａ及びＸ３ｂを用いて、演算処理（Ｓ１０１）で実行される演算に相当する演算を実行する。
【００５３】
ここで、Ｉ／Ｏユニット１２が実行するデータ処理プログラムは、ＣＰＵユニット１１が実行するデータ処理プログラムを流用して開発することができる。具体的には、Ｉ／Ｏユニット１２が行う演算処理はＣＰＵユニット１１が行う演算処理に相当するものであるので、ＣＰＵユニット１１が実行するデータ処理プログラムから不要な処理を削除することにより、Ｉ／Ｏユニット１２が実行するデータ処理プログラムを開発することができる。これにより、Ｉ／Ｏユニット１２が実行するデータ処理プログラの開発工数を抑制することができる。また、不要な処理を削除するのでＩ／Ｏユニット１２が実行するデータ処理プログラムはＣＰＵユニット１１が実行するデータ処理プログラムよりデータサイズを小さくすることができる。
【００５４】
Ｓ２０２では、処理部２１は入出力インタフェース部２２を介してＳ２０１での演算結果Ｙ３を外部の機器に出力する。
Ｓ２０３では、Ｉ／Ｏユニット１２のバスコントロールユニット２０はＣＰＵユニット１１がＩ／Ｏアクセス（Ｓ１０２）を実行してＩ／Ｏユニット１２にアクセスするまで待機し、ＣＰＵユニット１１がＩ／Ｏユニット１２にアクセスしたときに、演算結果Ｙ３をＣＰＵユニット１１に送信する。
【００５５】
なお、外部の機器から入力されたデータＸ３ａ及びＸ３ｂについてもＣＰＵユニット１１で管理する必要がある場合は、Ｉ／Ｏユニット１２は演算結果Ｙ３に加えてデータＸ３ａ及びＸ３ｂもＣＰＵユニット１１に送信してもよい。あるいは逆に、データＸ３ａ及びＸ３ｂについてはＣＰＵユニット１１で管理する必要がある一方、演算結果Ｙ３についてはＣＰＵユニット１１で管理する必要がない場合は、Ｉ／Ｏユニット１２は外部の機器から入力されたデータＸ３ａ及びＸ３ｂだけをＣＰＵユニット１１に送信してもよい。
【００５６】
（４）実施形態の効果
以上説明した実施形態１に係るＩ／Ｏユニット１２によると、ＣＰＵユニット１１とは独立して処理を実行するので、ＣＰＵユニット１１の全体処理時間に依存せず、多様な信号処理を高速に処理することができる。また、Ｉ／Ｏユニット１２によると、バスコントロールユニット２０と処理部２１とを別構成とし、バスコントロールユニット２０が実行するデータ処理手順（第１のデータ処理手順）については書き換え不能とし、処理部２１が実行するデータ処理プログラム（第２のデータ処理手順）については書き換え可能としたので、ユーザが第１のデータ処理手順を書き換えてしまわないようにすることができる。これにより、ＣＰＵユニット１１と通信できなくなってしまうことを抑制しつつ、処理部２１が実行するデータ処理プログラムをユーザが書き換えることができる。
【００５７】
更に、Ｉ／Ｏユニット１２によると、外部の機器から入力されたデータを処理した処理結果をＣＰＵユニット１１に送信するので、Ｉ／Ｏユニット１２の処理結果をＣＰＵユニット１１で管理することができる。
【００５８】
＜実施形態２＞
次に、実施形態２を図４ないし図６によって説明する。
前述したように、処理部２１に記憶されているデータ処理プログラムは書き換えることができる。データ処理プログラムの書き換えは、一端にメンテナンス用のコネクタが設けられている通信ケーブルの他端を外部のコンピュータに接続し、そのメンテナンス用のコネクタをＩ／Ｏユニット１２の主基板２５に設けられているポートに接続することによって行われる。メンテナンス用のコネクタは外部のコネクタの一例である。
【００５９】
詳しくは後述するが、メンテナンス用のコネクタには複数の接続端子が設けられている。また、主基板２５に設けられているポートには複数のメンテナンス用の接続端子が設けられている。メンテナンス用のコネクタを主基板２５のポートに嵌合させると対応する接続端子同士が接触して外部のコンピュータと主基板２５とが電気的に接続される。主基板２５のポートのメンテナンス用の接続端子は処理部２１と電気的に接続されており、これによりユーザは外部のコンピュータからデータ処理プログラムを書き換えることができる。
【００６０】
ところで、図１に示すように既に左右にＣＰＵユニット１１や別のＩ／Ｏユニット１２などが連結されている状態のＩ／Ｏユニット１２のデータ処理プログラムを書き換える場合、一端連結を外して上述したメンテナンス用のコネクタを主基板２５のポートに接続するという方法も考えられる。しかしながら、そのようにすると連結を外さなければならないのでユーザの負担が大きくなる。そのため、連結を外さずにメンテナンス用のコネクタを主基板２５に接続できることが望ましい。
【００６１】
連結を外さずにメンテナンス用のコネクタを主基板２５のポートに接続する方法としては、Ｉ／Ｏユニット１２の筐体を構成している面のうち別のユニットと対向しない面に開口を設け、その開口から接続するという方法が考えられる。しかしながら、別のユニットと対向しない面であるからといって必ずしもユーザがアクセスし易いとは限らない。なぜなら、Ｉ／Ｏユニット１２の背面に開口を形成したとすると、背面が工場などの施設の壁に密着するようにＩ／Ｏユニット１２が配置された場合には、ユーザは主基板２５のポートにアクセスできないからである。
【００６２】
そこで、実施形態２では、表示部２３が設けられている面（図１参照）に開口を設ける。これは、一般に表示部２３は視認性を確保するために外部から見易い面に設けられるので、表示部２３が設けられている面に開口を形成すると、ユーザが主基板２５のポートにアクセスし易くなるからである。
【００６３】
しかしながら、スタッキング型のプログラマブルロジックコントローラでは拡張性を重視して各ユニットが小型化されている。また、一般にスタッキング型のプログラマブルロジックコントローラでは表示部２３が設けられている面に入出力インタフェース部２２の入出力コネクタ２２Ａが設けられることが多い。このため表示部２３が設けられている面には開口を形成するための領域を確保することが困難である場合が多い。
【００６４】
そこで、実施形態２では、図４に示すように、表示部２３が設けられる面２４ＡにＬＥＤ基板２３Ａを取り付けるための開口２４Ｂを形成し、ＬＥＤ基板２３Ａを筐体２４の外から取り付ける構造とする。そして、その開口２４Ｂをメンテナンス用の開口としても利用する。以下、具体的に説明する。
【００６５】
図４ではＩ／Ｏユニット１２の筐体２４が前方部分２４Ｃと図示しない後方部分とに分離可能である場合を示している。前方部分２４ＣにはＬＥＤ基板２３Ａのコネクタ２３Ｃを挿入するための開口２４Ｂが形成されている。そして、ＬＥＤ基板２３Ａのコネクタ２３Ｃが筐体２４の前方から開口２４Ｂに挿入されて主基板２５のポート２６に嵌合される。これにより主基板２５とＬＥＤ基板２３Ａとが電気的に接続される。そして、ＬＥＤを保護するための透明な保護カバー２３ＤがＬＥＤ基板２３Ａの前方から筐体２４に取り付けられる。
【００６６】
ここで、主基板２５のポート２６はＬＥＤ基板２３Ａのコネクタ２３Ｃが接続されるポートであるとともに、前述したメンテナンス用のコネクタが接続されるポートでもある。ただし、ＬＥＤ基板２３Ａのコネクタ２３Ｃを接続した場合とメンテナンス用のコネクタを接続した場合とでは接触する接続端子が異なる。
【００６７】
図５を参照して、ＬＥＤ基板２３Ａのコネクタ２３Ｃの接続端子、及び、主基板２５のポート２６の接続端子について説明する。ここで、ＬＥＤを点灯させる方式としては、複数のＬＥＤに個別に電流を供給してそれら複数のＬＥＤを同時に点灯可能な直接点灯式、及び、複数のＬＥＤを時分割で点灯させることにより、残像によってそれら複数のＬＥＤが同時に点灯しているように見せかける走査式が知られている。図５では直接点灯式によって１０個のＬＥＤを点灯させる場合を示している。
【００６８】
１０個のＬＥＤを直接点灯式によって点灯させる場合は、ＬＥＤを駆動する駆動線が１０本とアース線とが必要となる。なお、アース線の数は１本に限られず適宜に決定することができる。図５ではアース線が２本である場合を示している。
【００６９】
上述した構成の場合、主基板２５のポート２６には接続端子が１２個あればよいことになる。しかしながら、本実施形態では図５に示すように主基板２５のポート２６に１８個の接続端子が設けられている。つまり、主基板２５のポート２６には、ＬＥＤ基板２３Ａのコネクタ２３Ｃを嵌合させた状態では利用されない接続端子２６Ａが６個設けられている。これら６個の接続端子２６Ａが前述したメンテナンス用の接続端子である。
【００７０】
主基板２５のポート２６の接続端子のうちＬＥＤ基板２３Ａのコネクタ２３Ｃが嵌合された状態で利用される接続端子２３Ｂは表示端子部の一例である。また、主基板２５のポート２６の６個のメンテナンス用の接続端子２６Ａは通信端子部の一例である。
【００７１】
次に、図６を参照して、メンテナンス用のコネクタの接続端子について説明する。メンテナンス用のコネクタ４０の形状はＬＥＤ基板２３Ａのコネクタ２３Ｃと同形状であるが、設けられている接続端子は図６に示すように６個だけである。メンテナンス用のコネクタ４０を主基板２５のポート２６に嵌合させると、メンテナンス用のコネクタ４０の６個の接続端子と主基板２５のポート２６の６個のメンテナンス用の接続端子２６Ａとが接触する。これによりデータ処理プログラムを書き換えることができる。
【００７２】
以上説明した実施形態２に係るＩ／Ｏユニット１２によると、筐体２４の表示部２３が設けられている面に、メンテナンス用のコネクタ４０を主基板２５のポート２６に嵌合するための開口２４Ｂが形成されているので、表示部２３が設けられている面とは異なる面に開口２４Ｂを形成する場合に比べ、ユーザがデータ処理プログラムを書き換える作業を行い易くなる。
【００７３】
更に、Ｉ／Ｏユニット１２によると、メンテナンス用のコネクタ４０を主基板２５に接続するための開口とＬＥＤ基板２３Ａを主基板２５に接続するための開口とを共通化することができる。これにより、メンテナンス用のコネクタを主基板２５に接続するための開口とＬＥＤ基板２３Ａを主基板２５に接続するための開口とを別々に設ける場合に比べ、Ｉ／Ｏユニット１２を小型化することができる。
【００７４】
更に、Ｉ／Ｏユニット１２によると、ＬＥＤ基板２３Ａを筐体２４の外から取り付ける構造としたので、Ｉ／Ｏユニット１２が連結されていてもＬＥＤ基板２３Ａを外すことによって開口２４Ｂを露出させることができる。これにより、Ｉ／Ｏユニット１２の連結を外さずにデータ処理プログラムを書き換えることができる。
【００７５】
更に、Ｉ／Ｏユニット１２によると、ＬＥＤ基板２３Ａのコネクタ２３Ｃとメンテナンス用のコネクタ４０とが同形状であるので、ＬＥＤ基板２３Ａのコネクタ２３Ｃを流用してメンテナンス用のコネクタ４０を製造することができる。これによりメンテナンス用のコネクタ４０の製造コストを抑制できる。
【００７６】
＜実施形態３＞
次に、実施形態３を図７によって説明する。
上記実施形態ではＬＥＤ基板２３Ａのコネクタ２３Ｃの接続端子とメンテナンス用のコネクタ４０の接続端子とが主基板２５のポート２６の互いに異なる接続端子に接続される場合を例に説明した。これに対し、通信端子部と表示端子部とを共通の端子部として構成し、ＬＥＤ基板２３Ａのコネクタ２３Ｃの接続端子とメンテナンス用のコネクタ４０の接続端子とが主基板２５のポート２６の同じ接続端子に接続されてもよい。
【００７７】
具体的には例えば、図７に示すようにＩ／Ｏユニット１２に切り替えスイッチ５０を設けてもよい。そして、例えば切り替えスイッチ５０がオンのときは主基板２５のポート２６の接続端子（共通の端子部）と処理部２１に設けられているＬＥＤ制御用の端子群とが電気的に接続され、切り替えスイッチ５０がオフのときは主基板２５のポート２６の接続端子（共通の端子部）と処理部２１に設けられているデータ処理プログラムを書き換えるための信号が送受信される端子群とが接続されるようにしてもよい。
【００７８】
以上説明した実施形態３に係るＩ／Ｏユニット１２によると、実施形態２に示すように通信端子部２６Ａと表示端子部２３Ｂとを別々の端子部とする場合に比べて主基板２５のポート２６の接続端子の数を減らすことができるので、ＬＥＤ基板２３Ａのコネクタ２３Ｃやメンテナンス用のコネクタ４０を小さくすることができる。これにより開口２４Ｂをより小さくすることができるので、通信端子部２６Ａと表示端子部２３Ｂとを別々の端子部とする場合に比べ、Ｉ／Ｏユニット１２を小型化することができる。
【００７９】
＜他の実施形態＞
上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も技術的範囲に含まれる。
【００８０】
（１）上記実施形態２ではＬＥＤを点灯させる方式として直接点灯式を例に説明した。これに対し、前述したようにＬＥＤを点灯させる方式は走査式であってもよい。図８では８個のＬＥＤを４個ずつ二つの組に分け、組毎に４個のＬＥＤを１／４デューティで点灯させることによって時分割で点灯させる場合を示している。図８に示す例では各ＬＥＤを駆動する駆動線が８本、アース線が４本である。なお、ＬＥＤの数やアース線の数は適宜に決定することができる。
【００８１】
実施形態２の場合と同様に主基板２５のポート２６の接続端子の数を１８とした場合、図８に示す例でも６個の接続端子が余るので、それら６個の接続端子をメンテナンス用の接続端子として用いることができる。
【００８２】
（２）上記実施形態では処理部２１がＣＰＵ、ＥＥＰＲＯＭ、及び、ＲＡＭによって構成されている場合を例に説明した。これに対し、処理部２１はＦＰＧＡであってもよい。ＦＰＧＡを用いると、ＣＰＵを用いる場合に比べて処理をより高速に実行することができる。また、処理部２１はＣＰＬＤ（Ｃｏｍｐｌｅｘ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｄｅｖｉｃｅ）であってもよい。
【００８３】
（３）上記実施形態では、Ｉ／Ｏユニット１２の処理部２１は、Ｓ２０１において、外部の機器から入力されたデータＸ３ａ及びＸ３ｂを用いて演算を実行する場合を例に説明した。これに対し、処理部２１はバスコントロールユニット２０を介してＣＰＵユニット１１から受信したデータと入出力インタフェース部２２を介して外部の機器から入力されたデータとを処理し、入出力インタフェース部２２を介して外部の機器に処理結果を出力してもよい。
【００８４】
具体的には例えば、ＣＰＵユニット１１はＩ／Ｏユニット３０から受信したデータをＩ／Ｏユニット１２に送信し、Ｉ／Ｏユニット１２はＣＰＵユニット１１がＩ／Ｏユニット３０から受信したデータと入出力インタフェース部２２を介して外部の機器から入力されたデータとを処理してもよい。このようにすると、Ｉ／Ｏユニット１２は、ＣＰＵユニット１１がＩ／Ｏユニット３０から受信したデータを、外部の機器からＩ／Ｏユニット１２に入力されたデータの処理に反映することができる。これにより、Ｉ／Ｏユニット１２はＩ／Ｏユニット３０に接続されている外部の装置とＩ／Ｏユニット１２に接続されている外部の装置とを連携させて制御することができる。
【００８５】
このように、バスコントロールユニット２０を介してＣＰＵユニット１１から受信したデータと入出力インタフェース部２２を介して外部の機器から入力されたデータとを処理するようにすると、ＣＰＵユニット１１から受信したデータを処理できない場合に比べ、より多様な処理を実行することができる。
【００８６】
（４）上記実施形態ではＣＰＵユニット１１は演算処理（Ｓ１０１）においていずれのＩ／Ｏユニット３０についても同じ演算を実行する場合を例に説明した。これに対し、ＣＰＵユニット１１が行う演算はＩ／Ｏユニット３０ごとに異なるものであってもよい。
【００８７】
また、上記実施形態ではＩ／Ｏユニット１２はＳ２０１において演算処理（Ｓ１０１）で実行される演算に相当する演算を実行する場合を例に説明した。これに対し、Ｉ／Ｏユニット１２は演算処理（Ｓ１０１）で実行される演算とは異なる演算を行ってもよい。
【００８８】
（５）上記実施形態ではＩ／Ｏユニット１２に記憶されているデータ処理プログラムを書き換えるためにメンテナンス用のコネクタ４０を主基板２５のポート２６に接続する場合を例に説明した。これに対し、メンテナンス用のコネクタ４０はＩ／Ｏユニット１２から各種の情報を得るためなどの目的でポート２６に接続されてもよい。
【００８９】
（６）上記実施形態ではスタッキング型のプログラマブルロジックコントローラ１を例に説明した。これに対し、プログラマブルロジックコントローラはバックプレーン型であってもよい。バックプレーン型はバックプレーンと呼ばれる長板状の部材に制御バスを設け、ＣＰＵユニット１１やＩ／Ｏユニット１２をそれぞれバックプレーンに接続することによって連結するものである。
【００９０】
（７）上記実施形態２に記載した技術は、例えばＣＰＵユニット１１が書き換え可能なデータ処理手順に基づいてデータを処理する処理部や表示部を備えている場合には、ＣＰＵユニット１１に適用することもできる。また、ＣＰＵユニット１１から各種の情報を得るためなどの目的でメンテナンス用のコネクタをＣＰＵユニット１１に接続する場合には、ＣＰＵユニット１１に記憶されているデータ処理手順は書き換え可能でなくてもよい。すなわち、実施形態２に記載した技術は次のような発明として把握することもできる。
【００９１】
［請求項Ａ］
プログラマブルロジックコントローラを構成するユニットであって、
筐体と、
前記筐体に設けられている表示部と、
前記筐体内に設けられ、外部のコネクタが接続される通信端子部と、
を備え、
前記筐体の前記表示部が設けられている面に、前記外部のコネクタを前記通信端子部に接続するための開口が形成されている、ユニット。
【００９２】
一般に表示部は視認性を確保するために外部から見易い面に設けられる。このため表示部が設けられている面に開口を形成すると、ユーザは通信端子部にアクセスし易くなる。このため上記ユニットによると、表示部が設けられている面とは異なる面に開口を形成する場合に比べ、外部のコネクタを接続する作業を行い易くなる。なお、ここでいうユニットにはＣＰＵユニット１１もＩ／Ｏユニット１２も含まれる。
【００９３】
［請求項Ｂ］
請求項Ａに記載のユニットであって、
書き換え可能に記憶しているデータ処理手順に基づいてデータを処理する処理部を備え、
前記通信端子部は、前記データ処理手順を書き換えるための外部のコネクタが接続される、ユニット。
【００９４】
上記ユニットによると、処理部に記憶されているデータ処理手順を書き換えるための外部のコネクタを接続するための作業を行い易くなる。実施形態１に記載の第２のデータ処理手順はデータ処理手順の一例である。
【００９５】
［請求項Ｃ］
請求項Ａ又は請求項Ｂに記載のユニットであって、
前記表示部は、光源部と、前記筐体内に設けられ前記光源部が接続される表示端子部とを有し、前記光源部は前記筐体の外から前記開口を介して前記表示端子部に接続される、ユニット。
【００９６】
上記ユニットによると、外部のコネクタを通信端子部に接続するための開口と、光源部を表示端子部に接続するための開口とを共通化することができる。これにより、外部のコネクタを通信端子部に接続するための開口と光源部を表示端子部に接続するための開口とを別々に設ける場合に比べ、ユニットを小型化することができる。
【００９７】
［請求項Ｄ］
請求項Ｃに記載のユニットであって、
前記通信端子部と前記表示端子部とは共通の端子部として構成されており、
前記端子部を前記通信端子部として機能させるか又は前記表示端子部として機能させるかを切り替える切り替えスイッチを備える、入出力ユニット。
【００９８】
上記ユニットによると、通信端子部と表示端子部とを別々の端子部とする場合に比べて開口を小さくすることができるので、通信端子部と表示端子部とを別々の端子部とする場合に比べ、ユニットを小型化することができる。
【符号の説明】
【００９９】
１・・・プログラマブルロジックコントローラ、１０・・・電源ユニット、１１・・・ＣＰＵユニット、１２・・・Ｉ／Ｏユニット、２０・・・バスコントロールユニット、２０Ａ・・・通信回路、２０Ｂ・・・入力バッファ、２０Ｃ・・・出力バッファ、２１・・・処理部、２２・・・入出力インタフェース部、２２Ａ・・・入出力コネクタ、２２Ｂ・・・インタフェース回路、２３・・・表示部、２３Ａ・・・ＬＥＤ基板、２３Ｂ・・・表示端子部、２３Ｃ・・・コネクタ、２４・・・筐体、２４Ｂ・・・開口、２５・・・主基板、２６・・・ポート、２６Ａ・・・通信端子部、４０・・・メンテナンス用のコネクタ、５０・・・切り替えスイッチ
【図１】
2015135634.tif 000003
【図２】
2015135634.tif 000004
【図３】
2015135634.tif 000005
【図４】
2015135634.tif 000006
【図５】
2015135634.tif 000007
【図６】
2015135634.tif 000008
【図７】
2015135634.tif 000009
【図８】
2015135634.tif 000010