ECU Measurement and Calibration Toolkit C API Reference

Content Type
Programming Language
Current manual
Table of Contents

MC Get Property.vi

MC Get Property.vi

Purpose

Gets a property for the object referenced by the reference in terminal. The poly VI selection determines the property to get.

Format

diagram

Input

string Name specifies an individual channel within the task defined by reference in. The default (unwired) value of name is empty, which means the property applies to the entire task, not a specific channel. If a property relates to Measurement or Characteristic channels and does not apply to the entire task, but an individual channel or message within the task, you must wire the name of a Measurement or Characteristic channel from channel list into the name input. For other properties you must leave name unwired (empty).
long unsigned integer Reference in is the reference to any opened A2L database, a selected ECU, or an ECU which is already connected (with MC Database Open.vi, MC ECU Select.vi, MC ECU Open.vi, or MC ECU Connect.vi). The type of this reference depends on the property you want to get.
cluster Error in is a cluster which describes error conditions occurring before the VI executes. If an error has already occurred, the VI returns the value of the error in cluster to error out.
boolean status is TRUE if an error occurred. This VI is not executed when status is TRUE.
long unsigned integer code is the error code number identifying an error. A value of 0 means success. A negative value means error: VI did not execute the intended operation. A positive value means warning: VI executed intended operation, but an informational warning is returned. For a description of the code, wire the error cluster to a LabVIEW error-handling VI, such as the Simple Error Handler.
string source identifies the VI where the error occurred.

Output

long unsigned integer Reference out contains an ECU M&C task reference which can be wired through subsequent ECU M&C VIs.
polymorphic Value is a poly output value that returns the property value. You select the property returned in value by selecting the poly VI type. The data type of value is also determined by the poly VI selection. For information about the different properties provided by MC Get Property.vi, refer to the Poly VI Types table in the Description section. To select the property, right-click the VI, go to Select Type, and select the property by name.
cluster Error out describes error conditions. If the Error in cluster indicated an error, the Error out cluster contains the same information. Otherwise, Error out describes the error status of this VI.
boolean status is TRUE if an error occurred.
long signed integer code is the error code number identifying an error. A value of 0 means success. A negative value means error: VI did not execute the intended operation. A positive value means warning: VI executed intended operation, but an informational warning is returned. For a description of the code, wire the error cluster to a LabVIEW error-handling VI, such as the Simple Error Handler.
string source identifies the VI where the error occurred.

Description

Poly VI Types

