PLC documentation

Documentation from the Advanced Electronics group:

All devices

“Epsilon”

The epsilon is void for many device classes (e.g. Boolean properties..). In the devices which use epsilon it is used for one property only. E.g. Motor: position, AnalogIn: Value.

“Throttling” of fast changing properties

Not possible on the PLC. “Epsilon” must be used.

Interlock

Is currently not integrated into the karabo Base device. Interlock logic should not be reconfigured from the Karabo layer.

Here is the structure that describes the interlock per device.

AConditionState is a 32bit bitmask. Each bit is set when the condition is true. This variable will be pushed to the TCP layer at each update.

AActionState is a 32bit bitmask. Each bit is set when the action describe by the respective AActCommand is active. This variable will be pushed to the TCP layer at each update.

ACndEnable_[1-32] is a Boolean that is true when the respective condition is enabled

ACndValue1_[1-32] the type of this plc attribute depends on the source type and is a copy of the source value.

ACndSource1_[1-32] Is a String and defines the DeviceId of the source.

ACndSrc1Detail_[1-32] is a 32 bit unsigned integer. It defines the PLC property to be examined by the interlock system from the source. It is the index number of an enumerator at the path xfelPlcFramework/DUTs/ST_SourceDetail.TcDUT in the PLC framework repository.

ACndValue2_[1-32] the type of this plc attribute depends on the source type and is a copy of the optional second source value (e.g. comparison between 2 PLC properties).

ACndSource2_[1-32] Is a String and defines the DeviceId of the optional second source value (e.g. comparison between 2 PLC properties).

ACndSrc2Detail_[1-32] is a 32 bit unsigned integer. It defines the PLC property to be examined by the interlock system from the source. It is the index number of an enumerator at the path xfelPlcFramework/DUTs/ST_SourceDetail.TcDUT in the PLC framework repository, e.g. 2 means status bit number 2.

ACndAriOP_[1-32] is a 32 bit unsigned integer. It defines the operation to be performed between source1 and source2 in the calculation of the condition. It is the index number of an enumerator at the path xfelPlcFramework/DUTs/ST_AriOp.TcDUT in the PLC framework repository, e.g. 2 means subtraction.

ACndComOp_[1-32] is a 32 bit unsigned integer. It defines the comparison operator to be used to evaluate the interlock condition. It is the index number of an enumerator at the path xfelPlcFramework/DUTs/ST_ComOp.TcDUT in the PLC framework repository, e.g. 2 means status greater or equal.

ACndThreshold_[1-32] the type depends on the input type. It is the constant against which the expression will be compared to.

ACndFilterTime_[1-32] is an 32 bit unsigned integer. It is the number of milliseconds the condition ought to be true before triggering an action.

ACndHisteresis_[1-32] the type is detail-dependent and it defines the histeresis band for the condition to be cleared. It is invalid for booleans.

AActCommand_[1-32] is a PLC PAIR. it is a vector of Uint32 words that is coded like a Pair from Karabo to the PLC (PLCID,KeyId,nValues,[Values])

AActLogicStr_[1-32] is a string and describes the logic of the respective action.

SD_stepperAxis (karabo ClassId: BeckhoffSimpleMotor)

The position will always update once a new target is reached.

The “homing” procedure

The motor will move up to top limit going vMax then it will search for a reference mark or the bottom limit. The search uses a reduced speed (vMax/4). The direction of the homing procedure may be changed by AHomeUp. Also the movement to limit switch as a first step may be disabled by AHomeNoLimitFirst. The homing may not start while already in limit. The homing finishes on reference mark or limit switch whatever is found first. The homing will fail on unexpected limit (e.g. going up finding bottom limit).

The “backlash” mode

The motor will move to targetPos+backlash first and then to targetPos. The backlash may be “squeezed” by limits.

The “PID” controller for the position and speed mode

