Easy Automationサンプル/エアロック

Last-modified: 2017-04-28 (金) 00:18:19

Easy Automationスクリプトを使用したエアロックのサンプル。

EA_Airlock_1.jpg

ブロックと名前・設定

ブロック名前備考
ドア類A1_Door_OUT外側のドア
A1_Door_IN与圧空間側のドア
ライト類A1_Light_OUT外側の表示用ライト
A1_Light_IN与圧空間側の表示用ライト
エアベントA1_Ventエアロック内のベント
酸素タンク任意ある程度酸素を入れてベントに繋いでおく
LCD類Code Panelここにコードを書く
タイマーEasy Automation TBプログラマブルブロックのRunを
Argumentに何も書かずに設定。
(Easy Automationの共通の設定)
プログラマブルブロック任意Easy Automationのスクリプトを保存
ボタンパネル任意起動用
プログラマブルブロックのRunを
Argumentは「Code Panel(Airlock1)」にして設定

挙動

  • 最初の動作
    • エアロックのドアを閉じる。
    • 表示ライトが黄色に変わる。
  • 1秒経った後、与圧状態の操作。
    • ドアの電源を切る(ドアをロックする代わり)
    • 減圧がオンかどうかを判定し、分岐。加圧または減圧を開始。
  • 3秒経った後、通れるようになる。
    • 表示ライトが通れる側は緑、通れない側は赤に変わる。
    • 通れるようになる側のドアのロックが解除される。
    • そのドアが開く。

コード

@Airlock1{
  Open_Off A1_Door
  Color of A1_Light = 255:255:0
  Delay 1000
  OnOff_Off A1_Door
  If Depressurize of A1_Vent = On
  {
    Depressurize_Off A1_Vent
    Delay 3000
    Color of A1_Light_IN = 0:255:0
    Color of A1_Light_OUT = 255:0:0
    OnOff_On A1_Door_IN
    Open_On A1_Door_IN
  }
  Else
  {
    Depressurize_On A1_Vent
    Delay 3000
    Color of A1_Light_OUT = 0:255:0
    Color of A1_Light_IN = 255:0:0
    OnOff_On A1_Door_OUT
    Open_On A1_Door_OUT
  }
}

簡易解説

@Airlock1{ここから始まる括弧{}の中身は、Airlock1という名前のコードブロック
Open_Off A1_Door名前にA1_Doorと付くブロックのOpen_Offアクションを実行
Color of A1_Light = 255:255:0名前にA1_Lightと付くブロックのColorプロパティを255:255:0にする
Delay 10001000ミリ秒、待機
OnOff_Off A1_Door名前にA1_Doorと付くブロックのOnOff_Offアクションを実行
If Depressurize of A1_Vent = Onもし、名前にA1_Ventと付くブロックのDepressurizeプロパティがOnなら、後に続く括弧{}の中身を実行
Else直前の{}のIfの条件が満たされていなかったら、これに続く括弧{}の中身を実行

コメント