Purpose

Executes the StartRoutineByLocalIdentifier service. Executes a routine on the ECU. Format

Input

diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic on CAN FD.vi or Open Diagnostic on IP.vi and wired through subsequent diagnostic VIs. Normally, it is not necessary to manually manipulate the elements of this cluster.
local ID defines the local identifier of the routine to be started. The values are application specific.
data in defines application-specific input parameters for the routine.
error in is a cluster that 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: the VI did not execute the intended operation. A positive value means warning: the 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

diag ref out is a copy of diag ref in. You can wire it to subsequent diagnostic VIs.
data out returns application-specific output parameters from the routine.
success? indicates successful receipt of a positive response message for this diagnostic service.
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: the VI did not execute the intended operation. A positive value means warning: the 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

This VI starts a routine in the ECU memory. The routine in the ECU starts after the positive response message is sent. The routine stops until StopRoutineByLocalIdentifier.vi is issued. The routines could be either tests run instead of normal operating code or routines enabled and executed with the normal operating code running. In the first case, you may need to switch the ECU to a specific diagnostic mode using StartDiagnosticSession.vi or unlock the ECU using the SecurityAccess service prior to using StartRoutineByLocalIdentifier.vi.

For further details about this service, refer to the ISO 14230-3 standard.