CA Lab (32 bit / 64 bit)

What is CA Lab?

CA Lab is a user-friendly, lightweight and high performance interface between LabVIEW™ and EPICS.
This project uses proven EPICS BASE libraries (V3.14.12), a CA Lab-library and 2 CA Lab-VIs to access EPICS variables.
CA Lab works with Windows® and Linux.
This interface needs only LabVIEW™ and any EPICS IOC shell over network(OPC, Shared Memory Variables, Network variables, NI IO Service).
It's not necessary to create a LabVIEW™ project to use this interface.
No problem to create an executable of your VI.
No additional licenses are required.
EPICS time stamp, status, severity and optional PV fields are bound to resulting value.
User events with EPICS variables are possible.
CA Lab is open source and works with all LabVIEW™ versions from 7.0 to 2011 (32bit/64bit). It has been tested under Windows XP®, Windows 7® and Ubuntu®.

How does CA Lab work?

structure of CA Lab
Any VI can use caLabGet.vi to read or caLabPut.vi to write EPICS variables. Use caLabEvent.vi to create user events for any EPICS variables. This CA Lab VIs calls interface library caLab.dll, which uses EPICS base libraries ca.dll and Com.dll to provide Channel Access functions. CA Lab-library also builds an internal PV cache to improve read and write access and reduce network traffic.

caLabGet.vi (Polymorphic VI)
  caLabGet.vi   caLabGet.vi

This is a VI for getting values of EPICS variables.
INPUT:

OUTPUT:


caLabPut.vi (Polymorphic VI)
  caLabPut.vi

This is a polymorphic VI for setting values of EPICS variables.
INPUT:


OUTPUT:


caLabEvent.vi
  caLabEvent.vi

This is a VI for creating user events.
INPUT:

OUTPUT:


Performance



caLab.dll (interface between LabVIEW™ and EPICS)

Functions:


CA tools

Additional command line tools for alternative EPICS access:


Examples

Simple VIs to read and write EPICS values:

caget example

caGet

camonitor example

caMonitor

caput example

caPut

event example

 

move mouse over image to see more



FAQ

Read more:

Q: How can I do a quick check that CA Lab-installation works properly?
A: Use the full installion and run "startDemo.bat".

Q: I get a lot of warnings on first start of your VI. What's the problem?
A: The CA Lab-VIs need the absolute path to caLab.dll. This absolute path varies from computer to computer. LabVIEW™ looks for the right path at first run and reports that library paths have been changed. You should save these changes.

Q: CA Lab-VIs aren't executable, what can I do?
A: Check following:

Q: What is the maximum number of PVs monitored, tested up to now?
A: We have simultaneously monitored up to 1.000 PVs. But we're sure the limit is higher. A large number of PVs takes significant time to initialize when a PV is passed to the other. It's better to pass the PVs as an array. Reading, writing and monitoring after initialisation is no problem.

Q: Can CA Lab generate its own EPICS channels, or only connect to already defined channels?
A: CA Lab is a pure client application. If you want to generate your own channels, you can use "softIoc.exe". You can find an example in the demo application of caLab. Look at /db/demo.db for variable definitions.

Q: Will caLab work with any version of LabVIEW 64bit?
A: Yes, CA Lab does since V1.3.0.3. Please be sure to download the 64 bit version.

Q: I'm wondering what the timeout parameter does.
A: The timeout is the timeout for initializing and for retrieving the value for the FIRST call. After first call of any PV a background task monitors PVs and every call will be served by cached values from this task.

Q: I use caLabPut. When should I set the parameter "synchronious" to TRUE?
A: If it is necessary to wait til all record processing of written PV has been finished before next value can be set then you should set the connector of caLabPut "synchronious"=TRUE.

Any other questions are welcome! Please send me a mail.


Downloads of CA Lab

setup Setup for Windows® and LabVIEW™ 2010 64 bit and higher (source code included) V1.3.1.3
05 MAR 2012
setup Setup for Windows® and LabVIEW™ 8.5 32 bit and higher (source code included) V1.3.1.3
05 MAR 2012

Distribution of "caLabSetup_1313" contains:

archive CA Lab archive - sources and VIs only (Linux and Windows®)V1.3.1.3
05 MAR 2012

setup Setup for Windows® and LabVIEW™ 7.0 and higher (source code included) V1.2.1.5
02 AUG 2011
Distribution of "caLabSetup_1200_LV70" contains:

archive CA Lab archive - sources and VIs only (Linux and Windows®)V1.2.1.5
02 AUG 2011

Change Log



Authors

Carsten Winkler and Tobias Höft
05 MAR 2012

Copyright and license of CA Lab

Copyright (C) 2010 Helmholtz-Zentrum Berlin für Materialien und Energie GmbH , Berlin, Germany (HZB).
This software is distributed under the terms of the EPICS Open License .
LabVIEW is a trademark of National Instruments Corp.
http://www.ni.com

Ubuntu is a registered trademark of Canonical Ltd.
http://www.ubuntu.com

Windows is a registered trademark of Microsoft Cooperation
http://www.microsoft.com