プログラムによる列車の自動運転


 NATOCはプログラムで自動運転を行う事ができます。  プログラムは簡単なコマンドの組み合わせにより自分で作成する事ができます。
 プログラムによる列車の操作を行うにはI/Oコントローラとレイアウトが正しく接続されてI/Oコントローラが正しく設定されている必要があります。
 プログラムの作成を行うにはツールバーのアイコンを押してください。下図の画面に切り替わります。
 I/Oコントローラが接続されていない場合は、シミュレーション操作でプログラムを実行する事ができます。



 NATOをはじめて動かした時はサンプルプログラムを読み込んでいますので新しいプログラムを作成する場合はで現在読み込んでいるプログラムを消してください。
 画面の左端の縦のツールバーで動作を定義するコマンドを追加してプログラムを作っていきます。  追加されたコマンドはから順に実行されていきます。  は位置を検出するコマンドでカメラで検出したこのコマンドで定義した位置にくるまでプログラムの動作を止めます。
 例えば駅のホームで列車を止めたい場合はこのコマンドに続いて列車を停止するコマンドを続けます。
 ツールバーのアイコンを押すとカーソル(緑枠)が示すコマンドの後に入れられます。画面のコマンドをクリックするとカーソルが切り替えられます。


・コマンドの一覧

  自動運転開始
 このコマンドはNATOCが自動的に作成するので削除したり変更する事はできません。

  アラームの設定
 セットした時刻になると制御がここに移ります。時刻は実際の時間(PCの時間)の他にNATOC独自の時刻をセットすることができます。このコマンドは必ず行の先頭に置かれます。

  タイマーの設定
 セットした時間、プログラムが止まり、時間が経過したら次のコマンドに移ります。

  列車制御コマンド
 列車を前進、後進、停止を行います。前進と後進は線路の周回数が指定できます。指定した周回数分まわったら次のコマンドに移ります。周回数を指定しない(0を指定)場合は列車の制御した直後に次のコマンドに移ります。

  ポイント制御コマンド
 電動ポイントの切り替えを行います。切り替えたら次のコマンドに移ります。列車がポイントの近くにいる時は遠ざかるのを待たせる事ができます。

  遮断機制御コマンド(鉄道模型少年時代)
 遮断機の開閉を行います。開閉したら次のコマンドに移ります。  鉄道模型少年時代のレイアウトでポイントの制御を行う場合はこのコマンドで行います。

  列車位置の設定  (SL鉄道模型)  (鉄道模型少年時代)
 列車が設定した位置を通過したら次のコマンドに移ります。位置の設定はホームなど決められた位置の他、レイアウト上の任意の位置を設定する事ができます。

  繰返しの設定
 繰り返す回数を設定する事ができます。指定した分の繰返しが終わったら次のコマンドに移ります。

  サウンド制御コマンド
 サウンドを鳴らしたり止めたりします。サウンドの種類はサンプルをいくつか用意していますが、自分のサウンドファイルを定義する事ができます。  2つ以上のサウンドを同時に再生する事ができます。

  自動運転終了
 自動運転を終了します。このコマンドは最後のコマンドの後にしか追加できません。

  オプション出力の設定
 I/Oコントローラの7〜10のリレーの制御を設定する事ができます。このコマンドはシミュレーションモードではシミュレーションされません。

  列車速度の変更
 列車の速度を0〜100の範囲で変更する事ができます。

  転車台制御コマンド(SL鉄道模型)
 転車台の回転や転車台電源のON/OFFの制御を行います。


・アラームの設定 

 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。アラームの時刻を時と分で設定してください。


・タイマーの設定 

 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。タイマーの時間を分と秒で設定してください。
 タイマーには自動運転開始と同時に動き出すものとプログラムの途中で動き出すものの2種類があります。
 先頭にある場合は、自動運転開始と同時に動き出します。  他のコマンドに続く場合は、そのコマンドが終了した後でタイマーが動き出します。


