NI XNET XNET Signal Properties - ni/grpc-device GitHub Wiki

XNET Signal Properties

Comment

Data Type Direction Required? Default
char * Read/Write No Empty String

Property Class

XNET Signal

Property ID

nxPropSig_Comment

Description

Comment describing the signal object.

A comment is a string containing up to 65535 characters.

Configuration Status

Data Type Direction Required? Default
i32 Read Only No N/A

Property Class

XNET Signal

Property ID

nxPropSig_ConfigStatus

Description

The signal object configuration status.

Configuration Status returns an NI-XNET error code. You can pass the value to the nxStatusToString error code input to convert the value to a text description of the configuration problem.

By default, incorrectly configured signals in the database are not returned from the XNET Frame Signals property because they cannot be used in the bus communication. You can change this behavior by setting the XNET Database ShowInvalidFromOpen? property to true. When a signal configuration status becomes invalid after the database is opened, the signal still is returned from the Signals property even if the ShowInvalidFromOpen? property is false.

Examples of invalid signal configuration:

  • The signal is specified using bits outside the frame payload.
  • The signal overlaps another signal in the frame. For example, two multiplexed signals with the same multiplexer value are using the same bit in the frame payload.
  • The frame containing the signal is invalid (for example, a CAN frame is defined with more than 8 payload bytes).

Name (Short)

Data Type Direction Required? Default
char * Read/Write Yes Defined in nxdbCreateObject

Property Class

XNET Subframe

Property ID

nxPropSubfrm_Name

Description

String identifying a subframe object.

Lowercase letters (a–z), uppercase letters (A–Z), numbers, and the underscore (_) are valid characters for the short name. The space ( ), period (.), and other special characters are not supported within the name. The short name must begin with a letter (uppercase or lowercase) or underscore, and not a number. The short name is limited to 128 characters.

A subframe name must be unique for all subframes in a frame.

This short name does not include qualifiers to ensure that it is unique, such as the database, cluster, and frame name. It is for display purposes.

You can write this property to change the subframe's short name.

Frame

Data Type Direction Required? Default
nxDatabaseRef_t Read Only N/A N/A

Property Class

XNET Subframe

Property ID

nxPropSubfrm_FrmRef

Description

Returns the reference to the parent frame. The parent frame is defined when the subframe is created, and you cannot change it afterwards.

PDU

Data Type Direction Required? Default
nxDatabaseRef_t Read Only N/A N/A

Property Class

XNET Subframe

Property ID

nxPropSubfrm_PDURef

Description

Reference to the subframe's parent PDU.

This property returns the reference to the subframe's parent PDU. The parent PDU is defined when the subframe object is created. You cannot change it afterwards.

Byte Order

Data Type Direction Required? Default
u32 Read/Write Yes N/A

Property Class

XNET Signal

Property ID

nxPropSig_ByteOrdr

Description

Signal byte order in the frame payload. This property defines how signal bytes are ordered in the frame payload when the frame is loaded in memory. The signal byte order values (decimal value in parentheses) are:

nxSigByteOrdr_LittleEndian (0)

Higher significant signal bits are placed on higher byte addresses. In NI-CAN, this was called Intel Byte Order.

!Little Endian (Intel) Byte Order

Little Endian Signal with Start Bit 12

nxSigByteOrdr_BigEndian (1)

Higher significant signal bits are placed on lower byte addresses. In NI-CAN, this was called Motorola Byte Order.

!Big Endian (Motorola) Byte Order

Big Endian Signal with Start Bit 12

This property is required. If the property does not contain a valid value, and you create an XNET session that uses this signal, the session returns an error. To ensure that the property contains a valid value, you can do one of the following:

  • Use a database file (or alias) to create the session.

    The file formats require a valid value in the text for this property.

  • Set a value using the nxdbSetProperty function.

    This is needed when you create your own in-memory database (:memory:) rather than use a file. The property does not contain a default in this case, so you must set a valid value prior to creating a session.

Data Type

Data Type Direction Required? Default
u32 Read/Write Yes N/A

Property Class

XNET Signal

Property ID

nxPropSig_DataType

Description

Signal data type. This property determines how the bits of a signal in a frame must be interpreted to build a value. The signal data types (decimal value in parentheses) are:

nxSigDataType_Signed (0)

Signed integer with positive and negative values.

nxSigDataType_Unsigned (1)

Unsigned integer with no negative values.

nxSigDataType_IEEEFloat (2)

