(57)【要約】【課題】リクエスト信号伝送線やアクノリッジ信号伝送線にノイズが混入されても、そのノイズをリクエスト信号やアクノリッジ信号と誤認することなく安定した通信を可能とする。【解決手段】マスタ１はスレーブ２にリクエスト信号伝送線３経由でリクエスト信号を送信してデータ送信を知らせる一方、スレーブ２はリクエスト信号を受信するとマスタにアクノリッジ信号伝送線４経由でアクノリッジ信号を送信してデータ受領を知らせる通信方式であって、リクエスト信号とアクノリッジ信号それぞれのパルス幅を規定のパルス幅に設定し、スレーブ２は受信するリクエスト信号のパルス幅が上記設定したパルス幅であるときに当該リクエスト信号の受信を有効と扱い、マスタ１は受信するアクノリッジ信号のパルス幅が上記設定したパルス幅であるときに当該アクノリッジ信号の受信を有効と扱う。【選択図】図３
2013206276.tif 000002
【特許請求の範囲】
【請求項１】
マスタはスレーブにリクエスト信号伝送線経由でリクエスト信号を送信してデータ送信を知らせる一方、スレーブはリクエスト信号を受信するとマスタにアクノリッジ信号伝送線経由でアクノリッジ信号を送信してデータ受領を知らせる通信方式であって、
リクエスト信号とアクノリッジ信号それぞれのパルス幅を規定のパルス幅に設定し、
スレーブは受信するリクエスト信号のパルス幅が上記設定したパルス幅であるときに当該リクエスト信号の受信を有効と扱い、
マスタは受信するアクノリッジ信号のパルス幅が上記設定したパルス幅であるときに当該アクノリッジ信号の受信を有効と扱う、
ことを特徴とするマスタ／スレーブ通信方式。
【請求項２】
上記マスタとスレーブとの間でのデータ通信の有効時間帯をゲート信号のパルス幅で規定する、ことを特徴とする請求項１に記載の通信方式。
【請求項３】
上記リクエスト信号、アクノリッジ信号それぞれのパルス幅をノイズに対応して可変する、ことを特徴とする請求項１または２に記載の通信方式。
【請求項４】
プログラマブルコントローラ本体とこれに接続される１ないし複数のモジュールとを含み、上記プログラマブルコントローラ本体をマスタ、上記モジュールをスレーブとして請求項１ないし３のいずれかに記載の通信方式によりプログラマブルコントローラ本体とモジュールとの間で通信を行うようにした、ことを特徴とするプログラマブルコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マスタとスレーブとの間での通信方式に関するものであり、特に、本発明は、プログラマブルコントローラ本体と、このプログラマブルコントローラ本体にバス接続されるモジュールとを含むプログラマブルコントローラにおいて、プログラマブルコントローラ本体をマスタとし、上記モジュールをスレーブとした場合の通信方式に関するものである。
【背景技術】
【０００２】
プログラマブルコントローラは、ラダープログラムを実行して各種産業機械を制御するものであり、産業分野で広範囲に使用されている。プログラマブルコントローラは、スイッチやセンサなどの入力機器のＯＮ／ＯＦＦ情報を入力し、ラダー言語などで書かれたユーザプログラムに沿って論理演算を実行する。プログラマブルコントローラは、得られた演算結果にしたがって、リレー、バルブ、アクチュエータなどの出力機器に対し、ＯＮ／ＯＦＦ情報の信号を出力することで制御を実行する。
【０００３】
このようなプログラマブルコントローラにおいて、プログラマブルコントローラ本体をマスタとし、入・出力や通信等の各種モジュールをスレーブとして、このマスタとスレーブとの間をバス経由でデータ伝送する場合、マスタがスレーブを順にアクセスして、データ伝送を行なうマスタ／スレーブ通信がある。この通信方式においては、マスタからスレーブへ、まず、リクエスト信号ＲＥＱをデータと共に送信してデータ伝送を知らせる一方、スレーブは、リクエスト信号ＲＥＱの受信と共にデータを受領すると、マスタへアクノリッジ信号ＡＣＫを送信してそのデータの受領を知らせるという通信方式がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１２６８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記通信方式では、リクエスト信号ＲＥＱやアクノリッジ信号ＡＣＫはデータの到来を確認するハンドシェーク信号であるために、それら信号を伝送する信号伝送線中に、パルスノイズ等のノイズが重畳されていると、マスタやスレーブでは、そのノイズをリクエスト信号ＲＥＱやアクノリッジ信号ＡＣＫとして応答動作するおそれがあるという不都合があった。
【０００６】
本発明により解決すべき課題は、上記信号伝送線にノイズが混入しても、リクエスト信号やアクノリッジ信号を正しく受信可能となし、耐ノイズ特性を向上することにある。
【課題を解決するための手段】
【０００７】
本発明第１による通信方式は、マスタはスレーブにリクエスト信号伝送線経由でリクエスト信号を送信してデータ送信を知らせる一方、スレーブはリクエスト信号を受信するとマスタにアクノリッジ信号伝送線経由でアクノリッジ信号を送信してデータ受領を知らせる通信方式であって、リクエスト信号とアクノリッジ信号それぞれのパルス幅を規定のパルス幅に設定し、スレーブは受信するリクエスト信号のパルス幅が上記設定したパルス幅であるときに当該リクエスト信号の受信を有効と扱い、マスタは受信するアクノリッジ信号のパルス幅が上記設定したパルス幅であるときに当該アクノリッジ信号の受信を有効と扱う、ことを特徴とする。
【０００８】
上記リクエスト信号とアクノリッジ信号それぞれの設定パルス幅は同じでもよいし、異なってもよい。また、上記リクエスト信号およびアクノリッジ信号それぞれのパルス幅が設定したパルス幅であるかどうかの監視はタイマで行ってもよい。さらに、上記マスタとスレーブとの間でのデータ伝送の有効時間帯をゲート信号のパルス幅で規定してもよい。さらに、上記リクエスト信号、アクノリッジ信号それぞれのパルス幅をノイズに対応して可変可能としてもよい。
【０００９】
本発明第１では、リクエスト信号やアクノリッジ信号のパルス幅を既知の所定パルス幅とし、リクエスト信号やアクノリッジ信号のパルス幅が所定パルス幅に一致するかどうかを監視し、一致する場合にのみリクエスト信号やアクノリッジ信号を有効とするので、信号伝送線に上記ノイズが混入しても、リクエスト信号やアクノリッジ信号を規定時間検出し、正しく受信することができるようになる。
【００１０】
本発明第２によるプログラマブルコントローラは、プログラマブルコントローラ本体とこれに接続される１ないし複数のモジュールとを含み、上記プログラマブルコントローラ本体をマスタ、上記モジュールをスレーブとして請求項１ないし３のいずれかに記載の通信方式によりプログラマブルコントローラ本体とモジュールとの間で通信を行うようにした、ことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、リクエスト信号伝送線やアクノリッジ信号伝送線にノイズが混入しても、そのノイズを、それらの間でのパルス幅の相違に基づいて、フィルタリングすることができるようにした為、ノイズに対して動作が安定したマスタ／スレーブ通信方式を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、本発明の実施の形態に係る通信方式のプログラマブルコントローラの構成を示す図である。
【図２】図２は、アドレス信号とデータ信号との時分割による各サイクルを示す図である。
【図３】図３は、プログラマブルコントローラのブロック回路を示す図である。
【図４】図４（ａ）は、実施の形態にかかる通信方式において、リクエスト信号ＲＥＱの波形を示す図、図４（ｂ）は、リクエスト信号ＲＥＱと同時に送信されるデータの波形を示す図、図４（ｃ）は、アクノリッジ信号ＡＣＫの波形を示す図、図４（ｄ）はゲート信号ＧＡＴＥの波形を示す図である。
【発明を実施するための形態】
【００１３】
以下、添付した図面を参照して、本発明の実施の形態に係るプログラマブルコントローラにおける通信方式を説明する。図１ないし図３を参照して、１は、マスタとしてのプログラマブルコントローラ本体、２はスレーブとしてのモジュールである。プログラマブルコントローラ本体１は以下ではマスタ１と称し、モジュール２は以下ではスレーブ２と称する。このマスタ１とスレーブ２とによりプログラマブルコントローラが構成される。図面上、スレーブ２は図解の都合で１つのみ示すが、これに限定するのではなく、複数のモジュールが接続される。マスタ１に対してスレーブ２は、リクエスト信号伝送線３、アクノリッジ信号伝送線４、データバス５、ゲート信号伝送線６で接続されている。
【００１４】
リクエスト信号伝送線３とアクノリッジ信号伝送線４は、ハンドシェーク信号伝送線であり、リクエスト信号伝送線３はリクエスト信号ＲＥＱをマスタ１からスレーブ２に伝送する伝送線であり、アクノリッジ信号伝送線４はスレーブ２からマスタ１にアクノリッジ信号ＡＣＫを伝送する伝送線である。データバス５は、アドレス信号とデータ信号との伝送を共用するバスであり、実施の形態ではマルチプレックスバスで構成されている。ゲート信号伝送線６はマスタ１とスレーブ２との間でゲート信号ＧＡＴＥを伝送する線である。
【００１５】
図２を参照して、マスタ１により、例えば６４ビットのアドレス信号ＡＤＤは、例えば第１から第８までの８つのサイクルに時分割されてデータバス５上を伝送させられる。例えば３２ビットＤ０−Ｄ３１からなるデータ信号ＤＡＴＡは、例えば第１から第４までの４つのサイクルに時分割されてデータバス５上を伝送させられる。
【００１６】
アドレス信号ＡＤＤは上記例のように８つに時分割されることにより、第１サイクルはＡ０−Ａ７、第２サイクルはＡ８−Ａ１５、第３サイクルはＡ１６−Ａ２３、第４サイクルはＡ２４−Ａ３１、第５サイクルはＡ３２−Ａ３９、第６サイクルはＡ４０−Ａ４７、第７サイクルはＡ４８−Ａ５５、第８サイクルはＡ５６−Ａ６３で構成される。データ信号ＤＡＴＡは上記例のように４つに時分割されることで、第１サイクルはＤ０−Ｄ７、第２サイクルはＤ８−Ｄ１５、第３サイクルはＤ１６−Ｄ２３、第４サイクルはＤ２４−Ｄ３１で構成される。
【００１７】
図３を参照して、マスタ１とスレーブ３それぞれの通信上のブロック回路構成を説明する。この回路は説明の便宜のためハードウエア的に機能ブロック別の構成で示すが、実際の回路はこのようなハードウエア構成を有するわけではなく、単にＣＰＵ、ＲＯＭ、ＲＡＭ、インターフェース等を含むマイクロコンピュータによりソフトウエア的に構成される。
【００１８】
マスタ１は、プログラマブルコントローラ本体として、プログラマブルコントローラ全体を制御する制御部１ａ、スレーブ２から送信されてくるアクノリッジ信号ＡＣＫのパルス幅をタイマカウントするパルス幅カウンタ１ｂ、リクエスト信号ＲＥＱを送信するリクエスト信号（ＲＥＱ）送信部１ｃ、アクノリッジ信号ＡＣＫを受信するアクノリッジ信号（ＡＣＫ）受信部１ｄ、データを送信するデータ送信部１ｅ、ゲート信号ＧＡＴＥを送受信するゲート信号送受信部１ｆ、および各種設定情報を記憶するメモリ１ｇを備える。
【００１９】
なお、メモリ１ｇには、上記通信のためのデータ以外に、プログラマブルコントローラとして必要な各種プログラムも格納されている。制御部１ａはこのメモリ１ｇに格納しているプログラムに従い、スレーブ２を用いてシーケンス制御を実行することができるようになっている。このシーケンス制御に関しての説明は略する。
【００２０】
メモリ１ｇには、リクエスト信号ＲＥＱ、アクノリッジ信号ＡＣＫ、ゲート信号ＧＡＴＥそれぞれのパルス幅が記憶されている。
【００２１】
なお、リクエスト信号ＲＥＱ、アクノリッジ信号ＡＣＫ、ゲート信号ＧＡＴＥそれぞれのパルス幅を図示略のパルス幅設定部により設定できるようにしてもよい。
【００２２】
スレーブ２は、マスタ１からの制御指令に応答して各種制御をする制御部２ａ、マスタ１から送信されてくるリクエスト信号ＲＥＱ、ゲート信号ＧＡＴＥのパルス幅をカウントするパルス幅カウンタ２ｂ、リクエスト信号ＲＥＱを受信するリクエスト信号（ＲＥＱ）受信部２ｃ、アクノリッジ信号ＡＣＫを送信するアクノリッジ信号（ＡＣＫ）送信部２ｄ、マスタ１から送信されるデータを受信するデータ受信部２ｅ、ゲート信号ＧＡＴＥを送受信するゲート信号送受信部２ｆ、および各種設定情報を記憶するメモリ２ｇを備える。
【００２３】
メモリ２ｇには、リクエスト信号ＲＥＱ、アクノリッジ信号ＡＣＫ、ゲート信号ＧＡＴＥそれぞれのパルス幅が記憶されている。
【００２４】
図４を参照して以上の構成を有するマスタ１とスレーブ２との動作を説明する。図４（ａ）に、リクエスト信号ＲＥＱの波形、図４（ｂ）に、データの波形、図４（ｃ）に、アクノリッジ信号ＡＣＫの波形、図４（ｄ）にゲート信号ＧＡＴＥの波形を示す。なお、リクエスト信号ＲＥＱ、アクノリッジ信号ＡＣＫ、ゲート信号ＧＡＴＥは、ローレベル（Ｌｏ）がアクティブである。リクエスト信号ＲＥＱのパルス幅はＴｒ１、アクノリッジ信号ＡＣＫのパルス幅はＴｒ２、ゲート信号ＧＡＴＥのパルス幅はＴｒ３に設定する。例えばリクエスト信号ＲＥＱのパルス幅Ｔｒ１は立ち上がり時刻ｔ１−立ち下がり時刻ｔ２の間，立ち上がり時刻ｔ３−立ち下がり時刻ｔ４の間、…アクノリッジ信号ＡＣＫのパルス幅Ｔｒ２は、立ち上がり時刻ｔ５−立ち下がり時刻ｔ６の間，立ち上がり時刻ｔ７−立ち下がり時刻ｔ８の間、…であり、ゲート信号ＧＡＴＥのパルス幅Ｔｒ３は、立ち上がり時刻ｔ9−立ち下がり時刻ｔ１０の間である。
【００２５】
リクエスト信号ＲＥＱのパルス幅Ｔｒ１と、アクノリッジ信号ＡＣＫのパルス幅Ｔｒ２は同一でもよいし、異なってもよい。
【００２６】
これら信号ＲＥＱ，ＡＣＫのパルス幅は、ノイズＮ１，Ｎ２のパルス幅ｔｒ１，ｔｒ２…に対応して可変設定可能としてもよい。
【００２７】
制御部１ａは、メモリ１ｇに記憶しているパルス幅のデータを参照して、ノイズを除去して、リクエスト信号ＲＥＱの送信、ゲート信号ＧＡＴＥの送受信、アクノリッジ信号ＡＣＫの受信の制御を行う。
【００２８】
制御部１ａは、ＲＥＱ送信部１ｃを制御して図４（ａ）で示すパルス幅Ｔｒ１のリクエスト信号ＲＥＱを送信する。この場合、制御部１ａは、リクエスト信号ＲＥＱ、ゲート信号ＧＡＴＥのパルス幅データをメモリ１ｇから読み取る。
【００２９】
リクエスト信号ＲＥＱのパルス幅Ｔｒ１は、ノイズＮ１の幅ｔｒ１に対して、Ｔｒ１＞ｔｒ１の関係である。制御部１ａはまた、データ送信部１ｅを制御して、図４（ｂ）で示すデータを送信すると共に、ゲート信号送受信部１ｆを制御して、図４（ｄ）で示すゲート信号ＧＡＴＥを送信する。ゲート信号ＧＡＴＥは、マスタ１とスレーブ２との間での通信有効時間帯をそのパルス幅Ｔｒ３で規定するパルスである。
【００３０】
スレーブ２から図４（ｃ）で示すアクノリッジ信号ＡＣＫをＡＣＫ受信部１ｄが受信すると、制御部１ａの制御により、パルス幅カウンタ１ｂはアクノリッジ信号ＡＣＫのパルス幅をカウントする。制御部１ａは、アクノリッジ信号ＡＣＫのパルス幅がメモリ１ｇに格納しているパルス幅Ｔｒ２と一致し、ノイズＮ２の幅ｔｒ２と一致しないと判断すれば、ＡＣＫ受信部１ｄが受信した信号はスレーブ２が送信したアクノリッジ信号ＡＣＫであり、ノイズでは無いと判断して、所定の処理を行う。このようにしてスレーブ２においては、リクエスト信号ＲＥＱに対してフィルタリングを行い、ノイズを除去できるようにしている。
【００３１】
スレーブ２側において、メモリ２ｇには、リクエスト信号ＲＥＱ、アクノリッジ信号ＡＣＫ、ゲート信号ＧＡＴＥそれぞれのパルス幅Ｔｒ１，Ｔｒ２，Ｔｒ３が記憶されている。この記憶方法は特に限定しないが、例えばマスタ１側から送信されてきたパルス幅設定データを記憶することでもよい。
【００３２】
制御部２ａは、まず、ゲート信号送受信部２ｆでゲート信号ＧＡＴＥを受信しているかどうかを判断する。制御部２ａは、ゲート信号ＧＡＴＥを受信していると判断すると、マスタ１との通信が有効時間帯であるとし、リクエスト信号伝送線３を介してマスタ１から送信されてくるリクエスト信号ＲＥＱに応答制御する。このことによりスレーブ２においては、ゲート信号ＧＡＴＥにより、ノイズフィルタリングを行い、ノイズ除去を可能としている。
【００３３】
制御部２ａは、このリクエスト信号ＲＥＱが送信されてくると、このリクエスト信号ＲＥＱがノイズかどうかを判断するために、パルス幅カウンタ２ｂでそのリクエスト信号ＲＥＱのパルス幅をカウントさせる。制御部２ａは、そのカウント結果が、メモリ２ｇに格納しているリクエスト信号ＲＥＱのパルス幅Ｔｒ１に一致するかどうかを判断する。制御部２ａは、パルス幅のカウント結果がメモリ２ｇに格納するパルス幅Ｔｒ１と一致すれば、リクエスト信号ＲＥＱと判断し、このリクエスト信号ＲＥＱに応答制御する。制御部２ａは、そのことをマスタ１に知らせるため、ＡＣＫ送信部２ｄを制御してアクノリッジ信号ＡＣＫを送信制御する。マスタ１では、このアクノリッジ信号ＡＣＫを受信すると、上記した制御を行う。制御部２ａは、ゲート信号送受信部２ｆにおいてゲート信号ＧＡＴＥを送受信制御する。
【００３４】
以上説明したように本実施の形態では、マスタ１とスレーブ２との通信において、リクエスト信号ＲＥＱやアクノリッジ信号ＡＣＫのパルス幅をノイズ幅ｔｒ１，ｔｒ２とは異なるパルス幅Ｔｒ１，Ｔｒ２に設定し、リクエスト信号ＲＥＱやアクノリッジ信号ＡＣＫのパルス幅が設定幅Ｔｒ１，Ｔｒ２に一致するかどうかを監視し、一致する場合にのみリクエスト信号ＲＥＱ、アクノリッジ信号ＡＣＫを有効とするので、信号伝送線３，４にノイズＮ１，Ｎ２が混入しても、これら信号ＲＥＱ，ＡＣＫを用いてマスタ／スレーブ間通信をすることができるようになる。
【符号の説明】
【００３５】
１  マスタ（プログラマブルコントローラ本体）
２  スレーブ（モジュール）
３  リクエスト信号伝送線
４  アクノリッジ信号伝送線
５  データバス
６  ゲート信号伝送線
【図１】
2013206276.tif 000003
【図２】
2013206276.tif 000004
【図３】
2013206276.tif 000005
【図４】
2013206276.tif 000006