・列車制御コマンド 

 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。列車の制御をラジオボタンで設定してください。
 周回数や距離を定義すると定義した周回数を周回しないと次のコマンドには移りません。
 距離は指定した周回数を周回した後に列車の移動距離をレイアウトの座標の単位で指定します。(レイアウトの大きさは640×480)
 周回数を細かく制御したい場合は距離を指定してください。移動距離だけで制御する場合は周回数を0にして距離だけを指定します
 周回数、距離共に0を指定すると列車の制御をした後、直ちに次のコマンドに移ります。


・ポイント制御コマンド 

 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。電動ポイントの制御をラジオボタンで設定してください。
 分岐側に切替えると列車はホームに入線します。外周をまわす時は直進側に戻します。

 切替抑制距離は列車がこの距離内にいる時はポイントを切り替えないで列車がポイントを離れるまでポイントの切替を待ちます。
 距離はポイントと列車間の直線距離でレイアウトの座標の単位で指定します。(レイアウトの大きさは640×480)
 なお列車が止まっている時はこの距離内にいてもポイントを切り替えます。  またこの値を0にすると列車が動いている場合でもポイントは即時に切り替えます。
 この切替抑制距離を使えば列車がポイントを通過する前にポイントを戻すコマンドが定義できます。  例えば列車がホームから出発させた直後にポイントを外周に切替えるコマンドを定義しても切替抑制距離をホームの停止位置とポイントの距離以上にしておけば、列車がポイントを通過してこの距離以上遠ざかるまでポイントは元に戻されません。

 ポイントが複数定義されている場合はポイント番号が指定できます。昭和の鉄道模型を作るのレイアウトではポイントはひとつしか定義されていませんのでこの項目は表示されません。
 ポイントの増設についてはポイントとオプション出力の増設を参照してください。
 ポイントは本プログラムの開始時や自動運転開始時に全て直進側に切替えられます。
 SL鉄道模型のポイント番号とポイントの位置はこちらを参照してください。


・遮断機制御コマンド(鉄道模型少年時代) 

 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。電動遮断機の制御をラジオボタンで設定してください。

 遮断機をポイント番号で指定します。  遮断機とポイントの関係は踏切の作成を参照してください。
 遮断機は本プログラムの開始時や自動運転開始時に全て開きます。
 なお鉄道模型少年時代のレイアウトでポイントの制御を行う場合はこのコマンドで行います。その場合は開くを直進側、閉じるを分岐側に読み替えてください。  また上記のポイント制御コマンドの切替抑制距離を設定してください。


・列車位置の設定   (SL鉄道模型)  (鉄道模型少年時代)
 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。列車の通過点をラジオボタンで設定してください。
 指定した通過点を車両が通過するとプログラムは次のコマンドに移ります。

 ユーザ定義を指定するとX座標とY座標が直接指定できます。  レイアウト参照ボタンを押すとレイアウト画面に切り替わるので設定する通過点をマウスでクリックしてください。  位置が決定したらOKボタンを押してください。(ダブルクリックを押すとOKボタンを押さなくても位置を決定できます)



 センサーを指定する場合はセンサー番号とタイムアウトを指定します。
 センサー番号は0〜5でArduinoのアナログ入力番号で指定します。
 タイムアウトはセンサーが監視する時間を秒で指定します。  タイムアウトの時間までにセンサーが反応しない場合はこのコマンドは終了して次のコマンドに移ります。
 センサーが反応しない時はタイムアウト時間までArduinoでの車両の制御はできません。
 なおこのタイムアウトはセンサーチェックの回数でカウントされるので正確な時間ではありません。

 センサー装置はArduinoインタフェイスに接続して取り付けください。
 またシミュレーションモードでセンサーチェックをシミュレーションする場合はレイアウトエディタでセンサー位置の設定をしておく必要があります。
 なおSL鉄道模型のレイアウトでは予めセンサー0をレイアウト右側(ポイント間の真ん中)とセンサー1をレイアウト下の引込線中央に設定してあります。
 必要に応じてレイアウトエディタで変更してください。


・繰返しの設定 
 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。繰返しの回数を設定してください。

 続いてリンク先を指定してください。戻りたいコマンドをマウスでクリックします。  リンク先はリンクの変更コマンドでも変更できます。  リンク先が定義されていないとこのコマンドは無効になります。