It just uses the distance to target position and it linearly calculates a resulting velocity. A vMin, vMax, and deadband around target may be set. The property pConst is a factor used in the calculation of the velocity. This is the basic calculation for the velocity:

(targetPosInt-encPosition)*stepperParam.gear*stepperParam.pConst

Limits will be applied an it will be converted to velocity in terminal unit.

Setting target position outside software limits

New target position is accepted, but internally replaced by the software limit position. The motor will go as far as allowed and raise the “in software limit” flag.

Coupled motion of two motors

  • If the slave hits a switch or software limit, the master do not stop
  • If the master hits a switch or software limit, the slave stops

Diagnostic Cameras

Basler GigE Cameras

Basler GigE cameras are supported in Karabo via LImA.

A list of supported features is:

  • trigger mode (IntTrig, ExtTrigSingle, ExtGate)
  • exposure and latency time
  • autogain mode
  • gain
  • number of frames to be acquired
  • image rotation (0, 90, 180, 270 degrees)
  • image flip (x, y)
  • image binning (x, y; 1, 2, 4, 8 pixels/bin)
  • ROI (x, y, width, height)
  • local save (raw, npy, tif, jpg, png formats)
  • output channel to be used for GUI display

All Basler GigE cameras (b/w or colour) should in principle work, this a list of known-to-work ones:

Andor sCMOS Cameras

Andor Camera Link sCMOS cameras are supported in Karabo via Andor SDK3. Even if they are supported, their use is not recommended.

A list of supported features is:

  • Area of Interest
  • Accumulate Count (for a sequence)
  • Burst Count (number of images in the burst)
  • Burst Rate
  • Cycle Mode (Fixed or Continuous)
  • Electronic Shuttering Mode (Rolling or Global)
  • Exposure Time
  • Fan Speed
  • Frame Count (number of images in a fixed length acquisition)
  • Frame Rate
  • Overlap Readout Mode
  • Pixel Encoding (Mono8, Mono12, Mono16, Mono32)
  • Pixel Readout Rate
  • PreAmp Gain Control
  • Sensor Cooling (True/False)
  • Target Sensor Temperature
  • Trigger Mode (Internal Software External ExternalStart ExternalExposure)

The Karabo device has been developed for use with Andor Neo, but it should work as well for the Zyla.

IMPERX GigE Cameras

Imperx GigE Bobcat cameras are supported in Karabo via eBUS SDK.

A list of supported features is:

  • Area of Interest (x, y, width, height)
  • Image binning (x, y; 1, 2, 3, 4, 8)
  • Auto Gain (Off, Once, Continuous)
  • Raw Gain (0-4095)
  • Exposure Mode (Off, Timed, IOExposureControl)
  • Exposure Time
  • Acquisition Mode (Continuous, SingleFrame, MultiFrame, ContinuosRecording, ContinuousReadout, SingleFrameRecording, SingleFrameReadout)
  • Trigger Mode (Off, On)
  • Trigger Source (Software, External, PulseGenerator, TimerTrigger)
  • Trigger Activation (RisingEdge, FallingEdge)
  • Pixel Format (Mono8, Mono10, Mono12)

The Karabo device has been developed for use with B4020, but it is likely to work with other models.

Photonic Science Cameras

Photonic Science GigE sCMOS cameras are supported in Karabo via eBUS SDK.

A list of supported features is:

  • Area of Interest (x, y, width, height)
  • Image binning (x, y)
  • Auto Gain (Off, Continuous)
  • Raw Gain (0-4095)
  • Exposure Mode (Timed)
  • Exposure Time
  • Delay Between Images
  • Acquisition Mode (Continuous, SingleFrame, MultiFrame, ContinuosRecording, ContinuousReadout, SingleFrameRecording, SingleFrameReadout)
  • Pixel Format (Mono8, Mono12, Mono16)
  • Power Saving (Camera_On, Cooling_Off, Camera_Off)
  • Cooler Power (0-255)
  • Flicker Reduction (OFF, FIFTY_HERTZ, SIXTY_HERTZ)

