BVEの保安装置設置講座

目次(クリックするとそのリンクまで飛びます)

ATS

 1.ATS-P型

  1.1.東日本型ATS-P

  ・汎用ATSプラグイン

  ・snp2プラグイン

  ・snpプラグイン

  1.2西日本型ATS-P

 2.ATS-Sx型

  2.1.ATS-Sn,-Ps(JR東日本)

  2.2.ATS-Sw(JR西日本)

 3.小田急のATS(D-ATS-P/OM-ATS)

ATC

 1.D-ATC

  ・設置の基本

  ・2段パターン

 2.CS-ATC

  ・うさプラ

  ・ATC-10

  ・アナログATCパック

その他プラグイン

 1.TIMS

  ・snp2プラグイン

  ・自炊TIMS

Tips

 ・includeについて

 ・distanceについて


ATS-P

1.1.東日本型のATS-P

BVE5では大きく分けて3つのATS-Pプラグインがあります(この他にもありますが設置方法が以下の3つの何れかと同一だったりする)。

・旧来のBVE時代からの汎用ATSプラグイン(統合型のATS-Pもここ)

以前公開されていたsnp2プラグイン

GeneralAtsPluginパック(GAP)のsnpプラグイン

です。

基本的に同じ機能と考えてもらっても大丈夫ですが、一部の機能で互換がなくATS-Pそのものの電源が切れるという状態になります。この互換性問題に関してはevery dayday氏が取り上げています。(こちら) こうした互換性などの点を踏まえて路線制作を行いましょう。

・汎用ATSプラグイン

多数の保安装置でこのプラグインのインデックス(割り当て)がベースにされています。汎用ATSの公開ページでも地上子の設置の仕方が記載されていますが、こちらではBVE5での設置方法を記述していきます。

type 機能 設置箇所 Section
3 パターン発生・更新 

絶対信号機:600m、280m、180m、130m、85m、50m内方(手前)

閉塞信号機:600m、180m、85m内方

-1

4 即時停止(非常)

絶対信号機:25m内方

閉塞信号機:30m内方

-1
 即時停止(常用) 不明  -1
 速度制限 速度制限手前に設置  0
10  -P→-Sn切り替え  切り替え地点  0

※絶対信号機とは場内、出発信号機等のことです

設置方法ですが僕は簡単で作業が楽なincludeとdistanceを使うことをオススメします。includeはMapファイルの呼び出しに使用することが出来て同じものを何度も設置する際に重宝します。またdistanceは距離の意で、例えばdistance-20;であれば現在の距離から20mを引いた値、$〇〇=distance;であれば現在の距離程を変数に記憶させるなんてことも出来ます。構文と交えて紹介します。

Beaconの基本形は

Beacon.put(type,section,sendData);

です。

()内の意味ですがtypeは上の表のtypeの値sectionは上の表のsectionの値sendDataは列車プラグインに送りたい数字です

構文例

・閉塞

Section.Begin(01, 2, 3, 4);

//左から1番手前の閉塞で、右に行けば行くほど外方(奥)の閉塞になります

//0は停止、1は警戒、2は注意、3は減速、4は進行です。信号の種類によって変わります

$ATS=distance;

distance=$ATS; は不可×です(訂正)

$ATS-25;

Beacon.Put(4,-1,0);

 

$ATS-50;

 Beacon.Put(3,-1,0);

 

$ATS-85;

Beacon.Put(3,-1,0);

 

$ATS-130;

 Beacon.Put(3,-1,0);

 

$ATS-180;

Beacon.Put(3,-1,0);

 

$ATS-280;

 Beacon.Put(3,-1,0);

 

$ATS-600;

Beacon.Put(3,-1,0);

のように置くと楽になります。

内方(手前)の閉塞に地上子が被る場合は、被ってしまう地上子だけ省略してください(300m間隔で閉塞があった場合、ここでは600mの地上子が被ってしまうので消す)。またマップテキストにincludeを使うことで、緑文字で示した構文を何度も打たずに予め作成したテンプレートを読み込むことが出来ます。

 

・速度制限

Beacon(6,0,300070);

//SendDataの上3桁は制限速度までの適当な距離下3桁は制限速度+10km/h程度目安に設定してください

 

・ATS-P→-Sn切り替え

Beacon(10,0,15);

 

//SendDataは切り替え地点までの距離を設定してください

 

 

 

