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 などに展開されます。