2013年2月5日火曜日

JMRI Logix で if 文の条件に信号機の現示を設定できるのか確認


先日、Logix の if 文に 信号機の現示状況を 条件に設定できない との記事を掲載しました。
すると、コメントにて 「可能である」とのコメントを頂きましたので、JMRI の Logix の論理演算についての確認をしてみました。


で、先に結論なのですが、「私の状況では出来ません」でした。

これは、コメント主さんが間違っているという事ではなく、
私の構築状況・JMRIのバージョンに依存している事が、原因として考えられるかと思います。
また、私の場合、if 文の条件にいれる 信号機が 仮想信号機であることが、影響しているのかもしれません。


もう少し、実験しないといけませんね。
もし、「ここが違う!」という点があれば、是非コメントよろしくお願いいたします。


検証画面を張り付けてみます。


現在のLogixの設定状況です。
ルートの開閉判定ロジックが並んでおります。




追加ボタンを押して、新しいLogixを作成します。
システム名には、、、

JMRI内部だけで使用するという意味の 「I」
Logixを意味する 「X」
信号機を意味する「H」
(ここまでは、JMRIで一般的に使われている略語です)

その後は
東海道貨物を意味する 「F」 ・・・私が勝手につけています
仮想信号を参照する閉塞信号機が 101 なので、「101」
仮想を意味する 「V」

という感じで名前を付けています。




Create Logix をクリックすると、「IXHF101V」の名前で、新しいLogixが作成されます。
ただ、これは IXHF101V という入れ物ができただけ。
具体的な条件を、これから作成します。



「New Conditional」 をクリックして具体的な条件を作成しています。
まず、仮想信号機が赤信号、つまり、停止現示をだす条件を作ろうとしています。



「追加 State Variable」 をクリックして、条件文を作成します。
最初に現れる画面がこちら。




「変化時間」 の中から、「信号機」を選択します。
(変化時間という日本語、よく意味がわかりません。。。)

すると、追加設定の為の入力欄が現れます。




システム名に、条件にしたい信号機名を設定します。





で、ここからなのですが、、、、、

Variable State、つまり、その信号機の「何をみるのか?」を設定します。
で、選択肢の中をみたとき、一番それっぽいのが、
「Signal Head Appearance Equals」ですが、、、、Signal Head は別の信号機のような気が。。。




で、「Variable Aspect」 の中を選択しようと思っても、現示が条件にでてくるわけではありません。




「Variable State」 を変えても、「Variable Aspect」の中身は特に変わりがありません。
うーん、何か、根本的に間違えているのかもしれませんね。。。

もっと勉強が必要そうです。

「ここが間違っている!」という点がありましたら、是非教えてください。




おまけ、
東海道 旅客線で迂回してきた上り貨物列車が、鶴見駅で貨物線に戻り、東京ターミナルを目指している状況。
で、東海道貨物線を下ってきた貨物列車が、貨物本線を通過して、高島線下りにむかっている状況。












4 件のコメント:

  1. 私も悩みました。最後の選択の絵で、現示選択のプルダウンメニューのところにType mast name....と出ています。なので、System/User Nameのボックスにカーソルをもっていき、タイプし直して(あるいはリターンだけでも可)みてください。そうすると現示選択のプルダウンメニューがRed/Yellow/Green等のプルダウンメニューに変わります。私のところでは英語環境ですが、同じようにタイプし直す必要がありました。左から順番に入力していきたくなるのが当たり前で、不親切な仕様だと思いますね。うまくいきますように。

    返信削除
    返信
    1. なるほど、、、さっそく実験してみます! また報告させて頂きます。
      いつも本当にありがとうございます!

      実は、ルート設定でも、「設定番号自動割り当てのオン・オフ」をクリックしてからでないと、保存できないという、バグがありました。
      それと同じような状況かもしれませんね。

      削除
    2. 先程実験してできました!とても嬉しいです(笑)
      あとで、ブログ記事アップさせて頂きます。

      削除
  2. このコメントは投稿者によって削除されました。

    返信削除