(57)【要約】【課題】安価かつ簡素な論理演算によりノイズフィルタリングすることを可能とし、これにより通信速度を従来よりも向上させる。【解決手段】データ送信側は、所定数ビットからなる正論理のデータ列と、この正論理データ列に対する負論理のデータ列とをデータ伝送単位として、これらデータ伝送単位をシリアルまたはパラレルにデータ伝送する一方、データ受信側は、受信したデータ伝送単位に含む正論理データ列と負論理データ列とのうち、いずれか一方のデータ列の論理を反転させると共に、この反転した当該一方のデータ列の論理と、他方のデータ列の論理とが一致するときのみ上記受信したデータ伝送単位を有効とし、不一致のときは当該データ伝送単位を無効としてノイズフィルタリング処理する。【選択図】図１
2013207655.tif 000002
【特許請求の範囲】
【請求項１】
データ送信側は、所定数ビットからなる正論理のデータ列と、この正論理データ列に対する負論理のデータ列とをデータ伝送単位として、これらデータ伝送単位をシリアルまたはパラレルにデータ伝送する一方、
データ受信側は、受信したデータ伝送単位に含む正論理データ列と負論理データ列とのうち、いずれか一方のデータ列の論理を反転させると共に、
この反転した当該一方のデータ列の論理と、他方のデータ列の論理とが一致するときのみ上記受信したデータ伝送単位を有効とし、不一致のときは当該データ伝送単位を無効としてノイズフィルタリング処理する、ことを特徴とするノイズフィルタリング方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信号伝送におけるノイズフィルタリング方法、より詳しくは、プログラマブルコントローラ（以下、ＰＬＣ）の信号伝送におけるノイズフィルタリング方法に関するものである。
【背景技術】
【０００２】
ＰＬＣは、ラダープログラムを実行して各種産業機械を制御するものであり、産業分野で広範囲に使用されている。ＰＬＣは、スイッチやセンサなどの入力機器のＯＮ／ＯＦＦ情報を入力し、ラダー言語などで書かれたユーザプログラムに沿って論理演算を実行する。ＰＬＣは、得られた演算結果にしたがって、リレー、バルブ、アクチュエータなどの出力機器に対し、ＯＮ／ＯＦＦ情報の信号を出力することで制御を実行する。
【０００３】
このようなＰＬＣにおいて、ＰＬＣ本体をマスタとし、入・出力や通信等の各種モジュールをスレーブとして、このマスタとスレーブとの間をバス経由でデータ伝送する場合、マスタがスレーブを順にアクセスして、データ伝送を行なうマスタ／スレーブ通信がある。この通信方式の１つに、マスタからスレーブへ、まず、リクエスト信号ＲＥＱをデータと共に送信してデータ伝送を知らせる一方、スレーブは、リクエスト信号ＲＥＱの受信と共にデータを受領すると、マスタへアクノリッジ信号ＡＣＫを送信してそのデータの受領を知らせるというハンドシェーキング・プロトコル通信方式がある（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１２６８１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記マスタ／スレーブ通信においてマスタとスレーブとの間のデータ通信において、データを正しく送受信するためには送受信信号が同じでなければならないが、マスタやスレーブの機器やデータ信号線では、それ自身の特性だけでなく外部からのノイズによって伝送するデータに波形ひずみが起こり、符号誤りが生ずることがある。この符号誤りが存在する状態でデータ送受信を行うことは不都合であるので、データ受信側では、信号伝送途中で生じた誤りの有無を検出し、符号誤りが無いデータは有効とする一方、符号誤りが有るデータについては無効としてノイズフィルタリングすることが必要である。
【０００６】
そのため、こうしたデータ伝送においては、伝送データ列の末尾にチェック用のデータを付加して符号誤りを検出する方式があり、そうした符号誤り検出方式としては、例えば、チェックサム方式（Ｃｈｅｃｋ  Ｓｕｍ）や、ＣＲＣ方式（Ｃｙｃｌｉｃ Ｒｅｄｕｎｄａｎｃｙ Ｃｏｄｅ）、等が提案されてきている。それら方式のうちのチェックサム方式にあっては、データの数値を順に足していき、その合計をチェック用の符号としてデータ本体に付け加えて送信する一方、受信側でも、受け取ったデータの数値を同様に足していき、その合計と、チェック用の符号とを比較し、同じであれば正しいデータであり、違っていればエラーデータであると判断する方式である。
【０００７】
また、ＣＲＣ方式にあっては、チェックサム方式が、足し算を基本としてチェックしていたのに対して、割り算を基本とし、データをあるまとまった単位で分け、その単位毎に特定の数で割り、その余りを検出符号として使用する方式である。
【０００８】
上記した符号誤り検出方式によるノイズフィルタリングにおいては、符号誤り検出に必要とする論理演算量が多いうえに論理演算も上記したごとく複雑であると共に、一連のデータの送受信後でないと符号誤りの最終検出ができないことから、データ伝送に時間がかかることとなって通信速度が低下するなどの影響があるという課題がある。
【０００９】
本発明では、ＰＬＣにおいてリクエスト信号とアクノリッジ信号とを用いてデータ伝送を行う通信方式において、符号誤り検出に用いる論理演算量を少なくかつ論理演算も簡素にすることで符号誤り検出を行ってコスト的に安価にしてノイズを効果的にフィルタリング可能として通信速度のより一層の向上を達成可能とすることを解決すべき課題としている。
【課題を解決するための手段】
【００１０】
本発明によるノイズフィルタリング方法は、データ送信側は、所定数ビットからなる正論理のデータ列と、この正論理データ列に対する負論理のデータ列とをデータ伝送単位として、これらデータ伝送単位をシリアルまたはパラレルにデータ伝送する一方、データ受信側は、受信したデータ伝送単位に含む正論理データ列と負論理データ列とのうち、いずれか一方のデータ列の論理を反転させると共に、この反転した当該一方のデータ列の論理と、他方のデータ列の論理とが一致するときのみ上記受信したデータ伝送単位を有効とし、不一致のときは当該データ伝送単位を無効としてノイズフィルタリング処理することを特徴とするものである。
【００１１】
好ましくは、上記ノイズフィルタリングは、ＰＬＣ本体からリクエスト信号とデータとを拡張モジュールに伝送し、拡張モジュールはリクエスト信号に応答しデータの受領をアクノリッジ信号によりマスタに知らせるＰＬＣシステムにおいて、上記データの送受信でのノイズフィルタリングに適用することである。
【００１２】
本発明によれば、例えばＰＬＣ本体と拡張モジュールとの間でリクエスト信号とアクノリッジ信号とを用いたマスタ／スレーブ通信によるデータ伝送を行うに際し、そのデータの伝送単位を所定数ビット（符号）からなる正論理のデータ列と、この正論理データ列に対する負論理のデータ列との組合せであり、データ受信側では、データ伝送単位に含む一方のデータ列の論理を反転させ、他方のデータ列の論理と一致するときのみデータ伝送単位を有効とするだけであるから、符号誤り検出における論理演算量が少なく簡素な論理演算となる。そのため、符号誤り検出としてコスト的に安価に済む。そして、データ伝送単位ごとに符号誤り検出が可能であるから、従来のように一連のデータの送受信後でなければ符号誤りの最終検出ができないということがなく、これにより、通信速度が格段に向上し、効果的にノイズフィルタリングすることができるようになる。
【発明の効果】
【００１３】
本発明によれば、ノイズフィルタリングのための論理演算が単純であるから、コスト的に安価に済むうえ、一連のデータの送受信後ではなくデータ受信のつどに論理演算してノイズフィルタリングすることが可能であるから通信速度を従来よりも向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】図１は本発明の実施の形態にかかるノイズフィルタリング方法が適用されるＰＬＣシステムの構成を示す図である。
【図２】図２は実施の形態の符号誤り検出方法の具体例の説明に用いる図である。
【図３】図３（ａ）は正論理データ列と負論理データ列とを示す図、図３（ｂ）は具体数値による正論理データ列と負論理データ列とを示す図である。
【図４】図４（ａ）はデータ伝送単位Ａ０において正論理データ列が正しい場合の処理の説明に用いる図、図４（ｂ）は、データ伝送単位において正論理データ列が正しくない場合の処理の説明に用いる図である。
【発明を実施するための形態】
【００１５】
以下、添付した図面を参照して、本発明の実施の形態に係るノイズフィルタリング方法をＰＬＣシステムに適用して説明する。ただし、本発明の方法が適用されるシステムは、ＰＬＣシステムに限定されるものではない。
【００１６】
図１を参照して、１は、マスタとしてのＰＬＣ本体、２はスレーブとしての拡張モジュールである。ＰＬＣ本体１は以下ではマスタ１と称し、拡張モジュール２は以下ではスレーブ２と称する。このマスタ１とスレーブ２とによりＰＬＣないしＰＬＣシステムが構成される。図面上、スレーブ２は図解の都合で１つのみ示すが、これに限定するのではなく、複数のスレーブが接続される。マスタ１に対してスレーブ２は、少なくとも、リクエスト信号伝送線３、アクノリッジ信号伝送線４、およびデータバス５で接続されている。
【００１７】
リクエスト信号伝送線３とアクノリッジ信号伝送線４は、ハンドシェーク信号伝送線であり、リクエスト信号伝送線３はリクエスト信号ＲＥＱをマスタ１からスレーブ２に伝送する伝送線であり、アクノリッジ信号伝送線４はスレーブ２からマスタ１にアクノリッジ信号ＡＣＫを伝送する伝送線である。データバス５は、データ、命令、アドレス等のデータの伝送に用いるバスである。
【００１８】
図２を参照して、マスタ１とスレーブ３それぞれの通信上のブロック回路構成を説明する。この回路は説明の便宜のためハードウエア的に機能ブロック別の構成で示すが、実際の回路はこのようなハードウエア構成を有するわけではなく、単にＣＰＵ、ＲＯＭ、ＲＡＭ、インターフェース等を含むマイクロコンピュータによりソフトウエア的に構成される。
【００１９】
マスタ１は、ＰＬＣ本体として、ＰＬＣ全体を制御する通信制御部１ａ、リクエスト信号ＲＥＱを送信するリクエスト信号（ＲＥＱ）送信部１ｂ、アクノリッジ信号ＡＣＫを受信するアクノリッジ信号（ＡＣＫ）受信部１ｃ、データを送信するデータ送信部１ｄ、および各種情報を記憶するメモリ１ｅを備える。
【００２０】
なお、メモリ１ｅには、上記通信のためのデータ以外に、ＰＬＣとして必要な各種プログラムも格納されている。通信制御部１ａはこのメモリ１ｅに格納しているプログラムに従い、スレーブ２を用いてシーケンス制御を実行することができるようになっている。このシーケンス制御に関しての説明は略する。
【００２１】
スレーブ２は、マスタ１からの制御指令に応答して各種制御をする通信制御部２ａ、リクエスト信号ＲＥＱを受信するリクエスト信号（ＲＥＱ）受信部２ｂ、アクノリッジ信号ＡＣＫを送信するアクノリッジ信号（ＡＣＫ）送信部２ｃ、マスタ１から送信されるデータを受信するデータ受信部２ｄ、および各種情報を記憶するメモリ２ｅを備える。
【００２２】
図３（ａ）（ｂ）を参照して、マスタ１のデータ送信部１ｄから送信されるデータ信号ＤＡＴＡを説明する。図３（ａ）において、Ａ１，Ｂ１，Ｃ１，Ｄ１，…は、それぞれ所定ビット数、例えば４ビットからなる正論理データ列である。Ａ２，Ｂ２，Ｃ２，Ｄ２，…は、正論理データ列に対する負論理データ列である。これらにおいてデータ伝送単位Ａ０は、Ａ１とＡ２の組合せ、データ伝送単位Ｂ０はＢ１とＢ２の組合せ、データ伝送単位Ｃ０は、Ｃ１とＣ２の組合せ、データ伝送単位Ｄ０はＤ１とＤ２の組合せ、…である。これらデータ伝送単位Ａ０，Ｂ０，Ｃ０，Ｄ０…がマスタ１の通信制御部１ａの制御によりデータ送信部１ｄから送信され、スレーブ２の通信制御部２ａの制御によりデータ受信部２ｄで受信される。
【００２３】
図３（ｂ）で示すように例えばＡ１は「０００１」、Ｂ１は「００１０」、Ｃ１は「００１１」、Ｄ１は「０１００」、…である。この正論理データ列に対する負論理のデータ列Ａ２，Ｂ２，Ｃ２，Ｄ２，…において、Ａ２は「１１１０」、Ｂ２は「１１０１」、Ｃ２は「１１００」、Ｄ２は「１０１１」、…である。
【００２４】
このようにして、通信制御部１ａは、データ送信部１ｄを制御して、Ａ１−Ａ２、Ｂ１−Ｂ２、Ｃ１−Ｃ２、Ｄ１−Ｄ２、…それぞれをデータ伝送単位としてデータバス５上に送信する一方、スレーブ２のデータ受信部２ｄにおいては、マスタ１から送信されてくるデータＡ１−Ａ２、Ｂ１−Ｂ２、Ｃ１−Ｃ２、Ｄ１−Ｄ２、…を受信すると共に、受信したデータ伝送単位に含む負論理データ列Ａ２，Ｂ２，Ｃ２，Ｄ２，…の論理を反転させる。この反転した負論理データ列は、Ａ２は「０００１」、Ｂ２は「００１０」、Ｃ２は「００１１」、Ｄ２は「０１００」、…である。そして、正論理データ列Ａ１，Ｂ１，Ｃ１，Ｄ１，…と論理反転した負論理データ列Ａ２，Ｂ２，Ｃ２，Ｄ２，…とが各データ伝送単位ごとに論理一致か否かを判断する。すなわち、Ａ１と論理反転Ａ２との論理一致、Ｂ１と論理反転Ｂ２との論理一致、Ｃ１と論理反転Ｃ２との論理一致、Ｄ１と論理反転Ｄ２との論理一致、…である。上記の場合、すべてＡ１＝論理反転Ａ２、Ｂ１＝論理反転Ｂ２、Ｃ１＝論理反転Ｃ２、Ｄ１＝論理反転Ｄ２…となって論理一致するので、スレーブ２のデータ受信部２ｄにおいて受信した、マスタ１から送信されてくるデータＡ１，Ｂ１，Ｃ１，Ｄ１，…はノイズフィルタリングされ有効なデータとして扱う。
【００２５】
図４を参照してさらに詳細すると、正論理データ列Ａ１，Ｂ１，Ｃ１，Ｄ１，…において、例えば、マスタ１のデータ送信部１ｄから図４（ａ）で示す正論理データ列Ａ１「０００１」と負論理データ列Ａ２「１１１０」とからなるデータ伝送単位Ａ０が送信され、伝送途中においてもノイズがなく正論理データ列Ａ１「０００１」と負論理データ列Ａ２「１１１０」それぞれにおいてビット反転無く伝送され、スレーブ２のデータ受信部２ｄで正論理データ列Ａ１「０００１」と負論理データ列Ａ２「１１１０」とからなるデータ伝送単位Ａ０が受信される。そして、スレーブ２において通信制御部２ａは正論理データ列Ａ１「０００１」と負論理データ列Ａ２「１１１０」の論理反転とを比較し、結果、正論理データ列Ａ１が「０００１」で、論理反転負論理データ列が「０００１」となり、両者は一致するので、データ伝送単位Ａ０を有効データとして受信処理する。
【００２６】
しかし、図４（ｂ）で示すように、マスタ１のデータ送信部１ｄからの正論理データ列Ａ１「０００１」と負論理データ列Ａ２「１１１０」とからなるデータ伝送単位Ａ０が送信され、伝送途中において正論理データ列Ａ１が伝送路上のノイズにより「０００１」から「００１１」となると、スレーブ２のデータ受信部２ｄにおいては正論理データ列Ａ１「００１１」と負論理データ列Ａ２「１１１０」とからなるデータ伝送単位Ａ０が受信される。そして、スレーブ２において通信制御部２ａは正論理データ列Ａ１「００１１」と負論理データ列Ａ２「１１１０」の論理反転「０００１」とを比較し、結果、正論理データ列Ａ１と論理反転負論理データ列Ａ２との両者が一致しないので、データ伝送単位Ａ０を無効データとしてノイズフィルタリング処理する。
【００２７】
以上の説明において、ノイズは、５０ｎ（ナノ）秒程度のパルス幅をもち、１０ｍ（ミリ）秒間隔で発生するという性格を一般的に有している。このことから、上記データを構成する各ビットのパルス幅を１０ｎ秒とし、正論理データ列と負論理データ列とからなるデータ伝送単位は８ビットのデータ列であるから、全体としては８０ｎ秒となるので、上記ノイズの性格からノイズフィルタリングすることができるものとなる。
【符号の説明】
【００２８】
１  マスタ
２  スレーブ
Ａ０，Ｂ０，Ｃ０，Ｄ０  データ伝送単位
Ａ１，Ｂ１，Ｃ１，Ｄ１  正論理データ列
Ａ２，Ｂ２，Ｃ２，Ｄ２  負論理データ列
【図１】
2013207655.tif 000003
【図２】
2013207655.tif 000004
【図３】
2013207655.tif 000005
【図４】
2013207655.tif 000006