TypeHierarchySub-HierarchyParameterDescription
Sub 1Sub 2
stringDB File NameReturns the A2L Database file name with which the task has been opened. The value of this property cannot be changed using MC Set Property.vi.
stringECUNameReturns the Name of the selected ECU opened by MC ECU Open.vi or MC ECU Select.vi.
stringECUCommentReturns the Comment string of the selected ECU.
1D array (integer)ECUDAQ List NumbersReturns an array of DAQ list numbers for all DAQ lists defined in the A2L file.
long unsigned integerECUCCPDTO IdReturns the DTO ID, which is used by the ECU to respond to CCP commands and to send data and status information to the CCP master. If bit 31 (hex 0x80000000) of the value is set, the value is considered an extended CAN identifier (29-bit).
long unsigned integerECUCCPCRO IdReturns the CRO ID, which is used to send commands and data from the host to the slave device. If bit 31 (hex 0x80000000) of the value is set, the value is considered an extended CAN identifier (29-bit).
long signed integerECUCCPInterfaceReturns the interface initialized for the task, such as with MC DAQ Initialize.vi.
long unsigned integerECUCCPBaud RateReturns the Baud Rate used by the CAN interface with CCP protocol. Basic baud rates such as 125000 and 500000 are specified as the numeric value. Advanced (custom) baud rates are specific to the CAN interface type and can be found within NI-XNET or NI-CAN documentation. The default value of the property is the baud rate value defined by the A2L database file. You can change that value using MC Set Property.vi.
booleanECUCCPTerminationFor all XNET devices, the termination is software selectable. XNET provides the option of 120 Ω between Bus Plus and Bus Minus or no termination. The Termination property configures the onboard termination of the NI-XNET interface CAN connector (port). The Boolean property supports two values: TRUE = Termination ON and FALSE = Termination Off. However, different CAN or LIN hardware has different termination requirements, and the termination values have different meanings. Refer to the Termination attribute in the XNET API for more details. (This property is supported for NI-XNET devices only.)
long unsigned integerECUCCPStation AddressReturns the Station Address of the slave device. CCP is based on the idea, that several ECUs can share the same CAN Arbitration IDs for CCP communication. To avoid communication conflicts CCP defines a Station Address that has to be unique for all ECUs sharing the same CAN Arbitration IDs. Unless an ECU has been addressed by its Station Address, the ECU must not react to CCP commands sent by the CCP master.
stringECUCCPSeedKey Cal NameReturns the file name of the SeedKey DLL used for Calibration purposes. If SeedKey is configured for remote access, the output is RSK:<server ip address>,<port>.
stringECUCCPSeedKey DAQ NameReturns the file name of the SeedKey DLL used for DAQ purposes. If SeedKey is configured for remote access, the output is RSK:<server ip address>,<port>.
stringECUCCPSeedKey Prog NameReturns the file name of the SeedKey DLL used for programming purposes. If SeedKey is configured for remote access, the output is RSK:<server ip address>,<port>.
1D array (integer)ECUCCPMaster IdReturns CCP Master ID information. This ID information is optional and specific to the ECU implementation. For more information about the CCP master ID, refer to the documentation for the ECU.
1D array (integer)ECUCCPIdReturns the slave device identifier. This ID information is optional and specific to the ECU implementation. For more information about the CCP slave ID, refer to the documentation for the ECU.
long unsigned integerECUCCPId Data ByteReturns a data type qualifier of the slave device identifier. This ID information is optional and specific to the ECU implementation. For more information about the CCP slave ID, refer to the documentation for the ECU.
booleanECUCCPSingle Byte DAQ List?Determines if an ECU supports single-byte or multi-byte DAQ list entries.
long unsigned integerECUCCPDTO TaskReturns the NI-CAN task reference for the Data Transmission Object (the CAN task reading frames from the slave device). For example, you might use this to set CAN properties for this task. Handle with extreme care, as those properties are usually set correctly by the ECU M&C Toolkit itself.
long unsigned integerECUCCPCRO TaskReturns the NI-CAN task reference for the Command Receive Object (the CAN task writing frames to the slave device). For example, you might use this to set CAN properties for this task. Handle with extreme care, as those properties are usually set correctly by the ECU M&C Toolkit itself.
booleanECUCCPOptional CommandsCLEAR MEMORYReturns a Boolean value that indicates whether the ECU supports the optional ASAM CCP Command CLEAR_MEMORY.
booleanECUCCPOptional CommandsDNLOAD 6Returns a Boolean value that indicates whether the ECU supports the optional CCP Command DNLOAD_6.
booleanECUCCPOptional CommandsSHORT UPReturns a Boolean value that indicates whether the ECU supports the optional CCP Command SHORT_UP.
booleanECUCCPOptional CommandsPROGRAMReturns a Boolean value that indicates whether the ECU supports the optional CCP Command PROGRAM.
booleanECUCCPOptional CommandsPROGRAM 6Returns a Boolean value that indicates whether the ECU supports the optional CCP Command PROGRAM_6.
booleanECUCCPOptional CommandsMOVEReturns a Boolean value that indicates whether the ECU supports the optional CCP Command MOVE.
booleanECUCCPOptional CommandsBUILD CHKSUMReturns a Boolean value that indicates whether the ECU supports the optional CCP Command BUILD_CHKSUM.
booleanECUCCPOptional CommandsGET ACTIVE CAL PAGEReturns a Boolean value that indicates whether the ECU supports the optional CCP Command GET_ACTIVE_CAL_PAGE.
booleanECUCCPOptional CommandsSELECT CAL PAGEReturns a Boolean value that indicates whether the ECU supports the optional CCP Command SELECT_CAL_PAGE.
booleanECUCCPOptional CommandsGET S STATUSReturns a Boolean value that indicates whether the ECU supports the optional CCP Command GET_S_STATUS.
booleanECUCCPOptional CommandsSET S STATUSReturns a Boolean value that indicates whether the ECU supports the optional CCP Command SET_S_STATUS.
booleanECUCCPOptional CommandsGET SEEDReturns a Boolean value that indicates whether the ECU supports the optional CCP Command GET_SEED.
booleanECUCCPOptional CommandsUNLOCKReturns a Boolean value that indicates whether the ECU supports the optional CCP Command UNLOCK.
booleanECUCCPOptional CommandsSTART STOP ALLReturns a Boolean value that indicates whether the ECU supports the optional CCP Command START_STOP_ALL.
booleanECUCCPOptional CommandsTESTReturns a Boolean value that indicates whether the ECU supports the optional CCP Command TEST.
booleanECUCCPOptional CommandsACTION SERVICEReturns a Boolean value that indicates whether the ECU supports the optional CCP Command ACTION_SERVICE.
booleanECUCCPOptional CommandsDIAG SERVICEReturns a Boolean value that indicates whether the ECU supports the optional CCP Command DIAG_SERVICE.
booleanECUCCPMiscSkip EXCHANGE IDReturns a Boolean value that indicates whether or not the EXCHANGE_ID command should be suppressed during connection to the ECU.
long unsigned integerECUCCPTimeoutT_stdReturns the timeout value (in milliseconds) for most of the CCP commands. For details of which timeout applies to a specific command, refer to the CCP standard. Default: 40. Standard: 25. The default is chosen slightly higher to allow for slower ECUs.

Note that the Timing Factor property might modify this value.
long unsigned integerECUCCPTimeoutT_pgmReturns the timeout value (in milliseconds) for the CCP programming commands. For details of which timeout applies to a specific command, refer to the CCP standard. Default: 120. Standard: 100. The default is chosen slightly higher to allow for slower ECUs.

