2021-03-17

ROUTE03:単線駅入れ違い発車、2列車

前回作成のROUTE02の応用発展形(単線駅、入れ違い発車)

いざ、作ってみたら、、、条件が必要ない事がわかった。
また、分岐器の切り替えも必要なかった。
ROUTE02より簡単だった。

*状況
(DL:ディーゼル貨物列車 、 SL:蒸気機関車客車列車 と略す)
単線の駅
DLが待避線に停車中
[繰り返し始まり] 
SLが時計回りに本線に入線し停車
待避線上のDLが反時計回りに発車
一周して、
DLが追いつき時計回りに待避線に入線し停車
本線上のSLが時計回りに発車 
[繰り返し終わり]

<図解>

列車検知:
11番(待避線西)、7番(待避線東)、16番(駅東手前)
2番号(本線上西)、6番(本線東)
今回、16番列車検知は使いません、使わなくても済みました。
分岐器:
20番(駅東手前)、11番(駅西手前)
20番は直進、11番は左にしたままで切り替え操作無し。

*プログラムを考える
追突防止のため、本線上を走るのは1列車だけにする。
したがって、どちらかの列車が常に駅に停車している。
待避線はDL、本線はSLと入線を固定。
routeの名前は内容が分かる表現にする。
初期値
20番分岐器は直進、11番分岐器は左
7番列車検知はOn状態(DLが待避線に停車中)
SLが時計回りで駅に向かって走って来る。
SLやDLのエンジン音やヘッドライトはお好みで。 
 
*実際のroute
既にその名前は使われているとの警告がでたので、名前を少々変更した。 
速度は、0が停止、1が徐行、1が中速、3が高速。  

*実際のroute
[S.6:S2h] 
SLが来て、6番がOff→Onしたら、SLの速度を中速にし、ホーンを鳴らす。
画面右側に、route S.6:S2hの中のunitが表示されている。
予め作っておいた、機関車ごと動作ごとのrouteを入れ子にして用いている。
詳しくは one-unit routeの説明参照。
1番目のunit:S.Sp:M SLのSpeedをMiddle(中速)にし1.5秒待て、
2番目のunit:S.Ho:10 SLのHornを鳴らし10秒待て
画面下に、routeの名前、起動条件が記されている。
Name 名前 S.6:S2h
Bus0:Contact:6 列車検知 CS2のBus0のデバイス(LinkS88)の6番
Tr. トリガー 機関車が向かってくる絵 列車検知が Off→Onに変化したら

[D.11:D2h]
DLが来て、11番がOff→Onしたら、DLの速度を中速にし、ホーンを鳴らす。
画面右側に、route D.11:D2hの中のunitが表示されている。
予め作っておいた、機関車ごと動作ごとのrouteを入れ子にして用いている。
詳しくは one-unit routeの説明参照。
1番目のunit:D.Sp:M DLのSpeedをMiddle(中速)にし1.5秒待て
2番目のunit:D.Ho:10 DLのHornを鳴らし10秒待て
画面下に、routeの名前、起動条件が記されている。
Name 名前 D.11:D2h
Bus0:Contact:11 列車検知 CS2のBus0のデバイス(LinkS88)の11番
Tr. トリガー 機関車が向かってくる絵 列車検知が Off→Onに変化したら

[S.2:S0D3]
SLが来て、2番がOff→Onしたら、SLを停車、DLを発車
画面右側に、route S.2:S0D3の中のunitが表示されている。
予め作っておいた、機関車ごと動作ごとのrouteを入れ子にして用いている。
詳しくは one-unit routeの説明参照。
1番目のunit:S.Sp:0 SLのSpeedを0(停止)にし10秒待て、という内容の route.
2番目のunit:D.Sp:H DLのSpeedをHigh(高速)にし10秒待て、という内容 のroute
画面下に、routeの名前、起動条件が記されている。
Name 名前 S.2:S0D3
Bus0:Contact:2 列車検知 CS2のBus0のデバイス(LinkS88)の2番
Tr. トリガー 機関車が向かってくる絵 列車検知が Off→Onに変化したら

[D.7:D0S3]
DLが来て、7番がOff→Onしたら、DLを停車、DLを発車
画面右側に、route D.7:D0S3の中のunitが表示されている。
予め作っておいた、機関車ごと動作ごとのrouteを入れ子にして用いている。
詳しくは one-unit routeの説明参照。
1番目のunit:D.Sp:0 DLのSpeedを0(停止)にし10秒待て、という内容の route.
2番目のunit:S.Sp:H SLのSpeedをHigh(高速)にし10秒待て、という内容 のroute
画面下に、routeの名前、起動条件が記されている。
Name 名前 D.7:D0S3
Bus0:Contact:7 列車検知 CS2のBus0のデバイス(LinkS88)の7番
Tr. トリガー 機関車が向かってくる絵 列車検知が Off→Onに変化したら

*実走
1. 初期状態の確認
11番分岐器は左、20番分岐器は左。
7番列車検知はOn状態(DLが反時計回り向きで停車)。

2. 手動モードから自動モードに切り替える。
作成した4つのrouteの右端にある[手]のボタンをタッチして[手と機関車]にする。
これで、この列のrouteはそれぞれの条件に応じてトリガーされ起動する。


3. 時計回りでSLを適当な速さで走らせ、駅に向かわせる。
後は、入れ違い発車を無限に繰り返す。


*今後
routeの名前
短い名前で内容をわかりやすく表現するのは難しい。

Delaytime調整
初期状態では1.0秒だったのだが何度か色々してみて、5秒から20秒程度に増やした。その都度調整するのは大変なので良い加減の初期値をみつけたい。

0 件のコメント:

コメントを投稿