SSブログ

エンドレス2列車交換運転モード [自動運転]

 すっぺ様が面白い自動運転をされています。人によってレイアウトって色々あるのだなあと思いました。
 ところで、自動運転は「はまる」とうまく動かないまま、一日が過ぎていきます。そして、週末が終わってしまいました・・・。
 今回は、「エンドレス2列車交換運転モード」です。Tomixのは、Joshinで紹介されています。DesktopStationでいうと、こちらです。
 で、何にはまっていたかというと、今回は、列車を正確に止めるため、センサを二つ使用しました。一つ目のセンサ(ホームに入るあたり)で減速を開始し、二つ目のセンサ(ホームの先端)で停止です。ホームは付けていませんが、以下の写真で左が減速用センサ、右が停止用センサです。2列車分あります。一番手前のレールは関係ありません。
re_DSC00560.jpg
 最初の6時間ぐらいで格闘してダメだった方法は、
・左の減速用センサは、入線で減速させて、フラグを立ててループさせて、出発したら終了する。
・右の停止用センサは、入線で停止させ、数秒待った後に出発して、数秒後にフラグを下げる。(すると、左の減速用センサも終了する)
 このかなりややこしい方法は、一列車では普通に動きました。しかし、2列車の交換運転しようとしたら破たんしました。イベントが4つあり、それをフラグで管理するので、どうもうまくいきません。そして、どこが悪いのかがわかりません。2つの列車が追突、横転すること数回、(というか6時間)、あきらめました。頭のなかでわからんことは、大体やってみてもダメということですね。
 DesktopStationソフトをよく見ると、JumpS88って命令があるじゃないですか!ということで、これを使用して、一列車当たりイベント一つにしました。こうすれば、DesktopStationの例題ほぼそのままになります。
やり方もほぼ一緒で、
<列車1>
・左の減速センサ2への入線で、減速開始、減速終了後にS88Jump命令で右のセンサ1に入ったかどうかをループで監視して、入ったら停止、ポイントを切り替えて、数秒後に列車2を出発させて、終了。
<列車2>
・左の減速センサ4への入線で、減速開始、減速終了後にS88Jump命令で右のセンサ3に入ったかどうかをループで監視して、入ったら停止、ポイントを切り替えて、数秒後に列車1を出発させて、終了。
 と、最初からなんでそうしないの?と答えを知っている人は言いそうですが、答えを知らない人は失敗しないと気づきません。
 レイアウトですが、ポイントはアクセサリーのアドレス1だけ使用して、2つのポイントが連動しています。出発側と入線側は逆方向のポイントにして両側の線に通電するようにしています。(フィーダーをつなぐのが面倒だったので)。
 列車1は東海道線(DCCアドレス:8)で、減速(センサ2)、停止(センサ1)です。
 列車2は横須賀線(DCCアドレス:9)で、減速(センサ4)、停止(センサ3)です。
<センサ2のイベントスクリプト>
DESKTOPSTATION,SCRIPT,2013
SPEED,49160,50,24
LABEL,WAIT,,0
WAIT,1,,0
JUMPS88,WAIT,0,0
SPEED,49160,0,0
ACCESSORY,1,0,0
WAIT,30,,0
SPEED,49161,650,1
WAIT,100,,0
ACCESSORY,1,1,0
EXIT,,,0

<センサ4のイベントスクリプト>
DESKTOPSTATION,SCRIPT,2013
SPEED,49161,50,24
LABEL,WAIT,,0
WAIT,1,,0
JUMPS88,WAIT,2,0
SPEED,49161,0,0
ACCESSORY,1,1,0
WAIT,30,,0
SPEED,49160,450,1
WAIT,100,,0
ACCESSORY,1,0,0
EXIT,,,0

です。
 注意点が二つあります。
(1)S88の監視ループ部分ですが、
-------------
LABEL,WAIT,,0
WAIT,1,,0
JUMPS88,WAIT,2,0
-------------
WAIT(0.1秒)を入れないとDesktopStationが無限ループに入り戻ってきません。セーブしていないと、スクリプトも水の泡になりますので、お気を付けください。
(2)Speed命令ですが、スクリプトに直アドレスを書いたときに遷移時間を0にすると、DSMainR5に送られる命令がSpeedStepが14Stepの命令のようで、その後に128stepの命令を送るとVVVFスケッチのスマイルデコーダは変な動き(スピードが0リセットされる)になりますので、遷移時間を0以外にしてください。(他のデコーダはやっていないのでわかりません)

 苦労しましたが、出来上がったものをの動画を撮ると、普通に「エンドレス2列車交換運転モード」です。唯一、電車が同じところにピタリと止まりますが、低速走行で停止位置まで進むダメ運転士な感じです。

 これをやりながら、DSMainR5でも書き込めるVVVFスケッチを作りました。近日中にアップロードします。あと、BlogまとめのS88のページに紹介していただいている方のBlogへのリンクを張ってしまいました。
 もう一つ、センサ(フォトディテクター)に当たり外れがあることが分かってきました。もう少しわかってきましたらご紹介します。
コメント(4)  トラックバック(0) 

コメント 4

やあさん

デンマークのOleさん(DSmainR4ユーザー)が、同じようなことをYoutubeに上げているのを思い出しました。
https://www.youtube.com/watch?v=HFJhxLSLPts

JumpS88命令は、実はOleさんの要望で追加したので、今回の実装は正解ということなのだと思われます・・・。
by やあさん (2016-04-11 07:55) 

すっぺ

いつも貴重な情報、頒布品ありがとうございます。動画見つかってしまいましたね。今回はポイント操作はnucky様の物を使いました。フジガヤ様の頒布品は組み立てしましたが最後の裏のパスコンを買い忘れ未完成になっています。パスコンの為に送料を掛けたくなくケチっています。
昨日も自動運転のスクリプトと戦っていました。交換駅ぽいレイアウトは機回しを行うためにテストしています。それが成功したらご報告するつもりでした。

昨日は調整中に寝落ちしてしまいDD51が一人で行ったり来たりしてたはずです。朝は停止していましたがモーターが焼けてないか心配です。戻ったら確認しまうけど。

また、動画が取れたらアップします。
在線検知完璧です。ありがとうございました。
by すっぺ (2016-04-11 20:57) 

ひろせ

こんにちは
部活の生徒に、センサの工作からさせています。1列車でのエンドレス、ポイント自動切り替えによる駅入線まではうまく動いているようです。ここのスクリプトは生徒には教えていません。ヒントは与えますがww 学期初めでなかなか顔を出せませんが、少し手が空いたら生徒と一緒にうごしてみようと思います
by ひろせ (2016-04-11 22:09) 

fujigaya2

コメントありがとうございます。

Yaasan様
この動画はS88だったんですね。確かにピタリと止まっていますね。(昔見た記憶がありますが、外国の人も新幹線好きなんだぐらいで流してしまっていました)

スッペ様
動画見つけてしまいました。成功しましたらご紹介ください。楽しみにしております。

ひろせ様
部活でできるなんて、生徒さんがうらやましいです。参考にしていただければと思います。
by fujigaya2 (2016-04-11 23:51) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。