(57)【要約】      （修正有）【課題】多チャンネルの計数値をカウントすることができるＰＬＣの入力モジュールを提供する。【解決手段】複数のチャンネルを持つ負荷から各チャンネルに相応するパルス信号が印加され、該パルス信号の立ち上がり及び立ち下がりエッジを検出して、この検出結果である出力信号を伝送する複数の検出部３４と、複数の検出部から伝送された複数の出力信号を受信し、複数のチャンネルのエッジを検出して、この検出結果である検出信号を伝送する判断部３５と、判断部から伝送された検出信号を用いて割り込みが発生したか否かを確認し、割り込みが発生した場合、印加されたパルス信号を用いてカウントを行う制御部３６と、を含むＰＬＣの入力モジュール３０により多チャンネルの計数値をカウントすることができる。【選択図】図２
2011222019.tif 000002
【特許請求の範囲】
【請求項１】
複数のチャンネルを持つ負荷から各チャンネルに相応するパルス信号が印加され、該パルス信号の立ち上がり及び立ち下がりエッジを検出して、該検出結果である出力信号を伝送する複数の検出部と、
前記複数の検出部から伝送された複数の出力信号を受信し、前記複数のチャンネルのエッジを検出して、該検出結果である検出信号を伝送する判断部と、
前記判断部から伝送された検出信号を用いて割り込みが発生したか否かを確認し、前記割り込みが発生した場合、前記印加されたパルス信号を用いてカウントを行う制御部と、
を含む、ＰＬＣの入力モジュール。
【請求項２】
前記複数の検出部のそれぞれは、
前記印加されたパルス信号をクロック信号として受信し、前記パルス信号で立ち上がりエッジが発生すると、ロー信号を出力して立ち上がりエッジを検出する第１エッジ検出部を含む、請求項１に記載のＰＬＣの入力モジュール。
【請求項３】
前記複数の検出部のそれぞれは、
前記パルス信号を反転させる反転部と、
前記反転されたパルス信号をクロック信号として受信し、前記パルス信号で立ち上がりエッジが発生すると、ロー信号を出力して立ち下がりエッジを検出する第２エッジ検出部と、
を含む、請求項２に記載のＰＬＣの入力モジュール。
【請求項４】
前記第１及び第２エッジ検出部は、
前記パルス信号で立ち上がりエッジが発生するとロー信号を出力し、前記パルス信号で立ち下がりエッジが発生するとハイ信号を出力するフリップフロップで構成される、請求項３に記載のＰＬＣの入力モジュール。
【請求項５】
前記判断部は、前記複数の出力信号のうちの少なくとも一つがロー信号であると、ハイ信号を出力して複数のチャンネルに相応するエッジを検出する、請求項１に記載のＰＬＣの入力モジュール。
【請求項６】
前記制御部は、前記割り込みが発生すると、前記負荷から伝送されるパルス信号を用いて、エッジの発生したチャンネル、及び発生したエッジの種類を検出して、計数値を増加または減少させるカウントを行う、請求項１に記載のＰＬＣの入力モジュール。
【請求項７】
前記制御部は、いずれかのチャンネルで立ち上がりまたは立ち下がりエッジが発生すると、他のチャンネルのパルス信号がハイであるか、またはローであるか検出して計数値を増加または減少させる、請求項６に記載のＰＬＣの入力モジュール。
【請求項８】
前記判断部は、前記複数の出力信号を受信してこれらの信号のうちの少なくとも一つがロー信号であると、ハイ信号を出力するＮＡＮＤゲートで構成される、請求項１に記載のＰＬＣの入力モジュール。
【請求項９】
前記判断部は、前記複数の検出部から出力される複数の信号のうち、少なくとも一つのロー信号を受信したか否かを判断する、請求項１に記載のＮＡＮＤゲートでに構成される、請求項１に記載のＰＬＣの入力モジュール。
【請求項１０】
複数のチャンネルを持つ負荷から各チャンネルに相応するパルス信号が印加され、該パルス信号の立ち上がり及び立ち下がりエッジを検出して、該検出結果である出力信号を伝送する段階と、
前記出力信号を伝送する段階で伝送された複数の出力信号を受信し、前記複数のチャンネルのエッジを検出して、該検出結果である検出信号を伝送する段階と、
前記検出信号を伝送する段階で伝送された検出信号を用いて割り込みが発生したか否かを確認し、前記割り込みが発生した場合、前記印加されたパルス信号を用いてカウントを行う段階と、
を含む、ＰＬＣの入力方法。
【請求項１１】
前記出力信号を伝送する段階は、前記印加されたパルス信号をクロック信号として受信し、前記パルス信号で立ち上がりエッジが発生すると、ロー信号を出力して立ち上がりエッジを検出する段階を含む、請求項１０に記載のＰＬＣの入力方法。
【請求項１２】
前記出力信号を伝送する段階は、
前記パルス信号を反転させる段階と、
前記反転されたパルス信号をクロック信号として受信し、前記パルス信号で立ち上がりエッジが発生すると、ロー信号を出力して立ち下がりエッジを検出する段階と、
を含む、請求項１１に記載のＰＬＣの入力方法。
【請求項１３】
前記立ち上がりエッジを検出する段階及び前記立ち下がりエッジを検出する段階は、
前記パルス信号で立ち上がりエッジが発生するとロー信号を出力し、
前記パルス信号で立ち下がりエッジが発生するとハイ信号を出力することを特徴とする、請求項１２に記載のＰＬＣの入力方法。
【請求項１４】
検出信号を伝送する段階は、前記複数の出力信号のうちの少なくとも一つがロー信号であると、ハイ信号を出力して複数のチャンネルに相応するエッジを検出することを特徴とする、請求項１０に記載のＰＬＣの入力方法。
【請求項１５】
前記カウントを行う段階は、
前記割り込みが発生すると、前記負荷から伝送されるパルス信号を用いて、エッジの発生したチャンネル、及び発生したエッジの種類を検出して、計数値を増加または減少させるカウントを行うことを特徴とする、請求項１０に記載のＰＬＣの入力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＬＣの入力モジュールに係り、特に、センサーやスイッチから信号が入力されるＰＬＣの入力モジュールに関するものである。
【背景技術】
【０００２】
産業現場において工場設備の自動化などの様々な分野で適用されているＰＬＣ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ｃｏｎｔｒｏｌｌｅｒ）は、中央処理処置を含むＣＰＵモジュール、センサーやスイッチから信号が入力される入力モジュール、エンコーダから信号が入力される高速カウンタモジュール、制御対象であるモーターやバルブに制御信号を伝達する出力モジュール、通信モジュール、ＰＩＤ制御モジュール及び位置決めモジュールなどを含んで構成される。
【０００３】
特に、高速カウンタモジュールは、高速のエンコーダから信号を受信してマイクロプロセッサを介して計数するモジュールである。
【０００４】
しかしながら、高速カウンタモジュールは、マイクロプロセッサのタイマーパルスユニットまたは割り込み（インタラプト）モジュールの数に制限があるため、多チャンネルを構成し難いという問題点があった。
【０００５】
しかも、高速カウンタモジュールは、チャンネルの数を増加させるには、カウンタ機能を処理するための別のモジュールが要求されるという問題点があった。
【０００６】
かかる問題点を解決するために、入力モジュールを用いてカウンタを行おうとしたが、入力モジュールは単純に周期的に値を読んでいく方式のものとされるから、パルスの立ち上がり及び立ち下がりエッジを感知することは不可能だった。
【０００７】
そして、チャンネルの数の増加には制限があるという問題点もあった。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
本発明の思想は、パルスのエッジを検出する回路を追加することで、多チャンネルの計数値をカウントすることができるＰＬＣの入力モジュールを提供することにある。
【課題を解決するための手段】
【０００９】
このために、本発明の一実施例によるＰＬＣの入力モジュールは、複数のチャンネルを持つ負荷から各チャンネルに相応するパルス信号が印加され、該パルス信号の立ち上がり及び立ち下がりエッジを検出して、該検出結果である出力信号を伝送する複数の検出部と、前記複数の検出部から伝送された複数の出力信号を受信し、前記複数のチャンネルのエッジを検出し、該検出結果である検出信号を伝送する判断部と、前記判断部から伝送された検出信号を用いて割り込みが発生したか否かを確認し、前記割り込みが発生した場合、前記印加されたパルス信号を用いてカウントを行う制御部と、を含む。
【００１０】
ここで、前記複数の検出部のそれぞれは、前記印加されたパルス信号をクロック信号として受信し、前記パルス信号で立ち上がりエッジが発生すると、ロー信号を出力して立ち上がりエッジを検出する第１エッジ検出部を含む。
【００１１】
また、前記検出部は、前記パルス信号を反転させる反転部と、前記反転されたパルス信号をクロック信号として受信し、前記パルス信号で立ち上がりエッジが発生すると、ロー信号を出力して立ち下がりエッジを検出する第２エッジ検出部と、を含む。
【００１２】
ここで、第１及び第２エッジ検出部は、前記パルス信号で立ち上がりエッジが発生すると、ロー信号を出力し、前記パルス信号で立ち下がりエッジが発生すると、ハイ信号を出力するフリップフロップで構成される。
【００１３】
そして、判断部は、前記複数の出力信号のうちの少なくとも一つがロー信号であると、ハイ信号を出力して複数のチャンネルに相応するエッジを検出する。
【００１４】
なお、制御部は、前記割り込みが発生すると、前記負荷から伝送されるパルス信号を用いて、どのチャンネルでエッジが発生したか、及び該発生したエッジの種類を検出して、計数値を増加または減少させるカウントを行う。
【００１５】
さらに、前記制御部は、いずれかのチャンネルで立ち上がりまたは立ち下がりエッジが発生すると、他のチャンネルのパルス信号がハイであるか、またはローであるか検出して計数値を増加または減少させる。
【００１６】
そして、判断部は、前記複数の出力信号を受信してこれらの信号のうちの少なくとも一つがロー信号であると、ハイ信号を出力するＮＡＮＤゲートで構成される。
【発明の効果】
【００１７】
上記のように、本発明の一実施例によるＰＬＣの入力モジュールによれば、ＰＬＣの入力モジュールにパルスのエッジを検出する回路を追加して立ち上がり及び立ち下がりエッジを容易に検出することによって、チャンネルの数が増加してもカウントを行うことが可能になる。
【００１８】
また、チャンネル数の増加に応じてマイクロプロセッサのリソースを増加させることなく、效率的にチャンネルの数を可変することができる。
【００１９】
そして、デジタル入力回路を応用することによって、既存のカウンタモジュールのようなマイクロプロセッサを組み込まずとも、より容易に多チャンネル高速カウンタの機能を果たすことができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施例によるＰＬＣシステムの構成図である。
【図２】本発明の一実施例によるエッジ検出回路が含まれた入力モジュールの構成図である。
【図３】本発明の一実施例による入力モジュールの動作状態を示す図である。。
【図４】本発明の一実施例によるＡ相及びＢ相の計数値をカウントする過程を示す動作流れ図である。
【発明を実施するための形態】
【００２１】
図１は、本発明の一実施例によるＰＬＣシステムの構成図である。
【００２２】
図１を参照すると、ＰＬＣシステム１は、ＰＬＣシステム全体に電源を供給する電源モジュール１０と、ＰＬＣシステム全体の全般的な制御動作を行い、上位システムと通信してデータをやり取りするＣＰＵモジュール２０と、センサー２２またはスイッチ２３からデータを取り込んでＣＰＵモジュール２０に伝達し、エンコーダ２４からパルス信号を受信して計数値をカウントするカウンタモジュールの機能が内蔵されている入力モジュール３０と、ＣＰＵモジュール２０から制御命令を受けて、制御対象である負荷に動作信号を出力する出力モジュール４０と、を含んで構成される。
【００２３】
図２は、本発明の一実施例によるエッジ検出回路が含まれている入力モジュールの構成図であり、図３は、本発明の一実施例による入力モジュールの動作状態を示す図である。
【００２４】
図２及び図３に示すように、ＰＬＣの入力モジュール３０は、調節部（３１：３１ａ，３１ｂ)、絶縁部（３２：３２ａ，３２ｂ)、安定化部（３３：３３ａ，３３ｂ)、検出部（３４：３４ａ（３４ａ＿１，３４ａ＿２，３４ａ＿３)，３４ｂ（３４ｂ＿１，３４ｂ＿２，３４ｂ＿３））、判断部３５及び制御部３６を含んで構成される。
【００２５】
ＰＬＣの入力モジュール３０を説明するに先立ち、本発明の一実施例でチャンネルはＡ相及びＢ相の２つで構成されるとするが、これに限定されず、チャンネルの数は様々にすることができる。
【００２６】
以下、本発明の一実施例によるＰＬＣの入力モジュールの構成要素について詳細に説明する。
【００２７】
複数のチャンネルを持つ負荷、すなわち、エンコーダ２４では、モーターの移動量及び速度などを各チャンネルごとにパルス形態として出力し、調節部（３１：３１ａ，３１ｂ）は、抵抗（ｒｅｓｉｓｔｏｒ）などで構成され、入力される電圧を、絶縁部（３２：３２ａ，３２ｂ）が動作するのに適当な電圧レベルに調節する。
【００２８】
絶縁部（３２：３２ａ，３２ｂ）は、エンコーダ２４から出力されるパルス形態の信号（交流電圧）を安定化部（３３：３３ａ，３３ｂ）に伝達し、内部回路と外部回路との絶縁を行う。
【００２９】
安定化部（３３：３３ａ，３３ｂ）は、絶縁部（３２：３２ａ，３２ｂ）から伝達されたパルス形態の信号、すなわち、パルス信号を安定化して検出部（３４：３４ａ，３４ｂ）に伝達する。
【００３０】
検出部（３４：３４ａ，３４ｂ）は、パルス信号の立ち上がり及び立ち下がりエッジを検出し、検出された結果である出力信号を判断部３５に伝送する手段で、各チャンネルごとに１個が構成される。一例として、負荷、すなわち、エンコーダ２４が２個のチャンネルを持つ場合は、調節部３１、絶縁部３２、安定化部３３及び検出部３４もそれぞれ２個とする。
【００３１】
検出部３４ａ，３４ｂは、第１エッジ検出部３４ａ＿１，３４ｂ＿１、反転部３４ａ＿２，３４ｂ＿２及び第２エッジ検出部３４ａ＿３，３４ｂ＿３を備える。
【００３２】
第１エッジ検出部３４ａ＿１，３４ｂ＿１は、立ち上がりエッジを検出する手段で、安定化部３３ａ，３３ｂから伝達されたパルス信号をクロック（ｃｌｏｃｋ）信号とし、電源電圧Ｖｃｃを入力信号とすることで、第１出力信号を出力する。
【００３３】
図３を参照してより具体的に説明すると、第１エッジ検出部３４ａ＿１，３４ｂ＿１は、入力端子Ｄには電源電圧Ｖｃｃを印加し、クロック端子ＣＬＫには(a)のパルス信号を印加し、パルス信号で立ち上がりエッジ（図３のＵ１部分）が発生すると、ロー信号（(c)の出力信号）を出力して、立ち上がりエッジの発生した部分を検出可能にする。
【００３４】
ここで、立ち上がりエッジとは、パルス信号がロー（０）からハイ（１）に変わる時であり、図３のＵ１部分に該当し、立ち下がりエッジとは、パルス信号がハイ（１）からロー（０）に変わる時であって、図３のＵ２部分に該当する。
【００３５】
このような第１エッジ検出部３４ａ＿１，３４ｂ＿１は、Ｄフリップフロップ（Ｄ  Ｆｌｉｐ−Ｆｌｏｐ）で構成される。
【００３６】
反転部３４ａ＿２，３４ｂ＿２は、ＸＯＲ（Ｅｘｃｌｕｓｉｖｅ  ＯＲ）ゲートで構成され、安定化部３３ａ，３３ｂから伝達された(a)のパルス信号を反転させる。
【００３７】
反転部３４ａ＿２，３４ｂ＿２でパルス信号を反転させる理由は、立ち下がりエッジの発生した部分を検出するためである。すなわち、図３に示すように、(b)のパルス信号で立ち上がりエッジを検出すると、(b)のパルス信号は(a)のパルス信号を反転させたものであるから、(a)のパルス信号の立ち下がりエッジを検出可能になる。
【００３８】
第２エッジ検出部３４ａ＿３，３４ｂ＿３は、反転されたパルス信号をクロック信号として受信し、パルス信号で立ち上がりエッジが発生すると、ロー信号を出力して立ち下がりエッジを検出する。
【００３９】
より具体的に説明すると、第２エッジ検出部３４ａ＿３，３４ｂ＿３は、入力端子Ｄには電源電圧を印加し、クロック端子ＣＬＫには(b)のパルス信号を印加し、(b)のパルス信号で立ち上がりエッジ（Ｕ３部分）が発生すると、(d)のロー信号を出力するが、(b)のパルス信号が(a)のパルス信号を反転させたものであるから、(b)のパルス信号の立ち上がりエッジ部分（Ｕ３部分）は、(a)のパルス信号の立ち下がりエッジ部分（Ｕ２部分）となり、(a)のパルス信号の立ち下がりエッジを検出可能になる。
【００４０】
判断部３５は、ＮＡＮＤゲート（ＮＡＮＤ  ｇａｔｅ）で構成され、検出部から複数の出力信号を受信して複数のチャンネルのエッジを検出し、検出された結果である検出信号を制御部３６に伝送する。
【００４１】
さらにいうと、判断部３５は、図２のＡ相の第１及び第２エッジ検出部３４ａ＿１，３４ａ＿３から出力される２つの信号と、Ｂ相の第１及び第２エッジ検出部３４ｂ＿１，３４ｂ＿３から出力される２つの信号を全て受信し、少なくとも一つからロー信号が受信されたかどうか判断する。
【００４２】
もし、ロー信号が受信されると、判断部３５は、ハイ信号を出力することによってＡ相またはＢ相のエッジを検出する。
【００４３】
制御部３６は、入力モジュール３０を全般的に制御するマイクロコントローラで、判断部３５から伝送された検出信号を用いて割り込みが発生したか否かを確認し、割り込みが発生すると、エンコーダ２４から出力されるパルス信号を用いてカウントを行う。
【００４４】
詳細に説明すると、制御部３６は、判断部３５からハイ信号が出力されると（すなわち、複数のチャンネルのうちのいずれか一つにおいてでもエッジが発生すると）、割り込みが発生したものと判断する。そして、制御部３６は、判断の結果、割り込みが発生すると、エンコーダ２４から出力されるパルス信号を受信して、エッジの発生したチャンネル、及び発生したエッジの種類を検出して、計数値を増加させたり減少させたりする。
【００４５】
すなわち、図３で、(i)のパルス信号は判断部３５から出力される検出信号で、(i)のパルス信号で初めてハイ信号が発生したパルス（Ｐ部分）からは、(a)のパルス信号で立ち上がりエッジ（Ｕ１部分）が発生したことがわかり、制御部３６は、(a)のパルス信号で立ち上がりエッジが発生し、(e)のパルス信号がローであれば、計数値１を増加させる。
【００４６】
逆に、制御部３６は、(a)のパルス信号で立ち上がりエッジが発生し、(e)のパルス信号がハイであれば、計数値１を減少させる。
【００４７】
また、制御部３６は、(a)のパルス信号で立ち下がりエッジが発生し、(e)のパルス信号がローであれば、計数値１を減少させ、(a)のパルス信号で立ち下がりエッジが発生し、(e)のパルス信号がハイであれば、計数値１を増加させる。
【００４８】
以下では、本発明の一実施例による割り込み発生後に計数値をカウントする過程について説明する。
【００４９】
図４は、本発明の一実施例によるＡ相及びＢ相の計数値をカウントする過程を示す動作流れ図である。図４を参照すると、制御部３６では、割り込みが発生したか否かを判断する（Ｓ４００）。
【００５０】
Ｓ４００で割り込みが発生すると、制御部３６のＩＮ０〜ＩＮ３の端子に印加されるパルス信号を分析して、どのチャンネル（Ａ相またはＢ相）でエッジが発生したかを検出するとともに、発生したエッジの種類（立ち上がりエッジまたは立ち下がりエッジ）を検出する（Ｓ４０１）。
【００５１】
次に、Ａ相で立ち上がりエッジが発生したと判断されると（Ｓ４０２の‘はい’）、Ｂ相のパルス信号がロー状態なのか、またはハイ状態なのか検出する（すなわち、パルス信号がロー信号であるか、またはハイ信号であるか検出する）（Ｓ４０３）。
【００５２】
もし、Ｂ相のパルス信号がローであると（Ｓ４０３の‘はい’）、制御部３６は、計数値を１増加させ（Ｓ４０４）、Ｂ相のパルス信号がハイであると（Ｓ４０３の‘いいえ’）、計数値を１減少させる（Ｓ４０４）。
【００５３】
一方、Ｓ４０２においてＡ相で立ち上がりエッジではなく立ち下がりエッジが発生したと判断されると（Ｓ４０６）、Ｂ相のパルス信号がローなのか、またはハイなのか検出する（Ｓ４０７）。
【００５４】
Ｂ相のパルス信号がローであると（Ｓ４０７の‘はい’）、制御部３６は計数値を１減少させ（Ｓ４０８）、Ｂ相のパルス信号がハイであると（Ｓ４０７の‘いいえ’）、計数値を１増加させる（Ｓ４０９）。
【００５５】
一方、Ｂ相で立ち上がりエッジが発生したと判断されると（Ｓ４１０の‘はい’）、Ａ相のパルス信号がロー状態なのか、またはハイ状態なのか検出する（すなわち、パルス信号がロー信号であるか、またはハイ信号であるか検出する）（Ｓ４１１）。
【００５６】
Ａ相のパルス信号がローであると（Ｓ４１１の‘はい’）、制御部３６は計数値を１減少させ（Ｓ４１２）、Ａ相のパルス信号がハイであると（Ｓ４１１の‘いいえ’）、計数値を１増加させる（Ｓ４１３）。
【００５７】
一方、Ｓ４１０においてＢ相で立ち上がりエッジではなく立ち下がりエッジが発生したと判断されると（Ｓ４１４）、Ａ相のパルス信号がローであるか、またはハイであるか検出する（Ｓ４１５）。
【００５８】
Ａ相のパルス信号がローであると（Ｓ４１５の‘はい’）、制御部３６は計数値を１増加させ（Ｓ４１６）、Ａ相のパルス信号がハイであると（Ｓ４１５の‘いいえ’）、計数値を１減少させる（Ｓ４１７）。
【００５９】
そして、制御部３６は、判断部３５のＣＬＲ端子にロー信号を出力して判断部３５の出力信号をクリア（ｃｌｅａｒ）することで、割り込みを終了する。
【符号の説明】
【００６０】
１      ＰＬＣシステム
３０    入力モジュール
３１    調節部
３２    絶縁部
３３    安定化部
３４    検出部
３５    判断部
３６    制御部
【図１】
2011222019.tif 000003
【図２】
2011222019.tif 000004
【図３】
2011222019.tif 000005
【図４】
2011222019.tif 000006