・サウンドの制御 
 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。サウンドの再生または停止とサウンド番号を設定してください。

 繰返し再生を指定するとそのサウンドファイルの再生を繰り返します。  再生は再生が終わると自動的に停止します。  サウンド番号は定義してあるサウンドの数まで指定できます。  なお定義できるサウンドの数は最大100ファイルまでです。
 サウンド設定ボタンを押すとサウンドファイルの設定ができます。番号とファイルの対応はこのボタンを押して確認してください。
 サウンド設定ではサウンドファイルをテスト再生する事ができます。このボタンで追加したサウンド番号も指定できます。
 再生中に他のサウンドを再生すると音を重ねて再生する事ができます。重ねたくない場合は停止で前のサウンドを止めておいてください。


・オプション出力の設定 
 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。オンオフの指定とリレー番号を設定してください。

 リレー番号は7〜10の値が指定できます。  リレー7〜10は自動運転開始時に列車の制御のようにオフにしませんので必要に応じてこのコマンドで自動運転開始時にオフにしてください。


・列車速度の設定 
 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。列車速度を設定してください。

 列車速度は0〜100の値が指定できます。100を指定すると最大速度になります。
 フェード時間を指定すると徐々に加速減速して指定した秒数後に指定した速度にします。  この値を指定しない(0のまま)と直ちに指定した速度にします。  フェードで速度が変化中に列車制御コマンドが実行されると速度の変化は停止されその時の速度が維持されます。
 なおI/Oコントローラによる実際の列車の速度を制御するためにはI/Oコントローラの変更および設定ファイルの変更が必要です。
こちらを参照してください。


・転車台の制御(SL鉄道模型) 
 新規にこのコマンドを追加したり編集すると下記のダイアログが表示されます。転車台の制御をラジオボタンで設定してください。

 転車台を回転させる場合は転車台が接続する引込線の番号をラジオボタンで設定します。
 引込線は転車台に入線する線が1番(レイアウト下)、2番(レイアウト上)で待機線が下から3番4番5番です。
 転車台電源ONとOFFは転車台のおよび接続する待機線の車両電源のON/OFFを制御します。

 「反転方向」のチェックを付けておくと転車台が反転して引込線と接続します。
 「自動発車」のチェックを付けておくと転車台が引込線と接続したら自動的に転車台の車両電源をONにします。

・編集操作
 コマンドを編集する場合は、対象となるコマンドをマウスで選択(緑のカーソルで表示)しておきます。  コマンドを選択しない状態にするにはマウスでプログラム表示画面の背景の部分をマウスでクリックします。
 編集コマンドはメニュバーの編集メニュで編集コマンドを実行するかコマンド画面でマウス右ボタンクリックをしてポップアップメニュを表示してコマンドを実行します。


 ・コマンドの追加/挿入
  プログラム画面のコマンドを選択した状態でコマンドツールバーのアイコンをクリックするとそのコマンドが選択しているコマンドの後に追加されます。 選択しているコマンドの後にコマンドが続いている場合はその間にコマンドが挿入されます。
  アラームコマンドは他のコマンドの後に追加する事ができないためコマンドが選択されていても必ず行の先頭に置かれます。
  タイマーコマンドは他のコマンドの後に追加する事も先頭に置くこともできます。先頭に置くにはコマンドを選択していない状態でコマンドツールバーのアイコンをクリックします。
  アラームコマンドとタイマーコマンド以外のコマンドは先頭に置く事ができないので必ず先行するコマンドを選択しておく必要があります。

 ・コマンドの編集
  プログラム画面のコマンドを選択した状態で編集コマンドを実行するとコマンドを追加した時に表示された編集ダイアログでコマンドの設定を変更する事ができます。
  プログラム画面のコマンドをダブルクリックしても編集ダイアログを開く事ができます。

 ・コマンドの削除
  プログラム画面のコマンドを選択した状態で削除コマンドを実行するとそのコマンドが削除されます。 先頭のコマンドを削除する場合はそのコマンドに続く全てのコマンドが削除されます。 なお自動運転開始のコマンドは削除する事はできません。

 ・コマンドの移動
  プログラム画面のコマンドを選択した状態で次に移動コマンドまたは前に移動コマンドを実行するとそのコマンドの順序を変更する事ができます。
