JP2016110221A - プログラマブル・ロジック・コントローラ、基本ユニット、制御方法および制御プログラム - Google Patents
プログラマブル・ロジック・コントローラ、基本ユニット、制御方法および制御プログラム Download PDFInfo
- Publication number
- JP2016110221A JP2016110221A JP2014244365A JP2014244365A JP2016110221A JP 2016110221 A JP2016110221 A JP 2016110221A JP 2014244365 A JP2014244365 A JP 2014244365A JP 2014244365 A JP2014244365 A JP 2014244365A JP 2016110221 A JP2016110221 A JP 2016110221A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- extension
- identification information
- basic
- basic unit
- 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
- 238000000034 method Methods 0.000 title claims description 24
- 238000004891 communication Methods 0.000 claims description 61
- 230000008569 process Effects 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 11
- 238000007726 management method Methods 0.000 description 69
- 230000006870 function Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 24
- 238000013523 data management Methods 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 4
- 238000003780 insertion Methods 0.000 description 3
- 230000037431 insertion Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000001343 mnemonic effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 101100190617 Arabidopsis thaliana PLC2 gene Proteins 0.000 description 1
- 101100408456 Arabidopsis thaliana PLC8 gene Proteins 0.000 description 1
- 101100464304 Caenorhabditis elegans plk-3 gene Proteins 0.000 description 1
- 101100093534 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) RPS1B gene Proteins 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Landscapes
- Programmable Controllers (AREA)
Abstract
【課題】ユーザにとって拡張ユニットの識別情報の割り当ての自由度を増すこと。【解決手段】本発明によれば、基本ユニット3によって各拡張ユニット4に付与される構成IDと、ユーザプログラム上で各拡張ユニットを識別するために使用されるユニットIDとを別個に設け、これらの関連付けを管理することで、ユーザは、プログラム作成支援装置上で自由にユニットIDを決定できるようになる。つまり、ユーザにとっては、拡張ユニットのユニットIDの割り当ての自由度が増加することになる。【選択図】図19
Description
本発明は、プログラマブル・ロジック・コントローラ、基本ユニット、制御方法および制御プログラムに関する。
特許文献1が示すようにプログラマブル・ロジック・コントローラ(PLC)の基本ユニットには、一般に複数の拡張ユニットが接続される。基本ユニットは、プログラム作成支援装置などの設定支援装置から設定情報を取得し、設定情報で特定される各拡張ユニットの種類や接続態様、順番、識別情報にしたがって拡張ユニットと通信して拡張ユニットを制御する。なお、識別情報は、ラダープログラム上で各拡張ユニットを識別するためにも使用されている。
従来技術によれば、プログラム作成支援装置によって各拡張ユニットを識別するため識別情報が割り当てられないと、基本ユニットは各拡張ユニットを制御することができなかった。また、各拡張ユニットの識別情報は基本ユニットに近い側から順番に付与される番号であり、連番であった。そのため、ユーザは、各拡張ユニットの識別情報を任意に決定することができず、割り当ての自由度が欠けていた。たとえば、ユーザが新規に購入した拡張ユニットをある拡張ユニットと他の拡張ユニットとの間に設置すると、新規の拡張ユニットに識別情報を割り当てるとともに、他の拡張ユニットには識別情報を割り当て直さなければならなかった。また、割り当て直された識別情報にしたがってラダープログラムも修正しなければならなかった。
そこで、本発明は、ユーザにとって拡張ユニットの識別情報の割り当ての自由度を増すことを目的とする。
本発明は、たとえば、
ユーザプログラムを繰り返し実行する基本ユニットと、前記基本ユニットによって制御される1つ以上の拡張ユニットとを有するプログラマブル・ロジック・コントローラであって、
前記基本ユニットは、
前記基本ユニットに対して接続されている拡張ユニットを認識し、認識した各拡張ユニットに対してそれぞれ固有の第1識別情報を付与する認識手段と、
前記基本ユニットに接続可能な設定支援装置上で設定された識別情報であって、前記ユーザプログラム上で前記各拡張ユニットを識別するために使用される固有の第2識別情報と、対応する前記第1識別情報とを関連付けて管理する管理手段と
を有し、
前記各拡張ユニットは、
自ユニットに割り当てられている前記第1識別情報を少なくとも記憶する識別情報記憶手段と
を有することを特徴とするプログラマブル・ロジック・コントローラを提供する。
ユーザプログラムを繰り返し実行する基本ユニットと、前記基本ユニットによって制御される1つ以上の拡張ユニットとを有するプログラマブル・ロジック・コントローラであって、
前記基本ユニットは、
前記基本ユニットに対して接続されている拡張ユニットを認識し、認識した各拡張ユニットに対してそれぞれ固有の第1識別情報を付与する認識手段と、
前記基本ユニットに接続可能な設定支援装置上で設定された識別情報であって、前記ユーザプログラム上で前記各拡張ユニットを識別するために使用される固有の第2識別情報と、対応する前記第1識別情報とを関連付けて管理する管理手段と
を有し、
前記各拡張ユニットは、
自ユニットに割り当てられている前記第1識別情報を少なくとも記憶する識別情報記憶手段と
を有することを特徴とするプログラマブル・ロジック・コントローラを提供する。
本発明によれば、基本ユニットによって各拡張ユニットに付与される第1識別情報と、ユーザプログラム上で各拡張ユニットを識別するために使用される第2識別情報とを別個に設け、これらの関連付けを管理することで、ユーザは、設定支援装置上で自由に第2識別情報を決定できるようになる。つまり、ユーザにとって拡張ユニットの識別情報の割り当ての自由度が増加することになる。
以下に本発明の一実施形態を示す。以下で説明される個別の実施形態は、本発明の上位概念、中位概念および下位概念など種々の概念を理解するために役立つであろう。また、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。
はじめにプログラマブル・ロジック・コントローラ(PLC、単にプログラマブルコントローラと呼ばれてもよい)を当業者にとってよりよく理解できるようにするために、一般的なPLCの構成とその動作について説明する。
図1は、本発明の実施の形態によるプログラマブル・ロジック・コントローラシステムの一構成例を示す概念図である。図1に示すように、このシステムは、ラダープログラムなどのユーザプログラムの編集を行うためのプログラム作成支援装置1と、工場等に設置される各種制御装置を統括的に制御するためのPLC(プログラマブル・ロジック・コントローラ)2とを備えている。PLC2は、CPUが内蔵された基本ユニット3と1つないし複数の拡張ユニット4を備えている。基本ユニット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には基本ユニット用の制御プログラムも格納されている。
図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の右側面を保護するものであり、バスの終端機能を備えていてもよい。なお、拡張ユニット4の前面にはダイレクトアクセススイッチ27が設けられてもよい。ダイレクトアクセススイッチ27が操作されると、操作されたことを示す信号が通信バスを介して拡張ユニット4から基本ユニット3に伝達される。基本ユニット3は、この信号を受信することで、拡張ユニット4のダイレクトアクセススイッチ27が操作されたことを認識し、所定の処理(テスト結果の表示など)を実行する。
図6(A)はPLC2を構成する基本ユニット3、拡張ユニット4およびエンドユニット11が連結される前の状態を示している。この例では、基本ユニット3の右方向に1つ以上の拡張ユニット4が連結される。最も右に位置する拡張ユニット4にはエンドユニット11が連結される。エンドユニット11は、最も右に位置する拡張ユニット4の右側面を保護するものであり、バスの終端機能を備えていてもよい。なお、拡張ユニット4の前面にはダイレクトアクセススイッチ27が設けられてもよい。ダイレクトアクセススイッチ27が操作されると、操作されたことを示す信号が通信バスを介して拡張ユニット4から基本ユニット3に伝達される。基本ユニット3は、この信号を受信することで、拡張ユニット4のダイレクトアクセススイッチ27が操作されたことを認識し、所定の処理(テスト結果の表示など)を実行する。
図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が固定されている。この基板33には電源ラインや通信バスが実装される。雌型コネクタ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の右側面4Rにはエンドユニット11が設けられてもよい。エンドユニット11の左側面には、拡張ユニット4の右側面4Rに設けられた開口部35に嵌合する包囲部が設けられる。この包囲部の形状は、包囲部31の形状と類似していてもよいが、開口部35に嵌合する形状であれば異なる形状であってもよい。また、エンドユニット11の包囲部には終端抵抗に接続された突出部が設けられてもよい。これにより、終端が必要なバスをエンドユニット11で終端することができ、不要な定在波の発生を抑制できるようになる。
このように拡張ユニット4の左側面4Lは基本ユニット3や他の拡張ユニット4と連結するための連結面として機能する。また、拡張ユニット4の右側面4Rは他の拡張ユニット4やエンドユニット11と連結するための連結面として機能する。
<ユニットIDと構成ID>
従来は、各拡張ユニットを識別するためにユニットIDと呼ばれる識別情報がユーザによって決定され、プログラム作成支援装置1からPLC2の基本ユニット3へ通知されて、設定されていた。従来のユニットIDは、各拡張ユニットの接続位置(基本ユニット3を起点とした接続の順番)を示しており、連番であった。つまり、基本ユニット3に直接連結されている拡張ユニットにはユニットIDとして0が付与され、その次に連結された拡張ユニットにはユニットIDとして1が付与され、さらにその次に連結された拡張ユニットにはユニットIDとして2が付与されていた。ユーザは接続順番にしたがってユニットIDを付与しなければならず、任意のユニットIDを付与することができなかった。なお、このユニットIDはラダープログラムにおいて命令の対象となるユニットを識別するために使用されていた。一部の拡張ユニットが取り外されたり、新規の拡張ユニットが追加されたりすると、複数の拡張ユニット間での接続順番も変更されることが多い。よって、接続位置の変更に応じてユニットIDは振り直されなければならなかった。また、振り直されたユニットIDにしたがってラダープログラム上でのユニットIDも更新しなければならず、ユーザにとっては手間が多かった。
従来は、各拡張ユニットを識別するためにユニットIDと呼ばれる識別情報がユーザによって決定され、プログラム作成支援装置1からPLC2の基本ユニット3へ通知されて、設定されていた。従来のユニットIDは、各拡張ユニットの接続位置(基本ユニット3を起点とした接続の順番)を示しており、連番であった。つまり、基本ユニット3に直接連結されている拡張ユニットにはユニットIDとして0が付与され、その次に連結された拡張ユニットにはユニットIDとして1が付与され、さらにその次に連結された拡張ユニットにはユニットIDとして2が付与されていた。ユーザは接続順番にしたがってユニットIDを付与しなければならず、任意のユニットIDを付与することができなかった。なお、このユニットIDはラダープログラムにおいて命令の対象となるユニットを識別するために使用されていた。一部の拡張ユニットが取り外されたり、新規の拡張ユニットが追加されたりすると、複数の拡張ユニット間での接続順番も変更されることが多い。よって、接続位置の変更に応じてユニットIDは振り直されなければならなかった。また、振り直されたユニットIDにしたがってラダープログラム上でのユニットIDも更新しなければならず、ユーザにとっては手間が多かった。
また、ユニットIDは、プログラム作成支援装置1から転送される設定データ(プロジェクトデータ)に含まれていた。よって、プログラム作成支援装置1から設定データを転送される前は、拡張ユニット4にはユニットIDが付与されていないため、基本ユニット3は拡張ユニット4を制御することができなかった。たとえば、ユニットIDを必要とする命令語を用いた制御は実行不可能であった。また、この状態では、拡張ユニット4のシステムプログラム(ファームウエアなど)を基本ユニット3から更新することもできなかった。
そこで、本実施形態では、ユニットIDとは別の識別情報として構成IDを導入し、各拡張ユニットに付与されたユニットIDと構成IDとを関連付けて管理することで、ユニットIDの決定の自由度を増加させる。たとえば、構成IDは、基本ユニット3によって各拡張ユニットに付与される固有の識別情報であり、基本的に各拡張ユニットの接続位置を示しうるものであり、連番とされうるものである。一方、ユニットIDは、ラダープログラム上で拡張ユニット4を識別するための固有の識別情報であり、必ずしも接続位置を示していなくてもよいし、連番でなくてもよい。これにより、ユーザは、自由にユニットIDを付与できるようになる。また、プログラム作成支援装置1からプロジェクトデータを受信する前であっても、構成IDを用いて基本ユニット3と拡張ユニット4とが通信可能となるため、基本ユニット3は拡張ユニット4を制御できるようになり、拡張ユニット4のシステムプログラムも更新可能となる。
<PLCの機能>
図9は、基本ユニット用の制御プログラムを実行することで基本ユニットのCPUが実現する機能の一例を示す図である。なお、各機能はASIC(特定用途集積回路)などの論理回路として実装されてもよい。記憶装置12は、基本ユニット用の制御プログラム96、管理テーブル90およびプロジェクトデータ104などを記憶している。管理テーブル90は、ユニット構成管理部92によって作成されて管理されており、各拡張ユニットに付与されている構成IDとユニットIDとを関連付けている。プロジェクトデータ104は、プログラム作成支援装置1によって作成されて転送されてきたものであり、各拡張ユニットに割り当てられたユニットIDを含む設定データ105と、ラダープログラム106を含んでいる。プロジェクトデータ管理部91は、通信部14を介してプログラム作成支援装置1からプロジェクトデータ104を受信して記憶装置12に格納する。ユニット構成管理部92は、基本ユニット3に接続されている拡張ユニット4を認識してその接続位置に応じた固有の構成IDを決定して付与するとともに、各拡張ユニットに付与されている構成IDとユニットIDとを関連付けを管理するための管理テーブル90を作成したり、更新したりする。状態取得部93は、構成IDを用いて拡張ユニット4から結線状態などを示す状態情報を取得するユニットである。状態取得部93は、構成IDを用いて拡張ユニット4から結線状態などを示す状態情報を取得できるため、ユニットIDが拡張ユニット4に割り当てられていなくても状態情報を取得できる。更新部94は、構成IDを用いて拡張ユニット4に対してシステムプログラムを転送するユニットである。更新部94は、構成IDを用いて拡張ユニット4に対してシステムプログラムを転送するため、ユニットIDが拡張ユニット4に割り当てられていなくてもシステムプログラムを転送できる。UI制御部95は、操作部6の操作に応じてメニューを表示部5に表示したり、状態情報などを表示部5に表示したりするユニットである。
図9は、基本ユニット用の制御プログラムを実行することで基本ユニットのCPUが実現する機能の一例を示す図である。なお、各機能はASIC(特定用途集積回路)などの論理回路として実装されてもよい。記憶装置12は、基本ユニット用の制御プログラム96、管理テーブル90およびプロジェクトデータ104などを記憶している。管理テーブル90は、ユニット構成管理部92によって作成されて管理されており、各拡張ユニットに付与されている構成IDとユニットIDとを関連付けている。プロジェクトデータ104は、プログラム作成支援装置1によって作成されて転送されてきたものであり、各拡張ユニットに割り当てられたユニットIDを含む設定データ105と、ラダープログラム106を含んでいる。プロジェクトデータ管理部91は、通信部14を介してプログラム作成支援装置1からプロジェクトデータ104を受信して記憶装置12に格納する。ユニット構成管理部92は、基本ユニット3に接続されている拡張ユニット4を認識してその接続位置に応じた固有の構成IDを決定して付与するとともに、各拡張ユニットに付与されている構成IDとユニットIDとを関連付けを管理するための管理テーブル90を作成したり、更新したりする。状態取得部93は、構成IDを用いて拡張ユニット4から結線状態などを示す状態情報を取得するユニットである。状態取得部93は、構成IDを用いて拡張ユニット4から結線状態などを示す状態情報を取得できるため、ユニットIDが拡張ユニット4に割り当てられていなくても状態情報を取得できる。更新部94は、構成IDを用いて拡張ユニット4に対してシステムプログラムを転送するユニットである。更新部94は、構成IDを用いて拡張ユニット4に対してシステムプログラムを転送するため、ユニットIDが拡張ユニット4に割り当てられていなくてもシステムプログラムを転送できる。UI制御部95は、操作部6の操作に応じてメニューを表示部5に表示したり、状態情報などを表示部5に表示したりするユニットである。
なお、通信部14は、物理的に1つのユニットというわけではなく、ローカルエリアネットワーク用の通信回路や通信バスを介した通信を行う通信回路を含んでいる。もちろん、これらの複数の通信回路が1つのユニット(チップ)として実装されてもよい。
<プログラム作成支援装置の機能>
図10は、プログラム作成支援装置のCPU24が制御プログラムを実行することで実現する機能の一例を示す図である。プログラム作成支援装置1の機能のうち、基本ユニット3や拡張ユニット4の配置に関するユニット構成情報(設定データ105など)の設定機能を少なくとも有した設定支援装置が提供されてもよい。ここでは、説明の便宜上、プログラム作成支援機能も含むプログラム作成支援装置1として設定データ105の設定支援装置について説明する。設定データ105には、各ユニットを識別するためのユニットIDが含まれることになる。なお、ラダープログラムを作成して基本ユニット3に転送する支援装置と、設定データ105を作成して基本ユニット3に転送する支援装置とはそれぞれ別々に用意されてもよい。つまり、設定データ105の設定支援装置は、設定データ105の設定機能を有した支援装置であってもよいし、設定データ105の設定機能およびプログラム作成支援機能も含む支援装置であってもよい。
図10は、プログラム作成支援装置のCPU24が制御プログラムを実行することで実現する機能の一例を示す図である。プログラム作成支援装置1の機能のうち、基本ユニット3や拡張ユニット4の配置に関するユニット構成情報(設定データ105など)の設定機能を少なくとも有した設定支援装置が提供されてもよい。ここでは、説明の便宜上、プログラム作成支援機能も含むプログラム作成支援装置1として設定データ105の設定支援装置について説明する。設定データ105には、各ユニットを識別するためのユニットIDが含まれることになる。なお、ラダープログラムを作成して基本ユニット3に転送する支援装置と、設定データ105を作成して基本ユニット3に転送する支援装置とはそれぞれ別々に用意されてもよい。つまり、設定データ105の設定支援装置は、設定データ105の設定機能を有した支援装置であってもよいし、設定データ105の設定機能およびプログラム作成支援機能も含む支援装置であってもよい。
図10において、ユニットID設定部101は、表示部7にユニットIDを設定するためのユーザインタフェースを表示し、ユーザが操作部8を通じて指定したユニットIDを受け付け、拡張ユニット4とユニットIDとの関係を示す設定データ105を作成し、プロジェクトデータ作成部103に渡す。プログラム作成部102は、表示部7にラダープログラムを作成するためのグラフィカルユーザインタフェース(GUI)を表示し、ユーザが操作部8を通じて入力したラダー図にしたがってラダープログラム106を作成し、プロジェクトデータ作成部103に渡す。プロジェクトデータ作成部103は、設定データ105とラダープログラム106とを含むプロジェクトデータ104を作成し、通信部26を介して基本ユニット3に転送する。
<拡張ユニットの機能>
図11は、拡張ユニットのCPUがシステムプログラム120を実行することで実現する機能の一例を示す図である。なお、各機能はASIC(特定用途集積回路)などの論理回路として実装されてもよい。拡張ユニット4は、CPU110、記憶装置111と通信部112とを備えている。通信部112は、上述した通信バスを介して基本ユニット3と通信したり、他の拡張ユニット4の通信信号を中継したりしてもよい。記憶装置12は、ROMやRAMなどにより構成されている。
図11は、拡張ユニットのCPUがシステムプログラム120を実行することで実現する機能の一例を示す図である。なお、各機能はASIC(特定用途集積回路)などの論理回路として実装されてもよい。拡張ユニット4は、CPU110、記憶装置111と通信部112とを備えている。通信部112は、上述した通信バスを介して基本ユニット3と通信したり、他の拡張ユニット4の通信信号を中継したりしてもよい。記憶装置12は、ROMやRAMなどにより構成されている。
構成ID管理部113は、基本ユニット3によって設定された構成ID118を、通信部112を介して受信し、記憶装置111に格納する。ユニットID管理部114は、基本ユニット3によって設定されたユニットID119を、通信部112を介して受信し、記憶装置111に格納する。このように記憶装置111は、構成ID118やユニットID119などの識別情報を記憶する識別情報記憶手段として機能する。接続状態管理部115は、自ユニットに対して他の拡張ユニット4が接続されているかどうかを判別したり、他の拡張ユニット4との接続状態を検知したりするユニットである。結線状態検知部116は、被制御装置16などの外部機器と自ユニットとの結線状態を検知して、結線状態を示す状態情報を作成して、構成ID118とともに基本ユニット3に送信するユニットである。書き換え部117は、構成IDを用いて基本ユニット3の更新部94から転送されてきたシステムプログラム120を受信し、記憶装置111の一部であるシステムROMに保持されているシステムプログラムを書き換えて更新するユニットである。なお、CPU110は、ダイレクトアクセススイッチ27が操作されたことを検知すると、ダイレクトアクセススイッチ27が操作されたことを示すデータに構成IDを付与して基本ユニット3に送信してもよい。命令実行部122は、ユニットIDに関連付けて基本ユニット3から送信されてきた命令を実行し、実行結果を返送するユニットである。なお、命令の伝達と実行結果の返送はデバイスメモリを介して実行されてもよい。ダイレクトアクセススイッチ27は、結線状態を検知するときやシステムプログラム120を受信するときに操作され、CPU110は基本ユニット3に対して結線状態の送信源やシステムプログラム120の受信源を構成IDによって通知する。
<構成IDの割り当て>
図12は基本ユニット用の制御プログラムにしたがってCPU10(ユニット構成管理部92)が実行する構成ID割り当て処理の一例を示すフローチャートである。ユニット構成管理部92は、たとえば、基本ユニット3に外部電源から電力を供給されて起動すると、構成ID割り当て処理を実行する。拡張ユニット4の追加や削除は、基本ユニット3に電力が供給されていない状態で実行される。よって、基本ユニット3は起動した直後に実行する初期化のシーケンスにおいて構成ID割り当て処理を実行する。
図12は基本ユニット用の制御プログラムにしたがってCPU10(ユニット構成管理部92)が実行する構成ID割り当て処理の一例を示すフローチャートである。ユニット構成管理部92は、たとえば、基本ユニット3に外部電源から電力を供給されて起動すると、構成ID割り当て処理を実行する。拡張ユニット4の追加や削除は、基本ユニット3に電力が供給されていない状態で実行される。よって、基本ユニット3は起動した直後に実行する初期化のシーケンスにおいて構成ID割り当て処理を実行する。
S10でユニット構成管理部92は通信部14のバスマスタ制御部および通信バスを介して拡張ユニット4に対して機種問い合わせを送信する。機種問い合わせとは、拡張ユニット4がどのような機種であるかを問い合わせることをいう。複数の拡張ユニット4のそれぞれ通信部112は通信バスに接続されており、通信バスを送受信される通信信号をバケツリレー方式で基本ユニット3へ伝達する。問い合わせは、まず、基本ユニット3に直接連結された拡張ユニット4によって受信される。拡張ユニット4の構成ID管理部113は自ユニットにはまだ構成IDが割り当てられていないことを記憶装置111の構成ID118を参照して認識すると、自ユニットの識別情報(拡張ユニットの機種名や種別を示す情報)を基本ユニット3に返信する。なお、構成IDを割り当てられていない拡張ユニット4が問い合わせを受信したときは、この問い合わせを別の拡張ユニットには中継しない。反対に、構成IDを割り当てられている拡張ユニット4が問い合わせを受信したときは、隣に接続されている別の拡張ユニットに問い合わせを中継する。
S11でユニット構成管理部92は拡張ユニット4から機種問い合わせに対する返信を受信する。この返信には、拡張ユニット4の機種を示す識別情報が含まれている。
S12でユニット構成管理部92は拡張ユニット4に対して構成IDを割り当てる。構成IDは、基本的に、接続位置を示す情報であるため、たとえば、連番となるように決定される。たとえば、ユニット構成管理部92は構成IDをカウントするためのカウンタを備え、構成IDを割り当てるたびにカウンタを1つずつ増分させてもよい。ユニット構成管理部92は管理テーブル90にエントリーを作成し、そのエントリーに拡張ユニット4の構成ID、位置情報およびユニット種別(拡張ユニット4の識別情報)などを登録する。
図13は管理テーブル90の一例を示す図である。この例では、基本ユニット3の右隣りに入力ユニットTypeAという識別情報の拡張ユニット4が連結されており、さらにその右隣りにアナログ出力ユニットTypeBという識別情報の拡張ユニット4が連結されている。さらにその右隣りには、延長ユニットTypeCという識別情報の拡張ユニット4が連結されている。延長ユニットTypeCと延長ユニットTypeDは1つのペアを形成し、これらは通信バスを延長する延長ケーブルで接続されている。ビルディングタイプのPLC2は基本ユニット3から右方向に一列に複数の拡張ユニット4が連結されることを基本としている。しかし、あまりにも多くの拡張ユニット4が連結されると、連結長が長くなりすぎ、製造ラインを制御する制御箱に収まりきらなくなることもある。そこで、延長ユニットを追加することで、基本ユニット3を含む一列目とは別に、2列目(延長1段目)の拡張ユニット群を配置することが可能となる。これにより、連結長が短くなるため、PLC2が制御箱に収まるようになる。なお、延長ユニットが通信バスの延長機能を有しているものの、入出力機能などの他の機能を有していない場合、ユニットIDは付与されなくてもよい。延長ユニットはラダープログラムによって制御されるものではないからである。なお、延長ユニットTypeCと延長ユニットTypeDには構成IDが付与される。図13において、延長ユニットTypeDの右隣りには出力ユニットTypeEが連結されている。ユニット構成管理部92は構成IDを連番で付与する。また、ユニット構成管理部92は構成IDとユニット種別に応じて位置情報を決定する。ユニット構成管理部92は、CPU右1台目、CPU右2台目というように順番に位置を決定し、延長ユニットが登場したときは、連結段(連結列)を変更し、延長1段目1台目、延長1段目2台目というように順番に位置を決定して行く。なお、ユニット構成管理部92は何段目かをカウントするカウンタを備えていてもよい。
S13でユニット構成管理部92は拡張ユニット4に対して接続状態を問い合わせる。接続状態とは、その拡張ユニット4の隣に別の拡張ユニット4が接続されているかどうかである。接続状態の問い合わせを受信した拡張ユニット4の接続状態管理部115は通信部112および通信バスを介し、別の拡張ユニット4が接続されているかどうかを検知する。たとえば、これは通信バスにおける特定の信号線の信号レベルなどから判別可能である。接続状態管理部115は接続状態に対する返信(接続有り/接続無し)を作成し、通信バスを介して基本ユニット3に送信する。
S14でユニット構成管理部92は拡張ユニット4の返信を受信し、返信内容に基づき、別の拡張ユニット4が接続されているかどうかを判定する。構成IDが割り当てられていない別の拡張ユニット4が存在する場合、S10に戻り、その別の拡張ユニット4に対して問い合わせを送信する。以下、ユニット構成管理部92はS11〜S14を実行し、その別の拡張ユニット4に対して同様に構成IDを付与する。すべての拡張ユニット4に対して構成IDが割り当てられると、S14でNoとなり、ユニット構成管理部92は本処理を終了する。
<構成IDとプロジェクトIDの関連付け>
プロジェクトデータ104をプログラム作成支援装置1から受信すると、基本ユニット3において拡張ユニット4のユニットIDが確定することになる。ここでは、構成IDとユニットIDとの関連付けについて説明する。
プロジェクトデータ104をプログラム作成支援装置1から受信すると、基本ユニット3において拡張ユニット4のユニットIDが確定することになる。ここでは、構成IDとユニットIDとの関連付けについて説明する。
図14は構成IDとユニットIDとの関連付けの一例を示す図である。S15で基本ユニット3のプロジェクトデータ管理部91は、通信部14のうちプログラム作成支援装置1と通信するための通信回路(LANやUSBなどの通信回路)を通じてプログラム作成支援装置1からプロジェクトデータ104を受信する。
S16でプロジェクトデータ管理部91は拡張ユニット4の識別情報に基づき構成IDとユニットIDとを関連付け、管理テーブル90に登録する。ここでの識別情報は、拡張ユニット4の名称、型名などの種別情報や機種情報であり、工場出荷時に予め決定される情報である。プロジェクトデータ104の一部である設定データ105には、プログラム作成支援装置1により設定された拡張ユニット4の識別情報やユニットIDが含まれている。プロジェクトデータ管理部91は、ある設定データ105に含まれている拡張ユニット4の識別情報と、管理テーブル90に登録されている識別情報(S11で受信したもの)とを比較し、これらが一致するエントリーを検索する。両者の識別情報が一致するエントリーが見つかると、プロジェクトデータ管理部91はそのエントリーにユニットIDを登録する。これにより、構成IDとユニットIDとが関連付けられる。
S17でプロジェクトデータ管理部91は構成IDを用いて各拡張ユニット4と通信し、ユニットIDを各拡張ユニット4に割り当てる。プロジェクトデータ管理部91によって通信バスを介して送信される割り当て信号には、構成IDとユニットIDとが含まれている。各拡張ユニット4のユニットID管理部114は割り当て信号を受信すると、割り当て信号の構成IDと自ユニットに割り当てられている構成IDとを比較し、これらが一致すると、割り当て信号に含まれているユニットIDを記憶装置111に格納する。設定データ105に含まれているすべてのユニットIDが割り当て終わるまでS15ないしS17は繰り返し実行される。
<拡張ユニットにおける構成IDの設定>
図15は拡張ユニットにおける構成IDの設定を示す図である。S21でCPU110(構成ID管理部113)は、基本ユニット3から通信バスを介して送信されてくる識別情報の問い合わせを受信する。S22で構成ID管理部113は自ユニットの識別情報を記憶装置111から読み出し、識別情報を基本ユニット3に返信する。S23で構成ID管理部113は基本ユニット3から構成IDを受信し、記憶装置111に記憶する。
図15は拡張ユニットにおける構成IDの設定を示す図である。S21でCPU110(構成ID管理部113)は、基本ユニット3から通信バスを介して送信されてくる識別情報の問い合わせを受信する。S22で構成ID管理部113は自ユニットの識別情報を記憶装置111から読み出し、識別情報を基本ユニット3に返信する。S23で構成ID管理部113は基本ユニット3から構成IDを受信し、記憶装置111に記憶する。
S24で接続状態管理部115は接続状態の問い合わせを受信する。S25で接続状態管理部115は自ユニットに別の拡張ユニット4が連結されているかどうかを検知する。別の拡張ユニット4の判別方法は、上述した信号線のレベルを検知する方法であってもよいし、別の拡張ユニット4に対して問い合わせ信号を送信し、それに対する返信に応じて検知してもよい(返信が無ければ、別の拡張ユニット4が存在しないと判断するなど)。S26で接続状態管理部115は、別の拡張ユニット4が連結されているかどうか(接続状態)を示す情報を作成し、基本ユニット3に送信する。
<拡張ユニットにおける構成IDの設定>
図16は設定データ105を作成するためのGUIの一例を示す図である。CPU24のユニットID設定部101は表示部7にGUIを表示する。ユニットID設定部101は表示部7にCPU機種リスト65を表示し、CPU機種リスト65に列挙されているいずれかの基本ユニットが操作部8の操作に連動して移動するポインタ64により選択される。CPU機種リスト65は、予め記憶装置25の編集ソフト記憶部25bに記憶されていてもよい。この例ではユニットID設定部101は基本ユニットA1という機種名の基本ユニットがCPU機種リスト65から選択されたことを認識する。機種名に代えて型番が表示されてもよいし、機種名と型番が同時に表示されてもよいし、その機種についての説明なども表示されてもよい。ユニットID設定部101は、選択された基本ユニットがポインタ64によりドラッグされてレイアウトエリア67内でドロップされたことを検知すると、基本ユニットの配置位置を決定し、レイアウトエリア67の左端に基本ユニットのシンボル画像を表示する。CPU機種リスト65にはシンボル画像が表示されてもよいし、機種名が表示されてもよい。シンボル画像は、機種名を示す文字情報とともに、ユニットの画像が含まれていてもよい。シンボル画像は、実際のユニットの正面の画像であってもよい。ユニットID設定部101は基本ユニットに対してデフォルトのユニットIDである“0”を付与し、ユニットID表示部68にユニットIDを表示する。なお、操作部8を通じてユニットIDの変更が指示されると、ユニットID設定部101は、操作部8から指示されたユニットIDに変更し、ユニットID表示部68の表示を更新する。また、ユニットID設定部101は、基本ユニットA1の識別情報(機種名など)とユニットIDとを関連付けて設定データ105を作成し、プロジェクトデータ作成部103に渡す。
図16は設定データ105を作成するためのGUIの一例を示す図である。CPU24のユニットID設定部101は表示部7にGUIを表示する。ユニットID設定部101は表示部7にCPU機種リスト65を表示し、CPU機種リスト65に列挙されているいずれかの基本ユニットが操作部8の操作に連動して移動するポインタ64により選択される。CPU機種リスト65は、予め記憶装置25の編集ソフト記憶部25bに記憶されていてもよい。この例ではユニットID設定部101は基本ユニットA1という機種名の基本ユニットがCPU機種リスト65から選択されたことを認識する。機種名に代えて型番が表示されてもよいし、機種名と型番が同時に表示されてもよいし、その機種についての説明なども表示されてもよい。ユニットID設定部101は、選択された基本ユニットがポインタ64によりドラッグされてレイアウトエリア67内でドロップされたことを検知すると、基本ユニットの配置位置を決定し、レイアウトエリア67の左端に基本ユニットのシンボル画像を表示する。CPU機種リスト65にはシンボル画像が表示されてもよいし、機種名が表示されてもよい。シンボル画像は、機種名を示す文字情報とともに、ユニットの画像が含まれていてもよい。シンボル画像は、実際のユニットの正面の画像であってもよい。ユニットID設定部101は基本ユニットに対してデフォルトのユニットIDである“0”を付与し、ユニットID表示部68にユニットIDを表示する。なお、操作部8を通じてユニットIDの変更が指示されると、ユニットID設定部101は、操作部8から指示されたユニットIDに変更し、ユニットID表示部68の表示を更新する。また、ユニットID設定部101は、基本ユニットA1の識別情報(機種名など)とユニットIDとを関連付けて設定データ105を作成し、プロジェクトデータ作成部103に渡す。
図17はGUIの一例を示す図である。基本ユニットの配置が完了すると、次は、拡張ユニットの選択が実行される。CPU24のユニットID設定部101は選択された基本ユニットに接続可能な拡張ユニットを列挙した拡張ユニットリスト66を表示部7に表示する。拡張ユニットリスト66も予め記憶装置25の編集ソフト記憶部25bに記憶されていてもよい。拡張ユニットリスト66に列挙されているいずれかの拡張ユニットがポインタ64により選択されると、ユニットID設定部101は選択された拡張ユニットを認識する。この例では、基本ユニットA1に対して直接接続可能な拡張ユニットa1が選択されている。選択された拡張ユニットがポインタ64によりドラッグされてレイアウトエリア67内でドロップされると、ユニットID設定部101は、ドロップされた位置に最も近い配置可能な位置を拡張ユニットの配置位置として決定し、レイアウトエリア67に拡張ユニットのシンボル画像を表示する。なお、ユニットID設定部101は拡張ユニットを左詰めで配置して行く。なぜなら、左端に基本ユニットが配置されるからである。ユニットID設定部101は拡張ユニットa1に対してデフォルトのユニットIDである“1”を付与し、ユニットID表示部68にユニットIDを表示する。操作部8を通じてユニットIDの変更が指示されると、ユニットID設定部101は、操作部8から指示されたユニットIDに変更し、ユニットID表示部68の表示を更新する。このようにユニットIDはユーザが任意のIDに変更可能であり、必ずしも連番である必要はない。ただし、従来は連番でユニットIDを付与する慣習であったため、ユニットID設定部101はデフォルトのユニットIDを連番で設定し、ユーザの入力をアシストしてもよい。なお、デフォルトのユニットIDは一切表示されなくてもよい。
2つ以上の拡張ユニットがすでにレイアウトエリア67に表示されている場合、ユニットID設定部101は、ドロップ位置に応じて2つの拡張ユニットの間に他の同種の拡張ユニットを追加挿入してもよい。ユニットID設定部101は、すでに付与されているユニットIDを変更せずにそのまま維持し、追加されたユニットIDには割り当て済みのユニットIDとは重複しない他のユニットIDを付与する。ユニットID設定部101は、ユニットIDを指定するためのダイアログを表示し、操作部8を通じて指定されたユニットIDを、付与対象のユニットの識別情報に関連付けてもよい。ユニットID設定部101は、拡張ユニットa1の識別情報(機種名など)とユニットIDとを関連付けて設定データ105を作成し、プロジェクトデータ作成部103に渡す。
図18はユニットIDの割り当て処理の一例を示すフローチャートである。S31でユニットID設定部101は操作部8を通じて拡張ユニットの追加が指示されたかどうかを判定する。上述したように、拡張ユニットリスト66からいずれかのユニットが選択されてレイアウトエリア67にドロップされたことは、拡張ユニットの追加が指示されたことに相当する。拡張ユニットの追加が指示されると、S32に進む。
S32でユニットID設定部101は追加された拡張ユニットに対するユニットIDを決定する。ユニットID設定部101は操作部8を通じて入力された数値をユニットIDとして決定してもよいし、デフォルトのユニットIDを予めユニットID表示部68に表示してそのユニットIDの変更指示を受け付け、変更指示にしたがってユニットIDを設定してもよい。いずれにしてもユーザは任意のユニットIDを付与することができ、必ずしも連番である必要はない。次にS33に進む。なお、S31で拡張ユニットの追加が指示されてないときもS33に進む。
S33でユニットID設定部101は操作部8を通じて拡張ユニットの削除が指示されたかどうかを判定する。レイアウトエリア67に配置されているいずれかユニットが操作部8の操作によってドラッグされ、レイアウトエリア67の外部にドロップされたことを検知すると、ユニットID設定部101はそのユニットが削除されたものと認識する。拡張ユニットの削除が指示されたのであれば、S34に進む。
S34でユニットID設定部101は削除された拡張ユニットに付与されていたユニットIDを再付与可能にする。ユニットID設定部101は削除された拡張ユニットについてのエントリーを設定データ105から削除する。これにより、削除された拡張ユニットに付与されていたユニットIDを再付与可能になる。次にS35に進む。なお、S33で拡張ユニットの削除が指示されてないときもS35に進む。
S35でユニットID設定部101はユニットIDの設定が終了したかどうかを判定する。たとえば、操作部8からユニットIDの設定終了が指示されると、ユニットID設定部101はユニットIDの設定が終了したと判定する。設定終了が指示されていなければS31に戻る。ユニットIDの設定が終了するとS36に進む。
S36でプロジェクトデータ作成部103は、ユニットID設定部101により作成された設定データ105とプログラム作成部102により作成されたラダープログラム106とをプロジェクトデータとしてまとめ、基本ユニット3に対して転送する。
<ユニットIDの割り当ての具体例>
図19ないし図21を用いてユニットIDの割り当ての具体例を説明する。図19(A)は予めユーザによって決定された各ユニットの配置とユニットIDとを示している。ここでは、図19(A)に示された各ユニットの配置を基本配置と呼び、図19(B)ないし図19(D)ではこの基本配置の一部が変更されている。
図19ないし図21を用いてユニットIDの割り当ての具体例を説明する。図19(A)は予めユーザによって決定された各ユニットの配置とユニットIDとを示している。ここでは、図19(A)に示された各ユニットの配置を基本配置と呼び、図19(B)ないし図19(D)ではこの基本配置の一部が変更されている。
図19(A)において基本ユニット3の右隣りには第1拡張ユニット4aが連結されており、第1拡張ユニット4aには第2拡張ユニット4bが連結されており、第2拡張ユニット4bには第3拡張ユニット4cが連結されている。基本ユニット3は、接続位置に応じて、第1拡張ユニット4a、第2拡張ユニット4b、第3拡張ユニット4cに対し、それぞれ構成IDとして0、1、2を割り当てる。また、基本ユニット3は、プログラム作成支援装置1によって付与されたユニットIDを第1拡張ユニット4a、第2拡張ユニット4b、第3拡張ユニット4cに付与する。この例では、第1拡張ユニット4a、第2拡張ユニット4b、第3拡張ユニット4cに対し、それぞれユニットIDとして1、2、3が割り当てられている。ここでは、説明の便宜上、ユニットIDを連番としているが、ユニットIDは任意であり、連番でなくてもよい。
図19(B)は拡張ユニットが追加(新規に連結)されたときの各ユニットの配置とユニットIDとを示している。図19(A)と図19(B)とを比較すると分かるように、図19(B)では第4拡張ユニット4dが第2拡張ユニット4bと第3拡張ユニット4cとの間に追加されている。基本ユニット3は、接続位置に応じて、第1拡張ユニット4a、第2拡張ユニット4b、第4拡張ユニット4d、第3拡張ユニット4cに対し、それぞれ構成IDとして0、1、2、3を割り当てる。第3拡張ユニット4cは接続位置が変更されているため構成IDが変更される。第4拡張ユニット4dには接続位置に応じた構成IDが割り当てられる。基本ユニット3は、プログラム作成支援装置1によって付与されたユニットIDを第1拡張ユニット4a、第2拡張ユニット4b、第4拡張ユニット4d、第3拡張ユニット4cに付与する。この例では、第1拡張ユニット4a、第2拡張ユニット4b、第4拡張ユニット4d、第3拡張ユニット4cに対し、それぞれユニットIDとして1、2、4、3が割り当てられている。ここで注目すべき点は、第3拡張ユニット4cのユニットIDは接続位置が変更されているにもかかわらず、ユニットIDが変更されていないことである。つまり、ユーザによって設定されたユニットIDが維持される。ユニットIDはラダープログラム上で命令語の対象を指定するために使用される。よって、ユニットIDが変更されてしまうと、ユーザは、手入力でユニットIDを変更しなければならなかった。一方で、本実施例であれば、拡張ユニットの配置が変更されてもユニットIDは変更されないため、ユーザはラダープログラムを書き換える手間を省けるようになる。
図19(C)は一部の拡張ユニットが削除された(PLC2から取り外された)ときの各ユニットの配置とユニットIDとを示している。図19(C)の配置では、図19(A)に示された基本配置のPLC2から第2拡張ユニット4bが削除されている。基本ユニット3は連番で構成IDを付与するため、第3拡張ユニット4cの構成IDを1に更新する。また、基本ユニット3は設定データ105にしたがってユニットIDを第1拡張ユニット4a、第3拡張ユニット4cに付与する。設定データ105が変更されない限り、各ユニットに付与されるユニットIDは変更されずに維持される。
図19(D)はユニットIDが付与されない特殊なユニット4xが追加されたときの各ユニットの配置とユニットIDとを示している。上述した延長ユニットなどのように、ラダープログラムから制御されないユニットにはユニットIDが付与されない。ただし、このような特殊なユニット4xであっても通信機能を有している場合、基本ユニット3は構成IDを付与する。プログラム作成支援装置1ではGUIにおいて特殊なユニット4xがレイアウトエリア67に配置されるが、ユニットID設定部101は、ユニットIDを指定するためのユニットID表示部68を表示しないか、あるいは、ユニットIDを指定できない状態でユニットID表示部68を表示する。よって、設定データ105においても特殊なユニット4xのエントリーにはユニットIDが付与されない。なお、第2拡張ユニット4bと第3拡張ユニット4cとの間に特殊なユニット4xが挿入されているため、第3拡張ユニット4cの構成IDは変更される。
図20(A)は延長ユニットが存在するときの構成IDとユニットIDの付与例を示している。この例では、基本ユニット3の連結列の末尾に延長ユニット15aが連結されている。延長ユニット15aはペアとなる延長ユニット15bとケーブルを介して接続されている。延長ユニット15bは別の連結列(連結段)の先頭に配置されており、そこから3つの拡張ユニットが連結されている。基本ユニット3のユニット構成管理部92は接続位置に応じて各ユニットの構成IDを決定する。そのため、第1拡張ユニット4aの構成IDは0であり、第2拡張ユニット4bの構成IDは1であり、延長ユニット15aの構成IDは2である。さらに、延長ユニット15bの構成IDは3であり、第3拡張ユニット4cの構成IDは4であり、第4拡張ユニット4dの構成IDは5であり、第5拡張ユニット4eの構成IDは6である。ただし、ユニットIDに関してはユーザが自由に設定したユニットIDが各ユニットに付与されている。たとえば、基本ユニット3の連結列では一桁のユニットIDが付与されているが、別の連結列では10番台のユニットIDが付与されている。これにより、一桁のユニットIDが付与されている拡張ユニットは第1の連結列に存在し、10番台のユニットIDが付与されている拡張ユニットは第2の連結列に存在することをユーザは区別しやすくなろう。一桁のユニットIDである1、2、3は、01、02、03と理解されてもよい。つまり、0は基本ユニット3の連結列であることを示している。このようにユニットIDは、連結列を示す情報と各連結列におけるユニットの接続位置を示す情報から構成されてもよい。
図20(B)は延長ユニットが存在するときの構成IDとユニットIDの他の付与例を示している。図20(A)と比較して図20(B)では延長ユニットの接続位置が変更されている。ユニット構成管理部92は接続位置に応じて各ユニットの構成IDを決定するため、延長ユニット15aに構成IDとして0を割り当てる。次に、ユニット構成管理部92は延長ユニット15bに構成IDとして1を割り当てる。なお、延長ユニット15aは、基本ユニット3からの機種問い合わせをまず延長ユニット15bに中継し、延長ユニット15bを含む連結列における右端のユニットに構成IDが付与されると第1拡張ユニット4aに機種問い合わせを中継する。ユニット構成管理部92や延長ユニット15aは、右端のユニットに構成IDが付与されたことを、右端のユニットの接続状態を示す情報が「右隣りには拡張ユニットが存在しない」ことを示していることに基づき判別してもよい。延長ユニット15aは接続状態を示す情報として、「右隣りには拡張ユニットが存在すること」および「延長ユニット15bが存在すること」をユニット構成管理部92に報告しているため、ユニット構成管理部92は、まず、延長ユニット15bが属する連結列から構成IDを付与し、それが完了すると延長ユニット15aの右隣りの第1拡張ユニット4aに対して構成IDを付与する。このような延長ユニット15aの中継機能は構成ID管理部113または接続状態管理部115が担当する。
図20(B)によれば、ユニット構成管理部92は延長ユニット15bに接続されている第2拡張ユニット4bに対して構成IDとして2を割り当てる。同様に、第3拡張ユニット4cに対して構成IDとして3が割り当てられ、第4拡張ユニット4dに対して構成IDとして4が割り当てられる。第4拡張ユニット4dは右端のユニットであるため、右には拡張ユニットが接続されていないことを示す接続状態の情報をユニット構成管理部92に返信する。これにより、ユニット構成管理部92は、延長ユニット15aの右に接続されている第1拡張ユニット4aを次の割り当て対象として選択し、構成IDとして5を付与する。なお、各ユニットへのユニットIDは、プログラム作成支援装置1においてユーザによって決定されたものが付与される。このように、延長ユニット15a、15bによって別の連結列が構成されるときは、延長ユニット15a、15bおよび別の連結列の拡張ユニットが一列に連結されているものと仮定して構成IDを付与して行く。
図21は延長ユニットが存在するときの構成IDとユニットIDの他の付与例を示している。図20(B)では連結列が2列であったが、図21の連結列は3列になっている。なお、構成IDの割り当てルールはすでに説明したとおりである。まず、ユニット構成管理部92は、延長ユニット15a、15bによって延長される連結列について構成IDを付与する。つまり、延長ユニット15a、15b、第1拡張ユニット4a、第2拡張ユニット4b、および、第3拡張ユニット4cの順番で構成IDが連番で付与されて行く。つまり、延長ユニット15a、15b、第1拡張ユニット4a、第2拡張ユニット4b、および、第3拡張ユニット4cにはそれぞれ構成IDとして0ないし4が付与される。
ユニット構成管理部92は、右端に位置する第3拡張ユニット4cまで構成IDを付与すると、基本ユニット3の連結列に戻り、延長ユニット15aの右に連結されているユニットに構成IDを付与する。図21が示すように、延長ユニット15aの右に連結されているユニットは延長ユニット15cである。そのため、ユニット構成管理部92は、延長ユニット15c、15dによって延長されるさらに別の連結列に含まれているユニットに対して構成IDを連番で付与して行く。つまり、延長ユニット15c、15d、第4拡張ユニット4d、第5拡張ユニット4e、および、第6拡張ユニット4fにはそれぞれ構成IDとして5ないし9が付与される。
ユニット構成管理部92は、右端に位置する第6拡張ユニット4fまで構成IDを付与すると、基本ユニット3の連結列に戻り、延長ユニット15cの右に連結されているユニットに構成IDを付与する。つまり、第7拡張ユニット4g、第8拡張ユニット4hにはそれぞれ構成IDとして10、11が付与される。
図21においても各ユニットへのユニットIDはプログラム作成支援装置1においてユーザによって決定されたものが付与される。この例では、基本ユニット3の連結列では一桁のユニットIDが付与されているが、別の連結列では10番台のユニットIDが付与され、さらに別の連結列では20番台のユニットIDが付与されている。このようにユニットIDによってどのユニットがどの連結列に含まれているかを識別可能としてもよい。
<まとめ>
本実施形態によれば、PLC2は、ユーザプログラムを繰り返し実行する基本ユニット3と、基本ユニット3によって制御される1つ以上の拡張ユニット4とを有している。基本ユニット3のユニット構成管理部92は、基本ユニット3に対して接続されている拡張ユニット4を認識し、認識した各拡張ユニット4に対してそれぞれ固有の第1識別情報(例:構成ID)を付与する認識手段として機能する。また、プロジェクトデータ管理部91は第2識別情報(例:ユニットID)と、対応する第1識別情報とを関連付けて管理する管理手段として機能する。第2識別情報は、基本ユニット3に接続可能な設定支援装置(たとえば、ユーザプログラムやユニット構成情報を作成して転送するプログラム作成支援装置1など)上で設定された識別情報であって、ユーザプログラム上で各拡張ユニット4を識別するために使用される固有の識別情報である。各拡張ユニット4の記憶装置111は、自ユニットに割り当てられている構成IDを少なくとも記憶する識別情報記憶手段として機能する。このようにユーザプログラム上で各ユニットを識別するためのユニットIDと、基本ユニット3が各拡張ユニット4に付与する構成IDとを別々に設けることで、ユーザにとっての、拡張ユニットの識別情報の割り当ての自由度が増すことになる。なお、記憶装置111は、自ユニットに割り当てられているユニットIDと構成IDとを記憶する識別情報記憶手段として機能してもよい。
本実施形態によれば、PLC2は、ユーザプログラムを繰り返し実行する基本ユニット3と、基本ユニット3によって制御される1つ以上の拡張ユニット4とを有している。基本ユニット3のユニット構成管理部92は、基本ユニット3に対して接続されている拡張ユニット4を認識し、認識した各拡張ユニット4に対してそれぞれ固有の第1識別情報(例:構成ID)を付与する認識手段として機能する。また、プロジェクトデータ管理部91は第2識別情報(例:ユニットID)と、対応する第1識別情報とを関連付けて管理する管理手段として機能する。第2識別情報は、基本ユニット3に接続可能な設定支援装置(たとえば、ユーザプログラムやユニット構成情報を作成して転送するプログラム作成支援装置1など)上で設定された識別情報であって、ユーザプログラム上で各拡張ユニット4を識別するために使用される固有の識別情報である。各拡張ユニット4の記憶装置111は、自ユニットに割り当てられている構成IDを少なくとも記憶する識別情報記憶手段として機能する。このようにユーザプログラム上で各ユニットを識別するためのユニットIDと、基本ユニット3が各拡張ユニット4に付与する構成IDとを別々に設けることで、ユーザにとっての、拡張ユニットの識別情報の割り当ての自由度が増すことになる。なお、記憶装置111は、自ユニットに割り当てられているユニットIDと構成IDとを記憶する識別情報記憶手段として機能してもよい。
本実施の形態では構成IDを採用しているため、基本ユニット3は、ユーザプログラムの非実行中であっても構成IDにより特定される拡張ユニット4と通信バスを介して通信できるようになる。従来のPLCでは、ラダープログラム106や設定データ105などのユーザプログラムがプログラム作成支援装置1から転送されてくるまでは、ユニットIDが拡張ユニット4に対して割り当てられていなかった。ユニットIDはラダープログラム106や設定データ105によって割り当てられるようになっていたからである。そのため、基本ユニット3はユーザプログラムの非実行中にはユニットIDを用いて拡張ユニット4と通信することができなかった。一方で、本実施の形態では、ユニットIDとは別に構成IDが拡張ユニット4に割り当てられる。これにより、基本ユニット3は、ユーザプログラムの非実行中には構成IDにより特定される拡張ユニット4と通信バスを介して通信できるようになる。このように、基本ユニット3は記憶装置12にユーザプログラムが記憶されていない状態で、構成IDにより特定される拡張ユニット4と通信バスを介して通信する。たとえば、ラダープログラム106や設定データ105によってユニットIDが付与されていない状態であっても、基本ユニット3は構成IDを用いて拡張ユニット4に対してテストの実行を指示し、テストの結果を拡張ユニット4から受信できるようになる。なお、基本ユニット3はユーザプログラムの実行中においてユニットIDにより特定される拡張ユニット4と通信バスを介して通信する。
図19ないし図21などを用いて説明したように、ユニット構成管理部92は、予め定められた付与規則にしたがって各拡張ユニット4の構成IDを決定する。付与規則は、たとえば、基本ユニット3を基準とした拡張ユニット4の接続位置や接続順番に基づく規則であってもよい。このように、ユニット構成管理部92は、各拡張ユニット4の接続位置に応じて構成IDを決定してもよい。なお、構成IDは、連番で付与されてもよい。構成IDは基本ユニット3と拡張ユニット4との間の通信に使用されうるが、通信プロトコルによっては、各ユニットの構成IDが連番であることが前提されることがあるらである。
図20(A)、図20(B)および図21などを用いて説明したように、基本ユニット3には、当該基本ユニット3に対して一列に連結される複数の拡張ユニット4を含む第1グループと、複数の拡張ユニット4のうちの1つである延長ユニットから延長された通信バスを介して接続された1つ以上の拡張ユニット4を含む第2グループとが接続されてもよい。ユニット構成管理部92は、第1グループに含まれている複数の拡張ユニット4のうち基本ユニット3に直接的に連結されている拡張ユニット4から延長ユニットまで順番に構成IDを付与し、次に、第2グループに含まれているすべての拡張ユニット4に対して順番に構成IDを付与し、さらに、第1グループに含まれている複数の拡張ユニット4のうち延長ユニットから連結されている拡張ユニット4に対して順番に構成IDを付与してもよい。このように付与することで、論理的な接続位置が基本ユニット3に近い拡張ユニット4ほど小さな番号の構成IDを付与することが可能となる。
図20(A)、図20(B)および図21などを用いて説明したように、延長ユニットは、第1グループに属する第1延長ユニット15a、15cと、第1延長ユニットとケーブルで接続され、第2グループに属する第2延長ユニット15b、15dとを含んでもよい。ユニット構成管理部92は、第2グループに属する拡張ユニット4に構成IDを付与するときは、第2延長ユニット15b、15dから順番に構成IDを付与して行く。第2延長ユニット15b、15dは基本的にグループの先頭に配置されているため、第2延長ユニット15b、15dから構成IDを付与することで、第2延長ユニット15b、15dの接続位置と構成IDとを関連付けることができる。
上述したように第2識別情報はプログラム作成支援装置上で設定される任意の識別情報(ユニットID)であってもよい。図19(D)を用いて説明したように、延長ユニットなどの特殊なユニットにはユニットIDが付与されなくてもよい。ユニットIDは少なくともラダープログラムによって制御の対象となるユニットに付与されていれば十分だからである。
図6や図7を用いて説明したように、拡張ユニット4は、基本ユニット3に近い側に設けられ、該基本ユニット3または他の拡張ユニット4が連結される第1連結面(例:左側面4L)と、基本ユニット3に対して遠い側に設けられ、他の拡張ユニット4または終端ユニット(エンドユニット11)が連結される第2連結面(例:右側面4R)とを有してもよい。また、接続状態管理部115は、第2連結面に対して他の拡張ユニット4が連結されているどうかを判別する判別手段として機能する。図12などを用いて説明したように、ユニット構成管理部92は、基本ユニット3に直接的に連結されている第1拡張ユニット4に構成IDを付与し、当該第1拡張ユニット4の判別手段が当該第1拡張ユニット4の第2連結面に第2拡張ユニット4が連結されていると判別すると、当該第2拡張ユニット4に構成IDを付与する。一方で、当該第2拡張ユニット4の判別手段が当該第2拡張ユニット4の第2連結面に他の拡張ユニット4が連結されていないと判別すると、ユニット構成管理部92は構成IDの付与処理を終了する。このような判別手段を設けることで、各拡張ユニット4に対して構成IDを漏れなく付与することが可能となる。
基本ユニット3と拡張ユニット4は構成IDを用いて通信バスを介して通信を行ってもよい。プロジェクトデータ104を受け取っておらずユニットIDが割り当てられていない状態では、従来、基本ユニット3と拡張ユニット4は通信できなかった。本実施形態では、PLC2に電源から電力が供給されて起動すると、各ユニットに構成IDが付与されるため、ユニットIDが割り当てられなくても構成IDを使用して通信することが可能となる。
拡張ユニット4の結線状態検知部116は、自ユニットと外部機器との結線状態に関する結線情報を作成し、構成IDを用いて基本ユニット3に送信する結線情報作成手段として機能してよい。基本ユニット3の状態取得部93は、結線情報を表示手段である表示部5に表示してもよい。これにより、プロジェクトデータ104を受け取っておらずユニットIDが割り当てられていない状態であっても、各拡張ユニットの外部機器との結線状態を基本ユニット3の表示部5に表示させることが可能となる。基本ユニット3や拡張ユニット4の設置者と、ラダープログラムの作成者は必ずしも一致しない。従来は、設置者が拡張ユニットの追加や削除を実行すると、ラダープログラムの作成者が拡張ユニットの追加や削除を反映した設定データ105を作成して基本ユニット3に転送するまで、設置者は拡張ユニットの結線状態が正しいかどうかを把握できなかった。本実施形態であれば、構成IDを用いて結線状態を確認できるようになるため、設置者はラダープログラムの作成者に設定データ105を作成してもらわずとも、結線状態を確認できるようになる。
基本ユニット3の更新部94は、拡張ユニット4の構成IDを用いて当該拡張ユニット4のシステムプログラムを転送して更新してもよい。これにより、設置者は、ユニットIDの設定者にユニットIDの設定を頼まずとも、簡単に、拡張ユニット4のシステムプログラムを更新できるようになろう。
図19(B)や図19(C)を用いて説明したように、ユニット構成管理部92は、基本ユニット3に連結されている複数の拡張ユニット4のうちいずれかが取り外されるか、または、他の拡張ユニット4が追加されると、各拡張ユニット4に対して構成IDを付与し直してもよい。これにより、接続位置と構成IDとの関連性を維持できるようになる。
ユニット構成管理部92やプロジェクトデータ管理部91のユニットID管理機能は、基本ユニット3に連結されている複数の拡張ユニット4のうちいずれかが取り外されても、依然として当該基本ユニット3に連結されている残りの各拡張ユニット4に付与されているユニットIDを変更しなくてもよい。ユニットIDを変更してしまうと、ラダープログラムの書き換えが必要となってしまう。そこで、本実施形態のように、ユニットIDについては変更せずに維持することで、ラダープログラムの書き換えの手間を削減できるようになる。
Claims (19)
- ユーザプログラムを繰り返し実行する基本ユニットと、前記基本ユニットによって制御される1つ以上の拡張ユニットとを有するプログラマブル・ロジック・コントローラであって、
前記基本ユニットは、
前記基本ユニットに対して接続されている拡張ユニットを認識し、認識した各拡張ユニットに対してそれぞれ固有の第1識別情報を付与する認識手段と、
前記基本ユニットに接続可能な設定支援装置上で設定された識別情報であって、前記ユーザプログラム上で前記各拡張ユニットを識別するために使用される固有の第2識別情報と、対応する前記第1識別情報とを関連付けて管理する管理手段と
を有し、
前記各拡張ユニットは、
自ユニットに割り当てられている前記第1識別情報を少なくとも記憶する識別情報記憶手段と
を有することを特徴とするプログラマブル・ロジック・コントローラ。 - 前記基本ユニットは、前記ユーザプログラムの非実行中に前記第1識別情報により特定される拡張ユニットと前記通信バスを介して通信可能に構成され、前記ユーザプログラムの実行中に前記第2識別情報により特定される拡張ユニットと前記通信バスを介して通信可能に構成されることを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。
- 前記基本ユニットは、前記ユーザプログラムを記憶する記憶手段を備え、
前記ユーザプログラムが前記記憶手段に記憶されていない状態で、前記第1識別情報により特定される拡張ユニットと前記通信バスを介して通信可能に構成されることを特徴とする請求項1に記載のプログラマブル・ロジック・コントローラ。 - 前記各拡張ユニットは、自ユニットに割り当てられている前記第1識別情報に加えて、前記第2識別情報も記憶していることを特徴とする請求項1ないし3のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記認識手段は、予め定められた付与規則にしたがって前記各拡張ユニットの前記第1識別情報を決定することを特徴とする請求項1ないし4のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記認識手段は、前記各拡張ユニットの接続位置に応じて前記第1識別情報を決定することを特徴とする請求項1ないし5のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記認識手段は、前記各拡張ユニットの接続位置に応じて連番で前記第1識別情報を決定することを特徴とする請求項6に記載のプログラマブル・ロジック・コントローラ。
- 前記基本ユニットには、当該基本ユニットに対して一列に連結される複数の拡張ユニットを含む第1グループと、前記複数の拡張ユニットのうちの1つである延長ユニットから延長された通信バスを介して接続された1つ以上の拡張ユニットを含む第2グループとが接続されており、
前記認識手段は、前記第1グループに含まれている複数の拡張ユニットのうち前記基本ユニットに直接的に連結されている拡張ユニットから前記延長ユニットまでに順番に前記第1識別情報を付与し、次に、前記第2グループに含まれているすべての拡張ユニットに対して順番に前記第1識別情報を付与し、さらに、前記第1グループに含まれている複数の拡張ユニットのうち前記延長ユニットから連結されている拡張ユニットに対して順番に前記第1識別情報を付与して行くことを特徴とする請求項7に記載のプログラマブル・ロジック・コントローラ。 - 前記延長ユニットは、前記第1グループに属する第1延長ユニットと、前記第1延長ユニットとケーブルで接続され、前記第2グループに属する第2延長ユニットとを含み、
前記認識手段は、前記第2グループに属する拡張ユニットに前記第1識別情報を付与するときは、前記第2延長ユニットから順番に前記第1識別情報を付与して行くことを特徴とする請求項8に記載のプログラマブル・ロジック・コントローラ。 - 前記第2識別情報は前記設定支援装置上で設定される任意の識別情報であることを特徴とする請求項1ないし9のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記延長ユニットには前記第2識別情が付与されないことを特徴とする請求項8または9に記載のプログラマブル・ロジック・コントローラ。
- 前記拡張ユニットは、
前記基本ユニットに近い側に設けられ、該基本ユニットまたは他の拡張ユニットが連結される第1連結面と、
前記基本ユニットに対して遠い側に設けられ、他の拡張ユニットまたは終端ユニットが連結される第2連結面と、
前記第2連結面に対して他の拡張ユニットが連結されているどうかを判別する判別手段と
を有し、
前記認識手段は、
前記基本ユニットに直接的に連結されている第1拡張ユニットに前記第1識別情報を付与し、当該第1拡張ユニットの前記判別手段が当該第1拡張ユニットの前記第2連結面に第2拡張ユニットが連結されていると判別すると、当該第2拡張ユニットに前記第1識別情報を付与し、当該第2拡張ユニットの前記判別手段が当該第2拡張ユニットの前記第2連結面に他の拡張ユニットが連結されていないと判別すると、前記第1識別情報の付与処理を終了することを特徴とする請求項1ないし7のいずれか1項に記載のプログラマブル・ロジック・コントローラ。 - 前記拡張ユニットは、自ユニットと外部機器との結線状態に関する結線情報を作成し、前記第1識別情報を用いて前記基本ユニットに送信する結線情報作成手段をさらに有し、
前記基本ユニットは、前記結線情報を表示手段に表示することを特徴とする請求項2または3に記載のプログラマブル・ロジック・コントローラ。 - 前記基本ユニットは、前記拡張ユニットの前記第1識別情報を用いて当該拡張ユニットのシステムプログラムを転送して更新することを特徴とする請求項2、3または13に記載のプログラマブル・ロジック・コントローラ。
- 前記認識手段は、前記基本ユニットに連結されている複数の拡張ユニットのうちいずれかが取り外されるか、または、他の拡張ユニットが追加されると、各拡張ユニットに対して前記第1識別情報を付与し直すことを特徴とする請求項1ないし14のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- 前記管理手段は、前記基本ユニットに連結されている複数の拡張ユニットのうちいずれかが取り外されても、依然として当該基本ユニットに連結されている残りの各拡張ユニットに付与されている前記第2識別情報を変更しないことを特徴とする請求項1ないし15のいずれか1項に記載のプログラマブル・ロジック・コントローラ。
- ユーザプログラムを繰り返し実行する、プログラマブル・ロジック・コントローラの基本ユニットであって、
前記基本ユニットに対して接続されている拡張ユニットを認識し、認識した各拡張ユニットに対してそれぞれ固有の第1識別情報を付与する認識手段と、
前記基本ユニットに接続可能な設定支援装置上で設定された識別情報であって、前記ユーザプログラム上で前記各拡張ユニットを識別するために使用される固有の第2識別情報と、対応する前記第1識別情報とを関連付けて管理する管理手段と
を有することを特徴とする基本ユニット。 - ユーザプログラムを繰り返し実行する、プログラマブル・ロジック・コントローラの基本ユニット用の制御方法であって、
前記基本ユニットに対して接続されている拡張ユニットを認識し、認識した各拡張ユニットに対してそれぞれ固有の第1識別情報を付与する認識工程と、
前記基本ユニットに接続可能な設定支援装置上で設定された識別情報であって、前記ユーザプログラム上で前記各拡張ユニットを識別するために使用される固有の第2識別情報と、対応する前記第1識別情報とを関連付けて管理する管理工程と
を有することを特徴とする制御方法。 - ユーザプログラムを繰り返し実行する、プログラマブル・ロジック・コントローラの基本ユニット用の制御プログラムであって、
前記基本ユニットに対して接続されている拡張ユニットを認識し、認識した各拡張ユニットに対してそれぞれ固有の第1識別情報を付与する認識工程と、
前記基本ユニットに接続可能な設定支援装置上で設定された識別情報であって、前記ユーザプログラム上で前記各拡張ユニットを識別するために使用される固有の第2識別情報と、対応する前記第1識別情報とを関連付けて管理する管理工程と
を前記基本ユニットに実行させることを特徴とする制御プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014244365A JP2016110221A (ja) | 2014-12-02 | 2014-12-02 | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法および制御プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014244365A JP2016110221A (ja) | 2014-12-02 | 2014-12-02 | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法および制御プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016110221A true JP2016110221A (ja) | 2016-06-20 |
Family
ID=56124396
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014244365A Pending JP2016110221A (ja) | 2014-12-02 | 2014-12-02 | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法および制御プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2016110221A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7374380B1 (ja) * | 2022-10-26 | 2023-11-06 | 三菱電機株式会社 | プログラマブルコントローラおよび製造システム |
-
2014
- 2014-12-02 JP JP2014244365A patent/JP2016110221A/ja active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7374380B1 (ja) * | 2022-10-26 | 2023-11-06 | 三菱電機株式会社 | プログラマブルコントローラおよび製造システム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4415981B2 (ja) | プログラマブル・コントローラのリモートターミナル装置 | |
| JP2007102764A5 (ja) | ||
| JP2015125654A (ja) | 制御装置および通信制御方法 | |
| CN105629926A (zh) | 工业控制器中的事件生成管理 | |
| US20190306250A1 (en) | Support apparatus, non-transitory computer-readable recording medium and setting method | |
| KR101864565B1 (ko) | 디버그 장치, 디버그 방법 및 디버그 프로그램 | |
| CN109696832B (zh) | 用于支持自动化系统的安装过程的方法 | |
| CN103155732A (zh) | 操纵自动化技术设备的模块的操纵装置和方法 | |
| JP6483999B2 (ja) | 設定支援装置、設定支援方法、プログラムおよびプログラマブル・ロジック・コントローラシステム | |
| US11646914B2 (en) | Recording medium and method | |
| JP2016110221A (ja) | プログラマブル・ロジック・コントローラ、基本ユニット、制御方法および制御プログラム | |
| CN113424116B (zh) | 设定信息生成装置、设定信息生成方法及记录介质 | |
| JP2011186607A (ja) | フィールドデバイス、フィールドデバイスの設定方法、フィールドデバイス管理装置及びプログラム | |
| US20190303319A1 (en) | Support apparatus, non-transitory computer-readable recording medium and setting method | |
| JP4567982B2 (ja) | 制御機器のリンク設定装置 | |
| JP2006140837A (ja) | 遠隔監視制御システム | |
| JP2016081389A (ja) | プログラマブル・ロジック・コントローラおよびバス変換ユニット | |
| US11494196B2 (en) | Information-processing device deleting unspecified device information to complete setup process | |
| JP2016110219A (ja) | プログラマブル・ロジック・コントローラ、その制御方法およびプログラム作成支援装置 | |
| US20210096794A1 (en) | Information-processing device acquiring wireless identification information via wired communication for setting up command program | |
| JP2014127055A (ja) | Plcの周辺装置 | |
| JP6483998B2 (ja) | プログラマブル・ロジック・コントローラおよび変換ユニット | |
| JP2017079005A (ja) | プログラマブル・ロジック・コントローラ、制御方法、cpuユニットおよび拡張ユニット | |
| JP2006317990A (ja) | プログラマブル・ロジック・コントローラ及び通信システム | |
| JP7476256B2 (ja) | 設備制御システム、情報処理装置、及びプログラム |