Purpose

Uploads data from an ECU.

Format

Input

ECU ref in is the task reference which links to the selected ECU. This reference is originally returned from MC ECU Open.vi or MC ECU Select.vi, and then wired through subsequent VIs.
Address is a cluster which contains the following values.
Address specifies the address part of the source address in the ECU from which the memory block is copied.
Extension contains the extension part of the source address.
Block size is the size of the data block, in bytes, to be uploaded.
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.
status is TRUE if an error occurred. This VI is not executed when status is TRUE.
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.
source identifies the VI where the error occurred.

Output

ECU ref out is the same as ECU ref in. Wire the task reference to subsequent VIs for this task.
Data is a byte array which receives the uploaded data from the ECU.
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.
status is TRUE if an error occurred.
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.
source identifies the VI where the error occurred.

Description

MC Upload.vi implements the UPLOAD command. A data block of the specified length, starting at the specified address, is uploaded from the ECU. MC Upload.vi will set the Memory Transfer Address pointer MTA0 to the appropriate value as defined in the Address cluster.

If you are using the CCP protocol, MC Upload.vi implements the UPLOAD command. A data block of the specified length, starting at the specified address, is uploaded from the ECU. MC Upload.vi will set the Memory Transfer Address pointer MTA0 to the appropriate value as defined in the Address cluster.

If you are using the XCP protocol, MC Upload.vi implements the XCP command UPLOAD. A data block of the specified length starting at the specified address is uploaded from the ECU. The Memory Transfer Address pointer MTA0 is post-incremented by the given number of data elements. If the slave device does not support block transfer mode, all uploaded data is transferred in a single response packet. If block transfer mode is supported, the uploaded data is transferred in multiple responses on the same request packet. For the master there are no limitations allowed concerning the maximum block size.

For further information on how to upload data and to use the MC Upload.vi command refer to the ASAM XCP Part 2 Protocol Layer Specification.