Device Node Tree
This chapter contains reference documentation for the settings and measurement data available on PQSC Instruments. Whilst Functional Description LabOne User Interface describes many of these settings in terms of the features available in the LabOne User Interface, this chapter describes them on the device level and provides a hierarchically organized and comprehensive list of device functionality.
Since these settings and data streams may be written and read using the LabOne APIs (Application Programming Interfaces) this chapter is of particular interest to users who would like to perform measurements programmatically via LabVIEW, Python, MATLAB, .NET or C.
Please see:
-
Introduction for an introduction of how the instrument’s settings and measurement data are organized hierarchically in the Data Server’s so-called "Node Tree".
-
Reference Node Documentation for a reference list of the settings and measurement data available on PQSC Instruments, organized by branch in the Node Tree.
Introduction
This chapter provides an overview of how an instrument’s configuration and output is organized by the Data Server.
All communication with an instrument occurs via the Data Server program the instrument is connected to (see LabOne Software Architecture for an overview of LabOne’s software components). Although the instrument’s settings are stored locally on the device, it is the Data Server’s task to ensure it maintains the values of the current settings and makes these settings (and any subscribed data) available to all its current clients. A client may be the LabOne User Interface or a user’s own program implemented using one of the LabOne Application Programming Interfaces, e.g., Python.
The instrument’s settings and data are organized by the Data Server in a file-system-like hierarchical structure called the node tree. When an instrument is connected to a Data Server, its device ID becomes a top-level branch in the Data Server’s node tree. The features of the instrument are organized as branches underneath the top-level device branch and the individual instrument settings are leaves of these branches.
For example, the auxiliary outputs of the instrument with device ID "dev2006" are located in the tree in the branch:
/DEV2006/AUXOUTS/
In turn, each individual auxiliary output channel has its own branch underneath the "AUXOUTS" branch.
/DEV2006/AUXOUTS/0/
/DEV2006/AUXOUTS/1/
/DEV2006/AUXOUTS/2/
/DEV2006/AUXOUTS/3/
Whilst the auxiliary outputs and other channels are labelled on the instrument’s panels and the User Interface using 1-based indexing, the Data Server’s node tree uses 0-based indexing. Individual settings (and data) of an auxiliary output are available as leaves underneath the corresponding channel’s branch:
/DEV2006/AUXOUTS/0/DEMODSELECT
/DEV2006/AUXOUTS/0/LIMITLOWER
/DEV2006/AUXOUTS/0/LIMITUPPER
/DEV2006/AUXOUTS/0/OFFSET
/DEV2006/AUXOUTS/0/OUTPUTSELECT
/DEV2006/AUXOUTS/0/PREOFFSET
/DEV2006/AUXOUTS/0/SCALE
/DEV2006/AUXOUTS/0/VALUE
These are all individual node paths in the node tree; the lowest-level nodes which represent a single instrument setting or data stream. Whether the node is an instrument setting or data-stream and which type of data it contains or provides is well-defined and documented on a per-node basis in the Reference Node Documentation section in the relevant instrument-specific user manual. The different properties and types are explained in Node Properties and Data Types .
For instrument settings, a Data Server client modifies the node’s value by specifying the appropriate path and a value to the Data Server as a (path, value) pair. When an instrument’s setting is changed in the LabOne User Interface, the path and the value of the node that was changed are displayed in the Status Bar in the bottom of the Window. This is described in more detail in Node Properties and Data Types.
Module Parameters
LabOne Core Modules, such as the Sweeper, also use a similar tree-like structure to organize their parameters. Please note, however, that module nodes are not visible in the Data Server’s node tree; they are local to the instance of the module created in a LabOne client and are not synchronized between clients. |
Node Properties and Data Types
A node may have one or more of the following properties:
- Read
-
Data can be read from the node.
- Write
-
Data can be written to the node.
- Setting
-
The node corresponds to a writable instrument configuration. The data of these nodes are persisted in snapshots of the instrument and stored in the LabOne XML settings files.
- Streaming
-
A node with the read attribute that provides instrument data, typically at a user-configured rate. The data is usually a more complex data type, for example demodulator data is returned as
ZIDemodSample
. A full list of streaming nodes is available in the Programming Manual in the Chapter Instrument Communication. Their availability depends on the device class (e.g. MF) and the option set installed on the device.
A node may contain data of the following types:
- Integer
-
Integer data.
- Double
-
Double precision floating point data.
- String
-
A string array.
- Integer (enumerated)
-
As for Integer, but the node only allows certain values.
- Composite data type
-
For example,
ZIDemodSample
. These custom data types are structures whose fields contain the instrument output, a timestamp and other relevant instrument settings such as the demodulator oscillator frequency. Documentation of custom data types is available in
Exploring the Node Tree
In the LabOne User Interface
A convenient method to learn which node is responsible for a specific instrument setting is to check the Command Log history in the bottom of the LabOne User Interface. The command in the Status Bar gets updated every time a configuration change is made. Figure 1 shows how the equivalent MATLAB command is displayed after modifying the value of the auxiliary output 1’s offset. The format of the LabOne UI’s command history can be configured in the Config Tab (MATLAB, Python and .NET are available). The entire history generated in the current UI session can be viewed by clicking the "Show Log" button. ![]() Figure 1. When a device’s configuration is modified in the LabOne User Interface, the Status Bar displays the equivalent command to perform the same configuration via a LabOne programming interface. Here, the MATLAB code to modify auxiliary output 1’s offset value is provided. When "Show Log" is clicked the entire configuration history is displayed in a new browser tab.
|
In a LabOne Programming Interface
A list of nodes (under a specific branch) can be requested from the Data
Server in an API client using the The detailed descriptions of nodes that is provided in
Reference Node Documentation
is accessible directly in the LabOne
MATLAB or Python programming interfaces using the "help" command. The
daq = zhinst.core.ziDAQServer('localhost', 8004, 6) daq.help('/dev2006/auxouts/0/offset') # Out: # /DEV2006/AUXOUTS/0/OFFSET# # Add the specified offset voltage to the signal after scaling. Auxiliary Output # Value = (Signal+Preoffset)*Scale + Offset # Properties: Read, Write, Setting # Type: Double # Unit: V |
Data Server Nodes
The Data Server has nodes in the node tree available under the top-level /ZI/ branch. These nodes give information about the version and state of the Data Server the client is connected to. For example, the nodes:
-
/ZI/ABOUT/VERSION
-
/ZI/ABOUT/REVISION
are read-only nodes that contain information about the release version and revision of the Data Server. The nodes under the /ZI/DEVICES/ list which devices are connected, discoverable and visible to the Data Server.
The nodes:
-
/ZI/CONFIG/OPEN
-
/ZI/CONFIG/PORT
are settings nodes that can be used to configure which port the Data Server listens to for incoming client connections and whether it may accept connections from clients on hosts other than the localhost.
Nodes that are of particular use to programmers are:
-
/ZI/DEBUG/LOGPATH - the location of the Data Server’s log in the PC’s file system,
-
/ZI/DEBUG/LEVEL - the current log-level of the Data Server (configurable; has the Write attribute),
-
/ZI/DEBUG/LOG - the last Data Server log entries as a string array.
The Global nodes of the LabOne Data Server are listed in the Instrument Communication chapter of the LabOne Programming Manual
Reference Node Documentation
This section describes all the nodes in the data server’s node tree organized by branch.
See Node Properties and Data Types for an explanation of node properties and types.
CLOCKBASE
Read Double Hz Returns the internal clock frequency of the device.
/DEV…./CLOCKBASE
Properties:
Type:
Unit:
EXECUTION
Read, Write Integer (64 bit) None Activate the trigger generation. Auto-resets to zero when done.
/DEV…./EXECUTION/ENABLE
Properties:
Type:
Unit:
Read, Write, Setting Double s Hold-off time between repeated triggers.
/DEV…./EXECUTION/HOLDOFF
Properties:
Type:
Unit:
Read Double None The fraction of the triggers generated so far.
/DEV…./EXECUTION/PROGRESS
Properties:
Type:
Unit:
Read, Write, Setting Integer (64 bit) None Number of triggers to be generated.
/DEV…./EXECUTION/REPETITIONS
Properties:
Type:
Unit:
Read, Write, Setting Integer (64 bit) None Enable synchronization. Trigger generation will only start once all workers have reported a ready status. Synchronization checks will be repeated with the same trigger generation settings (holdoff and repetitions) until synchronization is disabled.
/DEV…./EXECUTION/SYNCHRONIZATION/ENABLE
Properties:
Type:
Unit:
FEATURES
Write String None Node providing a mechanism to write feature codes.
/DEV…./FEATURES/CODE
Properties:
Type:
Unit:
Read String None Returns the device type.
/DEV…./FEATURES/DEVTYPE
Properties:
Type:
Unit:
Read String None Returns enabled options.
/DEV…./FEATURES/OPTIONS
Properties:
Type:
Unit:
Read String None Device serial number.
/DEV…./FEATURES/SERIAL
Properties:
Type:
Unit:
FEEDBACK
Read, Write, Setting Integer (64 bit) None The index of the bit in the readout register used as source address of the Lookup Table.
/DEV…./FEEDBACK/DECODER/LUT/SOURCES/n/INDEX
Properties:
Type:
Unit:
Read, Write, Setting Integer (64 bit) None The readout register used as source address of the Lookup Table.
/DEV…./FEEDBACK/DECODER/LUT/SOURCES/n/REGISTER
Properties:
Type:
Unit:
Read, Write ZIVectorData None The lookup Table. A vector of 2^16 elements, each represents the output when its corresponding index is the source input address. Each element is an unsigned integer of 8 bits
/DEV…./FEEDBACK/DECODER/LUT/TABLES/n
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Clear all the readout registers.
/DEV…./FEEDBACK/REGISTERBANK/RESET
Properties:
Type:
Unit:
STATS
Read Double Mbit/s Command streaming bandwidth usage on the physical network connection between device and data server.
/DEV…./STATS/CMDSTREAM/BANDWIDTH
Properties:
Type:
Unit:
Read Integer (64 bit) B Number of bytes received on the command stream from the device since session start.
/DEV…./STATS/CMDSTREAM/BYTESRECEIVED
Properties:
Type:
Unit:
Read Integer (64 bit) B Number of bytes sent on the command stream from the device since session start.
/DEV…./STATS/CMDSTREAM/BYTESSENT
Properties:
Type:
Unit:
Read Integer (64 bit) None Number of command packets lost since device start. Command packets contain device settings that are sent to and received from the device.
/DEV…./STATS/CMDSTREAM/PACKETSLOST
Properties:
Type:
Unit:
Read Integer (64 bit) None Number of packets received on the command stream from the device since session start.
/DEV…./STATS/CMDSTREAM/PACKETSRECEIVED
Properties:
Type:
Unit:
Read Integer (64 bit) None Number of packets sent on the command stream to the device since session start.
/DEV…./STATS/CMDSTREAM/PACKETSSENT
Properties:
Type:
Unit:
Read Integer (64 bit) None Number of buffers ready for receiving command packets from the device.
/DEV…./STATS/CMDSTREAM/PENDING
Properties:
Type:
Unit:
Read Integer (64 bit) None Number of buffers being processed for command packets. Small values indicate proper performance. For a TCP/IP interface, command packets are sent using the TCP protocol.
/DEV…./STATS/CMDSTREAM/PROCESSING
Properties:
Type:
Unit:
Read Double Mbit/s Data streaming bandwidth usage on the physical network connection between device and data server.
/DEV…./STATS/DATASTREAM/BANDWIDTH
Properties:
Type:
Unit:
Read Integer (64 bit) B Number of bytes received on the data stream from the device since session start.
/DEV…./STATS/DATASTREAM/BYTESRECEIVED
Properties:
Type:
Unit:
Read Integer (64 bit) None Number of data packets lost since device start. Data packets contain measurement data.
/DEV…./STATS/DATASTREAM/PACKETSLOST
Properties:
Type:
Unit:
Read Integer (64 bit) None Number of packets received on the data stream from the device since session start.
/DEV…./STATS/DATASTREAM/PACKETSRECEIVED
Properties:
Type:
Unit:
Read Integer (64 bit) None Number of buffers ready for receiving data packets from the device.
/DEV…./STATS/DATASTREAM/PENDING
Properties:
Type:
Unit:
Read Integer (64 bit) None Number of buffers being processed for data packets. Small values indicate proper performance. For a TCP/IP interface, data packets are sent using the UDP protocol.
/DEV…./STATS/DATASTREAM/PROCESSING
Properties:
Type:
Unit:
Read Double V Supply voltage of the FPGA.
/DEV…./STATS/PHYSICAL/FPGA/AUX
Properties:
Type:
Unit:
Read Double V Core voltage of the FPGA.
/DEV…./STATS/PHYSICAL/FPGA/CORE
Properties:
Type:
Unit:
Read Double °C Internal temperature of the FPGA.
/DEV…./STATS/PHYSICAL/FPGA/TEMP
Properties:
Type:
Unit:
Read Integer (64 bit) None This flag is set to 1 if the temperature of the FPGA exceeds 85°C. It will be reset to 0 after a restart of the device.
/DEV…./STATS/PHYSICAL/OVERTEMPERATURE
Properties:
Type:
Unit:
STATUS
Read Double None USB FIFO level: Indicates the USB FIFO fill level inside the device. When 100%, data is lost
/DEV…./STATUS/FIFOLEVEL
Properties:
Type:
Unit:
Read Integer (64 bit) None A set of binary flags giving an indication of the state of various parts of the device. Reserved for future use.
/DEV…./STATUS/FLAGS/BINARY
Properties:
Type:
Unit:
Read Integer (64 bit) None Flag indicating if tcp packages have been lost.
/DEV…./STATUS/FLAGS/PACKETLOSSTCP
Properties:
Type:
Unit:
Read Integer (64 bit) None Flag indicating if udp packages have been lost.
/DEV…./STATUS/FLAGS/PACKETLOSSUDP
Properties:
Type:
Unit:
Read Integer (64 bit) None The current timestamp.
/DEV…./STATUS/TIME
Properties:
Type:
Unit:
SYSTEM
Read String None Currently active interface of the device.
/DEV…./SYSTEM/ACTIVEINTERFACE
Properties:
Type:
Unit:
Read String None Hardware revision of the FPGA base board
/DEV…./SYSTEM/BOARDREVISIONS/n
Properties:
Type:
Unit:
Read Integer (64 bit) None Advises to wait 30 minutes after boot before locking to external reference clock.
/DEV…./SYSTEM/CLOCKS/READY
Properties:
Type:
Unit:
Read Double Hz Indicates the frequency of the reference clock.
/DEV…./SYSTEM/CLOCKS/REFERENCECLOCK/IN/FREQ
Properties:
Type:
Unit:
Read, Write, Setting Integer (enumerated) None The intended reference clock source. When the source is changed, all the instruments connected with ZSync links will be disconnected. The connection should be re-established manually. 0 The internal clock is intended to be used as the frequency and time base reference. 1 An external clock is intended to be used as the frequency and time base reference. Provide a clean and stable 10 MHz or 100 MHz reference to the appropriate back panel connector.
/DEV…./SYSTEM/CLOCKS/REFERENCECLOCK/IN/SOURCE
Properties:
Type:
Unit:
internal
external
Read Integer (enumerated) None The actual reference clock source. 0 The internal clock is used as the frequency and time base reference. 1 An external clock is used as the frequency and time base reference.
/DEV…./SYSTEM/CLOCKS/REFERENCECLOCK/IN/SOURCEACTUAL
Properties:
Type:
Unit:
internal
external
Read Integer (enumerated) None Status of the reference clock. 0 Reference clock has been locked on. 1 There was an error locking onto the reference clock signal. 2 The device is busy trying to lock onto the reference clock signal.
/DEV…./SYSTEM/CLOCKS/REFERENCECLOCK/IN/STATUS
Properties:
Type:
Unit:
locked
error
busy
Read, Write, Setting Integer (64 bit) None Enable clock signal on the reference clock output. When the clock output is turned on or off, all the instruments connected with ZSync links will be disconnected. The connection should be re-established manually.
/DEV…./SYSTEM/CLOCKS/REFERENCECLOCK/OUT/ENABLE
Properties:
Type:
Unit:
Read, Write, Setting Double Hz Select the frequency of the output reference clock. Only 10 MHz and 100 MHz are allowed. When the frequency is changed, all the instruments connected with ZSync links will be disconnected. The connection should be re-established manually.
/DEV…./SYSTEM/CLOCKS/REFERENCECLOCK/OUT/FREQ
Properties:
Type:
Unit:
Read Integer (64 bit) None HDL firmware revision.
/DEV…./SYSTEM/FPGAREVISION
Properties:
Type:
Unit:
Read String None Returns log output of the firmware.
/DEV…./SYSTEM/FWLOG
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Enables logging to the fwlog node.
/DEV…./SYSTEM/FWLOGENABLE
Properties:
Type:
Unit:
Read Integer (64 bit) None Revision of the device-internal controller software.
/DEV…./SYSTEM/FWREVISION
Properties:
Type:
Unit:
Read String None USB firmware revision.
/DEV…./SYSTEM/FX3REVISION
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Setting this node to 1 will cause the device to blink the power led for a few seconds.
/DEV…./SYSTEM/IDENTIFY
Properties:
Type:
Unit:
Read String None Speed of the currently active interface (USB only).
/DEV…./SYSTEM/INTERFACESPEED
Properties:
Type:
Unit:
Read String None Returns the type of the data server kernel (mdk or hpk).
/DEV…./SYSTEM/KERNELTYPE
Properties:
Type:
Unit:
Read, Write String None Default gateway configuration for the network connection.
/DEV…./SYSTEM/NICS/n/DEFAULTGATEWAY
Properties:
Type:
Unit:
Read, Write String None IPv4 address of the device to use if static IP is enabled.
/DEV…./SYSTEM/NICS/n/DEFAULTIP4
Properties:
Type:
Unit:
Read, Write String None IPv4 mask in case of static IP.
/DEV…./SYSTEM/NICS/n/DEFAULTMASK
Properties:
Type:
Unit:
Read String None Current network gateway.
/DEV…./SYSTEM/NICS/n/GATEWAY
Properties:
Type:
Unit:
Read String None Current IPv4 of the device.
/DEV…./SYSTEM/NICS/n/IP4
Properties:
Type:
Unit:
Read String None Current MAC address of the device network interface.
/DEV…./SYSTEM/NICS/n/MAC
Properties:
Type:
Unit:
Read String None Current network mask.
/DEV…./SYSTEM/NICS/n/MASK
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None If written, this action will program the defined static IP address to the device.
/DEV…./SYSTEM/NICS/n/SAVEIP
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Enable this flag if the device is used in a network with fixed IP assignment without a DHCP server.
/DEV…./SYSTEM/NICS/n/STATIC
Properties:
Type:
Unit:
Read String None Returns the current owner of the device (IP).
/DEV…./SYSTEM/OWNER
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Returns the current TCP port used for communication to the dataserver.
/DEV…./SYSTEM/PORTTCP
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Returns the current UDP port used for communication to the dataserver.
/DEV…./SYSTEM/PORTUDP
Properties:
Type:
Unit:
Read Integer (64 bit) None Contains the date of power configuration (format is: (year << 16) | (month << 8) | day)
/DEV…./SYSTEM/POWERCONFIGDATE
Properties:
Type:
Unit:
Read Integer (64 bit) None Indicates if presets are currently loaded.
/DEV…./SYSTEM/PRESET/BUSY
Properties:
Type:
Unit:
Read Integer (64 bit) None Indicates if the last operation was illegal. Successful: 0, Error: 1.
/DEV…./SYSTEM/PRESET/ERROR
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Load the selected preset.
/DEV…./SYSTEM/PRESET/LOAD
Properties:
Type:
Unit:
Read Double None The maximum oscillator frequency that can be set.
/DEV…./SYSTEM/PROPERTIES/MAXFREQ
Properties:
Type:
Unit:
Read Double None The minimum oscillator frequency that can be set.
/DEV…./SYSTEM/PROPERTIES/MINFREQ
Properties:
Type:
Unit:
Read Integer (64 bit) None Indicates whether negative frequencies are supported.
/DEV…./SYSTEM/PROPERTIES/NEGATIVEFREQ
Properties:
Type:
Unit:
Read Double s Minimal time difference between two timestamps. The value is equal to 1/(maximum sampling rate).
/DEV…./SYSTEM/PROPERTIES/TIMEBASE
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Flag indicating that the TCP and UDP ports should be saved.
/DEV…./SYSTEM/SAVEPORTS
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Sending a '1' to this node initiates a shutdown of the operating system on the device. It is recommended to trigger this shutdown before switching the device off with the hardware switch at the back side of the device.
/DEV…./SYSTEM/SHUTDOWN
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Indicates if the network connection is stalled.
/DEV…./SYSTEM/STALL
Properties:
Type:
Unit:
Read, Write Integer (64 bit) None Requests update of the device firmware and bitstream from the dataserver.
/DEV…./SYSTEM/UPDATE
Properties:
Type:
Unit:
TRIGGERS
Read, Write, Setting Integer (64 bit) None Enable the Trigger Out.
/DEV…./TRIGGERS/OUT/n/ENABLE
Properties:
Type:
Unit:
Read, Write, Setting Integer (64 bit) None The ZSync port associated with the Trigger Out source.
/DEV…./TRIGGERS/OUT/n/PORT
Properties:
Type:
Unit:
Read Double s Defines the minimum pulse width of the generated pulses.
/DEV…./TRIGGERS/OUT/n/PULSEWIDTH
Properties:
Type:
Unit:
Read, Write, Setting Integer (enumerated) None Select the source of the trigger Out. 0 Generate a trigger when a "start trigger" is sent over the selected ZSync. 1 Generate a trigger when feedback is sent over the selected ZSync.
/DEV…./TRIGGERS/OUT/n/SOURCE
Properties:
Type:
Unit:
start_trigger
feedback
ZSYNCS
Read, Write, Setting ZIVectorData None User-given name to the instrument connected to this port.
/DEV…./ZSYNCS/n/CONNECTION/ALIAS
Properties:
Type:
Unit:
Read ZIVectorData None The device type of the instrument connected to this port.
/DEV…./ZSYNCS/n/CONNECTION/DEVTYPE
Properties:
Type:
Unit:
Read ZIVectorData None The device ID of the instrument connected to this port.
/DEV…./ZSYNCS/n/CONNECTION/SERIAL
Properties:
Type:
Unit:
Read Integer (enumerated) None The current status of the instrument connected to the port. 0 No connection 1 Connection in progress 2 Connected 3 Connection error
/DEV…./ZSYNCS/n/CONNECTION/STATUS
Properties:
Type:
Unit:
Read, Write, Setting Integer (64 bit) None The index of the lookup table in the LUT decoder that is forwarded.
/DEV…./ZSYNCS/n/OUTPUT/DECODER/SOURCE
Properties:
Type:
Unit:
Read, Write, Setting Integer (64 bit) None Enable feedback for a given port.
/DEV…./ZSYNCS/n/OUTPUT/ENABLE
Properties:
Type:
Unit:
Read, Write, Setting Integer (64 bit) None Enable readout register forwarding of bits 2*m, 2*m+1 to the port n.
/DEV…./ZSYNCS/n/OUTPUT/REGISTERBANK/SOURCES/m/ENABLE
Properties:
Type:
Unit:
Read, Write, Setting Integer (64 bit) None The index of the results in the readout register to be forwarded.
/DEV…./ZSYNCS/n/OUTPUT/REGISTERBANK/SOURCES/m/INDEX
Properties:
Type:
Unit:
Read, Write, Setting Integer (64 bit) None The readout register to be forwarded.
/DEV…./ZSYNCS/n/OUTPUT/REGISTERBANK/SOURCES/m/REGISTER
Properties:
Type:
Unit:
Read, Write, Setting Integer (enumerated) None Select the feedback source for a given port. 0 Register Forwarding 1 Decoder
/DEV…./ZSYNCS/n/OUTPUT/SOURCE
Properties:
Type:
Unit:
reg
, register_forwarding
dec
, decoder