はじめに
PLCといれば、工場の機械や装置を自動で動かすための制御機器ですが、
今回はちょっと変わったことに挑戦してみました。
それは「PLCでオセロゲームを作ってみよう!」というチャレンジです。
なぜPLCでオセロゲームを?
きっかけはシンプルで、
「PLCってどこまで遊べるんだろう?」という好奇心からでした。
普段は制御盤の中でもくもくと働くPLCに、ちょっとゲーム的な機能を持たせてみたら…?
そんな思いつきがきっかけです。
使用した機材・開発環境
以下にまとめます。
〇開発ソフト
・GX Works3(ラダーの制作に使用)
・Soft GOT2000(タッチパネル画面の制作に使用)
どちらも三菱電機の体験版(無料)を利用しました。
以下の公式サイトからダウンロード可能です。
もし開けない場合は、三菱電機公式サイトのダウンロードからアクセスしてください。
👉 [GX Works3 体験版ダウンロードページ(三菱電機公式)]
【三菱電機公式サイト】GX Works3 体験版
👉 [SoftGOT2000 体験版ダウンロードページ(三菱電機公式)]
【三菱電機公式サイト】SoftGOT2000 体験版
※三菱電機株式会社の登録商標です。本記事は紹介目的でリンクを掲載してます。
まずはルール整理からスタート
ゲームを作る前に、まずは「オセロのルール」を整理しました。
・オセロ盤は8×8マス
・プレイヤーは交互に石を置く
・相手の石を挟んだらひっくり返す
・石を置ける場所がなければパス
・最終的に石の数で勝敗を決める
この中でも最もややこしいのが、「石をひっくり返す処理」と「合法手の判定」ですね。
一般的なプログラミング言語なら配列や巻子で整理できますが、PLCではラダーで組むため、考え方を少し変える必要がありました。
※ST言語等を使用したらもう少し楽できるかもしれませんが、今回はラダーで作成します!
盤面のデバイス振り分け
8×8マスの盤面をPLCで管理する場合、素直に考えれば64ワード(ZR0〜ZR63など)で足ります。
ただ、今回はあえて100ワード(ZR0〜ZR99)で管理しました。
その理由は、次回以降で詳しく紹介する「PLC側のデータ構造や処理効率」と関係があります。
次回予告
次回は、タッチパネル(GOT)の制作についてです。
PLCでこんなことができるんだ!と感じてもらえるような内容をお届けしていきますので、
どうぞお楽しみに!