Öffnet in neuem Fenster Opens in a new window Öffnet externe Seite Opens an external site Öffnet externe Seite in neuem Fenster Opens an external site in a new window

Notes and FAQ


LabVIEW™ user events with CA Lab must be closed with the new "CaLabEventUnregister" VI, otherwise there is a risk that the app will crash.

Please do not define EPICS variables with the same name but different number or order of field names.

Whenever you use invariant PV names at runtime, set the "variable PV names" input to FALSE. This will increase the performance significantly.

After the start of a CA Lab VI, the EPICS events for all EPICS variables used continue to run in the background. This applies to the entire session of the LabVIEW Runtime. If this is not wanted, then this can be terminated with the CA Lab Disconnect VI.

Linux users should read the README.linux for the setup of EPICS and CA Lab.



Q: I get only correct results for first PV but all others have same/wrong value.
A: When you use several PV names as input series, set input "variable PV names" to TRUE, please.

Q: How can I do a quick check that CA Lab installation works properly?
A: Use the full installion and run "start Demo" from Start menu ( Windows® only).

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? (Windows®)
A: Check following:

  • Search your system for ca.dll, com.dll and carepeater.exe. If you can find several versions of them, then rename all outside of your installation path.
  • Check whether Microsoft Visual C++ 2015-2022 Redistributable is installed suitable for LabVIEW Runtime (32 or 65 bit).
  • Open a command line and type "carepeater". You should get no error message. Terminate it with CTRL-C. If you get any error message you should reinstall CA Lab.
  • Open caLabGet.vi/caLabPut.vi/caLabEvent.vi and search for text "calab.dll". Double click on founds and check if text field "Library name or path" has same content as "path.txt" in your installation path. 

Q: What is the maximum number of PVs monitored, tested up to now?
A: We have simultaneously monitored up to 100.000 PVs. But we're sure the limit is higher. A large number of PVs take significant time to initialize when the PVs are passed separately. 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 \DemoIOC\db\demo.db for variable definitions.
UPDATE: Yes, it can do. Install CA Lab or later.

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 maximum time 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.
If you're using "wait" for caLabPut.vi, timeout defines how long CA Lab waits for response.

Q: When I use a control (instead of constant) for the field names, changing the field names during program execution doesn't change the returned field values.
A: It is not intended that the field names can be changed during runtime. Please put all required field names into a constant string array and select the data you are interested in in the following code. If the field names are only valid for a part of the variables, this does not matter.

Q: I use caLabPut. When should I set the parameter "wait" to TRUE?
A: If it is necessary to wait until all record processing of written PV has been finished before next value can be set then you should set the connector of caLabPut "wait"=TRUE. The "Motor Record" is a good example.
Please check, that your timeout is as long as needed for response.

Q: There is a 'Debugging window' with the message "Error: xxx has been configured with different optional fields". What can I do?
A: This message will appear if there are several views of a PV with different field names. Please use the same count and order of field names for same PV name.

Q: I get errors when I compile VIs with CA Lab.
A: Please set your destination folder of executable outside of "user.lib" and check, you have all needed binaries included.

Q: The network and memory load does not decrease as expected when I stop a VI with CA Lab. Is there a memory leak?
A: There is no memory leak. The CA Lab library keeps all PV connections until all instances of CA Lab are closed. This prevents problems of rebuilding Channel Access connections we had in past. If you want to unload all EPICS PVs you have to close all VIs with CA Lab.

Q: How can I add an access security file to CaLabSoftIOC?
A: This quickest solution is to directly add the parameter in CaLabSoftIOC.vi

Q: How can I hide the debug window?
A: Please set environment variable CALAB_NODBG = PATH_NAME_OF_LOG_FILE
All warnings and debug messages will will be redirected to the defined file.

Q: When I use CA Lab there is a huge memory consumption. Why?
A: Please check whether EPICS variables are used by different data types at same connector. Separate the data types per "PV name(s)" connector.'

You can also reduce memory consumption by using the optional filter for CA Lab Init / CA Lab Get VI.

Q: Is caLab available for real-time units?
A: The interface works for x86 real-time devices running NI Linux RT.

Q:  I always get the following error with a compiled LabVIEW application (exe): "Missing external function calab.dll"
A: Most likely you have installed both the 32-bit and 64-bit versions of CA Lab. Please make sure that the appropriate DLLs (caLab.dll, ca.dll, Com.dll) are used in the LabVIEW application. (see also question "I get errors when I compile VIs with CA Lab.")



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