Surveillance Cameras

AXIS Cameras

Axis network cameras are supported in Karabo via the VAPIX interface.

A list of supported features is:

  • image resolution
  • image rotation (0, 90, 180, 270 degrees)
  • JPEG/BMP image encoding
  • compression level (in case of JPEG)
  • enable/disable time and date display
  • brightness
  • sharpness
  • local save (JPEG or BMP)

For the Pan-Tilt-Zoom (PTZ) models additonal features are available:

  • color or B/W mode
  • backlight compensation (on, off)
  • IR cut filter (auto, on, off)
  • Set Pan and Tilt angles
  • Relative and absolute movement
  • Add/Remove preset positions
  • Move to preset position
  • Zoom
  • Autofocus (on, off)
  • Focus
  • Autoiris (on, off)
  • Iris
  • Speed

All Axis surveillance cameras should in principle work, this a list of known-to-work ones:

Digital Multimeters

Agilent 34410A

Agilent multimeters (now Keysight) are supported in Karabo via the LAN interface and SCPI protocol.

A list of supported features is:

  • DC and AC current measurement
  • DC and AC voltage measurement
  • Resistance measurement
  • Capacitance measurement
  • Frequency and Period measurement
  • Temperature measurement

The Karabo device has been developed for use with 34410A, but it is likely to work with other models.

Keithley Multimeters

Keithley multimeters from Tektronix are supported in Karabo via the LAN interface and SCPI protocol.

Various models are supported and are all contained in one package: keithleyMultimeters. Manuals are available here as well in the doc folder.

Supported models:

Most models have:

  • DC and AC current measurement
  • DC and AC voltage measurement
  • Resistance measurement
  • Capacitance measurement

The models 2611, 2700 and 6430 where brought by users and are not part of XFEL property.

Ophir Nova 2

Ophir laser power meters are supported in Karabo with the use of Lantronix ethernet to RS-232 converters.

Ophir makes use of a custom ASCII protocol.

The Ophir Nova II spports several heads for different types of measurements.

A list of supported features is:

  • Power measurement (watts)
  • Energy measurement (joules)
  • Frequency measurement (hertz)

Other meters from Ophir should be supported out of the box.

Power Supplies

FuG Elektronik Power Supplies

FuG Elektronik vendor’s web-site

There is one model of FuG Elektronik power supplies (HCK 400-2000) that is already supported by Karabo. The communication to hardware is done via PROBUS V (RS232) interface and SCPI protocol. A LANTRONIX UDS2100 is needed to connect the power supply to the network.

There is the chance that other models of the same HCK series will work with the same Karabo device, but it is not guaranteed and needs to be checked per model. As other series (MCP, NTN, HCP etc) are from the same vendor that may simplify the integration with the use of already existing Karabo device, but may also require developing of a brand-new Karabo device. This also needs to be checked per model.

All the power supplies having a PROBUS V (RS232) interface should in principle work with the existing Karabo device (or with minimal changes needed in source code), this a list of known-to-work ones:

  • MCP 350-650
  • NTN 350-12,5
  • HCP 350-35000

Features of the model that is already integrated in Karabo:

  • Model name: FuG Elektronik GmbH HCK 400-2000.
  • Documentation: FUG HCK
  • The HCK series is a special power source dedicated for charging capacitors
  • High voltage
  • Voltage range: 0..2kV, but others available, up to 0..65kV
  • Tabletop

A list of supported features is:

  • Switch on/off the output
  • Set target voltage
  • Set the voltage ramping function and rate
  • Set the voltage resolution mode (normal or high)
  • Set the target current
  • Set the current ramping function and rate
  • Set the current resolution mode (normal or high)

Heinzinger Power Supplies

Heinzinger power supplies are supported in Karabo via their optional LAN digital interface, and SCPI protocol.

