1、raising standards worldwideNO COPYING WITHOUT BSI PERMISSION EXCEPT AS PERMITTED BY COPYRIGHT LAWBSI Standards PublicationRoad vehicles Modular vehicle communication interface (MVCI) Part 3: Diagnostic server application programming interface (D-Server API)BS ISO 22900-3:2012National forewordThis Br
2、itish Standard is the UK implementation of ISO 22900-3:2012. It supersedes BS ISO 22900-3:2009, which is withdrawn.The UK participation in its preparation was entrusted to Technical Committee AUE/16, Electrical and electronic equipment.A list of organizations represented on this committee can be obt
3、ained on request to its secretary.This publication does not purport to include all the necessary provisions of a contract. Users are responsible for its correct application. The British Standards Institution 2012.Published by BSI Standards Limited 2012.ISBN 978 0 580 71528 0 ICS 43.040.15Compliance
4、with a British Standard cannot confer immunity from legal obligations.This British Standard was published under the authority of the Standards Policy and Strategy Committee on 31 December 2012.Amendments issued since publicationAmd. No. Date Text affectedBRITISH STANDARDBS ISO 22900-3:2012Reference
5、numberISO 22900-3:2012(E)ISO 2012INTERNATIONAL STANDARD ISO22900-3Second edition2012-12-01Road vehicles Modular vehicle communication interface (MVCI) Part 3: Diagnostic server application programming interface (D-Server API) Vhicules routiers Interface de communication modulaire du vhicule (MVCI) P
6、artie 3: Interface pour la programmation des applications du serveur de diagnostic (D-Server API) BS ISO 22900-3:2012ISO 22900-3:2012(E) COPYRIGHT PROTECTED DOCUMENT ISO 2012 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by
7、any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISOs member body in the country of the requester. ISO copyright office Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mai
8、l copyrightiso.org Web www.iso.org Published in Switzerland ii ISO 2012 All rights reservedBS ISO 22900-3:2012ISO 22900-3:2012(E) ISO 2012 All rights reserved iiiContents Page Foreword . v Introduction vi 1 Scope 1 2 Normative references 1 3 Terms, definitions, symbols and abbreviated terms . 1 3.1
9、Terms and definitions . 1 3.2 Symbols 3 3.3 Abbreviated terms . 4 4 Conventions . 5 4.1 General . 5 4.2 Typographical conventions and mnemonics . 5 4.3 Sequence diagrams . 6 4.4 Stereotypes 6 5 Specification release version information 6 6 Structure of a MVCI diagnostic server 6 7 Diagnostic server
10、10 7.1 MCD system object . 10 7.2 Description of terms 11 7.3 Version information retrieval . 16 7.4 States of the MCD system 16 7.5 State changes 19 7.6 Project configuration 19 7.7 Interface structure of server API 21 7.8 Collections . 46 7.9 Registering/deregistering of the EventHandler 50 7.10 M
11、CD value 51 7.11 Use cases . 54 8 Function block Diagnostic in detail . 60 8.1 Constraints . 60 8.2 System Properties . 70 8.3 Diagnostic DiagComPrimitives and Services . 71 8.4 Suppress positive response 101 8.5 eEND_OF_PDU as RequestParameter 102 8.6 Variable length parameters 104 8.7 Variant iden
12、tification . 106 8.8 Use cases . 117 8.9 Read DTC . 135 8.10 Logical Link 144 8.11 Functional addressing 156 8.12 Tables . 158 8.13 Dynamically Defined Identifiers (DynId) 168 8.14 Internationalization 179 8.15 Special Data Groups . 179 8.16 ECU (re-) programming . 181 8.17 Handling binary flash dat
13、a . 188 8.18 Library. 190 8.19 Jobs 191 8.20 ECU configuration . 212 BS ISO 22900-3:2012ISO 22900-3:2012(E) iv ISO 2012 All rights reserved8.21 Audiences and additional audiences . 229 8.22 ECU states . 231 8.23 Function dictionary 234 8.24 Sub-Component data model description . 242 8.25 Monitoring
14、vehicle bus traffic 244 8.26 Support of VCI module selection and other VCI module features according to ISO 22900-2 246 8.27 Handling DoIP entities 255 8.28 Mapping of D-PDU API methods . 258 9 Error Codes . 263 9.1 Principle . 263 9.2 Description of the errors 265 Annex A (normative) Value reading
15、and setting by string . 267 A.1 Datatype conversion into Unicode2 string 267 A.2 Representation floating numbers . 267 A.3 Normalized floating-point numbers 268 Annex B (normative) System parameter 269 B.1 Overview 269 B.2 Description of the system parameters . 270 Annex C (normative) Overview optio
16、nal functionalities 272 Annex D (informative) Monitoring message format 278 D.1 General . 278 D.2 CAN format 278 D.3 K-Line Format 279 D.4 DoIP Format . 280 Bibliography . 281 BS ISO 22900-3:2012ISO 22900-3:2012(E) ISO 2012 All rights reserved vForeword ISO (the International Organization for Standa
17、rdization) is a worldwide federation of national standards bodies (ISO member bodies). The work of preparing International Standards is normally carried out through ISO technical committees. Each member body interested in a subject for which a technical committee has been established has the right t
18、o be represented on that committee. International organizations, governmental and non-governmental, in liaison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization. International Sta
19、ndards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of technical committees is to prepare International Standards. Draft International Standards adopted by the technical committees are circulated to the member bodies for voting. Publication as an In
20、ternational Standard requires approval by at least 75 % of the member bodies casting a vote. Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO shall not be held responsible for identifying any or all such patent rights. ISO 2290
21、0-3 was prepared by Technical Committee ISO/TC 22, Road vehicles, Subcommittee SC 3, Electrical and electronic equipment. This second edition cancels and replaces the first edition (ISO 22900-3:2009), which has been technically revised. ISO 22900 consists of the following parts, under the general ti
22、tle Road vehicles Modular vehicle communication interface (MVCI): Part 1: Hardware design requirements Part 2: Diagnostic protocol data unit application programming interface (D-PDU API) Part 3: Diagnostic server application programming interface (D-Server API) BS ISO 22900-3:2012ISO 22900-3:2012(E)
23、 vi ISO 2012 All rights reservedIntroduction 0.1 Overview This part of ISO 22900 has been established in order to define a universal application programmer interface of a vehicle communication server application. Todays situation in the automotive market requires different vehicle communication inte
24、rfaces for different vehicle OEMs supporting multiple communication protocols. However, until today, many vehicle communication interfaces are incompatible with regard to interoperability with multiple communication applications and vehicle communication protocols. Implementation of the MVCI diagnos
25、tic server concept supports overall cost reduction to the end user because, for example, a single diagnostic or programming application will support many vehicle communication interfaces supporting different communication protocols and different vehicle communication modules of different vendors at
26、one time. A vehicle communication application compliant with this part of ISO 22900 supports a protocol independent D-PDU API (Protocol Data Unit Application Programming Interface) as specified in ISO 22900-2. The server application will need to be configured with vehicle- and ECU-specific informati
27、on. This is accomplished by supporting the ODX data format (Open Diagnostic Exchange format) as specified in ISO 22901-1. A server compliant with this part of ISO 22900 supports the function block Diagnostics (D). A compliant server also supports Job-Language (Java) and may support optional features
28、 like ECU (re)programming. The defined object-oriented API provides for a simple, time saving and efficient interchangeability of different servers. The client application and the communication server do not necessarily need to run on the same computer. A remote use via an interface may also be envi
29、saged and is supported by the design of the server API. This interface is provided for ASAM GDI, COM/DCOM 10Technology Reference COM-IDL, for C+ 11Technology Reference C+ and for Java 12Technology Reference Java. 0.2 ASAM e.V. implementation reference documents This part of ISO 22900 references seve
30、ral ASAM e.V. documents which contain the Technology Reference Mapping Rules for COM-IDL, C+ and Java. The following ASAM documents are relevant for the implementation of this part of ISO 22900: ASAM Technology Reference COM-IDL, COM-IDL Technology Reference Mapping Rules 10: this document describes
31、 the platform, programming language and linking mechanisms for the implementation of the generic object model in COM-IDL. ASAM Technology Reference C+, C+ Technology Reference Mapping Rules 11: this document describes the platform, programming language and linking mechanisms for the implementation o
32、f the generic object model in C+. ASAM Technology Reference Java, Java Technology Reference Mapping Rules 12: this document describes the platform, programming language and linking mechanisms for the implementation of the generic object model in Java. BS ISO 22900-3:2012INTERNATIONAL STANDARD ISO 22
33、900-3:2012(E) ISO 2012 All rights reserved 1Road vehicles Modular vehicle communication interface (MVCI) Part 3: Diagnostic server application programming interface (D-Server API) 1 Scope This part of ISO 22900 focuses on the description of an object-oriented programming interface. The objective is
34、the ability to implement server applications, used during the design, production and maintenance phase of a vehicle communication system, compatible to each other and thus exchangeable. From a users perspective, access and integration of on-board control units is provided by a corresponding applicat
35、ion, the communication server and a VCI module for diagnostics. The user is granted access for the handling of control units (ECUs) in vehicles for the diagnostic services. 2 Normative references The following referenced documents are indispensable for the application of this document. For dated ref
36、erences, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ISO 14229 (all parts), Road vehicles Unified diagnostic services (UDS) ISO 14230-3, Road vehicles Diagnostic systems Keyword protocol 2000 ISO 15765 (all
37、 parts), Road vehicles Diagnostic communication over Controller Area Network (DoCAN) ISO 22901-1, Road vehicles Open diagnostic data exchange (ODX) Part 1: Data model specification ISO 22900-2, Road vehicles Modular vehicle communication interface (MVCI) Part 2: Diagnostic protocol data unit applica
38、tion programming interface (D-PDU API) 3 Terms, definitions, symbols and abbreviated terms 3.1 Terms and definitions For the purposes of this document, the following terms and definitions apply. 3.1.1 AccessKey path identifier through the inheritance hierarchy as defined in ISO 22901-1 ODX to a diag
39、nostic data element BS ISO 22900-3:2012ISO 22900-3:2012(E) 2 ISO 2012 All rights reserved3.1.2 ancestor object parent object located above in the object hierarchy with respect to a given object 3.1.3 descendant object child object object, located below in the object hierarchy with respect to a given
40、 object 3.1.4 FlashJob new class derived from MCDJob which is used to start FlashSessions within the MVCI diagnostic server NOTE This information is provided by the databases. At the runtime object it is possible to set the FlashSession that has to be flashed by this service. Only one session can be
41、 set for one job. The application can access the priority defined in the database for every FlashSession and sort the sessions according to this priority. The job interface of flash jobs (MCDFlashJob) extends the job interface of normal diagnostic jobs (MCDSingleECUJob) by a session object, i.e. its
42、 method prototype is extended as follows: JobName(.,MCDDbFlashSession session) 3.1.5 FlashKey unique identification for a flash session 3.1.6 FlashSessionClass user-defined collection of FlashSessions, which can be used to separate FlashSessions for different tasks (e.g. sessions for data, sessions
43、for boot, or sessions for code and data) 3.1.7 FlashSession smallest unit that can be flashed separately by the MVCI diagnostic server, and which may consist of several data blocks 3.1.8 functional class set of diagnostic services 3.1.9 function dictionary hierarchical function catalog to organize e
44、xternal test equipment user interfaces (available at MCDDbProject): references to one or several ECUs and their diagnostic data content relevant for that function; references to services/jobs to make functions “executable”; definition of function input and output parameters with optional references
45、to parameters of related services 3.1.10 interface connector connector at the vehicles end of the interface cable between the vehicle and the communication device 3.1.11 job sequence of diagnostic services and other jobs with a control flow BS ISO 22900-3:2012ISO 22900-3:2012(E) ISO 2012 All rights
46、reserved 33.1.12 location set of diagnostic data valid on a given hierarchical level of inheritance according to ISO 22901-1 ODX NOTE The following locations exist: Multiple ECU Job, Protocol, Functional Group, ECU Base Variant, ECU Variant. 3.1.13 Logical Link set of data, identifying the physical
47、line, the interface and protocol used for an ECU 3.1.14 physical interface link physical connection between the VCI connector of a VCI and the interface connector 3.1.15 physical link physical vehicle link connected to a physical interface link, so it is the connection from the interface of the diag
48、nostic server to the ECU in the vehicle 3.1.16 physical vehicle link unique bus system in a vehicle, so it is the connection between the vehicle connector and the ECU 3.1.17 priority term used by test systems to decide in which order the sessions have to be flashed 3.1.18 project pool of diagnostic
49、data NOTE References between such data are resolvable inside this same project. 3.1.19 sub component ECU sub functionality or components EXAMPLE LIN-slaves (available at MCDDbLocation). 3.1.20 vehicle connector connector on a vehicle providing access to the bus systems in the vehicle 3.2 Symbols Figure 1 shows the legend of hierarchical models. BS ISO 22900-3:2012ISO 22900-3:2012(E) 4 ISO 2012 All rights reservedcolor print black/white printg