![]() |
![]() |
|
じゃんけんマシーン |
応用工作 じゃんけんマシーン その2 |
TOP → 応用実習室 → じゃんけんマシーン(1) → じゃんけんマシーン(2) → じゃんけんマシーン(3)
回路要件決定までの経緯 |
最初は2人が向かってお互いの「ぐぅ」・「ちょき」・「ぱぁ」を押した時に判定して勝敗を表示する予定でした。 挑戦者Aの「ぐぅ」・「ちょき」・「ぱぁ」のスイッチ(入力3点) 挑戦者Bの「ぐぅ」・「ちょき」・「ぱぁ」のスイッチ(入力3点) 結果表示「Aの勝ち」・「Bの勝ち」・「あいこ」の表示等(出力3点) ざっと考えれば、これにリセット(入力1点)計10点の入出力でまかなえるはずでした。 しかし、押したボタンを離すと情報が消えてしまうので、何を押したのか表示で残す事を考えると、 あと6点の出力が必要になってしまい、これでは16F84ではまかなえなくなってしまいます。 ・・・・・ ということで、前置きが長くなりましたが、思考ルーチンをつくって、機械対人間で対戦することになりました。 |
思考ルーチンをどうするか |
普通に考えれば、シーケンス回路で用意できるのは接点とコイル。せいぜい組めるのが自己保持回路程度。 ランダムな結果をどうやったら設計できるか。思考テーブルを用意して順に読み出すとか。 でも、欲を出せば「ぐぅ」を出す確立が高い・「時々同じ手を繰り返す」など、癖もあったら楽しい・・・ 実は、回路要件を決定した時すでに秘策がありました。 自動制御回路というのは、安定稼働第一ですから、勝手に結果を作られたんじゃ大変です。 でも、その気になればそういう回路も作れます。結局組み方次第です。 |
ここがミソの思考ルーチン |
![]() |
まず上の回路をご覧ください。 前にも解説しましたが、PLCはシーケンス回路を「プログラム」として頭から順にグルグルと早いスピードで実行しているだけなんです。 ですから、普通はそれを念頭に「流れ」を重視した回路構成を組みます。 しかし、その流れを利用し時系列で考えれば、変な回路が組めます。 |
では、流れを追って考えてみましょう |
![]() |
シーケンス1順目の1行目 電源を入れた直後(リセット直後)は、M02・M03・M04がOFFの状態です。ですから接点M02・M03・M04を(すべてB接点なので)通ってM02のコイルはONになります。 |
シーケンス1順目の2行目 M02のコイルがONになったので、ここの行は条件が揃わず、M03はOFFのままです。 |
|
シーケンス1順目の3行目 ここも、M02のコイルがONなので、同じく条件が揃わず、M04はOFFのままです。 |
|
まとめ(M02=ON:ぐぅ) シーケンス1順目は、M02(OFF→ON)・M03(OFF)・M04(OFF)で、確定しました。 |
![]() |
シーケンス2順目の1行目 1順目の時にM02のコイルがONになっていますので、自己の接点の条件により条件が揃わず、M02はOFFになります。 |
シーケンス2順目の2行目 M02のコイルがOFFになったので、接点M02・M03・M04を(すべてB接点なので)通ってM03のコイルはONになります |
|
シーケンス2順目の3行目 M03のコイルがONになったので、ここの行は条件が揃わず、M04はOFFのままです。 |
|
まとめ(M03=ON:ちょき) シーケンス2順目は、M02(ON→OFF)・M03(OFF→ON)・M04(OFF)で、確定しました。 |
![]() |
シーケンス3順目の1行目 2順目の時にM03のコイルがONになっていますので、M02はOFFのままです |
シーケンス3順目の2行目 2順目の時にM03のコイルがONになっていますので、自己の接点の条件により条件が揃わず、 M03はOFFになります。 |
|
シーケンス3順目の3行目 M01のコイルがOFFになったので、接点M02・M03・M04を(すべてB接点なので)通ってM04のコイルはONになります |
|
まとめ(M04=ON:ぱぁ) シーケンス3順目は、M02(OFF)・M03(ON→OFF)・M04(OFF→ON)で、確定しました。 |
![]() |
シーケンス4順目の1行目 3順目の時にM04のコイルがONになっていますので、M02はOFFのままです |
シーケンス4順目の2行目 3順目の時にM04のコイルがONになっていますので、M03もOFFのままです |
|
シーケンス4順目の3行目 2順目の時にM04のコイルがONになっていますので、自己の接点の条件により条件が揃わず、M04はOFFになります。 |
|
まとめ シーケンス4順目は、M02(OFF)・M03(OFF)・M04(ON→OFF)で、確定しました。 |
どうでしょう。わかりましたか? |
![]() |
![]() |
![]() |
回路と動作要件 | 組立について |