Changes between Initial Version and Version 1 of epics/pulse-output


Ignore:
Timestamp:
06/18/12 17:53:56 (13 years ago)
Author:
Takashi Obina
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • epics/pulse-output

    v1 v1  
     1= 小ネタ:パルス出力を出したい =
     2
     3機器制御をするとき、ON/OFFのレベル出力を出すときにはbinary output レコードが便利ですが、
     4場合によってはパルス出力を出したいことがあります。
     5以前には、
     6{{{
     7bo (set 1) -> TaskDely record (watchdog record) ->bo (set 0)
     8}}}
     9みたいなレコードリンクを作ったこともありました。が、あるとき Record Reference Manual をみてみると、bo
     10レコードにはHIGHフィールドがあって、
     11{{{
     12HIGH    Seconds to Hold High  FLOAT
     13}}}
     14などと書いてあることに気づいた( https://wiki-ext.aps.anl.gov/epics/index.php/RRM_3-14_Binary_Output )
     15
     16
     17テストレコードを作成
     18{{{
     19record(bo, "obina:pulse") {
     20  field("DESC", "binary output")
     21  field("ONAM", "ON")
     22  field("ZNAM", "OFF")
     23  field("HIGH", "0.2")
     24}
     25}}}
     26
     27
     28camonitorで測定しながら値を1にセットする、{{{caput obina:pulse 1 }}}
     29
     30{{{
     31obina:pulse                    2012-06-18 17:46:07.046824 ON
     32obina:pulse                    2012-06-18 17:46:07.244182 OFF
     33obina:pulse                    2012-06-18 17:46:22.543104 ON
     34obina:pulse                    2012-06-18 17:46:22.740631 OFF
     35}}}
     36ちゃんと設定通り0.2秒後にON→OFFになっている。
     37
     38
     39ディレイ値はランタイムで変更可能なので、
     40{{{caput obina:pulse.HIGH 10.0 }}}と設定してみる。
     41{{{
     42obina:pulse                    2012-06-18 17:46:47.725375 ON
     43obina:pulse                    2012-06-18 17:46:57.723736 OFF
     44}}}
     45特に問題無し。ちゃんとAsyncで動いているので、10秒のあいだ他の制御をブロックすることもありません。
     46
     47レコードリンクを使わなくとも、これ1つでパルス出力が出せる、というお話しでした。