他の機器との通信を行う機器
【課題】 ユーザがコネクタと信号との関係を熟知していなくとも、機器と機器との間を正しいコネクタ接続関係にて接続することができる技術を提供する。
【手段】 接続関係決定手段58は、コネクタ52を介して他の機器が接続された状態において、切換手段54を制御して、コネクタ52の各端子と送受信制御手段56の各端子の接続関係を順次切り換えていく。そして、各接続関係において、送受信制御手段56、切換手段54、コネクタ52を介して他の機器に対してコマンドを送信し、当該コマンドに対する他の機器からの正常なレスポンスが、コネクタ52、切換手段54、送受信制御手段56を介して受信できたか否かを判断する。次々と接続関係を切り換え、上記と同様にしてコマンドを送信し、正しいレスポンスが得られるかどうかを判断する。正常なレスポンスが得られると、接続関係決定手段58は、その時の切換手段54による接続関係を、正しい接続関係として維持する。
【手段】 接続関係決定手段58は、コネクタ52を介して他の機器が接続された状態において、切換手段54を制御して、コネクタ52の各端子と送受信制御手段56の各端子の接続関係を順次切り換えていく。そして、各接続関係において、送受信制御手段56、切換手段54、コネクタ52を介して他の機器に対してコマンドを送信し、当該コマンドに対する他の機器からの正常なレスポンスが、コネクタ52、切換手段54、送受信制御手段56を介して受信できたか否かを判断する。次々と接続関係を切り換え、上記と同様にしてコマンドを送信し、正しいレスポンスが得られるかどうかを判断する。正常なレスポンスが得られると、接続関係決定手段58は、その時の切換手段54による接続関係を、正しい接続関係として維持する。
【発明の詳細な説明】
【発明の技術分野】
【0001】
この発明は、例えばプログラマブル表示器とPLCなど、互いに通信可能な機器間におけるコネクタの信号割り当てに関するものである。
【背景技術】
【0002】
例えばプログラマブル表示器をPLCと接続する場合、PLC側のプロトコルやコネクタと信号との関係を知った上で、これらに対応するためのプログラムの作成や、接続するための専用ケーブルの作成が必要であった。
【0003】
また、接続すべきPLCが変わった場合にも、プロトコルに対応するためのプログラムの変更や接続するためのケーブルの作成が必要であった。
【0004】
なお、特開2002−215555号公報には、外部機器を接続するためのコネクタが複数存在し、これらのコネクタに対して入出力を行う複数の通信回路(UART)を自由に切り換えることができる装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】2002−215555号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記のような従来技術では、いずれのコネクタを用いるかを切り換えることはできるが、接続するPLCなどの機器自体を変更しようとする場合には、その機器のための専用ケーブルを用意しなければならず、煩雑であるという問題があった。
【0007】
この発明は、上記のような問題点を解決して、ユーザがどのような機器を接続しても、専用の接続ケーブルを新たに作り直す必要なく、ユーザがコネクタと信号との関係を熟知していなくとも、機器と機器との間を正しいコネクタ接続関係にて接続することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)この発明に係る他の機器との通信を行う機器は、他の機器との通信を行うため、複数の端子を有するコネクタと、前記コネクタの端子に対して信号を与えるとともに、前記コネクタの端子からの信号を受ける送受信制御手段と、前記コネクタと前記送受信制御手段との間に設けられ、前記各コネクタの各端子が前記送受信制御手段の各端子のいずれに接続されるかという接続関係を切り換える切換手段と、コネクタを介して他の機器が接続された状態において、前記切換手段を制御して、前記各コネクタの各端子と前記送受信制御手段の各端子の接続関係を切り換えるとともに、各接続関係において、前記送受信制御手段、切換手段、コネクタを介して前記他の機器に対してコマンドを送信し、当該コマンドに対する他の機器からの正常なレスポンスが、前記コネクタ、切換手段、送受信制御手段を介して受信できたか否かを判断し、当該正常なレスポンスが得られた接続関係をもたらす切換手段の状態を保持する接続関係決定手段とを備えたことを特徴としている。
【0009】
したがって、他の機器のコネクタの端子への信号割り当てがどのような状態であったとしても、容易に接続を行うことができる。
【0010】
(2)この発明に係る他の機器との通信を行う機器は、他の機器との通信を行うため、複数の端子を有するコネクタと、前記コネクタの端子に対して信号を与えるとともに、前記コネクタの端子からの信号を受ける送受信制御手段と、前記コネクタと前記送受信制御手段との間に設けられ、前記コネクタの各端子が前記送受信制御手段の各端子のいずれに接続されるかという接続関係を切り換える切換手段と、ユーザからの入力操作に応じて、前記切換手段による接続関係を変更する接続関係変更手段とを備えたことを特徴としている。
【0011】
したがって、他の機器のコネクタの端子への信号割り当てがどのような状態であったとしても、容易に接続を行うことができる。
【0012】
請求項に記載の「送受信制御手段」は、実施形態においては、ステップS15、S16またはS62、S63がこれに対応する。
【0013】
「切換手段」は、実施形態においては、リレー回路38、40がこれに対応する。
【0014】
「接続関係決定手段」は、実施形態においては、ステップS54、S55、S64、S69がこれに対応する。
【0015】
「接続関係変更手段」は、実施形態においては、ステップS4、S6がこれに対応する。
【図面の簡単な説明】
【0016】
【図1】第1の実施形態による機器の機能ブロック図である。
【図2】図1の実施形態をプログラマブル表示器に適用した場合のハードウエア構成である。
【図3a】接続関係変更プログラムのフローチャートである。
【図3b】接続関係変更プログラムのフローチャートである。
【図3c】接続関係変更プログラムのフローチャートである。
【図4】画面表示の変化を示す図である。
【図5】リレー回路の詳細を示す図である。
【図6】プロトコルの一例を示す図である。
【図7】プロトコル名と機種名との関係を示す図である。
【図8】第2の実施形態による機器の機能ブロック図である。
【図9a】接続関係決定プログラムのフローチャートである。
【図9b】接続関係決定プログラムのフローチャートである。
【図10】接続パターンの表の一例である。
【図11】プロトコルの表の一例である。
【図12】通信パラメータの表の一例である。
【図13】コネクタの例を示す図である。
【図14】リレー回路を一つにまとめた場合の例を示す図である。
【発明を実施するための形態】
【0017】
1.第一の実施形態
(1)全体構成
図1にこの発明の一実施形態による他の機器との通信を行う機器の機能ブロック図を示す。コネクタ2は、他の機器との通信を行うためのものであり、複数の端子を有している。送受信制御手段6は、コネクタ2の端子に対して信号を与えるとともに、コネクタ2の端子からの信号を受けるものである。切換手段4は、コネクタ2と送受信制御手段6との間に設けられ、コネクタ2の各端子が送受信制御手段6の各端子のいずれに接続されるかという接続関係を切り換えるものである。
【0018】
接続関係変更手段8は、入力手段10から与えられたユーザの操作に応じて、切換手段4による接続関係を変更する。さらに、接続関係変更手段8は、現在の接続関係を、表示手段12において表示する。
【0019】
したがって、ユーザは、表示手段12の表示を見ながら、入力手段10を操作するだけで、コネクタ2の各端子への信号の割り当てを容易に変更することができる。加えて、パソコンなどの外部機器から信号割り当て情報ファイルをダウンロードすることで、信号の割り当てを容易に変更することもできる。
【0020】
(2)ハードウエア構成
以下では、図1の実施形態を、プログラマブル表示器に適用した場合(他の機器との通信を行う機器としてプログラマブル表示器を用いた場合)を例として説明する。
【0021】
図2に、ハードウエア構成を示す。CPU20には、バスラインを介して、SDRAM22、UART(Universal Asynchronous Receiver Transmitter)24、入出力インターフェイス(I/O)26、フラッシュロム28、ディスプレイ30、タッチパネル32、PC用インターフェイス91が接続されている。UART24には、RS232Cドライバ回路34、RS422/485ドライバ回路36が接続されている。RS232Cドライバ回路34は、UART24からの出力をRS232Cの規格に沿った電圧に変換してコネクタ42に与え、コネクタ42からの信号をUART24が扱うことのできる電圧に変換する。RS422/485ドライバ回路36は、UART24からの出力をRS422/RS485の規格に沿った電圧に変換してコネクタ42に与え、コネクタ42からの信号をUART24が扱うことのできる電圧に変換する。この実施形態では、RS232Cドライバ回路34、RS422/485ドライバ回路36、UART24によって、送受信制御手段6が構成されている。
【0022】
コネクタ42とRS232Cドライバ回路34の間にはリレー回路38が設けられ、コネクタ42とRS422/485ドライバ回路36の間にはリレー回路40が設けられている。リレー回路38、40は、RS232Cドライバ回路34、RS422/485ドライバ回路36の端子と、コネクタ42の端子との互いの接続関係を切り換えるものである。
【0023】
フラッシュロム28には、コネクタ42にケーブル(図示せず)を介して接続されたプログラマブル・ロジック・コントローラ(PLC)(図示せず)に対して、タッチパネル32によって指令を与えたり、制御状況をディスプレイ30に表示したりするための入出力制御プログラムが記録されている。フラッシュロム28には、さらに、リレー回路38、40の接続関係やプロトコルなどを設定するための設定プログラムも記録されている。
【0024】
(3)接続関係変更プログラム
図3a、図3b、図3cに、フラッシュロム28に記録された設定プログラムのフローチャートを示す。ユーザは、この設定プログラムを用いることにより、簡単に設定処理を行うことができるようになる。
【0025】
まず、ステップS1において、CPU20は、ディスプレイ30に通信規格設定画面を表示する。通信規格設定画面の表示例を図4Aに示す。画面には、RS232C、RS422、RS485の規格が表示され、ユーザはタッチパネル32を操作していずれかを選択し、決定することができる。
【0026】
通信規格が選択され決定キーが押されると(ステップS2)、CPU20は、I/O26、制御線44を介して制御信号を与え、設定された通信規格に対応するドライバ回路だけをイネーブル(有効)にする(ステップS3)。図示していないが、制御線44は、RS232Cドライバ回路34だけでなく、RS422/485ドライバ回路36にも接続されている。たとえば、RS232Cが選択されて設定されると、CPU20は、制御線44により、RS422/485ドライバ回路36をディスイネーブル(無効)にし、RS232Cドライバ回路34をイネーブルにする。なお、RS422(またはRS485)が選択された場合には、RS422/485ドライバ回路36をイネーブルにするだけでなく、RS422(またはRS485)を選択する旨の信号も与える。なお、以下では、RS232Cが選択されたものとして話を進める。
【0027】
次に、CPU20は、接続関係設定画面をディスプレイ30に表示する(ステップS4)。接続関係設定画面の表示例を図4Bに示す。画面には、コネクタ42の端子Out1〜Out5が表示され、各端子Out1〜Out5のそれぞれに対し、RS232Cドライバ回路34の出力信号のいずれを接続するかを示すための入力ボックスB1〜B5が表示される。ユーザは、この入力ボックスB1〜B5に所望のRS232Cドライバ回路34の出力信号を記入(あるいはプルダウンメニューから選択)することで、RS232Cドライバ回路34の各端子と、コネクタ42の各端子Out1〜Out5との接続関係を自由に設定することができる。
【0028】
図4Bでは、入力ボックスB1に「SD」が入力され、コネクタ42の端子Out1に、RS232Cドライバ回路34の出力「SD」を接続すべきことが明らかにされている。同様に、端子Out2に「RS」、端子Out3に「RD」、端子Out4に「CS」,端子Out5に「GND」を接続すべきことが明らかにされている。
【0029】
全ての入力ボックスB1〜B5に入力がなされ、設定終了ボタンEが押されると(ステップS5)、CPU20は、設定された接続関係にしたがって、I/O26、制御線46を介してリレー回路38の切換を行う(ステップS6)。
【0030】
リレー回路38の詳細を、図5に示す。リレー回路38の各スイッチは、個別的に、CPU20から、制御線46によってオン・オフ制御が可能となっている。RS232Cドライバ回路34の端子SDは、スイッチSW11、SW12、SW13、SW14、SW15の切換により、コネクタ42の端子Out1、Out2、Out3、Out4、Out5のいずれとも接続可能となっている。たとえば、RS232Cドライバ回路34の出力端子SDを、コネクタ42の端子Out4に接続する場合には、SW11、SW12、SW13、SW15をオフにし、SW14をオンにすればよい。
【0031】
他の端子RD、RS、CS、GNDにも、それぞれ、スイッチSW21〜SW25、スイッチSW31〜SW35、スイッチSW41〜SW45、スイッチSW51〜SW55を介して、コネクタOut2、Out3、Out4、Out5が接続され、接続関係をCPU20の側から制御できるようになっている。
【0032】
たとえば、図4Bのように、ユーザによって接続関係が決定されたとすると、CPU20は、SW11をオン、SW12〜15をオフにして端子SDをOut1に接続させ、SW23をオン、SW21、SW22、SW24、SW25をオフにして端子RDをOut3に接続させ、SW32をオン、SW31、SW33、SW34、SW35をオフにして端子RSをOut2に接続させ、SW44をオン、SW41、SW42、SW43、SW45をオフにして端子CSをOut4に接続させ、SW55をオン、SW51、SW52、SW53、SW54をオフにして端子GNDをOut5に接続させる。
【0033】
上記のように、この実施形態では、ケーブルの物理的な結線を変更することなく、画面上での選択により接続関係を簡単に変更することができる。
【0034】
次に、CPU20は、プロトコル設定画面をディスプレイ30に表示する(ステップS7)。プロトコル設定画面の表示例を図4Cに示す。この実施形態においてプロトコルとは、PLCのコマンド体系をいう。たとえば、「0001」というコードは、あるPLCでは書き込みに該当し、他のPLCでは読み出しに該当する等の違いがあり、これはコマンド体系の違いによるものである。プロトコルはPLCのメーカごとに、さらには、メーカが同一であっても機種ごとに異なっている。画面では、IDEC社のAプロトコル、IDEC社のBプロトコル、M社のCプロトコル、F社のDプロトコル等が示されている。
【0035】
ユーザは、タッチパネル32を操作して、接続しようとするPLCのメーカとプロトコルを選択する。プロトコルの選択決定がなされると(ステップS8)、CPU20は、決定されたプロトコル名をフラッシュロム28に記録する(ステップS9)。入出力制御プログラムが、PLCの入出力制御を行う際には、このようにして記録されたプロトコル名にしたがって、あらかじめフラッシュロム28に記録されている対応するコマンド体系を読み出して制御を行うことになる。たとえば、IDEC社のBプロトコルとして、図6に示すようなコマンド体系があらかじめフラッシュロム28に記録されている。他のプロトコルについても、同様にフラッシュロム28にあらかじめ記録されている。
【0036】
次に、CPU20は、通信パラメータ設定画面をディスプレイ30に表示する(ステップS10)。通信パラメータ設定画面の表示例を図4Dに示す。画面では、ボーレート、データ長、ストップビットの有無、パリティチェックの有無、フロー制御の有無などの通信パラメータを選択できるようになっている。設定終了ボタンEが押されると(ステップS11)、CPU20は設定された通信パラメータをフラッシュロム28に記録する(ステップS12)。入出力制御プログラムが、PLCの入出力制御を行う際には、フラッシュロム28に記録された通信パラメータに基づいて制御を行うことになる。
【0037】
上記のようにして設定が完了すると、CPU20は確認処理を行う。この確認処理の前には、コネクタ42に、接続ケーブル(図示せず)を介して、PLCを接続しておく必要がある。
【0038】
まず、CPU20は、ステップS9によって決定されたプロトコルによるコマンド体系から、確認処理に用いるためのコマンドを読み出す(ステップS13)。確認処理を行うためのものであるから、i)記録内容を書き換えるなどPLCの動作に影響を与えるものでないこと、ii)コマンドに対する返信が正しいものであるかどうかを確実に判定できるものであることの2つの条件を満たすものであることが好ましい。たとえば、「機種問い合わせ」のコマンド等が好ましい。
【0039】
CPU20は、読み出した「機種問い合わせ」のコマンドである"READTYPE"を、ステップS12にて決定した通信パラメータにしたがって送信データに変換する(ステップS14)。次に、この送信データを、ステップS3にて選択されたRS232Cドライバ回路34、ステップS6によって決定された接続関係を有するリレー回路38、コネクタ42、ケーブル(図示せず)を介して、PLCに送信する(ステップS15)。
【0040】
CPU20は、上記送信の後、所定時間内に返信があったかどうかを判断する(ステップS16)。所定時間内に返信がなければ、いずれかの設定にエラーがあるものとして、ディスプレイ30にエラー表示を行う(ステップS19)。
【0041】
所定時間内に返信があると、CPU20は、送られてきた返信データを、設定されている通信パラメータにしたがって解釈する(パリティビットを取り除くなどをする)。解釈した結果が、あらかじめ記録している「機種問い合わせ」に対する返信と合致するかどうかを判断する(ステップS17)。なお、機種問い合わせに対する返信は、図7に示すように、各社のプロトコルごとに、あり得る機種問い合わせに対する解答が、あらかじめフラッシュロム28に記録されている。
【0042】
たとえば、ステップS9において設定したプロトコルが「IDEC社Bプロトコル」である場合、「機種問い合わせ」に対しては、"IDEC-10112"、"IDEC-10113"、"IDEC-20010"、"IDEC-X13"、"IDEC-X14"のいずれかが返信されてくれば、適切な返信データが返ってきていると判断することができる。
【0043】
返信されてきたデータが適切でない場合や解読不可能な場合には、設定エラーの表示を行う(ステップS19)。返信されてきたデータが適切である場合には、ディスプレイ30において設定完了の表示を行う(ステップS18)。
【0044】
この実施形態によれば、設定の後に、確認処理を行うようにしているので、正しい設定がなされているかどうかを確認することができる。
【0045】
なお、通信規格、接続関係、プロトコル、通信パラメータの一部又は全部は、外部PC93から、PC用インターフェイス91を介して、通信規格の定義ファイルとしてダウンロードすることにより設定してもよい。
2.第2の実施形態
(1)全体構成図
図8にこの発明の他の実施形態による機器の機能ブロック図を示す。コネクタ2は、他の機器との通信を行うためのものであり、複数の端子を有している。送受信制御手段56は、コネクタ52の端子に対して信号を与えるとともに、コネクタ52の端子からの信号を受けるものである。切換手段54は、コネクタ52と送受信制御手段56との間に設けられ、コネクタ52の各端子が送受信制御手段56の各端子のいずれに接続されるかという接続関係を切り換えるものである。
【0046】
接続関係決定手段58は、コネクタ52を介して他の機器が接続された状態において、切換手段54を制御して、コネクタ52の各端子と送受信制御手段56の各端子の接続関係を順次切り換えていく。そして、各接続関係において、送受信制御手段56、切換手段54、コネクタ52を介して他の機器に対してコマンドを送信し、当該コマンドに対する他の機器からの正常なレスポンスが、コネクタ52、切換手段54、送受信制御手段56を介して受信できたか否かを判断する。正常なレスポンスが得られない場合、接続関係決定手段58は、切換手段54を制御して、次の接続関係に切り換え、上記と同様にしてコマンドを送信し、正しいレスポンスが得られるかどうかを判断する。正常なレスポンスが得られると、接続関係決定手段58は、その時の切換手段54による接続関係を、正しい接続関係として維持する。
【0047】
(2)ハードウエア構成
第2の実施形態におけるハードウエア構成は、図2に示すハードウエア構成と同様である。ただし、この実施形態においては、フラッシュロム28には、接続関係変更プログラムに代えて、接続関係決定プログラムが記録されている。
【0048】
(3)接続関係決定プログラム
この実施形態においては、ユーザは、通信規格の選択を行うだけで、接続関係、プロトコル、通信パラメータなどは、CPU20の側で自動設定がされるようになっている。
【0049】
図9a、図9bに、このような自動設定を実現するための接続関係決定プログラムのフローチャートを示す。
【0050】
まず、ステップS51において、CPU20は、ディスプレイ30に通信規格設定画面を表示する。図4Aに示す通信規格設定画面に基づいて、ユーザはタッチパネル32を操作していずれかの通信規格を選択し、決定する。
【0051】
通信規格が選択され決定キーが押されると(ステップS52)、CPU20は、I/O26、制御線44を介して制御信号を与え、設定された通信規格に対応するドライバ回路34(36)、リレー回路38(40)だけをイネーブルにする(ステップS53)。なお、以下では、RS232Cが選択され、RS232Cドライバ回路34、リレー回路38がイネーブルにされたものとして話を進める。
【0052】
次に、CPU20は、リレー回路38の接続パターンを第1のパターンに設定する(ステップS54、S55)。ここで、フラッシュロム28には、あらかじめ、図10に示すような接続パターンが記録されている。接続パターンとしては、RS232Cドライバ回路34の端子SD、RD、RS、CS、GNDとコネクタ42の端子Out1、Out2、Out3、Out4、Out5の全ての組み合わせを含む接続関係が記録されている。
【0053】
たとえば、1行目の第1の接続パターンであれば、RS232Cドライバ回路34の端子SDをコネクタ42のOut1に接続し、RS232Cドライバ回路34の端子RDをコネクタ42のOut2に接続し、RS232Cドライバ回路34の端子RSをコネクタ42のOut3に接続し、RS232Cドライバ回路34の端子CSをコネクタ42のOut4に接続し、RS232Cドライバ回路34の端子GNDをコネクタ42のOut5に接続することが、図10に示されている。CPU20は、リレー回路38のスイッチSW11〜SW55のオン/オフを制御して、接続テストのために第1の接続パターン1を実現する。
【0054】
次に、CPU20は、第1のプロトコルを選択して設定する(ステップS56、S57)。ここで、フラッシュロム28には、あらかじめ、図11に示すように、各社のPLCのプロトコル名が記録されている。また、各プロトコル名に対応するプロトコルの内容も、フラッシュロム28に記録されている。プロトコルの内容は、たとえば、図6に示すとおりである。
【0055】
CPU20は、1番目に記載の第1プロトコルである「IDEC社A」プロトコルを選択し、このプロトコル名に対するプロトコルの内容をフラッシュロム28から読み出して、接続テストのために使用するプロトコルとして決定する。
【0056】
次に、CPU20は、第1の通信パラメータを選択して設定する(ステップS58、S59)。ここで、フラッシュロム28には、あらかじめ、図12に示すように、各通信パラメータの全ての組み合わせが記録されている。
【0057】
CPU20は、1番目に記載の第1の通信パラメータを選択し、接続テストのために使用する通信パラメータとして決定する。
【0058】
以上のようにして、接続パターン、プロトコル、通信パラメータを設定すると、CPU20は、ステップS57において設定したプロトコル名に対応するプロトコル内容(たとえば図6)から、接続テストに用いるためのコマンドを読み出す(ステップS60)。接続テストに用いるコマンドは、第1の実施形態における確認処理と同じように、i)記録内容を書き換えるなどPLCの動作に影響を与えるものでないこと、ii)コマンドに対する返信が正しいものであるかどうかを確実に判定できるものであることの2つの条件を満たすものであることが好ましい。たとえば、「機種問い合わせ」のコマンド等が好ましい。
【0059】
CPU20は、読み出した「機種問い合わせ」のコマンドである"READTYPE"を、ステップS59にて決定した通信パラメータにしたがって送信データに変換する(ステップS61)。次に、この送信データを、ステップS53にて選択されたRS232Cドライバ回路34、ステップS55によって決定された接続関係を有するリレー回路38、コネクタ42、ケーブル(図示せず)を介して、PLCに送信する(ステップS62)。
【0060】
CPU20は、上記送信の後、所定時間内に返信があったかどうかを判断する(ステップS63)。所定時間内にPLCからの返信があると、CPU20は、送られてきた返信データを、設定されている通信パラメータにしたがって解釈する(パリティビットを取り除くなどをする)。解釈した結果が、あらかじめ記録している「機種問い合わせ」に対する返信と合致するかどうかを判断する(ステップS64)。なお、機種問い合わせに対する返信は、図7に示すように、各社のプロトコルごとに、あり得る機種問い合わせに対する解答が、あらかじめフラッシュロム28に記録されている。
【0061】
たとえば、ステップS56において設定したプロトコルが「IDEC社Bプロトコル」である場合、「機種問い合わせ」に対しては、"IDEC-10112"、"IDEC-10113"、"IDEC-20010"、"IDEC-X13"、"IDEC-X14"のいずれかが返信されてくれば、適切な返信データが返ってきていると判断することができる。
【0062】
返信データが適切でない、あるいは所定時間内に返信がない場合には、CPU20は、現在の設定が正しくないと判断し、ステップS65に進む。そして、ステップS58において、第2の通信パラメータ(図12の2行目参照)を読み出して設定する(ステップS59)。その結果、接続パターン、プロトコルは変わらず、通信パラメータだけが変更されることになる。
【0063】
CPU20は、このように変更した設定に基づいて、上記と同様にして「機種問い合わせ」コマンドをPLCに送信し(ステップS60、S61、S62)、所定時間内に適切な返信データが返ってくるかどうかを判断する接続テストを行う(ステップS63、S64)。
【0064】
返信データが適切でない、あるいは所定時間内に返信がない場合には、CPU20は、接続テストが失敗であると判断し、次の通信パラメータに設定を変更して上記の接続テストを行う。
【0065】
上記の処理を繰り返し、全ての通信パラメータについて接続テストを行っても所定時間内に適切な返信データが返ってこない場合には、CPU20は、通信パラメータの設定を第1の通信パラメータに戻し、ステップS66に進む。そして、ステップS56において、第2のプロトコル(図11の2行目参照)を読み出して設定する(ステップS57)。
【0066】
CPU20は、このように変更した設定に基づいて、上記と同様にして「機種問い合わせ」コマンドをPLCに送信し(ステップS60、S61、S62)、接続テストを行う(ステップS63、S64)。つまり、変更された新たなプロトコルにしたがって、通信パラメータを変えて、接続テストを行う。全ての通信パラメータについて接続テストを行っても、接続テストが成功しない場合には、CPU20は、次のプロトコルに設定を変更して上記の接続テストを行う。
【0067】
上記の処理を繰り返し、全てのプロトコル、通信パラメータについて接続テストを行っても所定時間内に適切な返信データが返ってこない場合には、CPU20は、プロトコル、通信パラメータの設定を第1のプロトコル、第1の通信パラメータに戻し、ステップS67に進む。そして、ステップS54において、第2の接続パターン(図10の2行目参照)を読み出して設定する(ステップS55)。
【0068】
CPU20は、このように変更した設定に基づいて、上記と同様にして、接続テストを行う(ステップS60、S61、S62、S63、S64)。つまり、変更された新たな接続パターンにしたがって、プロトコル、通信パラメータを変えて、接続テストを行う。全てのプロトコル、通信パラメータについて接続テストを行っても、接続テストが成功しない場合には、CPU20は、次の接続パターンに設定を変更して上記の接続テストを行う。
【0069】
上記の接続テストにおいて、「機種問い合わせ」コマンドに対して、所定時間内に適切な返信データが返ってきたと判断すると、CPU20は、現在の通信規格、接続パターン、プロトコル、通信パラメータをフラッシュロム28に記録する(ステップS69)。このようにして、プログラマブル表示器とPLCとの間において正しく通信をなすための設定を自動的に見出し、記録することができる。CPU20は、このようにして正しい設定を見出して記録すると、ディスプレイ30に、正しく設定が完了した旨を表示する(ステップS70)。
【0070】
なお、接続パターン、プロトコル、通信パラメータの全ての組み合わせのいずれについても接続テストが成功しない場合には、CPU20は、設定が不可能である旨を、ディスプレイ30表示する(ステップS68)。
3.その他の実施形態
(1)上記第2の実施形態では、通信規格についてはユーザが操作により選択するようにしている。しかし、接続パターンなどと同じように、通信規格についても複数の規格を順次選択して、他の設定と組み合わせて接続テストを行い、自動設定を行うようにしても良い。
【0071】
(2)上記第2の実施形態では、接続パターン、プロトコル、通信パラメータを全て自動設定としているが、これらのいずれかまたは2つについては、ユーザが操作入力をして選択するようにしても良い。また、プロトコルや通信パラメータについては、ユーザがPLCのメーカ名を入力することで、当該メーカに対応するプロトコル・通信パラメータだけについて接続テストを行うようにして、処理を迅速化することができる。
【0072】
(3)上記第2の実施形態では、接続パターンについて、順次接続状態を変更して接続テストを行うようにしている。この点につき、存在する可能性の高い接続パターンをあらかじめ記録しておき、これらパターンについて先に接続テストを行うようにしてもよい。また、逆に、存在し得ない接続パターンをあらかじめ記録しておき、これらパターンについては、接続テストを行わないようにしてもよい。これにより、接続テストの処理時間を短縮することが可能となる。同様のことが、プロトコル、通信パラメータについても適用できる。
【0073】
(4)上記実施形態では、リレー回路として、機械的スイッチを有するものを用いた。しかし、電子的なスイッチ(FPGAなど)を有するものをリレー回路として用いてもよい。
【0074】
(5)上記実施形態では、5端子のコネクタを用いるようにしている。しかし、どのような数の端子を有するコネクタを用いてもよい。また、コネクタとしてできるだけ端子数の多いものを用意しておけば、柔軟に対応することができる。すなわち、PLCの側が端子数の少ないコネクタを有していても、図13に示すように、コネクタ変換ケーブル90さえ準備しておけば、両者を接続することができる。特に、本発明では、接続関係を変更することができるので、このような特殊なケーブル90を用いても接続が容易である。
【0075】
(6)上記各実施形態では、図2に示すように、RS232Cドライバ回路34のためのリレー回路38と、RS422/485ドライバ回路のためのリレー回路40を別個に設けている。しかし、図14に示すように、リレー回路39を一つだけ設け、CPU20からの制御により、RS232Cの場合とRS422/485の場合とで、切り換えて用いるようにしてもよい。すなわち、CPU20は、RS232Cの場合にはスイッチSW10をオン、SW11をオフにして、RS232Cドライバ回路34をリレー回路39に接続する。また、CPU20は、RS422/485の場合にはスイッチSW11をオン、SW10をオフにして、RS422/485ドライバ回路36をリレー回路39に接続する。このように、スイッチSW10、SW11を制御することにより、リレー回路39を一つにまとめることができる。
【0076】
(7)上記実施形態では、プログラマブル表示器とPLCを例として示したが、複数のラインによって接続を行うような機器について適用することができる。
【発明の技術分野】
【0001】
この発明は、例えばプログラマブル表示器とPLCなど、互いに通信可能な機器間におけるコネクタの信号割り当てに関するものである。
【背景技術】
【0002】
例えばプログラマブル表示器をPLCと接続する場合、PLC側のプロトコルやコネクタと信号との関係を知った上で、これらに対応するためのプログラムの作成や、接続するための専用ケーブルの作成が必要であった。
【0003】
また、接続すべきPLCが変わった場合にも、プロトコルに対応するためのプログラムの変更や接続するためのケーブルの作成が必要であった。
【0004】
なお、特開2002−215555号公報には、外部機器を接続するためのコネクタが複数存在し、これらのコネクタに対して入出力を行う複数の通信回路(UART)を自由に切り換えることができる装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】2002−215555号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記のような従来技術では、いずれのコネクタを用いるかを切り換えることはできるが、接続するPLCなどの機器自体を変更しようとする場合には、その機器のための専用ケーブルを用意しなければならず、煩雑であるという問題があった。
【0007】
この発明は、上記のような問題点を解決して、ユーザがどのような機器を接続しても、専用の接続ケーブルを新たに作り直す必要なく、ユーザがコネクタと信号との関係を熟知していなくとも、機器と機器との間を正しいコネクタ接続関係にて接続することができる技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
(1)この発明に係る他の機器との通信を行う機器は、他の機器との通信を行うため、複数の端子を有するコネクタと、前記コネクタの端子に対して信号を与えるとともに、前記コネクタの端子からの信号を受ける送受信制御手段と、前記コネクタと前記送受信制御手段との間に設けられ、前記各コネクタの各端子が前記送受信制御手段の各端子のいずれに接続されるかという接続関係を切り換える切換手段と、コネクタを介して他の機器が接続された状態において、前記切換手段を制御して、前記各コネクタの各端子と前記送受信制御手段の各端子の接続関係を切り換えるとともに、各接続関係において、前記送受信制御手段、切換手段、コネクタを介して前記他の機器に対してコマンドを送信し、当該コマンドに対する他の機器からの正常なレスポンスが、前記コネクタ、切換手段、送受信制御手段を介して受信できたか否かを判断し、当該正常なレスポンスが得られた接続関係をもたらす切換手段の状態を保持する接続関係決定手段とを備えたことを特徴としている。
【0009】
したがって、他の機器のコネクタの端子への信号割り当てがどのような状態であったとしても、容易に接続を行うことができる。
【0010】
(2)この発明に係る他の機器との通信を行う機器は、他の機器との通信を行うため、複数の端子を有するコネクタと、前記コネクタの端子に対して信号を与えるとともに、前記コネクタの端子からの信号を受ける送受信制御手段と、前記コネクタと前記送受信制御手段との間に設けられ、前記コネクタの各端子が前記送受信制御手段の各端子のいずれに接続されるかという接続関係を切り換える切換手段と、ユーザからの入力操作に応じて、前記切換手段による接続関係を変更する接続関係変更手段とを備えたことを特徴としている。
【0011】
したがって、他の機器のコネクタの端子への信号割り当てがどのような状態であったとしても、容易に接続を行うことができる。
【0012】
請求項に記載の「送受信制御手段」は、実施形態においては、ステップS15、S16またはS62、S63がこれに対応する。
【0013】
「切換手段」は、実施形態においては、リレー回路38、40がこれに対応する。
【0014】
「接続関係決定手段」は、実施形態においては、ステップS54、S55、S64、S69がこれに対応する。
【0015】
「接続関係変更手段」は、実施形態においては、ステップS4、S6がこれに対応する。
【図面の簡単な説明】
【0016】
【図1】第1の実施形態による機器の機能ブロック図である。
【図2】図1の実施形態をプログラマブル表示器に適用した場合のハードウエア構成である。
【図3a】接続関係変更プログラムのフローチャートである。
【図3b】接続関係変更プログラムのフローチャートである。
【図3c】接続関係変更プログラムのフローチャートである。
【図4】画面表示の変化を示す図である。
【図5】リレー回路の詳細を示す図である。
【図6】プロトコルの一例を示す図である。
【図7】プロトコル名と機種名との関係を示す図である。
【図8】第2の実施形態による機器の機能ブロック図である。
【図9a】接続関係決定プログラムのフローチャートである。
【図9b】接続関係決定プログラムのフローチャートである。
【図10】接続パターンの表の一例である。
【図11】プロトコルの表の一例である。
【図12】通信パラメータの表の一例である。
【図13】コネクタの例を示す図である。
【図14】リレー回路を一つにまとめた場合の例を示す図である。
【発明を実施するための形態】
【0017】
1.第一の実施形態
(1)全体構成
図1にこの発明の一実施形態による他の機器との通信を行う機器の機能ブロック図を示す。コネクタ2は、他の機器との通信を行うためのものであり、複数の端子を有している。送受信制御手段6は、コネクタ2の端子に対して信号を与えるとともに、コネクタ2の端子からの信号を受けるものである。切換手段4は、コネクタ2と送受信制御手段6との間に設けられ、コネクタ2の各端子が送受信制御手段6の各端子のいずれに接続されるかという接続関係を切り換えるものである。
【0018】
接続関係変更手段8は、入力手段10から与えられたユーザの操作に応じて、切換手段4による接続関係を変更する。さらに、接続関係変更手段8は、現在の接続関係を、表示手段12において表示する。
【0019】
したがって、ユーザは、表示手段12の表示を見ながら、入力手段10を操作するだけで、コネクタ2の各端子への信号の割り当てを容易に変更することができる。加えて、パソコンなどの外部機器から信号割り当て情報ファイルをダウンロードすることで、信号の割り当てを容易に変更することもできる。
【0020】
(2)ハードウエア構成
以下では、図1の実施形態を、プログラマブル表示器に適用した場合(他の機器との通信を行う機器としてプログラマブル表示器を用いた場合)を例として説明する。
【0021】
図2に、ハードウエア構成を示す。CPU20には、バスラインを介して、SDRAM22、UART(Universal Asynchronous Receiver Transmitter)24、入出力インターフェイス(I/O)26、フラッシュロム28、ディスプレイ30、タッチパネル32、PC用インターフェイス91が接続されている。UART24には、RS232Cドライバ回路34、RS422/485ドライバ回路36が接続されている。RS232Cドライバ回路34は、UART24からの出力をRS232Cの規格に沿った電圧に変換してコネクタ42に与え、コネクタ42からの信号をUART24が扱うことのできる電圧に変換する。RS422/485ドライバ回路36は、UART24からの出力をRS422/RS485の規格に沿った電圧に変換してコネクタ42に与え、コネクタ42からの信号をUART24が扱うことのできる電圧に変換する。この実施形態では、RS232Cドライバ回路34、RS422/485ドライバ回路36、UART24によって、送受信制御手段6が構成されている。
【0022】
コネクタ42とRS232Cドライバ回路34の間にはリレー回路38が設けられ、コネクタ42とRS422/485ドライバ回路36の間にはリレー回路40が設けられている。リレー回路38、40は、RS232Cドライバ回路34、RS422/485ドライバ回路36の端子と、コネクタ42の端子との互いの接続関係を切り換えるものである。
【0023】
フラッシュロム28には、コネクタ42にケーブル(図示せず)を介して接続されたプログラマブル・ロジック・コントローラ(PLC)(図示せず)に対して、タッチパネル32によって指令を与えたり、制御状況をディスプレイ30に表示したりするための入出力制御プログラムが記録されている。フラッシュロム28には、さらに、リレー回路38、40の接続関係やプロトコルなどを設定するための設定プログラムも記録されている。
【0024】
(3)接続関係変更プログラム
図3a、図3b、図3cに、フラッシュロム28に記録された設定プログラムのフローチャートを示す。ユーザは、この設定プログラムを用いることにより、簡単に設定処理を行うことができるようになる。
【0025】
まず、ステップS1において、CPU20は、ディスプレイ30に通信規格設定画面を表示する。通信規格設定画面の表示例を図4Aに示す。画面には、RS232C、RS422、RS485の規格が表示され、ユーザはタッチパネル32を操作していずれかを選択し、決定することができる。
【0026】
通信規格が選択され決定キーが押されると(ステップS2)、CPU20は、I/O26、制御線44を介して制御信号を与え、設定された通信規格に対応するドライバ回路だけをイネーブル(有効)にする(ステップS3)。図示していないが、制御線44は、RS232Cドライバ回路34だけでなく、RS422/485ドライバ回路36にも接続されている。たとえば、RS232Cが選択されて設定されると、CPU20は、制御線44により、RS422/485ドライバ回路36をディスイネーブル(無効)にし、RS232Cドライバ回路34をイネーブルにする。なお、RS422(またはRS485)が選択された場合には、RS422/485ドライバ回路36をイネーブルにするだけでなく、RS422(またはRS485)を選択する旨の信号も与える。なお、以下では、RS232Cが選択されたものとして話を進める。
【0027】
次に、CPU20は、接続関係設定画面をディスプレイ30に表示する(ステップS4)。接続関係設定画面の表示例を図4Bに示す。画面には、コネクタ42の端子Out1〜Out5が表示され、各端子Out1〜Out5のそれぞれに対し、RS232Cドライバ回路34の出力信号のいずれを接続するかを示すための入力ボックスB1〜B5が表示される。ユーザは、この入力ボックスB1〜B5に所望のRS232Cドライバ回路34の出力信号を記入(あるいはプルダウンメニューから選択)することで、RS232Cドライバ回路34の各端子と、コネクタ42の各端子Out1〜Out5との接続関係を自由に設定することができる。
【0028】
図4Bでは、入力ボックスB1に「SD」が入力され、コネクタ42の端子Out1に、RS232Cドライバ回路34の出力「SD」を接続すべきことが明らかにされている。同様に、端子Out2に「RS」、端子Out3に「RD」、端子Out4に「CS」,端子Out5に「GND」を接続すべきことが明らかにされている。
【0029】
全ての入力ボックスB1〜B5に入力がなされ、設定終了ボタンEが押されると(ステップS5)、CPU20は、設定された接続関係にしたがって、I/O26、制御線46を介してリレー回路38の切換を行う(ステップS6)。
【0030】
リレー回路38の詳細を、図5に示す。リレー回路38の各スイッチは、個別的に、CPU20から、制御線46によってオン・オフ制御が可能となっている。RS232Cドライバ回路34の端子SDは、スイッチSW11、SW12、SW13、SW14、SW15の切換により、コネクタ42の端子Out1、Out2、Out3、Out4、Out5のいずれとも接続可能となっている。たとえば、RS232Cドライバ回路34の出力端子SDを、コネクタ42の端子Out4に接続する場合には、SW11、SW12、SW13、SW15をオフにし、SW14をオンにすればよい。
【0031】
他の端子RD、RS、CS、GNDにも、それぞれ、スイッチSW21〜SW25、スイッチSW31〜SW35、スイッチSW41〜SW45、スイッチSW51〜SW55を介して、コネクタOut2、Out3、Out4、Out5が接続され、接続関係をCPU20の側から制御できるようになっている。
【0032】
たとえば、図4Bのように、ユーザによって接続関係が決定されたとすると、CPU20は、SW11をオン、SW12〜15をオフにして端子SDをOut1に接続させ、SW23をオン、SW21、SW22、SW24、SW25をオフにして端子RDをOut3に接続させ、SW32をオン、SW31、SW33、SW34、SW35をオフにして端子RSをOut2に接続させ、SW44をオン、SW41、SW42、SW43、SW45をオフにして端子CSをOut4に接続させ、SW55をオン、SW51、SW52、SW53、SW54をオフにして端子GNDをOut5に接続させる。
【0033】
上記のように、この実施形態では、ケーブルの物理的な結線を変更することなく、画面上での選択により接続関係を簡単に変更することができる。
【0034】
次に、CPU20は、プロトコル設定画面をディスプレイ30に表示する(ステップS7)。プロトコル設定画面の表示例を図4Cに示す。この実施形態においてプロトコルとは、PLCのコマンド体系をいう。たとえば、「0001」というコードは、あるPLCでは書き込みに該当し、他のPLCでは読み出しに該当する等の違いがあり、これはコマンド体系の違いによるものである。プロトコルはPLCのメーカごとに、さらには、メーカが同一であっても機種ごとに異なっている。画面では、IDEC社のAプロトコル、IDEC社のBプロトコル、M社のCプロトコル、F社のDプロトコル等が示されている。
【0035】
ユーザは、タッチパネル32を操作して、接続しようとするPLCのメーカとプロトコルを選択する。プロトコルの選択決定がなされると(ステップS8)、CPU20は、決定されたプロトコル名をフラッシュロム28に記録する(ステップS9)。入出力制御プログラムが、PLCの入出力制御を行う際には、このようにして記録されたプロトコル名にしたがって、あらかじめフラッシュロム28に記録されている対応するコマンド体系を読み出して制御を行うことになる。たとえば、IDEC社のBプロトコルとして、図6に示すようなコマンド体系があらかじめフラッシュロム28に記録されている。他のプロトコルについても、同様にフラッシュロム28にあらかじめ記録されている。
【0036】
次に、CPU20は、通信パラメータ設定画面をディスプレイ30に表示する(ステップS10)。通信パラメータ設定画面の表示例を図4Dに示す。画面では、ボーレート、データ長、ストップビットの有無、パリティチェックの有無、フロー制御の有無などの通信パラメータを選択できるようになっている。設定終了ボタンEが押されると(ステップS11)、CPU20は設定された通信パラメータをフラッシュロム28に記録する(ステップS12)。入出力制御プログラムが、PLCの入出力制御を行う際には、フラッシュロム28に記録された通信パラメータに基づいて制御を行うことになる。
【0037】
上記のようにして設定が完了すると、CPU20は確認処理を行う。この確認処理の前には、コネクタ42に、接続ケーブル(図示せず)を介して、PLCを接続しておく必要がある。
【0038】
まず、CPU20は、ステップS9によって決定されたプロトコルによるコマンド体系から、確認処理に用いるためのコマンドを読み出す(ステップS13)。確認処理を行うためのものであるから、i)記録内容を書き換えるなどPLCの動作に影響を与えるものでないこと、ii)コマンドに対する返信が正しいものであるかどうかを確実に判定できるものであることの2つの条件を満たすものであることが好ましい。たとえば、「機種問い合わせ」のコマンド等が好ましい。
【0039】
CPU20は、読み出した「機種問い合わせ」のコマンドである"READTYPE"を、ステップS12にて決定した通信パラメータにしたがって送信データに変換する(ステップS14)。次に、この送信データを、ステップS3にて選択されたRS232Cドライバ回路34、ステップS6によって決定された接続関係を有するリレー回路38、コネクタ42、ケーブル(図示せず)を介して、PLCに送信する(ステップS15)。
【0040】
CPU20は、上記送信の後、所定時間内に返信があったかどうかを判断する(ステップS16)。所定時間内に返信がなければ、いずれかの設定にエラーがあるものとして、ディスプレイ30にエラー表示を行う(ステップS19)。
【0041】
所定時間内に返信があると、CPU20は、送られてきた返信データを、設定されている通信パラメータにしたがって解釈する(パリティビットを取り除くなどをする)。解釈した結果が、あらかじめ記録している「機種問い合わせ」に対する返信と合致するかどうかを判断する(ステップS17)。なお、機種問い合わせに対する返信は、図7に示すように、各社のプロトコルごとに、あり得る機種問い合わせに対する解答が、あらかじめフラッシュロム28に記録されている。
【0042】
たとえば、ステップS9において設定したプロトコルが「IDEC社Bプロトコル」である場合、「機種問い合わせ」に対しては、"IDEC-10112"、"IDEC-10113"、"IDEC-20010"、"IDEC-X13"、"IDEC-X14"のいずれかが返信されてくれば、適切な返信データが返ってきていると判断することができる。
【0043】
返信されてきたデータが適切でない場合や解読不可能な場合には、設定エラーの表示を行う(ステップS19)。返信されてきたデータが適切である場合には、ディスプレイ30において設定完了の表示を行う(ステップS18)。
【0044】
この実施形態によれば、設定の後に、確認処理を行うようにしているので、正しい設定がなされているかどうかを確認することができる。
【0045】
なお、通信規格、接続関係、プロトコル、通信パラメータの一部又は全部は、外部PC93から、PC用インターフェイス91を介して、通信規格の定義ファイルとしてダウンロードすることにより設定してもよい。
2.第2の実施形態
(1)全体構成図
図8にこの発明の他の実施形態による機器の機能ブロック図を示す。コネクタ2は、他の機器との通信を行うためのものであり、複数の端子を有している。送受信制御手段56は、コネクタ52の端子に対して信号を与えるとともに、コネクタ52の端子からの信号を受けるものである。切換手段54は、コネクタ52と送受信制御手段56との間に設けられ、コネクタ52の各端子が送受信制御手段56の各端子のいずれに接続されるかという接続関係を切り換えるものである。
【0046】
接続関係決定手段58は、コネクタ52を介して他の機器が接続された状態において、切換手段54を制御して、コネクタ52の各端子と送受信制御手段56の各端子の接続関係を順次切り換えていく。そして、各接続関係において、送受信制御手段56、切換手段54、コネクタ52を介して他の機器に対してコマンドを送信し、当該コマンドに対する他の機器からの正常なレスポンスが、コネクタ52、切換手段54、送受信制御手段56を介して受信できたか否かを判断する。正常なレスポンスが得られない場合、接続関係決定手段58は、切換手段54を制御して、次の接続関係に切り換え、上記と同様にしてコマンドを送信し、正しいレスポンスが得られるかどうかを判断する。正常なレスポンスが得られると、接続関係決定手段58は、その時の切換手段54による接続関係を、正しい接続関係として維持する。
【0047】
(2)ハードウエア構成
第2の実施形態におけるハードウエア構成は、図2に示すハードウエア構成と同様である。ただし、この実施形態においては、フラッシュロム28には、接続関係変更プログラムに代えて、接続関係決定プログラムが記録されている。
【0048】
(3)接続関係決定プログラム
この実施形態においては、ユーザは、通信規格の選択を行うだけで、接続関係、プロトコル、通信パラメータなどは、CPU20の側で自動設定がされるようになっている。
【0049】
図9a、図9bに、このような自動設定を実現するための接続関係決定プログラムのフローチャートを示す。
【0050】
まず、ステップS51において、CPU20は、ディスプレイ30に通信規格設定画面を表示する。図4Aに示す通信規格設定画面に基づいて、ユーザはタッチパネル32を操作していずれかの通信規格を選択し、決定する。
【0051】
通信規格が選択され決定キーが押されると(ステップS52)、CPU20は、I/O26、制御線44を介して制御信号を与え、設定された通信規格に対応するドライバ回路34(36)、リレー回路38(40)だけをイネーブルにする(ステップS53)。なお、以下では、RS232Cが選択され、RS232Cドライバ回路34、リレー回路38がイネーブルにされたものとして話を進める。
【0052】
次に、CPU20は、リレー回路38の接続パターンを第1のパターンに設定する(ステップS54、S55)。ここで、フラッシュロム28には、あらかじめ、図10に示すような接続パターンが記録されている。接続パターンとしては、RS232Cドライバ回路34の端子SD、RD、RS、CS、GNDとコネクタ42の端子Out1、Out2、Out3、Out4、Out5の全ての組み合わせを含む接続関係が記録されている。
【0053】
たとえば、1行目の第1の接続パターンであれば、RS232Cドライバ回路34の端子SDをコネクタ42のOut1に接続し、RS232Cドライバ回路34の端子RDをコネクタ42のOut2に接続し、RS232Cドライバ回路34の端子RSをコネクタ42のOut3に接続し、RS232Cドライバ回路34の端子CSをコネクタ42のOut4に接続し、RS232Cドライバ回路34の端子GNDをコネクタ42のOut5に接続することが、図10に示されている。CPU20は、リレー回路38のスイッチSW11〜SW55のオン/オフを制御して、接続テストのために第1の接続パターン1を実現する。
【0054】
次に、CPU20は、第1のプロトコルを選択して設定する(ステップS56、S57)。ここで、フラッシュロム28には、あらかじめ、図11に示すように、各社のPLCのプロトコル名が記録されている。また、各プロトコル名に対応するプロトコルの内容も、フラッシュロム28に記録されている。プロトコルの内容は、たとえば、図6に示すとおりである。
【0055】
CPU20は、1番目に記載の第1プロトコルである「IDEC社A」プロトコルを選択し、このプロトコル名に対するプロトコルの内容をフラッシュロム28から読み出して、接続テストのために使用するプロトコルとして決定する。
【0056】
次に、CPU20は、第1の通信パラメータを選択して設定する(ステップS58、S59)。ここで、フラッシュロム28には、あらかじめ、図12に示すように、各通信パラメータの全ての組み合わせが記録されている。
【0057】
CPU20は、1番目に記載の第1の通信パラメータを選択し、接続テストのために使用する通信パラメータとして決定する。
【0058】
以上のようにして、接続パターン、プロトコル、通信パラメータを設定すると、CPU20は、ステップS57において設定したプロトコル名に対応するプロトコル内容(たとえば図6)から、接続テストに用いるためのコマンドを読み出す(ステップS60)。接続テストに用いるコマンドは、第1の実施形態における確認処理と同じように、i)記録内容を書き換えるなどPLCの動作に影響を与えるものでないこと、ii)コマンドに対する返信が正しいものであるかどうかを確実に判定できるものであることの2つの条件を満たすものであることが好ましい。たとえば、「機種問い合わせ」のコマンド等が好ましい。
【0059】
CPU20は、読み出した「機種問い合わせ」のコマンドである"READTYPE"を、ステップS59にて決定した通信パラメータにしたがって送信データに変換する(ステップS61)。次に、この送信データを、ステップS53にて選択されたRS232Cドライバ回路34、ステップS55によって決定された接続関係を有するリレー回路38、コネクタ42、ケーブル(図示せず)を介して、PLCに送信する(ステップS62)。
【0060】
CPU20は、上記送信の後、所定時間内に返信があったかどうかを判断する(ステップS63)。所定時間内にPLCからの返信があると、CPU20は、送られてきた返信データを、設定されている通信パラメータにしたがって解釈する(パリティビットを取り除くなどをする)。解釈した結果が、あらかじめ記録している「機種問い合わせ」に対する返信と合致するかどうかを判断する(ステップS64)。なお、機種問い合わせに対する返信は、図7に示すように、各社のプロトコルごとに、あり得る機種問い合わせに対する解答が、あらかじめフラッシュロム28に記録されている。
【0061】
たとえば、ステップS56において設定したプロトコルが「IDEC社Bプロトコル」である場合、「機種問い合わせ」に対しては、"IDEC-10112"、"IDEC-10113"、"IDEC-20010"、"IDEC-X13"、"IDEC-X14"のいずれかが返信されてくれば、適切な返信データが返ってきていると判断することができる。
【0062】
返信データが適切でない、あるいは所定時間内に返信がない場合には、CPU20は、現在の設定が正しくないと判断し、ステップS65に進む。そして、ステップS58において、第2の通信パラメータ(図12の2行目参照)を読み出して設定する(ステップS59)。その結果、接続パターン、プロトコルは変わらず、通信パラメータだけが変更されることになる。
【0063】
CPU20は、このように変更した設定に基づいて、上記と同様にして「機種問い合わせ」コマンドをPLCに送信し(ステップS60、S61、S62)、所定時間内に適切な返信データが返ってくるかどうかを判断する接続テストを行う(ステップS63、S64)。
【0064】
返信データが適切でない、あるいは所定時間内に返信がない場合には、CPU20は、接続テストが失敗であると判断し、次の通信パラメータに設定を変更して上記の接続テストを行う。
【0065】
上記の処理を繰り返し、全ての通信パラメータについて接続テストを行っても所定時間内に適切な返信データが返ってこない場合には、CPU20は、通信パラメータの設定を第1の通信パラメータに戻し、ステップS66に進む。そして、ステップS56において、第2のプロトコル(図11の2行目参照)を読み出して設定する(ステップS57)。
【0066】
CPU20は、このように変更した設定に基づいて、上記と同様にして「機種問い合わせ」コマンドをPLCに送信し(ステップS60、S61、S62)、接続テストを行う(ステップS63、S64)。つまり、変更された新たなプロトコルにしたがって、通信パラメータを変えて、接続テストを行う。全ての通信パラメータについて接続テストを行っても、接続テストが成功しない場合には、CPU20は、次のプロトコルに設定を変更して上記の接続テストを行う。
【0067】
上記の処理を繰り返し、全てのプロトコル、通信パラメータについて接続テストを行っても所定時間内に適切な返信データが返ってこない場合には、CPU20は、プロトコル、通信パラメータの設定を第1のプロトコル、第1の通信パラメータに戻し、ステップS67に進む。そして、ステップS54において、第2の接続パターン(図10の2行目参照)を読み出して設定する(ステップS55)。
【0068】
CPU20は、このように変更した設定に基づいて、上記と同様にして、接続テストを行う(ステップS60、S61、S62、S63、S64)。つまり、変更された新たな接続パターンにしたがって、プロトコル、通信パラメータを変えて、接続テストを行う。全てのプロトコル、通信パラメータについて接続テストを行っても、接続テストが成功しない場合には、CPU20は、次の接続パターンに設定を変更して上記の接続テストを行う。
【0069】
上記の接続テストにおいて、「機種問い合わせ」コマンドに対して、所定時間内に適切な返信データが返ってきたと判断すると、CPU20は、現在の通信規格、接続パターン、プロトコル、通信パラメータをフラッシュロム28に記録する(ステップS69)。このようにして、プログラマブル表示器とPLCとの間において正しく通信をなすための設定を自動的に見出し、記録することができる。CPU20は、このようにして正しい設定を見出して記録すると、ディスプレイ30に、正しく設定が完了した旨を表示する(ステップS70)。
【0070】
なお、接続パターン、プロトコル、通信パラメータの全ての組み合わせのいずれについても接続テストが成功しない場合には、CPU20は、設定が不可能である旨を、ディスプレイ30表示する(ステップS68)。
3.その他の実施形態
(1)上記第2の実施形態では、通信規格についてはユーザが操作により選択するようにしている。しかし、接続パターンなどと同じように、通信規格についても複数の規格を順次選択して、他の設定と組み合わせて接続テストを行い、自動設定を行うようにしても良い。
【0071】
(2)上記第2の実施形態では、接続パターン、プロトコル、通信パラメータを全て自動設定としているが、これらのいずれかまたは2つについては、ユーザが操作入力をして選択するようにしても良い。また、プロトコルや通信パラメータについては、ユーザがPLCのメーカ名を入力することで、当該メーカに対応するプロトコル・通信パラメータだけについて接続テストを行うようにして、処理を迅速化することができる。
【0072】
(3)上記第2の実施形態では、接続パターンについて、順次接続状態を変更して接続テストを行うようにしている。この点につき、存在する可能性の高い接続パターンをあらかじめ記録しておき、これらパターンについて先に接続テストを行うようにしてもよい。また、逆に、存在し得ない接続パターンをあらかじめ記録しておき、これらパターンについては、接続テストを行わないようにしてもよい。これにより、接続テストの処理時間を短縮することが可能となる。同様のことが、プロトコル、通信パラメータについても適用できる。
【0073】
(4)上記実施形態では、リレー回路として、機械的スイッチを有するものを用いた。しかし、電子的なスイッチ(FPGAなど)を有するものをリレー回路として用いてもよい。
【0074】
(5)上記実施形態では、5端子のコネクタを用いるようにしている。しかし、どのような数の端子を有するコネクタを用いてもよい。また、コネクタとしてできるだけ端子数の多いものを用意しておけば、柔軟に対応することができる。すなわち、PLCの側が端子数の少ないコネクタを有していても、図13に示すように、コネクタ変換ケーブル90さえ準備しておけば、両者を接続することができる。特に、本発明では、接続関係を変更することができるので、このような特殊なケーブル90を用いても接続が容易である。
【0075】
(6)上記各実施形態では、図2に示すように、RS232Cドライバ回路34のためのリレー回路38と、RS422/485ドライバ回路のためのリレー回路40を別個に設けている。しかし、図14に示すように、リレー回路39を一つだけ設け、CPU20からの制御により、RS232Cの場合とRS422/485の場合とで、切り換えて用いるようにしてもよい。すなわち、CPU20は、RS232Cの場合にはスイッチSW10をオン、SW11をオフにして、RS232Cドライバ回路34をリレー回路39に接続する。また、CPU20は、RS422/485の場合にはスイッチSW11をオン、SW10をオフにして、RS422/485ドライバ回路36をリレー回路39に接続する。このように、スイッチSW10、SW11を制御することにより、リレー回路39を一つにまとめることができる。
【0076】
(7)上記実施形態では、プログラマブル表示器とPLCを例として示したが、複数のラインによって接続を行うような機器について適用することができる。
【特許請求の範囲】
【請求項1】
他の機器との通信を行う機器において、
他の機器との通信を行うため、複数の端子を有するコネクタと、
前記コネクタの端子に対して信号を与えるとともに、前記コネクタの端子からの信号を受ける送受信制御手段と、
前記コネクタと前記送受信制御手段との間に設けられ、前記コネクタの各端子が前記送受信制御手段の各端子のいずれに接続されるかという接続関係を切り換える切換手段と、
コネクタを介して他の機器が接続された状態において、前記切換手段を制御して、前記コネクタの各端子と前記送受信制御手段の各端子の接続関係を切り換えるとともに、各接続関係において、前記送受信制御手段、切換手段、コネクタを介して前記他の機器に対してコマンドを送信し、当該コマンドに対する他の機器からの正常なレスポンスが、前記コネクタ、切換手段、送受信制御手段を介して受信できたか否かを判断し、当該正常なレスポンスが得られた接続関係をもたらす切換手段の状態を保持する接続関係決定手段と、
を備えた他の機器との通信を行う機器。
【請求項2】
他の機器との通信を行う機器において、
他の機器との通信を行うため、複数の端子を有するコネクタと、
前記コネクタの端子に対して信号を与えるとともに、前記コネクタの端子からの信号を受ける送受信制御手段と、
前記コネクタと前記送受信制御手段との間に設けられ、前記コネクタの各端子が前記送受信制御手段の各端子のいずれに接続されるかという接続関係を切り換える切換手段と、
前記切換手段による接続関係を表示手段において表示しつつ、ユーザからの入力操作に応じて、前記切換手段による接続関係を変更する接続関係変更手段と、
を備えた他の機器との通信を行う機器。
【請求項1】
他の機器との通信を行う機器において、
他の機器との通信を行うため、複数の端子を有するコネクタと、
前記コネクタの端子に対して信号を与えるとともに、前記コネクタの端子からの信号を受ける送受信制御手段と、
前記コネクタと前記送受信制御手段との間に設けられ、前記コネクタの各端子が前記送受信制御手段の各端子のいずれに接続されるかという接続関係を切り換える切換手段と、
コネクタを介して他の機器が接続された状態において、前記切換手段を制御して、前記コネクタの各端子と前記送受信制御手段の各端子の接続関係を切り換えるとともに、各接続関係において、前記送受信制御手段、切換手段、コネクタを介して前記他の機器に対してコマンドを送信し、当該コマンドに対する他の機器からの正常なレスポンスが、前記コネクタ、切換手段、送受信制御手段を介して受信できたか否かを判断し、当該正常なレスポンスが得られた接続関係をもたらす切換手段の状態を保持する接続関係決定手段と、
を備えた他の機器との通信を行う機器。
【請求項2】
他の機器との通信を行う機器において、
他の機器との通信を行うため、複数の端子を有するコネクタと、
前記コネクタの端子に対して信号を与えるとともに、前記コネクタの端子からの信号を受ける送受信制御手段と、
前記コネクタと前記送受信制御手段との間に設けられ、前記コネクタの各端子が前記送受信制御手段の各端子のいずれに接続されるかという接続関係を切り換える切換手段と、
前記切換手段による接続関係を表示手段において表示しつつ、ユーザからの入力操作に応じて、前記切換手段による接続関係を変更する接続関係変更手段と、
を備えた他の機器との通信を行う機器。
【図1】
【図2】
【図3a】
【図3b】
【図3c】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9a】
【図9b】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3a】
【図3b】
【図3c】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9a】
【図9b】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−232966(P2010−232966A)
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願番号】特願2009−78195(P2009−78195)
【出願日】平成21年3月27日(2009.3.27)
【出願人】(000000309)IDEC株式会社 (188)
【Fターム(参考)】
【公開日】平成22年10月14日(2010.10.14)
【国際特許分類】
【出願日】平成21年3月27日(2009.3.27)
【出願人】(000000309)IDEC株式会社 (188)
【Fターム(参考)】
[ Back to top ]