(57)【要約】【課題】スリップリングを介した制御信号の伝送が正常に行われずに、制御信号に基づく制御が正常に行われない可能性がある。【解決手段】回転構造体は、回転体と、回転体の側面に設けられたスリップリングと、回転体に支持され、第１の動作をする第１動作体と、回転体に支持され、回転体の外部に設けられた外部制御回路が送信した制御信号をスリップリングを介して受信し、受信した制御信号の中に同一の第１制御コマンドが複数あれば、第１制御コマンドに従って第１動作体を制御する動作制御回路とを備える。【選択図】図３
2015039528.tif 000002
【特許請求の範囲】
【請求項１】
回転体と、
前記回転体の側面に設けられたスリップリングと、
前記回転体に支持され、第１の動作をする第１動作体と、
前記回転体に支持され、前記回転体の外部に設けられた外部制御回路が送信した制御信号を前記スリップリングを介して受信し、受信した前記制御信号の中に同一の第１制御コマンドが複数あれば、前記第１制御コマンドに従って前記第１動作体を制御する動作制御回路と
を備える回転構造体。
【請求項２】
前記回転体に支持され、第２の動作をする第２動作体をさらに備え、
前記動作制御回路は、受信した前記制御信号の中に第２制御コマンドが１つあれば、前記第２制御コマンドに従って前記第２動作体を制御する、請求項１に記載の回転構造体。
【請求項３】
前記動作制御回路は、予め定められた数の前記制御信号のそれぞれに含まれる前記第２制御コマンドを組み合わせて１つの制御コマンドを生成し、前記１つの制御コマンドに従って前記第２動作体を制御する、請求項２に記載の回転構造体。
【請求項４】
前記第２動作体は、発光体であり、
前記第２制御コマンドは、前記発光体による発光を制御する制御コマンドである、請求項２または請求項３に記載の回転構造体。
【請求項５】
前記第１動作体は、可動体を駆動する駆動体であり、
前記第１制御コマンドは、前記駆動体による駆動を制御する制御コマンドである、請求項１から請求項４のいずれか１つに記載の回転構造体。
【請求項６】
前記動作制御回路は、位置センサにより検出された前記可動体の位置を示す同一の位置データを複数含むデータ信号を、前記スリップリングを介して前記外部制御回路に送信する、請求項５に記載の回転構造体。
【請求項７】
前記動作制御回路は、予め定められた周期で前記制御信号を受信する、請求項１から請求項６のいずれか１つに記載の回転構造体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、回転構造体に関する。
【背景技術】
【０００２】
特許文献１には、サブ制御部と回転側装飾駆動回路とをスリップリングを介して電気的に接続し、サブ制御部から回転側装飾駆動回路にスリップリングを介して制御信号を送信することが記載されている。
特許文献１  特開２０１１−２０６１６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
上記のようなスリップリングを介した制御信号の伝送が正常に行われずに、制御信号に基づく制御が正常に行われない可能性がある。
【課題を解決するための手段】
【０００４】
本発明の一態様に係る回転構造体は、回転体と、回転体の側面に設けられたスリップリングと、回転体に支持され、第１の動作をする第１動作体と、回転体に支持され、回転体の外部に設けられた外部制御回路が送信した制御信号をスリップリングを介して受信し、受信した制御信号の中に同一の第１制御コマンドが複数あれば、第１制御コマンドに従って第１動作体を制御する動作制御回路とを備える。
【０００５】
上記回転構造体は、回転体に支持され、第２の動作をする第２動作体をさらに備え、動作制御回路は、受信した制御信号の中に第２制御コマンドが１つあれば、第２制御コマンドに従って第２動作体を制御してもよい。
【０００６】
上記回転構造体において、動作制御回路は、予め定められた数の制御信号のそれぞれに含まれる第２制御コマンドを組み合わせて１つの制御コマンドを生成し、１つの制御コマンドに従って第２動作体を制御してもよい。
【０００７】
上記回転構造体において、第２動作体は、発光体であり、第２制御コマンドは、発光体による発光を制御する制御コマンドでよい。
【０００８】
上記回転構造体において、第１動作体は、可動体を駆動する駆動体であり、第１制御コマンドは、駆動体による駆動を制御する制御コマンドでよい。
【０００９】
上記回転構造体において、動作制御回路は、位置センサにより検出された可動体の位置を示す同一の位置データを複数含むデータ信号を、スリップリングを介して外部制御回路に送信してもよい。
【００１０】
上記回転構造体において、動作制御回路は、予め定められた周期で制御信号を受信してもよい。
【００１１】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る遊技機について説明するための図である。
【図２】回転体の外側の側面の一例を示す図である。
【図３】本実施形態に係る遊技機の機能ブロックの一例を示す図である。
【図４】外部制御回路から動作制御回路に送信される制御信号の一例を示す図である。
【図５】動作制御回路から外部制御回路に送信されるデータ信号の一例を示す図である。
【図６】外部制御回路が制御信号を送信する手順の一例を示すフローチャートである。
【図７】外部制御回路が制御信号を送信する場合に用いる送信バッファに格納される内容について説明するための図である。
【図８】動作制御回路が制御信号を受信した場合の処理手順の一例を示すフローチャートである。
【図９】動作制御部がデータ信号を送信する手順の一例を示すフローチャートである。
【図１０】動作制御回路がデータ信号を送信する場合に用いる送信バッファに格納される内容について説明するための図である。
【図１１】外部制御回路がデータ信号を受信した場合の処理手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１４】
図１は、本実施形態に係る遊技機１０について説明するための図である。遊技機１０は、主制御部２０、外部制御回路３０、モータドライバ４２、モータ４０、ブラシ５０、および回転構造体１００を備える。回転構造体１００は、リンク形状の構造体でよい。回転構造体１００は、モータ４０からの動力により、回転する。モータ４０は、ステッピングモータでよい。
【００１５】
回転構造体１００は、回転体１０２、モータ１１０、可動体１１２、ＬＥＤ１２０、および動作制御回路１３０を有する。回転構造体１００は、遊技機１０の本体に回転可能に支持されている。回転体１０２は、モータ４０の動力により回転体１０２の中心軸を中心として回転する。回転体１０２の外側の側面には、ギアが形成されていてもよい。モータ４０からの動力が、モータ４０の回転軸に設けられたギアを介して回転体１０２のギアに伝達され、回転体１０２が回転する。
【００１６】
モータ１１０、可動体１１２、ＬＥＤ１２０、および動作制御回路１３０は、回転体１０２に支持され、回転体１０２とともに回転する。動作制御回路１３０は、モータ１１０の回転、およびＬＥＤ１２０の発光を制御する。モータ１１０は、第１の動作をする第１動作体の一例である。モータ１１０は、駆動体の一例であり、ステッピングモータでよい。ＬＥＤ１２０は、発光体の一例であり、第２の動作をする第２動作体の一例である。
【００１７】
可動体１１２は、モータ１１０からの動力により、回転体１０２に対して移動する。可動体１１２は、例えば、回転体１０２の回転軸に向かう方向に沿って移動する。可動体１１２の回転体１０２に対する動作は、上記には限定されず、可動体１１２は、回転体１０２に対して他の方向に移動、または回転体１０２に対して回転してもよい。ＬＥＤ１２０は、可動体１１２に設けられ、発光する。
【００１８】
主制御部２０は、遊技機１０の遊技状態に応じてモータドライバ４２にモータ４０の回転を制御するための制御信号を送信する。モータドライバ４２は、制御信号に基づいてモータ４０の回転を制御する。
【００１９】
主制御部２０は、遊技機１０の遊技状態に応じてモータ１１０の回転およびＬＥＤの発光を制御させるべく、制御信号を動作制御回路１３０に向けて送信することを外部制御回路３０に指示する。外部制御回路３０は、ブラシ５０を介して動作制御回路１３０に制御信号を送信する。遊技機１０は、回転体１０２の回転、可動体１１２の移動、およびＬＥＤ１２０の発光により、遊技機１０の遊技状態に応じた演出を実行する。
【００２０】
図２は、回転体１０２の外側の側面の一例を示す図である。回転体１０２の外側の側面には、スリップリング１０４が設けられている。スリップリング１０４には、ブラシ５０が押し当てられている。回転体１０２の外側の側面には、例えば、３本のスリップリング１０４が設けられている。３本のスリップリングのうち、１本のスリップリングは、外部制御回路３０と動作制御回路１３０との間でやり取りされる制御信号などの信号の伝送路である。残りの２本のスリップリングは、回転構造体１００に設けられたモータ１１０、ＬＥＤ１２０、および動作制御回路１３０に電力を供給するための給電線およびグランド線である。
【００２１】
なお、本実施形態では、１本のスリップリング１０４に対して２本のブラシ５０が押し当てられ、１本のスリップリング１０４に対して２本のブラシ５０が電気的に接続されている。しかし、１本のスリップリング１０４に電気的に接続されるブラシ５０は、少なくとも１本でよい。
【００２２】
上記のように構成された回転構造体１００において、スリップリング１０４とブラシ５０との間の接点不良により、スリップリング１０４を介して外部制御回路３０と動作制御回路１３０との間で正常に信号が伝送できない可能性がある。例えば、スリップリング１０４とブラシ５０との接点部分に、塵または埃などが付着することで、ブラシ５０がチャタリングを生じさせる可能性がある。また、回転体１０２が回転している間に、ブラシ５０がスリップリング１０４の溶接部分などの凹凸部分を通過することにより、ブラシ５０がスリップリング１０４に対して振動し、ブラシ５０がチャタリングを生じさせる可能性がある。このようなチャタリングの発生により、スリップリング１０４を介した外部制御回路３０と動作制御回路１３０との間の信号伝送が正常に行われない可能性がある。
【００２３】
そこで、本実施形態によれば、スリップリング１０４とブラシ５０との間の接点不良により発生するスリップリング１０４を介した信号伝送の異常による悪影響を抑制できる回転構造体１００を提供する。
【００２４】
図３は、本実施形態に係る遊技機１０の機能ブロックの一例を示す。主制御部２０、外部制御回路３０、モータドライバ４２、およびモータ４０は、遊技機１０の本体に設けられている。回転構造体１００は、遊技機１０の本体に回転可能に支持されている。
【００２５】
回転構造体１００は、回転体１０２、スリップリング１０４、モータ１１０、可動体１１２、位置センサ１１４、モータドライバ１１６、ＬＥＤ１２０、ＬＥＤドライバ１２２、および動作制御回路１３０を有する。
【００２６】
外部制御回路３０および動作制御回路１３０は、通信モジュールを含み、通信モジュール同士が、スリップリング１０４を介して信号をやりとりする。通信モジュールは、スリップリング１０４を介して双方向通信をする。モータドライバ１１６は、動作制御回路１３０からの第１制御コマンドに応じて第１パルス信号を生成し、モータ１１０に出力する。第１制御コマンドは、モータ１１０による駆動を制御する制御コマンドである。モータ１１０は、第１パルス信号に応じて回転する。可動体１１２は、モータ１１０が回転することにより発生する動力により動作する。可動体１１２は、回転体１０２に対して移動する。
【００２７】
ＬＥＤドライバ１２２は、動作制御回路１３０からの第２制御コマンドに応じて第２パルス信号を生成し、ＬＥＤ１２０に出力する。第２制御コマンドは、ＬＥＤ１２０による発光を制御する制御コマンドである。ＬＥＤ１２０は、第２パルス信号に応じて発光する。
【００２８】
位置センサ１１４は、可動体１１２の位置を検出する。位置センサ１１４は、例えば、可動体１１２が予め定められた位置に移動した場合に、可動体１１２が予め定められた位置に移動したことを示す検知信号をモータドライバ１１６に出力する。モータドライバ１１６は、検知信号に応じた位置データを動作制御回路１３０に出力する。動作制御回路１３０は、位置データを示すデータ信号をスリップリング１０４を介して外部制御回路３０に送信する。外部制御回路３０は、データ信号を主制御部２０に転送する。
【００２９】
主制御部２０は、転送されたデータ信号に示される可動体１１２の位置に基づいてモータ１１０の回転を制御させるべく、制御信号を動作制御回路１３０に向けて送信することを外部制御回路３０に指示してもよい。
【００３０】
ここで、動作制御回路１３０は、外部制御回路３０が予め定められた周期で送信した制御信号をスリップリング１０４を介して予め定められた周期で受信する。そして、動作制御回路１３０は、受信した制御信号の中に同一の第１制御コマンドが複数あれば、第１制御コマンドに従ってＬＥＤドライバ１２２を介してモータ１１０を制御する。動作制御回路１３０は、モータ１１０をＰＰＭ制御可能な周期で制御信号を受信する。動作制御回路１３０は、例えば、５００μｓｅｃの周期で、制御信号を受信する。
【００３１】
また、動作制御回路１３０は、受信した制御信号の中に第２制御コマンドが１つあれば、第２制御コマンドに従ってＬＥＤドライバ１２２を介してＬＥＤ１２０を制御してもよい。動作制御回路１３０は、予め定められた数の制御信号のそれぞれに含まれる第２制御コマンドを組み合わせて１つの制御コマンドを生成し、１つの制御コマンドに従ってＬＥＤドライバ１２２を介して第２動作体を制御してもよい。
【００３２】
動作制御回路１３０は、外部制御回路３０に送信すべき位置データを含むデータ信号があれば、外部制御回路３０から制御信号を受信していない期間に、データ信号を外部制御回路３０に送信してもよい。動作制御回路１３０は、一周期内において、制御信号の受信とデータ信号の送信を行ってよい。
【００３３】
外部制御回路３０は、ＬＥＤ１２０を制御する１つの制御コマンドを複数に分割することにより複数の第２制御コマンドを生成し、予め定められた数の制御信号を用いて複数の第２制御コマンドをスリップリング１０４を介して動作制御回路１３０に送信してもよい。動作制御回路１３０は、例えば、２０ｍｓｅｃの周期で制御コマンドを生成し、ＬＥＤドライバ１２２を介してＬＥＤ１２０による発光を制御する。よって、外部制御回路３０は、ＬＥＤ１２０を制御する１つの制御コマンドを、最大で４０個に分割して、分割された制御コマンドを４０個の制御信号に分けて動作制御回路１３０に送信してもよい。動作制御回路１３０は、４０個分の制御信号の中からそれぞれ第２制御コマンドを抽出し、抽出されたそれぞれの第２制御コマンドを組み合わせてＬＥＤ１２０を制御する１つの制御コマンドを生成してもよい。
【００３４】
また、外部制御回路３０は、複数の第１制御コマンドのうち一の第１制御コマンドと他の一の第１制御コマンドとの間に、第２制御コマンドが送信されるように、制御信号を生成し、生成された制御信号をスリップリング１０４を介して動作制御回路１３０に送信してもよい。
【００３５】
さらに、外部制御回路３０は、データ信号をスリップリング１０４を介して受信し、受信したデータ信号の中に同一の位置データが複数あれば、位置データに従った同一の新たな第１制御コマンドを複数含む新たな制御信号を主制御部２０からの指示に従って生成し、新たな制御信号を送信してもよい。
【００３６】
図４は、外部制御回路３０から動作制御回路１３０に送信される制御信号２００の一例を示す。
【００３７】
制御信号２００は、同一の複数の第１制御コマンド２１０と、第２制御コマンド２２０とを含む。制御信号２００は、複数の第２制御コマンド２２０を含んでもよい。第１制御コマンド２１０は、スタートコード（モータ）２１２、データ（１）２１４、データ（２）２１６、およびエンドコード２１８を含む。スタートコード（モータ）２１２、データ（１）２１４、データ（２）２１６、およびエンドコード２１８は、例えば、それぞれ１バイトのデータである。スタートコード（モータ）２１２は、モータ１１０の制御コマンドの開始を示す。データ（１）２１４およびデータ（２）２１６は、モータ１１０を制御するための制御コマンドの内容を示す。エンドコード２１８は、モータ１１０の制御コマンドの終了を示す。
【００３８】
第２制御コマンド２２０は、スタートコード（ＬＥＤ）２２１、有効データ数２２２、データ（１）２２３、データ（２）２２４、データ（３）２２５、データ（４）２２６、データ（５）２２７、データ（６）２２８、およびデータ（７）２２９を含む。スタートコード（ＬＥＤ）２２１、有効データ数２２２、データ（１）２２３、データ（２）２２４、データ（３）２２５、データ（４）２２６、データ（５）２２７、データ（６）２２８、およびデータ（７）２２９は、例えば、それぞれ１バイトのデータである。
【００３９】
スタートコード（ＬＥＤ）２２１は、ＬＥＤ１２０の制御コマンドの開始を示す。有効データ数２２２は、第２制御コマンド２２０に含まる制御コマンドの数を示す。データ（１）２２３、データ（２）２２４、データ（３）２２５、データ（４）２２６、データ（５）２２７、データ（６）２２８、およびデータ（７）２２９は、それぞれＬＥＤ１２０の制御コマンドを示す。
【００４０】
動作制御回路１３０は、予め定められた数の制御信号のそれぞれに含まれる第２制御コマンド内のデータ（１）２２３、データ（２）２２４、データ（３）２２５、データ（４）２２６、データ（５）２２７、データ（６）２２８、およびデータ（７）２２９を組み合わせて、ＬＥＤ１２０を制御するための１つの制御コマンドを生成する。
【００４１】
制御信号２００は、第１制御コマンド２１０のうちの１つの第１制御コマンド２１０と、残りの複数の第１制御コマンド２１０との間に第２制御コマンド２２０を含む。これにより、外部制御回路３０は、１つの第１制御コマンド２１０を送信したことに続いて、１つの第２制御コマンド２２０を送信した後、残りの複数の第１制御コマンド２１０を送信する。よって、動作制御回路１３０は、１つの第１制御コマンド２１０を受信してから、ある程度の時間を経過後に、残りの複数の第１制御コマンド２１０を受信できる。
【００４２】
上記の通り、ブラシ５０とスリップリング１０４との間の接点不良は、スリップリング１０４の溶接部分などの特定の一部分である場合がある。したがって、動作制御回路１３０は、複数の第１制御コマンド２１０を受信するタイミングをずらすことで、それぞれの第１制御コマンド２１０を受信できる確率が向上する。よって、動作制御回路１３０は、接点不良がある場合でも、１つの制御信号の中から同一の第１制御コマンドを複数受信できる確率が向上する。動作制御回路１３０が、外部制御回路３０から送信された制御信号に含まれる第１制御コマンドに従って、ＬＥＤドライバ１２２を介してモータ１１０を正常に制御できる確率が向上する。
【００４３】
なお、制御信号には一つの第２制御コマンド２２０しか含まれないので、動作制御回路１３０が第２制御コマンド２２０を正常に受信できる確率は、第１制御コマンド２１０を正常に受信できる確率よりも低い。第２制御コマンド２２０を正常に受信できなかった場合、ＬＥＤ１２０の発光が予定通りに実行されず、演出効果が低減する可能性はある。しかし、ＬＥＤ１２０の発光が予定通りに実行されなくても、遊技機１０に物理的な異常が発生する可能性は少ない。一方、モータ１１０の異常制御に伴い可動体１１２が異常制御された場合、例えば、回転体１０２が回転できない位置に可動体１１２が存在するときに、回転体１０２の回転制御が行われるなどの異常制御により、遊技機１０に物理的な異常が発生する可能性がある。そこで、第２制御コマンド２２０よりも第１制御コマンド２１０を正常に受信できる確率を向上させることで、接点不良に伴い発生する物理的な異常の発生を抑制できる。
【００４４】
図５は、動作制御回路１３０が外部制御回路３０に送信するデータ信号３００の一例を示す。データ信号３００は、同一の複数の位置データ３１０を含む。位置データ３１０は、スタートコード（センサ）３１２、データ（１）３１４、およびエンドコード３１６を含む。スタートコード（センサ）３１２、データ（１）３１４、およびエンドコード３１６は、例えば、それぞれ１バイトのデータである。スタートコード（センサ）３１２は、位置センサ１１４により検知された可動体１１２の位置を示す位置データの開始を示す。データ（１）３１４は、位置データの内容を示す。エンドコード３１６は、位置データの終了を示す。
【００４５】
外部制御回路３０は、動作制御回路１３０からスリップリング１０４を介して受信したデータ信号３００の中に同一の位置データ３１０が複数あれば、位置データ３１０に従った同一の新たな第１制御コマンドを複数含む新たな制御信号を生成し、新たな制御信号を動作制御回路１３０にスリップリング１０４を介して送信する。これにより、接点不良が発生していても、外部制御回路３０が、位置データ３１０を正常に受信できる確率が向上する。２以上の位置データが一致することを確認できた場合のみ、外部制御回路３０は、受信した位置データを利用する。したがって、エラーを含む位置データが利用されることにより、回転構造体１００が正常に制御されなくなることを防止できる。
【００４６】
図６は、外部制御回路３０が制御信号を送信する手順の一例を示すフローチャートである。図７は、外部制御回路３０が制御信号を送信する場合に用いる送信バッファに格納される内容について説明するための図である。
【００４７】
外部制御回路３０は、予め定められた周期、例えば、５００μｓｅｃ毎に、主制御部２０からモータ１１０を制御するための第１制御コマンドを生成するためのモータ制御データのラッチ読み出し指示を受信する（Ｓ１００）。外部制御回路３０は、ＬＥＤ１２０による発光を制御するための第２制御コマンドを生成するためのＬＥＤデータを主制御部２０からすでに受信済みか否かを判定する（Ｓ１０２）。
【００４８】
ＬＥＤデータをすでに受信済みであれば、外部制御回路３０は、ＬＥＤデータをメモリから読み出し、ＬＥＤデータの受信データサイズをメモリにセットする。さらに、外部制御回路３０は、受信データリードポインタをクリアする（Ｓ１０４）。
【００４９】
次いで、あるいは、ＬＥＤデータを受信していない場合、外部制御回路３０は、モータ制御データに基づいて、メモリに割り当てられたバッファ［０］およびバッファ［１］に第１制御コマンドとして、データ（１）およびデータ（２）を設定する。また、外部制御回路３０は、バッファ［２］にモータのエンドコードを設定する。さらに、外部制御回路３０は、送信バッファ［１２］から送信バッファ［２７］に、スタートコード（モータ）、データ（１）、データ（２）およびモータのエンドコードを設定する。
【００５０】
加えて、外部制御回路３０は、送信バッファ［３］にＬＥＤデータのスタートコードを設定する（Ｓ１１０）。そして、外部制御回路３０は、ＬＥＤデータを受信している場合であって、まだ送信バッファに設定が完了していないＬＥＤデータがあるか否かを判定する（Ｓ１１２）。なお、ＬＥＤデータは、複数に分割され、複数の制御信号を用いて送信される。送信バッファに設定が完了していないＬＥＤデータがある場合には、送信バッファ［５］から送信バッファ［１１］まで順にＬＥＤデータを設定する（Ｓ１１４）。つまり、ＬＥＤ１２０を制御する１つの制御コマンドから分割された複数のデータを順に、送信バッファ［５］から送信バッファ［１１］に設定していく。
【００５１】
ＬＥＤデータの設定が完了すると、外部制御回路３０は、送信バッファ［５］から送信バッファ［１１］のうちデータが設定された送信バッファの数に応じたＬＥＤデータサイズを送信バッファ［４］に設定する（Ｓ１１６）。これにより、各送信バッファのデータの設定が完了する。
【００５２】
各送信バッファへのデータの設定が完了すると、外部制御回路３０は、まず、モータデータのスタートコードを送信した後（Ｓ１１８）、各送信バッファに設定されたデータを送信バッファ［０］から順に送信バッファ［２７］まで順次送信する（Ｓ１２０）。これにより、外部制御回路３０は、図４に示すような１つの制御信号２００を動作制御回路１３０に送信することができる。
【００５３】
図８は、動作制御回路１３０が制御信号を受信した場合の処理手順の一例を示すフローチャートである。
【００５４】
動作制御回路１３０は、制御信号を受信すると、受信した制御信号の受信データサイズをメモリに設定し（Ｓ２００）、受信した制御信号を先頭から１バイトずつ確認すべく、カウンタを０に設定する（Ｓ２０２）。なお、カウンタは、動作制御回路１３０が、受信した制御信号のうち先頭から何バイトまでのデータを確認したかを示す指標である。
【００５５】
次いで、動作制御回路１３０は、カウンタが受信データサイズにより小さいか否かを判定する（Ｓ２０４）。カウンタが受信データサイズにより小さい場合、つまり、受信した制御信号の中身をすべて確認していない場合、動作制御回路１３０は、受信データ（制御信号）の中身を先頭から順番に確認していく。
【００５６】
動作制御回路１３０は、受信データにモータ１１０のスタートコード（モータ）、データ（１）、データ（２）およびエンドコードが設定されているか否かを確認する（Ｓ２０６）。受信データを先頭から１バイトずつ確認していくので、まず受信データの先頭にスタートコード（モータ）があれば、ステップＳ２０６の「Ｙ」に進む。一方、受信データの先頭にスタートコード（モータ）がなければ、つまり、最初の第１制御コマンドを正常に受信できていなければ、ステップＳ２０６の「Ｎ」に進む。
【００５７】
第１制御コマンドを正常に受信できていれば、動作制御回路１３０は、第１制御コマンド内のモータデータ（データ（１）およびデータ（２））を配列バッファに格納し（Ｓ２０８）、モータチェックデータに１を足す（Ｓ２１０）。次いで、動作制御回路１３０は、モータチェックデータが１より大きいか否かを判定する（Ｓ２１２）。つまり、動作制御回路１３０は、受信データの中に受信できた第１制御コマンドが複数あるか否かを判定する。
【００５８】
第１制御コマンドが複数あれば、動作制御回路１３０は、配列バッファに格納されたデータが２個以上あるか否かを判定する（Ｓ２１４）。つまり、動作制御回路１３０は、受信データの中に正常に受信できた同一の第１制御コマンドが複数あるか否かを判定する。同一の第１制御コマンドが複数あれば、動作制御回路１３０は、第１制御コマンドを正常に受信できたと判断して、配列バッファに格納されたモータデータを確定する（Ｓ２１６）。そして、動作制御回路１３０は、受信した第１制御コマンドに従ってモータドライバ１１６を介してモータ１１０を制御する。
【００５９】
確認済みの受信データの中に第１制御コマンドが複数ない場合、または同一の第１制御コマンドが複数ない場合、動作制御回路１３０は、カウンタに１を足して（Ｓ２１８）、ステップＳ２０４に戻る。
【００６０】
なお、先頭の第１制御コマンドを正常に受信できた場合でも、その時点では、モータチェックデータは１なので、カウンタに１が足され、ステップＳ２０４に戻る。
【００６１】
ステップＳ２０６で「Ｎ」に進んだ場合、動作制御回路１３０は、受信データにＬＥＤのスタートコードが設定されているか否かを判定する（Ｓ２２０）。ＬＥＤのスタートコードが設定されていれば、その後のデータには、ＬＥＤの制御コマンドを生成するためのＬＥＤデータが続いているので、受信データから順にＬＥＤデータを読み出してＬＥＤデータを確定する（Ｓ２２２）。なお、ＬＥＤデータについては、エラーのチェックをしないので、動作制御回路１３０は、その後のデータにエラーが含まれる場合も、受信データにＬＥＤのスタートコードが設定されていれば、ＬＥＤデータを確定する。さらに、動作制御回路１３０は、ＬＥＤデータ分だけカウンタを進める。つまり、動作制御回路１３０は、９個分だけカウンタを進め、受信データの次の部分（送信バッファ［１２］に設定された部分のデータ）を確認する。
【００６２】
ステップＳ２２０における判定の結果、ＬＥＤのスタートコードが設定されていなければ、動作制御回路１３０は、カウンタに１を足して（Ｓ２２６）、ステップＳ２０６に戻る。動作制御回路１３０は、受信データの中身をすべて確認できるまで、上記の処理を繰返する。動作制御回路１３０は、正確に受信できた同一の第１制御コマンドが複数なくて、受信データの中身をすべて確認し終わった場合には、モータデータを確定せずに、今回の周期における処理を終了する。
【００６３】
以上の通り、動作制御回路１３０は、正確に受信できた同一の第１制御コマンドが複数あれば、第１制御コマンドに従ってモータ１１０を制御する。一方、動作制御回路１３０は、第２制御コマンドのスタートコードを一つ受信できれば、第２制御コマンドの内容にエラーがあるか否かにかかわらず、そのデータをＬＥＤ１２０を制御するための制御コマンドの生成に用いてよい。
【００６４】
動作制御回路１３０は、外部制御回路３０からスリップリング１０４を介して受信した制御信号の中に同一の第１制御コマンドが複数あれば、受信した第１制御コマンドに従ってモータ１１０を制御する。これにより、接点不良が発生していても、動作制御回路１３０が、第１制御コマンドを正常に受信できる確率が向上する。また、２以上の第１制御コマンドが一致することを確認できた場合のみ、動作制御回路１３０は、受信した第１制御コマンドを利用してモータ１１０を制御する。したがって、エラーを含む第１制御コマンドが利用されることにより、回転構造体１００が正常に制御されなくなることを防止できる。
【００６５】
図９は、動作制御回路１３０がデータ信号を送信する手順の一例を示すフローチャートである。図１０は、動作制御回路１３０がデータ信号を送信する場合に用いる送信バッファに格納される内容について説明するための図である。
【００６６】
位置センサ１１４は、例えば、可動体１１２が予め定められた位置に移動したことを検知したことに対応して検知信号をモータドライバ１１６に出力する。モータドライバ１１６は、検知信号に応じた位置データを動作制御回路１３０に出力する。動作制御回路１３０は、モータドライバ１１６から位置データを受信すると、センサデータとしてその位置データを読み出す（Ｓ３００）。
【００６７】
次いで、動作制御回路１３０は、送信バッファ［０］および送信バッファ［１］に読み出したセンサデータと、位置センサ１１４のエンドコード（センサ）を設定する（Ｓ３０２）。さらに、動作制御回路１３０は、送信バッファ［２］から送信バッファ「１３」に位置センサ１１４のスタートコード（センサ）、センサデータ、および位置センサ１１４のエンドコードを設定する。つまり、動作制御回路１３０は、送信バッファ［２］から送信バッファ「１３」に同一の位置データを設定する。
【００６８】
各送信バッファへの設定が完了した後、動作制御回路１３０は、外部制御回路３０から制御信号を受信していない期間に、位置センサ１１４のスタートコード（センサ）を送信した後（Ｓ３０６）、各送信バッファに設定されたデータを送信バッファ［０］から順に送信バッファ［１３］まで順次送信する（Ｓ３０８）。これにより、動作制御回路１３０は、図５に示すような同一の位置データ３１０を含むデータ信号３００を動作制御回路１３０に送信することができる。
【００６９】
図１１は、外部制御回路３０がデータ信号を受信した場合の処理手順の一例を示すフローチャートである。
【００７０】
外部制御回路３０は、データ信号を動作制御回路１３０からスリップリング１０４を介して受信した場合、センサチェックデータを０にクリアする（Ｓ４００）。外部制御回路３０は、受信したデータ信号のサイズを示す受信データサイズをサイズ変数に設定する（Ｓ４０２）。
【００７１】
次いで、外部制御回路３０は、受信データサイズが５（バイト）以下か否かを判定する（Ｓ４０４）。つまり、外部制御回路３０は、受信したデータ信号の中に少なくとも２つの位置データを含むサイズのデータを受信したか否かを判定する。受信データサイズが５以下であれば、受信したデータには、少なくとも２つの位置データは含まれないので、処理を終了する。なお、位置データのデータサイズは、位置センサの数によって変わる。したがって、判定に用いられる受信データサイズは、「５」バイトとは限らず、位置データのデータサイズによって適宜変更される。
【００７２】
受信データサイズが５より大きければ、外部制御回路３０は、受信したデータ信号を先頭から１バイトずつ確認すべく、カウンタを０に設定し（Ｓ４０６）、カウンタの値が受信データサイズより小さいか否かを判定する（Ｓ４０８）。なお、カウンタは、外部制御回路３０が、受信したデータ信号のうち先頭から何バイトまでのデータを確認したかを示す指標である。
【００７３】
カウンタの値が受信データサイズより小さい場合には、受信したデータ信号のすべての中身を確認できていないので、外部制御回路３０は、受信したデータ信号にスタートコードおよびエンドコードが設定されているか否かを判定する（Ｓ４１０）。外部制御回路３０は、受信したデータ信号を先頭から１バイトずつ確認していき、１バイトのスタートコードを検出した後、さらにセンサデータに相当する１バイトを検出し、さらに１バイトのエンドコードを検出した場合には、外部制御回路３０は、受信したデータ信号にスタートコードおよびエンドコードが設定されていると判定する。よって、外部制御回路３０は、１バイトのスタートコードを検出した時点およびセンサデータに相当する１バイトを検出した時点では、１バイトのエンドコードをまだ検出していないので、外部制御回路３０は、ステップＳ４１０において「Ｎ」に進み、カウンタにそれぞれ１を足した後に、ステップＳ４０８の処理を繰り返す。
【００７４】
スタートコードおよびエンドコードが設定されている場合、外部制御回路３０は、スタートコードとエンドコードとの間のセンサデータを配列バッファに格納し（Ｓ４１２）、センサチェックデータに１を足す（Ｓ４１４）。次いで、外部制御回路３０は、センサチェックデータが１より大きいか否かを判定する。つまり、外部制御回路３０は、配列バッファに、２以上のセンサデータが配列バッファに格納されているか否かを判定する。
【００７５】
２以上のセンサデータが配列バッファに格納されていなければ、外部制御回路３０は、カウンタに１を足して（Ｓ４２２）、ステップＳ４０８以降の処理を繰り返す。２以上のセンサデータが配列バッファに格納されていれば、外部制御回路３０は、配列バッファに格納された２つ以上のセンサデータが一致するか否かを判定する（Ｓ４１８）。２つ以上のセンサデータが一致すれば、外部制御回路３０は、正常のセンサデータを受信できたと判断して、配列バッファに格納されたセンサデータを、位置センサ１１４から提供された可動体１１２の位置を示す位置データとして、確定する（４２０）。外部制御回路３０は、確定されたセンサデータを主制御部２０に提供する。外部制御回路３０は、主制御部２０からセンサデータに応じた制御信号の送信の指示を受けて、制御信号を生成し、スリップリング１０４を介して動作制御回路１３０に制御信号を送信する。
【００７６】
以上の通り、外部制御回路３０は、受信したデータ信号から同一の位置データを複数検出できた場合には、位置データを正常に受信できたと判断する。そして、外部制御回路３０は、受信した位置データに従った同一の新たな第１制御コマンドを複数含む新たな制御信号を生成し、新たな制御信号を動作制御回路１３０にスリップリング１０４を介して送信する。
【００７７】
ブラシ５０とスリップリング１０４との接点不良により外部制御回路３０がデータ信号の一部を正しく受信できなかった場合でも、データ信号に含まれる同一の複数の位置データのうち、少なくとも２つの位置データを受信できていれば、正常に位置データを受信できたと判断する。データ信号には複数の同一の位置データが含まれるので、外部制御回路３０が位置データを正常に受信できる確率が向上する。また、２以上の位置データが一致することを確認できた場合のみ、外部制御回路３０は、受信した位置データを利用する。したがって、エラーを含む位置データが利用されることにより、回転構造体１００が正常に制御されなくなることを防止できる。
【００７８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７９】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８０】
１０  遊技機
２０  主制御部
３０  外部制御回路
４０  モータ
４２  モータドライバ
５０  ブラシ
１００  回転構造体
１０２  回転体
１０４  スリップリング
１１０  モータ
１１２  可動体
１１４  位置センサ
１１６  モータドライバ
１２０  ＬＥＤ
１２２  ＬＥＤドライバ
１３０  動作制御回路
２００  制御信号
３００  データ信号
【図１】
2015039528.tif 000003
【図２】
2015039528.tif 000004
【図３】
2015039528.tif 000005
【図４】
2015039528.tif 000006
【図５】
2015039528.tif 000007
【図６】
2015039528.tif 000008
【図７】
2015039528.tif 000009
【図８】
2015039528.tif 000010
【図９】
2015039528.tif 000011
【図１０】
2015039528.tif 000012
【図１１】
2015039528.tif 000013