Rosso Laboratory

VRM4CV標準化スクリプト構想

いやぁ~なんか久しぶりにVRM4CVカテゴリーの記事です。しかし、中身はスクリプトの話ですけどね(笑)。

と言っても難しい話じゃありません。いよいよ今まで試作してきたスクリプトをまとめ上げるべく、「VRM4CV標準化スクリプト構想」に着手したというだけのお話しです。

VRM4CVでスクリプトを使うためには、コピー&ペーストで部品名の重複が発生してもトラブルが起きない必要があり、これが最大の課題です。つまり、「固有部品名でのオブジェクト参照は使用できない」という大きな足枷があります。そこで使用する考え方は「動的オブジェクト参照」&「SearchPointによる部品名のユニークさが必要ないオブジェクト参照方法」というもので、私はこの方式の事を「行き当たりばったり方式」と呼んでいますが、正にそんな感じです。

センサーを踏んだらポイントを見つけて参照値を取得して動作、次のセンサーを踏んだらまたポイントを見つけて参照値を取得して動作・・・それの繰り返し。しかし、単純な動作も組み合わせれば複雑な動作に出来ます。その代わり、



こんな感じでセンサーだらけにはなってしまいますが(笑)。

ちなみに、
・黄色は速度設定センサー
・オレンジは入場指令センサーや出場指令センサー
・ピンクはポイント通知センサー
・赤はASCセンサー(一般型)とASCセンサー(単機専用型)
です。

こいつの利点は、部品名で参照していないのでコピー&ペーストで幾つ増やしても問題がないということ。ということは、厄介なスクリプトをあまり気にせずに部品レベルのコピペだけでも結構な自動運転が出来る訳です。

なお「VRM4CV」という冠が付いていますが、別にこれはVRM4CV専用という訳ではありません。この規格(変数名)で統一すれば、どんなレイアウトでも使用可能です。ghost氏が「gws」という接頭語を付けていたのと同じようなものです。まぁ、VRM4CV用として今のところ複線しか考えてはいませんが。

また「標準化」というかなり強気な言葉を使っていますが、これは単なる気分です。単なる1規格と考えてもらって結構です。

スクリプト初級者に向けて判りやすいように説明するのも1つの方法であり、スクリプト初級者がスクリプトを気にせずに使えるようにするのも1つの方法です。私はただ後者の道を選んだだけに過ぎません。それだけのことです。

---*---*---*---

さて、現在のところ、VRM4CV標準化スクリプト群β版は、

<一応完成>
VRM4CV標準化ASCセンサー(一般型)用スクリプト
VRM4CV標準化ASCセンサー(単機専用型)用スクリプト
VRM4CV標準化ASCセンサー(棒線駅型)用スクリプト
VRM4CV標準化ASCセンサー(待避駅型)用スクリプト
VRM4CV標準化待避駅出場報告センサー用スクリプト
VRM4CV標準化自動合流ポイント用センサー(直進方向)用スクリプト
VRM4CV標準化自動合流ポイント用センサー(分岐方向)用スクリプト
VRM4CV標準化自動合流ポイント用スクリプト
VRM4CV標準化ターミナル駅入場指令センサー用スクリプト
VRM4CV標準化ターミナル駅出場指令センサー用スクリプト
VRM4CV標準化ターミナル駅ポイント通知センサー用スクリプト
VRM4CV標準化ターミナル駅第X列ポイント用スクリプト
VRM4CV標準化支線分岐指令センサー用スクリプト
VRM4CV標準化支線分岐第X列ポイント用スクリプト
VRM4CV標準化速度設定センサー用スクリプト
VRM4CV標準化編成長測定センサー用スクリプト(テスト未実施)
(編成長測定センサーは加減速中でも対応できるように改造予定)

<機能追加中>
VRM4CV標準化編成(機関車牽引列車)用スクリプト

<作成中>
VRM4CV標準化編成車両用スクリプト

<これから作成予定>
VRM4CV標準化編成(通常列車)用スクリプト

