ActiveX CA Support
EPICS tools use the ChannelAccess protocol (CA) for network communication. EPICS Base includes C/C++ libraries for the CA server and CA client.This package interfaces those CA server and client libraries with ActiveX, allowing many Windows (Win32) programs to use CA. It was meant as a simple-to-use interface (especially compared to directly calling the CA DLLs) and uses ActiveX to accomplish this. The following code, for example, will create a Process Variable and serve its value from within Visual Basic:
'--- Create a Process Variable:
Dim PV As New EpicsCAServer.ProcessVariable
'--- Set it's name (required!):
PV.name = "MyDemoPV"
'--- Set a value to be served:
PV.SetValue 3.13
In addition, several VIs for LabVIEW are provided because LabVIEW was the initial motivation for the creation of this package.
The performance of the ActiveX approach is limited and will never compare to a custom solution for LabVIEW, Visual Basic and the like. The Process Variables created this way are also incomplete when compared to records of an EPICS IOC. The special fields required by the alarm handler for example are not implemented.
NOTE: This package is no longer maintained. The binaries available on this page were built against EPICS base R3.13.7, the LabVIEW VIs were last used with LabVIEW 6i. The original implementer of this package has not used it himself since 2000.
Documentation
After downloading the binaries, please refer to the included "Readme.htm" as well as every document in the "doc" subdirectory.Binaries, Sources
kasemirk@ornl.gov
- ActiveXCA60.zip, the binary and documentation.
- source.tgz, the sources, looking for a new maintainer who can port them to EPICS Base R3.14. You will need a working installation of EPICS base. I cannot offer much assistance, you're on your own.