National Instruments 372139B-01 manuel d'utilisation

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301

Aller à la page of

Un bon manuel d’utilisation

Les règles imposent au revendeur l'obligation de fournir à l'acheteur, avec des marchandises, le manuel d’utilisation National Instruments 372139B-01. Le manque du manuel d’utilisation ou les informations incorrectes fournies au consommateur sont à la base d'une plainte pour non-conformité du dispositif avec le contrat. Conformément à la loi, l’inclusion du manuel d’utilisation sous une forme autre que le papier est autorisée, ce qui est souvent utilisé récemment, en incluant la forme graphique ou électronique du manuel National Instruments 372139B-01 ou les vidéos d'instruction pour les utilisateurs. La condition est son caractère lisible et compréhensible.

Qu'est ce que le manuel d’utilisation?

Le mot vient du latin "Instructio", à savoir organiser. Ainsi, le manuel d’utilisation National Instruments 372139B-01 décrit les étapes de la procédure. Le but du manuel d’utilisation est d’instruire, de faciliter le démarrage, l'utilisation de l'équipement ou l'exécution des actions spécifiques. Le manuel d’utilisation est une collection d'informations sur l'objet/service, une indice.

Malheureusement, peu d'utilisateurs prennent le temps de lire le manuel d’utilisation, et un bon manuel permet non seulement d’apprendre à connaître un certain nombre de fonctionnalités supplémentaires du dispositif acheté, mais aussi éviter la majorité des défaillances.

Donc, ce qui devrait contenir le manuel parfait?

Tout d'abord, le manuel d’utilisation National Instruments 372139B-01 devrait contenir:
- informations sur les caractéristiques techniques du dispositif National Instruments 372139B-01
- nom du fabricant et année de fabrication National Instruments 372139B-01
- instructions d'utilisation, de réglage et d’entretien de l'équipement National Instruments 372139B-01
- signes de sécurité et attestations confirmant la conformité avec les normes pertinentes

Pourquoi nous ne lisons pas les manuels d’utilisation?

Habituellement, cela est dû au manque de temps et de certitude quant à la fonctionnalité spécifique de l'équipement acheté. Malheureusement, la connexion et le démarrage National Instruments 372139B-01 ne suffisent pas. Le manuel d’utilisation contient un certain nombre de lignes directrices concernant les fonctionnalités spécifiques, la sécurité, les méthodes d'entretien (même les moyens qui doivent être utilisés), les défauts possibles National Instruments 372139B-01 et les moyens de résoudre des problèmes communs lors de l'utilisation. Enfin, le manuel contient les coordonnées du service National Instruments en l'absence de l'efficacité des solutions proposées. Actuellement, les manuels d’utilisation sous la forme d'animations intéressantes et de vidéos pédagogiques qui sont meilleurs que la brochure, sont très populaires. Ce type de manuel permet à l'utilisateur de voir toute la vidéo d'instruction sans sauter les spécifications et les descriptions techniques compliquées National Instruments 372139B-01, comme c’est le cas pour la version papier.

Pourquoi lire le manuel d’utilisation?

Tout d'abord, il contient la réponse sur la structure, les possibilités du dispositif National Instruments 372139B-01, l'utilisation de divers accessoires et une gamme d'informations pour profiter pleinement de toutes les fonctionnalités et commodités.

Après un achat réussi de l’équipement/dispositif, prenez un moment pour vous familiariser avec toutes les parties du manuel d'utilisation National Instruments 372139B-01. À l'heure actuelle, ils sont soigneusement préparés et traduits pour qu'ils soient non seulement compréhensibles pour les utilisateurs, mais pour qu’ils remplissent leur fonction de base de l'information et d’aide.

