走行する編成の速度を制御するには、”速度制御モジュール”を導入すると便利です。レール電圧を100段階のステップで速度を設定できます。アプリケーションから自由に、場面に合わせた臨機応変な設定が可能です。
速度制御モジュールは、下記のように定義します。
SmartCabs:Power
これは、"Power"と名付けた速度制御モジュールをシステムに定義するものです。2つ以上でも名前を付けて登録できます。実際の速度の設定は、アプリケーションソフトで、自由に設定できますし、いくらでも場面に合わせて変更できます。
編成の慣性度、ブレーキで停車させること、正逆切り替えも指定できます。1つのメイン路線に複数編成を、衝突なしに自動運転することも可能です。(Cab Controlと言います。)
2010年8月30日
PCで自動運転 その34!ソフト編7(制御と監視)
今回は、制御とセンサーの定義の仕方をご説明します。
サンプルーコードをご覧ください。
Controls:spare,spare,switch1,switch2,switch3,switch4,spare,spare
Sensors:station_in*~,spare,spare,spare
west#,east#,spare,spare
"Controls"では、システムのループに接続された制御リレーの定義をします。ここではポイントの切り替え回路を接続したポートの位置に従って、定義しています。具体的には、1番目のリレー回路のポート3(ポイント1)、ポート4(ポイント2)、2番目のリレー回路のポート1(ポイント3)、ポート2(ポイント4)を定義しています。使っていないポートは、"spare"と設定します。
"Sensors"では、システムに接続されたセンサーの定義をします。センサーは、使用するセンサーに合わせて、論理の反転や、レールの汚れ検知補正などを設定します。ここでは、透過型フォトセンサー、電流検知器(走行が西向きか東向きかを検知)を定義しています。使用していないセンサーポートは、"spare"と設定します。簡単です。
サンプルーコードをご覧ください。
Controls:spare,spare,switch1,switch2,switch3,switch4,spare,spare
Sensors:station_in*~,spare,spare,spare
west#,east#,spare,spare
"Controls"では、システムのループに接続された制御リレーの定義をします。ここではポイントの切り替え回路を接続したポートの位置に従って、定義しています。具体的には、1番目のリレー回路のポート3(ポイント1)、ポート4(ポイント2)、2番目のリレー回路のポート1(ポイント3)、ポート2(ポイント4)を定義しています。使っていないポートは、"spare"と設定します。
"Sensors"では、システムに接続されたセンサーの定義をします。センサーは、使用するセンサーに合わせて、論理の反転や、レールの汚れ検知補正などを設定します。ここでは、透過型フォトセンサー、電流検知器(走行が西向きか東向きかを検知)を定義しています。使用していないセンサーポートは、"spare"と設定します。簡単です。
2010年8月8日
2010年8月6日
PCで自動運転 その33!ソフト編6(変数2)
変数は、代数式で計算し、新しい値にできます。たとえば周回一回する度に、+1するとか、他の値と加減乗除することができます。乱数を使ってモジュロ2で余りを求め、コインの表裏の選択にも使えます。また現在時刻を使って、(例えば)15分単位に通勤列車を発車する時刻ダイア運転にも使えます。周回中の編成を、指定の周回数に至る前に、強制的に次の駅で停車を指示する事ができます。アプリケーションには必須のアイテムですので、活用されると運転の幅が拡がります。
2010年8月5日
PCで自動運転 その32!ソフト編5(変数)
今回は、”変数”をご紹介します。変数は、周回した回数、内線/外線の入れ替え指示、乱数処理、駅で停車させる指示、などなどアプリケーションが走っているときに、変化していくデータとしてアプリに取り込ますことができます。Qkeysから変数の内容を変更することも出来ます。
下記のサンプルコードは、定義の仕方の例です。ここでは、11個の変数を定義しています。
Variables:inside,outside,stop_in,stop_out,should_stop,trackchange,station_out,every,coin,speed_high,speed_low
下記のサンプルコードは、定義の仕方の例です。ここでは、11個の変数を定義しています。
Variables:inside,outside,stop_in,stop_out,should_stop,trackchange,station_out,every,coin,speed_high,speed_low
登録:
投稿 (Atom)