-
Notifications
You must be signed in to change notification settings - Fork 52
NI XNET XNET Session SAE J1939 Properties
- SAE J1939:ECU
- SAE J1939:ECU Busy
- SAE J1939:Include Destination Address in PGN
- SAE J1939:Maximum Repeat CTS
- SAE J1939:Node Address
- SAE J1939:NodeName
- SAE J1939:Number of Packets Received
- SAE J1939:Number of Packets Response
- SAE J1939:Timing:Hold Time Th
- SAE J1939:Timing:Response Time Tr_GD
- SAE J1939:Timing:Response Time Tr_SD
- SAE J1939:Timing:Timeout T1
- SAE J1939:Timing:Timeout T2
- SAE J1939:Timing:Timeout T3
- SAE J1939:Timing:Timeout T4
Data Type | Direction | Required? | Default |
---|---|---|---|
u32 | Read/Write | No | Null (254) |
XNET Session
nxPropSession_J1939Address
Note This property applies to only the CAN J1939 application protocol.| | :- | :- | This property changes the node address of a J1939 session by starting an address claiming procedure. Setting the SAE J1939:Node Address property causes NI-XNET to start the interface, but it does not start the session. Any properties that are to be set before the interface starts must be set before you set this property. J1939 traffic is not retained by an input session until nxStart or nxRead are explicitly called.
After setting this property to a valid value (≤ 253), reading the property returns the null address (254) until the address is granted. Poll the property and wait until the address gets to a valid value again before starting to write. Refer to the NI-XNET examples that demonstrate this procedure.
The node address value determines the source address in a transmitting session or a destination address in a receiving session. The source address in the extended frame identifier is overwritten with the node address of the session before transmitting.
In NI-XNET, you can assign the same J1939 node address to multiple sessions running on the same interface (for example, CAN1). Those sessions represent one J1939 node. By assigning different J1939 node addresses to multiple sessions running on the same interface, you also can create multiple nodes on the same interface.
If a J1939 ECU is assigned to multiple sessions, changing the address in one session also changes the address in all other sessions with the same assigned ECU.
For more information, refer to the SAE J1939:ECU property.
Data Type | Direction | Required? | Default |
---|---|---|---|
bool | Read/Write | No | False |
XNET Session
nxPropSession_J1939ECUBusy
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | Busy is a special ECU state defined in the SAE J1939 standard. A busy ECU receives subsequent RTS messages while handling a previous RTS/CTS communication.
If the ECU cannot respond immediately to an RTS request, the ECU may send CTS Hold messages. In this case, the originator receives information about the busy state and waits until the ECU leaves the busy state. (That is, the ECU no longer sends CTS Hold messages and sends the first CTS message with the requested data.)
Use the ECU Busy property to simulate this ECU behavior. If a busy XNET ECU receives a CTS message, it sends CTS Hold messages instead of CTS data messages immediately. Afterward, if clearing the busy property, the XNET ECU resumes handling the transport protocol starting with CTS data messages, as the originator expects.
Data Type | Direction | Required? | Default |
---|---|---|---|
nxDatabaseRef_t | Write Only | No | Unassigned |
XNET Session
nxPropSession_J1939ECU
Note This property applies to only the CAN J1939 application protocol. The database from which the ECU reference is passed in this property must be open when this property is called, because database references are valid only when the database is open.| | :- | :- | This property assigns a database ECU to a J1939 session. Setting this property changes the node address and J1939 64-bit ECU name of the session to the values stored in the database ECU object. Changing the node address starts an address claiming procedure, as described in the SAE J1939:Node Address property.
Changing the node address causes NI-XNET to start the interface; you must set any properties that are to be set before the interface starts before changing the node address. Also, note that setting the node address does not start the session. J1939 traffic is not retained by an input session until nxStart or nxRead are explicitly called.
You can assign the same ECU to multiple sessions running on the same CAN interface (for example, CAN1). All sessions with the same assigned ECU represent one J1939 node.
If multiple sessions have been assigned the same ECU, setting the SAE J1939:Node Address property in one session changes the address in all sessions with the same assigned ECU running on the same CAN interface.
For more information, refer to the SAE J1939:Node Address property.
Data Type | Direction | Required? | Default |
---|---|---|---|
u64 | Read/Write | Yes | 0 |
XNET Session
nxPropSession_J1939Name
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property changes the name value of a J1939 session. The name is an unsigned 64-bit integer value. Beside the SAE J1939:Node Address property, the value is specific to the ECU you want to emulate using the session. That means the session can act as if it were the real-world ECU, using the identical address and name value.
The name value is used within the address claiming procedure. If the ECU (session) wants to claim its address, it sends out an address claiming message. That message contains the ECU address and the name value of the current session's ECU. If there is another ECU within the network with an identical address but lower name value, the current session loses its address. In this case, the session cannot send out further messages, and all addressed messages using the previous address of the current session are addressed to another ECU within the network.
The most significant bit (bit 63) in the Node Name defines the ECU's arbitrary address capability (bit 63 = 1 means it is arbitrary address capable). If the node cannot use the assigned address, it automatically tries to claim another random value between 128 and 247 until it is successful.
The name value has multiple bit fields, as described in SAE J1939-81 (Network Management). A single 64-bit value represents the name value within XNET.
For more information, refer to the SAE J1939:Node Address property.
Data Type | Direction | Required? | Default |
---|---|---|---|
u32 | Read/Write | No | 2 |
XNET Session
nxPropSession_J1939MaxRepeatCTS
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property limits the number of requests for retransmission of data packet(s) using the TP.CM_CTS message.
This property is related to handling the transport protocol.
Data Type | Direction | Required? | Default |
---|---|---|---|
u32 | Read/Write | No | 255 |
XNET Session
nxPropSession_J1939NumPacketsRecv
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property changes the maximum number of data packet(s) that can be received in one block at the responder node.
This property is related to handling the transport protocol.
Data Type | Direction | Required? | Default |
---|---|---|---|
u32 | Read/Write | No | 255 |
XNET Session
nxPropSession_J1939NumPacketsResp
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property limits the maximum number of packets in a response. This allows the originator node to limit the number of packets in the TP.CM_CTS message. When the responder complies with this limit, it ensures the sender always can retransmit packets that the responder may not have received.
This property is related to handling the transport protocol.
Data Type | Direction | Required? | Default |
---|---|---|---|
bool | Read/Write | No | False |
XNET Session
nxPropSession_J1939IncludeDestAddrInPGN
Note This property applies only to the CAN J1939 application protocol. | | :- | :- | Incoming J1939 frames are matched to an XNET database by the Parameter Group Number (PGN) of the frame. When receiving PDU1 frames, the destination address of the frame (J1939 PS field) is ignored when calculating the PGN, in accordance to the J1939 specification. This causes an XNET session to receive all frames that share the same PGN, making it difficult to distinguish destinations for traffic.
When set to True, this property instructs NI-XNET to include the destination address when extracting the PGN from the frame. This allows the same PGN sent to different destination addresses to be handled by separate input sessions.
This property may be set at any time. When set after session start, it will not affect frames already received.
The SAE J1939:Include Destination Address in PGN property is valid only for input sessions. It is not valid for stream sessions. This property affects all frames in a session.
Data Type | Direction | Required? | Default |
---|---|---|---|
f64 | Read/Write | No | 0.5 s |
XNET Session
nxPropSession_J1939HoldTimeTh
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property changes the Hold Time Timeout value at the responder node. The value specifies the minimum delay between a TP.CM_CTS hold message and the next TP.CM_CTS message, in seconds.
This property is related to handling the transport protocol.
Data Type | Direction | Required? | Default |
---|---|---|---|
f64 | Read/Write | No | 0 s |
XNET Session
nxPropSession_J1939ResponseTimeTrSD
Note This property applies to only the CAN J1939 application protocol.| | :- | :- | This property changes the Device Response Time value for specific destination messages (TP.CM_RTS/CTS messages). The value specifies the minimum delay between receipt of a message and sending a response. This value also specifies a minimum time delay between packets of a multipacket message directed to a specific destination.
According to the J1939 specification, the time between packets of a multipacket message directed to a specific destination may be 0 ms to 200 ms. Increasing the value of nxPropSession_J1939ResponseTimeTrSD can adversely affect performance in handling multipacket messages.
Data Type | Direction | Required? | Default |
---|---|---|---|
f64 | Read/Write | No | 0.05 s |
XNET Session
nxPropSession_J1939ResponseTimeTrGD
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property changes the Device Response Time for global destination messages (TP.CM_BAM messages). The value is the minimum delay between sending two TP.CM_BAM messages, in seconds. The recommended range is 0.05 s to 0.200 s.
This property is related to handling the transport protocol.
Data Type | Direction | Required? | Default |
---|---|---|---|
f64 | Read/Write | No | 0.75 s |
XNET Session
nxPropSession_J1939TimeoutT1
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property changes the timeout T1 value for the responder node. The value is the maximum gap between two received TP.DT messages in seconds.
This property is related to handling the transport protocol.
Data Type | Direction | Required? | Default |
---|---|---|---|
f64 | Read/Write | No | 1.25 s |
XNET Session
nxPropSession_J1939TimeoutT2
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property changes the timeout T2 value at the responder node. This value is the maximum gap between sending out the TP.CM_CTS message and receiving the next TP.DT message, in seconds.
This property is related to handling the transport protocol.
Data Type | Direction | Required? | Default |
---|---|---|---|
f64 | Read/Write | No | 1.25 s |
XNET Session
nxPropSession_J1939TimeoutT3
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property changes the timeout T3 value at the originator node. This value is the maximum gap between sending out a TP.CM_RTS message or the last TP.DT message and receiving the TP.CM_CTS response, in seconds.
This property is related to handling the transport protocol.
Data Type | Direction | Required? | Default |
---|---|---|---|
f64 | Read/Write | No | 1.05 s |
XNET Session
nxPropSession_J1939TimeoutT4
Note This property applies to only the CAN J1939 application protocol. | | :- | :- | This property changes the timeout T4 value at the originator node. This value is the maximum gap between the TP.CM_CTS hold message and the next TP.CM_CTS message, in seconds.
This property is related to handling the transport protocol.
Creating and Setting Up a gRPC Server
Session Utilities API Reference
gRPC API Differences From C API
Sharing Driver Sessions Between Clients
C API Docs
NI-DAQmx
- gRPC API Differences From C API
- Task Configuration And Control
- Channel Configuration And Creation
- Timing
- Triggering
- Read Functions
- Write Functions
- Export Hardware Signals
- Scale Configuration
- Internal Buffer Configuration
- Advanced Functions
- System Configuration
- Error Handling
- Buffer Attributes
- Calibration Info Attributes
- Channel Attributes
- Device Attributes
- Export Signal Attributes
- Persisted Channel Attributes
- Persisted Scale Attributes
- Persisted Task Attributes
- Physical Channel Attributes
- Read Attributes
- Scale Attributes
- System Attributes
- Task Attributes
- Timing Attributes
- Trigger Attributes
- Watchdog Attributes
- Write Attributes
NI-DCPOWER
- Setup Functions
- Configure Functions
- Measurement Functions
- Control Functions
- Trigger And Event
- Attribute Functions
- Query Functions
- Calibration Functions
- Utility Functions
- Supported Device
- Source Attributes
- Transient Attributes
- Voltage Attributes
- Current Attributes
- Pulse Voltage Attributes
- Pulse Current Attributes
- Cutoff Attributes
- Measurement Attributes
- Trigger Attributes Functions
- Event Attributes
- Advanced Attributes
- Inherent Ivi Attributes
- Supported Device Attributes
NI-DIGITAL PATTERN DRIVER
- Init And Close Functions
- Session Locking Functions
- Utility Functions
- Error Handling Functions
- Calibration Functions
- Attributes Functions
- Pin Map Functions
- Low Level Functions
- Low Level Action Functions
- Pin Control Functions
- Static IO Functions
- Clock Generator Functions
- Levels And Timing Functions
- TDR Functions
- PPMU Configuration Functions
- DC Voltage Functions
- DC Current Functions
- PPMU Action Functions
- Pattern Configuration Functions
- Pattern Action Functions
- History Ram Functions
- Source Memory Functions
- Capture Memory Functions
- Triggers And Events Functions
- Conditional Jump Trigger Functions
- Sequencer Flag Functions
- Sequencer Register Functions
- Match Fail Combination Functions
- Pattern Results Functions
- Sort Results Functions
- Frequency Measurement Functions
- IVI Inherent Attributes
- Specific Driver Information Attributes, Read Only
- Driver Setup Information Attributes
- Device Attributes
- Pin Control Attributes
- Level Configuration Attributes
- Trigger Configuration Attributes
- PPMU Attributes
- Patterns Attributes
- Pattern Opcode Event Attributes
- Timing Offset Attributes
- Keep Alive Attributes
- Frequency Measurement Attributes
- Clock Generator Attributes
- History RAM
- Synchronization Attributes
- TDR Endpoint Termination Attributes
NI-FGEN
- Setup Functions
- Configuration Functions
- Standard Output Functions
- Arbitrary Waveform Output Functions
- Arbitrary Sequence Output Functions
- Incremental Waveform Write Functions
- Configure Clock Functions
- Trigger And Syncronizations Functions
- 5404 Routing Functions
- Script Output Functions
- Configure Onboard Signal Processing Functions
- Configure Peer To Peer Functions
- Attribute Functions
- Waveform Control Functions
- Error Functions
- Output Attributes
- Arbitrary Waveform Attributes
- Data Transfer Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Attributes
- Standard Function Attributes
- Clock Attributes
- Event Attributes
- Triggering Attributes
- Instrument Specific Attributes
- Inherent IVI Attributes
- 5401 5411 5431
NI-RFmx Bluetooth
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Packet Attributes
- Auto Detect Signal Attributes
- Modacc Attributes
- ACP Attributes
- Twenty dB Attributes
- Frequency Range Attributes
- TXP Attributes
- Advanced Attributes
NI-RFmx NR
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attributes Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Signal Detection Attributes
- Component Carrier Attributes
- List Attributes
- Modacc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- TXP Attributes
- Pvt Attributes
- Advanced Attributes
NI-RFmx LTE
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Ch Configuration Functions
- NB IoT Configuration Functions
- ModAcc Configuration Functions
- ACP Configuration Functions
- CHP Configuration Functions
- OBW Configuration Functions
- SEM Configuration Functions
- PVT Configuration Functions
- SlotPhase Configuration Functions
- SlotPower Configuration Functions
- Set And Get Attribute Functions
- ModAcc Fetch Functions
- ACP Fetch Functions
- CHP Fetch Functions
- OBW Fetch Functions
- SEM Fetch Functions
- PVT Fetch Functions
- SlotPhase Fetch Functions
- SlotPower Fetch Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Component Carrier Attributes
- ModAcc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- PVT Attributes
- SlotPhase Attributes
- SlotPower Attributes
- Advanced Attributes
NI-RFmx SpecAn
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Read Functions
- Fetch Functions
- Utility Functions
- Marker Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- ACP Attributes
- Cdf Attributes
- CHP Attributes
- Fcnt Attributes
- Harm Attributes
- OBW Attributes
- SEM Attributes
- Spectrum Attributes
- Spur Attributes
- TXP Attributes
- AMPM Attributes
- Dpd Attributes
- IQ Attributes
- IM Attributes
- NF Attributes
- Phasenoise Attributes
- PAVT Attributes
- Advanced Attributes
NI-RFmx WLAN
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch DSSS ModAcc Functions
- Fetch OFDM ModAcc Functions
- Fetch SEM Functions
- Fetch TXP Functions
- Fetch PowerRamp Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- OFDM Attributes
- Auto Detect Signal Attributes
- DSSS ModAcc Attributes
- OFDM ModAcc Attributes
- SEM Attributes
- TXP Attributes
- PowerRamp Attributes
- Advanced Attributes
NI-RFSA
- General Functions
- Configuration Functions
- Acquisition Functions
- Utility Functions
- Calibration Functions
- General Attributes
- Vertical Attributes
- Signal Path Attributes
- Acquisition Attributes
- Acquisition Attributes
- Triggers Attributes
- Events Attributes
- Device Characteristics Attributes
- Peer To Peer Streaming Attributes
- Configuration List Attributes
- Inherent IVI Properties Attributes
- De-embedding Attributes
- Self Calibration Attributes
- Factory Calibration Attributes
- External Alignment Attributes
- Device Specific Attributes
NI-RFSG
- General Functions
- Generation Configuration
- Utility Functions
- Calibration Functions
- Arb Attributes
- Clock Attributes
- Configuration List Attributes
- De-embedding Attributes
- Device Characteristics Attributes
- Device Specific Attributes
- Events Attributes
- External Calibration Attributes
- Inherent IVI Attributes Attributes
- IQ Impairment Attributes
- Load Configurations Attributes
- Modulation Attributes
- Obsolete Attributes
- Peer To Peer Attributes
- RF Attributes
- Self Calibration Attributes
- Triggers Attributes
NI-SCOPE
- Setup Functions
- Configure Functions
- Attribute Functions
- Acquisition Functions
- Measurement Functions
- Calibrate Functions
- Utility Funcitons
- Error Handling Functions
- IVI Compliance Or Obsolete Functions
- Vertical Attributes
- Horizontal Attributes
- Trigger Attributes
- Clocking Attributes
- Synchronization Attributes
- Acquisition Attributes
- Waveform Measurements Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Streaming Attributes
- Device Attributes
- IVI Or Obsolete Attributes
- Instrument Capabilities Attributes
- If Digitizer Attributes
NI-XNET
- gRPC API differences from C APIs
- General Functions
- Cluster Properties
- Database Properties
- Device Properties
- ECU Properties
- Frame Properties
- Interface Properties
- LIN Schedule Entry Properties
- LIN Schedule Properties
- PDU Properties
- Session Ethernet Properties
- Session Frame Properties
- Session Interface Properties
- Session Properties
- Session SAE J1939 Properties
- Signal Properties
- Subframe Properties
- System Properties
- IP-Stack Functions
- Socket Options
- Socket Functions