主要内容

XCP直接数据采集

此示例显示如何使用XCP连接直接从从机获取测量值。它使用矢量和传染媒介虚拟CAN频道自由可用的XCP从模拟器。要访问虚拟通道,必须安装向量设备驱动程序。还建议使用车辆可以与此示例一起运行车辆总线。

运行奴隶模拟器

此示例需要从向量中安装免费的第三方XCP实现。该软件包包括XCP从Simulator和A2L文件。要安装此驱动程序,请按照以下说明:

  1. 转到www.vector.com并导航到“下载”页面。

  2. 在“标准”下搜索“分类”和“XCP”下的“演示”。

  3. 下载并安装“XCP示例实现”的可用版本。

  4. 在MATLAB中,导航到安装示例包的位置,然后转到。\ Samples \ xcpsim \ canape。

  5. MATLAB XCP示例将使用XCPSIM.A2L文件和XCPSIM.EXE从Simulator。运行xcpsim.exe。

打开A2L文件

建立到XCP从站的连接需要使用描述从站模块的A2L文件。

a2lobj = xcpa2l('xcpsim.a2l'
a2lobj = a2l具有属性:filename:'xcpsim.a2l'filepath:'\\ central-mi \ home \ jpyle \ documents \ matlab \ examples \ vnt-ex81955136 \ vnt-ex81955136 \ xcpsim.a2l'slavename:'cpp'protocollayerinfo:[1×1 xcp.protocollayerinfo] daqinfo:[1×1 xcp.daqinfo] transportlayercaninfo:[1×1 xcp.transportlayercaninfo] transportlayerudpinfo:[1×1 xcp.transportlayerudpinfo] transportlayertcpinfo:[]事件:{1×6小区}测量:{1×45个单元格}特征:{1×16 Cell} EventInfo:[1×6 Xcp.Event] MeasurementInfo:[45×1容器.map]特征info:[16×1容器.map] axisinfo:[1×1容器.map] RecordLayouts:[41×1容器.MAP] Compumethods:[16×1容器.Map] Computabs:[0×1容器.map] compuvtabs:[2×1容器.map]

创建XCP频道

创建XCP通道以准备与从机的连接。

xcpch = xcpchannel(a2lobj,'能够''向量''虚拟1'1)
xcpch =具有属性的通道:slavename:'cpp'a2lfilename:'xcpsim.a2l'transportLayer:'CAN'TransportLayerDevice:[1×1 struct] SeefKeydll:[]

连接到奴隶

要与从站活动进行通信,请连接到它。

连接(XCPCH)

直接获取测量样本

从奴隶中获取一些测量的样本。

readsinglevalue(xcpch,'Channel3')readsinglevalue(xcpch,'Channel3')readsinglevalue(xcpch,'Channel3'
ANS =单次-3.0390 ANS =单次-4.8650 ANS =单次-5.5284

直接获取一系列测量样本

使用循环,获取和绘制来自从机的许多测量样本。

Allsamples = [];为了II = 1:50 Newsample = ReadSingleValue(XCPCH,'Channel3');ALLSAMPLES = [ALLSAMPLES NEWSAMPLE];结束情节(allSamples)

断开从奴隶的连接

要与从站不活动,请断开连接。

断开(XCPCH)