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


Ignore:
Timestamp:
06/18/12 17:53:56 (12 years ago)
Author:
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つでパルス出力が出せる、というお話しでした。