Note that the Timing Factor property might modify this value.
long unsigned integerECUCCPTimeoutT_memReturns the timeout value (in milliseconds) for the CCP memory commands. For details of which timeout applies to a specific command, refer to the CCP standard. Default and Standard: 30000.

Note that the Timing Factor property might modify this value.
long unsigned integerECUCCPTimeoutT_diagReturns the timeout value (in milliseconds) for the CCP DIAG_SERVICE command. Default and Standard: 500.

Note that the Timing Factor property might modify this value.
long unsigned integerECUCCPTimeoutT_actReturns the timeout value (in milliseconds) for the CCP ACTION_SERVICE command. Default: 500. Standard: 5000.

Note that the Timing Factor property might modify this value.
long unsigned integerECUCCPCal PagesNumber of PagesReturns the number of DEFINED_PAGES structures for this ECU in the A2L file.
long unsigned integerECUCCPCal PagesPage NumberReturns the page number of the page selected with the name input.
long unsigned integerECUCCPCal PagesPage FlagsReturns the page flags of the page selected with the name input.

The value returned is a bitmask ored from the following values:
1RAM page
2ROM page
4FLASH page
8EEPROM page
16RAM_INIT_BY_ECU
RAM page initialized at ECU startup.
32RAM_INIT_BY_TOOL
RAM page that the calibration tool initializes.
64AUTO_FLASH_BACK
RAM page automatically flashed back.
128FLASH_BACK
RAM page that the calibration tool can flash back.
256DEFAULT
Page is standard (fallback).
clusterECUCCPCal PagesPage AddressReturns the memory address (and extension) of the page selected with the name input.
long unsigned integerECUXCPCANDTO IdReturns the DTO ID, which is used by the ECU to respond to XCP commands and send data and status information to the XCP master. If bit 31 (hex 0x80000000) of the value is set, the value is considered an extended CAN identifier (29-bit).
long unsigned integerECUXCPCANCRO IdReturns the CRO ID, which is used to send commands and data from the host to the slave device. If bit 31 (hex 0x80000000) of the value is set, the value is considered an extended CAN identifier (29-bit).
long unsigned integerECUXCPCANBaud RateThis is a legacy property and should no longer be used. Use the ECU:XCP:CAN:Baud Rate 64 instead.
quad unsigned integerECUXCPCANBaud Rate 64Indicates the Baud Rate in use by the CAN Interface with XCP protocol. Basic baud rates such as 125000 and 500000 are specified as numeric values. Advanced (or custom) baud rates are specific to the CAN interface in use and the description can be found in the NI-XNET or NI-CAN documentation. The default value for the property is the baud rate set in the A2L database used for the application.

If NI-XNET is used and the A2L file specifies a sampling point for the baud rate which differs from the sampling point used internally in NI-XNET, ECUMC replaces the standard baud rate value by a custom 64-bit baud rate which uses the sampling point as close as possible to the sampling point in A2L database. You can find the documentation for the NI-XNET custom baud rate in NI-XNET Hardware and Software Help under Interface:64bit Baud Rate.

You can change that value using MC Set Property.vi.

quad unsigned integerECUXCPCANFD Baud Rate 64Reads the CAN FD baud rate value (used for the data part of the transmission).

If CAN FD is used, Baud Rate 64 specifies the baud rate for the arbitration part of the CAN message, while FD Baud Rate 64 specifies the baud rate for the data part of the CAN message. CAN FD is only supported by NI-XNET interfaces for XCP protocol.

Basic baud rates such as 500000 and 2000000 are specified as numeric values. Information about the advanced (or custom) baud rates can be found in the NI-XNET Hardware and Software Help under Interface:CAN:64bit FD Baud Rate. The default value for the property is the baud rate set in the CAN_FD section of the A2L database used for the application. You can set the property to use any other baud rate or custom baud rate according to NI-XNET specification.

If the A2L file specifies a sampling point for the CAN FD baud rate which differs from the sampling point used internally in NI-XNET, ECUMC replaces the standard baud rate value by a custom 64-bit baud rate which uses the sampling point as close as possible to the sampling point in A2L database. Refer to the information about the custom baud rates in the NI-XNET Hardware and Software Help under Interface:64bit FD Baud Rate.

Transceiver Delay Compensation defined by the A2L database is not used while calculating the custom baud rate value, as the value is hardware implementation specific and the value found in the database may not match the NI-XNET specification. If you need very specific values for the CAN FD baud rate, you need to follow the NI-XNET documentation and set a custom baud rate using MC Set Property.vi.

long unsigned integerECUXCPCANCAN I/O ModeDetermines whether an XNET interface is running in CAN 2.0 mode (supports frames with payload up to 8 bytes), CAN FD mode (supports frames up to 64 bytes), or CAN FD+BRS mode (CAN FD with baud rate switching). CAN I/O Mode is only supported with XNET interfaces.

The default value is determined by the A2L database used by the application. The user can change the mode using this property to overwrite the mode set in the A2L database.

