鉄道模型のPC制御:(03)赤い箱・DP1と731系DCCフレンドリー車(KATO)
承前:鉄道模型のPC制御:(02)赤い箱・DP1と南福岡急行の話
03-00 731系の電車(Nゲージ)
鉄道模型をあれこれ触っているにしては、電車や蒸気機関車のことをよく知らない。リチウムイオン電池で走る図書館列車を目指しているから、趣向が異なると言えばよかろう。ひたすら二階建て客車やトロッコタイプの車両を探したり、改造してりしている。
DCCのことを気にしだしてから、めずらしくKATOの電車を入手した。事情は、DCCフレンドリーといって、車両にチップというか、小型コンピュータ(デコーダー)を組み込むのが簡単だからだ。731系とか201系車両はデコーダを差し込むだけですむ。このデコーダによって、列車毎に背番号を付けて、番号単位で車両の動きやライトを指示することができる。
03-01 赤い箱を通してPC制御
先回紹介したDP1という名称の赤い小箱はUSBでPCに接続し、逆にPCのプログラムからの指示を、線路に伝える。線路を通して車両番号を指定するので、当たった車両がPCからの指示に従う。
ここでは731系の電車なので、731番という背番号を電車に振った。もちろん、変更は可能だが、番号管理が基本になるので、しばらくは変えないつもりだ。もちろんPCでプログラムを介入できるのだから、名前なんかは後でなんとでもなる。
03-02 VBScriptでプログラム
VBScriptというけったいなスクリプト言語があって、それを初めて使った。Windowsシステムでは以前みんなが使っていたようだが、私は簡易プログラミング言語を長年嫌ってきたので、使うのは始めてだった。何故嫌ったのかは自分でもよく分からないが、Modula2やPascalなんかに比較してどことなくぐにゃりとして、安易な記述がゆるされて、とろくさい性格が性に合わなかったのだろう。というまに、世間中がスクリプト言語しか使わない昨今なので、試しに使ってみた。
今使っているOSはWindows7だが便利なことにVBSの形式に従って台本を書いたテキスト文を起動させるだけで動き出した。VBSは新Windows7でも定番のバッチ処理システムとして内部に含まれているようだ(笑)~
おもしろい!!
実は現在、別途にJython(13日の金曜日的ジェイソンではなくて、ジャイソンらしい)も勉強し出したが、これがまた優れもの。スクリプト言語も随分知らぬ間に進歩したようだなぁ~。
03-03 初めてのVBS関数・サブルーチン
久しぶりに書いたプログラミング(スクリプト:台本)、関数・サブルーチン。
★呼び出し側
WScript.Echo "出発・加速します"
i=Kasoku(731, 1, 0, 126)
Call g_oDp1.wait(5000)
★関数・サブルーチンの定義側
''************** 加速 ******************
Function Kasoku(rid, hoko, s1, s2)
for isp = s1 to s2
Call g_oDp1.set_speed128(rid,hoko,isp)
Call g_oDp1.set_speed128(rid,hoko,isp)
Call g_oDp1.wait(100)
next ''isp
Kasoku=isp
end Function
と、これが何を意味するかというと、Kasoku(列車番号、方向、最初の速度、最高の速度)という種明かしになっている。ここで、Kasokuというのは加速の意味の、関数(フアンクション)。
Kasokuの定義部分では、set_speed128という関数・サブルーチンがCallされているが、この部分はDP1を作った会社の人(永末さん)が、利用者にあらかじめ廉価に頒布したソフトウェア部分。
03-04 まとめ
いくつもの列車をPCから個々に、独立して、速度や方向や停止命令を同時に自動制御できるめどはついたが、一番大きな問題が残っている。
列車の位置情報をスマートに扱うのが難しそうだ。それができないと、駅で自動停止させたり、鉄橋で徐行させたり、図書館駅前や博物館前でアナウンスさせたりするのが、ものすごく難しくなる。
最初は列車に搭載したデコーダ(CPUだ)が、「私はいまここにおります」「ポイントの3番を通過しました」「埋め込みセンサーの8番を過ぎました」とか、簡単にメッセージを出すと思っていたが、世界中探しても、そういう上等な双方向通信(列車とPC)を上手にこなしているのは、なさそうだ。つまり、イベントドリブンのイベント側に個々の列車を立たせるのが困難になってきた!
代替案は、いろいろあるようだが、なんとなく原始的だな。
困ったことだ(笑)。
また考えてみよう。
| 固定リンク
「DCC」カテゴリの記事
- 鉄道模型のPC制御:(12) DCC自動運転・図書館パイクでのポイント制御と往復制御(2012.06.17)
- 鉄道模型のPC制御:(11) 閉塞区間の構成:BDL168とRX4との配線について(2012.05.27)
- 鉄道模型のPC制御:(10) 半径15センチのHOやDCC(2011.12.18)
- 鉄道模型のPC制御:(09) 従来のアナログ車両を無改造で、DCC運転する(2011.11.27)
- 鉄道模型のPC制御:(08) JMRI→DP1cs(南福岡急行)→DP1(永末システム)→DF50(KATO)(2011.10.16)
この記事へのコメントは終了しました。
コメント
記事の最後に記した、いわゆる、コントローラと個々の列車やアクセサリー(ポイントやパンタグラフやドア)間の双方向通信は、よく調べると、ドイツのメルクリン・システムでは21世紀初頭に完成し動いているようだが、その後の様子が分からず、またメルクリン社自体の消長がつかめず、一応「双方向通信による鉄道模型制御は一般的ではない」くらいにしておく。
投稿: Mu | 2011年10月 9日 (日) 16時24分