XCP 硬件连接
您可以使用 CAN 协议将 XCP 客户端连接到服务器模块。这允许您使用事件和访问服务器模块上的测量变量。
使用 CAN 设备创建 XCP 通道
以下示例说明如何创建 XCP CAN 通道连接和访问通道属性。该示例还说明如何使用种子和密钥安全性解锁服务器。
访问说明服务器模块的 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]
使用 MathWorks 虚拟 CAN 通道 1 创建一个 XCP 通道。
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 来解锁服务器。
创建 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'