Valid values are CAN, CAN_FD, CAN_FD+BRS, and ECU Determined. The A2L database supports only CAN and CAN FD+BRS modes. The user can also set the mode to CAN_FD (without baud rate switching) using MC Set Property.vi.

In ECU Determined mode, the master can communicate with ECUs using either traditional CAN or CAN FD frames. The master starts the communication with a traditional CAN 2.0 frame; if the ECU responds in any mode, this mode is selected for further communication. If the ECU does not respond to the CAN 2.0 frame, the master repeats (after timeout) the first command using a CAN FD frame. In ECU Determined mode, the NI-XNET interface runs in CAN FD BRS mode, so the CAN FD baud rate must be set before using this mode. In CAN FD+BRS mode, the NI-XNET interface can receive and transmit CAN 2.0, CAN FD, and CAN FD+BRS frames.

0CAN 2.0
1CAN FD
2CAN FD+BRS
3ECU Determined
Note Note  CAN FD is only supported with NI-XNET version 17.0.1 or later.
32-bit integerECUXCPCANAct CAN I/O ModeThis read-only property allows querying the CAN I/O mode that is actually used when the CAN I/O mode is set to ECU Determined. As long as the mode has not been determined, the value is ECU Determined (refer to the CAN I/O Mode description for possible values). When the communication with the ECU has been established, the value changes to CAN 2.0, CAN FD, or CAN FD+BRS mode.
booleanECUXCPCANUse CAN Max DLCDetermines if the master in CAN 2.0 mode transmits frames with the actual used payload length or always transmits the maximum number of bytes (8 bytes).

The default value of this property is retrieved from the A2L database based on the MAX_DLC_REQUIRED keyword within the XCP_ON_CAN section.

word unsigned integerECUXCPCANCAN FD Max DLCDetermines the number of bytes transmitted by the master when the property ECU:XCP:CAN:Use CAN FD Max DLC is set to TRUE.

The default value of this property is retrieved from the A2L database based on the MAX_DLC keyword within the CAN_FD section.

booleanECUXCPCANUse CAN FD Max DLCDetermines if the master in CAN FD mode transmits frames with the actual used payload length or if it always transmits the maximum number of bytes, defined by the ECU:XCP:CAN FD Max DLC setting (8…64 bytes).

The default value of this property is retrieved from the A2L database based on the MAX_DLC_REQUIRED keyword within the CAN_FD section.

booleanECUXCPCANTerminationFor all XNET devices, the termination is software selectable. XNET provides the option of 120 Ω between Bus Plus and Bus Minus or no termination. The Termination property configures the onboard termination of the NI-XNET interface CAN or LIN connector (port). The Boolean property supports two values: TRUE = Termination ON and FALSE = Termination Off. However, different CAN or LIN hardware has different termination requirements, and the termination values have different meanings. Refer to the Termination attribute in the XNET API for more details. (This property is supported for NI-XNET devices only.)
stringECUXCPEthernetIP AddressReturns the IP address of the slave device. A slave device connected by Ethernet and TCP/IP or UDP/IP protocol is addressed by its IP Address and Port number.
word unsigned integerECUXCPEthernetIP PortReturns the IP Port number of the slave device. A slave device connected by Ethernet and TCP/IP or UDP/IP protocol is addressed by its IP Address and Port number.
stringECUXCPEthernetIP Source AddressReturns the IP address of the host Ethernet interface. Empty string (default) indicates the using of the host primary Ethernet interface.
word unsigned integerECUXCPEthernetIP Source PortReturns the source port (XCP master port) used for Ethernet communication. The default value is -1, which indicates that the source port will be chosen by the operating system. Valid port values are 0 to 65535. Note that port 0 is reserved and typically should not be used.
word unsigned integerECUXCPEthernetIP XNET Stack NameReturns the name of the XNET IP Stack to be used. If this parameter is empty string (default), the native operating system IP stack will be used.
word unsigned integerECUXCPEthernetIP XNET Local InterfaceReturns the name of the local interface that is used with the specified XNET IP Stack for this session. This property is ignored for the native operating system IP stack.
stringECUXCPTransport Layer InstanceReturns the Transport Layer Instance name of the selected transport protocol instance. Empty string (default) indicates that no named instance is selected. The fallbacks, in order, are a single unnamed instance of the transport protocol in the IF_DATA XCPplus block or the IF_DATA XCP block. Otherwise, no transport protocol related properties can be read from the database.
byte unsigned integerECUXCPSeedKey DllReturns the file name of the SeedKey DLL. If SeedKey is configured for remote access, the output is RSK:<server ip address>,<port>.
byte unsigned integerECUXCPCompression MethodReturns the selected compression method used for MC Program.vi.

0—data is uncompressed.

0x80...0xFF—User defined.

byte unsigned integerECUXCPEncryption MethodReturns the selected encryption method used for MC Program.vi.

0—data is not encrypted.

0x80...0xFF—User defined.