Documentation: https://www.heinzinger.com/de/kontakt/service-support#downloads From Karabo side integrated as SCPI power supply.

Supported features:

  • Switch on/off the output
  • Set target voltage
  • Set the target current
  • Set average mode (average on 1, 2, 4, 8, 16 measurements)

From the PNC series there is one model that is already integrated in Karabo (PNC-20000). Its features are listed below. There is the chance that other models of the same PNC series will work with the same Karabo device, but it is not guaranteed and needs to be checked per model. Same is with other series: as they are from the same vendor that may simplify the integration with the use of already existing Karabo device, but may also require developing of a brand-new Karabo device. This also needs to be checked per model.

Features of the model that is already integrated in Karabo:

  • Model name: PNC-20000 (PNC series)
  • Documentation: PNC-20000
  • High voltage
  • Voltage range: 0..20kV
  • Power: up to 2 kW
  • 19’-rack mount

TDK Lambda Power Supplies

From the Z-series there is one model that is already integrated in Karabo (Z36-12 LAN). Its features are listed below. There is the chance that other models of the same Z-series will work with the same Karabo device, but it is not guaranteed and needs to be checked per model. Same is with other series: as they are from the same vendor that may simplify the integration with the use of already existing Karabo device, but may also require developing of a brand-new Karabo device. This also needs to be checked per model.

Features of the model that is already integrated in Karabo:

  • Model name: Z36-12 LAN, Z-series:
  • Low voltage
  • Voltage range: 0..100V
  • Power: up to 800 W max power
  • Tabletop, also suitable for 2U rack mounting
  • Documentation: TDK LAMBDA Z36-12

From Karabo side it is integrated as SCPI power supply.

Tektronix Keithley

Several Keithley Multimeter models also can be used as SourceMeter. For more details see Keithley Multimeters.

Wiener MPOD

The MPOD is a power supply crate with one controller board connected via Ethernet. Several boards with multiple channels can be equipped per crate.

Detailed documentation can be found here: https://rtd.xfel.eu/docs/mpod/en/latest/. Below the most used board series are listed.

Wiener MPV boards:

  • All MPV models are supported by Karabo
  • Model examples are MPV 8008I, MPV 8016I, MPV 8030I
  • Low Voltage
  • Voltage ranges: 0..8V, 0..16V, 0..30V, 0..60V, 0..120V
  • Power: 50W per channel, 100W per channel
  • Board in a rack crate
  • Outputs: multiple, 4 or 8

Iseg LV boards:

  • Low Voltage
  • Board in a rack crate
  • Multiple Outputs

Iseg SHR series:

Karabo device supports all the models of the entire series. Features of the series:

  • High voltage
  • Voltage range 0..2kV, 0..6kV
  • Power up to 12KW
  • Standalone desktop device
  • 2 or 4 Outputs, depends on model

Iseg HPS series:

There is one model that is integrated in Karabo (Iseg HPn 60 137 801), other models of this series should work with the existing device. Features of the model integrated in Karabo:

  • High voltage
  • Voltage range From 0..1kV up to 0..100 kV
  • Power: 300 W - 10 kW versions
  • Device in a rack
  • Single output channel

Delta Elektronika

In the series ES150 the model ES030-5 is the only model integrated in Karabo:

Kepco

Only one model is integrated in Karabo:

  • Model name: BOP20-20DL-802E-13433
  • Laboratory DC power supply of BOB series.
  • More documentation on Kepco BOB series here: https://www.kepcopower.com/bop.htm#dual
  • Low voltage
  • Voltage range 0..20V
  • Power: 400 W
  • 19’-rack mount

From Karabo side integrated as SCPI power supply.

Signal Generators

Keysight

Supported models:

Keysight models of the 33500 and 33600 Series have the same SCPI reference. Models may very however in frequency range and availability of features, as well as in number of channels:

