In the table below you will find the icon conventions used throughout the Support Note.
|
|
- Joanna Merritt
- 5 years ago
- Views:
Transcription
1 Author(s) Restrictions Oliver Ernst, Dirk Schwarz Table of contents 1 About this Support Note Overview Configuring the Diagnostic Components of CANoe/CANalyzer About Qualifiers and Short Names Addressing the ECU (DiagSetTarget) Creating and Sending a Request Setting the Parameters of a Request Receiving the response and reading the response parameters Reading the Fault Memory Reading Extended Data Records and Snapshot Data of the Fault Memory Security Access with Seed&Key DLL Diagnostics in Test Modules (CANoe only) Simulating an ECU Using the CAPL Callback Interface (CCI) Sending Functional Requests to more than one ECU Using Services not defined in the Diagnostic Description File (supported since CANoe 8.5) Manipulating Diagnostic Requests and Responses/Fault Injection Contact Information About this Support Note In the table below you will find the icon conventions used throughout the Support Note. Symbol Utilization This icon indicates notes and tips that facilitate your work. This icon gives you step-by-step instructions. This icon indicates examples. 2 Overview This Support Note will show you step by step how to access an ECU using the diagnostic functions of CANoe and (as far as possible) of CANalyzer and how to create tests for the diagnostic components with CANoe using the CAPL programming language. This Support Note will only cover diagnostics on CAN, but aside from the bus specific aspects, diagnostics on FlexRay, LIN, K-Line and DoIP is quite similar. 1
2 This Support Note is intended for CANoe versions older than CANoe 9.0 SP3. For newer versions there will be a separate Support Note containing the differences. There might also be more differences in older versions of CANoe. 3 Configuring the Diagnostic Components of CANoe/CANalyzer If you want to create diagnostic tests or if you want to access the diagnostic data of an ECU with CANoe/CANalyzer, you have to use one of the following methods: > Include available diagnostic description files: > CDD (Vector CANdela diagnostic data) files > ODX (Open Data Exchange) files, in general available as PDX files > MDX (Multiplex Data Exchange) files (Ford) > Basic Diagnostics similar to CDD, but not as flexible and extensive as CDD files. These descriptions have to be created inside CANoe/CANalyzer using the Basic Diagnostics Editor. > Standard CDDs predefined CDD files delivered with CANoe/CANalyzer which contain only quite generic data structures but can be used if no other diagnostic description files are available. All these file types except PDX always contain the data for a single ECU, a PDX file can contain the data elements for more than one ECU. Therefore, you have to select the ECU in this case. In the configuration menu, go to Diagnostics/ISO-TP. and the following dialog box will appear: 2
3 Right-click on the targeted network name and select one of the above mentioned diagnostic description types and select the file (except for basic diagnostics where the Basic Diagnostic Editor will open after closing this dialog box). If you have selected Standard CDDs, you have the following selection: After the selection of the diagnostic description, the diagnostic configuration dialog box will open: You may change the ECU qualifier which is later used in CAPL to address this ECU. You can select the ECU variant to be used and the interface which is a set of communication parameters. In case the CDD/PDX file does not contain a valid or suitable set of these parameters, you can use some 3
4 predefined interfaces for 11 Bit and 29 Bit addressing, for normal fixed addressing (for J1939), extended addressing, etc. see the list below: For using CANoe/CANalyzer as a diagnostic tester, you have to select Diagnostic Tester ( send only ). Each diagnostic device has 3 property pages: > Transport Layer > Diagnostic Layer > Security DLL The transport layer property pages differ according the selected bus type, for CAN it looks like: You can decide whether to use the communication (interface) parameters provided by the CDD/PDX file or to overwrite them and use different values. Depending on the addressing method some or all of these parameters are editable. You can also set the CAN IDs used for (functional or physical) requests and responses. If you have selected one of the predefined interfaces or you have used a Standard CDD or Basic Diagnostics, the override manually setting is automatically checked as you are required to make some settings (like CAN ID). 4
5 The Diagnostic Layer property page looks like this: For CAPL programs you might want to turn off the sending of Tester Present, which can be made on this property page. The Security DLL property page allows you to include a seed & key DLL which provides the security algorithm for unlocking the ECU and hides the source code of the algorithm by using a DLL. Two templates for creating such a DLL with Visual Studio (including the project file) can be found in the following directory (the path can differ for your installed CANoe version): CANoe up to version 8.2: C:\Users\Public\Documents\Vector\CANoe\8.2.40\CANoe Demos\Demo_CAN_CN\Diagnostics\UDSSim\SeedKey or CANoe 9.0: C:\Users\Public\Documents\Vector\CANoe\ (x64\canoe Sample Configurations\CAN\Diagnostics\UDSSim\SeedKey 4 About Qualifiers and Short Names Each diagnostic object is identified by a qualifier. This qualifier can be found in the CDD file, it is there often called a shortcut qualifier (especially for services). In PDX files, the qualifier is equivalent to the ODX short name. The ODX long name cannot be used here. For programming with CAPL, these qualifiers and objects can be easily accessed in CAPL Browser using the Symbol Explorer which can be switched to Diagnostics: 5
6 There are 3 types of diagnostic objects which can be referenced by CAPL: > ECU > Services > Parameters Each of these objects has its own qualifier which has to be used in the various diagnostic functions or in the definition of diagnostic CAPL objects. There is an ECU qualifier that is used to address a specific ECU. For each ECU, there are several diagnostic classes available, but these classes are only used for obtaining a better structure, in CAPL they are generally not required. 6
7 Each class consists of related services (e.g. Fault Memory), each service has its own service qualifier. Please note that the read and write services for a specific data identifier have different qualifiers, the basic name of the service appended with a _Read or _Write supplement. Both parts together constitute the qualifier. Again for a better structure, the qualifiers for a service are divided into 3 categories, consisting of the Mnemonic for the underlying service (e. g. RDBI for ReadDataByIdentifier) and an appendix for Positive Response (_PR), Negative Response (_NR) and Request (_RQ). Beneath these structuring elements, you will find the parameter qualifiers for the respective service. For accessing these parameters, these qualifiers are required. To use these qualifiers, just drag and drop these qualifiers into the CAPL browser s editing window. 5 Addressing the ECU (DiagSetTarget) As you can access multiple ECUs with CANoe, you need to address the ECU that is targeted by the diagnostic CAPL function calls. This is done using the DiagSetTarget function which has the ECU qualifier as single parameter. For the CDD included in the Configuring the diagnostics components chapter the ECU qualifier is Door. long ret; ret=diagsettarget( Door ); // all further diagnostic requests are // sent to the Door ECU The DiagSetTarget function should be called as infrequent as possible as it invokes the (re-)initialization of the diagnostic tester libraries of CANoe/CANalyzer which takes some time. 6 Creating and Sending a Request First you have to define a diagnostic request object which can be done by dragging the service qualifier from the Symbol Explorer to the edit window. There is a data type DiagRequest, which can be seen as kind of a struct object. It represents and contains all the parameters of the request.the DiagSendRequest function sends the request using the DiagRequest object which is passed as function parameter. diagrequest SerialNumber_Read myrequest; // create an object for the // SerialNumber Read service long ret; ret=diagsendrequest(myrequest); // send the request 7 Setting the Parameters of a Request In many cases a service contains one or more parameters. Before sending a request, you have to set its parameters. Parameters can be set using the following methods: > numeric (physical values, direct values or with applying a conversion rule or formula) > raw (raw values, as transmitted on the bus byte by byte) > symbolic (for numeric values which are represented by text tables) 7
8 Depending on the type and size of a parameter, you have to use a specific SetParameter function: > for data types with a size of more than 4 bytes (e.g. VIN): use DiagSetParameterRaw > for data types up to 4 bytes: use DiagSetParameter or DiagSetParameterRaw. The distinction if a parameter is treated as a symbolic or numeric one is done by observing the parameter type: a char [] parameter type is the indicator for a symbolic value, a double type is used for numerical parameters. For avoiding the use of a non-available method as shown above or misspelled symbolic parameter values, you should check the return code of the DiagSetParameter functions to see if the parameter has been set successfully before sending a request (which in the fault case could contain the default value or in the worst case garbage). DiagRequest reqnum; DiagRequest Coding_Write reqsym; DiagRequest EcuIdentification_Write reqraw; byte PartNum[13]=0x65,0x66,0x65,0x66,0x65,0x66,0x65,0x66, 0x65,0x66,0x65,0x66,0x65; long ret, ret2; write( Setting of a numerical parameter ); ret=diagsetparameter(reqnum, anumericparameterqualifier,12.0); if(ret>=0) ret2=diagsendrequest(reqnum); if(ret2>=0) write( Request has been successfully sent ); write( Error while sending request ); write( Could not set parameter ); write( Setting of a symbolic parameter ); ret=diagsetparameter(reqsym, VehicleType, Coupe ): if(ret>=0) ret2=diagsendrequest(reqsym); if(ret2>=0) write( Request has been successfully sent ); write( Error while sending request ); write( Could not set parameter ); write( Setting of a raw or large parameter ); ret=diagsetparameterraw(reqraw, Part_Number,PartNum,elcount(PartNum)); if(ret>=0) ret2=diagsendrequest(reqraw); if(ret2>=0) write( Request has been successfully sent ); write( Error while sending request ); write( Could not set parameter ); You can set all the parameters of a request subsequently before finally using the DiagSendRequest function to send the request. If the service contains a parameter with a variable length or iterative data types (like a list of DTCs), it is necessary to adjust the size of the service using the DiagResize function. 8
9 DiagRequest ServiceXY_Write myvarlengthreq; dword length; int i; long ret,ret2,ret3; byte data_array[100]; // max number of data bytes of the variable length // parameter length=4*5; // some calculation that determines the size of the request ret=diagresize(myvarlengthreq,length); if(ret>=0) for(i=0;i<length;i++) data_array[i]=source_byte_array[i]; // copy the parameter value from // an array that contains the data // to be sent ret2=diagsetparameterraw(myvarlengthrequest, varlengthparamqualifier, data_array,length); if(ret2>=0) ret3=diagsendrequest(myvarlengthrequest); if(ret3>=0) write( Request sent successfully ); write( Error while sending request ); write( Could not set parameter ); write( Could not resize the diagnostic request object ); 8 Receiving the response and reading the response parameters After sending a request, you have to receive and evaluate the response. For this purpose CANoe/CANalyzer provides the on diagresponse event handler. This event handler is only called when the corresponding request has been sent from CAPL. Requests sent by Diagnostic Console will not trigger this event handler. You can read the parameters of the received response using the DiagGetParameter and DiagGetParameterRaw functions. Like their DiagSet counterparts from chapter 6, the use depends on the size and type of the parameters. You can check whether the received response is a positive or a negative response by using DiagIsPositiveResponse or DiagIsNegativeResponse. Parameters can be read by using the following methods: > numeric (physical values, direct values or with applying a conversion rule or formula) > raw (raw values, as transmitted on the bus byte by byte) > symbolic (for numeric values which are represented by text tables) Depending on the type and size of a parameter, you have to use a specific GetParameter function: > for data types with a size of more than 4 bytes (e.g. VIN): use DiagGetParameterRaw > for data types up to 4 bytes: use DiagGetParameter or DiagGetParameterRaw. The distinction if a parameter is treated as a symbolic or numeric one is done by observing the parameter type: a char [] parameter type is the indicator for a symbolic value, a double type is used for numerical parameters -> function overloading 9
10 The following responses are possible: > no additional parameters (except service ID and data identifier or subfunction) > additional parameters which can be read as described above > a negative response code (NRC) in case of a negative response on diagresponse Speedlimit_Read // simple numerical parameter long ret; if(diagispositiveresponse(this)) ret=diaggetparameter(this,"limit"); if(ret>=0) write("speed limit is %d",ret); write("could not retrieve parameter"); write("could not read speed limit, neg. response code: 0x%02X",DiagGetResponseCode(this)); on diagresponse Coding_Read // symbolical parameter (text table) char stri[200]; long ret; if(diagispositiveresponse(this)) ret=diaggetparameter(this,"codingstring.vehicletype", stri,elcount(stri)); if(ret>=0) write("vehicle Type is %s",stri); write("could not retrieve parameter"); write("could not read values, neg. response code: 0x%02X", DiagGetResponseCode(this)); on diagresponse EcuIdentification_Read byte pn_array[13]; long ret; // raw parameter (13 bytes) if(diagispositiveresponse(this)) ret=diaggetparameterraw(this,"part_number",pn_array,elcount(pn_array)); if(ret>=0) write("part number is (hex) %02X %02X %02X %02X etc.", pn_array[0],pn_array[1],pn_array[2],pn_array[3]); write("could not retrieve parameter"); write("could not read ECU identif. data, neg. response code: 0x%02X", DiagGetResponseCode(this)); on diagresponse Coding_Write // service without further parameters in the // response if(diagispositiveresponse(this)) write("coding values successfully written"); write("could not write coding values, neg. response code: 0x%02X", DiagGetResponseCode(this)); 10
11 9 Reading the Fault Memory The fault memory returns a list of DTCs and the associated status bits. Reading this list (which normally contains 0 to n elements or iterations) requires the use of the DiagGetComplexParameter or DiagGetComplexParameterRaw function. It is essential to pick the correct qualifiers of both the list itself and the subelements, i.e. the DTC and the status byte. By reading the DTC symbolically you can obtain the DTC text. To read all DTCs, you have to either calculate the number of DTCs by using the length of the raw response (as shown below) or by reading the DTCs until the function returns an error, meaning no more DTCs available. The following example is for UDS which has 3 bytes DTC. on diagresponse FaultMemory_ReadAllIdentified dword DTC; byte StatusByte; byte bit; int i,l; char textbuffer[200]; if(diagispositiveresponse(this)) // if we have received a positive // response // calculate size of the DTC list (iteration block) l=diaggetprimitivesize(this); l--; l--; l--; // total length of the response // subtract: 1 byte for service ID // subtract: 1 byte for subfunction // subtract: 1 byte for StatusOfDTC // calculate the number of iterations = number of DTCs l/=4; // one iteration has 3 bytes DTC and 1 byte StatusOfDTC // --> result: number of DTCs write(" "); write("read All identified DTCs:"); write(" "); StatusByte=DiagGetParameter(this,"DtcStatusbyte"); // read status byte write("status Availability Mask: %02X",StatusByte); DiagGetParameter(this,"DtcStatusbyte.TestFailed",textBuffer, elcount(textbuffer)); // access a single status bit bit=diaggetparameter(this,"dtcstatusbyte.testfailed"); write("test failed bit: %s - %02X",textBuffer,bit); write("---"); for(i=0;i<l;i++) // iterate through the list of DTCs and StatusBytes DTC=DiagGetComplexParameter(this,"ListOfDTC",i,"DTC"); // read DTC DiagGetComplexParameter(this,"ListOfDTC", i, "DTC", textbuffer, elcount(textbuffer)); // read corresponding DTC text StatusByte=(byte)DiagGetComplexParameter(this,"ListOfDTC", i, "DtcStatusbyte"); // read DTC status byte write("dtc %06X - %s",dtc,textbuffer); write("statusbyte: %02X",StatusByte); // read the a specific status bits of each DTCs individually: DiagGetComplexParameter(this,"ListOfDTC",i,"DtcStatusbyte.TestFailed",textBuffer,elcount(textBuffer)); bit=diaggetcomplexparameter(this,"listofdtc",i, "DtcStatusbyte.TestFailed"); write("test failed: %s - %02X",textBuffer,bit); write("---"); write("negative response received, neg. resp. code %ld", DiagGetResponseCode(this)); 11
12 10 Reading Extended Data Records and Snapshot Data of the Fault Memory Extended data records and snapshot data records can be different for each DTC, and there can be one or more different record types for both data structures. The assignment of the record numbers or types is done using multiplexor components which determine the data structure actually used. Generally, the extended data record number or the snapshot number is the multiplexor which determines the contents of the associated extended data record or the snapshot record. For reading such data, you have to observe the record number and then read the corresponding parameters for each record type. If you want to write such data structures (for ECU simulation), you have to set the multiplexor parameter first (which will adapt the data structure immediately) and then the parameters of the records. Extended data records or snapshot records can also be implemented as lists of such records, similar to DTC lists. In this case the complex parameter CAPL functions have to be used. The example below for these data structures is not universal, there are different ways to model and implement such data structures in diagnostic description files. Especially for extended data records, it is not typical as it does only provide access to one specific extended data record, not to all at one time. The following samples are for UDS which has 3 bytes DTC. For reading extended data records: on key 'b' DiagRequest FaultMemory_Read_extended req; dword DTC=0x000113; byte recno=2; write("reading extended data records:"); write(" "); DiagSetParameter(req, "DTC",DTC); DiagSetParameter(req,"ExtendedDataRecordNumber", recno); // read extended data record number 2(Healing Counter) DiagSendRequest(req); 12
13 on diagresponse FaultMemory_Read_extended dword DTC; byte statusbyte; byte recno; byte occcounter; byte healingcounter; DTC=DiagGetParameter(this,"DTC"); // get the DTC statusbyte=diaggetparameter(this,"dtcstatusbyte"); // get the status mask recno=diaggetparameter(this,"extendeddatarecordnumber"); // get the // extended data record number write("dtc %06X",DTC); write("statusbyte: %02X",statusByte); write("extdatarecno: %d",recno); // this is the multiplexor if(recno==1) // Extended data record 1, the multiplexed data occcounter=diaggetparameter(this,"occurrence_counter"); // this record // just contains this parameter write("extdatarec %d: OccurenceCounter %d",recno,occcounter); if(recno==2) // extended data record 2, the multiplexed data healingcounter=diaggetparameter(this,"healing_counter"); // this // record just contains this parameter write("extdatarec %d: Healing Counter %d",recno,healingcounter); For reading snapshot data records: on key '4' DiagRequest FaultMemory_ReadEnvironmentData req; dword DTC=0x000113; byte recno[1]=0xff; // all records write("reading all snapshot records"); write(" "); DiagSetParameter(req, "DTC",DTC); DiagSetParameterRaw(req,"DtcSnapshotRecordNumber",recNo,elcount(recNo)); // read all Snapshot Records, is defined a litte strange in the CDD, // therefore raw access DiagSendRequest(req); on diagresponse FaultMemory_ReadEnvironmentData dword DTC; byte statusbyte; byte recno; int geschw; int temp; int NoIDs; int i; int l; if(diagispositiveresponse(this)) // when a positive response has been // received.. DTC=DiagGetParameter(this,"DTC"); // get DTC statusbyte=diaggetparameter(this,"dtcstatusbyte"); // get status byte // calculate size of the iterative block (=snapshot records) l=diaggetprimitivesize(this); // total length of the raw response l--; // subtract: 1 byte service ID l--; // subtract: 1 byte subfunction l-=3; // subtract: 3 bytes DTC l--; // subtract: 1 byte StatusOfDTC 13
14 // calculating the number of iterations (snapshot records) l/=10; // one iteration consists of 1 byte NumberOfIdentifiers, 1 byte // SnapshotRecordNumber and 8 bytes snapshot data (including // data identifiers) write("dtc %06X",DTC); write("statusbyte: %02X",statusByte); for(i=0;i<l;i++) recno=diaggetcomplexparameter(this,"listofdtcsnapshotrecord",i, "DtcSnapshotRecordNumber"); NoIDs=DiagGetComplexParameter(this,"ListOfDTCSnapshotRecord",i, "DtcSnapshotRecordNumberOfIdentifiers"); temp=diaggetcomplexparameter(this,"listofdtcsnapshotrecord",i, "Temperatur"); geschw=diaggetcomplexparameter(this,"listofdtcsnapshotrecord",i, "Geschwindigkeit"); write("snapshotrecno: %d",recno); write("numberofids: %d",noids); write("did 01 - Temperatur: %d",temp); write("did 02 - Geschwindigkeit: %d",geschw); write(" "); write("negative response received, neg. response code %ld", DiagGetResponseCode(this)); 11 Security Access with Seed&Key DLL The seed & key procedure can be handled using the DiagGetParameter/DiagSetParameter functions and the DiagGenerateSeedFromKey function which will execute the secret key calculation algorithm hidden and implemented in the seed & key DLL. For seeds and keys with more than 4 bytes it is necessary to use the DiagGetParameterRaw/DiagSetParameterRaw functions as shown in the example. DiagGenerateKeyFromSeed requires the security level (that is the subfunction of the 27 UDS service; for example 27 03/04 is used for the level 3). If not used, the ipoption parameter should be an empty string. Templates for the DLL (Visual Studio, C++) can be found in the C:\Users\Public\Documents\Vector\CANoe\8.2.40\CANoe Demos\Demo_CAN_CN\Diagnostics\UDSSim\SeedKey subdirectory (up to version 8.2) or in the C:\Users\Public\Documents\Vector\CANoe\8.5.38\CANoe Sample Configurations\CAN\Diagnostics\UDSSim\SeedKey subdirectory (from version 8.5) or similar. 14
15 For Security Level 3: on key '3' DiagRequest SeedLevel3_Request reqseed; long ret,ret2; ret=diagsendrequest(reqseed); if(ret>=0) write("request seed level 3 has been successfully sent"); write("error while sending request"); on diagresponse SeedLevel3_Request diagrequest KeyLevel3_Send reqkey; long ret,ret2,ret3; byte seedarray[2]; byte keyarray[2]; dword actualkeysize; if(diagispositiveresponse(this)) // if we have received the seed in a // positive response ret=diaggetparameterraw(this,"securityseed",seedarray, elcount(seedarray)); if(ret>=0) write("seed is (hex) %02X %02X",seedArray[0],seedArray[1]); // calculate the key using the received seed: security level 3, // variant "Common" ret2=diaggeneratekeyfromseed(seedarray,elcount(seedarray),3,"common", "",keyarray,elcount(keyarray),actualkeysize); if(ret2==0) // if key has been calculated write("key is (hex) %02X %02X",keyArray[0],keyArray[1]); ret3=diagsetparameterraw(reqkey,"securitykey",keyarray, elcount(keyarray)); // put the key into the send key service if(ret3>=0) DiagSendRequest(reqKey); // send the key to the ECU write("could not set parameter"); // errors occured in S&K DLL: write("error code %ld during key calculation",ret2); if(ret2==-84) write("invalid security level"); if(ret2==-86) write("buffer too small"); write("could not retrieve parameter"); write("could not request seed, neg. response code: 0x%02X", DiagGetResponseCode(this)); on diagresponse KeyLevel3_Send if(diagispositiveresponse(this)) write("ecu unlocked for level 3"); write("ecu could not be unlocked for level 3, error code (hex) %02X", DiagGetResponseCode(this)); 15
16 Simple Seed&Key DLL source code: KEYGENALGO_API VKeyGenResultEx GenerateKeyEx( const unsigned char* iseedarray, /* Array for the seed [in] */ unsigned int iseedarraysize, /* Length of the array for the seed [in] */ const unsigned int isecuritylevel, /* Security level [in] */ const char* ivariant, /* Name of the active variant [in]*/ unsigned char* iokeyarray, /* Array for the key [in, out] */ unsigned int ikeyarraysize, /* Maximum length of the array for the key [in] */ unsigned int& osize /* Length of the key [out] */ ) // check the input parameters if (ikeyarraysize<2) // check if return buffer is sufficiently large return KGRE_BufferToSmall; if (iseedarraysize!=2) // check if seed is 2 bytes, this algorithm works // with 2 bytes seed and 2 bytes key only return KGRE_UnspecifiedError; switch(isecuritylevel) case 1: // algorithm for security level 1: swap the 2 seed bytes iokeyarray[0]=iseedarray[1]; iokeyarray[1]=iseedarray[0]; osize=2; break; case 3: // algorithm for security level 3: invert the seed bytes for(unsigned int i=0;i<iseedarraysize;i++) iokeyarray[i]=~iseedarray[i]; osize=2; break; default: // any other level is not handled by this DLL return KGRE_SecurityLevelInvalid; break; return KGRE_Ok; 12 Diagnostics in Test Modules (CANoe only) Creating complex diagnostic tests with normal CAPL nodes can lead to code of which the control flow is jumping from one event handler to the other and is not quite easy to understand and follow. For this reason, CANoe s Test Feature Set (TFS) offers the possibility of creating sequences of tests by providing TestWaitFor. functions which are not available in normal CAPL nodes because of the realtime architecture of CANoe. For diagnostic tests with its requests-response pairing, these test sequences are very suitable elements. After sending a request, you should make sure the request has been actually sent using the function TestWaitForDiagRequestSent. Afterwards you can wait for the response using the TestWaitForDiagResponse function, the received response can be obtained with the DiagGetLastResponse function. The TFS offers the test report features that provide HTML reports of the tests. Diagnostic objects can be written into this test report using the TestReportWriteDiagObject function. There is also a TestReportWriteDiagResponse function. It is important to evaluate the response of the TestWaitForDiagResponse function, as it could hint to either the timeout specified in this function or the diagnostic P2 or P2 Extended timeout. See article: Handling of TestWaitFor DiagResponse Function. 16
17 testcase Testcase1_Read() DiagRequest Speedlimit_Read req; DiagResponse Speedlimit_Read resp; long ret,ret2,ret3,ret4; int limit; ret=diagsendrequest(req); if(ret>=0) TestReportWriteDiagObject(req); if(testwaitfordiagrequestsent(req, 5000)==1); write("request has been successfully sent"); ret2=testwaitfordiagresponse(req,5000); // wait for a response here // for 5000ms, note: this is no P2 timeout if(ret2==1) // response received ret3=diaggetlastresponse(req,resp); // get the receveived response if(ret3>=0) if(diagispositiveresponse(resp)) // is it a positive response? limit=diaggetparameter(resp,"limit"); // get the param from the resp. write("speed limit is %d",limit); TestReportWriteDiagObject(resp); // it is a negative Response ret4=diaggetresponsecode(resp); write("negative Response, NRC: %.02X",(byte)ret4); TestReportWriteDiagObject(resp); write("could not retrieve response"); if(ret2==0) // timeout. no response received write("timeout specified in TestWaitForDiagResponse expired"); if(ret2<0) // error e.g. transport protocol level if(ret2==-92) write("tp level error, probably P2 or P2* timeout"); write("other TP level error"); write( Request could not be sent!"); write("error while sending request"); 17
18 13 Simulating an ECU Using the CAPL Callback Interface (CCI) In CAPL nodes which represent a diagnostic tester, the on diagresponse event handler is used. If you want to simulate an ECU from a diagnostic point of view, you have to use the on diagrequest event handlers. To activate them, you have to do the following steps: > Open your database file (DBC) and add a network node for this ECU (if not already existing) and save it. > Open CANoe and add the CDD file for the ECU to be simulated under Configuration/Diagnostics/ISO-TP configuration. > Double-Click on the CDD name in the dialog box from the last step and select the ECU's node name as from the DBC file in the Function/Node list box. > Add a CAPL node in simulation setup. Right-click on the node and select Configuration. > Assign the node's network node name as from the DBC file. > Add the OSEK_TP.DLL (from CANoe's Exec32 subdirectory) under modules from the node configuration dialog box, if there is no assignment from the DBC-file already done. > Edit the CAPL code: > In the on diagrequest section you have to create the event handlers for the diagnostic requests sent to this simulated ECU. You can use all of the CAPL DiagGetParameter and DiagSetParameter functions to read the request's parameters and to set the parameters for the response. Use DiagSendResponse to send your response. > Add the so-called CAPL Callback Interface (CCI) to your CAPL code. It can be included from the file CCI_Implementation.cin (in newer CANoe versions, the file can be included by using #include Diagnostics\CCI_CanTP.cin ). You have to set up a 2 global variables: char gecu[100]= My ECU Name just for display purposes ; int cistester=0; In older CANoe versions see online help under Diagnostics/Generic CAPL Callback interface. Go to download center and search for CANoe Application Notes CAPL to download the CCI application note. To send a positive response use DiagSendResponse, for a negative Response use DiagSendNegativeResponse. For FlexRay, LIN, DoIP there is also a CAPL Callback Interface available, which differs because of the different bus systems. With the help of the CAPL Callback Interface, you can also have influence on transport layer aspects and you can implement fault injection. 18
19 Please find below a chart which shows the steps outlined above in a more compact way. 19
20 14 Sending Functional Requests to more than one ECU If there is functional addressing defined in the diagnostic description, you can send a request to more than one ECU using functional addressing. Please open the diagnostic configuration and select under Usage of the diagnostics description the entry Functional Group Requests. From now on, each diagnostic request will be sent using the functional Request ID. When waiting for the response, keep in mind that there will probably be more than one response, so you have to keep waiting for a response after the reception of a response as long as a P2 timeout has not occurred (because after reception of a response, the P2 timer is reset). 20
21 Up to CANoe 8.5, Basic Diagnostics does not support Functional Group Requests as setting in the diagnostic configuration. To be able to send functional requests though, there is one CAPL functional available: DiagSendFunctional. diagrequest ExtendedSession_Start req; DiagSendRequest(req); DiagSendFunctional(req); // physical request // functional request 15 Using Services not defined in the Diagnostic Description File (supported since CANoe 8.5) If you want to use a service that is not defined in the diagnostic description file (CDD, PDX, MDX) you can use Additional descriptions. This feature is available in Configuration Diagnostics/ISO-TP You can drag the lines with the descriptions up or down to set the search order of the descriptions. The top description is taken first and the description on the bottom is taken last when a service is searched for. This allows you to add a description file with additional services not defined in the main description. You can even use a basic diagnostics description that you can create in CANoe using the Basic Diagnostics Editor to add such services. 21
22 All of these additional descriptions are accessed by the main ECU qualifier from the original description file which was used to set up this description. The service and parameter qualifiers can be different or identical, in the latter case the first fitting object is taken (according to the sort order in the above dialog box). 16 Manipulating Diagnostic Requests and Responses/Fault Injection If the services defined in the diagnostic description file do not fit your purposes or for creating and checking faults in tests you can access a service on the raw byte level, the so-called primitive level. Here you have a stream of bytes. CANoe offers the functions DiagSetPrimitiveData and DiagSetPrimitiveByte to set the complete service or just a single byte, and the functions DiagGetPrimitiveData and DiagGetPrimitiveByte to read the whole primitive or a single byte of the services. diagrequest A_SERVICE_QUALIFIER req; diagrequest A_SERVICE_QUALIFIER req2; byte rawdata[2]=0x10,0x03; DiagSetPrimtiveData(req,rawData,elcount(rawData)); DiagSendRequest(req); // is equivalent to: DiagSetPrimitiveByte(req2,0,0x10); DiagSetPrimitiveByte(req2,1,0x03); DiagSendRequest(req2); You could change a byte (e.g. a subfunction or a data identifier) to a value that does not exist and check how the ECU responds to this request. The size of a request or response can be calculated by the DiagGetPrimitiveSize function. DiagResize can change the size of a request/response. This can be used for fault injection and for services with variable length data objects (like DTC lists). As a service might have been changed in a way that CANoe does not recognize the response (as it is not defined in this way in the diagnostic description), you have to use the on diagresponse * event handler to receive the response (or the request using on diagrequest * in an ECU simulation). This handler will only be triggered if no other on diagresponse event handler is fitting to the response. on diagresponse * byte rawdata[4095]; if((diaggetprimitivebyte(this,0)==0x50) &&(DiagGetPrimitiveByte(this,1)==0x99)) write( This is the response to not-defined service 0x10 0x99 ); DiagGetPrimitiveData(this,rawData,elcount(rawData); write( %ld Bytes received,diaggetprimitivesize(this)); In general, we advise to use additional diagnostic descriptions in combination with Basic Diagnostics for services not defined in the description, so the main area of application will be fault injection. However, for complex services the Diag Primitive functions might be better suitable than Basic Diagnostics. 22
23 Further code samples are available in the KnowledgeBase. More information about CANoe s diagnostic features can be found in the following Application Notes: AN-IND-1-001_CANoe_CANalyzer_as_Diagnostic_Tools AN-IND-1-004_Diagnostics_via_Gateway_in_CANoe AN-IND-1-012_CAPL_Callback_Interface The Application Notes reside in the Doc -Folder of CANoe s installation directory. 17 Contact Information In case of any questions please contact Vector Support: Please find the contacts of Vector Informatik GmbH and all subsidiaries worldwide via: 23
CANoe and CANalyzer as Diagnostic Tools
Version 1.5 2017-05-03 Application Note AN-IND-1-001 Author Restrictions Abstract Vector Informatik GmbH Public Document This application gives an introduction into working with diagnostics in CANoe/CANalyzer.
More information1 About this Support Note
2018-08-21 Author(s) Restrictions Morizur, Pascale Table of contents 1 About this Support Note... 1 2 Overview... 1 2.1 Ready to use Pool Examples with simulation... 2 2.2 Usage of the detail view of the
More informationIn the table below you will find the icon conventions used throughout the Support Note. This icon indicates notes and tips that facilitate your work.
2016-01-26 SN-IND-1-015_CANoe_CANalyzer_Padding_DiagnosticFrames.pdf Author(s) Restrictions Morizur, Pascale and Ernst, Oliver Table of contents 1 About this Support Note... 1 2 Overview... 1 3 Set frame
More informationCAPL Callback Interface in CANoe
Version 1.3 2017-04-11 Application Note AN-IND-1-012 Author Restrictions Abstract Vector Informatik GmbH Public Document Information and explanation on the CAPL Callback Interface (CCI) for diagnostics
More informationAutomatic validation of diagnostics in ECUs
Automatic validation of diagnostics in ECUs CANoe.DiVa Diagnostic Integration and Validation Assistant V1.1 2016-10-10 Agenda Introduction CANoe.DiVa for Automated Diagnostics Validation Summary 2/22 Introduction
More information1 About this Support Note Introduction Use Loops Use Test Case Lists Example Contacts... 8
2016-01-25 SN-IND-1-022_TestCase_Iterations.pdf Author(s) Restrictions Katranksi, Ute Table of contents 1 About this Support Note... 1 2 Introduction... 1 3 Use Loops... 2 4 Use Test Case Lists... 3 5
More informationCANalyzer. Product Information
Product Information Table of Contents 1 Introduction to CANalyzer... 4 1.1 Features and Advantages... 4 1.2 Application Areas... 5 1.3 Bus Systems and Protocols... 5 1.4 CANalyzer Variants... 5 1.5 System
More informationCANoe 6.0. The Professional Development and Test Tool for CAN, LIN, MOST, FlexRay and J1587 TOOLS FOR NETWORKS AND DISTRIBUTED SYSTEMS
CANoe 6.0 The Professional Development and Test Tool for CAN, LIN, MOST, FlexRay and J1587 CANoe is an all-round tool for the development, testing and analysis of networks and ECUs. It supports the user
More informationDiagnostics via CANoe Gateways
Version 1.3 2017-03-08 Application Note AN-IND-1-004 Author Restrictions Abstract Vector Informatik GmbH Public Document Explains the concept of a diagnostics gateway between CAN and any other bus system
More informationProduct Information CANdelaStudio
Table of Contents 1 Introduction... 3 1.1 Properties Overview... 3 2 Functions... 4 3 ODX Functions... 7 4 Quality Improvement by Single Source Principle... 7 5 Data Exchange... 8 6 Editions... 8 6.1 CANdelaStudio
More informationIndigo. Vector Diagnostic Tester V / 6
Indigo Vector Diagnostic Tester 1 / 6 V1.3 2018-09-13 Agenda 1. Indigo in General 2. Diagnostic Use Cases 3. Automation of Diagnostic Sequences 4. Remote Diagnostics 5. Summary 2 Indigo in General Executive
More informationCANoe/CANalyzer.J1587
Product Information Table of Contents 1 Introduction... 3 1.1 Application Areas... 3 1.2 Features and Advantages... 3 1.3 Further Information... 3 2 Functions... 4 3 Hardware Interfaces... 4 4 Protocol-specific
More informationMotoHawk support for ISO 15765
MotoHawk support for ISO 15765 The Woodward Custom ISO15765 Blockset provides a MotoHawk application with an interface to a PC-based diagnostics application or a scan tool. What is ISO 15765? ISO 15765
More informationUser Manual Vector Logger Configurator. Version 2.7 English
User Manual Vector Logger Configurator Version 2.7 English Imprint Vector Informatik GmbH Ingersheimer Straße 24 D-70499 Stuttgart Vector reserves the right to modify any information and/or data in this
More informationMinimum CANoe version to execute test units built with a specific version of vteststudio
For test units built with vteststudio 1.0 and 1.1 always a matching minimum CANoe version has to be used - independent of the commands used within the tests. For test units built with vteststudio 2.0 or
More informationDiagnostic Use Cases V
Diagnostic Use Cases V1.01 2017-06-29 Agenda 1. Diagnostic Use Cases 3 2. Testing 6 3. Reprogramming 15 4. ECU Configuration 19 5. Vehicle Function Data 23 2 Diagnostic Use Cases Overview ECU Configuration
More informationAppendix A DawnEdit Parameter and Message Database Editor
Appendix A DawnEdit Parameter and Message Database Editor Table of Contents Page 1. DawnEdit 2 A.1 Messages 2 A.2 Parameter Tab 7 A.3 Database Editor Tips 9 A.4 Menu Descriptions of Database Editor 9 A.5
More informationIntrepid Control Systems, Inc.
Intrepid Control Systems, Inc. VSPY for CANoe [TM] Users Document Number: G-ICSI-1006 Rev 2.0 07/2014 Contents 1. Introduction:... 3 2. VSPY for CANoe [TM] Users... 3 2.1 Messages:... 3 2.2 Signals...
More informationODX Process from the Perspective of an Automotive Supplier. Dietmar Natterer, Thomas Ströbele, Dr.-Ing. Franz Krauss ZF Friedrichshafen AG
ODX Process from the Perspective of an Automotive Supplier Dietmar Natterer, Thomas Ströbele, Dr.-Ing. Franz Krauss ZF Friedrichshafen AG 1 Abstract Vehicle systems, especially the ECU networks, are getting
More informationIn the table below you will find the icon conventions used throughout the Support Note. This icon indicates notes and tips that facilitate your work.
2013-10-10 SN-IND-1-009_CANstress_CANoeRT.pdf Author(s) Restrictions Besbes, Mounir Table of contents 1 About this Support Note... 1 2 Overview... 1 3 Hardware configuration... 2 4 CANstress with CANoe
More informationCAN FD - Flexible Tools for Flexible Data Rates
CAN FD - Flexible Tools for Flexible Data Rates Peter Decker Vector Informatik GmbH V 0.01 2012-06-20 Simulation & Test Environment for Automotive Networks Database Test Spec. ECU Simulation & Test Tool
More informationConcept Manual vteststudio. Version 2.2 English
Concept Manual vteststudio Version 2.2 English Imprint Vector Informatik GmbH Ingersheimer Straße 24 D-70499 Stuttgart The information and data given in this user manual can be changed without prior notice.
More informationDTS 8 Monaco. Softing Automotive Electronics GmbH. Richard-Reitzner-Allee Haar / Germany T F
DTS 8 Monaco Softing Automotive Electronics GmbH Richard-Reitzner-Allee 6 85540 Haar / Germany T +49 89 456 56-420 F +49 89 456 56-399 info.automotive@softing.com www.softing.com No part of this manual
More informationGetting Started with VN5640
Version 1.0 2017-04-11 Application Note AN-IND-1-020 Author Restrictions Abstract Vector Informatik GmbH Public Document Document about the configuration steps of the VN5640 interface to make settings
More informationMitsubishi FX Net Driver PTC Inc. All Rights Reserved.
2017 PTC Inc. All Rights Reserved. 2 Table of Contents 1 Table of Contents 2 3 Overview 3 Device Setup 4 Channel Properties 5 Channel Properties - General 5 Channel Properties - Serial Communications 6
More informationLab 7 Macros, Modules, Data Access Pages and Internet Summary Macros: How to Create and Run Modules vs. Macros 1. Jumping to Internet
Lab 7 Macros, Modules, Data Access Pages and Internet Summary Macros: How to Create and Run Modules vs. Macros 1. Jumping to Internet 1. Macros 1.1 What is a macro? A macro is a set of one or more actions
More informationCANoe.MOST. - more efficiency in developing and testing MOST systems -
CANoe.MOST - more efficiency in developing and testing MOST systems - V1.05 2008-10-23 Agenda > Vector Simulation Analysis Test Conclusion Slide: 2 Vector 1988 Vector Informatik established 1998 Vector
More informationRIOT and CAN. Vincent Dupont. RIOT Summit September 25-26, OTA keys. Vincent Dupont (OTA keys) RIOT and CAN RIOT Summit / 34
RIOT and CAN Vincent Dupont OTA keys RIOT Summit September 25-26, 2017 Vincent Dupont (OTA keys) RIOT and CAN RIOT Summit 2017 1 / 34 Who am I? What is OTA keys? Me: Embedded software engineer: 6 years,
More informationModbus ASCII Serial Device Driver Help 2009 Kepware Technologies
Modbus ASCII Serial Device Driver Help 2009 Kepware Technologies 1 Table of Contents 1 Getting Started... 3 Help Contents... 3 Overview... 3 2 Device Setup... 3 Device Setup... 3 Cable Diagram... 4 Modem
More informationModicon Modbus Driver
Modicon Modbus Driver Filename Modbus.dll Manufacturer Modicon Devices Protocol Version 3.1.36 Any device compatible with Modbus protocol v1.1b Modbus v1.1b Last Update 03/17/2017 Platform Win32 and Windows
More informationMobitex Transport Protocol 1 (MTP/1)
Mobitex Transport Protocol 1 (MTP/1) Contents 1 Introduction...5 2 Terminology...6 3 Transport Service Definition...11 3.1 General...11 3.1.1 Introduction...11 3.1.2 System Environment...12 3.1.3 Features
More informationLab 03 - x86-64: atoi
CSCI0330 Intro Computer Systems Doeppner Lab 03 - x86-64: atoi Due: October 1, 2017 at 4pm 1 Introduction 1 2 Assignment 1 2.1 Algorithm 2 3 Assembling and Testing 3 3.1 A Text Editor, Makefile, and gdb
More informationCommunication. Distributed Systems Santa Clara University 2016
Communication Distributed Systems Santa Clara University 2016 Protocol Stack Each layer has its own protocol Can make changes at one layer without changing layers above or below Use well defined interfaces
More informationMDF4 Lib. Product Information
Product Information Table of Contents 1 Overview...3 1.1 Introduction...3 1.2 Application Areas...3 1.3 Overview of Advantages...3 2 Features and Advantages...4 2.1 Supported MDF Versions...4 3 Functional
More informationIntesisBox MAPS. Configuration & monitoring software of IntesisBox KNX series. User's manual Issue Date: 06/17 r1.0 eng
IntesisBox MAPS Configuration & monitoring software of IntesisBox KNX series User's manual Issue Date: 06/17 r1.0 eng Intesis Software S.L.U. 2017 All Rights Reserved. Information in this document is subject
More informationVT System Smart HIL Testing
VT System Smart HIL Testing V1.0 2010-06-04 Agenda > ECU Testing Testing a Door Control Unit Summary and Outlook Slide: 2 ECU Testing I/O Access for ECU Testing ECU has to be tested in its natural environment
More informationvflash Vector Webinar V
vflash Vector Webinar 2018-10-10 V2.0 2018-07-09 Introduction into vflash vflash Template Concept vflash Project Handling Enhanced Security with Gateway Authentication Custom Actions Tool Editions Extended
More informationOSEK/VDX. Communication. Version January 29, 2003
Open Systems and the Corresponding Interfaces for Automotive Electronics OSEK/VDX Communication Version 3.0.1 January 29, 2003 This document is an official release and replaces all previously distributed
More informationFlash Bootloader. Product Information
Product Information Table of Contents 1 Flash Memory Programming... 3 2 Flash Bootloader - ECU programming via CAN, LIN, FlexRay, MOST and Ethernet... 3 2.1 Overview of Advantages... 3 2.2 Application
More informationThe CANoe.Ethernet Solution
Use in Praxis V1.0 2016-11-23 Agenda 1. Ethernet the Newcomer in Automotive 2. Why an Automotive Ethernet Option for CANoe? 3. Brief Look to CANoe 4. First Hand Usecase from Field 2/20 Network Topology
More informationJMobile V2.0 HF1 Release Notes
JMobile V2.0 HF1 Release Notes This document reports the JMobile Studio V2.0 HF1 release notes JMobile V2.0 HF1 Release Notes 1 Copyright 2016 Exor International S.p.A. Verona, Italy Subject to change
More informationInterstage Business Process Manager Analytics V12.1 Studio Guide
Interstage Business Process Manager Analytics V12.1 Studio Guide Solaris April 2013 Studio Guide Trademarks Trademarks of other companies are used in this documentation only to identify particular products
More informationSherlock Tutorial Project Overview
Sherlock Tutorial Project Overview Background Sherlock organizes design files, inputs and analysis results as project folders that can be managed inside of the Sherlock application and shared between Sherlock
More informationAnalog Devices, Inc. Protocol 6 Flash/EE Programming via LIN Downloading software with CANoe.LIN
Analog Devices, Inc. Protocol 6 Flash/EE Programming via LIN Downloading software with CANoe.LIN Date: 14 th June 2007 Version: 3.0 Version 3.0 June 2007 1 of 16 Table of Contents Table of Contents...2
More informationUser Manual. Programming with TSwin. Part Number: Version: 4
User Manual Programming with TSwin Part Number: 80 860.055 Version: 4 Date: 01.02.2007 Valid for: TSwin.net 4.1x + SP3 Version Date Modifications 1 29.07.2005 First Edition 2 30.11.2005 Validation changed,
More informationThe MAXQDA Stats Data Editor
The Data Editor The Data Editor The MAXQDA Stats Data Editor displays the cases in the rows and the variables in the columns. Each case is therefore in a separate line. The following figure shows the Data
More informationAnalysis and Testing of LIN ECUs
Welcome to the Vector Webinar: Analysis and Testing of LIN ECUs Presenter: Mr. Peter Decker Date: 2014-10-21, 9:00 10:00 am (CEST) V 1.0 2014-10-21 Agenda > LIN Tool Chain Product Overview CANoe.LIN &
More informationTools for CAN based networking. On the street, in the air, in the orbit
Tools for CAN based networking On the street, in the air, in the orbit Vector Informatik GmbH Vector provides OEMs and suppliers of automotive and related industries a professional and open development
More informationALTIRIS Console 6.5 Overview
ALTIRIS Console 6.5 Overview Document Version: 1.0 The information contained in the Altiris Knowledgebase is subject to the Terms of Use as outlined at http://www.altiris.com/legal/termsofuse.asp. History
More information(Cat. No L26B, -L46B, and -L86B) Supplement
(Cat. No. 1785-L26B, -L46B, and -L86B) Supplement Because of the variety of uses for the products described in this publication, those responsible for the application and use of this control equipment
More informationAutomated Flashing and Testing with CANoe, vflash and VN89xx Version Application Note AN-IDG-1-018
Automated Flashing and Testing with CANoe, vflash and VN89xx Version 1.0 2019-02-19 Application Note AN-IDG-1-018 Author Restrictions Abstract Thomas Schmidt Public Document Automatic updating an ECU s
More informationBaby-LIN-II Getting started guide V1.1
Baby-LIN-II Getting started guide V1.1 Lipowsky Industrie-Elektronik GmbH Fax: +49 (0) 6151 / 93591-28 Email: info@lipowsky.de 1 Contents Tools for 1 Contents...2 2 Glossary...3 3 Introduction... 4 4 Installation...4
More informationXGATE Library: Signal Gateway Implementing CAN and LIN Signal Level Gateway
Freescale Semiconductor Application Note Document Number: AN3333 Rev. 0, 11/2006 XGATE Library: Signal Gateway Implementing CAN and LIN Signal Level Gateway by: Daniel Malik MCD Applications East Kilbride,
More informationIn the table below you will find the icon conventions used throughout the Support Note. This icon indicates notes and tips that facilitate your work.
2016-08-04 SN-IMC-1-004_FFT-Analysis_CANape.pdf Author(s) Restrictions Sundt, Alexander Table of contents 1 About this Support Note... 1 2 Overview... 1 2.1 Advantages of using a DLL... 1 2.2 Where to
More informationCAPL Scripting Quickstart
CAPL Scripting Qickstart CAPL (Commnication Access Programming Langage) For CANalyzer and CANoe V1.01 2015-12-03 Agenda Important information before getting started 3 Visal Seqencer (GUI based programming
More informationINCA-LIN V6.2. User Manual
INCA-LIN V6.2 User Manual Copyright The data in this document may not be altered or amended without special notification from ETAS GmbH. ETAS GmbH undertakes no further obligation in relation to this document.
More informationOperation Manual. for the. Data Logging Software. Version 7.1. (Isoft.xls)
for the Data Logging Software Version 7.1 (Isoft.xls) TetraTec Instruments GmbH 1 GENERAL HINTS 1.1 Typographical Conventions Displayment Means marks a work procedure, which you must implement references
More informationMODEL-BASED DEVELOPMENT -TUTORIAL
MODEL-BASED DEVELOPMENT -TUTORIAL 1 Objectives To get familiar with the fundamentals of Rational Rhapsody. You start with the simplest example possible. You end with more complex functionality, and a more
More informationODX TechDay, Seoul. How to come to ODX data? V
ODX TechDay, Seoul How to come to ODX data? V1.00 2017-06-22 Agenda 1. Motivation 2. How to come to ODX data? 3. Comparison 4. Summary 2 Motivation ODX ODX as a standard is widely used. Process partners
More informationWindows Embedded Compact Test Kit User Guide
Windows Embedded Compact Test Kit User Guide Writers: Randy Ocheltree, John Hughes Published: October 2011 Applies To: Windows Embedded Compact 7 Abstract The Windows Embedded Compact Test Kit (CTK) is
More informationASAM MCD-3 D. Application Programming Interface for MVCI Diagnostic Server. Base Standard. Part 1 of 4. Version 3.0.
ASAM MCD-3 D Application Programming Interface for MVCI Diagnostic Server Part 1 of 4 Version 3.0.0 Date: 2011-10-31 Base Standard by ASAM e.v., 2011 Disclaimer This document is the copyrighted property
More informationFinal Exam. 11 May 2018, 120 minutes, 26 questions, 100 points
Name: CS520 Final Exam 11 May 2018, 120 minutes, 26 questions, 100 points The exam is closed book and notes. Please keep all electronic devices turned off and out of reach. Note that a question may require
More informationThis document is a preview generated by EVS
INTERNATIONAL STANDARD 14229-1 Second edition 2013-03-15 Road vehicles Unified diagnostic services (UDS) Part 1: Specification and requirements Véhicules routiers Services de diagnostic unifiés (SDU) Partie
More informationASAM-MCD-2 NET (FIBEX)
ASAM-MCD-2 NET (FIBEX) Data Model for ECU Network Systems (Field Bus Data Exchange Format) Version 4.1.2 Date: 2017-06-02 Base Standard by ASAM e.v., 2017 Disclaimer This document is the copyrighted property
More informationICC. EtherNet/IP Client Driver Manual INDUSTRIAL CONTROL COMMUNICATIONS, INC Industrial Control Communications, Inc.
INDUSTRIAL CONTROL COMMUNICATIONS, INC. EtherNet/IP Client Driver Manual October 30, 2014 2014 Industrial Control Communications, Inc. TABLE OF CONTENTS 1 EtherNet/IP Client... 2 1.1 Overview... 2 1.2
More informationtruechart Menubar Documentation HighCoordination GmbH Version 1.0.2,
truechart Menubar Documentation HighCoordination GmbH Version 1.0.2, 2017-05-05 Table of Contents 1. Introduction.............................................................................. 1 2. Installing
More informationReliability and Performance Monitoring
Reliability and Performance Monitoring June 19, 2012 Copyright 2012 by World Class CAD, LLC. All Rights Reserved. Reliability and Performance Monitor Window To open the Reliability and Performance Monitor
More informationINCA-FLEXRAY V7.2 User Manual
INCA-FLEXRAY V7.2 User Manual Copyright The data in this document may not be altered or amended without special notification from ETAS GmbH. ETAS GmbH undertakes no further obligation in relation to this
More informationWebVisit User course
WebVisit 6.01.02 User course 1 Project creation and the user interface WebVisit User course 2 Getting started with visualization creation 3 Access to structures and fields 4 Macros in WebVisit Pro 5 Language
More information4 Tutorial: TTCN Suite
4 Tutorial: TTCN Suite Basics (in Windows) This tutorial is intended as an easy introduction to the TTCN suite for the newcomer. It is assumed that you have some basic knowledge about Windows. In addition,
More informationCANbedded. Product Information
Product Information Table of Contents 1 Solutions with CANb edded... 4 1.1 CANbedded... 4 1.2 Advantages of CANbedded... 4 1.3 Your Partner Right From the Start... 4 1.4 Uniform Solution... 4 2 CANbedded
More informationKinco PLC Training. Kinco Automation
Kinco PLC Training Kinco Automation Contents Ⅰ Kinco PLC Profile Ⅱ Program-KincoBuilder Fast Start Ⅲ Program-KincoBuilder Basic Function Ⅳ CoDeSys for F1 Program Kinco PLC Profile Development of Kinco
More informationUSER GUIDE. MADCAP FLARE 2017 r3. Import
USER GUIDE MADCAP FLARE 2017 r3 Import Copyright 2018 MadCap Software. All rights reserved. Information in this document is subject to change without notice. The software described in this document is
More informationBackupVault Desktop & Laptop Edition. USER MANUAL For Microsoft Windows
BackupVault Desktop & Laptop Edition USER MANUAL For Microsoft Windows Copyright Notice & Proprietary Information Blueraq Networks Ltd, 2017. All rights reserved. Trademarks - Microsoft, Windows, Microsoft
More informationODX-LINK V1.5 ODX-FLASH V1.5 User s Guide
ODX-LINK V1.5 ODX-FLASH V1.5 User s Guide Copyright The data in this document may not be altered or amended without special notification from ETAS GmbH. ETAS GmbH undertakes no further obligation in relation
More informationINCA-LIN V7.2 User s Guide
INCA-LIN V7.2 User s Guide Copyright The data in this document may not be altered or amended without special notification from ETAS GmbH. ETAS GmbH undertakes no further obligation in relation to this
More informationIntroduction 13. Feedback Downloading the sample files Problem resolution Typographical Conventions Used In This Book...
Contents Introduction 13 Feedback... 13 Downloading the sample files... 13 Problem resolution... 13 Typographical Conventions Used In This Book... 14 Putting the Smart Method to Work 16 Visual Studio version
More informationDesktop & Laptop Edition
Desktop & Laptop Edition USER MANUAL For Mac OS X Copyright Notice & Proprietary Information Redstor Limited, 2016. All rights reserved. Trademarks - Mac, Leopard, Snow Leopard, Lion and Mountain Lion
More informationDTC-320. StreamXpert MPEG-2 Transport-Stream Analyser
StreamXpert MPEG-2 Transport-Stream Analyser 2005 DekTec Digital Video BV www.dektec.com Manual for DTC-320 StreamXpert Software Table of Contents 1. Introduction...3 2. Specifications and Minimum Requirements...4
More informationIntroduction to Ethernet and IP in automotive vehicles
Introduction to Ethernet and IP in automotive vehicles Webinar V1.02 2014-05-14 Agenda > Information 3 Introduction 6 Physical layers 8 IEEE Ethernet MAC + VLAN 14 Internet Protocol (IPv4/IPv6) 18 TCP
More informationLabVIEW Express VI Development Toolkit User Guide
LabVIEW Express VI Development Toolkit User Guide Version 1.0 Contents The LabVIEW Express VI Development Toolkit allows you to create and edit Express VIs, which you can distribute to users for building
More informationApache Wink Developer Guide. Draft Version. (This document is still under construction)
Apache Wink Developer Guide Software Version: 1.0 Draft Version (This document is still under construction) Document Release Date: [August 2009] Software Release Date: [August 2009] Apache Wink Developer
More informationUser Guide. Kronodoc Kronodoc Oy. Intelligent methods for process improvement and project execution
User Guide Kronodoc 3.0 Intelligent methods for process improvement and project execution 2003 Kronodoc Oy 2 Table of Contents 1 User Guide 5 2 Information Structure in Kronodoc 6 3 Entering and Exiting
More informationRelease Notes. PREEvision. Version 6.5 SP11 English
Release Notes PREEvision Version 6.5 SP11 English Imprint Vector Informatik GmbH Ingersheimer Straße 24 70499 Stuttgart, Germany Vector reserves the right to modify any information and/or data in this
More informationGetting Started with Prime Network
CHAPTER 1 These topics provide some basic steps for getting started with Prime Network, such as how to set up the system and the basic parts of the Prime Network Administration GUI client. Basic Steps
More informationGetting Started Guide. ProClarity Analytics Platform 6. ProClarity Professional
ProClarity Analytics Platform 6 ProClarity Professional Note about printing this PDF manual: For best quality printing results, please print from the version 6.0 Adobe Reader. Getting Started Guide Acknowledgements
More informationTestCenter Manual. TestCenter Manual Copyright MeVis Medical Solutions, Published
TestCenter Manual 1 TestCenter Manual TestCenter Manual Copyright MeVis Medical Solutions, 2003-2016 Published 2018-06-26 2 Table of Contents 1. Introduction... 6 1.1. Supported Testing Concepts... 6 1.2.
More informationTDSPTD Protocol Trigger and Decode Application Online Help
xx ZZZ TDSPTD Protocol Trigger and Decode Application Online Help *P077002502* 077-0025-02 ZZZ TDSPTD Protocol Trigger and Decode Application Online Help www.tektronix.com 077-0025-02 Copyright Tektronix.
More informationA QUICK OVERVIEW OF THE OMNeT++ IDE
Introduction A QUICK OVERVIEW OF THE OMNeT++ IDE The OMNeT++ Integrated Development Environment is based on the Eclipse platform, and extends it with new editors, views, wizards, and additional functionality.
More informationFending Off Cyber Attacks Hardening ECUs by Fuzz Testing
Fending Off Cyber Attacks Hardening ECUs by Fuzz Testing In designing vehicle communication networks, security test procedures play an important role in the development process. Fuzz testing, which originated
More information13-1. This chapter explains how to use different objects.
13-1 13.Objects This chapter explains how to use different objects. 13.1. Bit Lamp... 13-3 13.2. Word Lamp... 13-5 13.3. Set Bit... 13-10 13.4. Set Word... 13-13 13.5. Function Key... 13-21 13.6. Toggle
More informationDEVELOPMENT OF DISTRIBUTED AUTOMOTIVE SOFTWARE The DaVinci Methodology
DEVELOPMENT OF DISTRIBUTED AUTOMOTIVE SOFTWARE The DaVinci Methodology Dr. Uwe Honekamp, Matthias Wernicke Vector Informatik GmbH, Dep. PND - Tools for Networks and distributed Systems Abstract: The software
More informationScript Host 2.0 Developer's Guide
_ Microsoft icrosoft Script Host 2.0 Developer's Guide Günter Born Introduction xv parti Introduction to the World of Script Programming chapter i Introduction to Windows Script Host 3 WHAT YOU CAN DO
More informationAMS COCKPIT USERS GUIDE. AMS Cockpit Version 1.1 USERS GUIDE
AMS COCKPIT USERS GUIDE Table of Contents AMS Cockpit Version 1.1 USERS GUIDE Revision Date: 1/15/2010 A d v a n c e d M i c r o S y s t e m s, I n c. w w w. s t e p c o n t r o l. c o m i Table of Contents
More informationMODBUS Protocol for MiCOM P30 Series
MODBUS Protocol for MiCOM P30 Series Substation Protocols Technical Documentation This document does not replace the Technical Manual Version: MiCOM P30, MODBUS Index: B Release: 08 / 2011 MODBUS Protocol
More informationLIN Editor User s Guide
LIN Editor User s Guide Copyright The data in this document may not be altered or amended without special notification from ETAS GmbH. ETAS GmbH undertakes no further obligation in relation to this document.
More informationOPC UA Configuration Manager Help 2010 Kepware Technologies
OPC UA Configuration Manager Help 2010 Kepware Technologies 1 OPC UA Configuration Manager Help Table of Contents 1 Getting Started... 2 Help Contents... 2 Overview... 2 Server Settings... 2 2 OPC UA Configuration...
More informationUser Manual CANopen DeviceExplorer
User Manual CANopen DeviceExplorer Version history Version Changes Date Editor V1.1.5 Additional PlugIns added 2013/06/26 ged V1.3 Additional Features added 2013/09/20 ged V2.0 Additional PlugIns and Features
More informationFixed problem with InfoRecall crashing when Export Merged Documents & Print Merged Documents are chosen when files are closed.
WHAT S NEW Build 119 Fixed problem with InfoRecall crashing when Export Merged Documents & Print Merged Documents are chosen when files are closed. Build 118 Swap Source Folder: Disabled Menu and Tool
More informationPREEvision Technical Article
PREEvision Technical Article AUTOSAR-Conformant Vehicle Diagnostics over : Developing Diagnostic Communications for E/E Systems The electronically controlled systems of modern vehicles are networked with
More information