JP2016081389A - プログラマブル・ロジック・コントローラおよびバス変換ユニット - Google Patents
プログラマブル・ロジック・コントローラおよびバス変換ユニット Download PDFInfo
- Publication number
- JP2016081389A JP2016081389A JP2014213958A JP2014213958A JP2016081389A JP 2016081389 A JP2016081389 A JP 2016081389A JP 2014213958 A JP2014213958 A JP 2014213958A JP 2014213958 A JP2014213958 A JP 2014213958A JP 2016081389 A JP2016081389 A JP 2016081389A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- bus
- extension
- basic
- expansion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
【課題】PLCにおいて特性の異なるバスを備えた基本ユニットと拡張ユニットであっても接続可能とすること。【解決手段】PLC2は、基本ユニット3の機能を拡張するための第1拡張ユニット4aおよび第2拡張ユニット4bと、ユーザプログラム上で第1拡張ユニット4aの内部処理に関して割り付けられるデバイスの情報を基本ユニット3と第1拡張ユニット4aの間で通信するための第1バス(例:B1またはB3)と、第1バスと特性が異なるとともに、ユーザプログラム上で第2拡張ユニット4bの内部処理に関して割り付けられるデバイスの情報を基本ユニット3と第2拡張ユニット4bの間で通信するための第2バスB2と、第1バスの通信信号と第2バスの通信信号とを相互に変換するバス変換ユニット(例:連結ユニット15)とを有している。基本ユニット3は、第1バス、バス変換ユニットおよび第2バスを介して第2拡張ユニットと通信する。【選択図】図9
Description
本発明は、プログラマブル・ロジック・コントローラおよびバス変換ユニットに関する。
プログラマブル・ロジック・コントローラ(PLC)では基本ユニットに対して複数の拡張ユニットが接続されることがある(特許文献1)。基本ユニットに対して複数の拡張ユニットが接続されるPLCシステムはビルディングタイプと呼ばれる。ビルディングタイプは、さらに金属製のベース上で基本ユニットと複数の拡張ユニットが連結されるベースタイプと、ベースを用いずに基本ユニットと複数の拡張ユニットが相互に連結されるベースレスタイプとに分かれている。ベースタイプではベース上に設けられたバスを介して基本ユニットと複数の拡張ユニットが通信する。一般にベースレスタイプでは基本ユニットと拡張ユニットとの連結面(側面)にそれぞれ設けられた雌雄のコネクタを介してバスが接続され、当該バスを介して基本ユニットと拡張ユニットが通信する。このようにベースレスタイプはベースが不要であるため、省スペース化の点では有利である。
PLCは高速性や応答性が求められるため、バスの高速化も要求される。高速なバスに対応した基本ユニットと拡張ユニットを用いれば、従来の低速なバスに対応した基本ユニットと拡張ユニットとを含むPLCと比較して、高速性や応答性が改善される。ところで、ユーザによっては、既存の資産をできるだけ活用したいという要望がある。たとえば、新規の高速な基本ユニットを購入し、従前の低速なバスを備えた拡張ユニットを制御できれば、既存の資産を有効活用できるであろう。しかし、高速なバスと低速なバスとでは、信号線の数やコネクタの形状だけでなく、通信のプロトコルなどについても互換性がないことが多い。よって、新規で高速なバスを備えた基本ユニットに対して従来の低速なバスを備えた拡張ユニットを接続できないという課題があった。
そこで、本発明は、特性の異なるバスを備えた基本ユニットと拡張ユニットであっても接続可能とすることを目的とする。
本発明は、たとえば、
ユーザプログラムを周期的に繰り返し実行する基本ユニットと、
前記基本ユニットの機能を拡張するための第1拡張ユニットおよび第2拡張ユニットと、
前記ユーザプログラム上で前記第1拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第1拡張ユニットの間で通信するための第1バスと、
前記第1バスと特性が異なるとともに、前記ユーザプログラム上で前記第2拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第2拡張ユニットの間で通信するための第2バスと、
前記第1バスの通信信号と前記第2バスの通信信号とを相互に変換するバス変換ユニットと
を有し、
前記基本ユニットは、前記第1バス、前記バス変換ユニットおよび前記第2バスを介して前記第2拡張ユニットと通信することを特徴とするプログラマブル・ロジック・コントローラを提供する。
ユーザプログラムを周期的に繰り返し実行する基本ユニットと、
前記基本ユニットの機能を拡張するための第1拡張ユニットおよび第2拡張ユニットと、
前記ユーザプログラム上で前記第1拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第1拡張ユニットの間で通信するための第1バスと、
前記第1バスと特性が異なるとともに、前記ユーザプログラム上で前記第2拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第2拡張ユニットの間で通信するための第2バスと、
前記第1バスの通信信号と前記第2バスの通信信号とを相互に変換するバス変換ユニットと
を有し、
前記基本ユニットは、前記第1バス、前記バス変換ユニットおよび前記第2バスを介して前記第2拡張ユニットと通信することを特徴とするプログラマブル・ロジック・コントローラを提供する。
本発明によれば、バス変換ユニットを採用することで特性の異なるバスを備えた基本ユニットと拡張ユニットを接続できるようになる。
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
はじめにプログラマブル・ロジック・コントローラ(PLC、単にプログラマブルコントローラと呼ばれてもよい)を当業者にとってよりよく理解できるようにするために、一般的なPLCの構成とその動作について説明する。
図1は、本発明の実施の形態によるプログラマブル・ロジック・コントローラシステムの一構成例を示す概念図である。図1に示すように、このシステムは、ラダープログラムなどのユーザプログラムの編集を行うためのプログラム作成支援装置1と、工場等に設置される各種制御装置を統括的に制御するためのPLC(プログラマブル・ロジック・コントローラ)2とを備えている。PLC2は、CPUが内蔵された基本ユニット3と1つないし複数の拡張ユニット4を備えている。複数の拡張ユニット4はそれぞれ基本ユニット3の機能を拡張するユニットである。基本ユニット3に対して1つないし複数の拡張ユニット4が着脱可能となっている。基本ユニット3はCPUユニットと呼ばれることもある。
基本ユニット3には、表示部5及び操作部6が備えられている。表示部5には、基本ユニット3に取り付けられている各拡張ユニット4の動作状況などを表示することができ、表示部5の表示内容は、操作部6を操作することにより切り替えることができる。表示部5には、通常、PLC2内のデバイスの現在値(デバイス値)やPLC2内で生じたエラー情報などが表示される。なお、デバイスとは、デバイス値を格納するために設けられたメモリ上の領域を指す名称である。デバイス値とは、入力機器からの入力状態、出力機器への出力状態およびユーザプログラム上で設定される内部リレー(補助リレー)、タイマー、カウンタ、データメモリ等の状態を示す情報である。
拡張ユニット4は、PLC2の機能を拡張するために用意されており、基本ユニット3に対して側方から取り付けられる。1つ目の拡張ユニット4は、基本ユニット3に対して側方から直接的に取り付けられる。2つ目以降の拡張ユニット4は、既に取り付けられている拡張ユニット4に対して、側方から直列的に取り付けられる。たとえば、基本ユニット3の右側面と拡張ユニット4の左側面とが連結面になっている。同様に、1つ目の拡張ユニット4の右側面の形状等は基本ユニット3の右側面とほぼ同じであるため、1つ目の拡張ユニット4の右側面に2つ目の拡張ユニット4の左側面が連結される。このような連結方式は、数珠つなぎ方式とかデイジーチェーン方式と呼ばれてもよい。各連結面にはコネクタが設けられており、通信や電力供給を行うためのバスもコネクタを介して連結される。このようにして、基本ユニット3と複数の拡張ユニット4が直列的に取り付けられると、各拡張ユニット4内に備えられた配線(例:バス)を介して、各拡張ユニット4が基本ユニット3に対して通信可能に接続される。各拡張ユニット4には、その拡張ユニット4の機能に対応する被制御装置16(図4)が接続され、これにより、各被制御装置16が拡張ユニット4を介して基本ユニット3に接続される。被制御装置16には、センサなどの入力装置や、アクチュエータなどの出力装置が含まれる。
プログラム作成支援装置1は、たとえば、携帯可能ないわゆるノートタイプやタブレットタイプのパーソナルコンピュータであって、表示部7及び操作部8が備えられている。PLC2を制御するためのユーザプログラムの一例であるラダープログラムは、プログラム作成支援装置1を用いて作成され、その作成されたラダープログラムは、プログラム作成支援装置1内でニモニックコードに変換される。そして、プログラム作成支援装置1を、USB(Universal Serial Bus)などの通信ケーブル9を介してPLC2の基本ユニット3に接続し、ニモニックコードに変換されたラダープログラムをプログラム作成支援装置1から基本ユニット3に送ると、そのラダープログラムが基本ユニット3内でマシンコードに変換され、基本ユニット3に備えられたメモリ内に記憶される。
なお、図1では示していないが、プログラム作成支援装置1の操作部8には、プログラム作成支援装置1に接続されたマウスなどのポインティングデバイスが含まれていてもよい。また、プログラム作成支援装置1は、USB以外の他の通信ケーブル9を介して、PLC2の基本ユニット3に対して着脱可能に接続されるような構成であってもよい。
図2は、ラダープログラムの作成時にプログラム作成支援装置1の表示部7に表示されるラダー図17の一例を示す図である。図2に示すように、PLC2を制御するためのラダープログラムは、プログラム作成支援装置1の表示部7にマトリックス状に表示される複数のセル18内に仮想デバイスのシンボル19を適宜配置して、視覚的なリレー回路を表すラダー図17を構築することにより作成される。
ラダー図17には、たとえば、10列×N行(Nは任意の自然数)のセル18が配置されている。そして、各行のセル18内に、図2に示す左側から右側に向かって、時系列的に仮想デバイスのシンボル19を適宜配置することにより、視覚的なリレー回路を作成することができる。作成されるリレー回路は、1行で表される直列的なリレー回路であってもよいし、複数行に並列的に表されたリレー回路を互いに結合することにより作成された、並列的なリレー回路であってもよい。
図2に示すリレー回路は、入力装置からの入力信号に基づいてオン/オフされる3つの仮想デバイス(以下、「入力デバイス」と呼ぶ。)のシンボル19a,19b,19cと、出力装置の動作を制御するためにオン/オフされる仮想デバイス(以下、「出力デバイス」と呼ぶ。)のシンボル19dとが適宜結合されることにより構成されている。
各入力デバイスのシンボル19a,19b,19cの上方に表示されている文字(「R0001」、「R0002」及び「R0003」)は、その入力デバイスのデバイス名(アドレス名)21を表している。各入力デバイスのシンボル19a,19b,19cの下方に表示されている文字(「フラグ1」、「フラグ2」及び「フラグ3」)は、その入力デバイスに対応付けられたデバイスコメント22を表している。出力デバイスのシンボル19dの上方に表示されている文字(「原点復帰」)は、その出力デバイスの機能を表す文字列からなるラベル23である。
図2に示す例では、デバイス名「R0001」及び「R0002」にそれぞれ対応する2つの入力デバイスのシンボル19a,19bが直列的に結合されることにより、AND回路が構成されている。また、これらの2つの入力デバイスのシンボル19a,19bからなるAND回路に対して、デバイス名「R0003」に対応する入力デバイスのシンボル19cが並列的に結合されることにより、OR回路が構成されている。すなわち、このリレー回路では、2つのシンボル19a,19bに対応する入力デバイスがいずれもオンした場合、又は、シンボル19cに対応する入力デバイスがオンした場合にのみ、シンボル19dに対応する出力デバイスがオンされるようになっている。
図3は、図1のプログラム作成支援装置1の電気的構成について説明するためのブロック図である。図3に示すように、プログラム作成支援装置1には、CPU24、表示部7、操作部8、メモリ25及び通信部26が備えられている。表示部7、操作部8、メモリ25及び通信部26は、それぞれCPU24に対して電気的に接続されている。メモリ25は、少なくともRAMを含む構成であり、ラダープログラム記憶部25aと、編集ソフト記憶部25bとを備えている。
ユーザは、編集ソフト記憶部25bに記憶されている編集ソフトをCPU24に実行させて、操作部8を通じてラダープログラムを編集する。ここで、ラダープログラムの編集には、ラダープログラムの作成及び変更が含まれる。編集ソフトを用いて作成されたラダープログラムは、ラダープログラム記憶部25aに記憶される。また、ユーザは、必要に応じてラダープログラム記憶部25aに記憶されているラダープログラムを読み出し、そのラダープログラムを、編集ソフトを用いて変更することができる。通信部26は、通信ケーブル9を介してプログラム作成支援装置1を基本ユニット3に通信可能に接続するためのものである。
図4は、PLC2の電気的構成について説明するためのブロック図である。図4に示すように、基本ユニット3には、CPU10、表示部5、操作部6、メモリ12及び通信部14が備えられている。表示部5、操作部6、メモリ12、及び通信部14は、それぞれCPU10に電気的に接続されている。
メモリ12は、RAMやROM、メモリカードなどを含んでもよく、ラダープログラムなどが記憶される。メモリ12には、プログラム作成支援装置1から入力されたラダープログラムやユーザデータが上書きして記憶される。
メモリ12は、RAMやROM、メモリカードなどを含んでもよく、ラダープログラムなどが記憶される。メモリ12には、プログラム作成支援装置1から入力されたラダープログラムやユーザデータが上書きして記憶される。
図5は、本発明の実施の形態に係るプログラマブルコントローラの基本ユニット3でのスキャンタイムの構成を示す模式図である。図5が示すように1つのスキャンタイムTは、入出力のリフレッシュを行うためのユニット間通信201、プログラム実行202、END処理204により構成されている。ユニット間通信201で、基本ユニット3は、ラダープログラムを実行して得られた出力データを基本ユニット3内のメモリ12から外部機器などに送信するとともに、受信データを含めた入力データを基本ユニット3内のメモリ12に取り込む。プログラム実行202で、基本ユニット3は、更新された入力データを用いてプログラムを実行(演算)する。基本ユニット3はプログラムの実行によりデータを演算処理する。なお、END処理とは、プログラム作成支援装置1や基本ユニット3に接続された表示器(図示せず)等の外部機器とのデータ通信、システムのエラーチェック等の周辺サービスに関する処理全般を意味する。
このように、プログラム作成支援装置1はユーザの操作に応じたラダープログラムを作成し、作成したラダープログラムをPLC2に転送する。PLC2は、入出力リフレッシュ、ラダープログラムの実行およびEND処理を1サイクル(1スキャン)として、このサイクルを周期的、すなわちサイクリックに繰り返し実行する。これにより、各種入力機器(センサ等)からのタイミング信号に基づいて、各種出力機器(モータ等)を制御する。よって、PLC2は汎用のパーソナルコンピュータ(PC)とは全く異なる動きをする。
<連結構造>
図6(A)はPLC2を構成する基本ユニット3、拡張ユニット4およびエンドユニット11が連結される前の状態を示している。この例では、基本ユニット3の右方向に1つ以上の拡張ユニット4が連結される。最も右に位置する拡張ユニット4にはエンドユニット11が連結される。エンドユニット11は、最も右に位置する拡張ユニット4の右側面を保護するものであり、バスの終端機能を備えていてもよい。
図6(A)はPLC2を構成する基本ユニット3、拡張ユニット4およびエンドユニット11が連結される前の状態を示している。この例では、基本ユニット3の右方向に1つ以上の拡張ユニット4が連結される。最も右に位置する拡張ユニット4にはエンドユニット11が連結される。エンドユニット11は、最も右に位置する拡張ユニット4の右側面を保護するものであり、バスの終端機能を備えていてもよい。
図6(B)はPLC2を構成する基本ユニット3、拡張ユニット4およびエンドユニット11が連結された状態を示している。このPLC2はベースレスのビルディングタイプであるため、ベースを使用せずに、基本ユニット3、拡張ユニット4およびエンドユニット11が連結される。工場において制御盤に設置しやすくするために、PLC2の背面にはDINレールなどの基準レール13が取り付けられるようになっている。なお、基本ユニット3および拡張ユニット4の連結状態を維持するためにロック機構が採用されてもよい。
図7、図8(A)および図8(B)はユニット間の連結構造を説明するための図である。図7によれば、拡張ユニット4は略直方体形状の筐体を有している。筐体は、上面4T、底面4B、左側面4L、右側面4R、前面4F、背面4rといった6つの主要な側面を有している。なお、図7では前面4Fが上を向いている。筐体面に関するこれらの呼称は便宜上のものにすぎない。
図8(A)および図8(B)が示すように、筐体内には電気信号を伝達するための基板33が配置され、基準レール13の長手方向の一方端部に雌型コネクタ34が固定されている。雌型コネクタ34の差込口が露出するように右側面4Rに開口部35が設けられる。左側面4Lには、雌型コネクタ34の差込口に挿入可能な突出部32を含む雄型コネクタが設けられている。突出部32を略包囲する包囲部31が筐体に設けられる。このように突出部32と包囲部31とによって雄型コネクタが形成されている。
ここでは、第1の拡張ユニット4に対して第2の拡張ユニット4’が連結されるものとする。なお、両者に共通する事項を説明するときは、単に、拡張ユニット4と呼ぶことにする。第1の拡張ユニット4の開口部35に第2の拡張ユニットの包囲部31が嵌合ないしは係合される。第1の拡張ユニット4の雌型コネクタ34の差込口に第2の拡張ユニット4’の突出部32が挿入されることにより第1および第2の拡張ユニット間が構造的に結合されるとともに、バスが電気的に接続される。第1の拡張ユニット4と第2の拡張ユニット4’の雌型コネクタ34と突出部32の関係は、逆になっていても構わない。つまり、右側面4Rに突出部32を含む雄型コネクタが設けられ、左側面4Lに雌型コネクタ34が設けられてもよい。なお、基本ユニット3の右側面も拡張ユニット4の右側面と同一の構造となっており、基本ユニット3の右側面に対して拡張ユニット4の左側面4Lが連結されるようになっている。
第1の拡張ユニット4の側面に一体に形成されている凸部が第2の拡張ユニット4’の側面に形成された係止孔に挿入され、凸部と係止孔とが係合してもよい。さらに、拡張ユニット4の右側面4Rには、左側面4Lのロック孔30のうち幅の広い開口部分に挿入可能な係止部37を備えるロック部材36が図中の上下方向に移動可能な状態で取り付けられていてもよい。より詳しく説明すると、図8(B)に示すように、第1の拡張ユニット4に第2の拡張ユニットB1を当接することで、第1の拡張ユニット4の係止部37が第2の拡張ユニット4’のロック孔30に挿入される。さらに、第1の拡張ユニット4のロック部材36を図中の矢印方向に移動させると、ロック部材36の係止部37が第2の拡張ユニット4’のロック孔30cのうち幅の狭い開口部分に係止される。これにより、第2の拡張ユニット4’が第1の拡張ユニット4に対してロックされる。なお、ロック機構は、上記の例に特に限定されず、他のロック機構が用いられてもよい。また、ロック機構の設置位置も、上記の例に特に限定されず、左側面4L等であってもよい。
上述したように、拡張ユニット4の右側面にはエンドユニット11が設けられてもよい。エンドユニット11の左側面には、拡張ユニット4の右側面4Rに設けられた開口部35に嵌合する包囲部が設けられる。この包囲部の形状は、包囲部31の形状と類似していてもよいが、開口部35に嵌合する形状であれば異なる形状であってもよい。また、エンドユニット11の包囲部には終端抵抗に接続された突出部が設けられてもよい。これにより、終端が必要なバスをエンドユニット11で終端することができ、不要な定在波の発生を抑制できるようになる。
<種類の異なるバスを有するユニットの連結>
基板技術の進化に応じて製品を更新することで、旧製品と新製品との連結構造や電気的接続構造の互換性を維持できなくなることがある。たとえば、新製品の基本ユニットと旧製品の拡張ユニットとを通信ケーブルで接続し、新製品の基本ユニットと旧製品の拡張ユニットとの連結(ビルディング)についてはあきらめることも考えられる。しかし、これはでは基本ユニットと拡張ユニットとを一列に連結するビルディングタイプの利点が失われてしまう。そこで、本実施の形態では、連結構造(連結面)の異なる複数種類の製品群であっても連結可能とすることで、ユーザの利便性を向上させる。
基板技術の進化に応じて製品を更新することで、旧製品と新製品との連結構造や電気的接続構造の互換性を維持できなくなることがある。たとえば、新製品の基本ユニットと旧製品の拡張ユニットとを通信ケーブルで接続し、新製品の基本ユニットと旧製品の拡張ユニットとの連結(ビルディング)についてはあきらめることも考えられる。しかし、これはでは基本ユニットと拡張ユニットとを一列に連結するビルディングタイプの利点が失われてしまう。そこで、本実施の形態では、連結構造(連結面)の異なる複数種類の製品群であっても連結可能とすることで、ユーザの利便性を向上させる。
図9は連結構造の異なる複数種類の拡張ユニットを、連結ユニット15を介して接続して構成されたPLC2の一例を示す図である。基本ユニット3aの右側面と拡張ユニット4aの左側面はそれぞれ互換性のある連結面を有している。つまり、一方の連結面に設けられた凸形状は他方の連結面に設けられた凹形状と係合し、他方の連結面に設けられた凸形状は一方の連結面に設けられた凹形状と係合する。つまり、凸形状のサイズと高さは、凹形状のサイズと深さとほぼ整合している。また、連結面内での凸形状の位置と凹形状の位置も整合している。一方で、拡張ユニット4bの左側面は、基本ユニット3aの右側面に連結することができない。つまり、基本ユニット3aの連結面と拡張ユニット4bの連結面には互換性がない。そこで、連結ユニット15によって連結面の違いを吸収し、拡張ユニット4bを拡張ユニット4aや基本ユニット3aに対して接続している。連結ユニット15の右側面は拡張ユニット4bの左側面に対して連結面として互換性があるように構成されている。連結ユニット15の左側面は拡張ユニット4aや基本ユニット3aの左側面に対して連結面として互換性があるように構成されている。なお、基本ユニット3aから見て最も遠方にある、すなわち遠端に配置される拡張ユニット4bの右側面にはエンドユニット11bが連結されてもよい。
図10は、拡張ユニット4a、拡張ユニット4bおよび連結ユニット15の各連結面の構造を説明するための図である。拡張ユニット4aの筐体は右側面4aR、左側面4aL、上面4aT、前面4aF、背面4arおよび底面を有している。右側面4aRには、上述したロック孔30aや雌型コネクタ34aなどが設けられている。左側面4aLには、係止部37aや雄型コネクタの突出部32aなどが配置されている。係止部37aはロック孔30aに挿入され、リリース位置(大開口部)からロック位置(小開口部)に移動すると、2つの連結面をロックする。また、雌型コネクタ34aには雄型コネクタの突出部32aが嵌合し、これによりバスが電気的に接続される。背面4arには基準レール13を取り付けるための溝部4agが設けられている。
拡張ユニット4bの筐体は右側面4bR、左側面4bL、上面4bT、前面4bF、背面4brおよび底面を有している。右側面4bRには、上述したロック孔30bや雌型コネクタ34bなどが設けられている。左側面4bLには、係止部37bや雄型コネクタの突出部32bなどが配置されている。係止部37bはロック孔30bに挿入され、リリース位置(大開口部)からロック位置(小開口部)に移動すると、2つの連結面をロックする。また、雌型コネクタ34bには雄型コネクタの突出部32bが嵌合し、これによりバスが電気的に接続される。背面4brには基準レール13を取り付けるための溝部4bgが設けられている。
連結ユニット15の筐体は右側面15R、左側面15L、上面15T、前面15F、背面15rおよび底面を有している。右側面15Rには、拡張ユニット4bの左側面4bLを連結するために、上述したロック孔30bや雌型コネクタ34bなどが設けられている。左側面15Lには、拡張ユニット4aや基本ユニット3aを連結するために、係止部37aや雄型コネクタの突出部32aなどが配置されている。連結ユニット15の係止部37aは拡張ユニット4aや基本ユニット3aのロック孔30aに挿入され、リリース位置(大開口部)からロック位置(小開口部)に移動すると、2つの連結面をロックする。同様に、連結ユニット15のロック孔30bには、拡張ユニット4bの係止部37bが挿入される。係止部37bがリリース位置(大開口部)からロック位置(小開口部)に移動すると、2つの連結面をロックする。連結ユニット15の雌型コネクタ34bには拡張ユニット4bの突出部32bが嵌合し、これによりバスが電気的に接続される。同様に、連結ユニット15の突出部32aは拡張ユニット4aや基本ユニット3aの雌型コネクタ34aに嵌合し、これによりバスが電気的に接続される。背面15rには基準レール13を取り付けるための溝部15gが設けられている。
このように、連結ユニット15は、基本ユニット3aの側面または基本ユニット3aに接続された拡張ユニット4aの側面に連結される第1側面(左側面15L)と、拡張ユニット4bの側面に連結される第2側面(右側面15R)とを有する連結面変換ユニットとして機能する。つまり、連結ユニット15の第1側面には基本ユニット3aや拡張ユニット4aが接続され、第2側面には拡張ユニット4bが接続される。これにより、拡張ユニット4aの連結構造と拡張ユニット4bの連結構造に互換性がなくても、連結ユニット15を介在させることで、拡張ユニット4aの連結構造と拡張ユニット4bを一列に連結することが可能となる。つまり、連結構造の異なる複数種類の拡張ユニットであっても一列に連結することが可能となり、ユーザの利便性が向上する。なお、ここでは拡張ユニット4aの側面に第1側面(左側面15L)が連結されるようになっているが、例えば、連結ユニット15と基本ユニット3aをケーブル接続してもよい。この場合、拡張ユニット4aの側面に第1側面(左側面15L)は連結しなくてもよい代わりに、拡張ユニット4aの側面と第1側面(左側面15L)とは対応関係にある。たとえば、拡張ユニット4aの側面と第1側面において、幅方向の大きさ(奥行き)を略同一にしてもよいし、上下方向の大きさを略同一にしてもよいし、これら両方を略同一にしてもよい。要するに、基本ユニット3a、拡張ユニット4a、連結ユニット15、拡張ユニット4bがDINレール等の基準レールに取り付けられたとき、一体的な構成となるような対応関係があればよい。
本実施の形態ではベースレスのビルディングタイプを一例として取り上げたが、ベースフレームを用いて連結されるビルディングタイプのPLCに対しても本発明の技術思想を採用できる。つまり、ベースフレームありのビルディングタイプであっても、拡張ユニット4aの連結構造と拡張ユニット4bの連結構造に互換性がないことがあるため、連結ユニット15を採用してもよい。なお、ベースフレームは、たとえば、拡張ユニット4aの底面と拡張ユニット4bの底面とに固定され、ベースフレームによって基本ユニット3a、拡張ユニット4a、拡張ユニット4bおよび連結ユニット15が一体に維持される。
連結ユニット15の第1側面には、第1側面に連結された基本ユニット3aまたは拡張ユニット4aを連結ユニット15に固定するためのロック機構が設けられてもよい。このようなロック機構は係止部37aとロック孔30aによって構成されてもよい。同様に、連結ユニット15の第2側面には、第2側面に連結された拡張ユニット4bを連結ユニット15に固定するためのロック機構が設けられてもよい。このようなロック機構は係止部37bとロック孔30bによって構成されてもよい。
図9では基本ユニット3aと連結ユニット15との間に2台の拡張ユニット4aが接続されているが、拡張ユニット4aの数は0台であってもよいし、3台以上であってもよい。また、連結ユニット15の右側には1台以上の拡張ユニット4bが接続されうる。
<バス変換ユニット>
上述した実施の形態では主に連結構造の異なるユニットについての構造的な連結手法について説明した。以下では、基本ユニット3aと拡張ユニット4bがどのように通信するかについて説明する。
上述した実施の形態では主に連結構造の異なるユニットについての構造的な連結手法について説明した。以下では、基本ユニット3aと拡張ユニット4bがどのように通信するかについて説明する。
基本ユニット3aと拡張ユニット4aは連結面に設けられたコネクタを介して接続されたバスを通じて通信する。また、複数の拡張ユニット4bもコネクタを介して接続されたバスを通じて通信する。したがって、基本ユニット3aと拡張ユニット4bとをどのようにバス接続するかが問題となる。たとえば、基本ユニット3aと拡張ユニット4aとがシリアルバスを介して接続され、複数の拡張ユニット4bはパラレルバスを介して接続されている場合、シリアルバスを構成する信号線とパラレルバスを構成する信号線を接続しても通信は不可能である。これは信号線の数が異なるだけでなく、通信プロトコルも異なるからである。
図11(A)は種類の異なる複数のバスの接続形態の一例を示す図である。この例では、基本ユニット3aは第1のタイプのコネクタとして雌型のコネクタC1を有している。拡張ユニット4aの左側面には第2のタイプのコネクタとして雄型のコネクタC1が設けられている。雌雄を成すこれらのコネクタC1は基本ユニット3aと拡張ユニット4aが通信するための第1バスB1を接続する。第1バスB1では、たとえば、ユーザプログラム上で第1拡張ユニット4aの内部処理に関して割り付けられるデバイスの情報が送受信される。同様にコネクタC1は第2バスB2を接続する。第2バスB2は、たとえば、第1バスB1と特性が異なるとともに、ユーザプログラム上で第2拡張ユニット4bの内部処理に関して割り付けられるデバイスの情報を基本ユニット3aと第2拡張ユニット4bの間で通信するために使用される。拡張ユニット4aの右側面には第1のタイプの雌型のコネクタC1が設けられており、他の拡張ユニット4aや連結ユニット15が接続される。連結ユニット15の左側面には雄型のコネクタC1が設けられている。第2バスB2は基本ユニット3、拡張ユニット4a、連結ユニット15および拡張ユニット4bまで延在している。なお、連結ユニット15の右側面と拡張ユニット4bの右側面には第3のタイプのコネクタとして雌型のコネクタC2が設けられている。拡張ユニット4bの左側面には第4のタイプのコネクタとして雄型のコネクタC2が設けられている。このように雌雄のコネクタC2によって第2バスを接続している。コネクタC1については第1バスB1と第2バスB2を接続するため、コネクタC2と比較してより多くのバスラインを接続することになる。なお、基本ユニット3aは、第1バスB1での通信を制御するためのバスマスタと、第2バスB2での通信を制御するためのバスマスタとを有している。
図11(B)は種類の異なる複数のバスの接続形態の一例を示す図である。この例では、基本ユニット3aは第5のタイプのコネクタとして雌型のコネクタC3を有している。拡張ユニット4aの左側面には第6のタイプのコネクタとして雄型のコネクタC3が設けられている。この雌雄を成すコネクタC3は基本ユニット3aと拡張ユニット4aが通信するための第1バスを接続するとともに、第3バスB3を接続する。第3バスB3は、第2バスB2を連結ユニット15によってバス変換されたバスである。第3バスB3の通信帯域は、第2バスB2の通信帯域以上であればよく、通信プロトコルはどのようなものであってもよい。拡張ユニット4aの右側面には雌型のコネクタC3が設けられており、他の拡張ユニット4aや連結ユニット15が接続される。連結ユニット15の左側面には雄型のコネクタC3が設けられている。第2バスB2は連結ユニット15から拡張ユニット4bまで延在している。なお、連結ユニット15の右側面と拡張ユニット4bの右側面には雌型のコネクタC2が設けられている。拡張ユニット4bの左側面には雄型のコネクタC2が設けられている。このようにコネクタC2によって第2バスを接続している。コネクタC1については第1バスB1と第3バスB3を接続するため、コネクタC2と比較してより多くのバスラインを接続することになる。なお、基本ユニット3aは、第1バスB1での通信を制御するためのバスマスタと、第3バスB3での通信を制御するためのバスマスタとを有している。連結ユニット15は、第3バスB3と第2バスB2とをバス変換するためのバス変換ユニットを備えている。バス変換ユニットは、第2バスB2での通信を制御するためのバスマスタを有していてもよい。図11(A)では第2バスB2が拡張ユニット4aや基本ユニット3aに延在しているため、コネクタC1が大きくなりやすい。一方で、図11(B)では第2バスB2を変換して得られた第3バスB3が拡張ユニット4aや基本ユニット3aに延在している。第2バスB2のバスラインと比較して第3バスB3のバスラインの数が少なければ、コネクタC3はコネクタC1よりも小さいものを採用できるであろう。
図12(A)は上述した連結ユニット15を2つのバス延長ユニットで構成した例である。バス延長ユニット15aは、雄型のコネクタC1、第7タイプのコネクタである雌型のコネクタC4と、ケーブルを接続するための第8のタイプのコネクタC5とを有している。コネクタC1は第1バスB1と第2バスB2を接続している。拡張ユニット4aは、雌型のコネクタC4と雄型のコネクタC4とを有している。雌雄を成すコネクタC4は第1バスB1を接続するためのコネクタである。バス延長ユニット15bは、雄型のコネクタC4と雄型のコネクタC2と、ケーブルを接続するためのコネクタC5とを有している。このケーブルは第2バスB2を接続するためのケーブルである。このようにバス延長ユニット15aは基本ユニット3aまたは拡張ユニット4aと、拡張ユニット4aとを連結するとともに、もう一方のバス延長ユニット15bからの第2バスB2を接続する。バス延長ユニット15bは拡張ユニット4aと拡張ユニット4bとを連結するとともに、延長ユニット15aからの第2バスB2を接続する。このように第2バスB2については拡張ユニット4a内を経由せずに、すなわちその外部を経由して拡張ユニット4bから基本ユニット3aまで接続されてもよい。
図12(B)は種類の異なる複数のバスの接続形態の一例を示す図である。この例では、基本ユニット3aは雌型のコネクタC4を有している。拡張ユニット4aの左側面には雄型のコネクタC4が設けられている。これらの雌雄のコネクタC4は基本ユニット3aと拡張ユニット4aが通信するための第1バスB1を接続する。拡張ユニット4aの右側面には雌型のコネクタC4が設けられており、他の拡張ユニット4aや連結ユニット15が接続される。連結ユニット15の左側面には雄型のコネクタC4が設けられており、右側面には雌型のコネクタC2が設けられている。拡張ユニット4bの左側面には雄型のコネクタC2が設けられている。このようにコネクタC2によって第2バスを接続している。連結ユニット15は、第2バスB2と第1バスB1とをバス変換するためのバス変換ユニットを備えている。なお、第1バスB1の通信帯域の一部分が、第2バスB2の送受信データを伝送するために割り当てられる。コネクタC4は第1バスB1を接続すればよいため、コネクタC1と比較して小型化することが可能となる。
図13は、基本ユニット3aが連結ユニット15と一体化された例を示す図である。この例では、基本ユニット3aの左側面が拡張ユニット4aの右側面と連結するように構成されている。たとえば、基本ユニット3aの左側面には雄型のコネクタC4が設けられており、拡張ユニット4aの右側面に設けられた雌型のコネクタC4に接続される。一方、基本ユニット3aの右側面が拡張ユニット4bの左側面と連結するように構成されている。たとえば、基本ユニット3aの左側面には雄型のコネクタC2が設けられており、基本ユニット3aの右側面に設けられた雌型のコネクタC2に接続される。この場合、基本ユニット3aが連結ユニット15と一体化されているため、第1バスB1と第2バスB2とを変換するバス変換ユニットが不要となる利点がある。
<各ユニットの構成例>
1.基本ユニット3aに第1バスB1と第2バスB2が接続されているケース(その1)
図14は、図11(A)や図12(A)、図13に示した連結構成における基本ユニット3aの機能を示すブロック図である。ここでは、メモリ12とCPU10によって実現される機能を中心に説明する。
1.基本ユニット3aに第1バスB1と第2バスB2が接続されているケース(その1)
図14は、図11(A)や図12(A)、図13に示した連結構成における基本ユニット3aの機能を示すブロック図である。ここでは、メモリ12とCPU10によって実現される機能を中心に説明する。
デバイスメモリ41は上述したメモリ12の一部であり、デバイス情報を記憶する。ラダー実行エンジン42はCPU10の一部であり、ラダープログラムを実行するラダー実行部43を備えている。ユニット制御部44はCPU10の一部であり、拡張ユニット4を制御する。ユニット制御部44は、リフレッシュ情報45を保持する保持部(メモリなど)とスキャンタイムにしたがってラダー実行部43を制御したり、入出力のリフレッシュを実行したりする。拡張バスマスタ47は、CPU10の一部であり、拡張ユニット4と通信するためのバスを制御するユニットである。バスマスタ制御部48は、1つまたは複数のバスを統括的に制御する。ユニット管理テーブル49は、各バスに接続されている拡張ユニット4に関する識別情報やユニークなユニット番号などを保持するテーブルである。第1バス通信部50は第1バスB1を介して実行される通信を制御するバスマスタである。第2バス通信部51は第2バスB2を介して実行される通信を制御するバスマスタである。なお、バスマスタ制御部48は、第1バス通信部50および第2バス通信部51を統括的に制御する上位の制御部である。バスマスタ制御部48は、ラダー実行部43やスキャン部46からいずれかの拡張ユニット4への通信要求を受け付けると、ユニット管理テーブル49を参照して当該拡張ユニット4がどのバスに接続されているかを特定し、特定されたバスを管理しているバスマスタに対して当該拡張ユニット4への通信を要求する。ラダー実行エンジン42、ユニット制御部44および拡張バスマスタ47は内部バス52を介してデバイスメモリ41に対してアクセスし、データの読み書きを実行する。なお、ラダー実行部43、スキャン部46およびバスマスタ制御部48は内部バス52を介して通信するように構成されてもよいし、専用線を介して通信するように構成されてもよい。このように内部バス52や専用線によってラダー実行部43、スキャン部46およびバスマスタ制御部48を接続することで、ラダー実行部43、スキャン部46およびバスマスタ制御部48は高速に第1バスB1や第2バスB2などにアクセスできるようになる。なお、ラダー実行部43、スキャン部46およびバスマスタ制御部48は、第2バスB2にアクセスする場合、第1バスB1を介さずに直接アクセスする。
図15は、拡張ユニット4a、連結ユニット15および拡張ユニット4bに備えられる通信機能を示す図である。拡張ユニット4aは、第1バスB1を介して基本ユニット3aと通信する第1バス通信部54を有している。第1バス通信部54は第1バスB1においてスレーブとして機能する。拡張ユニット4aは、第2バスB2を介して通信しないため第2バスB2用の通信部を有していないが、第2バスB2を通過させるための配線を備え、さらに増幅回路や信号再生回路などを備えてもよい。連結ユニット15は第1バスB1および第2バスB2の両方に関して通信を実行しないため、通信部を備えていない。ただし、連結ユニット15は、第2バスB2を通過させるために必要となる配線を備え、さらに増幅回路や信号再生回路などを備えてもよい。拡張ユニット4bは、第2バスB2を介して基本ユニット3aと通信する第2バス通信部55を有している。第2バス通信部55は第2バスB2においてスレーブとして機能する。このように、第2バスB2は拡張ユニット4aおよび連結ユニット15を通過するだけにすぎないため、信号の遅延が発生しにくい。
2.基本ユニット3aに第1バスB1と第3バスB3が接続されているケース
図16は、図11(B)に示した連結構成における基本ユニット3aの機能を示すブロック図である。ここでは、メモリ12とCPU10によって実現される機能を中心に説明する。なお、すでに説明済みの構成については同一の参照番号を付与することで説明の簡明化を図る。
図16は、図11(B)に示した連結構成における基本ユニット3aの機能を示すブロック図である。ここでは、メモリ12とCPU10によって実現される機能を中心に説明する。なお、すでに説明済みの構成については同一の参照番号を付与することで説明の簡明化を図る。
拡張バスマスタ47は第3バスB3を介して実行される通信を制御する第3バス通信部53を有している。第3バス通信部53は第3バスB3についてのバスマスタとして機能する。ラダー実行部43、スキャン部46およびバスマスタ制御部48は、第1バスB1を介さずに第3バスB3を介して第2バスB2にアクセスできるため、高速アクセスが実現される。
図17は、拡張ユニット4a、連結ユニット15および拡張ユニット4bに備えられる通信機能を示す図である。拡張ユニット4aは、第3バスB3を介して通信しないため第3バスB3用の通信部を有していないが、第3バスB3を通過させるための配線を備え、さらに増幅回路や信号再生回路などを備えてもよい。拡張ユニット4aは第3バスB3を通過させるだけにすぎないため、拡張ユニット4aでは信号の遅延が発生しにくい。連結ユニット15は、第1バスB1を介して基本ユニット3aと通信する第1バス通信部56を有している。第1バス通信部56は第1バスB1においてスレーブとして機能する。連結ユニット15は、第3バスB3を介して基本ユニット3aと通信する第3バス通信部57を有している。第3バス通信部57は第3バスB3においてスレーブとして機能する。連結ユニット15は、第2バスB2を介して拡張ユニット4bと通信する第2バス通信部59を有している。第2バス通信部59は第2バスB2においてバスマスタとして機能する。バス変換部58は、第2バスB2を介して実行されている通信データのフォーマットやプロトコルを、第3バスB3における通信データのフォーマットやプロトコルに変換する。また、バス変換部58は、第3バスB3を介して実行されている通信データのフォーマットやプロトコルを、第2バスB2における通信データのフォーマットやプロトコルに変換する。これにより、基本ユニット3aと拡張ユニット4bは第3バスB3および第2バスB2を介して通信できるようになる。なお、バスマスタ制御部48は、第1バスB1を介してバス変換部58に通信タイムアウトを設定したり、第2バスB2に接続されている拡張ユニット4bの情報を取得したりする。よって、基本ユニット3aはバス変換機能を有する拡張ユニット4aとして連結ユニット15を管理してもよい。このように連結ユニット15は連結面を変換するだけでなく、バスの電気的性質についても変換する。
3.基本ユニット3aに第1バスB1と第2バスB2が接続されているケース(その2)
図18は、図12(A)に示した連結構成における拡張ユニット4a、連結ユニット15a、15bおよび拡張ユニット4bに備えられる通信機能を示す図である。
図18は、図12(A)に示した連結構成における拡張ユニット4a、連結ユニット15a、15bおよび拡張ユニット4bに備えられる通信機能を示す図である。
このケースでの基本ユニット3aの構成は図14に示したものと同じである。なぜなら、第2バスB2を、拡張ユニット4aの内部を通過させるのか、拡張ユニット4aの外部を通過させるかの違いでしかないからである。なお、拡張ユニット4aの内部には第2バスB2を通過させるための配線等が必要ないため、拡張ユニット4aのコストを低減できる。
図18において連結ユニット15aは、基本ユニット3aから延在する第2バスB2のバスラインをケーブル63に接続するための第2バス延長部60を有している。なお、第2バス延長部60は増幅回路や信号再生回路などを備えてもよい。もう一方の連結ユニット15bは、ケーブル63を拡張ユニット4b側の第2バスB2のバスラインに接続するための第2バス延長部61を有している。なお、第2バス延長部61も増幅回路や信号再生回路などを備えてもよい。このように第2バス延長部60および第2バス延長部61は、バス変換部58と同様に、中継手段として機能する。
4.基本ユニット3aに第1バスB1のみが接続されているケース
図19は、図12(B)に示した連結構成における基本ユニット3aの機能を示すブロック図である。上述した第2バス通信部51や第3バス通信部53が存在しないため、バスマスタ制御部48は第1バスB1を介して第2バスB2のバスマスタを制御することになる。
図19は、図12(B)に示した連結構成における基本ユニット3aの機能を示すブロック図である。上述した第2バス通信部51や第3バス通信部53が存在しないため、バスマスタ制御部48は第1バスB1を介して第2バスB2のバスマスタを制御することになる。
図20は、拡張ユニット4a、連結ユニット15および拡張ユニット4bに備えられる通信機能を示す図である。拡張ユニット4aは、第1バスB1を介して通信する機能を有していれば十分であるため、第1バス通信部54を備えている。第1バス通信部54は第1バスB1においてスレーブとして機能する。連結ユニット15は、第1バスB1を介して基本ユニット3aと通信する第1バス通信部56を有している。第1バス通信部56も第1バスB1においてスレーブとして機能する。連結ユニット15は、第2バスB2を介して拡張ユニット4bと通信する第2バス通信部59を有している。第2バス通信部59は第2バスB2においてバスマスタとして機能する。バス変換部58は、第2バスB2を介して実行されている通信データのフォーマットやプロトコルを、第1バスB1における通信データのフォーマットやプロトコルに変換する。また、バス変換部58は、第1バスB1を介して実行されている通信データのフォーマットやプロトコルを、第2バスB2における通信データのフォーマットやプロトコルに変換する。これにより、基本ユニット3aと拡張ユニット4bは第1バスB1および第2バスB2を介して通信できるようになる。なお、バスマスタ制御部48は、第1バスB1を介してバス変換部58に通信タイムアウトを設定したり、第2バスB2に接続されている拡張ユニット4bの情報を取得したりする。また、基本ユニット3aはバス変換機能を有する拡張ユニット4aとして連結ユニット15を管理してもよい。連結ユニット15は連結面を変換するだけでなく、バスの電気的性質についても変換する。
<バス制御>
上述したようにPLC2には複数の通信バスが存在するため、それを統括するバスマスタ制御部48が必要となる。また、各通信バスにもバスマスタが必要となる。よって、基本ユニット3aがいずれかの拡張ユニット4と通信するにはその拡張ユニット4がどの通信バスに接続されているかを特定し、その通信バスを管理しているバスマスタを介して当該拡張ユニット4と通信する必要がある。なお、バスマスタは自己が管理しているバスに対して接続されている複数の拡張ユニットの接続順序を把握して通信を制御する。また、ユーザはラダープログラムを作成する上で複数の拡張ユニットの接続順序を識別するためのユニット番号を把握する必要がある。さらに、基本ユニット3aから見た複数の拡張ユニットの接続順序の情報も必要となることがある。これらの接続情報は基本的に一致しないため、各情報の関係を管理する必要がある。つまり、基本ユニット3aから見た拡張ユニット4の接続順序、バスマスタから見た拡張ユニット4の接続順序およびユーザから見た拡張ユニット4のユニット番号の関係が管理されなければならない。本実施の形態ではユニット管理テーブル49を用いてこれらの関係を管理する。
上述したようにPLC2には複数の通信バスが存在するため、それを統括するバスマスタ制御部48が必要となる。また、各通信バスにもバスマスタが必要となる。よって、基本ユニット3aがいずれかの拡張ユニット4と通信するにはその拡張ユニット4がどの通信バスに接続されているかを特定し、その通信バスを管理しているバスマスタを介して当該拡張ユニット4と通信する必要がある。なお、バスマスタは自己が管理しているバスに対して接続されている複数の拡張ユニットの接続順序を把握して通信を制御する。また、ユーザはラダープログラムを作成する上で複数の拡張ユニットの接続順序を識別するためのユニット番号を把握する必要がある。さらに、基本ユニット3aから見た複数の拡張ユニットの接続順序の情報も必要となることがある。これらの接続情報は基本的に一致しないため、各情報の関係を管理する必要がある。つまり、基本ユニット3aから見た拡張ユニット4の接続順序、バスマスタから見た拡張ユニット4の接続順序およびユーザから見た拡張ユニット4のユニット番号の関係が管理されなければならない。本実施の形態ではユニット管理テーブル49を用いてこれらの関係を管理する。
1.基本ユニット3aに第1バスB1と第2バスB2が接続されているケース(その1)
ここでは、説明の便宜上、図11(A)に示したケースをさらに拡張し、基本ユニット3aと連結ユニット15との間に2つの拡張ユニット4aが接続され、連結ユニット15に対して2つの拡張ユニット4bが接続されている事例を用いることにする。
ここでは、説明の便宜上、図11(A)に示したケースをさらに拡張し、基本ユニット3aと連結ユニット15との間に2つの拡張ユニット4aが接続され、連結ユニット15に対して2つの拡張ユニット4bが接続されている事例を用いることにする。
図21(A)は、基本ユニットに対する拡張ユニットの接続例と、各ユニット付与される識別情報の一例を示している。図21(A)が示すように、基本ユニット3aに対して拡張ユニット4a1、4a2が接続され、さらに、連結ユニット15を介して拡張ユニット4b1、4b2が接続されている。ここでは、基本ユニット3aに、第1バスB1のバスマスタと機能している第1通信部50(バスマスタAと呼ぶことにする。)と第2バスB2のバスマスタと機能している第2通信部51(バスマスタBと呼ぶことにする。)とが接続されている。なお、連結ユニット15が連結面の違いを吸収する単純なユニットにすぎない場合、連結ユニット15は識別情報が付与されなくてもよい。
図21(B)は、ユニット管理テーブルの一例を示す図である。ユニット管理テーブル49には、ユニット番号、バスマスタの識別情報およびバスマスタから見た接続順序の情報があれば十分である。しかし、ここでは、説明の便宜上、基本ユニット3aから見た接続順序とユニット名についても追加している。
図21(A)が示すように基本ユニット3aやそこに内蔵されているバスマスタには0が付与される。基本ユニット3aから見た接続順序では、各ユニットには基本ユニット3aから遠ざかるにつれて順番に1つずつ増加した番号が付与されている。ユニット番号に関して、各ユニットには基本ユニット3aから遠ざかるにつれて順番に1つずつ増加した番号が付与されるが、連結ユニット15はラダープログラムに関与しないため、ユニット番号が付与されない。バスマスタから見た接続順序に関しては、バスマスタを0とし、バスマスタから遠ざかるにつれて順番に1つずつ増加した番号が各拡張ユニットに付与される。なお、連結ユニット15はバス通信を行わないため、バスマスタから見た接続順序としての番号は付与されない。
基本ユニット3aから見た接続順序が必要となる理由について説明する。基本ユニット3aから見た接続順序とユニット番号とはよく似た接続情報であるが、ユニット番号はユーザによってラダープログラムを通じて設定され、基本ユニット3aから見た接続順序はスキャン部46またバスマスタ制御部48によって設定される点で異なっている。たとえば、基本ユニット3aにプログラム作成支援装置1を接続し、プログラム作成支援装置1から基本ユニット3aを介して拡張ユニット4のファームウエアを更新する際には、基本ユニット3aから見た接続順序を用いて当該拡張ユニット4が認識される。また、他の通信ネットワークと通信する機能を備えた拡張ユニット4によって更新プログラムを受信し、基本ユニット3aのプログラム(ファームウエア)を更新する際に、基本ユニット3aは、基本ユニット3aから見た接続順序を用いて当該拡張ユニット4を認識する。このように基本ユニット3aから見た接続順序は、ユーザによってユニット番号が指定されていない状態で各ユニットを識別するのに役立つ。
図21(C)はリフレッシュ情報45の一例を示す図である。リフレッシュ情報45には、リフレッシュの対象となる拡張ユニットのユニット番号が格納されている。スキャン部46はリフレッシュ情報45を参照することで、リフレッシュの対象となる拡張ユニットを特定する。
図22はリフレッシュの各工程を示すフローチャートである。スキャン部46はリフレッシュの実行タイミングが到来すると、リフレッシュを開始する。
S1でスキャン部46はリフレッシュの対象となっている拡張ユニットを特定する。たとえば、スキャン部46はリフレッシュ情報45を参照して対象ユニットのユニット番号を取得する。図21(C)に示したリフレッシュ情報45によれば、ユニット番号として1番、2番および4番が取得される。
S2でスキャン部46は特定した対象ユニットのユニット番号に関連付けられているバスマスタの識別情報と、そのバスマスタから見た接続順序を示す情報をユニット管理テーブル49から取得する。たとえば、図21(B)によれば4番のユニット番号に関して、バスマスタBと接続順序として2番が特定される。
S3でスキャン部46は特定したバスマスタに対して、リフレッシュ対象ユニットの接続順序を指定し、リフレッシュの実行を命令する。バスマスタは当該命令に従って、指定された接続順序の拡張ユニットに対してリフレッシュを実行する。図21(A)によれば、4番のユニット番号は拡張ユニット4b2に付与されている。また、バスマスタBは、第2通信部51である。よって、スキャン部46はバスマスタ制御部48を通じて第2通信部51に対してリフレッシュ命令と、拡張ユニット4b2を示す接続順序の情報を送信する。第2通信部51は、接続順序として2番が付与されている拡張ユニット4b2に対してリフレッシュを実行する。
なお、S1ないしS3は、すべて対象ユニットについてリフレッシュが完了するまで繰り返し実行される。
このようにユニット管理テーブル49を採用することで、第1バスB1に接続された拡張ユニット4aや第2バスB2に接続された拡張ユニット4bが混在しても、ユーザは、それを意識することなく、ラダープログラムにおいて各ユニットにユニット番号を付与することができる。
ユニット管理テーブル49が参照される他の事例について説明する。ラダー実行部43はラダープログラムにしたがっていずれかの拡張ユニット4に対してアクセスし、データを読み出したり、書き込んだりすることがある。つまり、リフレッシュのタイミング以外であっても拡張ユニット4に対してアクセスが発生することがある。これをダイレクト処理と呼ぶことにする。
図23はダイレクト処理を含むラダープログラムの一例を示す図である。ラダープログラムは、たとえば、1ミリ秒など、一定のスキャンタイムごとに繰り返し実行される。つまり、1ミリ秒ごとにリフレッシュが実行されるため、1ミリ秒待たなければ拡張ユニットからデータを取得したり書き込んだりすることができない。しかし、1ミリ秒も待たずに拡張ユニットにアクセスする必要がある場合もある。そこで、ラダー言語にはダイレクト処理を実行するための命令語が用意されている。
図23において、MR1000は、基本ユニット3aに内蔵されているリレーを示している。このラダープログラムによれば、リレーMR1000がオンになると2つの処理を実行することになる。UREADは拡張ユニットからデータを読み出す命令後である。1つ目の処理で、ラダー実行部43は、ユニット番号として1番を付与されている拡張ユニット4のデバイスDM100で示されるアドレスを先頭としてワード分のデータを読み出し、デバイスメモリ41内のDM1000で示されるアドレスを先頭として書き込む。より詳細に説明すると、ラダー実行部43は、ラダープログラムによって指定されているユニット番号に基づきユニット管理テーブル49を参照し、対応するバスマスタと接続順序の情報を取得する。ユニット管理テーブル49によればバスマスタはA、つまり、第1バス通信部50であり、接続順序は1番と判明する。ラダー実行部43は、バスマスタ制御部48を通じて第1バス通信部50に対して接続順序として1番を付与されている拡張ユニット4a1からデバイスD100で示されるアドレスを先頭としてワード分のデータを読み出すよう指示する。
2つ目の処理で、ラダー実行部43は、ユニット番号として3番を付与されている拡張ユニット4のデバイスDM200で示されるアドレスを先頭としてワード分のデータを読み出し、デバイスメモリ41内のDM2000で示されるアドレスを先頭として書き込む。より詳細に説明すると、ラダー実行部43は、ラダープログラムによって指定されているユニット番号に基づきユニット管理テーブル49を参照し、対応するバスマスタと接続順序の情報を取得する。バスマスタはB、つまり、第2バス通信部51であり、接続順序は1番と判明する。ラダー実行部43は、バスマスタ制御部48を通じて第2バス通信部51に対して接続順序として1番を付与されている拡張ユニット4b1からデバイスDM200で示されるアドレスを先頭としてワード分のデータを読み出すよう指示する。
このようにユニット管理テーブル49はスキャン部46やラダー実行部43、バスマスタ制御部48によって利用される。
図24(A)は、基本ユニットに対する拡張ユニットの接続例と、各ユニット付与される識別情報の一例を示している。なお、ここでは、図16および図17を用いて説明した基本ユニット3a、拡張ユニット4a、4bおよび連結ユニット15が採用されているものとする。バスマスタAは第1バス通信部50であり、バスマスタBは第2バス通信部59であり、バスマスタCは第3バス通信部53である。すでに説明した部分については説明を簡明化する。
図24(A)が示すように、連結ユニット15にバスマスタBとして第2バス通信部59が搭載されており、第2バス通信部59が第2バスB2を制御している。上述したように、第2バスB2はバス変換部58によって変換され第3バスB3を介して基本ユニット3aに接続されている。つまり、連結ユニット15の第2バス通信部59には、バスマスタCとして機能する第3バス通信部53によって制御されるスレーブとして接続順序が付与されている。連結ユニット15の接続順序は1番である。なお、バスマスタ制御部48は、第3バス通信部53を通じて第3バスB3に接続されている拡張ユニットの問い合わせ、これに対して、連結ユニット15の第2バス通信部59が返答する。第3バス通信部53は、第3バスB3に拡張ユニットとして第2バス通信部59が接続されていることを認識し、バスマスタ制御部48に報告する。これにより、バスマスタ制御部48は、第3バスB3に第2バスB2のバスマスタBである第2バス通信部59が接続されていることを認識する。次に、バスマスタ制御部48は、第3バス通信部53を通じて第2バス通信部59にアクセスし、第2バスB2に接続している拡張ユニットを問い合わせ、報告された拡張ユニットに基本ユニットから見た接続順序を示す番号を付与するともに、ユニット番号を付与する。このようにしてユニット管理テーブル49が作成される。
図24(B)は、ユニット管理テーブルの一例を示す図である。ユニット管理テーブル49によれば連結ユニット15にはユニット番号が付与されていないが、バスマスタCに接続された1番目のユニットであることが示されている。また、バスマスタ制御部48は、第1バスB1を通じて連結ユニット15のバス変換部58と通信し、第2バスB2に接続されている拡張ユニット4b1、4b2の情報を取得する。たとえば、バスマスタ制御部48は、ユニット番号に基づき拡張ユニット4b1に対するアクセスが発生すると、バスマスタCを通じてバスマスタBと通信し、拡張ユニット4b1に対してアクセスする。
図25(A)は、基本ユニットに対する拡張ユニットの接続例と、各ユニット付与される識別情報の一例を示している。なお、ここでは、図19および図20を用いて説明した基本ユニット3a、拡張ユニット4a、4bおよび連結ユニット15が採用されているものとする。バスマスタAは第1バス通信部50であり、バスマスタBは第2バス通信部59である。すでに説明した部分については説明を簡明化する。
図25(A)が示すように、連結ユニット15にバスマスタBとして第2バス通信部59が搭載されており、第2バス通信部59が第2バスB2を制御している。上述したように、第2バスB2はバス変換部58によって変換され第1バスB1を介して基本ユニット3aに接続されている。また、連結ユニット15は、バスマスタAとして機能する第1バス通信部50によって制御されるスレーブとして接続順序が付与されている。バスマスタAから見た連結ユニット15の接続順序は3番である。
図25(B)は、ユニット管理テーブルの一例を示す図である。ユニット管理テーブル49によれば連結ユニット15にはユニット番号が付与されていないが、バスマスタAに接続された3番目のユニットであることが示されている。また、バスマスタ制御部48は、第1バスB1を通じて連結ユニット15のバス変換部58と通信し、第2バスB2に接続されている拡張ユニット4b1、4b2の情報を取得する。たとえば、バスマスタ制御部48は、ユニット番号に基づき拡張ユニット4b1に対するアクセスが発生すると、バスマスタAである第1バス通信部50を通じてバスマスタBであるバス変換部58および第2バス通信部59と通信し、拡張ユニット4b1に対してアクセスする。なお、バスマスタ制御部48が第2バスB2に接続されている拡張ユニット4bの情報をバス変換部58に問い合わせると、第2バス通信部59を介して拡張ユニット4bの情報を取得して、バスマスタ制御部48に返信する。この処理は、たとえば、第1バス通信部50は、自己に接続されているユニットを列挙する際に実行されうる。
上述した実施の形態では基本ユニット3aの右側に複数の拡張ユニット4を接続する例を主に取り上げたが、基本ユニット3aの左側に複数の拡張ユニット4を接続するPLCや、基本ユニット3aの両側に複数の拡張ユニット4を接続するPLCでもあって上記の技術思想は適用可能である。
<PLCの設定GUI>
PLC2で実行されるラダープログラムを含むプロジェクトデータはプログラム作成支援装置1によって作成される。ユーザは基本ユニット3aに接続されている拡張ユニット4に対して左から順番に1から始まるユニット番号を付与することで、拡張ユニット4を区別する。この区別はラダープログラム上での区別を意味する。
PLC2で実行されるラダープログラムを含むプロジェクトデータはプログラム作成支援装置1によって作成される。ユーザは基本ユニット3aに接続されている拡張ユニット4に対して左から順番に1から始まるユニット番号を付与することで、拡張ユニット4を区別する。この区別はラダープログラム上での区別を意味する。
ところで、プログラム作成支援装置1はユーザのプログラミング作業をアシストするためにGUI(グラフィカルユーザインタフェース)を提供している。たとえば、基本ユニット3aとして使用される基本ユニット(CPUユニット)を選択するためのリストを表示したり、拡張ユニット4のリストを表示したりする。プログラム作成支援装置1は選択された基本ユニットを示すシンボル画像(文字情報であってもよい)を表示部7に表示し、次に選択された拡張ユニットのシンボル画像を、基本ユニットを示すシンボル画像の隣に表示する。また、プログラム作成支援装置1は拡張ユニットの配置位置にしたがってユニット番号を付与する。たとえば、ユーザはGUI上で拡張ユニットのシンボル画像や識別情報をドラッグアンドドロップすることで基本ユニットのシンボル画像に対して拡張ユニットのシンボル画像を連結して行き、プログラム作成支援装置1は拡張ユニットの配置位置にしたがってユニット番号を決定する。これによりユーザは簡単にユニット番号を付与することが可能となる。また、ユーザはGUI上でシンボル画像を移動するだけで複数の拡張ユニットの並びも変更でき、ユニット番号もプログラム作成支援装置1によって更新される。なお、プログラム作成支援装置1の機能のうち、基本ユニット3や第1拡張ユニットおよび第2拡張ユニットの配置に関するユニット構成情報の設定機能を少なくとも有した設定支援装置が提供されてもよい。ここでは、説明の便宜上、プログラム作成支援機能も含むプログラム作成支援装置1としてユニット構成情報の設定支援装置について説明する。ユニット構成情報には、各ユニットを識別するためのユニット番号が含まれることになる。なお、ラダープログラムを作成して基本ユニット3に転送する支援装置と、ユニット構成情報を作成して基本ユニット3に転送する支援装置とはそれぞれ別々に用意されてもよい。
上述したように種類の異なる拡張ユニット4a、4bが混在する場合は、拡張ユニット4a、4bの物理的な配置位置は制限される。たとえば、拡張ユニット4bは連結ユニット15の右側にしか配置できないし、拡張ユニット4aは連結ユニット15の左側にしか配置できない。よって、拡張ユニットの配置位置を指定してユニット番号を付与するGUIにおいても拡張ユニット4a、4bの配置位置は制限されなければならない。
図26はGUIの一例を示す図である。CPU24は表示部7にGUIを表示する。この例では、CPU機種リスト65に列挙されているいずれかの基本ユニットが操作部8の操作に連動して移動するポインタ64により選択される。この例では基本ユニットA1という機種名の基本ユニットが選択されている。機種名に代えて型番が表示されてもよいし、機種名と型番が同時に表示されてもよいし、その機種についての説明なども表示されてもよい。選択された基本ユニットがポインタ64によりドラッグされてレイアウトエリア67内でドロップされると、基本ユニットの配置位置が決定され、レイアウトエリア67の左端に基本ユニットのシンボル画像が表示される。CPU機種リスト65にはシンボル画像が表示されてもよいし、機種名が表示されてもよい。シンボル画像は、機種名を示す文字情報とともに、ユニットの画像が含まれていてもよい。シンボル画像は、実際のユニットの正面の画像であってもよい。
図27はGUIの一例を示す図である。基本ユニットの配置が完了すると、次は、拡張ユニットの選択が実行される。CPU24は選択された基本ユニットに接続可能な拡張ユニットを列挙した拡張ユニットリスト66を表示部7に表示する。拡張ユニットリスト66に列挙されているいずれかの拡張ユニットがポインタ64により選択され、CPU24は選択された拡張ユニットを認識する。この例では、基本ユニットA1に対して直接接続可能な拡張ユニットa1が選択されている。選択された拡張ユニットがポインタ64によりドラッグされてレイアウトエリア67内でドロップされると、CPU24は、ドロップされた位置に最も近い配置可能な位置を拡張ユニットの配置位置として決定し、レイアウトエリア67に拡張ユニットのシンボル画像を表示する。なお、CPU24は拡張ユニットを左詰めで配置してゆく。なぜなら、左端に基本ユニットが配置されるからである。ただし、2つ以上の同種の拡張ユニットがすでにレイアウトエリア67に表示されている場合、CPU24は、ドロップ位置に応じて2つの拡張ユニットの間に他の同種の拡張ユニットを挿入してもよい。この場合、すでに配置されていた拡張ユニットの接続順序やユニット番号等が、新しい接続順序に応じて更新される。
図28はGUIの一例を示す図である。この例では、基本ユニットA1に対しては直接接続できない拡張ユニットb1がポインタ64により選択され、レイアウトエリア67内でドロップされている。選択された拡張ユニットb1が基本ユニットA1に対して直接接続できないため、CPU24は、基本ユニットA1に接続されている複数の拡張ユニットのうち最も右端に位置している拡張ユニットa1の右に連結ユニットを追加し、連結ユニットの右隣り位置するように拡張ユニットb1の配置位置を決定している。なお、拡張ユニットa1、a2など、基本ユニットA1に対して直接接続可能な拡張ユニットであれば、基本ユニットA1と連結ユニットとの間であればどこにでも追加で配置可能である。ただし、CPU24は、連結ユニットの右側には拡張ユニットa1、a2を配置できないように制限する。また、拡張ユニットb1、b2など、基本ユニットA1に対して直接接続できない拡張ユニットであれば、連結ユニットの右側であればどこにでも追加で配置可能である。ただし、CPU24は、連結ユニットの左には拡張ユニットb1、b2を配置できないように制限する。
図29はGUIの一例を示す図である。この例では、基本ユニットA1に対して拡張ユニットa1、a2などが配置されていない状態で拡張ユニットb2がポインタ64によって選択され、レイアウトエリア67内にドロップされている。選択された拡張ユニットb1が基本ユニットA1に対して直接接続できないため、CPU24は、基本ユニットA1の右に連結ユニットを追加し、さらに連結ユニットの右となるように拡張ユニットb1の配置位置を決定している。このように連結ユニットが必要となる拡張ユニットをユーザがレイアウトエリア67に配置しようとすると、CPU24は連結ユニットを自動で追加する。よって、ユーザは、連結ユニットをどこに配置すればよいかを悩む必要はなく、手動での連結ユニットの追加作業も必要ない。
図30はGUIの一例を示す図である。この例では、基本ユニットA1に対して拡張ユニットa1、連結ユニットおよび拡張ユニットb1などが配置されている状態で、拡張ユニットb2がポインタ64によって選択され、レイアウトエリア67内にドロップされている。ドロップされた位置は、拡張ユニットa1と連結ユニットとの間付近である。CPU24は、ドロップ位置がどのユニットの連結面に近いかを、連結面の座標とドロップ位置の座標とを比較することで認識する。連結面の座標は、レイアウトエリア67に表示されているオブジェクト(ユニットのシンボル画像)の座標を参照することで、得られる。上述したように拡張ユニットb1、b2は連結ユニットの右側にしか配置できない。よって、CPU24は、ドロップ位置には拡張ユニットb2を配置できないと判定し、警告メッセージ69を出力する。ここでは、警告メッセージ69が表示部7に表示されるが、音声等で出力されてもよい。
図31はGUIの一例を示す図である。上述したレイアウトエリア67はシンボル画像を伴うグラフィカルなものであったが、シンボル画像に代えてテキストを用いて各ユニットの配置が示されてもよい。図30によれば、レイアウトエリア67はリスト状のGUIであり、ユニット番号とともに機種名が示されている。機種名に代えて英数字等からなる型番が表示されてもよい。この例では、リストの上方向が基本ユニットに近い方向を示し、下方向が基本ユニットから遠ざかる方向を示している。CPU24は基本ユニットを基準としてユニット番号を付与して行く。この例では連結ユニットにはユニット番号が付与されていないが、付与されるようにしてもよい。ただし、後述するようにラダープログラムにおいてユニット番号を変更しないようにするためには、連結ユニットにはユニット番号を付与しないことが望ましい。
図32はGUIの一例を示す図である。この例は、第2バスB2のみに対応している旧型の基本ユニットB1、拡張ユニットb1および拡張ユニットb2を含むPLC2について、基本ユニットのみを新型の基本ユニットA1に交換する例を示している。ポインタによって基本ユニットB1が選択されると、CPU24は、基本ユニットB1と置換可能な基本ユニットの一覧であるCPU機種リスト65を表示部7に表示させる。CPU機種リスト65から基本ユニットA1が選択され、レイアウトエリア67にドロップされると、CPU24は、基本ユニットB1を基本ユニットA1に置換する。さらに、CPU24は、基本ユニットA1と拡張ユニットb1とを連結するための連結ユニットを、基本ユニットA1と拡張ユニットb1との間に配置する。
基本ユニットB1に対して拡張ユニットb1および拡張ユニットb2が接続されているときは、拡張ユニットb1にユニット番号として1番が付与され、拡張ユニットb2には2番が付与される。基本ユニットB1が基本ユニットA1に変更されても、CPU24は、連結ユニットにはユニット番号を付与しないことで、拡張ユニットb1のユニット番号と拡張ユニットb2のユニット番号をそのまま維持する。
図33は図32のレイアウトに対応したラダープログラムの一例を示している。このラダープログラムは、基本ユニットB1、拡張ユニットb1および拡張ユニットb2を含む旧型のPLC2用のものであるが、基本ユニットB1が基本ユニットA1に置換された新型のPLC2にも使用できる。CPU24は、拡張ユニットに付与されているユニット番号をそのまま維持するため、ユーザは、ラダープログラムにおけるユニット番号(図中の#2や#1)を変更せずに済む。さらに、CPU24は、ラダープログラム中のリレー番号もそのまま維持する。これは、CPU24が拡張ユニットにはリレーを割り付ける(リレー番号を付与する)が、連結ユニットにはリレーを割り付けないためである。よって、基本ユニットを交換しても、ユーザは、交換前のPLC用に作成したラダープログラムにおけるユニット番号やリレー番号を変更せずに済むようになる。
図34はプログラム作成支援装置1によって実現される機能を示すブロック図である。CPU24はROMなどの記憶装置に記憶されているプログラムを実行することで以下の機能を実現する。
メモリ25には上述したCPU機種リスト65と拡張ユニットリスト66とが記憶されている。CPU機種リスト65には、基本ユニットの機種名、型名、説明、バスの種別、関連付けられている拡張ユニットリストの識別情報などが記憶されている。拡張ユニットリスト66は、拡張ユニットの機種名、型名、説明、バスの種別などが記載されている。
図35はユニットレイアウト処理の一例を示すフローチャートである。このフローチャートを参照しながら、CPU24によって実現される機能について説明する。
S10でCPU24は表示部7にユーザインタフェースを表示する。たとえば、識別情報表示部71は、CPU機種リスト65を読み出して表示部7に表示する。なお、メモリ25に記憶されているCPU機種リスト65の情報をすべて表示してもよいが、機種名など、ユーザがその機種を観念しやすいような情報が表示されれば十分であろう。
S11で、CPU24はCPU機種リスト65から基本ユニットを選択してレイアウトエリア67に配置する。たとえば、選択部72は操作部8を通じて選択が指示されたとき(表示部7のCPU機種リスト65においていずれかの基本ユニットに対してクリックされたとき)のポインタ64の表示位置に対して、CPU機種リスト65における基本ユニットの表示位置のうち最も近いものを選択する。指定部75はポインタ64によるドラッグアンドドロップ操作に応じて、選択部72により選択された基本ユニットの配置位置を指定する。決定部73は、指定部75により指定された配置位置の情報に基づき、レイアウトエリア67における基本ユニットの配置位置を指定する。通常、決定部73は、レイアウトエリア67の左端に基本ユニットが配置されるよう配置位置を決定する。なお、基本ユニットに電力を供給する電源ユニットがレイアウトエリア67に配置されるときは、決定部73は、電源ユニットの右隣りに基本ユニットの配置位置を決定する。このように、基本ユニットの右隣りに拡張ユニットが配置されるPLCではレイアウトエリア67の左端に基本ユニットが配置される。また、基本ユニットの左隣りに拡張ユニットが配置されるPLCではレイアウトエリア67の右端に基本ユニットが配置される。基本ユニットの両隣りに拡張ユニットが配置されるPLCではレイアウトエリア67の中央に基本ユニットが配置されてもよい。配置位置表示部74は、決定部73により決定された配置位置にしたがって、基本ユニットの配置位置を、シンボル画像などを用いて表示する。なお、決定部73は、レイアウト情報80を作成し、レイアウト情報80にどのユニットがどの配置位置に配置されているかを管理する。
S12でCPU24は選択された基本ユニットに関連付けられている拡張ユニットリスト66をメモリ25から読み出して表示部7に表示する。たとえば、識別情報表示部71は、第1バスB1に接続可能な1つ以上の第1拡張ユニットの識別情報と、第2バスに接続可能な1つ以上の第2拡張ユニットの識別情報とを含む拡張ユニットリスト66を表示部7に表示する。
S13でCPU24は拡張ユニットを選択し、その配置位置を指定する。たとえば、選択部72は、識別情報表示部71によって表示された拡張ユニットリスト66から操作部8の選択操作(例:左クリックなど)にしたがって拡張ユニットの識別情報を選択する。指定部75はポインタ64によるドラッグアンドドロップ操作に応じて、選択部72により選択された拡張ユニットの配置位置を指定する。
S13でCPU24は指定された配置位置に、選択部72により選択された拡張ユニットを配置可能かどうかを判定する。決定部73は、ドロップ位置の近傍にすでに配置されているユニットの種別を判別し、選択部72により選択された拡張ユニットを配置可能かどうかを判定する。たとえば、決定部73は、レイアウトエリア67において第1拡張ユニット(例:拡張ユニットa1、a2)の配置位置を連結ユニットよりも基本ユニットA1に対して近い側(例:連結ユニットの左側)に制限したり、第2拡張ユニット(例:拡張ユニットb1、b2)の配置位置を連結ユニットよりも基本ユニットに対して遠い側(例:連結ユニットの右側)に制限したりしてもよい。図31に示したようなレイアウトエリア67では、基本ユニットが上端に表示される。そのため、決定部73は、レイアウトエリア67における第1拡張ユニットの配置位置を連結ユニットよりも上側に制限したり、第2拡張ユニットの配置位置を連結ユニットよりも下側に制限したりしてもよい。このように決定部73は基本ユニットや拡張ユニットの種別に応じて配置位置を制限する。決定部73は、拡張ユニットのドロップ位置がその拡張ユニットの配置を禁止された位置であると判定すると、S15に進む。
S15でCPU24(警告出力部76)は、警告を出力する。この警告は、配置が制限ないしは禁止されていることを示す音、視覚情報(例:警告メッセージ69)などである。その後、S13に戻る。
一方で、S14で決定部73は、拡張ユニットのドロップ位置がその拡張ユニットの配置を制限されていない位置であると判定すると、S16に進む。
S16でCPU24は選択された拡張ユニットが連結ユニットを必要とする拡張ユニットかどうかを判定する。決定部73は、選択された拡張ユニットの識別情報や種別に基づき、連結ユニットを必要かどうかを判定する。連結ユニットが不要であればS19に進む。S19で、決定部73は、ドロップ位置に最も近い配置可能な位置を拡張ユニットの配置位置として決定する。配置位置表示部74はレイアウトエリア67において決定された配置位置に拡張ユニットのシンボル画像を表示する。決定部73は、拡張ユニットの識別情報と、その配置位置をレイアウト情報80に追加する。一方で、連結ユニットが必要と判定すると、S17に進む。
S17でCPU24(決定部73)は、レイアウト情報80を参照し、レイアウトエリア67に連結ユニットがすでに配置されて表示されているかどうかを判定する。連結ユニットがすでに配置されていれば、レイアウトエリア67に連結ユニットを追加する必要はない。この場合は、S19に進む。S19で決定部73は、決定部73は、ドロップ位置に最も近い配置可能な位置を拡張ユニットの配置位置として決定する。配置位置表示部74はレイアウトエリア67において決定された配置位置に拡張ユニットのシンボル画像を表示する。
S18でCPU24(決定部73)は、レイアウトエリア67に連結ユニットを追加する。図29に示したように、基本ユニットA1に対してまだ何も接続されていない状態で拡張ユニットb1が選択されると、決定部73は、基本ユニットA1の隣に連結ユニットが配置されるよう連結ユニットの配置位置を決定し、レイアウト情報80に登録する。図28に示したように、基本ユニットA1に対して拡張ユニットa1が接続されている状態で拡張ユニットb1が選択されると、決定部73は、拡張ユニットb1の隣であって基本ユニットA1に対して近い側の隣に連結ユニットが配置され、かつ、最も右に位置する拡張ユニットa1の右隣りに連結ユニットが配置されるよう連結ユニットの配置位置を決定し、レイアウト情報80に登録する。つまり、選択された拡張ユニットb1と最も右に位置する拡張ユニットa1の間に連結ユニットが配置されるよう連結ユニットの配置位置が決定される。このように、配置位置表示部74は、連結ユニットがレイアウトエリア67に表示されていないときに第2拡張ユニット(拡張ユニットb1)の識別情報が選択されると、当該第2拡張ユニットの隣であって基本ユニットに対して近い側の隣に連結ユニットを表示する。S19でCPU24(決定部73)は、連結ユニットの右隣り拡張ユニットが配置されるよう拡張ユニットの配置位置を決定し、レイアウト情報80を更新する。配置位置表示部74は、決定部73により決定された拡張ユニット(拡張ユニットb1)の配置位置にしたがって、拡張ユニットのシンボル画像をレイアウトエリア67に表示する。
ところで、ユニット番号付与部77は、ユーザプログラム(ラダープログラム)上で拡張ユニットの配置位置を識別するためのユニット番号を、配置位置表示部74によりレイアウトエリア67に表示された拡張ユニットの配置位置に応じて付与する。図32を用いて説明したように、基本ユニットのみを更新するときは、拡張ユニットのユニット番号を変更せずにそのまま維持する。これは、連結ユニットに対してはユニット番号を付与せず、拡張ユニットにユニット番号を付与することで実現される。
なお、ユニット番号付与部77は、基本ユニットと第2拡張ユニットとの間に第1拡張ユニットが挿入されたり、基本ユニットと第2拡張ユニットとの間に連結されていた第1拡張ユニットが削除されたりしても第2拡張ユニットのユニット番号を変更せずに維持してもよい。
リレー割り付け部78は、第1拡張ユニットおよび第2拡張ユニットにはユーザプログラム上でリレーを割り付け、連結ユニットにはリレーを割り付けないように動作してもよい。図33を用いて説明したように、基本ユニットが更新されるときに、リレー割り付け部78は、第2拡張ユニットに関連したリレーに割り付けられるリレー番号を変更せずに維持してもよい。これにより、基本ユニットを変更しても、それまで使用していたラダープログラムにおけるユニット番号やリレー番号を変更せずに済むといった利点が得られる。
<まとめ>
以上説明したように、PLC2は、基本ユニット3の機能を拡張するための第1拡張ユニット4aおよび第2拡張ユニット4bと、ユーザプログラム上で第1拡張ユニット4aの内部処理に関して割り付けられるデバイスの情報を基本ユニット3と第1拡張ユニット4aの間で通信するための第1バス(例:B1またはB3)と、第1バスと特性が異なるとともに、ユーザプログラム上で第2拡張ユニット4bの内部処理に関して割り付けられるデバイスの情報を基本ユニット3と第2拡張ユニット4bの間で通信するための第2バスB2と、第1バスの通信信号と第2バスの通信信号とを相互に変換するバス変換ユニット(例:連結ユニット15)とを有している。なお、また、第1バス(例:B1またはB3)は、基本ユニット3aに対して1つ以上の第1拡張ユニット4aを接続するかまたは当該第1拡張ユニット4aを通過するバスであってもよい。第2バスB2は、第1拡張ユニット4aとは異なる1つ以上の第2拡張ユニット4bが接続されるバスであってもよい。なお、バス変換ユニット(例:連結ユニット15)は、第1バスと第2バスとの間に直接的に接続されていなくてもよい。基本ユニット3は、第1バス、バス変換ユニットおよび第2バスを介して第2拡張ユニットと通信する。このように、バス変換ユニットを設けることで、種類の異なるバスを備えた基本ユニットと拡張ユニットであっても接続可能となる。
以上説明したように、PLC2は、基本ユニット3の機能を拡張するための第1拡張ユニット4aおよび第2拡張ユニット4bと、ユーザプログラム上で第1拡張ユニット4aの内部処理に関して割り付けられるデバイスの情報を基本ユニット3と第1拡張ユニット4aの間で通信するための第1バス(例:B1またはB3)と、第1バスと特性が異なるとともに、ユーザプログラム上で第2拡張ユニット4bの内部処理に関して割り付けられるデバイスの情報を基本ユニット3と第2拡張ユニット4bの間で通信するための第2バスB2と、第1バスの通信信号と第2バスの通信信号とを相互に変換するバス変換ユニット(例:連結ユニット15)とを有している。なお、また、第1バス(例:B1またはB3)は、基本ユニット3aに対して1つ以上の第1拡張ユニット4aを接続するかまたは当該第1拡張ユニット4aを通過するバスであってもよい。第2バスB2は、第1拡張ユニット4aとは異なる1つ以上の第2拡張ユニット4bが接続されるバスであってもよい。なお、バス変換ユニット(例:連結ユニット15)は、第1バスと第2バスとの間に直接的に接続されていなくてもよい。基本ユニット3は、第1バス、バス変換ユニットおよび第2バスを介して第2拡張ユニットと通信する。このように、バス変換ユニットを設けることで、種類の異なるバスを備えた基本ユニットと拡張ユニットであっても接続可能となる。
図9などを用いて説明したように、バス変換ユニットである連結ユニット15の第一側面側(例:左側)に基本ユニット3aおよび第1拡張ユニット4aが配置される。また、バス変換ユニットの第二側面側(例:右側)に第2拡張ユニット4bが配置されてもよい。これにより基本ユニット3aを端部に配置して第1拡張ユニット4aや第2拡張ユニット4bをシリーズ接続することが可能となる。上述したように、基本ユニットの左側に種類の異なる複数の拡張ユニットがシリーズに接続されてもよい。
図9などに示したように、基本ユニット3aには第1拡張ユニット4aが連結され、基本ユニット3aに連結された第1拡張ユニット4aまたは当該第1拡張ユニット4aに連結された他の第1拡張ユニット4aにはバス変換ユニットである連結ユニット15が連結されてもよい。さらに、連結ユニット15には第2拡張ユニット4bが連結される。
図10ないし図13などを用いて説明したように、基本ユニット3aの側面には第1のタイプのコネクタ(例:雌型のコネクタC1)が設けられており、第1拡張ユニット4aおよび連結ユニット15の一方の側面には第1のタイプのコネクタと雌雄をなす第2のタイプのコネクタ(例:雄型のコネクタC1)が設けられてもよい。また、第1拡張ユニット4aの他方の側面には第1のタイプのコネクタ(例:雌型のコネクタC1)が設けられてもよい。連結ユニット15の他方の側面には第3のタイプのコネクタ(例:雌型のコネクタC2)が設けられてもよい。第2拡張ユニット4bの一方の側面には第3のタイプのコネクタと雌雄をなす第4のタイプのコネクタ(例:雄型のコネクタC2)が設けられてもよい。同様に、第2拡張ユニット4bの他方の側面には第3のタイプのコネクタ(例:雌型のコネクタC2)が設けられてもよい。とりわけ、第1バスB1は雌型のコネクタC1および雄型のコネクタC1を介して基本ユニット3aから連結ユニット15まで延在している。同様に、第2バスB2は雌型のコネクタC2および雄型のコネクタC2を介して連結ユニット15から第2拡張ユニット4bまで延在している。このように連結ユニット15は、第1バス用のコネクタC1を有するとともに、第2バス用のコネクタC2を有するため、連結ユニット15において第1バスと第2バスとを変換してもよい。
上述したように、PLC2は、ベースフレームを有しないベースレスかつビルディングタイプのシステムであるが、基本ユニット3a、第1拡張ユニット4a、連結ユニット15および第2拡張ユニット4bなどを固定するベースフレームをさらに有していてもよい。ベースフレームタイプのシステムであってもユニット間の連結が必要となることがあり、本発明は有用であろう。
図6(B)や図10などを用いて説明したように、基本ユニット3a、第1拡張ユニット4a、連結ユニット15および第2拡張ユニット4bの各背面には、基準レール13に取り付けるための取付け部(4ag、4bg、15g)が設けられていてもよい。これにより、基本ユニット3a、第1拡張ユニット4a、連結ユニット15および第2拡張ユニット4bが連結された状態で、基準レール13を取り付けることが可能となる。また、これにより、工場等の制御盤にPLC2を固定しやすくなる。
第1バスB1の信号転送速度は第2バスB2の信号転送速度よりも高速であってもよい。バスの通信速度は年々高速になっており、高速バスに対応した新しいPLCの需要がある。その一方で、旧型の低速バスに対応した拡張ユニットも新しいPLCに接続できれば、過渡期におけるユーザの負担を軽減できるであろう。本実施の形態ではバス変換ユニットである連結ユニット15を提供することで、基本ユニット3aや拡張ユニット4aの高速化を実現しつつ、拡張ユニット4bもこれらに連結できるため、ユーザは既存の資産を有効に活用できるであろう。
第1バスB1(第3バスB3)は、たとえば、シリアル転送を実行するバスであってもよい。第2バスB2はパラレル転送を実行するバスであってもよい。この場合、バス変換ユニットはシリアル/パラレル変換を実行することになろう。このように、連結ユニット15は、連結面の違いを吸収するだけでなく、通信方式の違いを吸収することで、異種のバスを有する複数の拡張ユニットの混在を可能としている。
図17や図20などを用いて説明したように、連結ユニット15は、第2バスB2の通信を制御するバスマスタ(例:第2バス通信部59)を有していてもよい。これにより、基本ユニット3aには、第2バスB2用のバスマスタを搭載する必要がない。また、バス変換部58によってプロトコル変換等を実装しやすくなる。
図10などを用いて説明したように、連結ユニット15の第一側面には、当該第一側面に係合する基本ユニット3aまたは第1拡張ユニット4aを固定するロック機構が設けられてもよい。また、連結ユニット15の第二側面には、当該第二側面に係合する第2拡張ユニット4bを固定するロック機構が設けられてもよい。これにより連結ユニット15に対する拡張ユニットの固定をより強固にすることが可能となる。
図16や図19などを用いて説明したように、基本ユニット3aには、第1バスB1で実行される通信を制御する第1バス制御手段(例:第1バス通信部50)が設けられてもよい。連結ユニット15は、第2バスB2で実行される通信を制御する第2バス制御手段(例:第2バス通信部59)が設けられてもよい。さらに、第1バスB1に接続されている第1拡張ユニット4aと第2バスB2に接続されている第2拡張ユニット4bとの接続情報を管理する管理手段として、ユニット管理テーブル49が設けられてもよい。さらに、管理手段により管理されている接続情報にしたがって第1バス制御手段または第2バス制御手段を通じて制御対象となっている拡張ユニットと通信する第3制御手段として、バスマスタ制御部48が設けられてもよい。上述したように、第2バスB2が基本ユニット3aに対して接続されていない場合、基本ユニット3aは、何からの手段を通じて第2バスB2に接続されている拡張ユニット4bを管理して通信しなければならない。本実施の形態では、ユニット管理テーブル49を用いて、拡張ユニット4bの接続情報を管理することができ、ユニット管理テーブル49を参照することで拡張ユニット4bと通信することが可能となる。
また、連結ユニット15は、第1バス(B1またはB3)、第2バスB2、第1バスと第2バスとの間に接続され、第1バスの通信信号と第2バスの通信信号とを相互に変換する変換手段(例:バス変換部58)を有してもよい。上述したように、バス変換部58は、基本ユニット3aから第1バスを介して受信した信号を変換して第2バスを介して第2拡張ユニット4bへ転送し、第2拡張ユニット4bから第2バスB2を介して受信した信号を変換して第1バスを介して基本ユニット3aに転送してもよい。このような連結ユニット15を提供することで、異種のバスを必要とする複数の拡張ユニットを接続できるようになる。
図11(B)や図16、図17を用いて説明したように、PLC2は、基本ユニット3a、第1バスB1、第2バスB2、基本ユニット3aから第1拡張ユニット4aを介して延在する第3バスB3、および、第3バスB3と第2バスB2との間に接続され、第3バスB3の通信信号と第2バスB2の通信信号とを相互に変換するバス変換ユニット(例:連結ユニット15)を有していてもよい。この場合、基本ユニット3aは、第3バスB3、連結ユニット15および第2バスB2を介して第2拡張ユニット4bと通信してもよい。この場合、第1バスB1は、第2バスB2を中継する必要がないため、第2バスB2の影響を受けないようになろう。つまり、拡張ユニット4aは、拡張ユニット4bの影響を受けずに、第1バスB1の通信帯域を享受できるようになろう。
なお、バス変換部58は、基本ユニット3aから第3バスB3を介して受信した信号を変換して第2バスB2を介して第2拡張ユニット4bへ転送してもよい。同様に、バス変換部58は、第2拡張ユニット4bから第2バスB2を介して受信した信号を変換して第3バスB3を介して基本ユニット3aに転送してもよい。これにより、基本ユニット3aと拡張ユニット4bは、第2バスB2および第3バスB3を介して通信することが可能となる。
図15や図18などを用いて説明したように、連結ユニット15は、電気的なバス変換ユニットを備えなくてもよい。基本ユニット3aに対して第1バスを介して接続可能であって、他の第1拡張ユニットと接続可能に構成される第1拡張ユニット4aと、少なくとも第2バスを介して基本ユニット3aと接続可能であって、他の第2拡張ユニットと接続可能に構成される第2拡張ユニット4bとを有するPLCにおいて、連結ユニット15は、基本ユニット3aの側面または基本ユニット3aに接続された第1拡張ユニットの側面に対応する第1側面と、第2拡張ユニット4bの側面に連結される第2側面とを有する変換ユニットとして機能する。このような変換ユニットを採用することで、種類の異なる連結面を備えたユニットであってもプログラマブル・ロジック・コントローラとして一体感を持たせることが可能となる。なお、連結ユニット15の第1側面は第1拡張ユニットの側面に対応していれば十分であり、これらは必ずしも連結されていなくてもよい。図12(A)に示すように、連結ユニット15の一種であるバス延長ユニット15a、15bを用いる場合、第1拡張ユニット4aと延長ユニット15bとは連結されていてもよいし、連結されてなくてもよい。バス延長ユニット15a、15bを用いることで、基本ユニット3aと第2拡張ユニット4bが通信可能となり、プログラマブル・ロジック・コントローラとして一体感を持たせることが可能となるからである。拡張ユニット4aの側面と第1側面(左側面15L)とは対応関係にある。たとえば、拡張ユニット4aの側面と第1側面において、幅方向の大きさ(奥行き)を略同一にしてもよいし、上下方向の大きさを略同一にしてもよいし、これら両方を略同一にしてもよい。要するに、基本ユニット3a、拡張ユニット4a、連結ユニット15、拡張ユニット4bがDINレール等の基準レールに取り付けられたとき、一体的な構成となるような対応関係があればよい。
また、連結ユニット15は、基本ユニット3aの側面(例:雌型/雄型の連結面)または基本ユニット3aに接続された第1拡張ユニット4aの側面(例:雌型/雄型の連結面)に連結される第1側面(例:雄型/雌型の連結面)と、第2拡張ユニット4bの側面(例:雄型/雌型の連結面)とに連結される第2側面(例:雌型/雄型の連結面)とを有する連結面変換ユニットとして機能してもよい。これにより、連結面の異なる異種のユニットであっても相互に連結することが可能となる。さらには、種類の異なる連結面を備えたユニットであっても相互に連結して、ビルディングタイプのPLCを実現でき、省スペース化の点で有利なPLCを実現できる。また、連結面の異なる既存のユニットと新規のユニットとを連結できるようになるため、既存の資産の有効活用も図れるであろう。
図10などを用いて説明したように、連結ユニット15の第1側面の凹凸形状は、基本ユニット3aおよび第1拡張ユニット4aの側面の凹凸形状に対応した形状である。また、連結ユニット15の第2側面の凹凸形状は、第2拡張ユニット4bの側面の凹凸形状に対応した形状である。これにより、基本ユニット3aおよび第1拡張ユニット4aの側面の凹凸形状と、第2拡張ユニット4bの側面の凹凸形状との違いを吸収して、両者を連結してもよい。
図15や図18などを用いて説明したように、連結ユニット15は、第2バスB2に接続され、基本ユニット3aと第2拡張ユニット4bとの間で送受信される通信信号を中継する中継手段(例:配線、第2バス延長部60、61、通信ケーブル63など)を有していてもよい。この場合、基本ユニット3aは、中継手段および第2バスB2を介して第2拡張ユニット4bと通信することが可能となる。
もちろん、図17や図20を用いて説明したように、第1バスの通信信号と第2バスの通信信号とを相互に変換するバス変換部58も中継手段の一例である。このようにバス変換部58を採用すれば、第2バス延長部60、61、通信ケーブル63などを省略できるようになる。通信ケーブル63がPLC2の外部に配線される場合、通信ケーブル63の損傷や抜けの可能性があり、新たなエラー要因となる。よって、PLC2の外部に配線されるケーブルの数を削減することは、エラー要因を少なくすることにつながり、PLC2の動作の安定性をもたらすであろう。
通信ケーブル63は、第2バスB2の通信信号を基本ユニット3aへ中継するための中継手段として機能してもよい。この場合、拡張ユニット4aには、第2バスB2を中継するための配線等が不要となるため、拡張ユニット4aのコストを削減できるようになろう。
図15を用いて説明したように、第2バスB2は連結ユニット15および第1拡張ユニット4aを通過して基本ユニット3aまで延在していてもよい。この場合、連結ユニット15は、バス変換機能やコネクタC5などを備える必要がないため、連結ユニット15のコストを削減できるようになる。
上述したように連結ユニット15は、基本ユニット3aの側面または基本ユニット3aに対して第1バスB1を介して接続される第1拡張ユニット4aの側面に連結される第1側面と、少なくとも第2バスB2を介して基本ユニット3aと接続される第2拡張ユニット4bの側面に連結される第2側面とを有していればよい。これにより、連結面の互換性がない複数のユニットであっても連結できるようになる。
図27などを用いて説明したように、本実施形態によれば、基本ユニット3a、第1拡張ユニット4aおよび第2拡張ユニット4bの配置に関するユニット構成情報を設定する設定支援装置が提供される。拡張ユニットリスト66や識別情報表示部71は、第1バスB1に接続可能な1つ以上の第1拡張ユニット4aの識別情報と、第2バスB2に接続可能な1つ以上の第2拡張ユニット4bの識別情報とを表示する識別情報表示手段として機能する。また、ポインタ64や選択部72は、拡張ユニットリスト66に表示された識別情報を選択する選択手段として機能する。決定部73は、第1拡張ユニット4aと第2拡張ユニット4bとのうちポインタ64や選択部72により選択された識別情報に対応する拡張ユニット4の配置位置を決定する。レイアウトエリア67や配置位置表示部74は、決定された配置位置にしたがって、基本ユニット3を基準として第1拡張ユニット4aと第2拡張ユニット4bとの配置位置を表示する配置位置表示手段として機能する。図30などを用いて説明したように、決定部73は、選択された識別情報に応じて、この識別情報に対応する拡張ユニット4の配置位置を制限する。これにより、ユーザが拡張ユニットを適切な位置に配置する作業を容易に実行できるようになろう。
図30などを用いて説明したように、決定部73は、レイアウトエリア67における第1拡張ユニット4aの配置位置を連結ユニット15よりも基本ユニット3aに対して近い側に制限してもよい。上述したように、第1拡張ユニット4aは基本ユニット3aや第1の拡張ユニット4aには接続できるが、第2拡張ユニット4bには接続できない。これは連結面が異なるからである。また、決定部73は、第2拡張ユニット4bの配置位置を連結ユニット15よりも基本ユニット3aに対して遠い側に制限してもよい。これは、第2拡張ユニット4bは第1拡張ユニット4aや基本ユニット3aに直接接続できず、連結ユニット15を介してしかこれらに接続できないからである。よって、連結面の制約に応じて、レイアウトエリア67においてもシンボル画像の配置を制限することで、連結面の制約に適合した状態でレイアウトエリア67に各ユニットを配置できるようになる。
配置位置表示部74は基本ユニット3aをレイアウトエリア67の左端に表示してもよい。決定部73は、配置位置表示部74における第1拡張ユニット4aの配置位置を連結ユニット15よりも左側に制限してもよい。また、決定部73は、第2拡張ユニット4bの配置位置を連結ユニット15よりも右側に制限してもよい。このように基本ユニット3aの右側に拡張ユニット4a、4bをシリーズ接続する場合には、レイアウトエリア67において同様の制約を課すことで、ユーザにとって容易かつ適切に拡張ユニット4a、4bを配置できるようになろう。
図31を用いて説明したように、配置位置表示部74は、基本ユニットを上端に表示してもよい。この場合、決定部73は、レイアウトエリア67における第1拡張ユニット4aの配置位置を連結ユニット15よりも上側に制限するとともに、第2拡張ユニット4bの配置位置を連結ユニット15よりも下側に制限してもよい。このように実際の連結方向と、レイアウトエリア67における連結方向とは必ずしも一致する必要はない。これにより、レイアウトエリア67を含むGUIをより簡素なものにすることが可能となる。
図32を用いて説明したように、配置位置表示部74は、連結ユニット15がレイアウトエリア67に表示されていないときに第2拡張ユニット4bの識別情報が選択されると、第2拡張ユニット4bの隣であって基本ユニット3aに対して近い側の隣に連結ユニット15を表示してもよい。このように、連結ユニット15を自動で挿入することで、ユーザが自ら連結ユニット15を挿入する手間を省けるようになる。
ポインタ64や指定部75は、レイアウトエリア67において、選択された識別情報に対応する拡張ユニットの配置位置を指定する指定手段として機能する。また、警告出力部76や表示部7は、指定された拡張ユニットの配置位置が配置を禁止された位置である場合に、警告を出力してもよい。これにより、ユーザは、各拡張ユニットごとの配置位置の制限を認識しやすくなるであろう。
図33を用いて説明したように、ユニット番号付与部77は、ユーザプログラム上で第2拡張ユニット4bの配置位置を識別するためのユニット番号を、レイアウトエリア67に表示された第2拡張ユニットの配置位置に応じて付与する付与手段として機能する。ユニット番号付与部77は、基本ユニット3aと第2拡張ユニット4bとの間に追加される連結ユニット15にはユニット番号を付与しないことで、ユーザプログラム上での第2拡張ユニット4bのユニット番号を維持する。これにより、ユーザは、従前の基本ユニット用に作成されたラダープログラムを別の基本ユニットにおいても流用しやすくなろう。
図33を用いて説明したように、割り付け部78は、第2拡張ユニット4bにはユーザプログラム上でリレーを割り付け、連結ユニット15にはリレーを割り付けないリレー割り付け手段として機能してもよい。これにより、ユーザは、従前の基本ユニット用に作成されたラダープログラムを別の基本ユニットにおいても流用しやすくなろう。
図26ないし図32を用いて説明したように、配置位置表示部74は、基本ユニット3、第1拡張ユニット4aおよび第2拡張ユニット4bをシンボル画像または文字情報で表示してもよい。シンボル画像を視認することで、ユーザは、実際のユニットを視覚的に理解しやすくなろう。図31に示したように、ユニットを文字情報で表示することで、GUIをシンプルにすることが可能となろう。
Claims (17)
- ユーザプログラムを周期的に繰り返し実行する基本ユニットと、
前記基本ユニットの機能を拡張するための第1拡張ユニットおよび第2拡張ユニットと、
前記ユーザプログラム上で前記第1拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第1拡張ユニットの間で通信するための第1バスと、
前記第1バスと特性が異なるとともに、前記ユーザプログラム上で前記第2拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第2拡張ユニットの間で通信するための第2バスと、
前記第1バスの通信信号と前記第2バスの通信信号とを相互に変換するバス変換ユニットと
を有し、
前記基本ユニットは、前記第1バス、前記バス変換ユニットおよび前記第2バスを介して前記第2拡張ユニットと通信することを特徴とするプログラマブル・ロジック・コントローラ。 - 前記バス変換ユニットの第一側面側に前記基本ユニットおよび前記第1拡張ユニットが配置され、
前記バス変換ユニットの第二側面側に前記第2拡張ユニットが配置されることを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。 - 前記基本ユニットには前記第1拡張ユニットが連結され、
前記基本ユニットに連結された当該第1拡張ユニットまたは当該第1拡張ユニットに連結された他の第1拡張ユニットには前記バス変換ユニットが連結され、
前記バス変換ユニットには前記第2拡張ユニットが連結されることを特徴とする請求項2に記載のプログラマブル・ロジック・コントローラ。 - 前記基本ユニットの側面には第1のタイプのコネクタが設けられており、
前記第1拡張ユニットおよび前記バス変換ユニットの一方の側面には前記第1のタイプのコネクタと雌雄をなす第2のタイプのコネクタが設けられており、
前記第1拡張ユニットの他方の側面には前記第1のタイプのコネクタが設けられており、
前記バス変換ユニットの他方の側面には第3のタイプのコネクタが設けられており、
前記第2拡張ユニットの一方の側面には前記第3のタイプのコネクタと雌雄をなす第4のタイプのコネクタが設けられており、
前記第2拡張ユニットの他方の側面には前記第3のタイプのコネクタが設けられていることを特徴とする請求項3に記載のプログラマブル・ロジック・コントローラ。 - 前記第1バスは前記第1のタイプのコネクタおよび前記第2のタイプのコネクタを介して前記基本ユニットから前記バス変換ユニットまで延在しており、
前記第2バスは前記第3のタイプのコネクタおよび前記第4のタイプのコネクタを介して前記バス変換ユニットから前記第2拡張ユニットまで延在していることを特徴とする請求項4に記載のプログラマブル・ロジック・コントローラ。 - 前記基本ユニット、前記第1拡張ユニット、前記バス変換ユニットおよび前記第2拡張ユニットを固定するベースフレームをさらに有することを特徴とする請求項1ないし5のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記プログラマブル・ロジック・コントローラは、ベースフレームを有しないベースレスかつビルディングタイプのシステムであることを特徴とする請求項1ないし5のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記基本ユニット、前記第1拡張ユニット、前記バス変換ユニットおよび前記第2拡張ユニットの各背面には、基準レールに取り付けるための取付け部が設けられていることを特徴とする請求項7に記載のプログラマブル・ロジック・コントローラ。
- 前記第1バスの信号転送速度は前記第2バスの信号転送速度よりも高速であることを特徴とする請求項1ないし8のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記第1バスはシリアル転送を実行するバスであり、
前記第2バスはパラレル転送を実行するバスであり、
前記バス変換ユニットはシリアル/パラレル変換を実行することを特徴とする請求項1ないし9のいずれか1項に記載のプログラマブル・ロジック・コントローラ。 - 前記バス変換ユニットは、前記第2バスの通信を制御するバスマスタを有していることを特徴とする請求項10に記載のプログラマブル・ロジック・コントローラ。
- 前記バス変換ユニットの第一側面には、当該第一側面に係合する前記基本ユニットまたは前記第1拡張ユニットを固定するロック機構が設けられており、
前記バス変換ユニットの第二側面には、当該第二側面に係合する前記第2拡張ユニットを固定するロック機構が設けられていることを特徴とする請求項1ないし11のいずれか1項に記載のプログラマブル・ロジック・コントローラ。 - 前記基本ユニットに設けられ、前記第1バスで実行される通信を制御する第1バス制御手段と、
前記バス変換ユニットに設けられ、前記第2バスで実行される通信を制御する第2バス制御手段と、
前記第1バスに接続されている前記第1拡張ユニットと前記第2バスに接続されている前記第2拡張ユニットとの接続情報を管理する管理手段と、
前記管理手段により管理されている前記接続情報にしたがって前記第1バス制御手段または前記第2バス制御手段を通じて制御対象となっている拡張ユニットと通信する第3制御手段と
を有することを特徴とする請求項1ないし12のいずれか1項に記載のプログラマブル・ロジック・コントローラ。 - 前記プログラマブル・ロジック・コントローラは、前記基本ユニットから前記第1拡張ユニットを介して延在する第3バスを有し、
前記バス変換ユニットは、前記第3バスと前記第2バスとの間に接続され、前記第3バスの通信信号と前記第2バスの通信信号とを相互に変換し、
前記基本ユニットは、前記第3バス、前記バス変換ユニットおよび前記第2バスを介して前記第2拡張ユニットと通信することを特徴とする請求項1ないし13のいずれか1項に記載のプログラマブル・ロジック・コントローラ。 - ユーザプログラムを周期的に繰り返し実行する基本ユニットと、前記基本ユニットの機能を拡張するための第1拡張ユニットとの間で、当該基本ユニットで周期的に繰り返し実行されるユーザプログラム上で前記第1拡張ユニットの内部処理に関して割り付けられるデバイスの情報を通信するための第1バスと、
前記第1バスと特性が異なるとともに、前記ユーザプログラム上で前記基本ユニットの機能を拡張するための第2拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第2拡張ユニットの間で通信するための第2バスと、
前記第1バスの通信信号と前記第2バスの通信信号とを相互に変換する変換手段と
を有し、
前記変換手段は、前記基本ユニットから前記第1バスを介して受信した信号を変換して前記第2バスを介して前記第2拡張ユニットへ転送し、当該第2拡張ユニットから前記第2バスを介して受信した信号を変換して前記第1バスを介して前記基本ユニットに転送することを特徴とするプログラマブル・ロジック・コントローラ用のバス変換ユニット。 - ユーザプログラムを周期的に繰り返し実行する基本ユニットと、
前記基本ユニットの機能を拡張するための第1拡張ユニットおよび第2拡張ユニットと、
前記ユーザプログラム上で前記第1拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第1拡張ユニットの間で通信するための第1バスと、
前記第1バスと特性が異なるとともに、前記ユーザプログラム上で前記第2拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第2拡張ユニットの間で通信するための第2バスと、
前記基本ユニットから前記第1拡張ユニットを介して延在する第3バスと、
前記第3バスの通信信号と前記第2バスの通信信号とを相互に変換するバス変換ユニットと
を有し、
前記基本ユニットは、前記第3バス、前記バス変換ユニットおよび前記第2バスを介して前記第2拡張ユニットと通信することを特徴とするプログラマブル・ロジック・コントローラ。 - ユーザプログラムを周期的に繰り返し実行する基本ユニットと、前記基本ユニットの機能を拡張するための第1拡張ユニットとの間で、当該基本ユニットで周期的に繰り返し実行されるユーザプログラム上で前記第1拡張ユニットの内部処理に関して割り付けられるデバイスの情報を通信するための第1バスと、
前記第1バスと特性が異なるとともに、前記ユーザプログラム上で前記基本ユニットの機能を拡張するための第2拡張ユニットの内部処理に関して割り付けられるデバイスの情報を前記基本ユニットと前記第2拡張ユニットの間で通信するための第2バスと、
前記基本ユニットから前記第1拡張ユニットを介して延在する第3バスと、
前記第3バスと前記第2バスとの間に接続され、前記第3バスの通信信号と前記第2バスの通信信号とを相互に変換する変換手段と
を有し、
前記変換手段は、前記基本ユニットから前記第3バスを介して受信した信号を変換して前記第2バスを介して前記第2拡張ユニットへ転送し、当該第2拡張ユニットから前記第2バスを介して受信した信号を変換して前記第3バスを介して前記基本ユニットに転送することを特徴とするプログラマブル・ロジック・コントローラ用のバス変換ユニット。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014213958A JP2016081389A (ja) | 2014-10-20 | 2014-10-20 | プログラマブル・ロジック・コントローラおよびバス変換ユニット |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014213958A JP2016081389A (ja) | 2014-10-20 | 2014-10-20 | プログラマブル・ロジック・コントローラおよびバス変換ユニット |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016081389A true JP2016081389A (ja) | 2016-05-16 |
Family
ID=55958881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014213958A Pending JP2016081389A (ja) | 2014-10-20 | 2014-10-20 | プログラマブル・ロジック・コントローラおよびバス変換ユニット |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016081389A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019028758A (ja) * | 2017-07-31 | 2019-02-21 | パナソニック デバイスSunx株式会社 | コントロールユニット、プログラマブルコントローラ |
CN111694315A (zh) * | 2019-03-12 | 2020-09-22 | Ls产电株式会社 | Plc系统的接口转换装置以及其plc系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0792900A (ja) * | 1993-09-20 | 1995-04-07 | Omron Corp | プログラマブルコントローラ |
JP2004072905A (ja) * | 2002-08-06 | 2004-03-04 | Toshiba Corp | ディジタル形保護制御装置 |
JP2006039831A (ja) * | 2004-07-26 | 2006-02-09 | Koyo Electronics Ind Co Ltd | Plc |
JP2006330805A (ja) * | 2005-05-23 | 2006-12-07 | Mitsubishi Electric Corp | ユニット形プログラマブルコントローラ |
JP2013162117A (ja) * | 2012-02-01 | 2013-08-19 | M-System Co Ltd | 増設ユニット及びその増設ユニットを含む電子機器 |
-
2014
- 2014-10-20 JP JP2014213958A patent/JP2016081389A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0792900A (ja) * | 1993-09-20 | 1995-04-07 | Omron Corp | プログラマブルコントローラ |
JP2004072905A (ja) * | 2002-08-06 | 2004-03-04 | Toshiba Corp | ディジタル形保護制御装置 |
JP2006039831A (ja) * | 2004-07-26 | 2006-02-09 | Koyo Electronics Ind Co Ltd | Plc |
JP2006330805A (ja) * | 2005-05-23 | 2006-12-07 | Mitsubishi Electric Corp | ユニット形プログラマブルコントローラ |
JP2013162117A (ja) * | 2012-02-01 | 2013-08-19 | M-System Co Ltd | 増設ユニット及びその増設ユニットを含む電子機器 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019028758A (ja) * | 2017-07-31 | 2019-02-21 | パナソニック デバイスSunx株式会社 | コントロールユニット、プログラマブルコントローラ |
JP7095961B2 (ja) | 2017-07-31 | 2022-07-05 | パナソニック デバイスSunx株式会社 | コントロールユニット、プログラマブルコントローラ |
CN111694315A (zh) * | 2019-03-12 | 2020-09-22 | Ls产电株式会社 | Plc系统的接口转换装置以及其plc系统 |
CN111694315B (zh) * | 2019-03-12 | 2024-03-01 | Ls产电株式会社 | Plc系统的接口转换装置以及其plc系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2148259A1 (en) | Field device management apparatus and field device management system | |
EP3146674B1 (en) | Configuring terminal devices | |
CN103516961B (zh) | 图像处理机及其制备方法及母卡 | |
US9898925B2 (en) | Method for operating a field device | |
US20070203590A1 (en) | Control apparatus including detachable keypad mounting communication port connecting personal computer to said keypad | |
JP2007219711A (ja) | リモートデバイス制御プログラム | |
JP6483999B2 (ja) | 設定支援装置、設定支援方法、プログラムおよびプログラマブル・ロジック・コントローラシステム | |
JP2021533515A (ja) | モノの記述モデルに基づいてUSBデバイスをモノのインターネット(IoT)のデバイスとして稼働させることができる方法及びシステム | |
JP2016081389A (ja) | プログラマブル・ロジック・コントローラおよびバス変換ユニット | |
JP6828600B2 (ja) | 情報処理システム、操作デバイス、情報処理方法及び情報処理プログラム | |
CN107645572B (zh) | 用于支持多种网络寻址模式的系统、方法和装置 | |
CN102571993A (zh) | 通信系统、通信装置以及服务器系统 | |
JP6483998B2 (ja) | プログラマブル・ロジック・コントローラおよび変換ユニット | |
JP2011186607A (ja) | フィールドデバイス、フィールドデバイスの設定方法、フィールドデバイス管理装置及びプログラム | |
JP2007066584A (ja) | 照明設備支援システム及び照明設備支援システム用プログラム | |
JP2019152949A (ja) | 表示装置、画面生成方法、および画面生成プログラム | |
JP2007011936A (ja) | プログラマブル表示器 | |
JP2011215813A (ja) | 外部機器特性表示システム及び表示装置、並びに外部機器特性表示方法 | |
JP4567982B2 (ja) | 制御機器のリンク設定装置 | |
JP2019179475A (ja) | サポート装置、サポートプログラム、設定方法 | |
JP5565624B2 (ja) | パラメータ設定ツール | |
JP2016110221A (ja) | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法および制御プログラム | |
JP6484015B2 (ja) | プログラマブル・ロジック・コントローラおよびその制御方法 | |
US10007257B2 (en) | Input/output system for an industrial automation system and method for providing an image of an input/output system | |
JP7361669B2 (ja) | 制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170831 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180625 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180620 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190107 |