なんか面倒くさいしよく分からんよという方向けに地上子のテンプレートを用意しておきます。コレをincludeして使うのもヨシ、見て参考にするだけでもヨシ、お好きに使いください。


・snp2プラグイン

 プラグイン自体は公開終了していますが、現在でも様々な車両で使われています。また、ATS-Pの機能の基本部分は汎用ATSプラグインと一緒ですが、首都圏を走る一般形車両に搭載されているTIMSの機能があるなど異なる点があります。

type 機能 設置箇所 Section
3 パターン発生・更新 

絶対信号機:600m、280m、180m、130m、85m、50m内方(手前)

閉塞信号機:600m、180m、85m内方

-1

4 即時停止(非常)

絶対信号機:25m内方

閉塞信号機:30m内方

-1
 即時停止(常用) 不明  -1
 速度制限 速度制限手前に設置  0

※汎用ATSではtype10がATSの切り替えですが、snp2では自動切り替えになっています

設置方法は汎用ATSとおおよそ一緒で大丈夫です。snp2ではP地上子を踏むとATS-Pが起動し、-Snの地上子を踏むとATS-Snに自動で切り替わります。


・snpプラグイン

DetailManager(複数のATSプラグインを呼び出すためのプラグイン)対応のプラグインで、他のGAP(GeneralAtsPlugin)のATSプラグインに対応しています。こちらはsnp2とは違い、複数のプラグインを組み合わせて使用したりするのが大きな特徴です。(なのでこちらにはTIMSの機能がない等)。また、他の2つのプラグインと大きく違うのは速度制限の種類が多いことです。

type 機能 設置箇所 Section
3 パターン発生・更新 

絶対信号機:600m、280m、180m、130m、85m、50m内方(手前)

閉塞信号機:600m、180m、85m内方

-1

4 即時停止(絶対信号機)

絶対信号機25m内方

-1
 即時停止(閉塞信号機) 閉塞信号機30m内方 -1
6  分岐器速度制限 速度制限手前に設置  0
8 下り勾配速度制限 同上 0
9 曲線速度制限 0
10 臨時速度制限 0
11 誘導信号機速度制限 0
16 分岐器パターン消去 制限終了後、任意の場所(編成長に合わせて) 0
18 下り勾配パターン消去 同上 0
19 曲線パターン消去 0
20 臨時パターン消去 0
21 誘導信号パターン消去 0

※速度制限の照査はすべての箇所で行われているわけではありません

※背景の色を変えたところで互換性がありません         

 

また注意事項として留意しておくべきなのは前の2つのプラグインとsnpプラグインでは速度制限で互換性がないことです。互換性のない路線と車両の組み合わせで運転するとATS-Pの電源が切れたり、いつまでも速度制限のパターンが解除されないことがあります。詳しくは先程のevery dayday氏のTipsを御覧ください。

構文例

・閉塞

Section.Begin(01, 2, 3, 4);

 

$ATS=distance;

distance=$ATS; は不可×です

$ATS-25;

Beacon.Put(4,-1,0); #絶対信号機

//Beacon.Put(5,-1,0); #閉塞信号機

 

$ATS-50;

 Beacon.Put(3,-1,0);

 

$ATS-85;

Beacon.Put(3,-1,0);

 

$ATS-130;

 Beacon.Put(3,-1,0);

 

$ATS-180;

Beacon.Put(3,-1,0);

 

$ATS-280;

 Beacon.Put(3,-1,0);

 

$ATS-600;

Beacon.Put(3,-1,0);

 

 

・速度制限

Beacon(6,0,300070); #分岐器

Beacon(8,0,300070); #下り勾配

Beacon(9,0,300070); #曲線

Beacon(10,0,300070); #臨時

Beacon(11,0,300070); #誘導

//SendDataの上3桁は制限速度までの適当な距離下3桁は制限速度+10km/h程度目安に設定してください

 

・速度制限の解除(これを忘れるといつまでもパターンが解除されません)

Beacon(16,0,0); #分岐器

Beacon(18,0,0); #下り勾配

Beacon(19,0,0); #曲線

Beacon(20,0,0); #臨時

Beacon(21,0,0); #誘導

 

//SendDataは0に設定してください

 

・誤通過防止パターン

Beacon(12,0,400);

 //SendDataは設置地点から目標までの距離を設定してください

 

・ATS機能切り替え

