activex ca server/client update nov. 2000 kay-uwe kasemir, lanl
TRANSCRIPT
![Page 1: ActiveX CA Server/Client Update Nov. 2000 Kay-Uwe Kasemir, LANL](https://reader036.vdocuments.net/reader036/viewer/2022072015/56649ed35503460f94be3bfc/html5/thumbnails/1.jpg)
ActiveX CA Server/Client Update
Nov. 2000
Kay-Uwe Kasemir, LANL
![Page 2: ActiveX CA Server/Client Update Nov. 2000 Kay-Uwe Kasemir, LANL](https://reader036.vdocuments.net/reader036/viewer/2022072015/56649ed35503460f94be3bfc/html5/thumbnails/2.jpg)
ActiveX CA Server/Client http://lansce.lanl.gov/lansce8/epics/PC
– Does Andrew really want this link?
Can be used with many Win32 programs: Visual Basic, LabVIEW, Delphi, …
Reality: Used with LabVIEW LEDA: 1.5y experience, ~10 PCs, 2 .. 400(!)PVs each Other Labs: >25 requests, mostly for the server, though
often unclear (non-EPICS users) Requests for new options:
– string support
– allow passing {value, time} to server
![Page 3: ActiveX CA Server/Client Update Nov. 2000 Kay-Uwe Kasemir, LANL](https://reader036.vdocuments.net/reader036/viewer/2022072015/56649ed35503460f94be3bfc/html5/thumbnails/3.jpg)
LANL Experience
Terrific for small systems– Signal generator, GPIB, new PC: 2 hours!
– No need for vxWorks, IOC, boot host, display computer
Faster initial development cycle no recompile & reboot,(until turned into distributed system)
Easier to learn(?)
vs.
![Page 4: ActiveX CA Server/Client Update Nov. 2000 Kay-Uwe Kasemir, LANL](https://reader036.vdocuments.net/reader036/viewer/2022072015/56649ed35503460f94be3bfc/html5/thumbnails/4.jpg)
LabVIEW Issues
Visual programming is limited– “image” gets too big, “wires” tangled
– no ASCII import/export• no real CVS support, no comparable NI tool
• no script-generated code from signal list, RDB, Capfast, ...
– what you see is all you get:• IOC’s scanning mechanisms have to be re-implemented with
fundamental instructions(loops, delays, …)
![Page 5: ActiveX CA Server/Client Update Nov. 2000 Kay-Uwe Kasemir, LANL](https://reader036.vdocuments.net/reader036/viewer/2022072015/56649ed35503460f94be3bfc/html5/thumbnails/5.jpg)
LabVIEW Issues
Complex logic, many PVs hard to maintain:• “sequences” show only one step at a time• array handling in for-loops:
necessary for bigger systems but misleading(auto-indexing fails for different array sizes)
![Page 6: ActiveX CA Server/Client Update Nov. 2000 Kay-Uwe Kasemir, LANL](https://reader036.vdocuments.net/reader036/viewer/2022072015/56649ed35503460f94be3bfc/html5/thumbnails/6.jpg)
Performance: Looks OK 450Mhz PC: ~0.3ms, send value from LabVIEW to ActiveX CA
Server 900Mhz: ~0.14ms Main factor: COM
(10 PVs @ 10, 100, 500 Hz on 450Mhz Pentium II)
CPU Load
0%
20%
40%
60%
100 1000 5000
Values Served per Second
Lo
ad No Monitors
10 Monitors
![Page 7: ActiveX CA Server/Client Update Nov. 2000 Kay-Uwe Kasemir, LANL](https://reader036.vdocuments.net/reader036/viewer/2022072015/56649ed35503460f94be3bfc/html5/thumbnails/7.jpg)
LabVIEW: Polling CA ‘put <new value>’ into PV on ActiveX CA Server...
ActiveX Event is sent with <new value>,receiver like LabVIEW has to decide whether to serve the new value, a modified value or keep the old one.
VisualBasic can handle events async.,LabVIEW can only “WaitForEvent”– User waits for response
until LabVIEW’smain loop comes aroundto service the PV changes
– LabVIEW offers threads& semaphores, but evenmany Nat.Inst. VIsare incompatible.
”Main code” in here!
![Page 8: ActiveX CA Server/Client Update Nov. 2000 Kay-Uwe Kasemir, LANL](https://reader036.vdocuments.net/reader036/viewer/2022072015/56649ed35503460f94be3bfc/html5/thumbnails/8.jpg)
LabVIEW/PC Issues No remote login into PC LabVIEW 5.1 sometimes crashes during setup of ActiveX
connection(runs fine once this succeeds)
ActiveX Events:– didn’t work before LabVIEW 5.1
– 5.1: still didn’t work originally, it took bulletproof examples for NI support to acknowledge their problem and provide patch, now available from National Instruments’ web site
– memory leak in 5.1, supposed to be gone in 6i (not tested)
Time stamps not synchronized with other EPICS IOCs– could be called an EPICS fault because IOCs use proprietary
protocol
![Page 9: ActiveX CA Server/Client Update Nov. 2000 Kay-Uwe Kasemir, LANL](https://reader036.vdocuments.net/reader036/viewer/2022072015/56649ed35503460f94be3bfc/html5/thumbnails/9.jpg)
Conclusion (still)
Win32-Program (with not too much) data worth serving, e.g. LabVIEW
‘EPICS’ data
+ ActiveX CA Server