wiki:epics/streamdevice/waveform1

Version 1 (modified by obina, 12 years ago) (diff)

--

waveformレコードに値を入れたい

例1:オシロスコープ

あらかじめASCIIモードで転送するように設定。CURV?コマンドを送ると、数値のみをコンマ区切りで値を返す場合。 (こんな感じのレスポンスは楽に処理できます)

CURV?
19,21,19,20,19,20,19,20,19,18, .... ,19,19,20,20,19,19<LF>

解決方法

protocol file (sample.proto)

Terminator = LF;
getIDN {
    out "*IDN?";
    in "%39c";
    ExtraInput = Ignore;
}
getDATA {
    Separator = ",";
    out "CURV?";
    in  "%d";
}

database file (stream.db)

record(waveform, "obina:data_ch1")
{
    field(DESC, "get wave data")
    field(DTYP, "stream")
    field(SCAN, "Passive")
    field(INP,  "@stream.proto getDATA PS1")
    field(NELM, "10000")
    field(FTVL, "LONG")
}