(57)【特許請求の範囲】
【請求項１】
ＣＰＵユニット及び該ＣＰＵユニットとＩ／Ｏバスで接続されたＩ／Ｏユニットを有するプログラマブルコントローラにおいて、
上記ＣＰＵユニットから何れかのＩ／Ｏユニットに対してアクセスがある場合、アクセス先のＩ／Ｏユニット固有の番号と、自局の番号とを比較し、自局番号以降のＩ／Ｏユニットに対するアクセスの際にはアクセス先のＩ／Ｏユニットの代わりにウェイト信号を出力し、アクセス先Ｉ／Ｏユニットから出力される第２のウェイト信号が上記ＣＰＵユニットに届くまでの所定時間上記ＣＰＵユニットの処理を停止させるバス延長ユニットを備えたことを特徴とするプログラマブルコントローラ。
【請求項２】
バス延長ユニットにおける自局の番号及びＩ／Ｏユニット固有の番号は、アドレス設定用スイッチに基づき、適宜変更可能であることを特徴とする請求項１に記載のプログラマブルコントローラ。
【請求項３】
バス延長ユニットにおいて、アクセス先Ｉ／Ｏユニットから出力される第２のウェイト信号がＣＰＵユニットに届くまでの所定時間経過後、上記ＣＰＵユニットに対する処理停止を解除することを特徴とする請求項１又は２に記載のプログラマブルコントローラ。
【請求項４】
バス延長ユニットを、ＣＰＵユニットにおけるＩ／Ｏ処理時間内に第２のウェイト信号を送ることができないＩ／Ｏユニットの直前に設けることを特徴とする請求項１〜３何れかに記載のプログラマブルコントローラ。
【請求項５】
バス延長ユニットは、バッファＩＣを有し、Ｉ／ＯバスをＣＰＵユニットからバス延長ユニットまでのＩ／Ｏバスと、バス延長ユニットより後段のＩ／Ｏバスとに電気的に分離することを特徴とする請求項１〜４何れかに記載のプログラマブルコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラマブルコントローラーに関し、特にＩ／ＯユニットがＣＰＵユニットから離れて、ケーブルによって接続され、ケーブル長を長くするためＣＰＵユニットに対して、ウェイト信号を入力することで、信号の遅延をリカバリーするプログラムコントローラに関する。
【０００２】
【従来の技術】
図８は、特開平１０−１８７２１３号公報に示された従来のプログラムコントローラの構成例を示すブロック図である。
図に示すように、所定のタイミングでラダープログラムに従って負荷（図示せず）に対する制御を行なうＣＰＵユニット１１と、Ｉ／Ｏバス１５を介してＣＰＵユニット１１と接続され外部とのデータ或いは信号の授受を行なうＩ／Ｏユニット１４と、ＣＰＵユニット１１及びＩ／Ｏユニット１４に電源を供給する電源ユニット１６と、ＣＰＵユニット１１、Ｉ／Ｏユニット１4及び電源ユニット１６が装着される基本ラック１０とから構成されており、ＣＰＵユニット１１にラダープログラムに従って負荷の制御を行なうＣＰＵ１２と、ＣＰＵ１２における制御動作のタイミングを制御するウェイト制御回路１３とが設けられている。
【０００３】
また、Ｉ／Ｏユニットを拡張するため、Ｉ／Ｏユニット２４１〜２４ｎをそれぞれ有する増設ラック２０１〜２０ｎが設けられており、基本ラック１０のＩ／Ｏバス１５と増設ラック２０１〜２０ｎのＩ／Ｏバスとが接続手段であるケーブル３０によって接続されている。
【０００４】
次に、このように構成されたプログラマブルコントローラの動作について説明する。
基本ラック１０内のＣＰＵ１２からＩ／Ｏユニット１４、２４１〜２４ｎに対してアクセスが行われた場合、ウェイト制御回路１３において、どのＩ／Ｏユニットに対してアクセスが行われているかが検出され、検出されたＩ／ＯユニットとＣＰＵユニット１１との間のバス及び接続手段の長さに対応したウェイト時間によるウェイト信号がＣＰＵ１２に対して出力される。
ウェイト制御回路１３からＣＰＵ１２にウェイト信号が送られると、ＣＰＵ１２において、送られてきたウェイト信号に従って、所定時間だけおくらされてラダープログラムによる負荷に対する制御が行われる。
【０００５】
【発明が解決しようとする課題】
従来のプログラマブルコントローラにおいては、予めケーブル距離に対するウェイト時間の設定をＣＰＵユニット内部で、例えば、パラメータ等により設定しているので、システム上でユニットの追加、及びＩ／Ｏユニットの設置場所の変更に伴うケーブル長の変更をする場合や、Ｉ／Ｏユニットの追加をする場合等に、ウェイト制御回路の設定値を変える必要があり、作業が煩わしいという課題があった。
【０００６】
また一般に、Ｉ／Ｏユニットを拡張する増設ラックと基本ラックがケーブルで接続されているため、ケーブルの分布容量がＩ／Ｏバスの信号に影響を与える。従って、システムのケーブル距離が長くなる程、ケーブルの分布容量が大きくなり、バス上の信号のＨレベルとＬレベルの電位の切り替り時に波形がなまることになる。
図９は、ケーブルの分布容量による信号波形のなまりを示した信号波形図であり、図に示すように波形がなまると、図に示されるごとく、ｔ１，ｔ２のようになまった分の信号の遅延が発生する。
波形のなまりについては、ＣＰＵに近いＩ／Ｏユニットも、遠いＩ／Ｏユニットも同様になまりが発生するため、ケーブルの総延長が長くなるほど、距離による信号伝達の遅延と比較して、信号のなまりによる遅延の割合が大きくなる。
そのため、別途信号のなまりによる遅延を考慮したウェイト信号、もしくは信号のなまり分の時間を遅らせるためのウェイト時間を設定しなければならず、Ｉ／Ｏ処理時間が長くなり、ＣＰＵユニットの処理速度が遅くなるといった課題があった。
【０００７】
本発明は、上述したような課題に鑑みてなされたものであって、ケーブルの分布容量による信号波形のなまりに左右されずＩ／Ｏユニットの処理時間を短縮すると共に、システムを変更する時に煩雑であった、ウェイト時間の設定についても、簡易に設定変更が可能となるプログラマブルコントローラを得ることである。
【０００８】
【課題を解決するための手段】
この発明にかかるＣＰＵユニット及び該ＣＰＵユニットとＩ／Ｏバスで接続されたＩ／Ｏユニットを有するプログラマブルコントローラは、ＣＰＵユニットから何れかのＩ／Ｏユニットに対してアクセスがある場合、アクセス先のＩ／Ｏユニット固有の番号と、自局の番号とを比較し、自局番号以降のＩ／Ｏユニットに対するアクセスの際にはアクセス先のＩ／Ｏユニットの代わりにウェイト信号を出力し、アクセス先Ｉ／Ｏユニットから出力される第２のウェイト信号が上記ＣＰＵユニットに届くまでの所定時間上記ＣＰＵユニットの処理を停止させるバス延長ユニットを備えたものである。
【０００９】
また、バス延長ユニットにおける自局の番号及びＩ／Ｏユニット固有の番号は、アドレス設定用スイッチに基づき、適宜変更可能である。
【００１０】
また、バス延長ユニットにおいて、アクセス先Ｉ／Ｏユニットから出力される第２のウェイト信号がＣＰＵユニットに届くまでの所定時間経過後、上記ＣＰＵユニットに対する処理停止を解除するものである。
【００１１】
また、バス延長ユニットを、ＣＰＵユニットにおけるＩ／Ｏ処理時間内に第２のウェイト信号を送ることができないＩ／Ｏユニットの直前に設けるものである。
【００１２】
さらに、バス延長ユニットは、バッファＩＣを有し、Ｉ／ＯバスをＣＰＵユニットからバス延長ユニットまでのＩ／Ｏバスと、バス延長ユニットより後段のＩ／Ｏバスとに電気的に分離するものである。
【００１３】
【発明の実施の形態】
実施の形態１．
図１は、本発明のプログラマブルコントローラの一実施の形態を示すブロック図である。
図において、１は所定のタイミングでシーケンスプログラムに従って負荷（図示せず）に対する制御を行うＣＰＵユニット、２はＩ／Ｏバス３を介してＣＰＵユニット１と接続され、外部とのデータの授受を行うＩ／Ｏユニット、３はアドレス信号・データ信号・ウェイト信号・ラッチ信号などから構成されるＩ／Ｏバス、４は各Ｉ／Ｏユニット２のアドレスを設定するためのアドレス設定用スイッチ、５は電源ユニットである。
【００１４】
Ｉ／Ｏユニット２は、プログラマブルコントローラシステムを構築する際に増設（拡張）が可能であり、説明の便宜上、図において、Ｉ／Ｏユニット２１〜２ｎとしたｎユニットとして説明する。
なお、２台目からのＩ／Ｏユニット２２〜２ｎは、増設ラック７にて接続手段であるケーブル８、８ａを介して接続されている。
アドレス設定用スイッチ４は、各Ｉ／Ｏユニット２に対応してｎ個設けられており、説明の便宜上、図において、アドレス設定用スイッチ４１〜４ｎとして説明する。
【００１５】
６はＣＰＵユニット１及びＩ／Ｏユニット２１、アドレス設定用スイッチ４１並びに電源ユニット５を装着する基本ラックである。
なお、本実施の形態においては、基本ラック６及び増設ラック７にＩ／Ｏユニットが１つずつ装着されている例を示すが、基本ラック６、増設ラック７に複数台のＩ／Ｏユニット２を装着することも可能であることは言うまでもない。
【００１６】
９はＣＰＵユニット１から距離の離れた増設ユニット７に実装しているＩ／Ｏユニット２に対するＣＰＵユニット１の処理を遅らせるためのウェイト信号を出力するためのバス延長ユニットである。
ここで、Ｉ／Ｏユニット２のアドレスはＣＰＵユニット１からバス延長ユニット９までに接続されているＩ／Ｏユニット２１〜２３と、バス延長ユニット９より後段に接続されているＩ／Ｏユニット２（ｎ−１）〜２ｎに分け、ＣＰＵユニット１に近いＩ／Ｏユニット２１〜２３はバス延長ユニット９のアドレスより小さい値を、バス延長ユニット９より後段Ｉ／Ｏユニット２（ｎ−１）〜２ｎはバス延長ユニット９より大きな値をアドレス設定用スイッチ４１〜４３、４（ｎ−１）、４ｎで各々設定する。
つまり、アドレス値の大小の比較により、Ｉ／Ｏユニット２の接続がバス延長ユニット９より、前段か後段か解るようにして設定する。
なお、バス延長ユニット９は、ＣＰＵユニット１のＩ／Ｏユニットへのアクセスに対し、ケーブル８による遅延時間を加えてもＣＰＵの定められたウェイト受付け可能な時間内に、Ｉ／Ｏユニットからウェイト信号が届く範囲の位置に設置する。つまり、バス延長ユニット９は、ＣＰＵユニット１のウェイト信号受付時間までにウェイト信号を届けることができないＩ／Ｏユニット２を備えた増設ラック７より前段に設置する。
【００１７】
バス延長ユニット９において、９１はバス延長ユニット自局の番号（アドレス）を設定するアドレス設定用スイッチであり、作業者がＣＰＵユニット１の規定するウェイト受付け可能な時間にウェイト信号が届くことができるＩ／Ｏユニットの最後段のアドレス番号より大きいアドレス番号を設定（ウェイト信号の駆動がどのＩ／Ｏユニットから必要であるかを設定）する。
９２はＣＰＵユニット１がどのＩ／ＯユニットのＩ／Ｏ処理を行うかを検知し、アドレス設定用スイッチ９１と検知したＩ／Ｏユニットのアドレス（各増設ラック７に装着されるＩ／Ｏユニット２に対応するアドレスであり、アドレス設定用スイッチ４により設定されている）を比較し、ウェイト信号が必要な距離のＩ／Ｏユニットの場合は、ウェイト信号１を出力するＩ／Ｏユニット検知回路である。
９３はＩ／Ｏユニット検知回路９２からのウェイト信号１と、ＣＰＵユニット１からアクセスされたＩ／ＯユニットがＣＰＵユニットの処理を待たせる時間のウェイト信号２をＯＲして、ウェイト信号３を出力するＯＲ回路（有意なレベルをＬレベルとしている）である。
９４はＣＰＵユニットからバス延長ユニットまでのＩ／Ｏバスと、バス延長ユニットより後段のＩ／Ｏバスとに電気的に分離を行うバッファＩＣ、９５はセレクト信号に基づきアドレス信号／データ信号におけるデータを切り換えるマルチプレクサである。
【００１８】
図２は、本実施の形態におけるＩ／Ｏユニット検知回路の内部構成を示したブロック図である。
図において、９２１は、Ｉ／Ｏバスの中のアドレス信号とラッチ信号を使用し、ＣＰＵユニット１がどのＩ／Ｏユニットにアクセスしているかをラッチするラッチ回路、９２２はラッチされた際のアドレス信号上のアドレスとアドレス設定スイッチ９１の値を比較し、アドレスがアドレス設定スイッチ９１の値より大きければ、バス延長ユニット９より後段のＩ／Ｏユニットであることの判定を行い、後段の場合Ｌレベルの信号を出力する比較回路、９２３は比較回路９２２からの信号がＬレベルとなった時間から動作を開始し、所定時間Ｔ１経過後にタイマー信号をＨレベルに出力するタイマー、９２４は比較回路９２２及びタイマー９２３からの信号をＡＮＤするＡＮＤ回路（有意なレベルをＬレベルとしている）である。
【００１９】
図３は、ウェイト信号に伴いＣＰＵユニットのＩ／Ｏ処理時間が延長される様子を示したタイミングチャートである。なお、ウェイト信号の有意なレベルをＬレベルとしている。
一般に、ＣＰＵユニット１は、所定のタイミングでＩ／Ｏ処理を行い、Ｉ／Ｏユニット２等を制御（アクセス）している。
ここで、ＣＰＵユニット１のＩ／Ｏ処理を行うタイミング内に、Ｉ／Ｏユニット２内部の処理等により、Ｉ／Ｏユニット２からの応答が完了しない場合が発生する。
そのような場合、ＣＰＵユニット１は、次の処理に進むまでの所定時間（ウェイト信号を受付け可能な時間）が設定されており、このウェイト信号受付け可能な時間内にＩ／Ｏユニット２からウェイト信号が入力されないと、ＣＰＵユニット１は他のＩ／Ｏユニット等に対する処理を継続（例えば、今回アクセスしているＩ／Ｏユニット２に対する処理を飛ばし、次のＩ／Ｏユニット２に対する制御を行う）し、このウェイト信号受付け可能な時間内にＩ／Ｏユニット２からウェイト信号が入力されると、Ｉ／Ｏ処理時間が延長される。（図３参照）
【００２０】
図４は、本実施の形態におけるバス延長ユニットによりＣＰＵユニットのＩ／Ｏ処理時間が延長される様子を示したタイミングチャートである。なお、ウェイト信号の有意なレベルをＬレベルとしている。
基本ラック６内のＣＰＵユニット１からＩ／Ｏユニット２に対してアクセスが行われると、バス延長ユニット９において、ＣＰＵユニット１からのアクセスがバス延長ユニット９より後段のＩ／Ｏユニットか、前段のＩ／Ｏユニットかの判定を行う。
判定の結果、ＣＰＵユニット１からのアクセスがバス延長ユニット９より後段のＩ／Ｏユニットに対する場合は、バス延長ユニット９よりウェイト信号１が出力され、後段のＩ／Ｏユニットに先立ってＣＰＵユニット１に対するウェイトが実行される。
一方、判定の結果、ＣＰＵユニット１からのアクセスがバス延長ユニット９より前段のＩ／Ｏユニットに対する場合は、バス延長ユニット９の処理は必要なく、バス延長ユニット９よりウェイト信号は出力されない。
しかし、ＣＰＵユニット１のウェイト信号受付け可能な時間内に前段のＩ／Ｏユニットから必要に応じてウェイト信号が出力され、前段のＩ／Ｏユニットに対するウェイトが実行される。
【００２１】
具体的には、アクセス先のＩ／Ｏユニットの判定は、Ｉ／Ｏバスの中のラッチ信号に基づきラッチ回路９２１がアドレス信号上に存在するアドレスデータラッチすることにより取り込み、比較回路９２２にて、該取り込んだアドレスデータとバス延長ユニット９内部に予め設定されているアドレス設定用スイッチ９１内のアドレスデータとの大小を比較する。
つまり、ラッチ回路９２１にて取込んだアドレスデータの方が大きい場合には、ＣＰＵユニット１からのアクセスは、バス延長ユニット９が設置されている位置より後段のＩ／Ｏユニットに対するものと判断できるので、比較回路９２２よりＬレベルの信号がタイマー９２３及びＡＮＤ回路９２４に対して出力される。
【００２２】
タイマー９２３は、Ｌレベルの信号が入力されると同時にＡＮＤ回路９２４に対してＬレベルの出力を行い、所定時間Ｔ１経過後にＡＮＤ回路９２４に対する信号レベルをＨレベルとする。
その結果、ＡＮＤ回路９２４すなわちＩ／Ｏユニット検知回路９２からは、ウェイト信号１がＯＲ回路９３に出力され、所定時間Ｔ１経過後にウェイト信号１の出力が停止する。
なお、ラッチ回路９２１はウェイト信号２が入力されるとクリアされて値が「０」となり、比較回路９２２にてアドレス設定用スイッチ９１の値より小さくなり、ウェイト信号１がＨレベルとなる。
【００２３】
そして、ＣＰＵユニット１からバス延長ユニット９より後段のＩ／Ｏユニットに対するアクセスの場合、後段のＩ／Ｏユニットから必要に応じて出力されるウェイト信号２が所定時間Ｔ１以内にＯＲ回路９３に入力されることにより、所定時間Ｔ１経過に伴いウェイト信号１の出力が停止した後も、ＣＰＵユニット１に対するウェイトが継続され、ＣＰＵユニット１はＩ／Ｏユニットの処理時間に合わせるため、ウェイト信号の駆動終了までプログラムの処理を行わない。
その後、ウェイト信号２は、Ｉ／Ｏユニット２の処理が終了した時点でＨレベルとなり、ウェイト信号３もＨレベルとなるので、ＣＰＵユニット１に対するウェイト信号を駆動するのを止める。
ＣＰＵユニット１はウェイト信号の駆動が終了した時点で、プログラムの処理を再開する。
【００２４】
次に、本実施の形態においてタイマー９２３を設け、所定時間Ｔ１をカウントする動作について、図５を用いて説明する。
一般に、プログラマブルコントローラは必ずしもＣＰＵユニット１のＩ／Ｏユニット最大接続数通りにＩ／Ｏユニット２が接続されているわけではなく、Ｉ／Ｏユニット最大接続数より、少なく接続されている場合が多々ある。
そのような最大接続数未満のＩ／Ｏユニット２がＣＰＵユニット１に接続されている場合でも、接続されていないＩ／Ｏユニット２に対してもアドレスが発生（最大接続数分のアドレスが発生）する。
そして、ＣＰＵユニット１は、Ｉ／Ｏユニット２が接続されていないアドレスに対してはアクセスをせず、処理時間を短くしている。
【００２５】
このＩ／Ｏユニット２が接続されていないアドレスにＣＰＵユニット１がアクセスしないようにするため、接続されていないアドレスをユーザがソフトウェア（パラメータ）に設定し、ＣＰＵにあらかじめ空きアドレスを認識させるか、もしくは、電源投入時に全てのＩ／Ｏユニットに対してアクセスし、存在を確認してパラメータに自動的に設定する必要があった。
【００２６】
本実施の形態におけるバス延長ユニット９を用いて、接続されていないアドレスをソフトウェア（パラメータ）に設定する作業を省略したい場合は、ＣＰＵユニット１は、Ｉ／Ｏユニット２が接続されていないアドレスを認識するために、電源投入後、アドレスとＩ／Ｏユニット２の接続状態を調べるべく全アドレスをアクセスする。
【００２７】
バス延長ユニット９をＩ／Ｏバスのケーブル８、８ａの途中に接続することにより、バス延長ユニット９より後段でＩ／Ｏユニット２が接続されていないアドレスにＣＰＵユニット１からアクセスされた場合、バス延長ユニット９からはウェイト信号１が出力され、ＣＰＵユニット１に対するウェイト信号としてＣＰＵユニット１のウェイトを実行させる。
ここで、ウェイト信号２を出力するＩ／Ｏユニット２が不在となるため、ウェイト信号２がＬレベルのままでＨレベルにならない。（図５参照）
そこで、ウェイト信号１が出力された後、所定時間Ｔ１が経過しても後段からウェイト信号２が入力されない場合は、Ｉ／Ｏユニット２が接続されていないと判断し、タイマー９２３がＨレベルの信号を出力することにより、ウェイト信号１が解除され、ＣＰＵユニット１の処理が再開される。
【００２８】
なお、所定時間Ｔ１経過後に、ＣＰＵユニット１に対するウェイト信号をＨレベルにするのは、アクセスされたＩ／Ｏユニット２が処理終了時にウェイト信号を解除する構成のプログラマブルコントローラにおいて、ＣＰＵユニット１の特性として、ウェイト信号にＬレベルが入力され、一定時間が過ぎてもＨレベルにならない場合、ウェイト信号を解除できず、ウェイト信号がＬレベルのままでエラーが発生したとして処理をストップしてしまうからである。
所定時間Ｔ１は最後段のＩ／Ｏユニット２が充分ウェイト時間２を入力できる時間をあらかじめ設定しておく。
この時間Ｔ１はプログラマブルコントローラシステムのケーブル長さの制限より算出され、タイマーカウント値Ｎとして固定値を設定する。
【００２９】
なお、この際、バス延長ユニット９より空きアドレスであることを知らせるため決められたデータ、例えば８ビットバスの場合は、電源投入後のアクセスでＣＰＵユニットにＦＦｈのデータが入力された場合はアクセスしたアドレスにはＩ／Ｏユニット２が接続されていないと定義する。
ＣＰＵユニット１とバス延長ユニット９までのＩ／Ｏバスでは、ＣＰＵユニット１からアクセスされたアドレスにＩ／Ｏユニット２が接続されていない場合、Ｉ／Ｏバスのデータバスを抵抗によりプルアップしておけば、どのＩ／Ｏユニット２もＩ／Ｏバスをドライブしないので、データバスが全てＨレベルとなり、データがＦＦｈとなる。
一方、バス延長ユニット９から後段のI／Ｏバスでは、長いケーブル８、８ａに伴うケーブルの分布容量により、プルアップ抵抗でデータバスをＦＦｈにするには時間を要する。
そこで、バス延長ユニットの内部にＦＦｈデータを保持しておき、マルチプレクサ９５により通常は後段からのデータを出力するが、タイマーカウント値がＮになった場合はＦＦｈのデータをＩ／Ｏバスのデータ信号に出力することにより、ＣＰＵユニット１はアクセスしたアドレスにＩ／Ｏユニット２が接続されているかいないかを認識することができる。（図６参照）
【００３０】
つまり、バス延長ユニット９を設けることにより、ＣＰＵユニット１から存在しないＩ／Ｏユニット２にアクセスされた場合、所定時間Ｔ１経過後には、該アドレスにはＩ／Ｏユニット２が存在しないことをＣＰＵユニット１に対して認識させることができ、Ｉ／Ｏユニット２が接続されていないアドレスのＣＰＵユニット１に対する設定を不要にでき、初期設定時の作業を軽減できる。
また、バス延長ユニット９を設けることにより、ケーブル８の距離に応じたウェイト時間を設定するのではないので、例えばＩ／Ｏユニット２が存在しないアドレスからも所定時間Ｔ１経過後に応答が帰り、システム全体の初期設定時に要するオーバヘッド時間を短縮できる。
なお、従来通り空きアドレスの設定は、従来と同様にユーザによるソフトウェア（パラメータ）設定、或いは、電源投入時の自動設定は、ユーザが選択できるものである。
【００３１】
次に、Ｉ／Ｏユニット２の設置場所の変更に伴うケーブル長の変更や、Ｉ／Ｏユニット２の追加時のアドレス設定スイッチのアドレス設定値について図７を用いて説明する。
従来技術の項目で説明したＩ／Ｏバスのケーブル距離によりウェイト設定時間をＣＰＵユニットのウェイト制御回路に設定する場合では、Ｉ／Ｏユニット２の設置場所の変更に伴うケーブル長の変更並びにＩ／Ｏユニット２の追加等の際に、ウェイト制御回路に予め格納されているウェイト時間の設定を変更しなければならなかった。
本実施の形態では、Ｉ／Ｏユニット２のアドレスを、バス延長ユニット９よりＣＰＵユニット側かバス延長ユニットより後段かを判断し、ＣＰＵユニット側ならバス延長ユニットのアドレスより小さい値を、バス延長ユニットより後段ならバス延長ユニットのアドレスより大きい値を、他のユニットと重ならない番号をアドレス設定用スイッチ４で設定するだけである。
【００３２】
また、アドレスを示す値により比較する上述の一例とは別例として、増設ラックにＩ／Ｏユニットが複数台接続された場合は、増設ラックを段数で示し、増設ラック内のＩ／Ｏユニットをユニット番号で示すこととし、Ｉ／Ｏユニットに段数スイッチとユニット番号スイッチの２種類のスイッチを持った場合、バス延長ユニットと増設ラックの接続位置関係は段数設定だけで判断できることになり、バス延長ユニットは段数設定のスイッチを実装するだけとなる。
【００３３】
つまり、Ｉ／Ｏユニット２の設置場所の変更に伴うケーブル長の変更や、Ｉ／Ｏユニット２の追加等の場合、従来はウェイト制御回路の設定値を変える煩雑な作業が必要であったが、本実施の形態では、スイッチの設定番号の変更だけで、Ｉ／Ｏユニット２の設置場所の変更に伴うケーブル長の変更や、Ｉ／Ｏユニット２の追加等に容易に対処できる。
換言すれば、従来例では工事を行う場合に、必ずシーケンサープログラムの変更を行える作業者が必要であるが、本実施の形態では、シーケンサープログラムの変更を行う必要がないため、工事作業者のみで工事が行え、工事費用も削減できる。
【００３４】
また、バッファＩＣ９４を挿入することでケーブルを８及び８ａと電気的に分離してＩ／Ｏバスを分け、ＣＰＵユニット１に近いＩ／Ｏユニット２はケーブル８による分布容量を小さくし、信号の波形なまりによる遅延時間を小さくすることでＩ／Ｏユニット２の処理時間を短縮するとともに、バッファＩＣ９４を介在した後段のＩ／Ｏバスにおいては、遅延時間が大きくとも影響が少ない、例えば表示器等のＩ／Ｏユニット２をケーブル距離を長く伸ばして動作可能とする。
ここで、バス延長ユニット９の取付け位置については、ＣＰＵユニット１におけるＩ／Ｏ処理時間内に第２のウェイト信号を送ることができないＩ／Ｏユニット２の直前に設けることにより、遅延時間の少ないＩ／Ｏバスであるケーブル８に接続されるＩ／Ｏユニットが多くなり、プログラマブルコントローラ全体の処理時間を短くするための効果がより大きくなる。
【００３５】
また、バス延長ユニットを多段に設けることにより、ケーブルをさらに伸ばした場合にも適用できる。
この場合、第１段目のバス延長ユニットは、ウェイト信号受付け可能時間内にＣＰＵユニット１にウェイト信号を送ることができない上述した位置に設け、第２段目のバス延長ユニットは、第１段目のバス延長ユニットのウェイト信号１の出力期間内にウェイト信号２として第２段目のバス延長ユニットからのウェイト信号を入力できる位置に設ければよい。
【００３６】
【発明の効果】
本発明によれば、バス延長ユニットが一時的にウェイト信号を駆動し、離れたＩ／Ｏユニットのウェイト信号が届くまでＣＰＵユニットを待たせることにより、距離がはなれたＩ／Ｏユニットのみウェイトを伸ばすことができる。
【００３７】
また、Ｉ／Ｏユニットの設置場所の変更に伴うケーブル長の変更や、Ｉ／Ｏユニットの追加時に必要なウェイト制御回路の設定値を変える煩雑な作業をスイッチの設定番号の変更だけとなり容易である。
【００３８】
さらに、バス延長ユニットより後段において、Ｉ／Ｏユニットが接続されていないアドレスをあらかじめＣＰＵユニットに設定する必要がない。
【００３９】
またＩ／Ｏバスを、ＣＰＵユニットとバス延長ユニットまでのＩ／Ｏバスと、バス延長ユニットから後段のＩ／ＯバスにバッファＩＣにより分けることにより、ＣＰＵユニットに近い位置にいるＩ／Ｏユニットについては、ケーブル長が短くなり、ケーブルの分布容量による信号のなまりを減らすことができ、処理時間を短くできる。
【図面の簡単な説明】
【図１】  本発明のプログラマブルコントローラ一形態を示すブロック図である。
【図２】  Ｉ／Ｏユニット検知回路の内部構成を示したブロック図である。
【図３】  ウェイト信号に伴いＣＰＵユニットのＩ／Ｏ処理時間が延長される様子を示したタイミングチャートである。
【図４】  バス延長ユニットにおけるウェイト信号に伴いＣＰＵユニットのＩ／Ｏ処理時間が延長される様子を示したタイミングチャートである。
【図５】  空きスロットアクセス時のバス延長ユニットのウェイト信号のタイミングチャートである。
【図６】  マルチプレクサ回路の構成を示した構成図である。
【図７】  本実施の形態におけるアドレス設定例を示した図である。
【図８】  従来のプログラマブルコントローラの一形態を示すブロック図である。
【図９】  ケーブルの分布容量による信号波形のなまりを示した波形図である。
【符号の説明】
１  ＣＰＵユニット、２  Ｉ／Ｏユニット、３  Ｉ／Ｏバス、４  アドレス設定用スイッチ、５  電源ユニット、６  基本ラック、７  増設ラック、８、８ａケーブル、９  バス延長ユニット、９１アドレス設定用スイッチ、９２  Ｉ／Ｏユニット検出回路、９３  ＯＲ回路、９４  バッファＩＣ、９２１  ラッチ回路、９２２  比較回路、９２３  タイマー、９２４  ＡＮＤ回路。
【図１】
0003636003.tif 000002
【図２】
0003636003.tif 000003
【図３】
0003636003.tif 000004
【図４】
0003636003.tif 000005
【図５】
0003636003.tif 000006
【図６】
0003636003.tif 000007
【図７】
0003636003.tif 000008
【図８】
0003636003.tif 000009
【図９】
0003636003.tif 000010