ジオラマ”ALTENHOF機関区”の紹介とMärklin CS3による自動運転(その3)

(6) 機関車のプログラミングその2:機関車ごとの設定

以下に機関車のプログラミング(ロコシーケンス)の作成方法を記載させていただきます。なお、最初にお断りさせていただきますが、以下の手順、方法は私が実際に行なったものですが他にもやり方は色々あると思いますのでひとつの参考としてお読み下さい。また、この記事に従った設定で万一システムの故障等が発生しても当方では責任を負いかねますのでご理解どご了承をお願い致します。

ロコシーケンス、セッションシーケンスはCS3のevent機能で設定します。eventの追加は画面の上の部分のメニューでEdit > Add eventと選ぶことにより新規のevent入力画面が現れます。ここにサイドの機関車のコントロール画面のアイコンや分岐器等のデバイスのアイコンをドラッグしてドロップすることでコマンドの羅列としてでeventが作成されていきます。この方法についての詳細な手順はマニュアルや他のウエブサイト等で解説されていますので詳細は割愛します。

<走行に関係ない機能(function)の設定>
機関車を動かすコマンドの基本構成は前回の「その2」で説明しましたのでここではまず走行に関係ない機能(function)の設定方法を説明します。
まず機関車コントロール画面のスピードバーをスピード0でドラッグして所定の場所にドロップすると機関車が設定されます。そのあとfunctionのアイコンをドラッグ&ドロップでeventの設定ボックスの中に時系列で並べていきます。その後、アイコンをドロップした場所でそのアイコンをタップすると写真の様な画面がポップアップします。


この画面で設定するところはValueとdelayになります。ValueはそのfunctionをONにするかOFFにするかの設定です。アイコンをドラッグする際、そのfunctionをON(黄色)の状態でドロップすればON,OFF(白)の状態であればOFFの状態で設定されますが、 ドロップした後でもこの画面でValueをタップしてON OFFの状態を変更することができます。例えば汽笛を吹鳴させたい時、OFF状態のアイコンを3個並べてそのうちの中央のみ ValueをONに変えることにより汽笛を吹鳴させるシーケンスを作ることができます。


もう一つ設定が必要なものがDelayですが、今回の設定ではDelayがロコシーケンスを作成する上での重要なパラメーターとなります。Delayは一言で言うとそのfunctionがValueに設定された状態を維持する時間です。ただし、Dalayが0に設定されている場合、そこで設定されているValueの値はValueの値を変えるコマンドが来るまでその状態を維持します。言葉で書くとわかりにくいのでDalayの概念図を実際のロコシーケンスを例に下図で説明します。矩形がeventに設定するコマンド(アイコン)とそのValueです。

上図で機関車を設定後Op.sound OFFをDelayをAに設定してその後Op.sound をON, Delay0で設定するとロコシーケンスを起動してからA秒後にOp.soundが鳴りはじめます。そのOp.sound ONの後にComp(ressor) OFFをDelayB秒で設定し、その後にComp.ONをDelay0で設定するとOp.sound がONしてからB秒後にCompressorが動きはじめます。同様にComp.ONの後にBell OFFをdelayC秒で設定してその後にBell ONをDelay0で設定するとCompressorが動きはじめてからC秒後にBellが鳴りはじめます。これらはDaley0で設定していますのでそのまま動作を継続します。上図の設定では同様の方法でBellが鳴りはじめてからD秒後に汽笛をE秒間吹鳴させる設定をしています。その後にWhistle OFFをDelayF秒で設定し、その後にComp. OFFをDelay G秒で設定、さらにその後にBell OFFをDelay 0で設定すると汽笛が鳴り止んでからF秒後にCompressorが止まり、さらにそれからG秒後にBellが止まります。このevent中にはOp.sound OFFのコマンドは設定していないので、evevtが終了した後もOp.soundは鳴り続けます。図からわかる様に、このeventの開始から終了までの所要時間はAからGの和の時間になります。

<機関車の走行に関係するコマンドの設定(加速)>
 機関車の発車指示はevent内で機関車を発車させたいところにスピードバーを所望の値に設定した速度表示の部分をevent内にドロップして設定します。アイコンをタップするとポップアップする画面ではdelayはfunctionと同様、値を入れればその速度を維持して走行する時間になり、0であれば停止の指示(コマンド)が来るまで機関車はその速度を維持して走行します。また速度が表示されているアイコンは、タップすると速度バーが現れ、そこで速度の設定が変更できます。Delayは加速を数段階に分けて加速するときに用いますが、最終的に定速走行させたい速度ではDelayは0で設定します。

