Channel

A <Channel> element describes the required configuration of a hardware channel.

<Channel [tag="string"] [...]>
    [<.../>]
</Channel>

tag: This attribute specifies an alias that can be referenced to use the respective channel in trigger setups etc. Tags can be of arbitrary length, but have to start with an upper or lower case character. ASCII Characters, digits and the symbols ‘-’, ‘_’ and ‘.’ are allowed after that.

Internally, each Oxygen channel has a set of so-called ConfigItems, whose names and supported values depend on the device, type and configuration. A collection of associated metadata constrains the valid values or indicates other important properties of the item (readonly,…).

For example, a TRION analog channel might have an editable item called ‘Mode’ which supports values like ‘Bridge’ or ‘Resistance’.

There are also items using a name prefixed by ‘ID:’, which exist specifically to address the channel.

In this XML format all of those items can be used directly via their name, but due to XML syntax rules a small transformation is required:

  • Each forward slash (/) has to be replaced by a dash (-)

For example, the config item ID:TRION/BoardId would appear as ID:TRION-BoardId in the file.

Within the <Channel> element, config items are used in two different places:

  • The XML attributes filter the hardware channels to find the one that has to be configured. Usually only items with names prefixed by ID: are used for this purpose. For TRION systems the attributes ID:TRION-BoardId, ID:TRION-ChannelType and ID:TRION-ChannelIndex are usually a good pick. To address OXYGEN-NET nodes, ID:OXYNET-NodeName should be added.

  • Once the channel is found, all the configuration settings specified as XML child elements will be applied.

Here is a simple example of how a <Channel> element could look like:

<Channel ID:TRION-BoardId="1" ID:TRION-ChannelIndex="5" tag="Analog1">
  <Neon-Name>a1</Neon-Name>
  <Mode>Bridge</Mode>
  <InputType>BRQUARTER4W</InputType>
</Channel>

Channel elements are processed in the order in which they appear in the file. This is important, if the channels are not independent. For example, for some hardware channels there are settings that are shown per channel, but affect the entire device and all its channels.

The child elements of <Channel> also have an optional attribute type, which can be used if the interpretation of the value is not obvious based on the usage context. Currently the following types are supported:

  • channel: converts a single channel tag to an item of type ChannelID.

  • channels: converts a sequence of channel tags, separated by ,, to an item of type ChannelIDList.

  • xml: uses the subtree as an xml-string item. This is usually automatically detected based on the content of the element.

Config Items in OXYGEN

OXYGEN can be started in experimental mode, which enables some features that are not intended for regular measurements. In this mode there is an additional “inspect” icon on the per-channel setup page (top-right corner) that displays the currently available items and their values. The “Copy XML” button copies a <Channel> element with current settings to the clipboard.

Clicking on an item name displays more information of the current and allowed values. In conjunction with the contents of the setup page, the meaning of these items should be easy to recognize.