byte unsigned integerECUXCPProgramming MethodReturns the selected programming method used for MC Program.vi.

0—Sequential programming.

0x80...0xFF—User defined.

byte unsigned integerECUXCPAccess MethodReturns the selected access mode:

0x00—Absolute Access Mode (default). The MTA uses physical addresses.

0x01—Functional Access Mode. The MTA functions as a block sequence number of the new flash content file.

0x80...0xFF—User defined. It is possible to use different access modes for clearing and programming.

booleanECUXCPMeas Split AllowedReads the Meas Split Allowed property value.

For measurements in DAQ List mode, the master creates DAQ lists which determines frames with data transmitted by the ECU. The first byte in this frame (ODT) is a PID identifier, the remaining bytes in the frames are used for measurement data (e.g., with CAN 2.0, seven bytes can be used for data).

Depending on the type of measurement data, not all bytes of frames can be used. For example, measuring seven 32-bit values in the ECU requires transmitting seven frames per sampling point as only one 4-byte value can be placed in one frame. The remaining three bytes are unused.

The Meas Split Allowed property allows splitting the measurements across CAN frames, so the seven values can be packed into only four frames (4 frames * 7 bytes = 28 data bytes for DAQ data).

The default value for the property is read from the A2L database (keyword MEASUREMENT_SPLIT_ALLOWED within the XCP_ON_CAN block).

Note Caution  You can only use this feature when the ECU guarantees the value consistency across ODTs (frames), otherwise you might receive unexpected values.
long unsigned integerECUXCPTimeout T1,
T2,
T3,
T4,
T5,
T6,
T7
Returns one of the seven timeout values (in milliseconds) defined in the XCP standard for the various XCP commands. For details of which timeout applies to a specific command, refer to the XCP standard. The values typically are read from an A2L file but may be overridden manually.

Note that the Timing Factor property might modify this value.
byte unsigned integerECUXCPCal PagesNumber of SegmentsReturns the number of XCP memory segments found for this ECU.
byte unsigned integerECUXCPCal PagesNumber of PagesReturns the number of memory pages defined for the memory segment specified in the segment input (0..N-1, where N is the value returned from the Number of Segments property).
byte unsigned integerECUXCPCal PagesAddress ExtensionReturns the address extension for the memory segment specified in the segment input (0..N-1, where N is the value returned from the Number of Segments property).
byte unsigned integerECUXCPCal PagesCompression MethodReturns the compression method for the memory segment specified in the segment input (0..N-1, where N is the value returned from the Number of Segments property).

A value of 0 means no compression. Other values are user defined.
byte unsigned integerECUXCPCal PagesEncryption MethodReturns the encryption method for the memory segment specified in the segment input (0..N-1, where N is the value returned from the Number of Segments property).

A value of 0 means no encryption. Other values are user defined.
byte unsigned integerECUXCPCal PagesPage NumberReturns the logical page number for the memory segment page specified in the segment input (0..N-1, where N is the value returned from the Number of Segments property) and page input (0..M-1, where M is the value returned from the Number of Pages property).
byte unsigned integerECUXCPCal PagesECU AccessReturns a flag indicating ECU access rights for the memory segment page specified in the segment input (0..N-1, where N is the value returned from the Number of Segments property) and page input (0..M-1, where M is the value returned from the Number of Pages property).

Defined values are:
0ECU access not allowed
1ECU access allowed without XCP access only
2ECU access allowed with XCP access only
3ECU access allowed always
byte unsigned integerECUXCPCal PagesXCP Read AccessReturns a flag indicating XCP Read access rights for the memory segment page specified in the segment input (0..N-1, where N is the value returned from the Number of Segments property) and page input (0..M-1, where M is the value returned from the Number of Pages property).

Defined values are:
0XCP Read access not allowed
1XCP Read access allowed without ECU access only
2XCP Read access allowed with ECU access only
3XCP Read access allowed always
byte unsigned integerECUXCPCal PagesXCP Write AccessReturns a flag indicating XCP Write access rights for the memory segment page specified in the segment input (0..N-1, where N is the value returned from the Number of Segments property) and page input (0..M-1, where M is the value returned from the Number of Pages property).

Defined values are:
0XCP Write access not allowed
1XCP Write access allowed without ECU access only
2XCP Write access allowed with ECU access only
3XCP Write access allowed always
byte unsigned integerECUXCPCal PagesPage InitSegmentReturns the number of the segment that initializes the memory segment page specified in the segment input (0..N-1, where N is the value returned from the Number of Segments property) and page input (0..M-1, where M is the value returned from the Number of Pages property).
long unsigned integerECUByte OrderReturns the byte order of the CCP slave device.

0—MSB_LAST

The CCP Slave device uses the MSB_LAST (Intel) byte ordering.

1—MSB_FIRST

The CCP Slave device uses the MSB_FIRST (Motorola) byte ordering.

long unsigned integerECUCommand Byte OrderReturns the byte order for the defined Measurement or Characteristic.

0—MSB_LAST

The CCP Slave device uses the MSB_LAST (Intel) byte ordering.

