NI-XNET API for LabVIEW and C

XNET Convert (Frame FlexRay to Byte Array).vi

  • Updated2023-11-11
  • 5 minute(s) read
 XNET Convert (Frame FlexRay to Byte Array).vi

XNET Convert (Frame FlexRay to Byte Array).vi

Purpose

Converts between NI-XNET FlexRay frame data and a byte array signal.

Format

Inputs

session in is the session to read. This session is returned from the XNET Create Session VI. The session mode must be Conversion.
frame data provides the array of LabVIEW clusters.

Each array element corresponds to a frame value to convert.

The data you write is converted to signal values in the order you provide them. Only the latest signal value is returned.

For an example of how this data applies, refer to Conversion Mode.

The elements of each cluster are specific to the FlexRay protocol. For more information, refer to Summary of the FlexRay Standard or the FlexRay Protocol Specification.

The cluster elements are:

slot specifies the slot number within the FlexRay cycle.
cycle count specifies the cycle number.

The FlexRay cycle count increments from 0 to 63, then rolls over back to 0.

startup? is a Boolean value that specifies whether the frame is a startup frame (true) or not (false). This field is ignored for conversion.
sync? is a Boolean value that specifies whether the frame is a sync frame (true) or not (false). This field is ignored for conversion.
preamble? is a Boolean value that specifies the value of the payload preamble indicator in the frame header.

If the frame is in the static segment, preamble? being true indicates the presence of a network management vector at the beginning of the payload. The XNET Cluster FlexRay:Network Management Vector Length property specifies the number of bytes at the beginning.

If the frame is in the dynamic segment, preamble? being true indicates the presence of a message ID at the beginning of the payload. The message ID is always 2 bytes in length.

If preamble? is false, the payload does not contain a network management vector or a message ID.

This field is ignored for conversion.

chA is a Boolean value that specifies whether to transmit the frame on channel A (true) or not (false).
chB is a Boolean value that specifies whether to transmit the frame on channel B (true) or not (false).
echo? is not used for conversion. You must set this element to false.
type is the frame type. type is not used for transmit, so you must leave this element uninitialized. All frame values are assumed to be the FlexRay Data type. Frames of FlexRay Data type contain payload data.

The FlexRay Null type is not transmitted based on this type. As specified in the XNET Frame FlexRay:Timing Type property, the FlexRay null frame is transmitted when a cyclically timed frame does not have new data.

timestamp represents absolute time using the LabVIEW absolute timestamp type. timestamp is not used for conversion. You must set this element to the default value, invalid (0).
payload is the array of data bytes for FlexRay frames of type FlexRay Data.

The array size indicates the payload length of the frame value to transmit. According to the FlexRay protocol, the length range is 0–254.

You can leave all other FlexRay frame cluster elements uninitialized. For more information, refer to the section for each mode.

The XNET Convert (Frame FlexRay to Signal) VI uses the following fields to identify a FlexRay frame:

  • slot
  • cycle count
  • chA/chB
error in is the error cluster input (refer to Error Handling).

Outputs

session out is the same as session in, provided for use with subsequent VIs.
signal data returns a byte array representation of the single signal in the conversion session.

If there is more than one signal in the session, or the signal cannot be represented as a byte array, an error will be returned.

The data returns the most recent converted value for each signal. If multiple frames for a signal are input, only signal data from the most recent frame is returned. Here, most recent is defined by the order of the frames in the frame data array, not the timestamp.

If no frame is input for the corresponding signals, the XNET Signal Default Value is returned.

error out is the error cluster output (refer to Error Handling).

Log in to get a better experience