庭園鉄道日記(LGB Gゲージ)で「プログラム」と一致するもの
あけましておめでとうございます。今年もよろしくお願いいたします。
2011年を迎え、元旦からの3日間は好天に恵まれました。少し遅めになりましたが、新年のご挨拶を申し上げます。また、みなさんにとりまして、よい年であることをお祈りします。
今年のお正月は、初詣など出かけることが多く、今日は、久しぶりにゆっくりと汽車を走らせています。年末は、雪が降ったり風が強かったりしたので、LGBのMulti Train Systemのソフトウェアのマニュアルをあらためて読み、Contact controlという自動運転に挑戦していました。
これまではSchedule controlといって、Track Contactの反応を見ながら、ポイントを切り替えたり、列車の発車・停車を制御するプログラム(Schedule)を書いてコンピュータ運転をしていました。
Contact controlは、プログラムを書かずに、Track Contactやポイントマシンなどに、ソフトウェア上でいろいろな挙動を記録しておき、列車がそれぞれのTrack Contactを通過した際に、 ポイントを切り替えるなどいろいろな動作をさせることで、列車を制御するもののようです。
実は、LGBのMulti Train Systemでは、Contact controlの方が標準となっています。でも、列車を細かく停止させたり、発車させようとすると、Breaking ModuleやらTrain Detection Moduleなどが必要なようで、ちょっと大変そうです。(まだ、十分に使いこなしているわけではありません)
LGBのMulti Train System、まだまだ、奥が深いです。
今日は、休みででしたので、伊賀線まつりの準備をさらに進めました。当日のレイアウトは、コンピュータによる自動運行で、エンドレスの外周、内周の運行を予定しています。外周は、待避線の交互運行、内周は、引込み線の運行を予定しています。
準備する上で、待避線は、コンピュータのプログラムと設置も簡単で先週できていました。引込み線は手間がかかります。
外周の待避線は、トラックコンタクト2個で、プログラムの行数もわずかです。ところが、内周の引込み線にになると、今回の場合、トラックコンタクトは4個で、その分プログラムの行数も増えてしまいます。
バグを乗り越え、とりあえず、4編成のコンピュータ運行ができるようになりました。ここまでくると、みばえが気になってきます。
全景です。
最近、コンピュータインターフェイス(55060)を入手され、コンピュータによる制御を少しずつ始められた方がいます。サウンド、ライト等のファンクションによる制御がうまくいかないようです。実は、自分も同じ経験をしており、原因を追究した結果、英語版のOSでないとだめだという結論に落ち着いています(うちでは、WindowsXP Home英語版です。)(うちでは、WindowsXP Home英語版です。)。
経過は、以下のリンクに書いてあります。
http://www.ttnet.org/~garden_railway/2008/02/post-33.html
(音は、右下のスピーカーアイコンの右のボリュームを触らないとでない場合があります。)
ただし、上記リンクの文章中の日本語晩Windows XPを使った方法については、「日本語WindowsXPのコントロールパネル「地域と言語のオプション」→「詳細設定」→「Unicodeプログラムでないプログラムの言語」を「英語(米国)」に設定した上で制御用のソフトを動かすことでした。」と書いてありますが、他にも安定しないことが多くあり、最終的に、英語版のOSで動かすのがベストと考えています。
でも、もしかすると、自分が気づいていない原因があるかもしれません。日本語OSでも動けばいいのですが、何か解決策がみつかるといいのですが・・・。
次のビデオは、TrackContactを通り過ぎたら、汽笛、ベルを鳴らすようにプログラムしたものです。
うちの一番よく使っているパソコンにWindows7を入れてみました。前は、Vistaでしたが、体感速度としては、サクサクと動いていい感じです。これまで32bit版でしたが、今回は64bit版にしてみました。大きなトラブルもなく安心しました。さっそく、列車の運転です!
実は、以前も書きましたが、MTSのソフトウェアは、英語版のOSでうまく動作するので、英語版Windows XPをインストールしたパソコンへリモート接続して、動かしています。ただし、うちで試したところ、Windowsのリモートデスクトップ接続だと、うまく、RS-232Cを経由してコマンドを遅れなかったので、Real VNCを使っています。
運転中の画面です。画面最下部のツールバーでWindows7とわかっていただけるでしょうか。中央のウインドウでは、英語版のXP Home上で、MTSのソフトウェアが動いています。
今日の夕方の走行風景です。2つの編成を、駅前で30秒間停止するように、プログラムしてあります。単純なものですが、これでも結構、雰囲気がでます。
久しぶりに、コンピュータでの運行パターを思いつきましたので、さっそくスケジュール(コンピュータ運行用の簡易プログラム)を作成してみました。
2箇所の待避線と駅に向かって左側の複線区間を使って、進行方向の異なる2両の編成を待避線で交互に運行させることと、一部、複線区間でのすれ違い運転を実現しました。
まず、頭の中で列車の動きとポイントの切り替えを考え、2つの編成それぞれのスケジュールを書きます。その後、間違い探しをして完成です。今回は、進行方向の異なる2両を走行させるため、ミスがあると最悪の場合、正面衝突です。それを避けるために、コンピュータでは、2つの編成のプログラムを同時に動かしつつ、1つの編成だけ走行させます。もう1つの列車の役目は、自分が磁石を持って歩きます。磁石をTrackContact(LGB17100)にかざしてコンピュータに列車が通過したように認識させて、問題なく動くか確かめます。
本当は、コンピュータ上で、シミュレーションできるといいのですが、MTSのソフトウェアでは無理なのです。それでは走行風景をごらんください。コンピュータによる列車の自動運転は、動いたりとまったり、すれ違うのを、手放しでぼけ~っとみているだけでいいので楽ですし、本物みたいな気がして楽しいです。
今朝、外を見たら、駅前に植えてある芝桜が満開になっていました。去年植えたのですが、冬の間は茶色になってしまい、もしかすると枯れたのかなと思っていましたが、すごくきれいに咲いてくれました。
最近、すっかりコンピュータ制御による運行ばかりしていましたが、今日は、子どもがコントローラーで運転したいと言い出しました。手動で、ポイントを切り替えたり、駅に近づくとスピードを徐々にスピードを落とすなど、楽しんでいました。
もちろん、コンピュータ制御による運行も行いました。最近は、1つの編成がすべての線路を通るスケジュール(MTS-PC上のプログラム)を作成して楽しんでいます。リバース線を走行させて、車両の進行方向を逆転できるので、目先が変わって楽しめます。
庭園鉄道日記の最新レイアウトを見ていただいている方,お気づきでしょうか?Electric Three-Way Switch(12360)が導入されています。
ところで、Three-Way Switchですが、私にとってはなかなか曲者でした。海外の掲示板でも、MTSで使用する際にポイントの切り替えがうまくいかないという話題がでています。
Three-Way Switchは文字通り直進、右、左と三方向に列車の進行方向を変えるポイントで、2つの電動ポイントマシンを連動させて動作させます。
写真右下のポイントマシンをNo.5、左上のポイントマシンをNo.6とします。
直進 No.5=右、No.6=左(順不同)
右 No.5=左 ← No.6=左
左 No.5=右 → No.6=右
となる必要があります。
1 MTSで使用するための配線
Electric Three-Way Switch(12360)に添付されているマニュアルにMTS用の配線についての記述はありません。デコーダー(55025)につないで、動きを観察してみました、写真の右下が5、左上が6です。
最初は、セオリー通り、Switch Decoder(55025)とポイントマシンをオレンジはオレンジ、白は白でつないで、MTS-PCソフトウェアから3ボタンマウスで操作してみましたが、変です。よくみると、No.5の動きが逆です。そこで、No.5のポイントマシンについては、オレンジと白を逆に配線したところばっちり、画面上に表示されるのと同じようにポイントが切り替わるようになりました。
これでOKと、MTS-PCソフトウェアのスケジュール(プログラム)でThree-Way Switchを切り替えてみると、右方向にうまく切り替わりません(直進と、左折は正常です)。よくみると、マウスでの操作ではうまく動作していたのですが、MTS-PCのスケジュール(プログラム)で操作すると、
正しい動作は
No.5=左 ← No.6=左 となるはずですが、
No.5=左 → No.6=右 と動作してしまい、No.5で左に動いた線路AにNo.6で右に動いた線路Bがぶつかるために、左端に寄っているべき線路Aが右にずれてしまいます。
実は、Three-Way Switchには、ダイオードが付属しており、マニュアルには、次の通り記載されています。
「To prevent the drives from interfering with each other, the included diode must be installed on the 51750 between the orange terminals for the drives (Fig. 5).」
これをみて、試行錯誤した結果、マウスでもスケジュールでもうまくいく配線を見つけました。それが、上の写真です、わかりにくいですが、SwicthDecoder(55025)のAにポイントマシンのNO.5そして、BにNo.6が結線されています。そして、Aの白端子とBの白端子にダイオードをつけています。なお、ポイントマシンの配線は、No.5はオレンジと白を逆に、No.6はオレンジはオレンジに白は白に配線してあります。
2 脱線
写真の、下から左方向に進ませると、頻繁に脱線します。これについては、日本Gゲージクラブの「http://homepage1.nifty.com/lgb-train/g_gauge_068.htm」に解説がありますので、次の休日に工作してみようと思っています。
LGB製の列車制御用ソフトウェアMTS-PCを用いてコンピュータで5編成を制御してみました。大きく分けて、次の3パターンです。
内周:機関車1(Stainz)・・・駅前で停車、発進
外周:機関車2(Spreewald)と機関車3(ディーゼル)・・・待避線による交互運転
別路線:機関車4(Cambrai)と機関車5(Heidi)・・・入れ替えによる交互運転
これを実現するために、コンピュータ上でそれぞれのパターンの制御プログラム(MTS-PCではスケジュールといいます)を書きます。スケジュールには、初期化、ポイントの切り替え、列車の速度指定、位置検出、繰り返し、条件分岐などの命令を組み合わせて記述します。重要なのは、TrackContactとFeedback Interfaceによる列車の位置検出です。これを導入することで、MTS上で、このような運行が実現できました。
実際の走行風景は動画をごらんください。上記の3つのスケジュールを同時に動作させています。
コンピュータ上の画面はこんな感じです。線路上の8カ所に青の楕円があります。これが位置検出に使うTrack Contactを設置してある場所です。車両底面に磁石を取り付けた列車がTrack Contactを通過すると、コンピュータに信号が送られます。その信号に対して、列車の停止、発信、ポイントの切り替えなどの動作を行わせています。
2月24日の「コンピュータによる制御」では、とりあえず、MTS Computer Interface(55060)を使って簡単なスケジュールを書いて自動運行させるところまでできました。
本当は、次の段階として、列車の位置の検出に挑戦する予定でしたが、それに必要なFeedback Interface等の到着が遅れていて、まだ、実現できていません。
そこで、今日は、屋外で3つの列車を自動運行してみることにしました。使用するMTSのソフトウェア(MTS-PC)は、使い勝手はそれほどよくないように思いますが、最低必要な機能はそろっている感じがします。
我が家のレイアウトは、3つのエンドレスループがあり、各ループがポイントを経由してつながっています。つまり、各編成がループ内を走るようにポイントを設定しておけば、衝突なしに3編成同時に走行できるわけです。今回は、その状態で、3つの編成を別々に、停車→加速→走行→減速→停止の繰り返しを行わせました。
3つの列車を同時に制御するには、各編成用のスケジュール(制御プログラム)を3つ書いて保存しておきます。
プログラムは、
初期化→※ラベル→速度8まで加速→○秒間そのまま→速度0まで減速
→○○秒間そのまま→「※ラベル」へジャンプ
という無限ループです。これを、動力車のID番号ごとスケジュール1、スケジュール2、スケジュール3と3つ書いて保存します。
もう一つメインになるプログラムを書きます。
初期化→スケジュール1実行→○秒間そのまま
→スケジュール2実行→○秒間そのまま
→スケジュール3実行→○秒間そのまま→終了
メインプログラムを実行させると、3つの編成がそれぞれのスケジュールに従って独立して、走行・停車を繰り返します。
今は、○秒間で走行、停止を繰り返していますので、トンネルやカーブなど、あらゆるところで、止まってしまいます。でも、これまでのように、走らせたままよりは、止まってはまた走り出すことで、ずいぶんと、見ていて楽しくなってきました。ときどき、うまく駅の前で止まってくれたりすると、結構、気分がいいものです。
Feedback Interfaceによる列車通過の検知ができるようになると、駅の前で停車させることもできるようです。来週か再来週になりそうですが・・・!
MTSを導入してから、いつかは、コンピュータで列車の制御をしてみたいと思っていました。LGBのMTSには、MTS Computer Interface(55060)があり、コンピュータで列車を制御できます。実は、10月にこのインターフェイスを入手していたのですが、次のとおりうまく動かない現象に悩まされていました。
1 ファンクションが動作しない(コントローラの3を押すと鐘がなるなどの動作をするがが、ソフト上では1から9まで全て動作しない)
2 COMポートが見つからないエラーがたびたび起こる
3 スケジュール(プログラムで制御すること)が動作しない
解決方法は、英語版のWindowsで制御用のソフトを動かす、もしくは、日本語WindowsXPのコントロールパネル「地域と言語のオプション」→「詳細設定」→「Unicodeプログラムでないプログラムの言語」を「英語(米国)」に設定した上で制御用のソフトを動かすことでした。
ここまでくるには、長い道のりがあります。
解決方法を先に書いてしまうとなんてことはないのですが、家中のコンピュータ7台で試しても動作せず、COMポートを疑い、PCIバスの増設用カードを数枚、購入してもダメで、一時はもうダメかと思いました。
10月に購入した55060はパラレルファンクションに対応した製品でなく、それが原因かと思い、パラレルファンクションに対応した製品を1月に再度購入しました。
また、ソフトウェアのバージョンもハードに添付されているのはバージョン4.0で最新の6.00.0004と比べるとずいぶん古い物でした。
さらに、ソフトウェア上でとりあえず、加速、減速は可能ながら、ファンクションやスケジュールが動作しないというということで、COMポートのあらゆる設定を試して見たりしました。
最後にたどり着いた結論は、「英語版のOSなら動くかもしれない」ということでした。なぜかというと、海外のWebを見ても同種のトラブルの報告が全くないこと、またパラレルファンクションに対応した55060でも状況が同じ事がきっかけでした。さらに、昔、AppleのMacintoshを使っていた頃、英語版の一部ソフトは漢字Talk(日本語OS)ではうまく動作しないことがあったことを思い出したからです。
まさか、今の多言語OSでそんなことはないだろうと思いつつ、Windows XP Home Edition(英語版)を購入しインストールしたパソコンで、MTS用のソフトを動かしたところ、あっさりと何の問題もなく動作してしまいました。
で、突き詰めていったところ、「地域と言語のオプション」の設定を見つけました。まだ、ファンクション(コントローラのボタン1や9)しか試していませんが、英語版Windowsを購入しなくても大丈夫なようです。日本語環境が悪さしていたようです。
後気がかりなのは、英語版のWindows上でも、MTSのソフトウェアと並行して複数のソフトを動作させると、エラーが出ることです。単体で動作させていると、全く問題ありません。とりあえず動作しているので、これは今後の課題です。
動画を掲載しておきます。出発時のアナウンス、ライトの点灯、消灯、出発、停車、汽笛、ベル、すべて、コンピュータで簡単なスケジュール(プログラム)を書いて、動作させています。現在、ポイントのコントロールもできます。次は、列車の位置検出に挑戦する予定です。
ポイントマシンに線をつなぎます。オレンジと白のマークと電線の色を合わせます。銀色のドライバーの左にあるオレンジ色の小さな端子は「Wire Terminal Ends , 50 pieces (50131)」です。
ポイントマシンに電線を差し込み、ねじ止めします。
MTS Switch Decoderにも同様に電線をつなぎます。端子にはA,B,C,Dがあり、4台のポイントを制御できます。
現在、MTS Switch Decoderが3台あります。複数のMTS Switch Decoderを使うときは、それぞれに番号を割り振る必要があります。
デコーダーの番号→1番とプログラムすると、ポイント番号は自動的にA端子=1 B端子=2 C端子=3 D端子=4となります。
デコーダーの番号→5番とプログラムすると ポイント番号は自動的にA端子=5 B端子=6 C端子=7 D端子=8となります。
デコーダーの番号→9番とプログラムすると ポイント番号は自動的にA端子=9 B端子=10 C端子=11 D端子=12となります。現在、11台のポイントがありますが、覚えるのが大変になってきました・・・・・。他の方のWebページをみると、切り替え用の制御板を作っている方もおられます。
プログラムするところを、写真に撮ればよかったのですが、忘れてました・・・・。マニュアルに、プログラムするときの接続の写真と方法が書いてあります。
アドレス設定と同じように、Universal Remote(55015)の黒いケーブルがつながっている部分を取り外し、プログラム用(黄、緑、茶、白の4本線のついているもの)に交換し、結線を行います。線路に機関車とテンダー車の両方を置きます。
インターネットを検索し、
CV #2 Vstart [1]
CV #3 Acceleration [5]
CV #4 Deceleration [5]
CV #5 Vmaximum [120]
にしてみました。手順は次のとおりです。
設定用の結線をし、機関車とテンダー車の両方を線路に置き、電源を入れるます。
○Universal Remoteの画面表示が「C --」となります。
○数字ボタンでCV値をと押します。例「02」
○画面表示が「d -」となります。
○希望する設定値を入力します。(今回の設定では、CV値2の場合は設定値は「1」)
○右矢印ボタンを押します。(設定が保存されます)
○CV値毎に繰り返します。
走行用の結線をし、電源を入れると、ほぼ同じになりました。
設定はこんな感じです。
1 Universal Remote(55015)の黒いケーブルがつながっている部分を取り外し、プログラム用(黄、緑、茶、白の4本線のついているもの)に交換します。黄と緑の線は、Transformer(50110/50111)へつなぎます。また、茶と白は線路へセロテープなどでとめます。(結線の写真が、Universal Remote(55015)のマニュアルP61にあります)。もちろん、あらかじめ、通常の電源からの線は外しておきます。
2 テンダー車を線路の上に置きます。
3 電源を入れ、次の操作を行います。
○Universal Remoteの画面表示が「C --」となります。
○数字ボタンを「01」と押します。
○画面表示が「d -」となります。
○希望するアドレスを入力(今回は「02」)します。
○右矢印ボタンを押します。(設定が保存されます)
ちなみに、Remoteとデコーダーによっては、画面表示が「C --」でCV値を直接入力して、設定するのでなく、「P --」の表示から設定するものもあるようです。ご注意下さい。私のUniversal Remote(55015)とデコーダー(55021)では、これでOKでした。
4 電源を切ります。Universal Remote(55015)に、黒いケーブルがつながっている部分をつけなおし、線路への配線を通常の走行するものに戻します。電源を入れ、アドレス2でテンダー車が自走することを確かめます。
Universal Remote(55015)を使うと、2両の動力車をまとめて、制御し重連走行が可能です。いろいろな動力車の組み合わせで10とおりの登録が可能となります。
走行前にUniversal Remoteでプログラムを行います。
下にUniversal Remoteの写真があります。「8」のボタンの下に、黒い汽車が2両描かれています。
【プログラム】
こんな感じです。
○ファンクションキーを押して、8を押します。
○画面表示が「P -」となります。
○10とおりの登録ができますので、0~9の数字ボタンを押します。(これがコンビネーションナンバーとなります)
○画面表示が「P -」となります。
○1両目の動力車のアドレスを入力します。(00~22)
○画面表示が「P -」となります。
○2両目の動力車のアドレスを入力します。(00~22)
○画面表示が「P -」となります。
○おのおのの車両の走行させる方向を次の4パターンから選びます。
0:両方が同じ方向で、進行方向は通常の方向
1:1両目が逆方向に進む
2:2両目が逆方向に進む
3:両方が同じ方向で、進行方向は通常の逆方向
【走行】
○ファンクションキーを押して、4を押します。
○画面表示が「d -」となります。
○登録したコンビネーションナンバーの数字ボタンを押します。
○画面表示が「d 数字」になります。
○カーソルボタンで走行させます。
0:両方が同じ方向で、進行方向は通常の方向
2:2両目(黄色)が逆方向に進む