Можно соединить клиент XCP с модулем сервера с помощью протокола CAN. Это позволяет вам использовать события и измерения доступа на модуле сервера.
В этом примере показано, как создать связь канала CAN XCP и свойства канала доступа. Пример также показывает, как разблокировать сервер с помощью ключевой безопасности seed.
Доступ к файлу A2L, который описывает модуль сервера.
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]
Создайте использование канала XCP MathWorks виртуальный канал CAN 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: []
В этом примере показано, как сконфигурировать канал, чтобы разблокировать сервер с помощью dll, который содержит seed и ключевой алгоритм безопасности, когда модуль заблокирован для операций Stimulation.
Создайте свой канал XCP и установите канал SeedKeyDLL
свойство.
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'