ActiveX CA Tools

What's in this Directory?

0. Changes

These are documented in Changes.txt.
Please read that document because it has the most up-to-date information.

1. EpicsCAServer.exe, EpicsCAClient.exe

These are the ActiveX Channel Access (CA) server and client for Epics
The nomenclature is deeply rooted in Epics but has caused some confusion: LabVIEW can use both the client and the server at the same time! The same applies to a Visual Basic program etc.

Installation

Both the server and the client are registered via RegisterNT.bat or Register98.bat, depending on your system. These will register the ActiveX program where it currently is, so don't delete the files after installation!

For LabVIEW 5.1, check the Update section. If LabVIEW serves PVs but does not receive monitors or react to CA 'put', read the update section again.

2. caget.exe, caput.exe

... are simple command-line programs to read/write values via Channel Access. Just call them without arguments to learn more.
After launching e.g. ServerTests/SimpleRndExample.vi, try

caget -f ExamplePVName

for information on this PV,

caget -m ExamplePVName

to monitor the changes. (Stop caget with <CTRL>-C. It might complain badly for being interrupted)

The test ServerTests/KnobExample.vi should also respond to caput, i.e.

caget -m ExampleKnob

will listen to knob movements,

caput ExampleKnob 5

will move to knob to 5.0.

(If the "caput" doesn't work with LabVIEW, check if you have version 5.1 and refer to the Update section.)

Subnets

As with any Epics client, caget/put as well as the EpicsCAClient program use the environment variable EPICS_CA_ADDR_LIST to locate PVs off your local subnet.

Consequently, when you cannot connect to a PV that exists in another subnet, call

set EPICS_CA_ADDR_LIST=<foreign subnet>

from the command line before using caget/caput, from autoexec.bat (Win98) or set the variable from within the "System" entry in the control panel (NT).

Hint: When testing this software on a machine temporarily unconnected (e.g. Laptop), it might be necessary to set EPICS_CA_ADDR_LIST to 127.0.0.1 in order to connect clients to servers on that very same machine.

3. LabVIEW

Update

The ActiveX-events are supported by LabVIEW version 5.1 and higher, so you need at least those versions.
In LabVIEW 5.1 there is an error, the file

<LabVIEW>\resource\ax-events.dll

has to be replaced by the one in the LabVIEWUpdate directory.
(I got ax-events.dll from the NationalInstruments' support people, it's now also available from their KnowledgeBase website).

Libraries

You could work with the ActiveX CA interfaces using solely the ActiveX VIs that come with LabVIEW. It's hopefully easier, however, to use the VIs in CAServer*.llb and CAClient*.llb since these contain some error checking as well as online help.

Note: For now, the online help of the CA*.vis and the examples are all the documentation there is

3. ServerTests, ClientTests

These dirs contain (mostly LabVIEW) test programs and examples.

 


Kay-Uwe Kasemir, kasemir@lanl.gov