Bandwidth 20 MHz 20 MHz 30 MHz 30 MHz 80 MHz 80 MHz 120 MHz 120 MHz
Number of channels 1 2 1 2 1 2 1 2
Waveform generator 33509B 33510B 33519B 33520B x x x x
with arbitr. cap. 33511B 33512B 33521B 33522B 33611A 33612A 33621A 33622A

Tektronix

Supported models:

Spectrometers

Ocean Optics HR4000

Ocean Optics HR4000 (USB) spectrometer is supported in Karabo.

A list of supported features is:

  • integration time
  • trigger mode (normal, software, external synchronization, external hardware)
  • trigger delay
  • shutdown mode
  • strobe enable
  • PCB temperature monitoring

Ocean Optics STS

Ocean Optics STS (USB) spectrometer is supported in Karabo.

A list of supported features is:

  • integration time
  • trigger mode (normal, external, internal, software)
  • trigger delay
  • temperature monitoring
  • spectrum correction (done in the spectrometer)

Temperature Monitor/Controllers

Lakeshore Model 224

Lakeshore Model 224 Temperature Monitor is supported in Karabo via its Ethernet interface and SCPI protocol.

A list of supported features is:

  • Inputs A, B, C, D
    • temperature reading

Lakeshore Model 336

Lakeshore Model 336 Cryogenic Temperature Controller is supported in Karabo via its Ethernet interface and SCPI protocol.

A list of supported features is:

  • Inputs A, B
    • name
    • temperature limit
    • temperature reading
  • Output 1, 2
    • heater output in percentage
    • resistance setting
    • max current
    • mas user current
    • control mode (off, close loop PID, open loop, monitor out, warmup supply)
    • control input (none, A, B, C, D)
    • powerup enable (on, off)
    • pValue, iValue, dValue for the PID loop
    • manual output
    • set point
    • ramping (off, on)
    • ramping rate
    • range (off, low, medium, high)

Meerstetter Controllers

TECControllers