<コンタクトトラックがONした時に機関車を停車させるコマンドの設定>
コンタクトトラックがONした時に機関車を停車させる設定は、まず経路図のコンタクトトラックのアイコン(または上端の緑のバーを下にドラッグして表示されるデバイス一覧)から所望のコンタクトトラックのアイコンをevent内に設定します。位置は機関車が定速走行している状態の位置にします。それに続けて速度0を設定します。続いてevent内のコンタクトトラックのアイコンをタップすると設定画面が出ますのでPosotionは黄色(コンタクトトラックON)に設定します。DelayはコンタクトトラックがONしてから次のステップ(この場合機関車の停止)に進むまでの時間です。分岐器からコンタクトトラックまでの距離と機関車の全長と線路の有効長を考慮して設定します。分岐器からコンタクトトラックまでの距離が十分なあれば0でも構いません。またその下にActionとConditionという2つのラジオボタンがありますが、こちらはそのうちのConditionを選択し、その横にあるボックスはプルダウンメニューからDelayを選択します。この設定をするまではeventのコンタクトトラックのアイコンの左上には?マークが表示されてますが、この設定でWマークに変わります(この表示はドイツの信号規則で決められた表示で、入換作業の際信号が青になるまでここで停車して待てという表示の様です)。この設定でコンタクトトラックがONするまで、これ以降のコマンドの発効は待ち状態となります。ここまででロコシーケンスの機関車を動かすための設定は完了です。



<機関車の進路の設定>
機関車の進路の設定はコンタクトトラックと同様に経路図またはデバイス一覧表よりevent入力画面内に動かしたい分岐器のアイコンをドラッグ&ドロップすることにより設定します。ドロップした後そのアイコンをタップするとPositionという設定がありますのでそこで分岐方向を変更することもできます。この進路設定をevent内の機関車が動き始める前のところに設定し、これでロコシーケンスはすべて完成です。

 今回上記の手順で作成したロコシーケンスを参考として下に示します。この例はBR042が給炭・給水場から一度引き上げ線(C3)に入り、そこからバックして機関区から出場していきC8で停止するまでの設定です。画像では上の画像の最後のコマンドとその下の画像の最初のコマンドは重複しています。

<作成する際の注意点>
注意点というよりは私が実際に上の手順で感じたことを参考に記載させていただきます。

1. functionのOFF時間
 functionによっては停止コマンドから実際にそのfunctionが停止するまでに時間のかかるものがあります。実際には多少遅れても大きな影響はないのですが、一瞬設定が間違っているのではないかと思ってしまった時がありました。
2. 時間の感覚
 シーケンスの中で各コマンドのDelayを設定しますが、なかなか適切なDelay時間が選べず試行錯誤状態となってしまいました。実物の時間感覚と模型の時間感覚は異なる様です。この辺りは気長に調整していくことが必要です。
3. 加速設定
 機関車を加速させる設定を行う際、速度指示コマンドとDelay時間で設定して加速させることは結構難しいと思います。CS3のレコーディング機能を使用しても、上記の時間感覚のズレがあるせいかなかなか上手くいきません。速度調整ダイアルを回した時の機関車の反応はデコーダーの加速度設定にも依存します。今回の動画でもこの部分は調整しきれていません。今後の課題と考えています。
4. functionのOFF設定
エアーの排出音等、通常の運転時にはfunctionを1回押すとfunctionがONになって(黄色くなって)音がなり、その後自動でOFF(白くなる)functionがあります。このfunctionを上記と同じ動作を期待してON状態でeventに設定すると通常の運転時と異なりfunctionがONのままになって音が止まらなくなってしまいます。また、そのコマンドが含まれるeventを実行するとそれ以降コントロール画面のfunctionのデフォルト値が ONになってしまい音が鳴り続けてしまう場合があるので注意が必要です。この様な状態になったら機関車一覧でその機関車を選んでEdit Locoの画面でfunctionのデフォルト値を変えなくてはならなくなります。通常の運転時自動でOFFになるfunctionでも、必ずONの後にOFFのコマンドが必要です。
5. メモを取ること
 簡単でよいので、設定したときの考え方を記載した簡単なメモを作成しておくことをお勧めします。やり方がある程度わかってくると設定は比較的スムーズに行える様にはなりますが、上の図を見てわかる様にfunctionのON/OFFが入れ子構造になります。その為、その時の感覚のみで作ってしまうと後から見直そうと思った時にその構造を解明することに結構時間がかかってしまいます。手書きで良いので上図の様なメモ(図)を作成しておくと良いと思います。この手のプログラミング作業を行う際の常識かもわかりませんが。
6. その他
 私のやり方が悪いのかもわかりませんが、設定の途中でeventを途中から開始させたり、ロコシーケンスを単独で動かしたりしているとeventが設定通りに動かなくなってしまう現象が発生しました。何がきっかけでそうなるのかはわかりませんが、この様な現象が発生した場合はCS3をリブートすると元に戻ります。

長々と説明してしまったのでセッションシーケンスについては次回の説明としたいと思います。