wiki:epics/excas

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

--

試験用のレコードが欲しいとき

epics baseには"excas"と呼ばれるCA-Serverが含まれています。 どこかの端末でexcasと打ち込めば、デフォルトでjaneとかfredとか、いくつかのレコードが 動き始めます。GUIや各種レコードなどテスト的に使いたいときには便利です。 (CSSならば、内部レコードとしてsim://noiseとかあります)

pfrproc3:app % camonitor jane
jane                           2012-06-04 19:14:21.560384 3.85108
jane                           2012-06-04 19:14:22.096944 3.79075
jane                           2012-06-04 19:14:22.190037 3.69086
jane                           2012-06-04 19:14:22.283139 3.78994
jane                           2012-06-04 19:14:22.376222 3.85872
jane                           2012-06-04 19:14:22.469329 3.81489
jane                           2012-06-04 19:14:22.562295 3.9136
jane                           2012-06-04 19:14:22.655232 3.98313

pfrproc3:app % camonitor fred
fred                           2012-06-04 19:18:10.037798 0.440294
fred                           2012-06-04 19:18:13.868705 0.413087
fred                           2012-06-04 19:18:15.860922 0.316736
fred                           2012-06-04 19:18:17.853301 0.217103
fred                           2012-06-04 19:18:19.846397 0.184626
fred                           2012-06-04 19:18:21.839469 0.224017

上の例に挙げるように、janeは0.1秒スキャン、fredは2秒おきにスキャンするレコードです。 waveform用にはalan(100個)、albert(1000個)などが使えます。定義ファイルは以下の通り

pvInfo exServer::pvList[] = {
    pvInfo (1.0e-1, "jane", 10.0f, 0.0f, aitEnumFloat64, excasIoSync, 1u),
    pvInfo (2.0, "fred", 10.0f, -10.0f, aitEnumFloat64, excasIoSync, 1u),
    pvInfo (1.0e-1, "janet", 10.0f, 0.0f, aitEnumFloat64, excasIoAsync, 1u),
    pvInfo (2.0, "freddy", 10.0f, -10.0f, aitEnumFloat64, excasIoAsync, 1u),
    pvInfo (2.0, "alan", 10.0f, -10.0f, aitEnumFloat64, excasIoSync, 100u),
    pvInfo (20.0, "albert", 10.0f, -10.0f, aitEnumFloat64, excasIoSync, 1000u),
    pvInfo (-1.0, "boot", 10.0f, -10.0f, aitEnumEnum16, excasIoSync, 1u),
    pvInfo (1.0, "booty", 10.0f, -10.0f, aitEnumEnum16, excasIoAsync, 1u),
    pvInfo (-1.0, "bill", 10.0f, -10.0f, aitEnumFloat64, excasIoSync, 1u),
    pvInfo (-1.0, "billy", 10.0f, -10.0f, aitEnumFloat64, excasIoAsync, 1u)
};

注意

excasを複数の人が実行すると、レコード名が重なってしまいます。 実行するときにはプリフィックスを付けて、例えば

pfrproc3:src % excas -ptest:

などとして実行すると、レコード名は test:jane などに展開されます。