XCP Hardware Connection
You can connect your XCP client to a server module using the CAN protocol. This allows you to use events and access measurements on the server module.
Create XCP Channel Using CAN Device
This example shows how to create an XCP CAN channel connection and access channel properties. The example also shows how to unlock the server using seed key security.
Access an A2L file that describes the server module.
a2lfile = xcpA2L('C:\work\XCPServerSineWaveGenerator.a2l')
a2lfile = A2L with properties: File Details FileName: 'XCPServerSineWaveGenerator.a2l' FilePath: 'C:\work\XCPServerSineWaveGenerator.a2l' ServerName: 'ModuleName' Warnings: [0×0 string] Parameter Details Events: {'100 ms'} EventInfo: [1×1 xcp.a2l.Event] Measurements: {1×6 cell} MeasurementInfo: [6×1 containers.Map] Characteristics: {'Gain' 'ydata'} CharacteristicInfo: [2×1 containers.Map] AxisInfo: [1×1 containers.Map] RecordLayouts: [4×1 containers.Map] CompuMethods: [3×1 containers.Map] CompuTabs: [0×1 containers.Map] CompuVTabs: [0×1 containers.Map] XCP Protocol Details ProtocolLayerInfo: [1×1 xcp.a2l.ProtocolLayer] DAQInfo: [1×1 xcp.a2l.DAQ] TransportLayerCANInfo: [0×0 xcp.a2l.XCPonCAN] TransportLayerUDPInfo: [0×0 xcp.a2l.XCPonIP] TransportLayerTCPInfo: [1×1 xcp.a2l.XCPonIP]
Create an XCP channel using MathWorks virtual CAN channel 1.
xcpch = xcpChannel(a2lfile,'CAN','MathWorks','Virtual 1',1)
xcpch = Channel with properties: ServerName: 'ModuleName' A2LFileName: 'XCPServerSineWaveGenerator.a2l' TransportLayer: 'CAN' TransportLayerDevice: [1×1 struct] SeedKeyDLL: []
Configure the Channel to Unlock the Server
This example shows how to configure the channel to unlock the server using a dll that contains a seed and key security algorithm when your module is locked for Stimulation operations.
Create your XCP channel and set the channel SeedKeyDLL
property.
xcpch.SeedKeyDLL = ('C:\work\SeedNKeyXcp.dll')
xcpch = Channel with properties: ServerName: 'ModuleName' A2LFileName: 'XCPServerSineWaveGenerator.a2l' TransportLayer: 'CAN' TransportLayerDevice: [1×1 struct] SeedKeyDLL: 'C:\work\SeedNKeyXcp.dll'