The ODX Parser Transform configures the UDS Request and UDS Response Transforms in MxTransit to send/receive diagnostic messages specified in the UDS spec and with the selected ODX file.
Note: This Transform was formerly called the UDS Transform.
Default UDS Supported Services (without ODX selected)
•$10 Diagnostic Session Control Request
•$14 Clear Diagnostic Information Request
•$19 Read DTC Information Request
•$22 Read Data By Identifier
•$27 Security Access
•$2E Write Data By Identifier
•$31 Routine Control
How to use the Transform
1.Select the ODX Parser Transform from the Toolbox.
2.By default, the Transform uses ”DefaultECU” for the Select ECU Name property and some default services and subservices to send/receive diagnostic messages specified in UDS spec.
3.Set the following properties to send and receive the diagnostic messages:
•Functional ID (Functional diagnostic request CAN Id )
•Physical ID (Physical diagnostics request CAN Id).
•Response ID (Diagnostic Response CAN id).
•(Optional) Browse and select the ODX file to send/receive diagnostic messages specified by the vendor in the selected ODX file.
4.Dll File for Security Key: Select the dll path to unlock the security service. See below for details of the security algorithm sample dll.
5.If the ODX is selected and parsed, you can select an ECU name from the drop-down list:
6.Message Format: Select the Message Format from the Format drop-down list . By default, the Message Format is Motorola.
7.Click on the Generate verb. The system generates Diagnostic Request, Transport Request, Transport Response, and Diagnostic Response Transforms in a subsystem (internal to the ODX Parser Transform) and automatically exports all the ports so they are visible on the ODX Parser Transform.
Notes:
•Fill the Functional Id, Physical ID, and Response Id before clicking on the Generate verb.
•If you use the DefaultECU (in the Select ECU Name property) and click Generate, all the configured Transforms generate which will support some default services and subservices .
8.Double-click on the ODX Parser Transform in the MxTransIt Harness window to open a new tab and display all the configured Transforms with connected and unconnected I/O ports automatically populated.
One response Transform is generated for each supported service.
9.The ODX Parser Transform configures 4 Transforms:
This Transform is used to create diagnostic messages according to the supported services, subservices, DIDs, DTCs, etc. The information is imported from the ODX file (an ODX file lists which portions of UDS are defined for a particular module). The UDS Request Transform has three ports: •Diag CAN Input: To form diagnostic CAN message data bytes. •Functional RQ Msg: Used to connect the UDS Request Transform outport to the Transport Request Transform inport (Functional RQ Msg) to send the Functional diagnostic message to the CAN bus. •Physical RQ Msg: Used to connect the UDS Request Transform outport to the Transport Request Transform inport (Physical RQ Msg) to send the Physical diagnostic message to the CAN bus.
|
One of these Transforms is automatically generated for each service. It has 4 kinds of ports: •$<ServiceId> Diag CAN: For all the raw messages •$<ServiceId> 7F Negative Response: For all the negative responses for that service •$<ServiceId> Positive Response ports: For all positive responses. It contains ServiceId/Did •Structural Message Type: (For example: $1822-BitField_StrMsg) These types of ports usually have a suffix '_StrMsg' and when exported they contains several data fields carrying several data types.
|
Provides an interface to the CAN transport layer protocol for sending the standard CAN frames. The Transport Request Transform has 5 ports. For details, see Transport Request/Response Transforms. |
Provides an interface to the CAN transport layer protocol for processing responses. For details, see Transport Request/Response Transforms.
|
10.Connect to the CAN network through the Transforms.
11.Select Project -> Network Configuration from the main menu to change the Network Configuration. There can be zero or more Virtual Buses. Drag a device from the Devices onto bus name in the Virtual Communication Busses panel. For details, see Network Configuration.
12.Rename the CAN ports in the ODX Parser Transform or rename the CAN ports in both Transport Request Transform and Transport Response Transform to the name of the CAN bus defined in MxVDev.
13.Right-click on each Transform and select Export Ports.
14.Select the Signals to export and click OK.
15.Click () to save your Harness.
NOTE: Configure Network configuration before you export the ports from the ODX Parser Transform.
![]() | Using the UDS Request Transform to Create Messages |
This Transform is used to create diagnostic messages according to the supported services, subservices, DIDs, DTCs, etc. The information is imported from the ODX file (an ODX file lists which portions of UDS are defined for a particular module). The UDS Request Transform has three ports: •DiagCanInput as inport •Physical RQ Msg as outport •Functional RQ Msg as outport
Create a Request Message Using UDS Request Transform: 1.Export the DiagCanInput port from the UDS Request Transform subsystem (tab) to the top-level of the Harness.
2.Create a TestCase and use the Pick Signals dialog to select Signals. 3.Add Signal transition by double clicking in the Signal's plot area. A dialog box appears that you can use to enter all data .
4.Click on the Message Raw Data tab to specify the length of Raw Data bytes and enter the data.
|
One of these Transforms is automatically generated for each service.
1.Export the ports from the UDS Request Transform subsystem (tab) to the top-level of the Harness.
2.Double-click on the plot line to create an expected data transition.
3.Specify the length of Raw Data bytes and enter the Raw Data bytes in the Message Raw Data tab.
|
void GetKeyFromSeed(BYTE seedstring[],int byteLength,BYTE* keystring) { int i ; for(i = 0;i < byteLength;i ++) keystring[i] = seedstring[i]; } The sample code refers to the SecurityKey file in the \Templates\ subfolder of the MxSuite installation folder.
|
Use these instructions to create a project that will familiarize you with setting up the Transform and Diagnostic messages. This project demonstrates UDS Transform testing with an ECU.
In MxVDev:1.Open MxVDev and create a new project. a.Locate the project in a new folder or an existing folder. b.For SUT Type, select Custom. c.Select the RTClock. d.Click Finish. 2.To make the project portable, copy the SecurityKey dll file into the new project’s folder.
In MxTransIt:1.Use the Toolbox to create the ODX Parser Transform. 2.Click on the ODX Parser Transform to select it. 3.In the Transform's Properties box, under UDS Configuration, click 4.Specify the Functional Id as $740, Physical Id as $740, and Response Id as $750. 5.Select “DefaultECU” for the Select ECU Name property. 6.Click the Generate verb. All ports are automatically exported to the UDS Transform. 7.Double-click on the ODX Parser Transform in the MxTransit Harness window to open a new tab and display all the configured transforms with connected and unconnected I/O ports automatically populated.
8.Rename the CAN ports on the ODX Parser Transform to the name of the CAN bus defined in MxVDev. 9.Export the ports from the MxV/UDSTransform tab. (Both CAN ports should be exported to connect to the CAN bus). 10.Export the ports from the ODX Parser Transform (in the MxV tab). 11.Click Save ( In MxVDev:1.Create new Scenario. 2.Create new TestCase. 3.For Service $10, add the exported Signals to the TestCase: •Diag CAN Input •$10 Diag CAN •$10 Positive Response •P2Can •P2CanExtended •$10 7F Negative Response 4.Add the TestCase to the Scenario. 5.Double-click on the DiagCanInput Signal to open the Edit Transition dialog:
6.Create transitions on the Diag CAN Input Signal at 1s ,2s,3s, and 4s. Values should be entered as below: Request Message Format:
The TestCase should look like this:
7.Click Save All ( 8.Expected Values should come on exported ports as shown below:
Response: For Service $22: Follow the same procedure as for Service $10 , add the related ports for Service $22. Create Transitions on the Diag CAN Input Signal on 1s, 2s, 3s, and 4s. Value should be entered as shown below:
Request values:
Response value:
|
Notes:
•Supported ODX file versions: v1.1.5 - v2.2.0
•Tested with versions: v1.1.5, v2.1.0, v2.0.1, v2.2.0