Beacon(25,0,0);

 

 //SendDataは以下の値から設定してください

0:ATS切換(P→S)
1:ATS切換(S→P)
2:P休止


1.2.西日本型のATS-P

BVE5では主にRock_On氏のswp2(こちらもGAP)が主流で公開されているJR西日本の車両の大半がこのプラグインです。

このプラグインが搭載されている車両の特徴は、キーで-P, -Sw, 入換の3モードが切換られることです。路線によってきちんと切換ないとATSが作動して緊急停止したりするので留意してください。 

・拠点設置

東日本型のATSとの最大の違いは、路線によっては拠点P設置であることです。これは主要駅の場内や出発信号などの重要な信号機に-Pを設置し、それ以外の閉塞などには-Swを設置する方法です。(阪和線などは全線ATS-P)

type 機能 設置箇所 Section
0 ロング地上子 信号機600m内方
1 直下地上子

信号機30m内方(適宜調整してください)

1

3 パターン発生・更新 

絶対信号機:600m、280m、180m、130m、85m、50m内方(手前)

閉塞信号機:600m、180m、85m内方

-1

4 即時停止(絶対信号機)

絶対信号機30m内方

-1
 即時停止(閉塞信号機) 閉塞信号機30m内方 -1
6  分岐器速度制限 速度制限手前に設置  0
8 下り勾配速度制限 同上 0
9 曲線速度制限 0
10 臨時速度制限 0
11 誘導信号機速度制限 0
16 分岐器パターン消去 制限終了後、任意の場所(編成長に合わせて) 0
18 下り勾配パターン消去 同上 0
19 曲線パターン消去 0
20 臨時パターン消去 0
21 誘導信号パターン消去 0

※閉塞間隔の兼ね合いで変わるので自分の路線に合わせて調整してください

構文例

・閉塞

Section.Begin(01, 2, 3, 4);

 

$ATS=distance;

distance=$ATS; は不可×です

$ATS-30;

Beacon.Put(4,1,0); #絶対信号機

//Beacon.Put(5,1,0); #閉塞信号機

 Beacon.Put(3,1,1);

 Beacon.Put(3,2,2);

 Beacon.Put(3,3,3);

 Beacon.Put(3,4,4);

 

 Beacon.Put(3,5,9);

 

$ATS-50;

 Beacon.Put(3,1,1);

 Beacon.Put(3,2,2);

 Beacon.Put(3,3,3);

 Beacon.Put(3,4,4);

 Beacon.Put(3,5,9);

 

$ATS-85;

 Beacon.Put(3,1,1);

 Beacon.Put(3,2,2);

 Beacon.Put(3,3,3);

 Beacon.Put(3,4,4);

 Beacon.Put(3,5,9);

 

$ATS-130;

  Beacon.Put(3,1,1);

 Beacon.Put(3,2,2);

 Beacon.Put(3,3,3);

 Beacon.Put(3,4,4);

 Beacon.Put(3,5,9);

 

$ATS-180;

 Beacon.Put(3,1,1);

 Beacon.Put(3,2,2);

 Beacon.Put(3,3,3);

 Beacon.Put(3,4,4);

 Beacon.Put(3,5,9);

 

$ATS-280;

 Beacon.Put(3,1,1);

 Beacon.Put(3,2,2);

 Beacon.Put(3,3,3);

 Beacon.Put(3,4,4);

 Beacon.Put(3,5,9);

 

$ATS-600;

 Beacon.Put(3,1,1);

 Beacon.Put(3,2,2);

 Beacon.Put(3,3,3);

 Beacon.Put(3,4,4);

 Beacon.Put(3,5,9);

 

 

・速度制限

Beacon(6,0,300070); #分岐器

Beacon(8,0,300070); #下り勾配

Beacon(9,0,300070); #曲線

Beacon(10,0,300070); #臨時

Beacon(11,0,300070); #誘導

//SendDataの上3桁は制限速度までの適当な距離下3桁は制限速度+10km/h程度目安に設定してください

 

・速度制限の解除(これを忘れるといつまでもパターンが解除されません)

Beacon(16,0,0); #分岐器

Beacon(18,0,0); #下り勾配

Beacon(19,0,0); #曲線

Beacon(20,0,0); #臨時

Beacon(21,0,0); #誘導

 

//SendDataは0に設定してください

 

・誤通過防止パターン