1—MSB_FIRST

The CCP Slave device uses the MSB_FIRST (Motorola) byte ordering.

stringECUSeedkey/Checksum DLL PathThis property determines the directory where the ECU M&C Toolkit expects to find the Seedkey or Checksum DLL. If the property is an empty string (default), the ECU M&C Toolkit expects the DLLs in the same directory as the A2L file. If your DLLs are in a different directory, set this property pointing to this directory.
stringECUChecksum DLL NameReturns the file name of the Checksum DLL used for verifying the checksum.
file pathECULogFile PathReturns the filename (full path) where the XCP or CCP protocol traffic is logged in ASCII format for debugging purposes. An empty path indicates no logging (default). Note that on RT and cRIO systems, the logfile is created on the target system and must be transferred to the host after logging has been completed.

Note that no additional CAN port is used for the logging, which makes this method superior to any other method such as running a bus monitor parallel.
long signed integerECUEvent ChannelTranslates the event channel name to the event channel number. Pass the event channel name in the Name parameter of Get Property.
16-bit integerECUMappingModeAddress mapping mode to be used when accessing the ECU memory by addresses.
0No Mapping: Original addresses from the A2L database are used.
1Defined Pages: This mode requires setting the source and target pages. The memory pages are defined in the A2L database in the DEFINED_PAGES section. The source and target pages can be set either by the page name or by the logical page number.

If the original address takes place within the source page, it will be re-mapped to the target page with the same offset to the beginning of the page.

2ADDR_MAPPING: Use address mapping defined in the A2L database.
stringECUMappingSource NameName of the source page to be used for the address mapping in Defined Pages mode.
16-bit integerECUMappingSourceLogical page number of the source page to be used for the address mapping in Defined Pages mode.
stringECUMappingTargetLogical page number of the target page to be used for the address mapping in Defined Pages mode.
16-bit integerECUMappingTarget NameName of the target page to be used for the address mapping in Defined Pages mode.
long unsigned integerECUMiscTiming FactorReturns the used timing factor, which you can use to increase XCP or CCP command timeout values. For details on the default Command Timeout values, refer to the XCP or CCP Protocol Specification.
long unsigned integerMeasurementAddressReturns the address part of the address of the selected Measurement in the memory of the control unit.
byte unsigned integerMeasurementExtensionReturns the extension part of the address. This optional parameter may contain additional address information defined in the A2L database. For instance, it can be used to distinguish different address spaces of an ECU (multi-microcontroller devices).
byte unsigned integerMeasurementData TypeReturns the data type of the Measurement task.
long unsigned integerMeasurementByte OrderReturns the specified byte order:

0Intel format

Bytes are in little-endian order, with least-significant bit first.

1Motorola format

Bytes are in big-endian order, with most-significant bit first.

double-precision, floating-pointMeasurementMaximumReturns the maximum value of the Measurement.
double-precision, floating-pointMeasurementMinimumReturns the minimum value of the Measurement.
booleanMeasurementRead Only?Returns TRUE if the selected Measurement is read only and can only be accessed through MC DAQ Read.vi, or returns FALSE if the Measurement can be accessed through MC Measurement Write.vi as well.
double-precision, floating-pointMeasurementScalingFactorReturns the scaling factor defined for this Measurement in the A2L database.
double-precision, floating-pointMeasurementScalingOffsetReturns the scaling offset defined for this Measurement in the A2L database.
long unsigned integerMeasurementScalingTypeReturns the scaling type defined for this Measurement in the A2L database.

0: Unknown

The type of the scaling could not be derived from the A2L file content.

1: Rational Function

The related scaling is based on a rational function of second order. This also covers the linear scaling, given by factor and offset.

2: Enumeration Text

The related scaling is based on the COMPU_VTAB keyword within the A2L file.

  • Read VIs return nonscaled, numeric values.
  • Write VIs accept nonscaled, numeric values.
  • It is possible to use MC Double to Text.vi and MC Text To Double.vi to convert between enumeration text values and double values.

3: Range Text

The related scaling is based on the COMPU_VTAB_RANGE keyword within the A2L file.

  • Read VIs return nonscaled, numeric values.
  • Write VIs accept nonscaled, numeric values.
  • It is possible to use MC Double to Text.vi and MC Text To Double.vi to convert between range text values and double values.

4: Formula

The related scaling is based on the FORMULA keyword within the A2L file, using a free formula to calculate the values.

5: Table (Using Interpolation)

The related scaling is based on the TAB_INTP keyword within the A2L file, using interpolation between x-y pairs.

6: Table (Without Interpolation)

The related scaling is based on the TAB_NOINTP keyword within the A2L file, using x-y pairs without interpolation.

