CS3で擬似シャトルトレインを設定する

※2月12日修正

【ご注意】

これは本来のシャトルトレインではありません。
正常に動作しない機能がある現状のCS3で、強引にシャトルトレインと同等の運転をするための設定です。
操作は自己責任でお願い致します。
バージョン1.2.0(4)のCS3でのみ検証しています。

この記事は、バージョンアップがあった場合には、予告なく内容が変わったり削除されたりする場合があります。

 

バージョン1.2.0(4)のCS3で、擬似的にシャトルトレインと同等の運転をする設定例を説明します。

現在のCS3では、レイアウト全体のセンサーの状態を監視して、センサーをトリガーとして自動的に発動する運転は設定できません。
本来はその機能があるとは思われますが、今は機能が実装されていなくて出来ない状態です(メルクリン社に問い合わせた結果もらった正式な回答です)。

私個人としては、現状ではCS3は自動運転が出来ないコントローラーであるという認識です。実際に私の家のレイアウトはCS3では運転できません。
自動運転を行うには、より機能が豊富なCS2を使ってくださいとしか言えないのですが、CS2はすでに生産終了になっているため、CS3しか持っていない場合で、どうしてもシャトルトレインをしたいという場合に、参考にしてください。

 

1.原理の説明

CS3には、そもそもシャトルトレイン機能がありません。
そのため、各センサーの条件に合わせた列車の動作をイベントとして設定することで、擬似的にシャトルトレインの動きを実現します。

現在のCS3では、『このセンサーがオンになったら、このイベントを自動的に発動させる』という設定ができません。つまり、レイアウトの自動運転は出来ません。
しかし、各イベントの中に個別に、『このセンサーがオンの時にだけ、後続の命令を実行する』という命令を書くことは出来ます。
この仕組みを利用します。

1つのセンサーに付き、オンになった時とオフになった時の2つのイベントをセットにして、命令を書いていきます。

基本的には、

【センサーがオンになったら】列車を方向転換、または停車させる。
【センサーがオフになったら】センサーがオンになった場合のイベントを待ち受け状態にするために起動する。

という2つのイベントを、センサーの個数分作成することで、シャトルトレインを実現することが出来ます。

 

今回は単純に以下のようなレイアウトを組んでみました。

直線があり、終端にセンサー1と2があり、中間駅としてセンサー3があるという設定です。
シャトルトレインのフル機能と同等になります。

終端の1と2では方向転換して折り返し、中間駅である3では一時停車して同じ方向に再発車します。

センサーはコンタクトレールを推奨します。
サーキットレールでも実現可能ですが、センサーがオン・オフになる間隔が短く、編成全体のシューの個数によっても変わるため、少々調整が必要になる場合があります。

この動作は、センサー用に6個とスタート用の1個で、合計7個のイベントを設定すれば、実現することが出来ます。
具体的には下図のような感じになります。

 

2.実際の設定方法

個別の設定方法を説明します。

 

2-1.センサー1の設定

まず、センサー1を踏んだ場合に、方向転換するイベントを設定します。

 

(1)キーボードかレイアウトから、センサー1をドラッグ&ドロップして配置します。

配置したら、そのパネルをクリックして設定画面を出します。

条件は「センサーがオンになった時」ですので、「if the track is occupied」を選択します。
その下は必ず「Delay」を選択してください。初期値ではここが「Cancel event」になっていますので、必ず変更してください。そうしないと動きません。

(2)機関車の動きは、「Record」ボタンを押して、操作記録状態にしてから、実際に機関車を動かして登録します。

操作した通りに、命令が並んでいきます。
間違ってもあとからいくらでも修正できるので大丈夫です。
CS3を使って機関車を方向転換してください(ノブを押し込む、方向転換アイコンをタッチするなど)。
その後、再び加速させればOKです(ノブを回す、スピードゲージをタッチするなど)。

(3)最後にセンサーがオフになった場合のイベントを呼び出します。

このセンサーがオフになった時(センサー区間から列車が出発した)の動作のイベントを登録します。
これはイベントパネルから、当該のイベントをドラッグ&ドロップすれば登録できます。
※あらかじめオフになった場合のイベントを登録しておく必要がありますので、下を参考してイベントを作成しておいてください。

(4)センサー1がオフになった場合のイベントを設定する

 

センサー1がオフになった場合に、上で作った『センサー1がオンになった時のイベント』を呼び出す、という命令を作ります。

なぜこんなことをするのかと言うと、CS3は自動的にセンサーをトリガーとして判定してくれないからです。
『センサー1がオンになった時のイベント』は手動で実行された1回しか働きません。1回動作してしまうと、何かの手段でもう一度起動させない限りは、二度と働かないのです。
そのため、センサーがオフになった時点で、もう一度センサー1を待ち受け状態にするべく、再度イベントを実行させる必要があるのです。

 

2-2.センサー2の設定

同様にして、センサー2を踏んだ場合の動作についても、イベントを作成します。

こんな感じになります。

停車時間ですが、速度をゼロにした時の命令パネルのディレイに設定します。
この時間は、減速遅延に要する時間+停車時間を設定します。
例えば、減速遅延で列車が確実に停止するまでに5秒かかり、その後10秒停車させたいのであれば、「Delay」には「15」「second」を設定します。

 

また、こちらも同様に、オフになった場合のイベントも、別に作成します。

 

2-3.センサー3(中間駅)の設定

中間駅も考え方は全く同じです。
ただ方向転換しないだけです。

イベント命令はこうなります。

 

ここでは、あえて、速度ゼロと再加速の間に、テキスト命令を追加して「Delay」を設定し、停車時間をわかりやすくしてみました。
テキスト命令は「text」ボタンで挿入できます。

速度ゼロに「Delay」を設定するのと、動作は同じです。好きなやり方で構いません。

途中駅にも、再起動イベントを設定します。

 

これで列車の動作についてのイベント設定は完了です。

 

2-4.スタート用イベントの設定

後は、各センサーがオンになった時のイベントを手動で起動して、列車を走らせればシャトルトレインで運転できます。
しかし、いちいち何個もあるセンサーイベントを手動で起動していると面倒ですので、自動ですべてのイベントを起動するためのイベントを作成します。

 

これで、この「start」イベントをタッチするだけで、すべてのイベントを待ち受け状態にすることができるようになりました。

 

2-5.運転してみる

シャトルトレイン運転をするには、まず手動で「start」イベントを起動してから、列車を走らせます。

運転を止める時には、すべての実行中のイベントを手動で停止させてください。
こちらは一気に全部を停止させるイベントが組めないので、面倒ですが手動で止めるしかないです。

 

以上です。

 

なお、各イベントには、きちんとわかりやすい名前を付けたほうが良いです。
CS3では作ったイベントがただ単に並んでしまい、順番管理などはされないので、たくさん作ると後でわけがわからなくなる可能性があります。

CS3の今後の改良に期待しています。

 

カテゴリー: CS3