以下に本発明の実施の形態を説明するが、本発明の構成要件と、発明の詳細な説明に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、発明の詳細な説明に記載されていることを確認するためのものである。従って、発明の詳細な説明中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
すなわち、本発明の一側面の可動体駆動装置は、制御装置(例えば、図1のCPU11)からの指令信号に基づいて、複数のソレノイドの駆動信号を発生し、前記駆動信号により前記複数の可動体を駆動させる可動体駆動装置(例えば、図1のソレノイド駆動装置12)において、前記複数の可動体のそれぞれの駆動を指令する指令信号に基づいて、前記可動体の駆動内容を解釈する動作制御手段(例えば、図1の動作制御部22)と、前記複数の可動体を駆動させるための、同一周波数であって、位相の異なる複数のパターンの方形波パルスを発振し、前記動作制御手段により解釈された前記複数の可動体のそれぞれの駆動内容に基づいて、前記複数のパターンの方形波パルスのいずれかを、前記複数の可動体のそれぞれに割り付ける割付手段(例えば、図1の割付部24)と、前記割付手段により割り付けられたパターンの方形波パルスに基づいて、複数の可動体のそれぞれに対応するソレノイドの駆動信号を供給し、前記可動体を駆動させる出力制御手段(例えば、図1の出力制御部25)とを含む。
前記割付手段には、少なくとも1種類以上の、前記同一周波数であって、位相の異なる複数のパターンの方形波パルスを発振する発振手段(例えば、図1のパルス発生部62)と、前記発振手段により発振された少なくとも1種類以上の、前記同一周波数であって、位相の異なる複数のパターンの方形波パルスのいずれかに連動して供給されるもの、定常にオン、または定常にオフのいずれかを選択する選択手段(例えば、図1の選択部61)とを含ませるようにすることができる。
前記動作制御手段には、前記指令信号に基づいて、前記可動体の動作状況を指定する動作状況指定手段(例えば、図1の動作状況指定部42)を含ませるようにすることができ、前記動作制御手段、若しくは前記出力制御手段のいずれか、または、その両方には、次の指令信号が供給されるまでの間、前記動作状況指定手段により指定された動作状況を保持する動作状況保持手段(例えば、図1の動作状況保持部23)とを含ませるようにすることができ、前記動作制御手段には、複数の可動体に対応する出力制御手段のそれぞれに対して、前記動作状況指定手段により指定された動作状況を選定する選定手段(例えば、図1の選定部43)を含ませるようにすることができる。
前記ソレノイドの動作、または可動体の作動状況を検出する、少なくとも1個以上の、検出手段(例えば、図11の入力部141)と、前記検出信号を前記制御装置にフィードバックするフィードバック手段(例えば、図1の送信部143)とをさらに含ませるようにすることができる。
前記動作制御手段に、前記指令信号に基づいて受動的に動作させる受動的ソレノイド動作モードと、前記検出信号を前記制御装置にフィードバックする能動的フィードバックモードとを切り替えるモード切替手段(例えば、図11のモード切替部131)をさらに含ませるようにすることができる。
前記指令信号は、複数の前記可動体駆動装置をそれぞれ識別するアドレス情報を含ませるようにすることができ、前記可動体駆動システムには、前記アドレス情報に基づいて、複数の前記可動体駆動装置を識別するアドレス識別手段(例えば、図1のアドレス認識部41)をさらに含む、少なくとも1つ以上の、請求項1乃至6のいずれかの可動体駆動装置と、前記制御装置とから構成されるようにすることができる。
[ソレノイド駆動装置の第1の実施の形態]
図1は、本発明に係る遊技機のソレノイド駆動システムの一実施の形態の構成例を示す図である。
このソレノイド駆動システムは、パチンコ遊技機や回胴式遊技機などに代表される遊技機の、可動体からなる可動役物を駆動させるためのシステムである。ソレノイド駆動システムは、CPU(Central Processing Unit)11、およびソレノイド駆動装置12から構成されており、ソレノイド駆動装置12が、ソレノイドSL1乃至SL3を、それぞれ駆動させることによりソレノイドの駆動に連動して動作する可動体からなる可動役物を動作させる。
尚、図1においては、CPU11とソレノイド駆動装置12とが、それぞれ1対の構成となっているが、実際には、1個のCPU11が複数のソレノイド駆動装置12を制御している。しかしながら、ここでは、説明の便宜上、1個のCPU11が、1個のソレノイド駆動装置12を制御する例について説明するものとするが、それ以上の数のソレノイド駆動装置12を制御するようにしても良いし、各ソレノイド駆動装置12において駆動を制御するソレノイドの数も3個以外の数であっても良い。
CPU11は、ソレノイド駆動システムの動作の全体を制御しており、クロック端子CKより出力するクロック信号に同期して、データ端子DATAよりシリアルデータとして指令データを出力し、ソレノイド駆動装置12に対して、駆動を制御しているソレノイドSL1乃至SL3の駆動の指令データを供給する。この際、CPU11は、複数のソレノイド駆動装置12のいずれに対しての指示であるかを区別するアドレスの情報を付して指令データを供給する。また、CPU11は、併せて、ソレノイドSL1乃至SL3のいずれへの指示であるかを区別する出力系統を識別する情報も付した指令データを供給する。さらに、CPU11は、併せて、ソレノイドSL1乃至SL3のそれぞれに供給すべき駆動パターンを割り付ける割付データを付して指令データを供給する。
また、CPU11は、ソレノイド駆動装置12のソレノイドSL1乃至SL3の駆動内容により、必要に応じて、駆動内容を示す動作データを生成し、指令データに含めてソレノイド駆動装置12に供給する。
CPU11は、判定部111、電力計算部112、電力割付部113、動作データ生成部114、および指令データ送信部115より構成されている。
判定部111は、ソレノイド駆動装置12が組み込まれている遊技機の遊技状態、すなわち、通常状態、リーチ状態、および大当り状態に対応して、各ソレノイドSL1乃至SL3をどのように駆動させるかを判定し、判定結果である駆動内容を電力計算部112に供給する。
電力計算部112は、駆動内容に基づいて、ソレノイドSL1乃至SL3の動作に必要とされる電力を計算し、電力割付部113に供給する。電力割付部113は、電力計算部112により計算された必要電力から、ソレノイドSL1乃至SL3のそれぞれに応じて、パルス発生部62において発生されている、同一周波数であって、位相の異なる方形波パルス状の電力のいずれか、または、常時オン、若しくは、常時オフを割り付ける割付データを生成し、動作データ生成部114に供給する。
動作データ生成部114は、電力割付部113からの割付データに基づいて、動作データを生成し、指令データ送信部115に供給する。すなわち、ここでは、動作データは、事実上、割付データそのものであり、ソレノイドSL1乃至SL3に供給されるべき、パルス発生部62において発生されている、同一周波数であって、位相の異なる方形波パルス状の電力のいずれか、または、常時オン、若しくは、常時オフのいずれかを指定するデータである。
指令データ送信部115は、動作データ生成部114より供給されてくる動作データを含めて、指令データを生成し、ソレノイド駆動装置12を特定するアドレスデータを付して、データ出力端子DATAおよびクロック信号出力端子CKより、クロック信号に同期してシリアルデータとして指令データを全てのソレノイド駆動装置12に送信する。
受信部21は、受信制御部31、およびシリアル−パラレル変換部32より構成されており、受信制御部31は、クロック信号に同期して受信されるシリアルデータとして指令データを受信し、シリアル−パラレル変換部32に供給する。シリアル−パラレル変換部32は、シリアルデータをパラレルデータに変換し、パラレルデータに変換された指令データを動作制御部22に供給する。
動作制御部22は、アドレス認識部41、動作状況指定部42、および選定部43を備えており、受信部21より供給されてくる指令データを取得すると、アドレス認識部41を制御して、自らへの指令データであるか否かを認識させ、自らへの指令データであると認識された場合にのみ、指令データに基づいて、出力系統データの出力系統毎に動作データをソレノイドSL1乃至SL3のそれぞれについて動作状況保持部23に保持させる。
アドレス認識部41は、CPU11より供給されてくる指令データに含まれるアドレスデータを読み出し、自らを識別するアドレスであるか否かを判定し、自らを識別するアドレスである場合にのみ、指令データを後段の動作状況指定部42に供給する。
動作状況指定部42は、CPU11から供給された指令データに含まれる動作データに基づいて、ソレノイドSL1乃至SL3毎の出力系統を識別するデータを付した割付データを動作状況として指定し、選定部43に供給する。
選定部43は、動作状況指定部42により指定された動作状況、すなわち、ソレノイドSL1乃至SL3毎の、それぞれの出力系統の割付データを、ソレノイドSL1乃至SL3毎に選定し、動作状況保持部23の保持部51−1乃至51−3のそれぞれに保持させる。
動作状況保持部23は、ソレノイドSL1乃至SL3のそれぞれに対応する保持部51−1乃至51−3から構成されており、動作制御部22より供給されてくる動作状況を、保持すると共に、それぞれの出力系統毎に割付部24に割付データを供給する。
割付部24は、ソレノイドSL1乃至SL3のそれぞれの出力系統に対応した選択部61−1乃至61−3と、パルス発生部62を備えており、動作状況に応じて、それぞれの出力系統に駆動波形を供給する。尚、割付部24については、図2を参照して、詳細な構成を後述する。
出力制御部25は、ソレノイドSL1乃至SL3のそれぞれの出力系統に対応した出力部71−1乃至71−3を備えており、割付部24より供給されてくる駆動波形に基づいて、ソレノイドSL1乃至SL3を駆動させる。
[割付部の構成例]
次に、図2を参照して、割付部24の詳細な構成例について説明する。
割付部24は、上述したように、選択部61−1乃至61−3、およびパルス発生部62より構成されており、選択部61−1乃至61−3が、それぞれの出力系統に対応して、動作状況保持部23の保持部51−1乃至51−3に保持している割付データに基づいて、パルス発生部62により発生される方形波パルスのいずれか、または、常時オン、若しくは常時オフを選択して後段のソレノイドSL1乃至SL3に駆動波形として供給する。
選択部61−1は、いわゆるマルチプレクサであり、動作状況保持部23の保持部51−1より、3ビットの割付データを取得する端子A1乃至C1を備えている。また、選択部61−1は、パルス発生部62により発生される6種類の方形波パルスV1乃至V6を取得する端子D11乃至D16を備えている。ここで、端子D11,D13,D15が、それぞれ方形波パルスV1乃至V3をそれぞれ取得し、端子D12,D14,D16が、それぞれ方形波パルスV4乃至V6をそれぞれ取得している。
また、選択部61−1は、接地されており、常時オフを示す信号を取得する端子D10を備えている。さらに、選択部61−1は、電源に接続されており、常時オンを示す信号を取得する端子D17を備えている。また,選択部61−1は、端子A1乃至C1より供給されてくる3ビットの割付データに基づいて、端子D10乃至D17の8種類の波形のいずれかを選択して、出力制御部25の出力部71−1に供給する端子Y1を備えている。
すなわち、選択部61−1は、端子D10乃至D17より8種類の波形を取得している。割付データは、これらのいずれかを選択する3ビットのデータである。そこで、選択部61−1は、3ビットの割付データに基づいて、端子D10乃至D17のいずれかの波形を選択し、端子Y1より駆動波形として出力制御部25の出力部71−1に供給し、対応するソレノイドSL1を駆動させる。
選択部61−2,61−3についても、選択部61−1の端子A1乃至C1、端子D10乃至D17、および端子Y1に対応する、端子A2乃至C2、端子D20乃至D27、および端子Y2、並びに、端子A3乃至C3、端子D30乃至D37、および端子Y3を備えており、同様に動作し、対応するソレノイドSL2,SL3の駆動波形を出力する。
尚、選択部61−1乃至61−3のそれぞれについて、特に区別する必要がない場合、単に、選択部61と称するものとし、その他の構成についても同様に称するものとする。
パルス発生部62は、D型のラッチ回路81−1乃至81−3、AND回路82−1乃至82−3、およびOR回路83−1乃至83−3を備えている。
ラッチ回路81−1のデータ入力端子Dは、ラッチ回路81−3の反転出力端子Q3’に接続されている。尚、図中では、「Q’」は、Q3上にバーが付されて表示されているがここでは、表記の関係上Q3’とし、その他も同様に表記するものとする。また、ラッチ回路81−1の正出力端子Q1は、AND回路82−1の一方の入力端子、OR回路83−1の一方の入力端子、およびラッチ回路81−2のデータ入力端子Dに接続されている。さらに、ラッチ回路81−1の反転出力端子Q1’は、AND回路82−2の一方の入力端子、およびOR回路83−2の一方の入力端子に接続されている。
ラッチ回路81−2のデータ入力端子Dは、ラッチ回路81−1の正出力端子Q1、AND回路82−1の一方の入力端子、およびOR回路83−1の一方の入力端子に接続されている。また、ラッチ回路81−2の正出力端子Q2は、AND回路82−1の他方の入力端子、OR回路83−1の他方の入力端子、およびラッチ回路81−3のデータ入力端子Dに接続されている。さらに、ラッチ回路81−2の反転出力端子Q2’は、AND回路82−3の一方の入力端子、およびOR回路83−3の一方の入力端子に接続されている。
ラッチ回路81−3のデータ入力端子Dは、ラッチ回路81−2の正出力端子Q2、AND回路82−1の他方の入力端子、およびOR回路82−1の他方の入力端子に接続されている。また、ラッチ回路81−3の正出力端子Q3は、AND回路82−2の他方の入力端子、およびOR回路83−2の他方の入力端子に接続されている。さらに、ラッチ回路81−3の反転出力端子Q3’は、AND回路82−3の他方の入力端子、OR回路83−3の他方の入力端子、および、ラッチ回路81−1のデータ入力端子Dに接続されている。
さらに、ラッチ回路81−1乃至81−3のクロック入力端子CKには、クロック信号が供給されており、それぞれの正出力端子Q1,Q2,Q3、および反転出力端子Q1’,Q2’,Q3’より、クロック信号に同期してデータ出力される。
このような構成により、AND回路82−1乃至82−3は、図3の最上段、2段目、および3段目で示される方形波パルスV1,V2,V3を、OR回路83−1乃至83−3は、図3の4段目、5段目、および最下段で示される方形波パルスV4,V5,V6をそれぞれ出力する。
図3の最上段には、方形波パルスV1が示されており、時刻t1乃至t2、時刻t4乃至t5、および時刻t7乃至t8において方形波パルスが発生している。図3の2段目には、方形波パルスV2が示されており、時刻t2乃至t3、および時刻t5乃至t6において方形波パルスが発生している。図3の3段目には、方形波パルスV3が示されており、時刻t3乃至t4、および時刻t6乃至t7において方形波パルスが発生している。
図3の4段目には、方形波パルスV4が示されており、時刻t1乃至t3、および時刻t4乃至t6において方形波パルスが発生している。図3の5段目には、方形波パルスV5が示されており、時刻t2乃至t4、および時刻t5乃至t7において方形波パルスが発生している。図3の最下段には、方形波パルスV6が示されており、時刻t3乃至t5、および時刻t6乃至t8において方形波パルスが発生している。尚、図3において、時刻t1乃至t8の各区間は等間隔である。
すなわち、方形波パルスV1乃至V3は、常時オンの状態に対して1/3のデューティとなる同一の周波数の間歇駆動方形波パルスであって、それぞれが異なる位相となる波形であることが示されている。同様に、方形波パルスV4乃至V6は、常時オンの状態に対して2/3のデューティとなる同一の周波数の間歇駆動方形波パルスであって、それぞれが異なる位相となる波形であることが示されている。
したがって、選択部61は、それぞれ対応する保持部51より供給される割付データに対応して、図3で示される方形波パルスV1乃至V6、並びに常時オン、および常時オフのいずれかの波形を選択して出力制御部25に供給することになる。
尚、図2のパルス発生部62においては、2種類の周波数について、位相の異なる方形波パルスがそれぞれ3種類ずつ発生される例について説明してきたが、当然のことながら、2種類以上の種類の周波数について、さらに多くの複数の位相の異なる方形波パルスを発生させるようにする構成としても良い。ただし、この場合、割付データのビット数を、それぞれ対応する方形波パルスの数に対応するように増やす必要がある。
また、パルス発生部62のラッチ回路81−1乃至81−3のクロック入力端子CKに供給されるクロック信号は、可聴帯域より高速なものが設定されており、具体的には、15kHz乃至100kHz程度の周波数に設定されている。仮に、クロック信号を可聴帯域内、または、それよりも低周波数帯域とした場合、不快なうなり音が発生したり、プランジャ吸引動作がパルス駆動波に追従して、視覚にて振動動作が確認されてしまうといった不具合が発生することがある。そこで、クロック信号の周波数が可聴帯域より高速なものに設定されることにより、うなり音の発生や視覚により振動が確認されるといった不具合を抑制することが可能となる。
[図1のソレノイド駆動装置によるソレノイド駆動処理]
次に、図4のフローチャートを参照して、図1のソレノイド駆動システムによるソレノイド駆動処理について説明する。
ステップS1において、判定部111は、ソレノイド駆動装置12を識別する全てのアドレスのうち、未処理のアドレスを処理対象アドレスに指定する。
ステップS2において、判定部111は、処理対象となるアドレスにおけるソレノイド駆動装置12の出力制御部25によりソレノイドSL1乃至SL3のいずれか、または、その全ての駆動が必要であるか否かを判定する。
ステップS2において、例えば、駆動が必要であると判定された場合、ステップS3において、電力計算部112は、駆動内容に基づいて、ソレノイドSL1乃至SL3の動作に必要とされる電力を計算し、電力割付部113に供給する。
ステップS4において、電力割付部113は、電力計算部112により計算された必要電力から、ソレノイドSL1乃至SL3のそれぞれに応じて、パルス発生部62において発生されている、同一周波数であって、位相の異なる方形波パルス状の電力のいずれか、または、常時オン、若しくは、常時オフを割り付ける割付データを生成し、動作データ生成部114に供給する。すなわち、割付データとして、パルス発生部62により発生されている方形波パルスV1乃至V6、常時オン、または常時オフのいずれかの駆動波形を選択する選択信号を割付データとして生成する。
ステップS5において、動作データ生成部114は、処理対象アドレスのソレノイド駆動装置12に対して、駆動させるべきソレノイドSL1乃至SL3の動作内容を指示する動作データを生成し、指令データ送信部115に供給する。ここでいう動作データは、処理対象アドレスのソレノイド駆動装置12における、ソレノイドSL1乃至SL3を識別する情報が付された割付データそのものである。
ステップS6において、指令データ送信部115は、処理対象アドレスのソレノイド駆動装置12に対して、供給されてきた動作データを含めて、動作を指示する、例えば、図5で示されるような指令データを生成し、クロック端子CKより出力するクロック信号に同期して、データ端子DATAよりシリアルデータとして出力する。
指令データは、図5で示されるように、アドレスデータ、出力系統データ、および動作データから構成される。例えば、処理対象となるアドレスのソレノイド駆動装置12宛の指令データを生成する場合、アドレスデータには、処理対象となるアドレスのソレノイド駆動装置12を識別するアドレスのデータが記録される。また、出力系統データは、駆動させる出力系統である出力制御部25におけるいずれのソレノイドSL1乃至SL3を識別するデータが記録される。動作データは、上述したように、処理対象アドレスのソレノイド駆動装置12における、ソレノイドSL1乃至SL3の動作内容を指示する割付データそのものである。
ステップS21において、受信部21の受信制御部31は、CPU11より指令データが送信されてきたか否かを判定し、指令データが送信されてくるまで、同様の処理を繰り返す。ステップS21において、例えば、ステップS6の処理により、CPU11より指令データが送信されてきた場合、ステップS22において、受信制御部31は、順次クロック信号に同期して、シリアルデータとして送信されてくる指令データを受信し、シリアル−パラレル変換部32に供給する。シリアル−パラレル変換部32は、供給されてきたシリアルデータからなる指令データをパラレルデータに変換し、アドレス認識部41に供給する。この処理に応じて、アドレス認識部41は、供給されてきた指令データより、アドレスデータを読み出す。
ステップS23において、アドレス認識部41は、読み出したアドレスデータが自らを識別するアドレスを示すものであるか否かを判定する。ステップS23において、例えば、読み出したアドレスデータが自らを識別するアドレスを示すものではないと判定された場合、アドレス認識部41は、供給されてきた指令データを破棄し、処理は、ステップS21に戻る。すなわち、この場合、供給されてきた指令データが、自らへのものではないとみなされ、処理が打ち切られる。結果として、指令データの宛先として指定されたアドレスに対応するソレノイド駆動装置12以外においては、処理が打ち切られ、指令データの宛先として指定されたアドレスに対応するソレノイド駆動装置12のみが、以降の処理を実行することになる。
一方、ステップS23において、例えば、読み出したアドレスデータが自らを識別するアドレスを示すものであると判定された場合、ステップS24において、アドレス認識部41は、供給された指令データを全て読み出し、動作状況指定部42に供給する。
ステップS25において、動作状況指定部42は、指令データのうちの動作データを読み出し、ステップS26において、動作として指示する動作内容を認識する。
ステップS27において、動作状況指定部42は、指令データのうちの出力系統データを読み出し、動作データの供給先となる出力系統を認識する。
ステップS28において、動作状況指定部42は、動作データより動作状況と共に、認識した出力系統を指定して、選定部43に対して出力系統データと共に動作データを供給する。これに応じて、動作状況指定部42により指定された動作状況、すなわち、ソレノイドSL1乃至SL3毎の、それぞれの出力系統の割付データを、ソレノイドSL1乃至SL3毎に選定し、動作状況保持部23の保持部51−1乃至51−3のそれぞれに保持させ、処理は、ステップS21に戻る。
一方、ステップS2において、駆動が必要ではないと判定された場合、ステップS3乃至S6の処理は、スキップされる。
そして、ステップS7において、判定部111は、ソレノイド駆動装置12を識別する全てのアドレスのうち、未処理のアドレスが存在するか否かを判定する。すなわち、CPU11で動作を管理すべきソレノイド駆動装置12の全てについて処理が終了したか否かが判定される。ステップS7において、未処理のアドレスが存在する場合、処理は、ステップS1に戻る。すなわち、CPU11で動作を管理すべきソレノイド駆動装置12の全てについて処理が終了するまで、ステップS1乃至S7の処理が繰り返される。そして、ステップS7において、全てのアドレスについて処理が終了し、CPU11で動作を管理すべきソレノイド駆動装置12の全てについて処理が終了したと判定された場合、処理は、ステップS8に進む。
ステップS8において、判定部111は、全てのアドレスを未処理であるものとみなし、処理は、ステップS1に戻る。
すなわち、CPU11は、全てのソレノイド駆動装置について、動作状況を巡回的に監視し、必要に応じて駆動を指示する。この際、駆動装置を駆動するにあたり、動作を一回指示すればよいのでCPU11による処理負荷が低減される。
[図1のソレノイド駆動装置による出力制御処理]
次に、図6のフローチャートを参照して、出力制御処理について説明する。
ステップS41において、割付部24の選択部61−1乃至61−3は、それぞれ対応する動作状況保持部23の保持部51−1乃至51−3より割付データを読み出す。
ステップS42において、選択部61−1乃至61−3は、3ビットのデータからなる割付データに基づいて、割付データに対応して、パルス発生部62により発生されている方形波パルスV1乃至V6、または、常時オン、若しくは、常時オフのいずれかを選択して、駆動波形を形成して、対応する出力制御部25の出力部71−1乃至71−3に供給する。
ステップS43において、出力制御部25の出力部71−1乃至71−3は、割付部24の選択部61−1乃至61−3のそれぞれより供給されてくる駆動波形に基づいて、ソレノイドSL1乃至SL3を動作させる。
以上の処理により、以下のような省電力化を実現することが可能となる。
すなわち、ソレノイドSL1は、図7で示されるように、駆動電圧が印加されると、バネCによる図中の矢印と逆の方向の反発力に打ち勝つようにプランジャPが図中の矢印方向に位置xから位置x’に吸引されるように移動することにより駆動する。一方、ソレノイドSL1に印加されない状態になると、バネCの反発力によりプランジャPが位置x’から位置xに移動する。このように、ソレノイドSL1に印加される電力の有無により、上述したようにプランジャPが位置xまたはx’を取るように動作する。
ところで、ソレノイドSL1のプランジャPを吸引した状態を維持させる場合、従来は、図8の上段で示されるように、プランジャPが吸引された状態を維持するように指定されている全期間(図8においては時刻t21乃至t32の期間)において、ソレノイドSL1に印加される電圧V’out1が0となるように制御されていた。尚、図8においては、ソレノイドSL1がプランジャPを吸引する電圧が0であり、プランジャPを吸引しない状態とする電圧がVHである。
しかしながら、ソレノイドSL1は、時刻t21乃至t22で示されるプランジャPが位置xから位置x’に移動するのに、100ms乃至500ms程度の時間を要するが、時刻t22以降で示されるように、それ以降においては、プランジャPを位置x’の状態に維持するのみである。プランジャPを位置xから位置x’に移動させるために必要とされる電力に対して、プランジャを位置x’の状態に維持させるための必要とされる電力は、バネCの反発力に依存するが、その10%乃至40%程度である。したがって、図8の上段で示されるように、プランジャPが位置x’に到達した時刻t22以降において、プランジャPを位置xから位置x’に移動させることが可能な電力を掛け続けることは無駄に電力を消費していることに他ならない。
そこで、ステップS4の処理において、電力割付部113は、電力計算部112により計算された必要電力から、ソレノイドSL1に対しては、図8の下段で示されるように、時刻t21乃至t22においては、常時オンの状態とすることで、ソレノイドSL1に100%の電力を供給し、プランジャPを位置xから位置x’に移動させ、プランジャPが位置x’に移動が完了する時刻t22以降においては、例えば、図3で示される方形波パルスV1乃至V3のいずれかが印加されるように割付データを生成する。このように割付けることにより、時刻t22乃至t32において、常時オンとされるこれまでの電力消費よりも、少ない電力で吸引状態を維持させることが可能となる。
尚、図8の下段においては、時刻t22乃至t23と時刻t23乃至t24とにおける期間の比、時刻t24乃至t25と時刻t25乃至t26とにおける期間の比、時刻t26乃至t27と時刻t27乃至t28とにおける期間の比、時刻t28乃至t29と時刻t29乃至t30とにおける期間の比のいずれにおいても、その比は1:2となる。このため、動作状況として指定されている吸引状態を維持しつつ、吸引状態を維持させるだけの状態になったタイミング以降においては、消費電力を2/3程度に低減させることが可能となる。
また、図8においては、上段が従来のソレノイドSL1への印加電圧V’out1のタイミングチャートを示しており、下段が図1のソレノイド駆動装置12におけるソレノイドSL1への印加電圧Vout1のタイミングチャートを示している。
さらに、ソレノイドSL1,SL2について、同時に駆動させる必要がある場合、消費電力が大きくなるプランジャが吸引されて、位置xから位置x’に移動するまでのタイミングはごく短時間であるため、ソレノイドSL1,SL2のそれぞれの印加タイミングを、例えば、図9で示されるように、ずらすことで瞬間的な最大電力量を低減させることが可能となる。
すなわち、ステップS4の処理において、電力割付部113は、時刻t51において、ソレノイドSL1の印加電圧Vout1を常時オンの状態に制御し、時刻t52で示されるタイミングでプランジャPを位置x’まで引き込んだ後の期間T1においては、例えば、図3における方形波パルスV1にとなるように割付データを生成する。そして、その後、電力割付部113は、時刻t54において、ソレノイドSL2の印加電圧Vout2を常時オンの状態に制御し、時刻t59で示されるタイミングでプランジャPを位置x’まで引き込んだ後の期間T2においては、例えば、図3における方形波パルスV2となるように割付データを生成する。さらに、ソレノイドSL1,SL2のそれぞれのプランジャPが吸引され始めたタイミングから所定の時間が経過した場合、電力割付部113は、図9の時刻t68,t73において、それぞれソレノイドSL1の印加電圧Vout1を常時オフの電圧VHに、ソレノイドSL2の印加電圧Vout2を常時オフの電圧VHに割付データを生成する。
結果として、ソレノイドSL1,SL2のいずれかにおいて、消費電力が最大となるプランジャPの吸引が完了するまでのごく短時間の動作が同時になされないように、タイミングをずらすことにより、ソレノイドSL1,SL2の双方が、最大電力を取る状態となってしまう状態を回避することが可能となるため、省電力化を実現することが可能となる。また、最大消費電力が低減されることにより、ソレノイドによる発生熱量を低減させることが可能になると共に、電源部の発生熱量を低減させるための冷却装置などが不要となるため、コストアップを抑制することが可能となる。
尚、図9においては、最上段においては、各タイミングにおけるソレノイドSL1に対応する保持部51−1により保持される割付データの内容を示しており、2段目においては、各タイミングにおけるソレノイドSL2に対応する保持部51−2により保持される割付データの内容を示しており、3段目においては、ソレノイドSL1に印加される電圧Vout1のタイムチャートが示されており、4段目においては、ソレノイドSL2に印加される電圧Vout2のタイムチャートが示されている。
同様に、ソレノイドSL1乃至SL3の動作を制御する場合、例えば、図10で示されるように印加電圧Vout1乃至Vout3のピークが重ならないように制御すればよい。
すなわち、ステップS4の処理において、電力割付部113は、時刻t101乃至t102において、図10の2段目で示されるように、ソレノイドSL1への印加電圧Vout1を常時オンの状態として、ソレノイドSL1のプランジャPを位置xから位置x’に移動させるように割付データを生成する。そして、ソレノイドSL1のプランジャPの移動が完了していないタイミングである時刻t102において、図10の2段目で示されるように、ソレノイドSL1への印加電圧Vout1を、図3における方形波パルスV1に切り替えることにより、プランジャPを位置x’方向に吸引している途中の状態を維持させる。
また、電力割付部113は、時刻t102において、図10の3段目で示されるように、ソレノイドSL2への印加電圧Vout2を常時オンの状態として、ソレノイドSL2のプランジャPを位置xから位置x’に移動させるように割付データを生成する。そして、ソレノイドSL2のプランジャPの移動が完了していないタイミングである時刻t103において、図10の3段目で示されるように、ソレノイドSL2への印加電圧Vout2を、図3における方形波パルスV2に切り替えることにより、プランジャPを位置x’に吸引している途中の状態を維持させる。
さらに、電力割付部113は、時刻t103において、図10の2段目で示されるように、ソレノイドSL1への印加電圧Vout1を常時オンの状態として、ソレノイドSL1のプランジャPの位置x’への移動を完了させるように割付データを生成する。そして、ソレノイドSL1のプランジャPの移動が完了するタイミングである時刻t104において、図10の2段目で示されるように、ソレノイドSL1への印加電圧Vout1を、図3における方形波パルスV1に切り替えることにより、プランジャPを位置x’の状態で維持させる。
また、電力割付部113は、時刻t104において、図10の3段目で示されるように、ソレノイドSL2への印加電圧Vout2を常時オンの状態として、ソレノイドSL2のプランジャPの位置x’への移動を完了させるように割付データを生成する。そして、ソレノイドSL2のプランジャPの移動が完了しているタイミングである時刻t105において、図10の3段目で示されるように、ソレノイドSL2への印加電圧Vout2を、図3における方形波パルスV2に切り替えることにより、プランジャPを位置x’の状態で維持させる。
さらに、電力割付部113は、時刻t106において、図10の4段目で示されるように、ソレノイドSL3への印加電圧Vout3を常時オンの状態として、ソレノイドSL3のプランジャPを位置xから位置x’に移動させるように割付データを生成する。尚、ここでは、ソレノイドSL3のバネCは、ソレノイドSL1,SL2よりも反発力が小さく、時刻t106乃至t107において、プランジャPの移動が完了するものとする。そして、ソレノイドSL3のプランジャPの移動が完了したタイミングである時刻t107において、図10の4段目で示されるように、ソレノイドSL3への印加電圧Vout3を、図3における方形波パルスV3に切り替えることにより、プランジャPを位置x’の状態で維持させる。
このように動作させる際の各タイミングにおける電流値は、図10の最上段で示されるように、ソレノイドSL1乃至SL3のいずれか1個を動作させるのに常時オンとする電流をIとした場合、時刻t0乃至t101においては0となり、時刻t101乃至t102においてはIとなり、時刻t102乃至t105においては(I+I/3)となり、時刻t105乃至t106においては(2×I/3)となり、時刻t106乃至t107においては(I+2×I/3)となり、時刻t107乃至t108においてはIとなる。このため、最大でもソレノイドSL1乃至SL3のいずれか1個における最大値Iの5/3倍で、合計3個のソレノイドSL1乃至SL3の動作を制御することが可能となる。
すなわち、図10においては、ソレノイドSL1,SL2は、それぞれのプランジャが完全吸引された状態となるまでに、それぞれ位相がずれた状態で、常時オン、方形波パルスV1(またはV2)、および常時オンとなる動作が繰り返されている。このように動作させることにより、ソレノイドSL1,SL2のプランジャの動作が開始されるタイミングを略同時にしつつ、最大電力となるタイミングをずらし、さらに、プランジャの移動が完了した後は、常時オンの状態よりも低消費電力でプランジャが吸引された状態を維持することができる。結果として、ソレノイドSL1,SL2の動作を略同時のタイミングとしつつ、全体として消費電力を低減させることが可能となる。
以上のように、省電力化を実現することが可能となるので、発熱量の増大を低減させることが可能となり、併せて発熱対策に必要とされる部品にかかるコストアップを抑制することが可能となる。結果として、ソレノイド搭載数の制限を緩和し、高度な可動演出を実現することが可能となる。
以上においては、CPU11がソレノイド駆動装置12の動作状態を考慮することなく、一方的に割付データを生成し、ソレノイド駆動装置12が、その割付データに基づいて、ソレノイドSL1乃至SL3への印加電圧を制御する例について説明してきたが、ソレノイド駆動装置12にソレノイドSL1乃至SL3の動作状態を検出させるセンサを設けるなどして、動作状態を検出し、検出結果である動作状態をCPU11にフィードバックし、CPU11が、フィードバックされた動作状態に応じて割付データを生成するようにしても良い。
[ソレノイド駆動装置の第2の実施の形態]
図11においては、ソレノイド駆動装置12にソレノイドSL1乃至SL3の動作状態を検出させるセンサを設けることにより、動作状態を検出し、検出結果である動作状態をCPU11にフィードバックし、CPU11が、フィードバックされた動作状態に応じて割付データを生成するようにしたソレノイド駆動システムの実施の形態の構成例を示している。尚、図11において、図1と同一の機能を備えた構成については、同一の符号を付するものとし、その説明は適宜省略するものとする。
すなわち、図11において、図1と異なる点は、CPU11において、判定部111、電力計算部112、電力割付部113、動作データ生成部114、および指令データ送信部115に代えて、送信モード指示部161、フィードバックデータ判定部162、電力計算部163、電力割付部164、動作データ生成部165、および動作モード指示部166を設けた点である。また、動作制御部22に代えて、動作制御部121を設け、さらに、フィードバック部122、およびセンサSN1を新たに設けた点である。
送信モード指示部161は、ソレノイド駆動装置12に対してフィードバックデータを要求する指令データを生成し送信モードを指示する。フィードバックデータ判定部162は、送信モードを指示したソレノイド駆動装置12より供給されてきたフィードバックデータに基づいて、対象となるソレノイド駆動装置12において駆動させるべきソレノイドの駆動内容を判定する。電力計算部163、および電力割付部164については、電力計算部112、および電力割付部113と基本的に同様の機能を備えるものである。
動作データ生成部165は、フィードバックデータ判定部162の判定結果に基づいて、可動体を駆動させる場合、または、フィードバックデータとは別に(自発的に)、駆動が必要であると判定された場合、ソレノイド駆動装置12に対して供給する動作モード時におけるソレノイドSL1乃至SL3をどのように駆動させるかを指示するデータを動作データとして生成する。動作データについては、図1におけるソレノイド駆動システムにおける場合と同様に、事実上割付データである。動作モード指示部166は、動作データ生成部165により生成された動作データを付して、動作モードを指示する指令データを生成して、ソレノイド駆動装置12に供給する。
動作制御部121は、アドレス認識部41、モード切替部131、動作状況指定部132、および選定部43を備えている。
モード切替部131は、CPU11より供給されてきた指令データに含まれる、動作モード、または、送信モードを識別するモードデータを認識し、動作モードである場合、指令データを動作状況指定部132に供給すると共に、対応する指令データを動作状況の情報を選定部43に供給する。また、送信モードである場合、モード切替部131は、フィードバック部122の動作結果認識部142に内蔵されているレジスタ142aをオープンにさせると共に、送信部143を制御して、レジスタ142aに記憶されている動作結果の情報をフィードバックデータとして、パラレルデータからシリアルデータに変換させて、クロック信号に同期して、CPU11に送信させる。
動作状況指定部132は、CPU11から供給された指令データに含まれる出力系統データおよび動作データに基づいて、動作状況を指定し、選定部43に指示し、動作状況の情報を動作状況保持部23の保持部51−1乃至51−3に保持させる。
センサSN1は、ソレノイドSL3により駆動されるプランジャの動作を監視しており、例えば、図12で示されるように、ソレノイドSL3への印加電圧Vout3がオンの状態となり、励磁された状態となってバネCの反発力に打ち勝って、吸引された状態のプランジャPの有無を監視している。尚、センサSN1は、ソレノイドSL3への印加電圧Vout3がオフの状態になると、バネCの反発力によりプランジャP’へと移動するため、プランジャを検出できない状態となる。
[図11のソレノイド駆動装置によるソレノイド駆動処理]
次に、図13のフローチャートを参照して、図11のソレノイド駆動システムによるソレノイド駆動処理について説明する。
ステップS101において、送信モード指示部161は、ソレノイド駆動装置12を識別する全てのアドレスのうち、未処理のアドレスを処理対象アドレスに設定する。
ステップS102において、送信モード指示部161は、処理対象アドレスのソレノイド駆動装置12に対して送信モードを指示する指令データを生成し、クロック端子CKより出力するクロック信号に同期して、データ端子DATA1よりシリアルデータとして出力する。
この指令データは、例えば、図14で示されるように構成されるものであり、アドレスデータ、モードデータ、出力系統データ、および動作データから構成される。尚、モードデータを除き、図5を参照して説明した指令データと同様であるので、その説明は省略するものとする。すなわち、モードデータには、動作モード、または、送信モードのいずれかを識別するデータが記録され、今の場合、送信モードを示すデータが記録されることになる。尚、出力系統データおよび動作データは、送信モードの場合、ブランクデータとされる。
ステップS121において、受信部21は、CPU11より指令データが送信されてきたか否かを判定する。ステップS121において、例えば、ステップS102の処理により、CPU11より指令データが送信されてきた場合、ステップS122において、受信部21は、送信されてきたシリアルデータからなる指令データをパラレルデータに変換し、動作制御部121のアドレス認識部41に供給する。アドレス認識部41は、パラレルデータに変換されて供給されてきた指令データより、アドレスデータを読み出す。
ステップS123において、アドレス認識部41は、読み出したアドレスデータが自らを識別するアドレスを示すものであるか否かを判定する。ステップS123において、例えば、読み出したアドレスデータが自らを識別するアドレスを示すものではないと判定された場合、アドレス認識部41は、供給されてきた指令データを破棄し、処理は、ステップS121に戻る。すなわち、この場合、供給されてきた指令データが、自らへのものではないとみなされ、処理が打ち切られる。結果として、指令データの宛先として指定されたアドレスに対応するソレノイド駆動装置12以外においては、処理が打ち切られ、指令データの宛先として指定されたアドレスに対応するソレノイド駆動装置12のみが、以降の処理を実行することになる。
一方、ステップS123において、例えば、読み出したアドレスデータが自らを識別するアドレスを示すものであると判定された場合、ステップS124において、アドレス認識部41は、供給された指令データを全て読み出し、モード切替部131に供給する。
ステップS125において、モード切替部131は、指令データに含まれるモードデータを読み出して、モードデータが動作モードを示すデータであるか否かを判定する。ステップS125において、今の場合、ステップS102の処理により送信モードが指示されているので、ステップS126において、モード切替部131は、モードを送信モードに切り替えて、フィードバック部122の動作結果認識部142、および送信部143に対して、送信モード処理を実行させ、フィードバックデータをCPU11に対して送信させる。
ここで、図15のフローチャートを参照して、送信モード処理について説明する。
ステップS141において、動作結果認識部142は、モード切替部131により送信モードでの処理が指示されたか否かを判定し、送信モードでの処理が指示されるまで、同様の処理を繰り返す。ステップS141において、例えば、ステップS126の処理により、送信モードの処理が指示された場合、ステップS142において、動作結果認識部142は、レジスタ142aをオープンにして、後述するフィードバック処理により順次記憶された動作結果を送信部143に読み出させる。送信部143は、レジスタ142aより順次記憶された動作結果をフィードバックデータとして読み出す。
ステップS143において、送信部143は、自らを識別するアドレスを示すアドレスデータを付加して、例えば、図16で示されるようなフィードバックデータを生成する。図16のフィードバックデータにおいては、アドレスデータ、およびフィードバックデータから構成されている。アドレスデータは、ソレノイド駆動装置12を識別するアドレスを示すデータを格納している。フィードバックデータは、レジスタ142aより読み出された動作結果に基づいて生成されるデータである。
ステップS144において、送信部143は、フィードバックデータをパラレルデータからシリアルデータに変換し、クロック信号に同期して、CPU11に送信する。
ステップS145において、送信部143は、送信が終了したか否かを判定し、終了していない場合、処理は、ステップS144に戻る。すなわち、フィードバックデータの送信が終了するまで、ステップS144,S145の処理が繰り返される。そして、ステップS145において、フィードバックデータの送信が終了したと判定された場合、ステップS146において、送信の終了を認識し、処理は、ステップS141に戻る。
以上の処理により動作結果認識部142のレジスタ142aに記憶されていた動作結果が、フィードバックデータとしてCPU11に送信される。
ここで、図13のフローチャートの説明に戻る。
ステップS103において、フィードバックデータ判定部162は、データ取得端子DATA2より、処理対象アドレスのソレノイド駆動装置12よりフィードバックデータが送信されてきたか否かを判定し、送信されてくるまで、同様の処理を繰り返す。ステップS103において、例えば、ステップS144の処理により、フィードバックデータが送信されてきた場合、ステップS104において、フィードバックデータ判定部162は、シリアルデータからなるフィードバックデータをパラレルデータに変換して取得する。このとき、フィードバックデータ判定部162は、フィードバックデータに付加されているアドレスデータが処理対象アドレスであることを確認し、処理対象アドレスである場合にのみ、フィードバックデータが送信されてきたものとして判定する。
ステップS105において、フィードバックデータ判定部162は、フィードバックデータに基づいて、処理対象となるアドレスにおけるソレノイド制御装置12の出力制御部25によりソレノイドSL1乃至SL3の駆動が必要であるか否かを判定する。フィードバックデータには、センサSN1によるソレノイドSL3の動作結果が記録されているため、フィードバックデータ判定部162は、動作結果から、ソレノイドSL3により駆動される可動役物などの動作状態が把握できる。そこで、フィードバックデータ判定部162は、今現在の遊技機の遊技状態、すなわち、大当り状態、リーチ状態、または通常状態であるといった遊技状態などに照らして、さらにソレノイドSL3の動作状態を考慮して、駆動が必要であるか否かを判定する。尚、この判定は、フィードバックデータが存在しない場合でも、遊技機の遊技状態に応じて、実行されるようにしてもよいものであるが、ここでは、フィードバックデータに基づく処理を例にして説明を進めるものとする。
ステップS105において、例えば、駆動が必要であると判定された場合、ステップS106において、電力計算部163は、駆動内容に基づいて、ソレノイドSL1乃至SL3の動作に必要とされる電力を計算し、電力割付部164に供給する。
ステップS107において、電力割付部164は、電力計算部163により計算された必要電力から、ソレノイドSL1乃至SL3のそれぞれに応じて、パルス発生部62において発生されている、同一周波数であって、位相の異なる方形波パルス状の電力のいずれか、または、常時オン、若しくは、常時オフを割り付ける割付データを生成し、動作データ生成部114に供給する。すなわち、例えば、フィードバックデータに基づいて、ソレノイドSL3の吸引が完了していることが検出されているような場合、以降において、ソレノイドSL3のプランジャの吸引状態を維持するようなとき、割付けるべき駆動波形を常時オンの状態から方形波パルスのV3などに切り替えるように割付データを生成する。
ステップS108において、電力割付部164は、動作データ生成部165に対して割付データに基づいて、必要とされる動作データの生成を指示する。動作データ生成部165は、割付データに基づいて、処理対象アドレスのソレノイド駆動装置12に対して、駆動させるべきソレノイドSL1乃至SL3の動作内容を指示する動作データを生成し、動作モード指示部166に供給する。
ステップS109において、動作モード指示部166は、処理対象アドレスのソレノイド駆動装置12に対して、供給されてきた動作データを含めて、動作モードでの動作を指示する指令データを生成し、クロック端子CKより出力するクロック信号に同期して、データ端子DATA1よりシリアルデータとして出力する。
この処理により、ステップS121において、データが送信されてきたと判定され、ステップS122において、アドレスデータが読み出され、ステップS123において、自らのアドレスであるとみなされると、ステップS124の処理により指令データが読み込まれ、ステップS125においては、動作モードが指示されていると判定されるので、処理は、ステップS127に進む。
ステップS127において、モード切替部131は、指令データを動作状況指定部132に供給する。
ステップS128において、動作状況指定部132は、指令データのうちの動作データを読み出し、ステップS129において、動作として指示する動作内容を認識する。
ステップS130において、動作状況指定部132は、指令データのうちの出力系統データを読み出し、動作データの供給先となる出力系統を認識する。
ステップS131において、動作状況指定部132は、動作データより動作状況と共に、認識した出力系統を指定して、選定部43に対して出力系統データと共に動作データを供給する。これに応じて、動作状況指定部132により指定された動作状況、すなわち、ソレノイドSL1乃至SL3毎の、それぞれの出力系統の割付データを、ソレノイドSL1乃至SL3毎に選定し、動作状況保持部23の保持部51−1乃至51−3のそれぞれに保持させると共に、動作モードでの動作を指示し、処理は、ステップS121に戻る。
一方、ステップS105において、駆動が必要ではないと判定された場合、ステップS106乃至S109の処理は、スキップされる。
そして、ステップS110において、送信モード指示部161は、ソレノイド駆動装置12を識別する全てのアドレスのうち、未処理のアドレスが存在するか否かを判定する。すなわち、CPU11で動作を管理すべきソレノイド駆動装置12の全てについて処理が終了したか否かが判定される。ステップS110において、未処理のアドレスが存在する場合、処理は、ステップS101に戻る。すなわち、CPU11で動作を管理すべきソレノイド駆動装置12の全てについて処理が終了するまで、ステップS101乃至S110の処理が繰り返される。そして、ステップS110において、全てのアドレスについて処理が終了し、CPU11で動作を管理すべきソレノイド駆動装置12の全てについて処理が終了したと判定された場合、ステップS111において、送信モード指示部161は、全てのアドレスを未処理であるものとみなし、処理は、ステップS101に戻る。
すなわち、CPU11は、全てのソレノイド駆動装置12について、動作状況を巡回的に監視し、必要に応じて駆動を指示する。このため、これまでのように、一回の動作を指示した後、頻繁に動作状況を監視する必要がなく、ソレノイドSL3の動作状況に応じて、指令データを送信し、ソレノイドSL3の駆動波形を調整することが可能となるので、例えば、ソレノイドSL3のプランジャが完全に吸引されたことが検出されていることがフィードバックデータなどから認識できるような場合、常時オンの状態から、図3で示される方形波パルスV1乃至V3のいずれかへの切り替えが可能となるので、省電力化を実現することが可能となる。
動作モード処理については、図6のフローチャートを参照して説明した出力制御処理と同様であるので、その説明は省略する。
次に、図17のフローチャートを参照して、フィードバック処理について説明する。
ステップS151において、入力部141は、センサSN1により検出された検出結果を取得する。例えば、センサSN1は、図12で示されるように、プランジャPの状態であるとき、吸引完了を示すHiの信号を出力し、それ以外のときLowの信号を出力する。
ステップS152において、動作結果認識部142は、入力部141より供給されてくる検出結果を動作結果として認識する。
ステップS153において、動作結果認識部142は、内蔵するレジスタ142aに動作結果を格納し、処理は、ステップS151に戻る。
以上の処理を纏めると以下のようになる。
すなわち、CPU11が、ステップS101,S102の処理により、送信モードを指示し、ステップS121乃至S126の処理で送信されてきたフィードバック情報により、ステップS104,S105の処理で、動作指示が必要であると判定され、ステップS106乃至S109の処理により、例えば、電力割付部164は、図18の2段目で示されるように、時刻t201のタイミングにおいて、ソレノイドSL3への印加電圧Vout3を常時オンとする割付データを生成する。この割付データにより、図18の最上段で示されるように、印加電圧Vout3が常時電位VHとなり、図18の3段目で示されるように、ソレノイドSL3が励磁され、プランジャPがバネCの反発力に打ち勝って吸引される。このとき、選択部61−3の端子D37に入力されている常時オンの波形が駆動波形として選択される。
そして、図18の3段目で示されるように、プランジャPが完全に吸引された状態に達すると、センサSN1がその状態を検出して、時刻t202において、検出したことを示すHiの信号を出力し、検出結果が、ステップS153の処理により、レジスタ142aに記憶される。
この処理の後、図18の4段目で示されるように、時刻t202乃至t203において、再びステップS101,S102の処理により、送信モードが指示され、ステップS121乃至S126の処理で送信されてきたフィードバック情報により、ステップS104,S105の処理で、プランジャの吸引が完了していることが認識されるため、印加電圧を吸引維持に必要な電力に低減させるようにする動作指示が必要であると判定され、ステップS106乃至S109の処理により、電力割付部164は、図18の2段目で示されるように、時刻t203のタイミングにおいて、ソレノイドSL3への印加電圧Vout3の駆動波形を、例えば、図3における方形波パルスV6とする割付データを生成する。
この割付データにより、図18の最上段で示されるように、印加電圧Vout3がデューティが66.66%(2/3)となるように電位0が供給され、図18の3段目で示されるように、ソレノイドSL3がデューティ66.66%となるように励磁され、プランジャPの吸引状態が維持される。このとき、選択部61−3の端子D36に入力されている方形波パルスV6が駆動波形として選択される。
そして、CPU11が、ステップS101,S102の処理により、送信モードを指示し、ステップS121乃至S126の処理で送信されてきたフィードバック情報により、ステップS104,S105の処理で、動作指示が必要であると判定され、ステップS106乃至S109の処理により、電力割付部164は、図18の2段目で示されるように、時刻t213のタイミングにおいて、ソレノイドSL3への印加電圧Vout3を常時オフとする割付データを生成する。この割付データが供給されると、図18の最上段で示されるように、印加電圧Vout3が常時電位VHとなり、図18の3段目で示されるように、ソレノイドSL3の励磁が解除され、プランジャPがバネCの反発力により、ソレノイドSL3より開放される。このとき、選択部61−3の端子D30に入力されている常時オフの波形が駆動波形として選択される。
以上の処理により、順次レジスタに検出結果が格納されることにより、上述した送信モード処理により、動作結果をフィードバックデータとしてCPU11に送信することが可能となり、CPU11が、可動体を駆動させるソレノイドSL3の動作状態を認識することが可能となり、認識した動作状態に応じて、電力割付部164が、ソレノイドSL3の動作に必要とされる最小電力が、他の消費電力のピークと重ならないように、すなわち、異なる位相の電力を割付けるように割付データを生成することができるので、最終的に適切な指令データを生成することが可能となる。
このため、より詳細に省電力化を実現することが可能となるので、発熱量の増大を、さらに低減させることが可能となり、併せて発熱対策に必要とされる部品に必要とされるコストアップをさらに抑制することが可能となる。結果として、ソレノイド搭載数の制限を緩和し、高度な可動演出を実現することが可能となる。
尚、以上においては、ソレノイドSL3の動作状態を検出するセンサSN1のみを設ける例について説明してきたが、ソレノイドSL1,SL2に対しても同様のセンサを設け、それらの動作を考慮して割付データを生成するようにしてもよい。また、センサSN1は、対応するソレノイドSL3のプランジャの位置により動作状態を検出しているが、例えば、プランジャに連動して動作する可動体の位置により動作状態を検出するようにセンサを設定するようにしても良い。
また、以上においては、フィードバックデータに基づいて、CPU11の電力割付部164がソレノイドSL1乃至SL3への駆動波形を割付ける割付データを生成し、その割付データに基づいて、ソレノイド駆動装置12が、ソレノイドSL1乃至SL3への印加電圧を制御する例について説明してきたが、例えば、動作結果認識部142におけるレジスタ142aに記憶されているセンサSN1の検出結果に基づいて、動作状況指定部132が、動作状況保持部23の保持部51−3で保持されているソレノイドSL3の割付データを常時オンから、図3の最上段で示される方形波パルスV3とするように書き換えるようにして、ソレノイド駆動装置12が単独で駆動波形を切り替えるようにしても良い。このようにすることで、CPU11は、一旦ソレノイドSL3の吸引の動作を指示した後は、吸引を解除するまで指示をしなくても、吸引が完了すると同時にソレノイドSL3の消費電力を低減させることが可能になると共に、CPU11の処理負荷を低減させることが可能となる。結果として、制御の点から見ても、消費電力や発熱量の増大を抑制させる点から見ても、ソレノイド搭載数を増大させることが可能となる。
以上の如く、本発明によれば、大容量化によるコストアップ、および発熱量増大を抑制し、並びに、省電力化を図ることにより、ソレノイド搭載数の制限を緩和し、高度な可動演出を実現することが可能となる。
ところで、上述した一連の監視処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
図19は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)1001を内蔵している。CPU1001にはバス1004を介して、入出力インタフェース1005が接続されている。バス1004には、ROM(Read Only Memory)1002およびRAM(Random Access Memory)1003が接続されている。
入出力インタフェース1005には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部1006、処理操作画面や処理結果の画像を表示デバイスに出力する出力部1007、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部1008、LAN(Local Area Network)アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部1009が接続されている。また、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどのリムーバブルメディア1011に対してデータを読み書きするドライブ1010が接続されている。
CPU1001は、ROM1002に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア1011から読み出されて記憶部1008にインストールされ、記憶部1008からRAM1003にロードされたプログラムに従って各種の処理を実行する。RAM1003にはまた、CPU1001が各種の処理を実行する上において必要なデータなども適宜記憶される。
尚、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理は、もちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理を含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。