Float value with 7 or 15 significant decimal digits (32 bit or 64 bit).

nxSigDataType_ByteArray (3)

Signal >64 bit. This can be accessed only using conversion sessions (see nxConvertByteArrayToFramesSinglePoint and nxConvertFramesToByteArraySinglePoint).

This property is required. If the property does not contain a valid value, and you create an XNET session that uses this signal, the session returns an error. To ensure that the property contains a valid value, you can do one of the following:

  • Use a database file (or alias) to create the session.

    The file formats require a valid value in the text for this property.

  • Set a value using the nxdbSetProperty function.

    This is needed when you create your own in-memory database (:memory:) rather than use a file. The property does not contain a default in this case, so you must set a valid value prior to creating a session.

Default Value

Data Type Direction Required? Default
Double Read/Write No 0.0 (If Not in Database)

Property Class

XNET Signal

Property ID

nxPropSig_Default

Description

The signal default value, specified as scaled floating-point units.

The data type is 64-bit floating point (DBL).

The initial value of this property comes from the database. If the database does not provide a value, this property uses a default value of 0.0.

For all three signal output sessions, this property is used when a frame transmits prior to a call to nxWrite. The XNET Frame Default Payload property is used as the initial payload, then the default value of each signal is mapped into that payload using this property, and the result is used for the frame transmit.

For all three signal input sessions, this property is returned for each signal when nxRead is called prior to receiving the first frame.

Mux:Dynamic?

Data Type Direction Required? Default
bool Read Only No False

Property Class

XNET Signal

Property ID

nxPropSig_MuxIsDynamic

Description

Use this property to determine if a signal is static or dynamic. Dynamic signals are transmitted in the frame when the multiplexer signal in the frame has a given value specified in the subframe. Use the Multiplexer Value property to determine with which multiplexer value the dynamic signal is transmitted.

This property is read only. To create a dynamic signal, create the signal object as a child of a subframe instead of a frame. The dynamic signal cannot be changed to a static signal afterwards.

In NI-CAN, dynamic signals were called mode-dependent signals.

Maximum Value

Data Type Direction Required? Default
Double Read/Write No 1000.0

Property Class

XNET Signal

Property ID

nxPropSig_Max

Description

The scaled signal value maximum.

nxRead and nxWrite do not limit the signal value to a maximum value. Use this database property to set the maximum value.

Minimum Value

Data Type Direction Required? Default
Double Read/Write No 0.0

Property Class

XNET Signal

Property ID

nxPropSig_Min

Description

The scaled signal value minimum.

nxRead and nxWrite do not limit the signal value to a minimum value. Use this database property to set the minimum value.

Mux:Multiplexer Value

Data Type Direction Required? Default
u32 Read Only N/A N/A

Property Class

XNET Signal

Property ID

nxPropSig_MuxValue

Description

The multiplexer value applies to dynamic signals only (the XNET Signal Mux:Dynamic? property returns true). This property defines which multiplexer value is transmitted in the multiplexer signal when this dynamic signal is transmitted in the frame.

The multiplexer value is determined in the subframe. All dynamic signals that are children of the same subframe object use the same multiplexer value.

Dynamic signals with the same multiplexer value may not overlap each other, the multiplexer signal, or static signals.

Mux:Data Multiplexer?

Data Type Direction Required? Default
bool Read/Write No False

Property Class

XNET Signal

Property ID

nxPropSig_MuxIsDataMux

Description

This property defines the signal that is a multiplexer signal. A frame containing a multiplexer value is called a multiplexed frame.

A multiplexer defines an area within the frame to contain different information (dynamic signals) depending on the multiplexer signal value. Dynamic signals with a different multiplexer value (defined in a different subframe) can share bits in the frame payload. The multiplexer signal value determines which dynamic signals are transmitted in the given frame.

To define dynamic signals in the frame transmitted with a given multiplexer value, you first must create a subframe in this frame and set the multiplexer value in the subframe. Then you must create dynamic signals using nxCreateObject to create child signals of this subframe.

Multiplexer signals may not overlap other static or dynamic signals in the frame.

Dynamic signals may overlap other dynamic signals when they have a different multiplexer value.

A frame may contain only one multiplexer signal.

The multiplexer signal is not scaled. Scaling factor and offset do not apply.

In NI-CAN, the multiplexer signal was called mode channel.

Number of Bits

Data Type Direction Required? Default
u32 Read/Write Yes N/A

Property Class

XNET Signal

Property ID

nxPropSig_NumBits