1D arrayMeasurementScalingText ValuesIf the scaling type is 2 = Enumeration Text or 3 = Range Text, you can use this property to request the list of text values that can be converted into raw values.
booleanMeasurementIs Virtual?Returns whether the Measurement is virtual. Virtual Measurements are not transmitted by the ECU but are calculated in the application. They return an error when opened in a DAQ list.
stringMeasurementUnitReturns the unit string defined for this Measurement in the A2L database.
stringMeasurementCommentReturns the Comment string of the selected Measurement.
long unsigned integerCharacteristicAddressReturns the address of the selected Characteristic in the memory of the ECU.
byte unsigned integerCharacteristicExtensionReturns additional address information. For instance it can be used, to distinguish different address spaces of an ECU (multi-microcontroller devices).
byte unsigned integerCharacteristicData TypeReturns the data type of the Characteristic.
long unsigned integerCharacteristicByte OrderReturns the specified byte order:

0Intel format

Bytes are in little-endian order, with least-significant bit first.

1Motorola format

Bytes are in big-endian order, with most-significant bit first.

long unsigned integerCharacteristicDimensionReturns the dimension of a Characteristic.

0—0 dimension

The Characteristic can be accessed (read/write) through a double value.

1—1 dimension

The Characteristic can be accessed (read/write) through a one-dimensional array of double values.

2—2 dimensions

The Characteristic can be accessed (read/write) through a two-dimensional array of double values.

double-precision, floating-pointCharacteristicScalingFactorReturns the scaling factor defined for this Characteristic in the A2L database.
double-precision, floating-pointCharacteristicScalingOffsetReturns the scaling offset defined for this Characteristic in the A2L database.
long unsigned integerCharacteristicScalingTypeReturns the scaling type defined for this Characteristic in the A2L database.

0: Unknown

The scaling type could not be derived from the A2L file content.

1: Rational Function

The related scaling is based on a rational function of second order. This covers also the linear scaling, given by factor and offset.

2: Enumeration Text

The related scaling is based on the COMPU_VTAB keyword within the A2L file.

  • Read VIs return nonscaled, numeric values.
  • Write VIs accept nonscaled, numeric values.
  • It is possible to use MC Double to Text.vi and MC Text To Double.vi to convert between enumeration text values and double values.

3: Range Text

The related scaling is based on the COMPU_VTAB_RANGE keyword within the A2L file.

  • Read VIs return nonscaled, numeric values.
  • Write VIs accept nonscaled, numeric values.
  • It is possible to use MC Double to Text.vi and MC Text To Double.vi to convert between range text values and double values.

4: Formula

The related scaling is based on the FORMULA keyword within the A2L file, using a free formula to calculate the values.

5: Table (Using Interpolation)

The related scaling is based on the TAB_INTP keyword within the A2L file, using interpolation between x-y pairs.

6: Table (Without Interpolation)

The related scaling is based on the TAB_NOINTP keyword within the A2L file, using x-y pairs without interpolation.

1D array (string)CharacteristicScalingText ValuesIf the scaling type is 2 = Enumeration Text or 3 = Range Text, you can use this property to request the list of text values that can be converted into raw values.
long unsigned integerCharacteristicSizesReturns the array Sizes for X and Y direction of the Characteristic.
double-precision, floating-pointCharacteristicX AxisReturns X-Axis values on which the Characteristic is defined. It is valid if the dimension of the selected Characteristic is 1 or 2.
double-precision, floating-pointCharacteristicY AxisReturns Y-Axis values on which the Characteristic is defined. It is valid if the dimension of the selected Characteristic is 2.
double-precision, floating-pointCharacteristicMaximumReturns the maximum value of the Characteristic.
double-precision, floating-pointCharacteristicMinimumReturns the minimum value of the Characteristic.
booleanCharacteristicRead Only?Returns if a Characteristic is set to Read Only. In this case it is not allowed to call MC Characteristic Write.vi for this Characteristic.
stringCharacteristicUnitReturns the unit string defined for this Characteristic in the A2L database.
stringCharacteristicCommentReturns the Comment string of the selected Characteristic.
stringFunctionCommentReturns the Comment string of the selected Function.
booleanGroupIsRootReturns whether the selected Group is a root-level Group entity.
stringGroupCommentReturns the Comment string of the selected Group.
long unsigned integerDAQModeReturns the selected I/O mode for the M&C Measurement task.

0—DAQ List

The data is transmitted by the ECU based on an event channel, which can be equidistant in time or sporadic. The data can be read back with the MC DAQ Read.vi as Single point data using sample rate = 0, or as a waveform using a sample rate > 0. Input channel data is received from the DAQ messages. Use MC DAQ Read.vi to obtain input samples as single-point, array, or waveform.

1—Polling

In this mode the data from the Measurement task is uploaded from the ECU whenever MC DAQ Read.vi is called.