At the moment we have an ongoing device development for two TEC models (TEC-1090-HV (for LAS) and MS-TEC 1091 (for MID).

The communication protocol is common for these models:

_images/TEC_Models.png

LDDController

At the moment we have an ongoing device development for the LDD model 1121.

The communication protocol is common for these models:

  • LDD-1121
  • LDD-1124
  • LDD-1125

Other models may have some overlap but are not guaranteed to work with the existing karabo device.

Wachendorff Controller

The karabo device currently supports three different models from Wachendorff:

  • URDR001A:
    • 1 Analogeingang
    • 2 Relais 5 A
    • 1 Relais 2 A
    • 2 SSR
    • 2 D.I.
    • 1 Analogausgang V/mA
    • RS485 + CT
  • UR32741A:
    • 1 Analogeingang
    • 2 Relais 5 A
    • 1 D.I/D.O
  • URDR0001:
    • 2 Relais 5 A
    • 1 SSR/V/mA

Detectors

Gotthard

The Gotthard strip detector provided by PSI’s detector group is supported in Karabo by using their SLS Detectors C++ package.

Detailed documentation for Gotthard 2 can be found here <gotthard-2-documentation>.

Two software devices are needed, one for configuring and controlling the detector, a second one to receive data.

The first one (control device) supports the following features:

  • control interface of the detector (100 Mb ethernet)
    • hostname
    • port number
    • stop port number
  • data interface of the detector (1 Gb ethernet)
    • IP address (for UDP data transfer)
    • detector MAC
  • receiver configuration
    • hostname and port (ethernet interface for control)
    • IP address and port (for UDP data transfer)
  • settings (dynamicgain, lowgain, mediumgain, highgain, veryhighgain)
  • Set-up local data storage:
    • File name (root)
    • Path
    • File index
  • Set-up ExtSig:0 (off, …)
  • vHighVoltage
  • exposure time
  • exposure period
  • delay after trigger
  • number of gates, frames, cycles
  • timing mode (auto, gating, trigger, ro_trigger, triggered_gating)

The second one (receiver device) supports the following features:

  • receiver tcp port
  • enable local file writing
  • output channel for raw data
  • display of unpacked data (ADC and gain) with reduced rate
    • optionally subtract background and apply energy calibration

Jungfrau

Detailed documentation can be found here <jungfrau-detector-documentation>.

GreatEyes

GreatEyes detectors. [To be written]

Digitizers

[To be written]

FastCCD

See the documentation here.

Timing System Devices

XFEL timing system is described in this document

Others

Amphos Laser Amplifier

The Amphos laser amplifier used by LAS group has been integrated in Karabo using its TCP/IP protocol.

A list of supported features is:

  • ready, on, off commands
  • close/open the shutter 2
  • set target power
  • monitor chiller temperature and flow
  • check shutter status (open/closed)
  • check lambda status (moving?)
  • check errors
  • monitor laser currents, temperatures, humidity
  • monitor booster currents (CW1, CW2, QCW1, QCW2, QCW3, QCW4,

COHERENT EnergyMax

The Coherent EnergyMax-RS sensors is supported in Karabo via its RS232 interface and SCPI protocol. A LANTRONIX UDS2100 is needed to connect the EnergyMax to the network.

A list of supported features is:

  • Init/abort data streaming
  • measure energy or power
  • statistics mode (on, off)
  • gain compensation (enable, disable)
  • gain compensation factor
  • trigger source (internal, external)
  • trigger level and slope (for external)

IDIL Laser Frontend

The IDIL Laser Front-End used by LAS group has been integrated in Karabo using its TCP/IP protocol.

A list of supported features is:

  • intra-burst repetition rate
  • monitor temperatures (pa XF1, …)
  • monitor currents (pa XF1, pa XF2, p1 Preamp, …)
  • monitor power (Phd1 Preamp, …)

Iota One Pulse Valve

See the documentation here

Ophir Nova II Power Meter

A handheld laser power and energy meter used by laser groups. It does not have ethernet output, only RS232. It’s bridged with a Landtronix ethernet adapter.

It is supported as Karabo middlelayer device OphirPowerMeter.

SCANLAB Galvanometer-Scanner

The Scanlab Galvanometer-Scanner used by LAS group is controlled by the RTC5 PCIe card, and they have been integrated in Karabo using the provided SDK.

A list of supported features is:

  • loading of program and correction files
  • trigger (freerun or external)
  • jump speed and amplitude
  • delay time on “plus” and “minus” positions
  • display of operational state and marking info
  • display of various temperatures and voltages
  • display of running time

Signal Recovery Model 7270

Signal Recovery Model 7270 DSP Lock-In Amplifier is supported in Karabo via its Ethernet interface and SCPI protocol.

A list of supported features is:

  • X and Y channel outputs
  • Magnitude
  • Signal Phase

The Karabo device is not tested yet.

TEM BeamLock

The TEM BeamLock is supported in Karabo via its RS232 interface and SCPI protocol. A LANTRONIX UDS2100 is needed to connect the BeamLock to the network.

A list of supported features is:

  • RegOnOff0, RegOnOff1
  • Status
  • SetpAx[0], SetpAy[0]
  • SumA[0], SumB[0]
  • Ax[0], Ay[0], Bx[0], By[0]

Service Devices

LANTRONIX UDS2100

The LANTRONIX UDS2100 is a serial-to-ethernet converter. It is not integrated “per se” in Karabo, but it can be used to connect to the network instruments having a RS232 connection, and make them available to the control sysytem.

Prologix GPIB-ETHERNET Controller

The Prologix GPIB-ETHERNET Controller allows to access GPIB enabled instruments over a network. As for the LANTRONIX UDS2100, it can be used in connection with other instruments, in order to make them available to the control system.