Description

The number of bits the signal uses in the frame payload.

IEEE Float numbers are limited to 32 bit or 64 bit.

Integer (signed and unsigned) numbers are limited to 1–64 bits. NI-XNET converts all integers to doubles (64-bit IEEE Float). Integer numbers with more than 52 bits (the size of the mantissa in a 64-bit IEEE Float) cannot be converted exactly to double, and vice versa; therefore, NI-XNET will round them appropriately. If you are interested in the full precision, use a conversion session and byte array conversion.

Byte Arrays are signals that can extend every size, even >64 bits. The only way to access them is through a Frame Read/Write session, and a conversion session that will access the signal data as a byte array (see nxConvertByteArrayToFramesSinglePoint and nxConvertFramesToByteArraySinglePoint).

This property is required. If the property does not contain a valid value, and you create an XNET session that uses this signal, the session returns an error. To ensure that the property contains a valid value, you can do one of the following:

  • Use a database file (or alias) to create the session.

    The file formats require a valid value in the text for this property.

  • Set a value using the nxdbSetProperty function.

    This is needed when you create your own in-memory database (:memory:) rather than use a file. The property does not contain a default in this case, so you must set a valid value prior to creating a session.

Scaling Factor

Data Type Direction Required? Default
Double Read/Write No 1.0

Property Class

XNET Signal

Property ID

nxPropSig_ScaleFac

Description

Factor a for linear scaling ax+b.

Linear scaling is applied to all signals with the IEEE Float data type, unsigned and signed. For identical scaling 1.0x+0.0, NI-XNET optimized scaling routines do not perform the multiplication and addition.

Scaling Offset

Data Type Direction Required? Default
Double Read/Write No 0.0

Property Class

XNET Signal

Property ID

nxPropSig_ScaleOff

Description

Offset b for linear scaling ax+b.

Linear scaling is applied to all signals with the IEEE Float data type, unsigned and signed. For identical scaling 1.0x+0.0, NI-XNET optimized scaling routines do not perform the multiplication and addition.

Start Bit

Data Type Direction Required? Default
u32 Read/Write Yes N/A

Property Class

XNET Signal

Property ID

nxPropSig_StartBit

Description

The least significant signal bit position in the frame payload.

This property determines the signal starting point in the frame. For the integer data type (signed and unsigned), it means the binary signal representation least significant bit position. For IEEE Float signals, it means the mantissa least significant bit.

The NI-XNET Database Editor shows a graphical overview of the frame. It enumerates the frame bytes on the left and the byte bits on top. The bit number in the frame is calculated as byte number x 8 + bit number. The maximum bit number in a CAN or LIN frame is 63 (7 x 8 + 7); the maximum bit number in a FlexRay frame is 2031 (253 x 8 + 7).

Frame Overview in the NI-XNET Database Editor with a Signal Starting in Bit 12

This property is required. If the property does not contain a valid value, and you create an XNET session that uses this signal, the session returns an error. To ensure that the property contains a valid value, you can do one of the following:

  • Use a database file (or alias) to create the session.

    The file formats require a valid value in the text for this property.

  • Set a value using the nxdbSetProperty function.

    This is needed when you create your own in-memory database (:memory:) rather than use a file. The property does not contain a default in this case, so you must set a valid value prior to creating a session.

Mux:Subframe

Data Type Direction Required? Default
nxDatabaseRef_t Read Only N/A Parent Subframe

Property Class

XNET Signal

Property ID

nxPropSig_MuxSubfrmRef

Description

Reference to the subframe parent.

This property is valid only for dynamic signals that have a subframe parent. For static signals or the multiplexer signal, this property returns 0 and an error indication.

Unit

Data Type Direction Required? Default
char * Read/Write No Empty String

Property Class

XNET Signal

Property ID

nxPropSig_Unit

Description

This property describes the signal value unit. NI-XNET does not use the unit internally for calculations. You can use the string to display the signal value along with the unit.

Name Unique to Cluster

Data Type Direction Required? Default
string Read Only N/A N/A

Property Class

XNET Subframe

Property ID

nxPropSubfrm_NameUniqueToCluster

Description

This property returns a subframe name unique to the cluster that contains the subframe. If the single name is not unique within the cluster, the name is ..

You can pass the name to the nxdbFindObject function to retrieve the reference to the object, while the single name is not guaranteed success in nxdbFindObject because it may be not unique in the cluster.

⚠️ **GitHub.com Fallback** ⚠️