double-precision, floating-pointDAQSample RateReturns the selected Sample Rate in Hz for the M&C Measurement task, which may be obtained with MC DAQ Initialize.vi.
long unsigned integerDAQ# ChannelsReturns the number of (scaled) channels initialized in a DAQ channel list of a M&C Measurement task. # Channels and # Raw Channels provide the number of array entries required when using MC DAQ Read.vi.
long unsigned integerDAQ# Raw ChannelsReturns the number of raw channels initialized in a DAQ channel list of a M&C Measurement task. # Channels and # Raw Channels provide the number of array entries required when using MC DAQ Read.vi.
stringDAQEvent Channel NameReturns the selected event channel name to which the Measurement task is assigned.
word unsigned integerDAQPrescalerReturns the prescaling factor which is used to reduce the desired transmission frequency of the associated DAQ list.
long unsigned integerDAQSamples PendingReturns the number of samples available to be read using MC DAQ Read.vi. If you set the number of samples to read input of MC DAQ Read.vi to this value, DAQ Read returns immediately without waiting. This property applies only to tasks initialized with mode of Input and sample rate greater than zero. For all other configurations, it returns an error. If this property is queried before the DAQ list is started, it always returns zero. Start the DAQ list first with MC DAQ Start Stop.vi before you query this property.
double-precision, floating-pointDAQTime Since Last FrameIndicates how much time has passed (in seconds) since the measurement session received the last DAQ frame. You can use this property to restart the measurement when the value increases a threshold (for example, 0.5 seconds), assuming the ECU stopped sending DAQ messages and must be restarted.

This property is read only.

double-precision, floating-pointDAQNum PIDsIndicates the number of PIDs (frames) used in the DAQ session. If the session does not use DAQ, the value is 0.

The number of PIDs is only valid after the DAQ list has been transmitted to the ECU, otherwise the returned value is 0. For example, you can call MC DAQ Start Stop.vi with the mode Transmit DAQ List to ECU after MC DAQ Initialize.vi, before reading this property.

This property is read only.

long unsigned integerDAQCCPDTO IdReturns the DTO ID, which is used by the ECU to send DAQ list data to the CCP master. If bit 31 (hex 0x80000000) of the value is set, the value is considered an extended CAN identifier (29-bit).
long unsigned integerDAQCCPDTO TaskReturns the NI-CAN task reference for the Data Transmission Object (the CAN task reading frames from the slave device). For example, you might use this to set CAN properties for this task. Handle with extreme care, as those properties are usually set correctly by the ECU M&C Toolkit itself.
long unsigned integerDAQXCPTiming SourceReads the DAQ Timing Source property value. The default is Automatic. Values are:
0Automatic

The default method (1, 2, or 3, below) is selected.

1Host Timing

Timestamps are generated from the host system time whenever a frame arrives.

This mode is always available.

This is the default for XCP on TCP/UDP if the ECU does not support timestamps.

2CAN Timing

Timestamps are generated from the network interface hardware (e.g., NI-XNET hardware).

This mode is available only if the network hardware generates timestamps.

This is the default for XCP on CAN if the ECU does not support timestamps.

3ECU Timing

Timestamps are taken from the ECU data. The Start Time is taken from the host, and increments are taken from the ECU.

This mode is only available if the ECU generates timestamps; in this case, it is default.

stringDAQ ListNameName of the DAQ list (measurement source). Pass the DAQ list number converted to a string in the Name parameter of Get Property. The available DAQ list number can be obtained by the ECU DAQ List Numbers property.
stringDAQ ListDisplay IdentifierOptional property you can use as a display name as an alternative to the DAQ List Name property.
long unsigned integerDAQ ListCAN IDReturns the CAN ID for the specified DAQ list if mcPropDAQList_CANIdSelectMode == CAN_ID_FIXED.
long unsigned integerDAQ ListCAN ID Select Mode Returns the condition for selecting the CAN ID for the specified DAQ list.

0—CAN_ID_FIXED

The CAN Identifier is a predefined fixed number.

1—CAN_ID_VARIABLE

The CAN Identifier is a variable number.

2—CAN_ID_DTO_ID

The CAN Identifier is the same as the DTO identifier.

long unsigned integerDAQ ListEvent ChannelsReturns a list of event channel numbers that can be used with the given DAQ list. The DAQ list is determined by the name input containing a string representation of the decimal DAQ list number, e.g., '2.'
1D arrayDAQ ListExcluded DAQ ListsReturns an array containing the numbers of DAQ lists not working together with the current DAQ list.
byte unsigned integerDAQ ListFirst PIDReturns the first Packet ID for the specified DAQ list.
word unsigned integerDAQ ListMax LengthReturns the maximal length of the DAQ list.
long unsigned integerDAQ ListReduction AllowedReturns whether or not the specified DAQ list allows reduction.
long unsigned integerVersionMajorReturns the major version of the ECU M&C software, such as the 1 in version 1.2.5.
long unsigned integerVersionMinorReturns the minor version of the ECU M&C software, such as the 2 in version 1.2.5.
long unsigned integerVersionUpdateReturns the update version of the ECU M&C software, such as the 5 in version 1.1.5.
long unsigned integerVersionBuildReturns the build number of the ECU M&C software. This number applies to the Development, Alpha, and Beta phases only, and should be ignored for the Release phase.
stringVersionCommentReturns a comment string for the ECU M&C software. If you received a custom release of ECU M&C from NI, this comment often describes special features of the release.
Was this information helpful?