Table des matières du manuel d’utilisation

  • Page 1

    CAN Automotive Diagnostic Co mmand Set User Manual Automotive Diagnostic Command Set User Manual December 2007 372139B-01[...]

  • Page 2

    Support Worldwide Technical Support and Product Info rmation ni.com National Instruments Corporate Headquarters 11500 North Mopac Expressway Aust in, Texas 78759-3504 USA Tel: 512 683 0100 Worldwide Offices Australia 1800 300 800, Austria 43 662 457990-0, Belgium 32 (0) 2 757 0020, Brazil 55 11 3262 3599, Canada 800 433 3488, China 86 21 5050 9800,[...]

  • Page 3

    Important Information Warranty The media on which you receive National Instru ments software are warranted not to fail to execute programming instructions, due to defects in materials and workmanship, for a period of 90 days from date of shipment, as eviden ced by receipts or other documentation. Nati onal Instruments will, at its option, repair or[...]

  • Page 4

    Compliance Compliance with FCC/Canada Radio Frequency Interference Regulations Determining FCC Class The Federal Communications Commission (FCC) has rules to protect wireless co mmunications from inte rference. The FCC places digital electronics into two classes. These classes are known as Class A (for use in industrial-commercial locations onl y) [...]

  • Page 5

    © National Instruments Cor poration v Automotive Diagnost ic Command Set User Manual Contents About This Manual Conventions ............ .............. .............. .............. .............. .............. ............... .............. .... x i Related Documentation ......... .............. .............. ................. .............. ..[...]

  • Page 6

    Contents Automotive Diagnostic Comma nd Set User Manual vi ni.com Visual C++ 6 .................... .............. ........... .............. .............. .............. ............ 3-2 Other Programming Languages ................... .............. ................. .............. ...... 3-2 Debugging an Application ................ ............[...]

  • Page 7

    Contents © National Instruments Corpor ation vii Automotive Diagnostic Command Set User Manual ReadDTCByStatus.vi .............. .............. .............. .............. .............. .............. .. 5-48 ReadECUIdentification.vi ............. .............. .............. ................. .............. ....... 5-51 ReadMemoryByAddress.vi[...]

  • Page 8

    Contents Automotive Diagnostic Comma nd Set User Manual viii ni.com Chapter 6 Automotive Diagnostic Command Set API for C Section Headings ........... .............. .............. .............. .............. .............. .............. ............ 6-1 Purpose ............ .............. .............. .............. .............. ...........[...]

  • Page 9

    Contents © National Instruments Corporation ix Autom otive Diagnostic Command Set User Manual ndTesterPresent .............. ............... .............. .............. .............. .............. .......... 6-71 ndWriteDataByLocalIdentifier ........ .............. ............... ................. .............. .... 6-73 ndWriteMemoryByAddre[...]

  • Page 10

    © National Instruments Corporation xi Autom otive Diagnostic Command Set User Manual About This Manual This manual provides instructions for using the Automotive Diagnostic Command Set. It contains inform ation about installation, configuration, and troubleshooting, and also contains Automotive Diagnostic Command Set function reference for LabVIEW[...]

  • Page 11

    About This Manual Automotive Diagnostic Comma nd Set User Manual xii ni.com Related Documentation The following documents contain information that you mi ght find helpful as you read this manual: • ANSI/ISO Standard 11898-1993, Road Veh icles—Interchange of Digital Informati on—Controller Area Network (CAN) for High-Speed Communication • CA[...]

  • Page 12

    © National Instruments Corpor ation 1-1 Automotive Diagnost ic Command Set User Manual 1 Introduction Diagnostics involve rem ote execution of routines, or services, o n ECUs. To execute a routine, you send a byte st ring as a request to an ECU, and the ECU usually answers with a response byte string. Several diagnostic protocols such as KWP2000 a[...]

  • Page 13

    Chapter 1 Introduction Automotive Diagnostic Comma nd Set User Manual 1-2 ni.com T ransport Protocol As KWP2000 uses messages of variable byte lengths, a tr ansport protocol is necessary on layers with only a well defined (short) me ssage length, such as CAN. The transport protoco l split s a long KWP2000 message into pieces that can be transferred[...]

  • Page 14

    Chapter 1 Introduction © National Instruments Corpor ation 1-3 Automotive Diagnost ic Command Set User Manual as second byte, and a ResponseCode as third byte. The only e xception to this format is the negati ve response to an EscapeCode servic e; here, the third byte is an echo of the user -defined service code, and the fourth byte is the Respons[...]

  • Page 15

    Chapter 1 Introduction Automotive Diagnostic Comma nd Set User Manual 1-4 ni.com Measurements Use the ReadDataByLocal/CommonIden tifier services to access ECU data in a way similar to a DAQ list. A Local/Com monIdentifier describes a list of ECU quantities that are then transf erred from the ECU to th e tester. The transfer can be either single val[...]

  • Page 16

    Chapter 1 Introduction © National Instruments Corpor ation 1-5 Automotive Diagnost ic Command Set User Manual UDS (Unified Diagnostic Ser vices) The UDS protocol has become a de fact o standard in automotive diagnostic applications. It is standardized as ISO 15765-3. UDS describes the implementation of vari ous diagnostic services you can access t[...]

  • Page 17

    Chapter 1 Introduction Automotive Diagnostic Comma nd Set User Manual 1-6 ni.com Note Some parameters to both the Request and Positive Response Messages are optional. Each service defines these parameters. Also, the standard does not define all parameters. The Negati v e Response Message is usually a three-byte message: it has the Negati ve Respons[...]

  • Page 18

    © National Instruments Corpor ation 2-1 Automotive Diagnost ic Command Set User Manual 2 Installation and Configuration This chapter explains how to in stall and configure the Automotive Diagnostic Command Set. Installation This section discusses the Automoti ve Diagnostic Command Set installation for Microsoft Windows. Note Y ou need administ rat[...]

  • Page 19

    Chapter 2 Installation and Configuration Automotive Diagnostic Comma nd Set User Manual 2-2 ni.com Refer to Appendix A, Troubleshooting an d Common Questions , of the NI-CAN User Manual for information abo ut resolving hardware installation problems. When installatio n is complete, you can access the Automoti v e Diagnostic Command Set functions in[...]

  • Page 20

    © National Instruments Corpor ation 3-1 Automotive Diagnost ic Command Set User Manual 3 Application Development This chapter explains how to develop an application using the Au tomotive Diagnostic Command Set API. Choosing the Programming Language The programming language you use for application deve lopment determines how to access the Automotiv[...]

  • Page 21

    Chapter 3 Application Development Automotive Diagnostic Comma nd Set User Manual 3-2 ni.com LabWindows/CVI examples. The exam ples are in the LabWindows/CVI samplesAutomotive Diagnostic Comma nd Set directory. Each example includes a complete LabWindows/CVI project ( .prj file). The example description is in co mments at the top of the .c file. V[...]

  • Page 22

    Chapter 3 Applicati on Development © National Instruments Corpor ation 3-3 Automotive Diagnost ic Command Set User Manual pointers to Automo tive Diagnostic Command Set functions in the application. The foll owing section describes how to use th e Win32 functions for C/C++ environments other th an Visual C/C++ 6. For more detailed information, ref[...]

  • Page 23

    © National Instruments Corpor ation 4-1 Automotive Diagnost ic Command Set User Manual 4 Using the Automotive Diagnostic Command Set Structure of the Automotive Diagnostic Command Set Diagnostic Services Layer KWP2000 Services UDS (DiagOnCAN) Services OBD(OnBoard Diag) Services Auxiliary Routines Diagnostic T ranspor t Layer Connection Management [...]

  • Page 24

    Chapter 4 Using th e Automotive Diagnostic Command Set Automotive Diagnostic Comma nd Set User Manual 4-2 ni.com The Automotive Diagnostic Command Set is structured into three layers of functionality: • The top layer implements three sets of diagn ostic services for the diagnostic protocols KWP20 00, UDS (DiagOnCAN), and OBD (On-Board Diagnost ic[...]

  • Page 25

    Chapter 4 Using the Automo tive Diagnostic Command Set © National Instruments Corpor ation 4-3 Automotive Diagnost ic Command Set User Manual General Programming Model First, you must open a diagnostic comm unication link. This inv olves initializing the CAN port and defining communication par ameters such as the baud rate and CAN identifiers on w[...]

  • Page 26

    Chapter 4 Using th e Automotive Diagnostic Command Set Automotive Diagnostic Comma nd Set User Manual 4-4 ni.com When you finish your diagnostic services, you must close the diagnostic communication lin k. This finally closes the CAN port. For the V W TP 2.0, you should disconn ect the communicati on channel established b efore closing. A vailable [...]

  • Page 27

    © National Instruments Corpor ation 5-1 Automotive Diagnost ic Command Set User Manual 5 Automotive Diagnostic Command Set API for LabVIEW This chapter lists the LabVIEW VIs for the Automotive Diagnostic Command Set API and describes the format, purpose, and parameters for each VI. The VIs are listed a lphabetically in four categories: general fun[...]

  • Page 28

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-2 ni.com List of VIs The follo wing table is an alphabetical list of the Automotiv e Diagnostic Comman d Set VIs. Table 5-1. Automotive Diagnostic Command Set API VIs for LabVIEW Function Pur pose ClearDiagnosticInforma tion.vi Executes the[...]

  • Page 29

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corpor ation 5-3 Automotive Diagnost ic Command Set User Manual EnableNormalMessageTransmission.vi Executes the EnableNormalMessageT ransmission service. The ECU starts transmitting its regular communic ation messages (usually CAN messages). InputOutput ControlByL[...]

  • Page 30

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-4 ni.com OBD Request Powertrain Freeze Frame Data.vi Executes the OBD Request Po wertrain Freeze Frame Data service. Reads a data record from the ECU that has been stored while a Diagnostic Trouble Code occurred. OBD Request Supported PIDs.[...]

  • Page 31

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corpor ation 5-5 Automotive Diagnost ic Command Set User Manual SendKey.vi Executes the Security Access service to send a key to the ECU. StartDiagnosticSession.vi Executes the StartDiagnosticSession servi ce. Sets up the ECU in a specific diagnos tic mode. StartR[...]

  • Page 32

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-6 ni.com UDS ReadDataByIdentifier.vi Executes the UDS ReadDataByIdentif ier service. Reads a data record from the ECU. UDS ReadMemoryByAddress.vi Executes the UDS ReadMemoryBy Address service. Reads data from the ECU memory . UDS ReportDTCB[...]

  • Page 33

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corpor ation 5-7 Automotive Diagnost ic Command Set User Manual UDS WriteD ataByIdentif ier.vi Executes the UDS WriteDataByIdentif ier service. Writes a data record to the ECU. UDS WriteMemoryByAddress.vi Executes the UDS WriteMemoryBy Address service. Writes data[...]

  • Page 34

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-8 ni.com General Functions Close Diagnostic.vi Purpose Closes a diagnostic session. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subsequent diagn ostic VIs. Normally , [...]

  • Page 35

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corpor ation 5-9 Automotive Diagnost ic Command Set User Manual Output error out describes error conditions. If the error in cluster indicated an error , the error out cluster contains the same information. Otherwi se, error out describes the error status of this [...]

  • Page 36

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-10 ni.com Convert from Phys.vi Purpose Con verts a physical data value into a bina ry representation using a type descriptor . Format Input type descriptor is a cluster that specifies the con version of the physical value to its binary repr[...]

  • Page 37

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-11 Autom otive Diagnostic Command Set User Manual Output data out i s the binary representati on of the physical value. If you build a record of multiple v alues, you can concatenate the outputs of se veral instances of Convert from Phys.vi . Descrip[...]

  • Page 38

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-12 ni.com Convert to Phys.vi Purpose Con verts a binary representation of a v alue into its physical value using a type descript or . Format Input type descriptor is a cluster that specifies the con version of the binary representation to i[...]

  • Page 39

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-13 Autom otive Diagnostic Command Set User Manual Description Data output from diagnosti c services (for example, ReadDataByLocalIdentifier.vi ) is usually a byte stream of binary data. If you have a description of the data output (for example, byte [...]

  • Page 40

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-14 ni.com Create Extended CAN IDs.vi Purpose Creates diagnostic CAN IDs according to ISO 15765-2. Format Input addressing mode specifi es whether the ECU is physically or fu nctionally addressed. transport protocol specifies whether normal [...]

  • Page 41

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-15 Autom otive Diagnostic Command Set User Manual Diag Get Property .vi Purpose Gets a diagnostic global internal parameter . Format Input property ID defines the parameter whose v alu e is to be retrie ved. Y ou can create the v alues using an Enum [...]

  • Page 42

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-16 ni.com 6 Wait Frames to Send (N_WAIT) is the number of W AIT frames the master sends e very time before a CTS frame is sent. If this v alue is set to a ne gati v e number (for e xample, 0xFFFFFFFF = –1), the master sends an O VERLOAD f[...]

  • Page 43

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-17 Autom otive Diagnostic Command Set User Manual Diag Set Property . vi Purpose Sets a diagnostic g lobal internal parameter . Format Input property ID defines the parameter whose v alu e is to be retrie ved. Y ou can create the v alues using an Enu[...]

  • Page 44

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-18 ni.com 6 Wait Frames to Send (N_WAIT) is the number of W AIT frames the master sends e very time before a CTS frame is sent. If this v alue is set to a ne gati v e number (for e xample, 0xFFFFFFFF = –1), the master sends an O VERLOAD f[...]

  • Page 45

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-19 Autom otive Diagnostic Command Set User Manual Diagnostic Ser vice.vi Purpose Executes a generic diagnostic service. If a sp ecial service is not a v ailable through the KWP2000, UDS, or OBD service functions, you can build it using this VI. Forma[...]

  • Page 46

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-20 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. error code is the error code sent with a negati ve response message. In addition, the error cluster indicates an error and giv es a more[...]

  • Page 47

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-21 Autom otive Diagnostic Command Set User Manual DTC to String.vi Purpose Returns a string representation (such as P1234 ) for a 2-byte Diagno stic T rouble Code (DTC). Format Input DTC (num) is the DTC number as retu rned in the clusters of ReadDTC[...]

  • Page 48

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-22 ni.com OBD Open.vi Purpose Opens an OBD-II diagnostic session on a CAN port. Format Input CAN interface specifies the CAN interface on which the diagnostic communication should take place. The v alues are CAN0, CAN1, and so on. baudrate [...]

  • Page 49

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-23 Autom otive Diagnostic Command Set User Manual Output diag ref out is a cluster containing all necessary diagnostic session information. W ire this cluster as a handle to all subsequent diagnostic VIs and close it using Close Diagnostic.vi . error[...]

  • Page 50

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-24 ni.com Open Diagnostic.vi Purpose Opens a diagnostic session on a CAN port . Communication to the ECU is not yet started. Format Input CAN interface specifies the CAN interface on which the diagnostic communication should take place. The[...]

  • Page 51

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-25 Autom otive Diagnostic Command Set User Manual status i s T RU E i f a n e r r o r occurred. This VI is not ex ecuted when status is TR UE. code is the error code number identi fying an error . A value of 0 means success. A neg ativ e v alue means[...]

  • Page 52

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-26 ni.com VWTP Connect.vi Purpose Establishes a connect ion channel to an ECU using the VW TP 2.0. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subsequent diagn ostic V[...]

  • Page 53

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-27 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. error out describes error conditions. If the error in cluster indicated an error , the error out cluster c[...]

  • Page 54

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-28 ni.com VWTP Connection T est.vi Purpose Maintains a connection channel to an ECU using the VW TP 2.0. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subsequent diagn o[...]

  • Page 55

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-29 Autom otive Diagnostic Command Set User Manual code is the error code number identi fying an error . A value of 0 means success. A neg ativ e v alue means error: the VI did not ex ecute the intended operation. A positiv e value means warning: the [...]

  • Page 56

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-30 ni.com VWTP Disconnect.vi Purpose T erminates a conn ection channel to an ECU using the VW TP 2.0. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subsequent diagn osti[...]

  • Page 57

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-31 Autom otive Diagnostic Command Set User Manual code is the error code number identi fying an error . A value of 0 means success. A neg ativ e v alue means error: the VI did not ex ecute the intended operation. A positiv e value means warning: the [...]

  • Page 58

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-32 ni.com KWP2000 Ser vices ClearDiagnosticInformation.vi Purpose Executes the ClearDiagnosticInfo rmation service and clears se lected Diagnostic T rouble Codes (DTCs). Format Input DTC descriptor is a cluster that describes the DTC record[...]

  • Page 59

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-33 Autom otive Diagnostic Command Set User Manual group of DTC specifies the group of Diagnostic T rouble Codes to be cleared. The follo wing values hav e a sp ecial meaning, a nd you can specify them through a ring control: 0x0000 All powertrain DTC[...]

  • Page 60

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-34 ni.com code is the error code number identi fying an error . A value of 0 means success. A negati v e v alue means error: the VI did not ex ecute the intended operation. A positiv e value means warning: the VI executed intended operation[...]

  • Page 61

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-35 Autom otive Diagnostic Command Set User Manual ControlDTCSetting.vi Purpose Executes the ControlDTCSetting service and modifies the generation beha vior of selected Diagnostic Trouble Codes (DTCs). Format Input DTC descriptor is a cluster that des[...]

  • Page 62

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-36 ni.com group of DTC specifies the group of Diagnostic T rouble Codes to be controlled. The follo wing v alues ha v e a special meaning, and you can specify them through a ring contro l: 0x0000 All powertrain DTCs 0x4000 All chassis DTCs [...]

  • Page 63

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-37 Autom otive Diagnostic Command Set User Manual code is the error code number identi fying an error . A value of 0 means success. A neg ativ e v alue means error: the VI did not ex ecute the intended operation. A positiv e value means warning: the [...]

  • Page 64

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-38 ni.com DisableNormalMessageT ransmission.vi Purpose Executes the Dis ableNormalMessageT ransmission service. The ECU no longer transmits its regular communication message s (usually CAN messages). Format Input diag ref in specifies the d[...]

  • Page 65

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-39 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error o[...]

  • Page 66

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-40 ni.com ECUReset.vi Purpose Executes the ECUReset service. Resets the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subsequent diagn ostic VIs. Normally , it is n[...]

  • Page 67

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-41 Autom otive Diagnostic Command Set User Manual status i s T RU E i f a n e r r o r occurred. This VI is not ex ecuted when status is TR UE. code is the error code number identi fying an error . A value of 0 means success. A neg ativ e v alue means[...]

  • Page 68

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-42 ni.com EnableNormalMessageT ransmission.vi Purpose Executes the EnableNormalMessage T ransmission service. The ECU starts transmitting it s regular communication message s (usually CAN messages). Format Input diag ref in specifies the di[...]

  • Page 69

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-43 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error o[...]

  • Page 70

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-44 ni.com InputOutputControl ByLocalIdentifier .vi Purpose Executes the InputOutputControlByLocalIdentifier service. Modifies ECU I/O port beha vior . Format Input data in defi nes application-specific data for this service. diag ref in spe[...]

  • Page 71

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-45 Autom otive Diagnostic Command Set User Manual code is the error code number identi fying an error . A value of 0 means success. A neg ativ e v alue means error: the VI did not ex ecute the intended operation. A positiv e value means warning: the [...]

  • Page 72

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-46 ni.com ReadDataByLocalIdentifier .vi Purpose Executes the ReadDataByLocalIdentif ier serv ice. Reads a data r ecord from the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wire[...]

  • Page 73

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-47 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out retu rns the data record from the ECU. If yo u know the record data description, you can interpre[...]

  • Page 74

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-48 ni.com ReadDTCByStatus.vi Purpose Executes the ReadDiagnosticT roubleCodesByStatus service. Reads selected Diagnostic T rouble Codes (DTCs). Format Input DTC descriptor is a cluster that describes the DTC records the ECU deliv ers: DTC B[...]

  • Page 75

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-49 Autom otive Diagnostic Command Set User Manual mode defines the type of DTCs to be read. The v alues are application specific. The usual v alues are: 2: AllIdentified 3: AllSupported group of DTC specifies the group of Diagnostic Trouble Codes to [...]

  • Page 76

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-50 ni.com Status is the DTC status. Usually , this is a bit f ield with the following meaning: Bit Meaning 0 testFailed 1 testFailedThisMonitoringCycle 2 pendingDTC 3 confirmedDTC 4 testNotCompletedSin ceLastClear 5 testFailedSinceLastClear[...]

  • Page 77

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-51 Autom otive Diagnostic Command Set User Manual ReadECUIdentification.vi Purpose Executes the ReadECUIdentification servi ce. Returns ECU identif ication data. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Dia[...]

  • Page 78

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-52 ni.com success? indicates successful receipt of a positi ve 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 informat[...]

  • Page 79

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-53 Autom otive Diagnostic Command Set User Manual ReadMemor yByAddress.vi Purpose Executes the ReadMemoryBy Address servi ce. Reads data from the ECU memory . Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagno[...]

  • Page 80

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-54 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. Data out returns the memory data from the ECU. success? indicates successful receipt of a positi ve response message for this diagnostic[...]

  • Page 81

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-55 Autom otive Diagnostic Command Set User Manual ReadStatusOfDTC.vi Purpose Executes the ReadStatusOfDiagnosticT roubleCo des service. Reads selected Diagnostic T rouble Codes (DTCs). Format Input DTC descriptor is a cluster that describes the DTC r[...]

  • Page 82

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-56 ni.com group of DTC specifies the group of Diagnostic Trouble Codes to be read. The follo wing values hav e a special meaning, and you can specify them through a ring control: 0x0000 All powertrain DTCs 0x4000 All chassis DTCs 0x8000 All[...]

  • Page 83

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-57 Autom otive Diagnostic Command Set User Manual Status is the DTC status. Usually , this is a bit field with the following meaning: Bit Meaning 0 testFailed 1 testFailedThisMonitoringCycle 2 pendingDTC 3 confirmedDTC 4 testNotCompletedSin ceLastCle[...]

  • Page 84

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-58 ni.com RequestRoutineResu ltsByLocalIdentifier .vi Purpose Executes the RequestRoutineResul tsByLocalIdentif ier service. Returns results fro m a routine on the ECU. Format Input diag ref in specifies the diagnostic session handle, obtai[...]

  • Page 85

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-59 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out r eturns application-specific output paramete rs from the routine. success? indicates successful [...]

  • Page 86

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-60 ni.com RequestSeed.vi Purpose Executes the Security Access service to retrie ve a seed from the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subsequent diagn os[...]

  • Page 87

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-61 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. seed out returns the seed from the ECU. success? indicates successful receipt of a positi ve response mess[...]

  • Page 88

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-62 ni.com SendKey .vi Purpose Executes the Security Access service to send a ke y to the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subsequent diagn ostic VIs. N[...]

  • Page 89

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-63 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error o[...]

  • Page 90

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-64 ni.com StartDiagnosticSession.vi Purpose Executes the StartDiagnosticSession service. Sets up the ECU in a sp ecific diagnostic mode. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and [...]

  • Page 91

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-65 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error o[...]

  • Page 92

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-66 ni.com StartRoutineByLocalIdentifier .vi Purpose Executes the StartRoutineByLo calIdentif ier service. Execu tes a routine on the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and[...]

  • Page 93

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-67 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out r eturns application-specific output paramete rs from the routine. success? indicates successful [...]

  • Page 94

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-68 ni.com StopDiagnosticSession.vi Purpose Executes the StopDiagnosticSession service. Returns the ECU to normal mode. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subs[...]

  • Page 95

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-69 Autom otive Diagnostic Command Set User Manual error out describes error conditions. If the error in cluster indicated an error , the error out cluster contains the same information. Otherwi se, error out describes the error status of this VI. sta[...]

  • Page 96

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-70 ni.com StopRoutineByLoc alIdentifier .vi Purpose Executes the StopRoutineByLocalIdentif ier service. Stops a routine on the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired[...]

  • Page 97

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-71 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out r eturns application-specific output paramete rs from the routine. success? indicates successful [...]

  • Page 98

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-72 ni.com T esterPresent.vi Purpose Executes the T esterPresent service. Keeps the ECU in diagnostic mode. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subsequent diagn[...]

  • Page 99

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-73 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error o[...]

  • Page 100

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-74 ni.com WriteDataByLocalIdentifier .vi Purpose Executes the WriteDataByLocalIdentif ier serv ice. Writes a data record to the ECU. Format Input data in d efines the data record written to the ECU. I f you know the record data description,[...]

  • Page 101

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-75 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error o[...]

  • Page 102

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-76 ni.com WriteMemoryByAddress.vi Purpose Executes the WriteMemoryBy Address servi ce. Writes data to the ECU memory . Format Input data in defines the memory block to b e written to th e ECU. diag ref in specifies the diagnostic session ha[...]

  • Page 103

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-77 Autom otive Diagnostic Command Set User Manual Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error o[...]

  • Page 104

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-78 ni.com UDS (DiagOnCAN) Ser vices UDS ClearDiagnosticInformation.vi Purpose Executes the UDS ClearDiagnostic Information service. Clears selected Diagnostic T rouble Codes (DTCs). Format Input DTC descriptor is a cluster that describes th[...]

  • Page 105

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-79 Autom otive Diagnostic Command Set User Manual group of DTC specifies the group of Diagnostic T rouble Codes to be cleared. The v alues are application specific. The follo wing v alue has a special meaning, and you can speci fy it through a ring c[...]

  • Page 106

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-80 ni.com Description This VI clears the diagnostic informat ion on the ECU memory . If the group of DTC parameter is present, the ECU is requested to clear all memory including th e DTCs. For further details about this service, refer to th[...]

  • Page 107

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-81 Autom otive Diagnostic Command Set User Manual UDS CommunicationControl.vi Purpose Executes the UDS CommunicationCont rol service. Use this VI to switch transmi ssion and/or reception of the normal co mmunication messages (usually CAN messages) on[...]

  • Page 108

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-82 ni.com code is the error code number identi fying an error . A value of 0 means success. A negati v e v alue means error: the VI did not ex ecute the intended operation. A positiv e value means warning: the VI executed intended operation[...]

  • Page 109

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-83 Autom otive Diagnostic Command Set User Manual UDS ControlDTCSetting.vi Purpose Executes the UDS ControlDTCSett ing service. Modifies Diagnostic Tr ouble Code (DTC) generation behavior . Format Input diag ref in specifies the diagnostic session ha[...]

  • Page 110

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-84 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error out describes error conditions.[...]

  • Page 111

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-85 Autom otive Diagnostic Command Set User Manual UDS DiagnosticSessionControl.vi Purpose Executes the UDS DiagnosticSessionControl ser vice. Sets up the ECU in a speci fic diagnostic mode. Format Input diag ref in specifies the diagnostic session ha[...]

  • Page 112

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-86 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error out describes error conditions.[...]

  • Page 113

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-87 Autom otive Diagnostic Command Set User Manual UDS ECUReset.vi Purpose Executes the UDS ECUReset service. Resets the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired through subseque[...]

  • Page 114

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-88 ni.com source identifies the VI where the error occurred. Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagno[...]

  • Page 115

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-89 Autom otive Diagnostic Command Set User Manual UDS InputOutputControlByIdentifier .vi Purpose Executes the UDS InputOutputControlByIdentifier service. Modifies ECU I/O port behavior . Format Input data in defines application specifi c data for thi[...]

  • Page 116

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-90 ni.com code is the error code number identi fying an error . A value of 0 means success. A negati v e v alue means error: the VI did not ex ecute the intended operation. A positiv e value means warning: the VI executed intended operation[...]

  • Page 117

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-91 Autom otive Diagnostic Command Set User Manual UDS ReadDataByIdentifier .vi Purpose Executes the UDS ReadDataByIdentif ier servic e. Reads a data record from the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from [...]

  • Page 118

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-92 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out retu rns the data record from the ECU. If yo u know the record data description, you can use Convert to Phys.vi to interpret th[...]

  • Page 119

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-93 Autom otive Diagnostic Command Set User Manual UDS ReadMemor yByAddress.vi Purpose Executes the UDS ReadMemoryBy Address serv ice. Reads data from the ECU memory . Format Input diag ref in specifies the diagnostic session handle, obtained from Ope[...]

  • Page 120

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-94 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out returns the ECU memory data. success? indicates successful receipt of a positi ve response message for this diagnostic service.[...]

  • Page 121

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-95 Autom otive Diagnostic Command Set User Manual UDS ReportDTCBySeverityMaskRecord.vi Purpose Executes the ReportDTCBySe verityMaskRecord subfunction of the UDS ReadDiagnosticTroubleCodeInformation service. Reads selected Diagnostic Tr ouble Codes ([...]

  • Page 122

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-96 ni.com severity mask def ines the status of DTCs to be read. The v alues are application specific. status def ines the status of DTCs to be read. The values are application specific. error in is a cluster that describes error conditions [...]

  • Page 123

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-97 Autom otive Diagnostic Command Set User Manual 6 testNotCompletedThisMonitor ingCycle 7 warningIndicatorRequested Add Data contains optional addit ional data for this DTC. success? indicates successful receipt of a positi ve response message for t[...]

  • Page 124

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Comma nd Set User Manual 5-98 ni.com UDS ReportDTCByStatusMask.vi Purpose Executes the ReportDTCByStatusMask subfunction of the UDS ReadDiagnosticTroubleCodeInformation service. Reads selected Diagnostic T rouble Codes (DTCs). Format Input DTC descriptor is a cluster[...]

  • Page 125

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-99 Autom otive Diagnostic Command Set User Manual error in is a cluster that describes error conditions occur ring before the VI ex ecutes. If an error has already occu rred, th e VI returns the value of the error in cluster to error out . status i s[...]

  • Page 126

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-100 ni.com success? indicates successful receipt of a positi ve 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 informat[...]

  • Page 127

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-101 Automotive Diagnostic Command Set User Manual UDS ReportSeverityIn formationOfDTC.vi Purpose Executes the ReportSe v erityInformat ionOfDTC subfunction of the UDS ReadDiagnosticTroubleCodeInformation service. Reads selected Diagnostic Tr ouble Co[...]

  • Page 128

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-102 ni.com DTC mask record defines the status of DTCs to be read. The v alues are application specific. error in is a cluster that describes error conditions occurrin g before the VI ex ecutes. If an error has already occu rred , the VI retu[...]

  • Page 129

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-103 Automotive Diagnostic Command Set User Manual Add Data contains optional addit ional data for this DTC. success? indicates successful receipt of a positi ve response message for this diagnostic service. error out describes error conditions. If th[...]

  • Page 130

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-104 ni.com UDS ReportSupportedDTCs.vi Purpose Executes the ReportSupportedDTCs subfunction of the UDS ReadDiagnosticTroubleCodeInformatio n service. Reads all supported Diagnostic T rouble Codes (DTCs). Format Input DTC descriptor is a clust[...]

  • Page 131

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-105 Automotive Diagnostic Command Set User Manual error in is a cluster that describes error conditions occur ring before the VI ex ecutes. If an error has already occu rred, th e VI returns the value of the error in cluster to error out . status i s[...]

  • Page 132

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-106 ni.com success? indicates successful receipt of a positi ve 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 informat[...]

  • Page 133

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-107 Automotive Diagnostic Command Set User Manual UDS RequestSeed.vi Purpose Executes the UDS Security Access service to retriev e a seed from the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi[...]

  • Page 134

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-108 ni.com success? indicates successful receipt of a positi ve 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 informat[...]

  • Page 135

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-109 Automotive Diagnostic Command Set User Manual UDS RoutineControl.vi Purpose Executes the UDS RoutineControl serv ice. Ex ecutes a routine on the ECU. Format Input mode defines the service operation mode. Y ou can obtain the values from a ring con[...]

  • Page 136

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-110 ni.com code is the error code number identi fying an error . A value of 0 means success. A negati v e v alue means error: the VI did not ex ecute the intended operation. A positiv e value means warning: the VI executed intended operation[...]

  • Page 137

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-111 Automotive Diagnostic Command Set User Manual UDS SendKey .vi Purpose Executes the Security Access service to send a ke y to the ECU. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic.vi and wired thr[...]

  • Page 138

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-112 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error out describes error conditions.[...]

  • Page 139

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-113 Automotive Diagnostic Command Set User Manual UDS T esterPresent.vi Purpose Executes the UDS T esterPresent service. Keeps the ECU in diagnostic mode. Format Input diag ref in specifies the diagnostic session handle, obtained from Open Diagnostic[...]

  • Page 140

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-114 ni.com 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 TR UE if an error occurr[...]

  • Page 141

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-115 Automotive Diagnostic Command Set User Manual UDS WriteDataByIdentifier .vi Purpose Executes the UDS WriteDataByIdentif ier serv ice. Writes a data record to the ECU. Format Input data in defines the data record to be written to the ECU. If you k[...]

  • Page 142

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-116 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error out describes error conditions.[...]

  • Page 143

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-117 Automotive Diagnostic Command Set User Manual UDS WriteMemoryByAddress.vi Purpose Executes the UDS WriteMemoryBy Address serv i ce. Writes data to the ECU memory . Format Input data in defines the memory block to b e written to th e ECU. diag ref[...]

  • Page 144

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-118 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error out describes error conditions.[...]

  • Page 145

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-119 Automotive Diagnostic Command Set User Manual OBD (On-Board Diagnostics) Ser vices OBD Clear Emission Related Diagnostic Information.vi Purpose Executes the OBD Clear Emission Related Diagnostic Informatio n service. Clears emission-related Diagn[...]

  • Page 146

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-120 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. success? indicates successful receipt of a positi ve response message for this diagnostic service. error out describes error conditions.[...]

  • Page 147

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-121 Automotive Diagnostic Command Set User Manual OBD Request Control Of On-Board Device.vi Purpose Executes the OBD Request Control Of On-Boa rd Device service. Modifies ECU I/O port behavior . Format Input data in defi nes application-specific data[...]

  • Page 148

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-122 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out returns application-specifi c data for this service. success? indicates successful receipt of a positi ve response message for [...]

  • Page 149

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-123 Automotive Diagnostic Command Set User Manual OBD Request Current Powert rain Diagnostic Data.vi Purpose Executes the OBD Request Current Po wertrain Diagnostic Data se rvice. Reads a data record from the ECU . Format Input diag ref in specifies [...]

  • Page 150

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-124 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out returns the ECU data record. If you know the record data description, you can use Convert from Phys.vi to interpr et this recor[...]

  • Page 151

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-125 Automotive Diagnostic Command Set User Manual OBD Request Emission Related DTCs.vi Purpose Executes the OBD Request Emission Related DT Cs service. Reads al l emission-related Diagnostic Trouble Codes (DTCs). Format Input DTC descriptor is a clus[...]

  • Page 152

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-126 ni.com status i s T RU E i f a n e r r o r occurred. This VI is not ex ecuted when status is TR UE. code is the error code number identi fying an error . A value of 0 means success. A negati v e v alue means error: the VI did not ex ecut[...]

  • Page 153

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-127 Automotive Diagnostic Command Set User Manual success? indicates successful receipt of a positi ve response message for this diagnostic service. error out describes error conditions. If the error in cluster indicated an error , the error out clus[...]

  • Page 154

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-128 ni.com OBD Request Emission Related DTCs During Current Drive Cycle.vi Purpose Executes the OBD Request Emission Related DT Cs During Current Dri ve Cycle service. Reads the emission-related Diagnostic T roubl e Codes (DTCs) that occurre[...]

  • Page 155

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-129 Automotive Diagnostic Command Set User Manual error in is a cluster that describes error conditions occur ring before the VI ex ecutes. If an error has already occu rred, th e VI returns the value of the error in cluster to error out . status i s[...]

  • Page 156

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-130 ni.com For OBD, this field usually does n ot contain valid information. Add Data contains optional additional data for this DTC. Usually , this does not contain valid information (refer to D TC descriptor ). success? indicates successful[...]

  • Page 157

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-131 Automotive Diagnostic Command Set User Manual OBD Request On-Board Mon itoring T est Results.vi Purpose Executes the OBD Request On-Board Monitorin g T est Results service. Reads a test data record from the ECU. Format Input diag ref in specifies[...]

  • Page 158

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-132 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out returns the ECU data record. If you know the record data description, you can use Convert from Phys.vi to interpr et this recor[...]

  • Page 159

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-133 Automotive Diagnostic Command Set User Manual OBD Request Powertrain Freeze Frame Data.vi Purpose Executes the OBD Request Po wert rain Freeze Frame Data service. Reads an ECU data record stored while a Diagnostic T rouble Code occurred. Format I[...]

  • Page 160

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-134 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out returns the ECU data record. If you know the record data description, you can use Convert from Phys.vi to interpr et this recor[...]

  • Page 161

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-135 Automotive Diagnostic Command Set User Manual OBD Request Supported PIDs.vi Purpose Executes the OBD Request Current Powertrain Diagno stic Data service to r etriev e the valid PID values for this service. Format Input diag ref in specifies the d[...]

  • Page 162

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-136 ni.com 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 TR UE if an error occurr[...]

  • Page 163

    Chapter 5 Automotive Di agnostic Command Set API for LabVIE W © National Instruments Corporation 5-137 Automotive Diagnostic Command Set User Manual OBD Request Ve hicle Information.vi Purpose Executes the OBD Request V ehicle Information se rvice. Reads a set of infor mation data from the ECU. Format Input diag ref in specifies the diagnostic ses[...]

  • Page 164

    Chapter 5 Automotive Diagnosti c Command Set API for LabVIEW Automotive Diagnostic Command Set User Manual 5-138 ni.com Output diag ref out is a copy of diag ref in . Y ou can wire it to subsequent diagnostic VIs. data out returns the vehicle information from the ECU. Y ou can obtain the description from t he SAE J1979 standard. success? indicates [...]

  • Page 165

    © National Instruments Corpor ation 6-1 Automotive Diagnost ic Command Set User Manual 6 Automotive Diagnostic Command Set API for C This chapter lists the A utomotive Diagnostic Command Set API f unctions and describes t heir format, purpose, and parameters. Unless othe rwise stated, each Automotive Diagnostic Command Set function suspends ex ecu[...]

  • Page 166

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-2 ni.com List of Data T ypes The following data types are used wit h the Automotive Diagnostic Command Set API f or C functions. Table 6-1. Data T ypes for the Automotive Diagnostic Co mmand Set for C Data T ype Purpose i8 8-bit signed integer i1[...]

  • Page 167

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corpor ation 6-3 Automotive Diagnost ic Command Set User Manual List of Functions The follo wing table contains an alphabetical list of the Automoti v e Diagnostic Command Set API functions. Table 6-2. Functions for the Automotive Diagnostic Command Set for C Function Pu[...]

  • Page 168

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-4 ni.com ndDisableNormalMessageTransmission Ex ecutes the DisableNormalMessage T ransmission service. The ECU no longer transmit s its regular communication messages (usually CAN messages). ndDTCToString Returns a string representation (such as P[...]

  • Page 169

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corpor ation 6-5 Automotive Diagnost ic Command Set User Manual ndOBDOpen Opens a diagnostic session on a CAN port for OBD-II. ndOBDRequestControlOfOnBoardDevice Ex ecutes the OBD Request Control Of On-Board Device service. Modifies ECU I/O port behavior . ndOBDRequestCu[...]

  • Page 170

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-6 ni.com ndOBDRequestPowertrainFreezeFrameData Ex ecutes the OBD Request Powertrain Freeze Frame Data service. Reads an ECU data record stored while a diagnostic trouble code occurred. ndOBDRequestVehicleInformation Ex ecutes the OBD Request V eh[...]

  • Page 171

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corpor ation 6-7 Automotive Diagnost ic Command Set User Manual ndReadStatusOfDTC Ex ecutes the ReadStatusOfDiagnostic T roubleCodes service. Reads selected Diagnostic T rouble Codes (DTCs). ndRequestRoutineResultsByLocalIdentifie r Executes the RequestRoutineResultsBy L[...]

  • Page 172

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-8 ni.com ndStopRoutineByLocalIdentifier Ex ecutes the StopRoutineByLo cal Identifier service. Stops a routine on the ECU. ndTesterPresent Ex ecutes the T esterPresent service. K eeps the ECU in diagnostic mode. ndUDSClearDiagnosticInformation Ex [...]

  • Page 173

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corpor ation 6-9 Automotive Diagnost ic Command Set User Manual ndUDSInputOutputControlByIdentifier Ex ecutes the UDS InputOutputContro lBy Identifier service. Modifies ECU I/O port behavior . ndUDSReadDataByIdentifier Ex ecutes the UDS ReadDataByIdentifier service. Read[...]

  • Page 174

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-10 ni.com ndUDSReportSeverityInformationOfDTC Ex ecutes the ReportSeverity InformationOfDTC subfunction of the UDS ReadDiagnosticT rouble CodeInformation ser vice. Reads selected Diagnostic T rouble Codes (DTC s) are read. ndUDSReportSupportedDTC[...]

  • Page 175

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-11 Autom otive Diagnostic Command Set User Manual ndUDSWriteMemoryByAddress Ex ecutes the UDS WriteMemoryBy Address service. Writes data to the ECU memory . ndVWTPConnect Establishes a connection channel to an ECU using the VW TP 2.0. ndVWTPConnectionTest M[...]

  • Page 176

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-12 ni.com General Functions ndCloseDiagnostic Purpose Closes a diagnostic session. Format long ndCloseDiagnostic( TD1 *diagRefIn); Input diagRefIn Specifies the diagnostic session handle, obtained from ndOpenDiagnostic and passed to subsequent di[...]

  • Page 177

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-13 Autom otive Diagnostic Command Set User Manual ndConvertFromPhys Purpose Con verts a physical data value into a binary representation using a type descriptor . Format void ndConvertFromPhys( TD2 *typeDescriptor, double value, unsigned char dataOut[], lon[...]

  • Page 178

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-14 ni.com Output dataOut Points to the byte array to be filled with the binar y representation of value . len On input, len must contain the dataOut array length. On retu rn, it contains the number of v alid data bytes in the dataOut array . Desc[...]

  • Page 179

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-15 Autom otive Diagnostic Command Set User Manual ndConvertT oPhys Purpose Con verts a binary representation of a v alue into its physical value using a type descript or . Format void ndConvertToPhys( TD2 *typeDescriptor, unsigned char dataIn[], long len, d[...]

  • Page 180

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-16 ni.com dataIn Points to the byte array that contains the binary representation of value . len Must contain the dataIn array length. Output value The physical v alue con verted fr om the binary representation. Description Data output from diagn[...]

  • Page 181

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-17 Autom otive Diagnostic Command Set User Manual ndCreateExtendedCANIds Purpose Creates diagnostic CAN identifiers according to ISO 15765 -2. Format void ndCreateExtendedCANIds ( unsigned short addressingMode, unsigned short transportProtocol, unsigned cha[...]

  • Page 182

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-18 ni.com Output transmitID The generated CAN identifier for sending diagnostic request messages from the host to the ECU. receiveID The generated CAN identifier for sending diagnostic response messages from th e ECU to the host. Description ISO [...]

  • Page 183

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-19 Autom otive Diagnostic Command Set User Manual ndDiagnosticSer vice Purpose Executes a generic diagnostic service. If a sp ecial service is not a v ailable through the KWP2000, UDS, or OBD service functions, you can build it using this function. Format l[...]

  • Page 184

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-20 ni.com Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the function did not perform the expect[...]

  • Page 185

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-21 Autom otive Diagnostic Command Set User Manual ndDTCT oString Purpose Returns a string representation (such as P1234 ) for a 2-byte diagnostic trouble code (DTC). Format void ndDTCToString( unsigned long DTCNum, char DTCString[], long *len); Input DTCNum[...]

  • Page 186

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-22 ni.com ndGetProperty Purpose Gets a diagnostic global internal parameter . Format void ndGetProperty( unsigned short propertyID, unsigned long *propertyValue); Input propertyID Define s the parameter whose v alue is to be retrie ved: 0 Timeout[...]

  • Page 187

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-23 Autom otive Diagnostic Command Set User Manual 8 Fill CAN Frames returns whether a CAN frame is transmit ted with 8 bytes or less. 0: Short CAN frames are sent with DLC < 8 (default). 1: Short CAN frames are f illed to 8 b ytes wit h Fill Byte (necess[...]

  • Page 188

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-24 ni.com ndOBDOpen Purpose Opens a diagnostic session on a CAN port for OBD-II. Format long ndOBDOpen ( char CANInterface[], unsigned long baudrate, unsigned long transmitID, unsigned long receiveID, TD1 *diagRefOut); Input CANInterface Specifie[...]

  • Page 189

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-25 Autom otive Diagnostic Command Set User Manual Description ndOBDOpen opens a diagnostic communication ch annel to an ECU for OBD-II. The CAN port specified as input is initialized, and a handle to it is stored (among other internal data) into the diagRef[...]

  • Page 190

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-26 ni.com ndOpenDiagnostic Purpose Opens a diagnostic session on a CAN port . Communication to the ECU is not yet started. Format long ndOpenDiagnostic( char CANInterface[], unsigned long baudrate, unsigned short transportProtocol, unsigned long [...]

  • Page 191

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-27 Autom otive Diagnostic Command Set User Manual Output diagRefOut A struct co ntaining all n ecessary informatio n about the d iagnostic session. This is p assed as a handle to all subsequent diagnostic functions, and you must close it using ndCloseDiagno[...]

  • Page 192

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-28 ni.com ndSetProperty Purpose Sets a diagnostic global internal parameter . Format void ndSetProperty( unsigned short propertyID, unsigned long propertyValue); Input propertyID Define s the parameter whose v alue is to be mo difi ed: 0 Timeout [...]

  • Page 193

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-29 Autom otive Diagnostic Command Set User Manual 8 Fill CAN Frames specifies whether a CAN frame is transmitted with 8 bytes or less. 0: Short CAN frames are sent with DLC < 8 (default). 1: Short CAN frames are f illed to 8 b ytes wit h Fill Byte (neces[...]

  • Page 194

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-30 ni.com ndStatusT oString Purpose Returns a description for an error code. Format void ndStatusToString( long errorCode, char message[], long *len); Input errorCode The status code (return v alue) of any other diagnostic functions. Output messa[...]

  • Page 195

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-31 Autom otive Diagnostic Command Set User Manual Status Code Use The application code should check the status return ed from e very Automotiv e Diagnostic Command Set function. If an er ror is detected, close all Auto m otiv e Diagnostic Command Set handle[...]

  • Page 196

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-32 ni.com ndVWTPConnect Purpose Establishes a connect ion channel to an ECU using the VW TP 2.0. Format long ndVWTPConnect( TD1 *diagRef, unsigned long channelID, unsigned char applicationType); Input diagRef Specifies the diagnostic session hand[...]

  • Page 197

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-33 Autom otive Diagnostic Command Set User Manual Description For the VW TP 2.0, you must establish a connection to the ECU before any diagnostic communication can occur . This function sets up a unique communicatio n channel to an ECU that you can use in s[...]

  • Page 198

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-34 ni.com ndVWTPConnectionT est Purpose Maintains a connection channel to an ECU using the VW TP 2.0. Format long ndVWTPConnectionTest( TD1 *diagRef); Input diagRef Specifies the diagnostic session handle, obtained from ndOpenDiagnostic and passe[...]

  • Page 199

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-35 Autom otive Diagnostic Command Set User Manual ndVWTPDisconnect Purpose T erminates a conn ection channel to an ECU using the VW TP 2.0. Format long ndVWTPDisconnect( TD1 *diagRef); Input diagRef Specifies the diagnostic session handle, ob tained from nd[...]

  • Page 200

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-36 ni.com KWP2000 Ser vices ndClearDiagnosticInformation Purpose Executes the ClearDiagnosticInformation service. Clears select ed Diagnostic Trouble Codes (DTCs). Format long ndClearDiagnosticInformation( TD1 *diagRef, unsigned short groupOfDTC,[...]

  • Page 201

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-37 Autom otive Diagnostic Command Set User Manual Description This function clears the diagnost ic information on th e ECU memory . groupOfDTC specifies the type of diagnostic trouble cod es to be cleared on the ECU memory . For further details about this s[...]

  • Page 202

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-38 ni.com ndControlDTCSetting Purpose Executes the ControlDTCSetting service. Modifi es the generation behavior of selected Diagnostic Trouble Codes (DTCs). Format long ndControlDTCSetting( TD1 *diagRef, unsigned short groupOfDTC, unsigned char d[...]

  • Page 203

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-39 Autom otive Diagnostic Command Set User Manual Output success Indicates successful receipt of a positi ve re sponse mes sage for this diagnostic service. Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero[...]

  • Page 204

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-40 ni.com ndDisableNormalMessageT ransmission Purpose Executes the Dis ableNormalMessageT ransmission service. The ECU no longer transmits its regular communication message s (usually CAN messages). Format long ndDisableNormalMessageTransmiss ion[...]

  • Page 205

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-41 Autom otive Diagnostic Command Set User Manual ndECUReset Purpose Executes the ECUReset service. Resets the ECU. Format long ndECUReset( TD1 *diagRef, unsigned char mode, LVBoolean *success); Input diagRef Specifies the diagnostic session handle, ob tain[...]

  • Page 206

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-42 ni.com Output success Indicates successful receipt of a positi ve re sponse mes sage for this diagnostic service. Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed [...]

  • Page 207

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-43 Autom otive Diagnostic Command Set User Manual ndEnableNormalMessageT ransmission Purpose Executes the EnableNormalMessage T ransmission service. The ECU starts transmitting it s regular communication message s (usually CAN messages). Format long ndEnabl[...]

  • Page 208

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-44 ni.com ndInputOutputContro lByLocalIdentifier Purpose Executes the InputOutputControlByLocalIden tif ier service. Modifies the ECU I/O port behavior . Format long ndInputOutputControlByLocalIden tifier( TD1 *diagRef, unsigned char localID, uns[...]

  • Page 209

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-45 Autom otive Diagnostic Command Set User Manual Output dataOut Returns application-specific data for this service. len2 On input, len2 must contain the dataOut array length. On return, it contains the number of v alid data bytes in the dataOut array . suc[...]

  • Page 210

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-46 ni.com ndReadDataByLocalIdentifier Purpose Executes the ReadDataByLocalIdentif ier service. Reads an ECU data record. Format long ndReadDataByLocalIdentifier( TD1 *diagRef, unsigned char localID, unsigned char dataOut[], long *len, LVBoolean *[...]

  • Page 211

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-47 Autom otive Diagnostic Command Set User Manual Description This function requests data record v alues from the ECU identified by the localID parameter . For further details about this service, refer to the ISO 14230-3 standard.[...]

  • Page 212

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-48 ni.com ndReadDTCByStatus Purpose Executes the ReadDiagnosticT roubleCodesByStatus service. Reads selected Diagnostic T rouble Codes (DTCs). Format long ndReadDTCByStatus( TD1 *diagRef, unsigned char mode, unsigned short groupOfDTC, TD3 *DTCDes[...]

  • Page 213

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-49 Autom otive Diagnostic Command Set User Manual DTCDescriptor A struct that describes the DTC records the ECU deli vers: typedef struct { long DTCByteLength; long StatusByteLength; long AddDataByteLength; unsigned short ByteOrder; } TD3; DTCByteLength ind[...]

  • Page 214

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-50 ni.com 6 testNotCompletedThisMonitori ngCycle 7 warningIndicatorRequested AddData contains optional additional data for this DTC. Usually , this does no t contain valid information (refer to DTCDescriptor ). len On input, len must contain the [...]

  • Page 215

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-51 Autom otive Diagnostic Command Set User Manual ndReadECUIdentification Purpose Executes the ReadECUIdentification servi ce. Returns ECU identif ication data. Format long ndReadECUIdentification( TD1 *diagRef, unsigned char mode, unsigned char dataOut[], [...]

  • Page 216

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-52 ni.com Description This function requests id entification data from the ECU. mode identif ies the type of identification data requested. The ECU returns identi fication data that dataOut can access. The dataOut format and definition are v e hi[...]

  • Page 217

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-53 Autom otive Diagnostic Command Set User Manual ndReadMemor yByAddress Purpose Executes the ReadMemoryBy Address servi ce. Reads data from the ECU memory . Format long ndReadMemoryByAddress( TD1 *diagRef, unsigned long address, unsigned char size, unsigne[...]

  • Page 218

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-54 ni.com Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the function did not perform the expect[...]

  • Page 219

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-55 Autom otive Diagnostic Command Set User Manual ndReadStatusOfDTC Purpose Executes the ReadStatusOfDiagnosticT roubleCo des service. Reads selected Diagnostic T rouble Codes (DTCs). Format long ndReadStatusOfDTC( TD1 *diagRef, unsigned short groupOfDTC, T[...]

  • Page 220

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-56 ni.com StatusByteLength indicates the number of b ytes the ECU sends for each DTC’ s status. The def ault i s 1. AddDataByteLength indicates the number of b yte s the ECU sends for each DTC’ s additional data. Usually , there are no additi[...]

  • Page 221

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-57 Autom otive Diagnostic Command Set User Manual len On input, len must contain the DTCs array length in elements. On return, it contains the number of valid elements in the DTCs array . success Indicates successful receipt of a positi ve re sponse mes sag[...]

  • Page 222

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-58 ni.com ndRequestRoutineRes ultsByLocalIdentifier Purpose Executes the RequestRoutineResultsByLocalIdenti f ier service. Returns results from an ECU routine. Format long ndRequestRoutineResultsByLocalI dentifier( TD1 *diagRef, unsigned char loc[...]

  • Page 223

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-59 Autom otive Diagnostic Command Set User Manual Description This function request s results (for example, exit status information) referenced by localID and generated by the routine e xecuted in the ECU memory . For further details about this service, ref[...]

  • Page 224

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-60 ni.com ndRequestSeed Purpose Executes the Security Access service to retrie ve a seed from the ECU. Format long ndRequestSeed( TD1 *diagRef, unsigned char accessMode, unsigned char seedOut[], long *len, LVBoolean *success); Input diagRef Speci[...]

  • Page 225

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-61 Autom otive Diagnostic Command Set User Manual Description The usual procedure for getting a security access to the ECU is as follows: 1. Request a seed from the ECU using ndRequestSeed with access mode = n . 2. From the seed, compute a ke y for the ECU [...]

  • Page 226

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-62 ni.com ndSendKey Purpose Executes the Security Access service to send a ke y to the ECU. Format long ndSendKey( TD1 *diagRef, unsigned char accessMode, unsigned char keyIn[], long len, LVBoolean *success); Input diagRef Specifies the diagnosti[...]

  • Page 227

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-63 Autom otive Diagnostic Command Set User Manual Description The usual procedure for getting a security access to the ECU is as follows: 1. Request a seed from the ECU using ndRequestSeed with access mode = n . 2. From the seed, compute a ke y for the ECU [...]

  • Page 228

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-64 ni.com ndStartDiagnosticSession Purpose Executes the StartDiagnosticSession service. The ECU is set up in a specific diagnostic mode. Format long ndStartDiagnosticSession( TD1 *diagRef, unsigned char mode, LVBoolean *success); Input diagRef Sp[...]

  • Page 229

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-65 Autom otive Diagnostic Command Set User Manual Description This function enables different ECU diagnosti c modes. The possible diagnosti c modes are not defined in ISO 14230 and are application specific. A diagnostic session starts onl y if communication[...]

  • Page 230

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-66 ni.com ndStartRoutineB yLocalIdentifier Purpose Executes the StartRoutineByLo calIdentif ier service. Execu tes a routine on the ECU. Format long ndStartRoutineByLocalIdentifier ( TD1 *diagRef, unsigned char localID, unsigned char dataIn[], lo[...]

  • Page 231

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-67 Autom otive Diagnostic Command Set User Manual Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the functi[...]

  • Page 232

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-68 ni.com ndStopDiagnosticSession Purpose Executes the StopDiagnosticSession service. Returns the ECU to normal mode. Format long ndStopDiagnosticSession( TD1 *diagRef, LVBoolean *success); Input diagRef Specifies the diagnostic session handle, o[...]

  • Page 233

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-69 Autom otive Diagnostic Command Set User Manual ndStopRoutineByLocalIdentifier Purpose Executes the StopRoutineByLocalIdentif ier service. Stops a routine on the ECU. Format long ndStopRoutineByLocalIdentifier( TD1 *diagRef, unsigned char localID, unsigne[...]

  • Page 234

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-70 ni.com Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the function did not perform the expect[...]

  • Page 235

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-71 Autom otive Diagnostic Command Set User Manual ndT esterPresent Purpose Executes the T esterPresent service. Keeps the ECU in diagnostic mode. Format long ndTesterPresent( TD1 *diagRef, LVBoolean *requireResponse, LVBoolean *success); Input diagRef Speci[...]

  • Page 236

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-72 ni.com The T esterPresent service is this “keep aliv e” signal. It does not af fect any other ECU operation. Keep calling ndT esterPresent within the ECU timeout period if no other ser vice is ex ecuted.[...]

  • Page 237

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-73 Autom otive Diagnostic Command Set User Manual ndWriteDataByLocalIdentifier Purpose Executes the WriteDataByLocalIdentif ier serv ice. Writes a data record to the ECU. Format long ndWriteDataByLocalIdentifier( TD1 *diagRef, unsigned char localID, unsigne[...]

  • Page 238

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-74 ni.com Description This function performs the WriteDataByLocal Identif ier service and writes RecordV alues (data values) to the ECU. dataIn identifies the data v alues to be transmitted. The vehicle manufacturer must ensure the ECU conditions[...]

  • Page 239

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-75 Autom otive Diagnostic Command Set User Manual ndWriteMemoryByAddress Purpose Executes the WriteMemoryBy Address servi ce. Writes data to the ECU memory . Format long ndWriteMemoryByAddress( TD1 *diagRef, unsigned long address, unsigned char size, unsign[...]

  • Page 240

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-76 ni.com did not perform the expected behavior . A po sitiv e v alue specifies a warning, which means the function performed as expected, but a condition arose that may require attention. Use the ndStatusToString function to obtain a descriptive[...]

  • Page 241

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-77 Autom otive Diagnostic Command Set User Manual UDS (DiagOnCAN) Ser vices ndUDSClearDiagnosticInformation Purpose Executes the UDS ClearDiagnostic Information service. Clears selected Diagnostic T rouble Codes (DTCs). Format long ndUDSClearDiagnosticInfor[...]

  • Page 242

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-78 ni.com Description This function clears the diagnostic inform ation on the ECU memory . Depending on th e value of groupOfDTC , the ECU is requested to clear the corresponding DTCs. The groupOfDTC v alues are application specific. For further [...]

  • Page 243

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-79 Autom otive Diagnostic Command Set User Manual ndUDSCommunicationControl Purpose Executes the UDS CommunicationC ontrol service. Switches tran smission and/or reception of the normal communicatio n messages (usually CAN messages) on or off. Format long n[...]

  • Page 244

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-80 ni.com did not perform the expected behavior . A po sitiv e v alue specifies a warning, which means the function performed as expected, but a condition arose that may require attention. Use the ndStatusToString function to obtain a descriptive[...]

  • Page 245

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-81 Autom otive Diagnostic Command Set User Manual ndUDSControlDTCSetting Purpose Executes the UDS ControlDTCSett ing service. Modifies Diagnostic Tr ouble Code (DTC) behavior . Format long ndUDSControlDTCSetting( TD1 *diagRef, unsigned char type, unsigned c[...]

  • Page 246

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-82 ni.com ndUDSDiagnosticSessionControl Purpose Executes the UDS DiagnosticSessionControl se rvice. The EC U is set up in a specific diagnostic mode. Format long ndUDSDiagnosticSessionControl( TD1 *diagRef, unsigned char mode, LVBoolean *success)[...]

  • Page 247

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-83 Autom otive Diagnostic Command Set User Manual ndUDSECUReset Purpose Executes the UDS ECUReset service. Resets the ECU. Format long ndUDSECUReset( TD1 *diagRef, unsigned char mode, LVBoolean *success); Input diagRef Specifies the diagnostic session handl[...]

  • Page 248

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-84 ni.com Description This function re quests the ECU to perform an ECU reset effecti vely based on the mode parameter v alue content. The vehicle manufact urer determines when the positi ve response message is sent. Depending the value of mode ,[...]

  • Page 249

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-85 Autom otive Diagnostic Command Set User Manual ndUDSInputOutputControlByIdentifier Purpose Executes the UDS InputOutputControlByIdentifier service. Modifies ECU I/O port behavior . Format long ndUDSInputOutputControlByIdenti fier( TD1 *diagRef, unsigned [...]

  • Page 250

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-86 ni.com Output dataOut Returns application-specific data for this service. len2 On input, len2 must contain the dataOut array lengt h. On return, it contains the nu mber of v alid data bytes in the dataOut array . success Indicates successful r[...]

  • Page 251

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-87 Autom otive Diagnostic Command Set User Manual ndUDSReadDataByIdentifier Purpose Executes the UDS ReadDataBy Identif ier service. Reads an ECU data record. Format long ndUDSReadDataByIdentifier( TD1 *diagRef, unsigned short ID, unsigned char dataOut[], l[...]

  • Page 252

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-88 ni.com Description This function requests data record v alues from the ECU identified by the ID parameter . For further details about this service, refer to the ISO 15765-3 standard.[...]

  • Page 253

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-89 Autom otive Diagnostic Command Set User Manual ndUDSReadMemor yByAddress Purpose Executes the UDS ReadMemoryBy Address serv ice. Reads data from the ECU memory . Format long ndUDSReadMemoryByAddress( TD1 *diagRef, unsigned long address, unsigned char siz[...]

  • Page 254

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-90 ni.com Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the function did not perform the expect[...]

  • Page 255

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-91 Autom otive Diagnostic Command Set User Manual ndUDSReportDTCBySeverityMaskRecord Purpose Executes the ReportDTCBySe verityMaskRecord subfunction of the UDS ReadDiagnosticTroubleCodeInformation service. Reads selected Diagnostic Tr ouble Codes (DTCs). Fo[...]

  • Page 256

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-92 ni.com AddDataByteLength indicates the number of b yte s the ECU sends for each DTC’ s additional data. For this subfunction, the default is 2. ByteOrder indicates the byte ordering for multib yte items: 0: MSB_FIRST (Motorola), default 1: L[...]

  • Page 257

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-93 Autom otive Diagnostic Command Set User Manual len On input, len must contain the DTCs array length in elements. On return, it contains the number of valid elements in the DTCs array . success Indicates successful receipt of a positi ve re sponse mes sag[...]

  • Page 258

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-94 ni.com ndUDSReportDTCByStatusMask Purpose Executes the ReportDTCByStatusMask subfunction of the UDS ReadDiagnosticTroubleCodeInformation service. Reads selected Diagnostic T rouble Codes (DTCs). Format long ndUDSReportDTCByStatusMask( TD1 *dia[...]

  • Page 259

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-95 Autom otive Diagnostic Command Set User Manual ByteOrder indicates the byte ordering for multib yte items: 0: MSB_FIRST (Motorola), default 1: LSB_FIRST (Intel) This function interprets the response byte stream according to this description and returns t[...]

  • Page 260

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-96 ni.com Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the function did not perform the expect[...]

  • Page 261

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-97 Autom otive Diagnostic Command Set User Manual ndUDSReportSeverityInformationOfDTC Purpose Executes the ReportSe v erityInformat ionOfDTC subfunction of the UDS ReadDiagnosticTroubleCodeInformation service. Reads selected Diagnostic Tr ouble Codes (DTCs)[...]

  • Page 262

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Comma nd Set User Manual 6-98 ni.com ByteOrder indicates the byte ordering for multib yte items: 0: MSB_FIRST (Motorola), default 1: LSB_FIRST (Intel) This function interprets the response byte stream according to this description and returns the resulting DTC recor ds in [...]

  • Page 263

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-99 Autom otive Diagnostic Command Set User Manual Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the functi[...]

  • Page 264

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-100 ni.com ndUDSReportSupportedDTCs Purpose Executes the ReportSupportedDTCs subfunction of the UDS ReadDiagnosticTroubleCodeInformation service. Reads all suppo rted Diagnostic Trouble Codes (DTCs). Format long ndUDSReportSupportedDTCs( TD1 *diag[...]

  • Page 265

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-101 Automotive Diagnostic Command Set User Manual ByteOrder indicates the byte ordering for multib yte items: 0: MSB_FIRST (Motorola), default 1: LSB_FIRST (Intel) This function interprets the response byte stream according to this description and returns t[...]

  • Page 266

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-102 ni.com Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the function did not perform the expect[...]

  • Page 267

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-103 Automotive Diagnostic Command Set User Manual ndUDSRequestSeed Purpose Executes the UDS Security Access service to retriev e a seed from the ECU. Format long ndUDSRequestSeed( TD1 *diagRef, unsigned char accessMode, unsigned char seedOut[], long *len, L[...]

  • Page 268

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-104 ni.com Description The usual procedure for getting a security access to the ECU is as follows: 1. Request a seed from the ECU using ndUDSRequestSeed with access mode = n . 2. From the seed, compute a ke y for the ECU on the host. 3. Send the k[...]

  • Page 269

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-105 Automotive Diagnostic Command Set User Manual ndUDSRoutineControl Purpose Executes the UDS RoutineControl serv ice. Ex ecutes a routine on the ECU. Format long ndUDSRoutineControl( TD1 *diagRef, unsigned short ID, unsigned char mode, unsigned char dataI[...]

  • Page 270

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-106 ni.com Output dataOut Returns application-specific output parameters from the routine. len2 On input, len2 must contain the dataOut array lengt h. On return, it contains the nu mber of v alid data bytes in the dataOut array . success Indicates[...]

  • Page 271

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-107 Automotive Diagnostic Command Set User Manual ndUDSSendKey Purpose Executes the UDS Security Access serv ice to send a key to the ECU. Format long ndUDSSendKey( TD1 *diagRef, unsigned char accessMode, unsigned char keyIn[], long len, LVBoolean *success)[...]

  • Page 272

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-108 ni.com Description The usual procedure for getting a security access to the ECU is as follows: 1. Request a seed from the ECU using ndUDSRequestSeed with access mode = n . 2. From the seed, compute a ke y for the ECU on the host. 3. Send the k[...]

  • Page 273

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-109 Automotive Diagnostic Command Set User Manual ndUDST esterPresent Purpose Executes the UDS T esterPresent service. Keeps the ECU in diagnostic mode. Format long ndUDSTesterPresent( TD1 *diagRef, LVBoolean *requireResponse, LVBoolean *success); Input dia[...]

  • Page 274

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-110 ni.com The T esterPresent service is this “keep aliv e” signal. It does not af fect any other ECU operation. Keep calling ndU DSTesterPresent within the ECU tim eout period if no other service is ex ecuted.[...]

  • Page 275

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-111 Automotive Diagnostic Command Set User Manual ndUDSWriteDataByIdentifier Purpose Executes the UDS WriteDataByIdentif ier serv ice. Writes a data record to the ECU. Format long ndUDSWriteDataByIdentifier( TD1 *diagRef, unsigned short ID, unsigned char da[...]

  • Page 276

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-112 ni.com Description This function performs the UDS service Write DataByIdentifier and writes RecordV alues (data v alues) into the ECU. dataIn identif ies the data. The v ehicle manufacturer must ensure the ECU conditions are met when performin[...]

  • Page 277

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-113 Automotive Diagnostic Command Set User Manual ndUDSWriteMemor yByAddress Purpose Executes the UDS WriteMemoryBy Address serv i ce. Writes data to the ECU memory . Format long ndUDSWriteMemoryByAddress( TD1 *diagRef, unsigned long address, unsigned char [...]

  • Page 278

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-114 ni.com did not perform the expected behavior . A po sitiv e v alue specifies a warning, which means the function performed as expected, but a condition arose that may require attention. Use the ndStatusToString function to obtain a descriptive[...]

  • Page 279

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-115 Automotive Diagnostic Command Set User Manual OBD (On-Board Diagnostics) Ser vices ndOBDClearEmissionRelat edDiagnosticInformation Purpose Executes the OBD Clear Emission Related Diagnostic Informatio n service. Clears emission-related diagnostic troubl[...]

  • Page 280

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-116 ni.com ndOBDRequestControlOfOnBoardDevice Purpose Executes the OBD Request Control Of On-Boa rd Device service. Modifies ECU I/O port behavior . Format long ndOBDRequestControlOfOnBoardDev ice( TD1 *diagRef, unsigned char TID, unsigned char da[...]

  • Page 281

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-117 Automotive Diagnostic Command Set User Manual Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the functi[...]

  • Page 282

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-118 ni.com ndOBDRequestCurrentPowertrainDiagnosticData Purpose Executes the OBD Request Current Po wertrain Di agnostic Data servic e. Reads an ECU data record. Format long ndOBDRequestCurrentPowertrainDi agnosticData( TD1 *diagRef, unsigned char [...]

  • Page 283

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-119 Automotive Diagnostic Command Set User Manual Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the functi[...]

  • Page 284

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-120 ni.com ndOBDRequestEmissionRelatedDTCs Purpose Executes the OBD Request Emission Related DT Cs service. Reads al l emission-related Diagnostic Trouble Codes (DTCs). Format long ndOBDRequestEmissionRelatedDTCs ( TD1 *diagRef, TD3 *DTCDescriptor[...]

  • Page 285

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-121 Automotive Diagnostic Command Set User Manual Output DTCs Returns the resulting DTCs as an array of structs: typedef struct { unsigned long DTC; unsigned long Status; unsigned long AddData; } TD4; DTC is the resulting Diagnostic Trouble Code. F or the d[...]

  • Page 286

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-122 ni.com ndOBDRequestEmissionRelatedD TCsDuringCurrentDriveCycle Purpose Executes the OBD Request Emission Related DT Cs During Current Dri ve Cycle service. Reads the emission-related Diagnostic T roubl e Codes (DTCs) that occurred during the c[...]

  • Page 287

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-123 Automotive Diagnostic Command Set User Manual Output DTCs Returns the resulting DTCs as an array of structs: typedef struct { unsigned long DTC; unsigned long Status; unsigned long AddData; } TD4; DTC is the resulting Diagnostic Trouble Code. F or the d[...]

  • Page 288

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-124 ni.com ndOBDRequestOnBoardMo nitoringT estResults Purpose Executes the OBD Request On-Board Monitorin g T est Results service. Reads an ECU test data record. Format long ndOBDRequestOnBoardMonitoringTe stResults( TD1 *diagRef, unsigned char OB[...]

  • Page 289

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-125 Automotive Diagnostic Command Set User Manual Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the functi[...]

  • Page 290

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-126 ni.com ndOBDRequestPowertrainFreezeFrameData Purpose Executes the OBD Request Po wert rain Freeze Frame Data service. Reads an ECU data record stored while a diagnostic trouble code occurred. Format long ndOBDRequestPowertrainFreezeFra meData([...]

  • Page 291

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-127 Automotive Diagnostic Command Set User Manual Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the functi[...]

  • Page 292

    Chapter 6 Automotive Diagnosti c Command Set API for C Automotive Diagnostic Command Set User Manual 6-128 ni.com ndOBDRequestV ehicleInformation Purpose Executes the OBD Request V ehicle Information se rvice. Reads a set of infor mation data from the ECU. Format long ndOBDRequestVehicleInformation( TD1 *diagRef, unsigned char infoType, unsigned ch[...]

  • Page 293

    Chapter 6 Automotive Diagnost ic Command Set API for C © National Instruments Corporation 6-129 Automotive Diagnostic Command Set User Manual Return V alue The return value indicates the f unction call status as a signed 32-bit integer . Zero means the function executed successfully . A negati ve v alue specifi es an error , which means the functi[...]

  • Page 294

    © National Instruments Corpor ation A-1 Automotive Diagnost ic Command Set User Manual A T echnical Support and Professional Ser vices Visit the following sections of the National Instruments Web site at ni.com for technical support an d professional services: • Support —Online technical support resources at ni.com/support include the followin[...]

  • Page 295

    © National Instruments Corpor ation I-1 Automotive Diagnost ic Command Set User Manual Index A application debugging, 3-3 application development, 3-1 Automotiv e Diagnostic Command Set API C, 6-1 LabVIEW, 5-1 API structure, 4-2 application dev elopment, 3-1 av ailable diagnostic services, 4-4 choosing a programm ing language, 3-1 configuration, 2[...]

  • Page 296

    Index Automotive Diagnostic Comma nd Set User Manual I-2 ni.com ndOBDRequestContro lOfOnBoard Device, 6-116 ndOBDRequestCurrentPowertrain DiagnosticData, 6-118 ndOBDRequestEmissionRelat edDTCs, 6-120 ndOBDRequestEmissionRelat edDTCs DuringCurrentDriv eCycle, 6-122 ndOBDRequestOnBoa rdMonitoringT est Results, 6-124 ndOBDRequestPowertrainFreeze Frame[...]

  • Page 297

    Index © National Instruments Corpor ation I-3 Automotive Diagnost ic Command Set User Manual diagnostic services KWP2000, 1-2 UDS, 1-5 diagnostic services av ailable, 4-4 diagnostic tools (NI resources), A-1 Diagnostic Trouble Codes KWP2000, 1-4 DisableNormalMessageTransmission.vi, 5-38 documentation con v entions used in manual, xi NI resources, [...]

  • Page 298

    Index Automotive Diagnostic Comma nd Set User Manual I-4 ni.com DisableNormalMessageTransmission.vi, 5-38 DTC to String.vi, 5-21 ECUReset.vi, 5-40 EnableNormalMessageT ransmission.vi, 5-42 general functions, 5-8 InputOutputControlBy LocalIdentifier .vi, 5-44 KWP2000 services, 5-32 list of VIs, 5-2 OBD (On-Board Diagnostics) services, 5-119 OBD Clea[...]

  • Page 299

    Index © National Instruments Corpor ation I-5 Automotive Diagnost ic Command Set User Manual N National Instruments support and services, A-1 ndClearDiagnosticIn formation, 6-36 ndCloseDiagnostic, 6-12 ndControlDTCSetting, 6-38 ndCon vertFromPh ys, 6-13 ndCon vertT oPhys, 6-15 ndCreateExtendedCANIds, 6-17 ndDiagnosticService, 6-19 ndDisableNormalM[...]

  • Page 300

    Index Automotive Diagnostic Comma nd Set User Manual I-6 ni.com OBD Clear Emission Related Diag nostic Information.vi, 5-119 OBD Open.vi, 5-22 OBD Request Control Of On-Board Device.vi, 5-121 OBD Request Current Powertrain Diagnostic Data.vi, 5-123 OBD Request Emission Related DTCs During Current Dri ve Cycle.vi, 5-128 OBD Request Emission Related [...]

  • Page 301

    Index © National Instruments Corpor ation I-7 Automotive Diagnost ic Command Set User Manual UDS ReportDTCBySev eri tyMaskRecord.vi, 5-95 UDS ReportDTCByStatusMask.vi, 5-98 UDS ReportSe verityInformationOfDTC.vi, 5-101 UDS ReportSupportedDTCs.vi, 5-104 UDS RequestSeed.vi, 5-107 UDS RoutineControl.vi, 5-109 UDS SendKe y .vi, 5-111 UDS T esterPresen[...]