Beacon(12,0,400);

 //SendDataは設置地点から目標までの距離を設定してください

 

・ATS機能切り替え

Beacon(25,0,0);

 

 //SendDataは以下の値から設定してください

0:ATS切換(P→S)
1:ATS切換(S→P)
2:P休止
(拠点P区間で使う。)


ATS-Sx

2.1.東日本のATS-Sn

国鉄時代から残る多くのATS-S区間において首都圏以外の地方の路線では輸送密度が低く、また距離も長いためATS-Pではコストが掛かるため、安く、より高い安全性を確保することが課題でした。そこでJR各社はATS-Sをベースに即時停止機能などを追加したATS-Sxを開発しました。ATS-SnはそのJR東日本版と言えます。また東日本の独自の機能として、このATS-Snに地上子をいくつか追加しパターン照査を可能としたATS-Psがあります。このATS-PsはATS-Pのようにコストを掛けること無くパターン照査が行えるほか、ATS-Snとの互換性もきちんと保っており、ATS-Ps区間にATS-Sn搭載車が入線することが可能です(ATS-P路線にATS-Sn搭載車は✕でその逆も✕)。

 

 

type 機能 設置箇所 Section
0 ロング地上子 信号機600m内方 ※1
1 直下地上子

信号機30m内方(適宜調整してください)

1

2 誤出発防止 出発信号機が停止位置から遠い場合に設置

※1

9  地上タイマー速度照査 速度制限を行う場所 0

11

第一パターン発生 信号機の655m手前 ※1
12 第二パターン発生 信号機の390m手前 ※1
13 第一、第二パターン消去 パターン消去を行う場所 ※1
14 パターン種別認識 ※2 ※1
15 分岐器速度制限発生 速度制限開始位置の555m手前 0
16 曲線速度制限発生 速度制限開始位置の555m手前 0
17 下り勾配速度制限発生 速度制限開始位置の555m手前 0
18 臨時速度制限発生 速度制限開始位置の555m手前 0
19 入換パターン発生 入換信号機の手前 1
20 誘導パターン発生 誘導信号機の手前 1

※1閉塞間隔の兼ね合いで変わるので自分の路線に合わせて調整してください

※2設置箇所が用途によって変わります                 

構文例

ATS-Sn

Section.Begin(01, 2, 3, 4);

 

$ATS=distance;

distance=$ATS; は不可×です

$ATS-30; #線区によってはない場合もある

 Beacon.Put(1,1,0); #直下地上子

  

$ATS-600;

 Beacon.Put(0,1,0); #1個目(次)の信号機の現示を読み取る場合

 //Beacon.Put(0,2,0); #2個目の信号機の現示を読み取る場合

 //Beacon.Put(0,n,0); #n個目の信号機の現示を読み取る場合

 

 

・速度制限

Beacon(9,0,070); #分岐器

 

//SendDataは制限速度+10km/h程度目安に設定してください

  

・誤出発防止パターン

Beacon(2,1,0); #1個目の信号機が出発信号機の場合

//Beacon(2,n,0); #n個目の信号機が出発信号機の場合

 

ATS-Ps

Section.Begin(01, 2, 3, 4);

 

$ATS=distance;

distance=$ATS; は不可×です

$ATS-30;

 Beacon.Put(1,1,0); #直下地上子

 

$ATS-390;

 Beacon.Put(12,1,50); #1個目(次)の信号機の現示を読み取る場合

 //Beacon.Put(12,n,50); #n個目の信号機の現示を読み取る場合

 

$ATS-398;

 Beacon.Put(12,1,0); #1個目(次)の信号機の現示を読み取る場合

 

 //Beacon.Put(12,n,0); #n個目の信号機の現示を読み取る場合

 

$ATS-600;

 Beacon.Put(0,1,0); #1個目(次)の信号機の現示を読み取る場合

 //Beacon.Put(0,n,0); #n個目の信号機の現示を読み取る場合

 

$ATS-655;

 Beacon.Put(11,1,0); #1個目(次)の信号機の現示を読み取る場合

 

 //Beacon.Put(11,n,0); #n個目の信号機の現示を読み取る場合

 

#信号機の間隔が短くパターンが被ってしまう場合は手前側の信号機の657m,400m,32m手前に以下を設置する

 Beacon.Put(14,n,95); #nの値は655m,398m,30mに設置したものとそれぞれ揃えておく