見出し画像

Rosso Laboratory

Pythonで単線閉塞両方向運転を構築する(前編)

池田邦彦氏著「Nゲージレイアウトプラン集50」のプラン41の続きで、単線閉塞両方向運転を再現するにあたり今回は自動センサーではなくPythonスクリプトでやってみようと思いスクリプトを書いてみました。理由は自動センサーを大量に使うと見た目が悪いというのとPythonでどの程度楽に作れるかを検証するためです。

作る区間は[山側]-[交換駅]-[海側]-[信号所]-[山側]の4区間で、交換駅は必ず止まり信号所は前方に列車がいなければ通過するという動作にします。またポイント(分岐器)は交換駅と信号所の前後に1つずつの計4つあるので通過させるためのセンサーは8個必要になりますが、その8個のセンサーにスクリプトを仕込むだけで閉塞を実行させることにします。

で、ざっと1時間ぐらいでスクリプトを書き上げ実行させたところ・・・全く機能せず見事に列車は正面衝突しました(^_^;) 理由はSetStatusDataIntやGetStatusDataIntの前に「obj.」を付けていなかったという初歩的な構文ミスでした。なので付けて実行させたところ、今度は、片や止まるべきところで列車が止まらず、片や止まってはいけないところで列車が止まるという全く予想しなかった状況になってしまいました(^_^;) ここからが試行錯誤の始まりです。で分かったことを書きますと、

①共通ステータスのコマンドには偽物がある(^_^;)
②自動センサーの向きは自動ではない(^_^;)
③同じ関数内でも違うイベント間ではローカル変数は使えない(^_^;)

の3点が挙げられます。次回この3点について詳しく書いていきたいと思います。
PVアクセスランキング にほんブログ村


ランキングに参加中。クリックして応援お願いします!

名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

※ブログ作成者から承認されるまでコメントは反映されません。

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最新の画像もっと見る

最近の「Pythonスクリプト」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事