JP6557086B2 - ロータリスイッチを備えた制御装置 - Google Patents

ロータリスイッチを備えた制御装置 Download PDF

Info

Publication number
JP6557086B2
JP6557086B2 JP2015151926A JP2015151926A JP6557086B2 JP 6557086 B2 JP6557086 B2 JP 6557086B2 JP 2015151926 A JP2015151926 A JP 2015151926A JP 2015151926 A JP2015151926 A JP 2015151926A JP 6557086 B2 JP6557086 B2 JP 6557086B2
Authority
JP
Japan
Prior art keywords
rotary switch
voltage
output
signal
output code
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.)
Active
Application number
JP2015151926A
Other languages
English (en)
Other versions
JP2017033243A (ja
Inventor
公平 有本
公平 有本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FANUC Corp
Original Assignee
FANUC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by FANUC Corp filed Critical FANUC Corp
Priority to JP2015151926A priority Critical patent/JP6557086B2/ja
Priority to DE102016113716.2A priority patent/DE102016113716B4/de
Priority to CN201610618069.XA priority patent/CN106405396B/zh
Priority to US15/223,007 priority patent/US10408878B2/en
Publication of JP2017033243A publication Critical patent/JP2017033243A/ja
Application granted granted Critical
Publication of JP6557086B2 publication Critical patent/JP6557086B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/327Testing of circuit interrupters, switches or circuit-breakers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/327Testing of circuit interrupters, switches or circuit-breakers
    • G01R31/3277Testing of circuit interrupters, switches or circuit-breakers of low voltage devices, e.g. domestic or industrial devices, such as motor protections, relays, rotation switches
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H9/00Details of switching devices, not covered by groups H01H1/00 - H01H7/00
    • H01H9/54Circuit arrangements not adapted to a particular application of the switching device and for which no provision exists elsewhere
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01HELECTRIC SWITCHES; RELAYS; SELECTORS; EMERGENCY PROTECTIVE DEVICES
    • H01H19/00Switches operated by an operating part which is rotatable about a longitudinal axis thereof and which is acted upon directly by a solid body external to the switch, e.g. by a hand
    • H01H19/54Switches operated by an operating part which is rotatable about a longitudinal axis thereof and which is acted upon directly by a solid body external to the switch, e.g. by a hand the operating part having at least five or an unspecified number of operative positions
    • H01H19/56Angularly-movable actuating part carrying contacts, e.g. drum switch

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Keying Circuit Devices (AREA)
  • Rotary Switch, Piano Key Switch, And Lever Switch (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Description

本発明は、各種電子機器で使用されるロータリスイッチの制御装置に関し、特に、ロータリスイッチの故障を検出できる制御装置に関する。
各種電子機器、電気機器等で使用されるロータリスイッチは、可動接点を回転させて複数の固定接点のいずれかに接続して、その回転位置に応じたコードを出力するものであり、ロータリスイッチとその制御装置は、一般的に図1に示す形態である。
この図1で示す例では、固定接点SW0〜SW3の4接点、5端子、16ポジション、0Vコモンを使用したロータリスイッチの例を示している。ロータリスイッチ1はその回転位置(ポジション)に応じて固定接点SW0〜SW3がON/OFFし、ON/OFFによる出力コードを出力し、接点レシーバ3(3−0、3−1、3−2、3−3)は、このロータリスイッチの接点出力を電気信号に変換し、マイクロコンピュータ(以下マイコンという)2の入力ポートPT0〜PT3が受けられる信号としてマイコン2に出力する。マイコン2は入力ポートPT0〜PT3で受信した信号の電圧レベルに基づいてその出力コードを解析し、ロータリスイッチで指令された指令を出力する。
接点レシーバ3は、マイコン2の入力ポートPT0〜PT3としてデジタル信号の入力ポートを使用する場合には、プルアップ抵抗、ローパスフィルタ、波形成形回路、電圧レベル変換回路等で構成されている。なお、マイコン2のソフトウェアによる解析では、入力ポートPT0〜PT3にハイレベルの信号が入力されたときには、ロータリスイッチの接点がONと判定するのが直感的であるため(正論理)、図1では接点レシーバ3にインバータ3−0、3−1、3−2、3−3を用いているが、このインバータによる反転は必須のものではない。
また、ロータリスイッチ1の出力コードがグレーコードで構成されている場合は、図2で示す出力コード表となる。また、ロータリスイッチ1の出力コードがバイナリコード出力の場合には、図3に示すコード表となる。
この図2、図3の出力コード表で、「1」は固定接点SW0〜SW3がON、「0」はOFFを意味する。
このロータリスイッチ1を使用する例として、例えば、工作機械のモータの速度を設定するオーバドライブスイッチにロータリスイッチを用いる場合がある。この例の場合、マイコン2が入力ポートPT0〜PT3に入力される信号に基づいて、ロータリスイッチ1の出力コードを読み取り解析して、速度指令(オーバライド値)を出力するが、例えば、ロータリスイッチ1の出力コードが図2で示したグレーコードである場合には、図4に示すようなモータ速度指令を出力することになる。なお、図4で、出力するモータ速度は基準値の百分率(%)で表わしている。
ロータリスイッチをこのような工作機械のオーバライドスイッチとして使用される場合、このロータリスイッチ(オーバライドスイッチ)1が故障し、異常なコードを出力するとモータが意図しない速度で回転し、工作機械や被加工物を壊したり、危険な場合がある。
例えば、モータを停止させるためにロータリスイッチのポジションを「0」に操作したとき、固定接点SW3が故障してオン状態「1」で、出力コード「1000」(SW3=1、SW2=0、SW1=0、SW0=0)となった場合、マイコン2から速度指令(オーバライド値)150%が出力される。これによってモータは意図しない速度(基準速度の150%の速度)で回転することになり、危険である。
そこで、このような危険、不具合を防止するために、ロータリスイッチの故障を検出する方法として、図5に示すようなパリティビット付のロータリスイッチ1’が採用されている。図5で示す例は、図1に示したロータリスイッチ1にパリティビットの固定接点SWP(パリティビット端子)が追加されたもので、5接点、6端子、16ポジション、0Vコモンを使用したものである。パリティビットの固定接点SWPの出力も接点レシーバを介してマイコン2の入力ポートに接続されている。また、このロータリスイッチ1’の出力コードが図2に示すような、グレーコード出力で構成されているときは、図6の出力コード表で示すコードを出力する。この例では、偶数パリティの場合を示している。マイコン2は、格納されているソフトウェアで、パリティチェックを行い、パレティアラームを検出したら、ロータリスイッチの故障と判断し、工作機械等の機器を安全な状態に移行させ、アラーム表示等を行うようにしている。
なお、パリティビット付のロータリスイッチを用いる先行例として、特許文献1等がある。
特開2005−63754号公報
ロータリスイッチの故障は、パリティビット付のロータリスイッチとすることによって検出しているが、パリティビット付のロータリスイッチは大型のロータリスイッチしかなく、小型のロータリスイッチにはない。
そこで、本発明の目的は、パリティビットの接点を設ける必要がなく、小型のロータリスイッチもロータリスイッチの故障を検出できるロータリスイッチの制御装置を提供することにある。
本願の請求項1に係る発明は、可動接点を回転させて複数の固定接点のいずれかに接続するロータリスイッチの固定接点からの出力コードの信号を、接点レシーバを介して受信し、該受信した前記ロータリスイッチの前記出力コードに基づいて指令を出力するロータリスイッチを備えた制御装置において、前記ロータリスイッチから出力される前記出力コードの信号からチャタリングを除去し、前記チャタリングを除去された出力コードの遷移のみを監視し、前記ロータリスイッチが正常に動作する場合の前記チャタリングを除去された出力コードの遷移パターンと一致しない遷移を検出したとき、前記ロータリスイッチの故障と判断する故障検出手段と、前記接点レシーバの出力信号の電圧が予め決められた電圧範囲にはいっている時間を計測する計測手段と、前記計測手段での計測値が予め決められた時間に達したとき故障の予兆を知らせる信号を出力する手段からなる故障予兆検出手段を備え、前記計測手段の前記予め決められた電圧範囲は、故障検知用の閾値電圧より大きくオフ電圧より低い電圧であり、かつ、故障検知用の閾値電圧より小さくオン電圧より大きい電圧であり、前記故障検出手段は、マイクロコンピュータと該マイクロコンピュータで動作するソフトウェアで構成され、前記接点レシーバの出力は前記マイクロコンピュータの入力ポートに接続され、前記ソフトウェアによって前記入力ポートの信号状態より求められる前記出力コードを求め監視しロータリスイッチの故障と判断するロータリスイッチを備えた制御装置である。
請求項2に係る発明は、前記マイクロコンピュータの入力ポートは、デジタル入力ポートである請求項1に記載のロータリスイッチを備えた制御装置である。
請求項3に係る発明は、前記マイクロコンピュータの入力ポートは、アナログポートで構成され、前記故障検出手段は、予め決められた電圧と前記入力ポートに入力される信号の電圧とを比較し、接点のON/OFF状態を判定して前記出力コードを判別し、該出力コードの遷移よりロータリスイッチの故障と判断する請求項1に記載のロータリスイッチを備えた制御装置である。
請求項4に係る発明は、前記故障検出手段は、前記ロータリスイッチの出力コードに割り当てられてないコードを検出し、未使用コードアラーム信号を出力する未使用コード検出手段を備える請求項1に記載のロータリスイッチを備えた制御装置である。
請求項5に係る発明は、前記マイクロコンピュータの電源又は該電源へ電力を供給する生成元の電圧低下を検出する電圧低下監視手段と、電気的に書き込み可能な不揮発性メモリとを設け、前記マイクロコンピュータは、前記電圧低下監視手段で電圧低下を検出すると、前記入力ポートから入力される出力コードを前記不揮発性メモリに書き込み保存し、前記マイクロコンピュータへの次の電源投入時に、前記入力ポートから入力される出力コードと前記不揮発性メモリに保存された出力コードを比較し、2つの前記出力コードが不一致のときアラームを出力するようにし、オペレータは、前記アラームを契機として、現在のロータリスイッチのポジションから期待される指令内容と実際の指令内容を比較し、2つの前記指令内容が一致していることを確認すれば前記アラームを解除し、2つの前記指令内容が一致していないことを確認すれば、前記ロータリスイッチの故障と判断する請求項1乃至3の内いずれか1項に記載のロータリスイッチを備えた制御装置である。
請求項6に係る発明は、可動接点を回転させて複数の固定接点のいずれかに接続するロータリスイッチの固定接点からの出力コードの信号を、接点レシーバを介して受信し、該受信した前記ロータリスイッチの前記出力コードに基づいて指令を出力するロータリスイッチを備えた制御装置において、前記ロータリスイッチから出力される前記出力コードの信号からチャタリングを除去するチャタリング除去手段と、前記チャタリングを除去された出力コードの遷移のみを監視し、前記ロータリスイッチが正常に動作する場合の前記チャタリングを除去された出力コードの遷移パターンと一致しない遷移を検出したとき、前記ロータリスイッチの故障と判断する故障検出手段を有し、前記接点レシーバの出力信号の電圧が予め決められた電圧範囲にはいっている時間を計測する計測手段と、該計測手段での計測値が予め決められた時間に達したとき故障の予兆を知らせる信号を出力する手段からなる故障予兆検出手段を備え、前記予め決められた電圧範囲は、故障検知用の閾値電圧より大きくオフ電圧より低い電圧であり、かつ、故障検知用の閾値電圧より小さくオン電圧より大きい電圧である、ことを特徴とするロータリスイッチを備えた制御装置である。
本願各発明は、パリティビット付きではない小型のロータリスイッチにおいても、該ロータリスイッチの故障を検出できる。
従来のロータリスイッチとその制御装置の概要図である。 ロータリスイッチがグレーコードを用いているときの出力コード表である。 ロータリスイッチがバイナリコードを用いているときの出力コード表である。 ロータリスイッチをオーバライドスイッチとして使用したときの出力コードと速度指令の関係を表わす表である。 パリティビット付のロータリスイッチの構成図である。 パリティビット付のロータリスイッチが偶数パリティのグレーコードを用いているときの出力コード表である。 本発明の第1の実施形態の概要図である。 同第1の実施形態でのロータリスイッチの固定接点のON/OFF読み取りの動作説明図である。 同第1の実施形態でのロータリスイッチの故障検出処理のアルゴリズムを示すフローチャートにおける初期設定のフローチャートである。 同第1の実施形態でのロータリスイッチの故障検出処理として所定周期毎定期的に行う処理のアルゴリズムを示すフローチャートである。 図10に続くフローチャートである。 フィルタを用いてチャタリング除去を行う本発明の第2の実施形態の概要図である。 ロータリスイッチの故障をハードウェア手段で検出するようにした本発明の第3の実施形態の概要図である。 本発明の第3の実施形態の故障検出回路における同期化回路、チャタリング除去回路、遅延回路の構成図である。 同第3の実施形態の故障検出回路における異常遷移検出回路の構成図である。 同第3の実施形態の故障検出回路における未使用コード検出回路の構成図である。 本発明の第4の実施形態の概要図である。 故障の予兆を検出する第4の実施形態における予兆検出動作の説明図(予兆を検出しないときの図)である。 同予兆検出動作の説明図(予兆を検出するときの図)である。 予兆検出処理のアルゴリズムを示すフローチャートである。 本発明の第5の実施形態の概要図である。 本発明の第5の実施形態の別の態様を示す概要図である。
本発明は、ロータリスイッチを操作したとき発生する信号の遷移によって、該ロータリスイッチの故障を検出する点に特徴を有するものである。ポジションiの位置のロータリスイッチを操作したとき、ロータリスイッチのポジションはポジションiから、ポジション(i−1)、ポジション(i−2)・・・と遷移するか、又は、ポジション(i+1)、ポジション(i+2)・・・と遷移し、出力コードもそのポジションの遷移に応じて遷移する。ロータリスイッチの出力は、ポジションiの出力コードから隣接するポジション(i−1)若しくはポジション(i+1)の出力コードに遷移するはずである。このように、ロータリスイッチを操作したとき、ロータリスイッチから出力され出力コードの遷移は決まっているから、この出力コードの遷移によって、ロータリスイッチの故障を判別するようにする。
例えば、図2、図4で示されるようなグレーコードを出力するロータリスイッチの場合、出力コードが「0000」(ポジション0でSW3=0、SW2=0、SW1=0、SW0=0)から許容される出力コードの遷移は「0001」(ポジション1でSW3=0、SW2=0、SW1=0、SW0=1)であり、これ以外の遷移はあり得ないので、これ以外の出力コードの遷移であるときはロータリスイッチの故障と判断する。
なお、4ケタで表わされる出力コードの表示は、1ケタ目は固定接点SW0、2ケタ目は固定接点SW1、3ケタ目は固定接点SW2、4ケタ目は固定接点SW3の出力を表わす。
また、出力コードが「0001」(ポジション1)から許容される出力コードの遷移は、隣接するポジションの出力コード「0011」(ポジション2でSW3=0、SW2=0、SW1=1、SW0=1)か「0000」(ポジション0)の2通りであり、これ以外の遷移あり得ないので、これ以外の出力コードの遷移であるときはロータリスイッチの故障と判断する。同様に、
出力コード「0011」から遷移する出力コードは「0010」か「0001」
出力コード「0010」から遷移する出力コードは「0110」か「0011」


出力コード「1000」から遷移する出力コードは「1001」
であり、これ以外に遷移したときは、ロータリスイッチの故障と判断する。
このように、本発明においてはロータリスイッチを操作したとき出力コードの遷移は、ある決まった遷移となることを利用して、ロータリスイッチの故障を判別する。
ただし、固定接点(SW0〜SW3)にはチャタリングが存在する。そのため、チャタリング中の出力コードに基づいてロータリスイッチの故障と誤判定する可能性がある。しかし、チャタリング時間の最大値はロータリスイッチにより決まっているので、この最大値の時間以下の短い時間しか続かない出力コードを無視するチャタリング除去処理をすることによって、チャタリング中の出力コードを除去した出力コードよりロータリスイッチの故障を判別する。
また、4ビットグレーコード出力のロータリスイッチで、ポジション数が16未満のものを使用する場合、例えばポジション数が12の場合は、割り当てられていない4つの未使用コードが存在する。チャタリング除去後のコードに、未使用コードを検出した場合は、直ちに、故障と判断する。これにより、回す前に故障を見つけられる可能性がある。
また、ロータリスイッチの出力コードが図3に示すようなバイナリコードである場合には、隣接するポジション間で出力コードが2ビット以上変化する場合がある。しかも、この2つのビットが全く同時に変化することは非常に少ないので、ポジション切り替え時に隣接ポジションのいずれにも該当しない信号が、短時間出力される場合がある。
例えば、ポジション1からポジション2にロータリスイッチを操作したとき、ロータリスイッチの出力コードは「0001」から「0010」に遷移する。固定接点SW0が「1」から「0」に、固定接点SW1が「0」から「1」に変化し、2つのビットが変化する。このビット変化順が、固定接点SW0が変化し、次に固定接点SW1の変化であると、出力コードの変化は、
「0001」→「0000」→「0010」となり、
ビット変化順が逆で、固定接点SW1、次に固定接点SW0であると、出力コードは
「0001」→「0011」→「0010」となる。
このように、ロータリスイッチのポジションが「1」から「2」に変わり出力コードが「0001」から「0010」に変わるとき、その中間で継続時間の短い出力コード「0000」又は「0011」が出力されることになる。このうち、出力コード「0011」はポジション1の隣接するポジション0の出力コード「0000」又はポジション2の出力コード「0010」ではないので、故障と判定される恐れがある。しかし、このポジション切り替え時に現れる中間の出力コードは、継続時間が短いのでチャタリング除去の方法によって除去されるので、この中間に現れる短期間の出力コードによって、誤判定がなされることはない。
以下、本発明の実施形態を図面と共に説明する。
図7は本発明の第1の実施形態であり、この第1の実施形態はマイコン2の入力ポートとしてアナログの入力ポート(マイコン内蔵のA/Dコンバータの入力)を使用し、接点レシーバ3は、プルアップ抵抗だけで構成されている。これらの構成は従来のロータリスイッチの制御装置と変わりはなく、後述するようにマイコンのソフトウェアで構成される手段の故障検出手段が設けられている点において相違する。
固定接点(SW0〜SW3)がONすれば、A/Dコンバータの端子(AD0〜AD3)に、電圧VCCを接点のオン抵抗(Ron)とプルアップ抵抗Rupで分圧したオン電圧Vonが印加され、接点がOFFすれば接点のオフ抵抗(Roff)とプルアップ抵抗Rupで分圧したオフ電圧Voffが印加される。そこで、ON/OFF判別の閾値電圧を電圧Vonと電圧Voffの間の適切な値に設定しておき、マイコン2のソフトウェアで接点のON/OFF状態を判別することによって出力コードを読み取る。この出力コードを読み取るまでは従来と同様であるが、さらに、この第1の実施形態は、こうして読み取られた出力コードにより、ロータリスイッチの故障を検出するもので、ソフトウェアによって故障検出手段を構成している。
以下、このA/Dコンバータの各端子(AD0〜AD3)に入力される信号、及びその電圧は、ロータリスイッチの固定接点SW0〜SW3のON/OFFによる接点レシーバ3を介して電圧であるので、このA/Dコンバータの各端子(AD0〜AD3)に入力される信号を接点出力信号SSW0〜SSW3としその電圧を接点出力電圧という。
図8は、この第1の実施形態における接点のON/OFFを判定する例として、グレーコード(図2)のロータリスイッチ1をポジション0からポジション3に回した際、マイコン2が行う接点のON/OFFを判定して読み取る、固定接点SW0の場合を例として記載したものである。他の固定接点SW1、SW2、SW3の場合も同様である。
図8において、
VHL:接点がOFFからONに切り替わったことを判別する閾値電圧であり、マイコ
ンは、A/Dコンバータの端子(AD0)に入力された電圧(接点出力信号SS
W0の電圧)が該閾値電圧VHLを上から下に横切った時(端子入力電圧が該閾
値電圧VHLより高い状態から低い状態になった時)、接点(SW0)がONし
たと判断する。
VLH:接点がONからOFFに切り替わったことを判別する閾値電圧であり、マイコ
ンは、A/Dコンバータの端子(AD0)に入力された電圧(接点出力信号SS
W0の電圧)が該閾値電圧VLHを下から上に横切った時(端子入力電圧が該閾
値電圧VLHより低い状態から高い状態になった時)、接点(SW0)がOFF
したと判断する。
SW0_2:マイコンの内部信号で、A/Dコンバータの端子AD0に入力されるSS
W0電圧と閾値電圧VHL、VLHでマイコンのソフトウェアで判断した固定
接点SW0のON/OFF状態を示す信号であり、チャタリング処理前の信号
である。
SW0_3:マイコンの内部信号で、内部信号SW0_2よりチャタリングを除去した
信号であり、この信号に基づいてロータリスイッチの出力コードを判別する。
ロータリスイッチが回されてポジション0からポジション1になった時、固定接点SW0はONとなり、A/Dコンバータの端子AD0に入力された電圧(SSW0電圧)はオフ電圧Voffからオン電圧Vonに低下する。この電圧低下によって、接点ONを判別する閾値電圧VHLを上から下に横切るので内部信号SW0_2は「1(ON)」となり、この信号がチャタリング除去処理されて内部信号SW0_3が「1(ON)」となる。
さらにロータリスイッチ1が回されてポジション3に達すると、固定接点SW0はOFFなることから、A/Dコンバータの端子AD0に入力された電圧(SSW0電圧)はオン電圧Vonからオフ電圧Voffまで立ち上がる。この立ち上がり途中で、閾値電圧VLHを超えるので、内部信号SW0_2が「0(OFF)」となり、チャタリング除去処理されて内部信号SW0_3が「0(OFF)」となる。
同様に、A/Dコンバータの端子AD1、AD2、AD3に入力される電圧に基づいて、同様な処理が行われ、接点SW1、SW2、SW3のON、OFFを示す内部信号SW1_3、SW2_3、SW3_3が求められ、この内部信号SW0_3、SW1_3、SW2_3、SW3_3 で示されるコードによって出力コードを判別し、さらに、ロータリスイッチの故障を判断する。
図9、図10、図11は、故障検出手段として、マイコン2が実施するロータリスイッチの故障を検出するソフトウェアのアルゴリズムを示すフローチャートである。このソフトウェアは、図9に示す初期処理と図10、図11で示す所定周期毎実施される処理で構成される。初期処理は所定周期の処理で使われる変数に初期値を与える処理であり、電源投入時に一回だけ実行される。所定周期の処理は、初期処理終了後、例えば1ms毎に行われる処理であり、下記の処理で構成される。
・ロータリスイッチの出力コードのチャタリング除去処理
・チャタリング除去後のコードに対し、コード遷移異常と未使用コードを検出する処理。
・その他の処理
まず、図9、図10、図11で使用する変数を説明する。
ALM:初期値0
チャタリング除去後のロータリスイッチの出力コードに、ロータリスイ
ッチが正常に動作する場合の信号の遷移パターンと一致しない遷移を検
出したら1とする。故障アラームを示す。
ALM2:初期値0
チャタリング除去後のロータリスイッチの出力コードに、未使用コード
を検出したら1とする。未使用コードアラームを示す。
FLAG:フラグとして機能し、初期値0、SW_CLN_Nが確定したら1
n:カウンタで、初期値0
チャタリング除去前のコードを所定周期毎監視し、同一コードが連続し
て検出された回数を示す。チャタリング除去に使用する。
nがNに達するとクランプされ、現在のコードはチャタリングではない
と判断する。
チャタリング除去前のコードが、前周期のコードと異なる場合は、0に
クリアされる。
N:nの増加をクランプする値。nの説明を参照。
「所定周期毎の処理」が1ms毎に行われ、チャタリング時間の最大値が
10msの場合、N=10ms/1ms=10である。
SW_DTY_Q:SW_DTY_Q(3:0)の略。前回の周期での処理でサンプリングした、
チャタリング除去前の信号(出力コード)を記憶する。
SW_DTY_N:SW_DTY_N(3:0)の略。今回の周期での処理でサンプリングした、
チャタリング除去前の信号(出力コード)を記憶する。
SW_CLN_Q:SW_CLN_Q(3:0)の略。前回の周期のチャタリング除去後の信号
(出力コード)を記憶する。
SW_CLN_N:SW_CLN_N(3:0)の略。今回の周期でのチャタリング除去後の信号
(出力コード)を記憶する。
SSW(3:0):固定接点SW0〜SW3からの接点出力信号SSW0〜SSW3で
構成される4ビット接点出力信号で出力コードを表す。
図9は、電源投入時に一回だけ実行される初期処理であり、電源が投入されると、故障アラームを示す変数ALM、未使用コードアラームを示す変数ALM2を「0」にセットし、当該周期に入力ポートから入力されている信号(出力コード)を記憶する変数SW_DTY_Nに、この電源投入時の4ビット接点出力信号(出力コード)SSW(3:0)を格納する。また、フラグとして機能する変数FLAG、カウンタnを「0」にセットし、この初期処理を終了する。
次に、マイコン2はロータリスイッチの故障を検出するための図10、図11で示す処理を所定周期ごと実施する。
まず、故障アラームを示す変数ALMが「1」(初期設定で0)か否か判断し(処理1)、「1」でなければ、未使用コードアラームを示す変数ALM2が「1」(初期設定で0)か否か判断し(処理2)、「1」でなければ、変数SW_DTY_Nに記憶する出力コード(最初は図9に示す初期設定で電源投入時の出力コードが記憶されている)を、変数SW_DTY_Qに格納する(処理3)。次に、入力ポートから入力されている固定接点SW0〜SW3からの接点出力信号(出力コード)SSW(3:0)を読み取り変数SW_DTY_Nに格納する(処理4)。その結果、変数SW_DTY_Nには当該周期でサンプリングした出力コード、変数SW_DTY_Qには、前回の周期でサンプリングした出力コード(最初は初期設定時に設定された電源投入時の出力コード)が記憶されていることになり、この2つの変数に記憶されている出力コードが一致するか否か判断し(処理5)、一致していれば、カウンタとしての変数nの値が設定されたクランプ値Nと等しいか判別し(処理6)、等しくなければ該変数nに1加算し(処理7)、当該周期の処理を終了する。以下、ロータリスイッチ1が操作されない間は、各周期毎、処理1〜処理7の処理を繰り返し実行する。
処理1〜処理7の処理を繰り返し実行し、変数Nの値が設定クランプ値Nに達すると(N周期の間出力コードの変化がないことを意味する)、フラグFLAGが「1」か判断し(処理8)、最初は初期設定で該フラグFLAGは「0」にセットしてあるから、処理9に進み変数SW_DTY_Nに記憶する出力コードを変数SW_CLN_Nに格納し、フラグFLAGを「1」にセットし(処理9)、当該周期の処理を終了する。以下、ロータリスイッチ1が操作されない間、各周期毎、処理1〜処理6、処理8、処理10〜処理43の処理を繰り返し実行する。
なお、処理9で変数SW_CLN_Nに格納される出力コードは、少なくともカウンタnがクランプ値Nまでカウントアップする間、変化がなかった出力コードを記憶するものであり、後述するように、チャタリングによって発生した出力コードではないものが記憶されるものとなる。また、図10で、符号101で示すこの処理8、9の処理は、変数SW_CLN_Nの初期値設定処理である。
一方、ロータリスイッチ1が操作されて、処理5で判断される変数SW_DTY_Nと変数SW_DTY_Qに記憶する当該周期で求めた出力コードと前周期で求めた出力コードが一致しないときには、カウンタを示す変数nを「0」にリセットし(処理45)当該周期の処理を終了する。
変数SW_DTY_Nと変数SW_DTY_Qに記憶する出力コードが一致しない場合は、カウンタnはリセットされ、一致しても、処理6、7の処理により該カウンタnがクランプ値Nに達する前に不一致が検出されるとカウンタnはリセットされ、処理8に進むことはない。すなわち、ロータリスイッチ1が回され、その間にチャタリングが発生しても、そのチャタリングにより発生する出力コードは短時間であり、カウンタnがクランプ値Nまでカウントアップされるまでの時間(N×サンプリング周期の時間)内に終了するので、この短時間のチャタリングによる出力コードが発生している間は処理6から処理8に進むことはない。このように、図10に符号100で示す処理3から処理7の処理は、チャタリング除去処理を示している。
一方、カウンタnがクランプ値Nに達するまで、出力コードに変化がないとき(変数SW_DTY_Nと変数SW_DTY_Qで記憶する出力コードが一致と処理5で判別されたとき)、処理6から処理8に進むが、すでにロータリスイッチ1を操作しないときに、図10の符号101で示す初期値処理の処理9でフラグFLAGは「1」にセットされているから、処理10(図11参照)に進み、変数SW_CLN_Nに記憶する出力コード(最初は処理9で、以後は前周期の処理10で記憶している出力コード)を変数SW_CLN_Qに格納し、さらに、変数SW_CLN_NにSW_DTY_Nに記憶する出力コード(処理4で読み込まれ、カウンタnがクランプ値Nに達するまで変化のなかった出力コード)を格納する。すなわち、変数SW_CLN_Qには前周期(1つ前の周期)に読み取ったチャタリング除去処理後の出力コードを、変数SW_CLN_Nに当該周期(今周期)で読み取ったチャタリング除去処理後の出力コードを記憶することになる。
次に処理11から処理42の処理によって、出力コードの遷移が正常か否かを判断する。変数SW_CLN_Qに記憶する前周期に読み取った出力コードが、ロータリスイッチ1の各ポジションで発生する出力コードの何れかと一致するか判断する。この実施形態ではロータリスイッチ1は図2に示すように16ポジションを取るから、出力コードが「0000」か、「0001」か、「0011」か、・・・「1000」かの16個の何れかの出力コードと一致するかの判断する(処理11〜26)。すなわち、ロータリスイッチ1の16ポジションの各ポジションで発生する16個の出力コードといずれかと一致するか判断する。変数SW_CLN_Qに記憶する出力コードが、ロータリスイッチ1の各ポジションで発生する出力コードと一致しないときには(この実施形態では16個の出力コードと一致しないときには)、変数ALM2を「1」にセットし、未使用コードアラームを出力するようにする(処理44)。以後の周期では処理1、処理2を処理してその周期の処理を終了することになる。
一方、変数SW_CLN_Qに記憶する前周期に読み取った出力コードが、ロータリスイッチ1の各ポジションで発生するいずれかの出力コードと一致するときは、変数SW_CLN_Nに記憶する当該周期で読み出された出力コードが、変数SW_CLN_Qに記憶する出力コード、若しくは、そのコードを出力するポジションの前後のポジションの出力コードと一致するか判別する。
例えば、変数SW_CLN_Qに記憶する出力コードが「0000」と判別されたときには(処理11)、処理27に移行して、変数SW_CLN_Nに記憶する今周期読み取った出力コードが、変数SW_CLN_Qに記憶する前の周期で読み取った出力コード「0000」、若しくは、この出力コードを出力するポジション0の後のポジション1の出力コード「0001」と一致するか判断する。なおポジション0は前のポジションがないので、前後のポジションは1つのポジションだけである(図2のグレーコード表参照)。
同様に、変数SW_CLN_Qに記憶する出力コードが「0001」と判別されたときには(処理12)、処理28に移行して、変数SW_CLN_Nに記憶する今周期読み取った出力コードが、変数SW_CLN_Qに記憶する前周期で読み取った出力コード「0001」、若しくは、この出力コードを出力するポジション1の前後のポジション0及び2の出力コード「0000」、「0011」と一致するか判断する。以下、処理29〜42で
変数SW_CLN_Q=「0011」のとき
→変数SW_CLN_N=「0001」、「0011」、「0010」か、
変数SW_CLN_Q=「0010」のとき
→変数SW_CLN_N=「0011」、「0010」、「0110」か、
変数SW_CLN_Q=「0110」のとき
→変数SW_CLN_N=「0010」、「0110」、「0111」か、
・ ・
・ ・
変数SW_CLN_Q=「1001」のとき
→変数SW_CLN_N=「1011」、「10001」、「1000」か、
変数SW_CLN_Q=「1000」のとき
→変数SW_CLN_N=「1001」、「1000」か、
と判断する。
処理27〜42の処理で、変数SW_CLN_Nに記憶する今周期読み取った出力コードが、変数SW_CLN_Qに記憶する前周期読み取った出力コード、若しくは、該コードを出力するポジションの前後のポジションから出力される出力コードと一致しているときは、ロータリスイッチ1は正常であり当該周期の処理を終了する。しかし、出力コードが一致しない場合は、ロータリスイッチ1が回されたとき、発生する出力コードの遷移は、自己のポジションの出力コードから前後のポジションのコードに変化するはずにもかかわらず、これとは異なるコードが出力されていることから、ロータリスイッチ1は故障しているものとして、変数ALMを1にセットし(処理43)、故障示すアラームを出力するようにする。変数ALMが1にセットされた後の周期では処理1を行ってその周期の処理を終了するようになる。
上述したように、図11で示す処理は、未使用コードとコード遷移異常を検出処理である。
上述した第1の実施形態では、チャタリング除去をマイコンのソフトウェア(図10で符号101に示すチャタリング処理)で行うようにしたが、チャタリング除去を、フィルタを用いて行うようにしてもよい。
図12はチャタリング除去をマイコンのソフトウェアで行わずに、ローパスフィルタLPFを用いてチャタリングを除去する第2の実施形態のブロック図である。
第1の実施形態を示す図7のブロック図において接点レシーバ3にローパスフィルタLPFが付加され、A/Dコンバータの各端子AD0〜AD3には、各接点SW0、SW1、SW2、SW3からの信号がローパスフィルタLPFを介して入力されている点で第1の実施形態(図7)とは相違する。そして、各端子AD0〜AD3に入力されている信号はチャタリングがローパスフィルタLPFで除去されて存在しないから、図8における内部信号SW0_2(SW1_2、SW2_2、SW3_2)には、チャタリングは存在しないので、この内部信号SW0_2、SW1_2、SW2_2、SW3_2に基づいて出力コードが求められ、該出力コードによりロータリスイッチの故障が判断されることになる。この場合は、マイコン2で実施する図10、図11に示すロータリスイッチの故障検出処理において、図10中、符号100で示した処理3から処理7及び処理45のチャタリング除去処理は必要がなく、処理10では、変数SW_DTY_Nに記憶する出力コードの代わりに読み取った接点出力信号(出力コード)SSW(3:0)が、変数SW_CLN_Nに格納されることになる。なお、ローパスフィルタLPFでチャタリングの一部を除去し、残ったチャタリングをマイコンのソフトウェアで除去するようにしてもよく、この場合は、ローパスフィルタLPFでチャタリングの一部を除去して得られた内部信号SW0_2、SW1_2、SW2_2、SW3_2をさらにチャタリング除去処理をして得られた内部信号SW0_3、SW1_3、SW2_3、SW3_3に基づいてロータリスイッチの故障を判別することになる。マイコン2によるソフトウェアによるロータリスイッチの故障検出処理は、前述した通り、図10、図11の処理となる。
上述した各実施形態は、ロータリスイッチの故障を検出する故障検出手段を、マイコンのソフトウェア処理で構成し、ソフトウェア処理で故障を検出するようにしていたが、このロータリスイッチの故障検出をハードウェアのみで行うことも可能である。
図13は、故障検出手段をハードウェアで構成された故障検出回路4で構成し、該故障検出回路4でロータリスイッチの故障を検出するようにした第3の実施形態の概要図である。図1で示した従来例と比較し、マイコン2が故障検出回路4に代わっている点で異なるのみである。
図14、図15、図16は故障検出回路4の詳細ブロック図である。故障検出回路4は接続レシーバの出力を故障検出回路のクロックに同期させる同期化回路40、チャタリング除去回路41、遅延回路42、異常遷移検出回路43、未使用コード検出回路44で構成されている。
接点レシーバ3から出力される接点出力信号SSW(3:0)は故障検出回路4のクロックとは非同期で変化するため、このまま使用すると後続の回路が誤動作するおそれがあるから、2段のフリップフロップFF1、FF2で構成される同期化回路40に入力され、クロックに同期した接点信号H_SW_DTY_N(3:0)に変換される。接点出力信号SSW(3:0)、クロックに同期した接点信号H_SW_DTY_N(3:0)等の信号線は太線で記載しているが、それぞれ4ビットの信号線であることを示す。クロックは図示していないが故障検出回路4を構成する全てのフリップフロップFFとカウンタのクロック端子Clに入力されている。
クロックに同期した接点信号H_SW_DTY_N(3:0)は、チャタリング除去回路41の遅延回路45とゲートG1に入力される。遅延回路45はフリップフロップFF3で構成され、接点信号H_SW_DTY_N(3:0)を1クロック時間遅延させ、遅れ接点信号H_SW_DTY_Q(3:0)とし、ゲートG1と保持回路47に出力する。ゲートG1で遅れ接点信号H_SW_DTY_Q(3:0)と接点信号H_SW_DTY_N(3:0)との一致を検出する。つまりロータリスイッチの出力が変化していないことを検出する。接点信号H_SW_DTY_N(3:0)が変化していない間、ゲートG1は一致信号H_MATCHを1にし、接点信号H_SW_DTY_N(3:0)が変化したら、1クロック時間一致信号H_MATCHを0にする。
カウンタ46は、一致信号H_MATCHが1であるクロック数、つまり、ロータリスイッチの出力信号が変化していない時間を計測するためのカウンタであり、初期値が0で、ロータリスイッチの出力信号が変化していない間は、CE端子(Count Enable端子)に一致信号H_MATCHの1が、R端子(負論理の同期Reset端子)に1が入力されているので、クロックの立ち上がりでカウントアップする。カウント値は最大値H_N(チャタリング時間に相当)でクランプされ、H_Nに達したタイミングで、1クロック間RC端子を介して信号H_RCを1にし、接点信号H_SW_DTY_N(3:0)がチャタリング時間以上継続して同じ値を保っていることを、後続のフリップフロップFF4で構成された保持回路47に通知する。H_Nの値は、例えば、チャタリング時間が最大10ms、異常検出回路のクロックが1MHzの場合は、H_N=10ms×1M=10000とする。
保持回路(FF4)47は、信号H_RCが1になったらその時の、遅れ接点信号H_SW_DTY_Q(3:0)をチャタリング除去処理された接点信号H_SW_CLN_N(3:0)として出力する。カウンタ46はR端子に0が入力されると、カウント値を0にするカウンタで、一致信号H_MATCHが0の場合は、ゲートG2により、カウンタのR端子に0が入力され、カウント値を0にする。こうして、チャタリングを取り除いた接点信号H_SW_CLN_N(3:0)が得られる。
なお、信号XPCLはパワーオンリセット信号であり、0の時に、カウンタ46と保持回路(FF4)47がリセットされる。
チャタリング除去処理された接点信号H_SW_CLN_N(3:0)は、フリップフロップFF5で構成された遅延回路42に入力され1クロック時間遅延させた遅れ接点信号H_SW_CLN_Q(3:0)を得る。
このチャタリング除去処理され相対的に1クロック遅れた2つの接点信号H_SW_CLN_N(3:0)とH_SW_CLN_Q(3:0)は、図15で示す異常遷移検出回路43のデコーダ48に入力される。デコーダ48は、2つの接点信号H_SW_CLN_N(3:0)とH_SW_CLN_Q(3:0)が異常な組み合わせだと判別されると信号S1を1にしてフリップフロップFF11とゲートG3で構成された保持回路49に出力する。保持回路49は、信号S1を保持し、ロータリスイッチの故障を示すアラーム信号H_ALMを1にして周辺の回路に通知され、機械を安全な状態に移行させる等の必要な処理が行われる。
2つの接点信号H_SW_CLN_Q(3:0)とH_SW_CLN_N(3:0)の組み合わせ16×16=256通りのうち、正常な組み合わせは、46通りであるため(ポジション1〜14に対しては3通り、ポジション0とポジション15は2通りであるから、合計46通り)、信号S1を1にする組み合わせは、256−46=210通り存在する。例えば、0000から0010への信号遷移は異常であるので、H_SW_CLN_Q(3:0)、H_SW_CLN_N(3:0)=0000、0010は、信号S1を1にする要因の一つである。従って、デコーダ1は、積和標準形では、8入力の論理積210個の論理和となり、巨大なものとなる。ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)で実現する場合は、このサイズでも問題ないが、ディスクリート部品で実現する場合は、プリント板の実装面積の制限で、論理圧縮が必要となるサイズである。なお、論理圧縮はすでに公知の技術である。
一方、チャタリングを取り除いた接点信号H_SW_CLN_N(3:0)は図16で示す未使用コード検出回路44のデコーダ50にも入力され、該デコーダ50は未使用コードをデコードすると、信号S2を1にし、フリップフロップFF21とゲートG4で構成された保持回路51に出力し、保持回路51ではこの信号S2を保持し、未使用コードアラーム信号H_ALM2を1にする。この未使用コードアラーム信号H_ALM2が「1」になると、この信号が周辺の回路に通知され、機械を安全な状態に移行させる等の必要な処理が行われる。
4ビットグレーコード出力で、ポジション数12のロータリスイッチを使用した場合、未使用コードは、4つであるので、デコーダ50は積和標準形では、4入力の論理積4個の論理和で表される。
なお、デコーダ48は、未使用コードへの遷移を異常遷移としてデコードしているため、このようなデコーダをデコーダ50に利用することで、デコーダ50の回路規模を小さくすることができる。また、未使用コードがないロータリスイッチ場合は、図16の未使用コード検出回路44を設ける必要はない。
上述した各実施形態では、ロータリスイッチを実際に使用し操作したとき、その故障を検出している。アラームが出力され故障と判別されたときには、ロータリスイッチ1はすでに使用できない状態であり、その時点で実行していた作業、例えば工作機械のオーバライドスイッチとしてロータリスイッチが用いられているときには、工作機械による切削作業等が無駄なものになってしまう。故障の予兆を検知できれば、この無駄な作業発生を防止できる。
ロータリスイッチは、回転回数を重ねると、接点の劣化が進み、接点のオン抵抗Ronの増加や、オフ抵抗Roffの低下が見られる。この現象はA/Dコンバータの端子(AD0〜AD3)に入力される、接点レシーバ3の電圧VCCを接点のオン抵抗Ronとプルアップ抵抗Rupで分圧した電圧Vonの上昇、および電圧VCCを接点のオフ抵抗Roffとプルアップ抵抗Rupで分圧した電圧Voffの低下となる。オン電圧Vonが上昇して閾値電圧VHLより高くなると、固定接点SW0〜SW3がOFFからONに切り替わったことを検出できなくなり、ロータリスイッチの故障と判定される。同様に、オフ電圧Voffが閾値電圧VLHより低くなると、固定接点SW0〜SW3がONからOFFに切り替わったことを検出できなくなり、ロータリスイッチの故障と判定される。(図8及び後述する図18、図19参照)
そこで、ロータリスイッチが故障と判定される前に、ロータリスイッチの故障の予兆(ロータリスイッチの劣化)を検出するようにする。ロータリスイッチの故障の予兆を検出するには、接点レシーバの出力電圧をアナログ値で監視する必要があることから、ロータリスイッチの各固定接点に対応する接点レシーバの出力はマイコンのアナログ入力ポートに接続する必要があり、このロータリスイッチの故障の予兆を検出する第4の実施形態のハードウェア構成は、図7に示す第1の実施形態の構成や図12に示す第2の実施形態の構成と同じで、マイコン2でソフトウェアによりロータリスイッチの故障の判定を行うと共に、故障の予兆も判定するようにする。
また、図13で示す第3の実施形態のように、ロータリスイッチの故障検出をハードウェアで構成された故障検出回路4で行うような場合はマイコンを追加したものが第4の実施形態となる。図17はロータリスイッチの故障はハードウェアの故障検出回路4で検出し、故障の予兆はマイコン2のソフトウェアによって検出するようにした本発明の第4の実施形態の概要図である。図13で示す第3の実施形態にマイコン2が追加され、ロータリスイッチ1の各固定接点SW0、SW1、SW2、SW3の接点レシーバの出力をマイコンのアナログ入力ポート(A/Dコンバータの端子AD0、AD1、AD2、AD3)に接続して、ロータリスイッチの故障は故障検出回路4で検出し、故障の予兆はマイコン2で検出するようにする。なお、図17において故障検出回路4とマイコン2による予兆検出には、それぞれチャタリング除去が必要であるが、個別にチャタリング除去を行う必要がないので、接点レシーバ3にローパスフィルタLPFを入れてチャタリング除去を一括して行うようにしている。
図18、図19は予兆検出方法を説明する動作タイミングチャートである。グレーコード出力のロータリスイッチ1をポジション0からポジション3に回した時の動作タイミングチャートを例に取って説明するものである。図18は、故障予兆のワーニング信号が発生しないときの例であり、図19は、故障予兆のワーニング信号が発生するときの例である。なお、固定接点SW2、SW3のON/OFFは変化がなくOFFのままであるから、図18、図19では省略して記載していない。
図18、図19において、
SSW0電圧、SSW1電圧:マイコンのアナログ入力ポート(A/Dコンバータの端子)AD0、AD1に入力される電圧であり、VLH、VHLは、図8の説明で説明したように、ロータリスイッチの故障を検出するための閾値電圧である。
V1:オフ抵抗Roffの減少を検出するための閾値電圧であり、故障の予兆を知らせるためのワーニング、故障を知らせるアラームをこの順で発生させるために、故障検知用の閾値電圧VLHより大きくオフ電圧Voffより低い電圧に設定されている。
Voff>V1>VLH。
V2:オン抵抗Ronの増大を検出するための閾値電圧であり、この閾値電圧V2も故障の予兆を知らせるためのワーニング、故障を知らせるアラームをこの順で発生させるために、故障検知用の閾値電圧VHLより小さくオン電圧Vonより大きい電圧に設定されている。
Von<V2<VHL。
S:マイコン内の内部信号であり、マイコンの入力ポート(AD0、AD1、AD2、AD3)に入力される電圧(SSW0電圧、SSW1電圧等)の少なくとも一つが閾値電圧V2以上で閾値電圧V1以下のときアサートされ「1」となる信号である。
CT:信号Sが「1」(アサートされているとき)である時間を計測するカウンタである。
CTL:故障予兆のワーニング信号を出すための設定値で、カウンタCTの計測値がこの設定値CTLに達したときワーニング信号を出力する。
ロータリスイッチ1が操作されず回されていない時には、固定接点SW0〜SW3のON/OFFはなく各入力ポートAD0〜AD3に入力されるSSW0電圧〜SSW3電圧の変化はないので、信号Sはアサートされず、ワーニング信号も発生しない。一方、ロータリスイッチ1を操作し、ポジション0からポジション1に移動すると固定接点SW0がONされ、入力ポートAD0に入力されるSSW0電圧は、オフ電圧Voffからオン電圧Vonに低下する。
この電圧低下過程でSSW0電圧が閾値電圧V1以下で閾値電圧V2以上の区間、信号Sがアサートされる。また、信号Sがアサートされ「1」である時間をカウンタCTは計測するが、図18に示す例では、SSW0電圧が短時間で閾値電圧V2以下となることから、カウンタCTの計測値はワーニング用に設定された設定値CTLには達しない。
また、ロータリスイッチ1がポジション2まで回転させられた時には、固定接点SW1がONとなり、SSW1電圧が低下するが、この場合も該SSW1電圧が、閾値電圧V1以下で閾値電圧V2以上の区間は短く、アサートされる信号Sも短いので、同様にカウンタCTでの計測値は設定値CTLに達することはない。さらに、ロータリスイッチ1がポジション3に達すると、固定接点SW0がOFFとなり、SSW0電圧はオフ電圧Voffまで上昇する。この電圧上昇過程で、SSW0電圧が閾値電圧V2以上で閾値電圧V1以下の区間では信号Sがアサートされるが、この場合もアサート期間が短く、カウンタCTの計測時間は設定値CTLまで達せず、故障予兆のワーニング信号は出力されない。
この図18で示す例は、ロータリスイッチ1が劣化しておらず、正常に作動しているときの例である。
一方、ロータリスイッチが劣化し、固定接点SW0〜SW3のオン抵抗Ronが大きくなり、入力ポートに入力されるオン電圧Vonが閾値電圧V2以下まで低下しない状態となると、故障予兆のワーニング信号を発生する。図19は、固定接点SW0のオン抵抗Ronが大きくなり入力ポートAD0に入力されるSSW0電圧のオン電圧Vonが、閾値電圧V2以下まで低下しない状態となったときの例を示している。
ロータリスイッチ1が回されてポジション1になると固定接点SW0がONとなりSSW0電圧はオフ電圧Voffからオン電圧Vonに低下する。しかし、固定接点SW0のオン抵抗Ronが大きいことから、オン電圧Vonは閾値電圧V2以下まで低下せず、ロータリスイッチがポジション3まで回され固定接点SW0がOFFとなるまで、SSW0電圧はこのオン電圧Vonを持続する。その結果、固定接点SW0がONとなってSSW0電圧が閾値電圧V1以下に達し、固定接点SW0がOFFとなってSSW0電圧が閾値電圧V1を超えるまでの期間(V2<SSW0電圧<V1の期間)、信号Sは「1」にアサートされる。この信号Sが「1」にアサートされるとカウンタCTは時間を計測開始し、ワーニングように設定された設定値CTLに達すると、ワーニング信号を出力する。
この図19で示した例では、オン抵抗Vonは、固定接点(SW0)のON/OFF判定のために設定されている閾値電圧VHL以下に達していることから、故障を示すアラームを発生することはなく、ロータリスイッチは継続して使用することは可能である。しかし、オン抵抗Vonが閾値電圧VHL以下まで低下しない状態になるまで固定接点(SW0)が劣化すれば、前述した方法によって、ロータリスイッチの故障を示すアラーが発生する。
図19で示した例は、固定接点SW0〜SW3のオン抵抗Ronが大きくなり、オン電圧Vonが閾値電圧V2以下まで低下しない状態まで接点が劣化した例を示したが、ロータリスイッチが劣化し、固定接点SW0〜SW3のいずれかのオフ抵抗Roffが小さくなり、入力ポートに入力されるオフ電圧Voffが閾値電圧V1以上とならない状態に劣化したときも、その劣化した接点から入力されるSSW電圧(SSW0電圧〜SSW3電圧のいずれか)のオフ電圧Voffは閾値電圧V1に達することがないから、その劣化した接点がOFFのポジションにある間、信号Sがアサートされ、カウンタCTの時間計測値は設定値CTLに達するのでワーニング信号WSを出力することになる。なお、オン抵抗Ronの増加、オフ抵抗Roffの減少の両方が発生した場合にも、当然上述のようにしてワーニング信号WSが出力される。
図20は第4の実施形態におけるマイコン2が実施する予兆検出処理のアルゴリズムを示すフローチャートである。マイコン2は所定周期毎図20に示す処理を実施する。なお、初期設定で、ワーニング状態を示す変数WS、カウンタCTは「0」にセットされている。
まず、ワーニング状態を示す変数WSが「1」か否か判断し(処理a)、最初は、初期設定で該変数WSは「0」がセットされているので処理bに移行し、入力ポートに入力されている接点出力信号SSW(3:0)(=SSW0〜SSW3)を読み取る。この読み取った各接点出力信号SSW(3:0)の値が設定閾値V1とV2の区間にあるか判断する(V2<SSW(3:0)<V1)(処理c)。すべての接点出力信号(SSW0〜SSW3)がこの区間になければ、カウンタCTが0でないことを確認後(処理f)、カウンタCTから1を減算して(処理g)、この周期の処理を終了する。また、カウンタCTが0である場合は(処理f)、0のまま保持し、この周期の処理を終了する。
一方、接点出力信号の大きさが1つでも設定閾値V1とV2の区間にあれば、カウンタCTに1加算し(処理d)、該カウンタの値が設定値CTLに達しているか判別し(処理e)、達していなければ当該周期の処理を終了する。以下、次の周期からは、接点出力信号(SSW0〜SSW3)の大きさが1つでも設定閾値V1とV2の区間にある限り、処理a〜eの処理を実施する。そして、カウンタCTが設定値CTLに達する前に、すべての接点出力信号(SSW0〜SSW3)が設定閾値V1とV2の区間にないと処理cで判断されたときには、カウンタCTが0でないことを確認後(処理f)、カウンタCTから1を減算し(処理g)当該周期の処理を終了する。すなわち、すべての接点出力信号(SSW0〜SSW3)が設定閾値V1とV2の区間にないと処理cで判断されている間は、カウンタCTから1が繰り返し減算され、カウンタCTが0になった時点で、0が保持される。
しかし、カウンタCTの値が設定値CTLに達するまで、接点出力信号(SSW0〜SSW3)の大きさが1つでも設定閾値V1とV2の区間にある状態が持続すると処理eから処理hに進み、ワーニング状態を示す変数WSを「1」にセットし、当該周期の処理を終了し、ワーニング信号を発生させる。以後の周期からは、処理aのみ実施して当該の周期の処理を終了する。このように、接点出力信号(SSW0〜SSW3)の大きさが1つでも設定閾値V1とV2の区間にある時間が、「CTL×処理周期時間」まで継続して発生すると、ロータリスイッチの故障の予兆を示すワーニング信号を発生させるようにする。
上述した各実施形態では、ロータリスイッチを回転さることによって、該ロータリスイッチから出力されるコード信号の遷移状態に基づいてロータリスイッチの故障、及び予兆を検出している。しかし、電源OFFしてから電源ONするまでの間にロータリスイッチが壊された場合、この場合も、該ロータリスイッチを操作して回転させたとき、前述した出力コードの遷移によって該ロータリスイッチの故障を検出できるが、電源ONしたとき、壊れたロータリスイッチから誤った出力コードが出力され、これにより誤った指令が出される恐れがある。前述のように、ロータリスイッチを工作機械のモータの速度を制御するオーバライドスイッチとして使用しているときなどは、電源ON時に誤った出力コードによりモータが予期せぬ速度で回転する恐れがある。
そこで本発明の第5の実施形態は、電源OFFから電源ONの間にロータリスイッチが壊れた場合、これを検出するものである。この第5の実施形態においても、電源OFFから電源ONの間にロータリスイッチの壊れによる出力コードの遷移があることから、この出力コードの遷移によってロータリスイッチの壊れを検出する。
図21は、この第5の実施形態の概要を示すブロック図である。
ロータリスイッチ1の各固定接点SW0〜SW3の出力は接点レシーバ3を介してマイコン2の入力ポートに接続されている。なお、この入力ポートはデジタル(PT0〜PT3)、アナログ(AD0〜AD3)のどちらでもよい。マイコン2には不揮発性メモリ5が接続され、さらに、電源10の出力電圧の低下を検出する電圧低下監視回路11、及び該電圧低下監視回路11の出力INTを所定時間遅延させる遅延回路12が設けられている。電源10からマイコン2に電力が供給される。電圧低下監視回路11は電源10から出力される電圧VCC1を監視し、該電圧VCC1の低下を検出すると電源断の予告信号INTを遅延回路12とマイコン2に出力する。また、遅延回路12は予告信号INTを所定時間遅延させてマイコン2のパワーオンリセット信号XRSTを作成しマイコン2に出力する。
予告信号INTは、マイコン2の入力ポートや、割り込み入力端子に接続されており、入力ポートに接続されている場合には、マイコン2はこの入力ポートを定期的に監視しており、電源10がOFFとなりその出力電圧VCC1が低下すると、電圧低下監視回路11はその電圧低下を検出し予告信号INTをアサートする。マイコン2はこの予告信号INTがアサートになったことを検出すると、遅延回路12から出力されるパワーオンリセット信号XRSTがアサートされるまでの間に、ロータリスイッチ1からの出力コードを読み取り電気的に書き込み可能な不揮発性メモリ(例えばEEPROM)に書き込む。
また、予告信号INTがマイコン2の割り込み入力端子に入力されるように接続されている場合には、予告信号INTがアサートされたらマイコン2は割り込処理を起動し、パワーオンリセット信号XRSTがアサートされるまでの間に、ロータリスイッチ1からの出力コードを読み取り電気的に書き込み可能な不揮発性メモリに書き込む。
一方、電源ON時には、マイコン2は、ロータリスイッチ1から出力される出力コードを読み取ると共に不揮発性メモリ5に保存された電源OFF時の出力コードを読みだし、両者を比較して不一致を検出したときアラームを出力する。
この第5の実施形態では、電源OFF中にロータリスイッチ1のポジションを変更すると、ロータリスイッチ1に故障はなく良品である場合でもアラームが出力されることになる。そこで、電源ON時にアラームが発生したときには、オペレータは、現在のロータリスイッチのポジションから期待される指令内容(オーバライド値等)と実際の指令内容(オーバライド値等)を比較し、一致していることが確認できれば、ロータリスイッチは良品と考えられるのでアラームを解除するようにすればよい。
図22は、電源OFFから電源ONの間にロータリスイッチが壊れたことを検出する別の態様である。
この態様は、電源10に電力を提供する生成元の電圧VCC0の低下を検出して予告信号INTをマイコンに出力する電圧低下監視回路13を設け、電源10から出力される電圧VCC1の低下を監視する電圧低下監視回路11は、マイコン2にパワーオンリセット信号XRSTを出力するようにして遅延回路を設けていない点で図21に示す第5の実施形態と相違するのみである。
この実施形態においては、予告信号INTがアサートされてから、パワーオンリセット信号XRSTがアサートされるようにそのタイミングを設計する必要がある。例えば、電圧低下監視回路11で電圧低下と判断する電圧レベルを、電圧低下監視回路13で電圧低下と判断する電圧レベルよりも低いレベルにして時間差を設けるようにする。
1 ロータリスイッチ
2 マイクロコンピュータ(マイコン)
3 接点レシーバ
4 故障検出回路
5 不揮発性メモリ
10 電源
11、13 電圧低下監視回路
12 遅延回路
40 同期化回路
41 チャタリング除去回路
42、45 遅延回路
43 異常遷移検出回路
44 未使用コード検出回路
46 カウンタ
47 保持回路
48、50 デコーダ
49、51 保持回路

Claims (6)

  1. 可動接点を回転させて複数の固定接点のいずれかに接続するロータリスイッチの固定接点からの出力コードの信号を、接点レシーバを介して受信し、該受信した前記ロータリスイッチの前記出力コードに基づいて指令を出力するロータリスイッチを備えた制御装置において、
    前記ロータリスイッチから出力される前記出力コードの信号からチャタリングを除去し、前記チャタリングを除去された出力コードの遷移のみを監視し、前記ロータリスイッチが正常に動作する場合の前記チャタリングを除去された出力コードの遷移パターンと一致しない遷移を検出したとき、前記ロータリスイッチの故障と判断する故障検出手段と、
    前記接点レシーバの出力信号の電圧が予め決められた電圧範囲にはいっている時間を計測する計測手段と、
    前記計測手段での計測値が予め決められた時間に達したとき故障の予兆を知らせる信号を出力する手段からなる故障予兆検出手段を備え、
    前記計測手段の前記予め決められた電圧範囲は、故障検知用の閾値電圧より大きくオフ電圧より低い電圧であり、かつ、故障検知用の閾値電圧より小さくオン電圧より大きい電圧であり、
    前記故障検出手段は、マイクロコンピュータと該マイクロコンピュータで動作するソフトウェアで構成され、前記接点レシーバの出力は前記マイクロコンピュータの入力ポートに接続され、前記ソフトウェアによって前記入力ポートの信号状態より求められる前記出力コードを求め監視しロータリスイッチの故障と判断するロータリスイッチを備えた制御装置。
  2. 前記マイクロコンピュータの入力ポートは、デジタル入力ポートである請求項1に記載のロータリスイッチを備えた制御装置。
  3. 前記マイクロコンピュータの入力ポートは、アナログポートで構成され、
    前記故障検出手段は、予め決められた電圧と前記入力ポートに入力される信号の電圧とを比較し、接点のON/OFF状態を判定して前記出力コードを判別し、該出力コードの遷移よりロータリスイッチの故障と判断する請求項1に記載のロータリスイッチを備えた制御装置。
  4. 前記故障検出手段は、更に、前記ロータリスイッチの出力コードに割り当てられてないコードを検出し、未使用コードアラーム信号を出力する請求項1に記載のロータリスイッチを備えた制御装置。
  5. 前記マイクロコンピュータの電源又は該電源へ電力を供給する生成元の電圧低下を検出する電圧低下監視手段と、電気的に書き込み可能な不揮発性メモリとを設け、
    前記マイクロコンピュータは、前記電圧低下監視手段で電圧低下を検出すると、前記入力ポートから入力される出力コードを前記不揮発性メモリに書き込み保存し、
    前記マイクロコンピュータへの次の電源投入時に、前記入力ポートから入力される出力コードと前記不揮発性メモリに保存された出力コードを比較し、2つの前記出力コードが不一致のときアラームを出力するようにし、
    オペレータは、前記アラームを契機として、現在のロータリスイッチのポジションから期待される指令内容と実際の指令内容を比較し、2つの前記指令内容が一致していることを確認すれば前記アラームを解除し、2つの前記指令内容が一致していないことを確認すれば、前記ロータリスイッチの故障と判断する請求項1乃至3の内いずれか1項に記載のロータリスイッチを備えた制御装置。
  6. 可動接点を回転させて複数の固定接点のいずれかに接続するロータリスイッチの固定接点からの出力コードの信号を、接点レシーバを介して受信し、該受信した前記ロータリスイッチの前記出力コードに基づいて指令を出力するロータリスイッチを備えた制御装置において、
    前記ロータリスイッチから出力される前記出力コードの信号からチャタリングを除去するチャタリング除去手段と、
    前記チャタリングを除去された出力コードの遷移のみを監視し、前記ロータリスイッチが正常に動作する場合の前記チャタリングを除去された出力コードの遷移パターンと一致しない遷移を検出したとき、前記ロータリスイッチの故障と判断する故障検出手段を有し、
    前記接点レシーバの出力信号の電圧が予め決められた電圧範囲にはいっている時間を計測する計測手段と、該計測手段での計測値が予め決められた時間に達したとき故障の予兆を知らせる信号を出力する手段からなる故障予兆検出手段を備え、
    前記予め決められた電圧範囲は、故障検知用の閾値電圧より大きくオフ電圧より低い電圧であり、かつ、故障検知用の閾値電圧より小さくオン電圧より大きい電圧である、ことを特徴とするロータリスイッチを備えた制御装置。
JP2015151926A 2015-07-31 2015-07-31 ロータリスイッチを備えた制御装置 Active JP6557086B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015151926A JP6557086B2 (ja) 2015-07-31 2015-07-31 ロータリスイッチを備えた制御装置
DE102016113716.2A DE102016113716B4 (de) 2015-07-31 2016-07-26 Steuerung eines Drehschalters
CN201610618069.XA CN106405396B (zh) 2015-07-31 2016-07-29 旋转开关的控制装置
US15/223,007 US10408878B2 (en) 2015-07-31 2016-07-29 Controller of rotary switch

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015151926A JP6557086B2 (ja) 2015-07-31 2015-07-31 ロータリスイッチを備えた制御装置

Publications (2)

Publication Number Publication Date
JP2017033243A JP2017033243A (ja) 2017-02-09
JP6557086B2 true JP6557086B2 (ja) 2019-08-07

Family

ID=57795758

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015151926A Active JP6557086B2 (ja) 2015-07-31 2015-07-31 ロータリスイッチを備えた制御装置

Country Status (4)

Country Link
US (1) US10408878B2 (ja)
JP (1) JP6557086B2 (ja)
CN (1) CN106405396B (ja)
DE (1) DE102016113716B4 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6801598B2 (ja) * 2017-07-26 2020-12-16 ブラザー工業株式会社 開閉検出装置及び工作機械
JP7001312B2 (ja) * 2018-03-30 2022-02-03 大同信号株式会社 デジタル時素リレー
CN112242263A (zh) * 2019-07-18 2021-01-19 韩国星炆电子有限公司 旋转编码开关

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5398884A (en) * 1977-02-09 1978-08-29 Seikosha Kk Counter
JPS58115797U (ja) * 1982-02-01 1983-08-08 カシオ計算機株式会社 電子楽器の入力装置
JPH0351376U (ja) * 1989-09-27 1991-05-20
JPH0563754A (ja) 1991-08-30 1993-03-12 Kansei Corp 信号伝送装置
JPH06147921A (ja) * 1992-11-04 1994-05-27 Omron Corp アブソリュート型ロータリーエンコーダ
DE4407474C2 (de) * 1994-03-07 2000-07-13 Asm Automation Sensorik Messte Drehwinkelsensor
JPH1064368A (ja) * 1996-08-13 1998-03-06 Kokusai Electric Co Ltd ロータリ・スイッチの監視装置
JP3750373B2 (ja) * 1998-10-20 2006-03-01 松下電器産業株式会社 電源on/off装置
KR100370078B1 (ko) * 2000-08-09 2003-01-29 엘지전자 주식회사 모니터의 회전스위치 조작방향 감지장치 및 방법
CN1158823C (zh) * 2000-10-13 2004-07-21 三齐微电股份有限公司 高速节电式编码化m元fsk调变器
JP3866526B2 (ja) * 2001-03-30 2007-01-10 アルプス電気株式会社 検出出力の演算装置
JP2006252086A (ja) * 2005-03-10 2006-09-21 Hitachi Ltd 多重化タイマ装置
US20070252599A1 (en) * 2006-05-01 2007-11-01 Eaton Corporation Circuit interrupter including manual selector selecting different point-on-wave switching characteristics
CN101236234A (zh) * 2007-01-31 2008-08-06 杭州鸿雁电器有限公司 多功能旋转开关试验机
JP2009070771A (ja) * 2007-09-18 2009-04-02 Auto Network Gijutsu Kenkyusho:Kk スイッチ劣化検知システム
WO2009113176A1 (ja) * 2008-03-14 2009-09-17 ジョイテック株式会社 ソフトアイス飲料製造装置
KR101474345B1 (ko) * 2010-06-16 2014-12-19 오티스 엘리베이터 컴파니 엘리베이터 차체 위치를 결정하는 시스템 및 방법
JP2012048625A (ja) * 2010-08-30 2012-03-08 Brother Ind Ltd 数値制御装置、制御プログラム及び記憶媒体
TWI423291B (zh) * 2010-09-03 2014-01-11 Primax Electronics Ltd 旋鈕機構
JP2012103672A (ja) * 2010-10-13 2012-05-31 Ricoh Co Ltd 定着装置の温度制御方法、定着装置および画像形成装置
JP5538182B2 (ja) * 2010-10-26 2014-07-02 株式会社エニー スイッチ装置とその故障検出装置
JP5803170B2 (ja) * 2011-03-14 2015-11-04 株式会社デンソーウェーブ ロボットのコントローラ
CN103163458A (zh) * 2011-12-19 2013-06-19 海洋王照明科技股份有限公司 旋转开关测试控制电路及测试工装
US9318281B2 (en) * 2012-01-27 2016-04-19 Steering Solutions Ip Holding Corporation Steering wheel assembly with user controls
JP5949537B2 (ja) * 2012-12-27 2016-07-06 ブラザー工業株式会社 数値制御装置
US9217291B2 (en) * 2013-06-10 2015-12-22 Saudi Arabian Oil Company Downhole deep tunneling tool and method using high power laser beam

Also Published As

Publication number Publication date
US10408878B2 (en) 2019-09-10
US20170030971A1 (en) 2017-02-02
CN106405396A (zh) 2017-02-15
DE102016113716B4 (de) 2021-02-11
CN106405396B (zh) 2020-07-31
JP2017033243A (ja) 2017-02-09
DE102016113716A1 (de) 2017-02-02

Similar Documents

Publication Publication Date Title
JP6557086B2 (ja) ロータリスイッチを備えた制御装置
EP1675267B1 (en) Periodic electrical signal frequency monitoring systems and methods
CN101047380B (zh) 共用输入/输出端子控制电路
JP2011145988A (ja) 安全入力装置
JP5558167B2 (ja) 半導体装置並びにデータ保持回路の故障検出システム及び故障検出方法
JP5278102B2 (ja) アナログ信号入力回路の異常検出方法および制御装置
EP0404120A2 (en) Synchronizing signal switching system for synchronizing external storage devices
US9625986B2 (en) Semiconductor device and temperature control method of semiconductor device
JP2007233573A (ja) 電子制御装置
CN115357094A (zh) 一种时钟监控电路及时钟监控方法
JP5618792B2 (ja) エラー検出修復装置
US7284152B1 (en) Redundancy-based electronic device having certified and non-certified channels
JP4088967B2 (ja) 出力接点装置の診断回路
TWI707352B (zh) 具有電源品質檢測模組的電子設備及其相關方法
CN114637389B (zh) 一种触发器状态保持电路及方法
CN115113037A (zh) 旋转编码开关自检方法、装置及一种断路器
JP4817646B2 (ja) カスタムic検証装置および検証方法
JP2019095294A (ja) 半導体集積回路、そのテスト方法
KR960010757B1 (ko) 클럭 감시 장치
JP2006266727A (ja) 光学式エンコーダの異常検出装置及び光学式エンコーダの異常検出方法
TW202346880A (zh) 汽車設備的缺陷偵測系統
US20190035444A1 (en) Column decoder of memory device
JPH04367003A (ja) シーケンス制御回路用異常検出回路
JP2006072713A (ja) ディスクエンクロージャ装置及びその制御プログラム
JPS63146135A (ja) 回路自己診断方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170829

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171102

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180501

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181113

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190611

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190711

R150 Certificate of patent or registration of utility model

Ref document number: 6557086

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150