ユーザ用ツール

サイト用ツール


event_script

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
event_script [2018/06/17 20:48]
– [IF命令の解説] yaasan
event_script [2019/04/10 08:43]
– [ラッチ] yaasan
行 99: 行 99:
  
  
-===== JUMP系命令の解説 =====+===== S88センサラッチ機能 ===== 
 + 
 +**0.97以降からサポート** 
 + 
 +ラッチ機能=S88の指定センサの状態を強制的にOFF(赤)かON(緑,在線)に設定変更して、解除の合図があるまではそれを保持する機能です。 
 + 
 +理由としては、センサはどうしてもチャタリングすることが多く、電流式であっても、ギャップをまたぐときに誤動作のリスクもありました。また、複数のセンサを連動して考えるとき、S88のハードでは実現が難しいので、プログラミングでどうにかするには、結構面倒でした。 
 + 
 +なぜ複数のセンサを連動させたいかというと、次の閉塞区間まできちんと行ったかどうかを判定するとき、センサを通過してしまうと自動的に非在線に戻ります(特に光式センサの場合が顕著)。特に信号機などを連動させると、自動的に戻るのが困る状況がよくあります。そこで、自動で戻らないようにして、ある条件で復帰するようにするためにラッチ機能を使用するのです。 
 + 
 + 
 +===== JUMP系命令の解説(廃止予定) ===== 
 + 
 +**JUMP系命令は廃止予定です。0.97以降からコマンド追加ができません。汎用性の高いGOTOIFコマンドを使用下さい。** 
  
 JUMP命令と、LABEL命令はセットで使うものです。JUMP命令には条件を設定します。その条件に合うとき、指定されたLABELの付いた行に飛ぶ処理を行います。LABEL関数は、それだけは何もしません。単なるJUMP先の目印でしか使いません。なので、何個設置しても何も起きません。たとえば、以下の様な使い方ができます。 JUMP命令と、LABEL命令はセットで使うものです。JUMP命令には条件を設定します。その条件に合うとき、指定されたLABELの付いた行に飛ぶ処理を行います。LABEL関数は、それだけは何もしません。単なるJUMP先の目印でしか使いません。なので、何個設置しても何も起きません。たとえば、以下の様な使い方ができます。
行 149: 行 163:
 |SSPD | 指定スロットの速度。速度の範囲は0-1023.スロットはA~Hまで指定できます。SSPD.G==500 | |SSPD | 指定スロットの速度。速度の範囲は0-1023.スロットはA~Hまで指定できます。SSPD.G==500 |
 |SDIR | 指定スロットの車両の進行方向, 1=FWD, 2=REV. スロットはA~Hまで指定できます。SDIR.G==1| |SDIR | 指定スロットの車両の進行方向, 1=FWD, 2=REV. スロットはA~Hまで指定できます。SDIR.G==1|
-|S88 | S88デコーダの0はじまりアドレス。数字のみ。センサ番号に対して、-1を指定してください。センサ1ならS88.0、センサ52ならS88.51 |+|S88 | S88デコーダのアドレス。数字のみ。センサ1ならS88.1、センサ52ならS88.52 |
 |ACC | ポイント・信号機の分岐方向, 0=分岐, 1=直進。アドレスはそのまま指定できます。ACC.1==1| |ACC | ポイント・信号機の分岐方向, 0=分岐, 1=直進。アドレスはそのまま指定できます。ACC.1==1|
 |ROUTE | ルートが開通状態(1)か、非開通状態(0)かを返します。ROUTE.2==1| |ROUTE | ルートが開通状態(1)か、非開通状態(0)かを返します。ROUTE.2==1|
event_script.txt · 最終更新: 2022/02/25 22:05 by yaasan

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki