«前の日記(2019年04月22日) 最新 次の日記(2019年04月27日)» 編集

一往確認日記


2019年04月26日 [長年日記]

_ Timerの置き換えからRubyらしい考え方 - PLCのRuby言語コントロールユニット(3)

前回はタイマーの置き換えで詰まってしまいました。

シリンダーセンサー

Image from Gyazo

Timerクラスを作ってブロックを使ってこんな感じでしようか? やっぱりラダーの方が簡単ですね。

t6 = Timer.new(5)

m4 = x4 && !x5
m5 = x5 && !x4
if (x4 && x5) || (!x4 && !x5)
  t6.start_if_not_started{|canceled|
    m6 = true unless canceled
  }
else
  t6.cancel
  m6 = false
end

タイマーの仕様を変えてちょっとスッキリした様なしない様な…

t6 = Timer.new(5)

m4 = x4 && !x5
m5 = x5 && !x4
t6 = (x4 && x5) || (!x4 && !x5)
m6 = t6.fired?

いきなり暗礁に乗り上げてしまいました。