Introduction¶
The karabo scantool (Karabacon) is a device that can be controlled via a command line interface (CLI), so-called ScanMacro’s or via the graphical user interface (GUI) to perform scans.
For this reason, the scan device is able to carry the whole device environment with aliases in so-called TableElements, which should be configured before instantiation and stored in project files. The explanation of the device types are provided in the General section.
In addition, recording scans relies on a pre-configured the DAQ environment and the use of a DaqController proxy device. The brief introduction is given in section How to setup the DAQ.
Responsibilities and Limitations¶
The Karabacon scantool is designed to perform scan-related tasks (motion). This helps to ensure stable operation of the primary functions. These are:
Controlling motors
Controlling triggers
Controlling the DAQ
Provide basic on-line preview
Therefore it has known limitations in non-essential tasks, including:
Online visualization is for now limited to scalar data. For other data types, currently a processor has to be used.
The scantool does not carry extensive data analysis features. Complex analysis have to go into a separate device.
The scantool cannot make decisions. It cannot protect you or your equipment against bad configurations. Such functionality can be achieved by limits, interlocks and specialized devices. However, it is possible to control the scantool Karabacon via a macro and use the pauseEachStep feature to use filters and do necessary actions from software.
The Karabacon is not handling trainId synchronization. This should be done during online/offline data analysis from trainId’s.
High accuracy synchronization to start acquisition of detector devices (triggers) requires dedicated hardware. This is in most cases not available at the moment (Master Trigger).
Karabacon’s functionality can be extended with separate devices. We provide multiple interfaces for such extensions.
Troubleshooting¶
The scan device’s status displays error messages to guide through the process of configuring and troubleshooting. Some of the most common messages are related to configuring the scan environment, including:
Failed to set up the DAQ: General DAQ troubleshooting, probably one of the selected devices was not instantiated, or there are no selected devices.
Motors not ready for scan: Any selected motor is not instantiated or a motor state is not ACTIVE or ON.
Data sources not ready for scan: Any selected data source device is not alive (instantiated) or does not have the selected key.
Trigger sources not ready for scan: Any selected trigger device is not alive (instantiated) or in a wrong state.
No valid motor axis, sources selected …: The entered axis is not supported by the scan device or the device or property does not exist. The latter can be a typo!
List of motors and scan points must be of the same length: You need to configure the correct number of motors for your scan.
Tips and tricks¶
In principle, Karabacon is capable of ~5 Hz stepping speed, depending on the motor. Yet some of the default settings slow this down to be more in-line with general user requests. These include:
Reduce pipeline waiting time: In case of pushing speed, the default 1.5 seconds overhead should be reduced. Longer waiting times provide better synchronization for slow processors.
Averaging normalization: While proper synchronization would require a trainmatcher device, basic synchronization can be achieved via a running average processor.