先頭のコマンドを削除する場合はそのコマンドに続く全てのコマンドが削除されます。 なお自動運転開始のコマンドは削除する事はできません。

 ・コマンドのリンク
  最後のコマンド(先頭のコマンドを除いてそれに続くコマンドがないもの)は他のコマンドにリンクする事ができます。リンクするとそのコマンドが終了した後、リンク先のコマンドに制御が移ります。 リンクはプログラムを繰り返して実行させる場合に使います。
  リンクするにはまずリンクするコマンド(最後のコマンド)を選択しておきます。 次にリンク先のコマンドをクリックします。

  リンクされているコマンドは、リンク先を変更したりリンクを削除したりする事ができます。
  リンク先を変更するにはリンクされているコマンドを選択しておき、リンクコマンド(ポップアップメニュはリンク変更)を実行します。 次に新しいリンク先のコマンドをクリックします。
  リンクを削除するにはリンクされているコマンドを選択しておき、リンク削除コマンドを実行します。


・プログラムの保存と読込み
 プログラムの保存でプログラムを保存しておくと次回からはNATOCの起動時にプログラムファイルが読み込まれプログラムを実行する事ができます。  プログラムを保存する場合はファイルメニュのプログラムの保存コマンドを実行します。

 保存した他のプログラムを読み込む場合はファイルメニュのプログラムファイルを開くコマンドを実行します。
 NATOCで提供されるサンプルプログラムを読み込む場合はファイルメニュのサンプルプログラムを開くコマンドを実行します。
 サンプルプログラムはNATOCのプログラム作成の参考にしてください。


・サウンドの設定
 サウンドの設定は設定メニュのサウンド設定コマンドかサウンドコマンドを追加編集するダイアログのサウンド設定ボタンで行います。

 このコマンドを実行すると右のダイアログが表示されます。  追加ボタンを押しサウンドファイルを指定してください。サウンドファイルの種類はWAVEファイル(PCM音声データ)またはMIDIファイルです。
 MP3のようなエンコードされたサウンドファイルはサポートしていませんのでWAVEファイルに変換してから設定してください。
 なお設定されたファイルが消された場合は自動運転やシミュレーションの実行時にエラーとなりますのであらかじめ適当なNATOC用のディレクトリに集めておいてください。
 テスト再生ボタンはリストで選択したサウンドファイルを再生して確認する事ができます。上下に移動ボタンでサウンド番号を変更するためにリストの順番が変えられます

 最初サウンドファイルは16ファイルを登録して次の17ファイル目を登録しようとした時点で次の警告メッセージが表示されます。
 「これ以上サウンドファイルを追加する場合はサウンドファイルの設定を更新した後、NATOCを一度終了してください。」
 その時はサウンド設定ダイアログをOKボタンで閉じて16ファイル目を登録した後、NATOCを一度終了してください。
 NATOCを再起動すると今度は2倍の32ファイルまで登録する事ができます。この操作を繰り返すと最大1024ファイルまで登録する事ができます。


・プログラムの連続実行
 フォルダ内のプログラムをすべて連続で実行する事ができます。
 ファイルメニュのプログラムの連続実行コマンドで行います。
 プログラムの連続実行に先立って
連続実行設定コマンドでプログラムの保存しているフォルダ等を指定しておく必要があります。

 プログラムの連続実行を途中で止める場合は、コントローラの自動運転ボタンを押して自動運転を停止させてください。

 このダイアログに対してはいを答えます。  いいえを答えると次のプログラムの実行に移ります。
 なお自動運転させた場合はプログラムのリンクによる繰り返し機能は抑制されます。  ただし繰り返しコマンドは回数分繰り返されます。

 プログラムを連続して実行するには次のプログラムに移る前に列車を外周に出しておく必要があります。
 列車を引き込み線に入れたまま次のプログラムに移ると列車が全く動かなく場合があります。
 特にランダムに実行する場合は次にどのプログラムが動いても列車が正しく動くような状態にしてプログラムを終了する必要があります。



 自動プログラムを動かした時の動画です。
 上記のリンクをクリックするとYouTubeに接続します。

目次に戻る