<必要かどうか不明>
VRM4CV標準化ASCセンサー(方向判断型)用スクリプト
VRM4CV標準化ASCセンサー(列車種別判断型)用スクリプト

<作ったけど必要かどうか不明>
VRM4CV標準化自動合流トグル分岐ポイントセンサー用スクリプト
VRM4CV標準化自動合流トグル分岐ポイント(タイプ1)用スクリプト
VRM4CV標準化自動合流トグル分岐ポイント(タイプ2)用スクリプト


という状況で、これらの各部品用スクリプトを追加する度に編成用スクリプトに機能を追加していっている状況です。現段階では編成用スクリプトで設定する項目は、

列車種別(1:貨物、2:普通、3:快速、4:急行、5:特急)
支線分岐指示(00、01、10、11の4パターン)
ターミナル駅1入線ホーム
ターミナル駅2入線ホーム
待避駅01動作(0:駅側指定、1:通過線通過、2:通過線停車後再発車、3:待避線待機)
待避駅02動作(0:駅側指定、1:通過線通過、2:通過線停車後再発車、3:待避線待機)
待避駅03動作(0:駅側指定、1:通過線通過、2:通過線停車後再発車、3:待避線待機)
(待避駅の設定は結局、駅側でも編成側でも設定出来るようにしました)
加速度設定(単位:km/h/s)
減速度設定(単位:km/h/s)
ユーザー加減速設定
編成内車両数
編成長さ(自動取得が難しい場合に指定)
発車キー割り当て


となっていますが、今後増えたり、減ったりすることでしょう。

さて、これによって何が出来るようになるかというと、

<対応済み>
始発&終着駅・棒線駅・待避駅・連結&解放(機回し)・支線分岐・ポイント自動合流
ASCセンサー動作・速度指示・車両性能別加速度・編成長測定

<対応予定>
貨物積降し等


が組み合わせによって比較的簡単に実現出来ます。又は出来る予定です。・・・多分そのハズです(笑)。

但し、何処に何を配置すれば、やりたい事が出来るのかということは多分少し頭を使わねばならないでしょうね。特に肝となりそうなASCセンサー群は色々な動作指示が出来る代わりに、使い方を把握して、何処にどのタイプのASCセンサーをおかないといけないかというロジックを細かく分解して検討した上で配置しなくてはならないので慣れは必要でしょう。パズルのピースみたいなモノですから。


<このレイアウト上で色々とテスト中。20系客車が後ろにいるのは機回ししたため>

---*---*---*---

将来的には、区間閉塞も再現したいと思っていますし、ghost氏の引退でポータブル編成の開発も終了しているので、方向幕切替の機能も標準化編成に組み込みたいと思っています。が、ポータブル編成が車両ギミック中心なのに対し、こちらは編成動作が中心になる感じでしょう。

また、VRM5第2号に向けて、どうもセンサーに機能追加があるらしく、その内容次第では、踏切・信号機・音源・スイッチバック・単線(交換駅は部品名で名前解決しないと難しいので)にも対応するため、VRM4からVRM5に作業環境を変えようかなぁと思っているところです。内容次第ではVRM5を購入し、VRM4CVをVRM5CVにするかもしれません。さて、どうなるんでしょうか。今私が一番注目している点がコレです。

---*---*---*---

それでは最後に現状のスクリプトで出来る終着駅の機回しをば。この前の終着駅を複線に対応させて出入りしやすいようにし、機回し用の線路も準備しました。


<1番線にブルートレイン入線>


<「2」キーを押して機回ししているEF81の隣の2番線から特急出発>


<連結している間に「6」キーを押して6番線の113系出発>


<準備が出来たので「1」キーを押してブルートレイン出発>

こんな感じですね。ASCセンサー内のパラメータ調整は必要ですが、動作と距離ぐらいですから、この程度の機回しならばさして難しいものではありません。編成スクリプト内に必要な機能が準備されていますから。

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

名前:
コメント:

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

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

 

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

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

最新の画像もっと見る

最近の「VRM4CV」カテゴリーもっと見る

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