在VeriStand中使用XNET自定义波特率

更新 Nov 21, 2023

适用于

软件

  • VeriStand
  • LabVIEW

驱动

  • NI-XNET

问题详述

我想在VeriStand中使用XNET自定义波特率。是否可以在VeriStand中使用XNET自定义波特率?

解决方案

VeriStand 2019或更高版本
VeriStand 2019支持XNET功能,该功能支持CAN FD和CAN FD+BRS的I/O模式 。此功能还允许为CAN接口计算和使用自定义波特率。

VeriStand 2018 SP1或更早版本
对于VeriStand 2018 SP1或更早版本,原始的XNET custom devices不支持给CAN FD自定义波特率。以下解决方法仅适用于为普通CAN设置自定义波特率。

VeriStand使用U32数据类型保存XNET波特率值。 XNET在16.0中弃用了波特率属性的32位版本,并引入了64位版本。通常,此更改是透明的,因为将旧的32位值隐式转换为64位值并可以正常工作。 VeriStand用例是一个例外。

在NI-XNET Database Editor或Bus Monitor中生成自定义波特率时,它将生成一个64位的值。您必须将此64位值逐位转换为等效的32位的版本。检查Interface:64bit Baud Rate - NI-XNET Help中如何将自定义波特率解释为位字段。您可以使用所附的VI进行转换。

对于普通的CAN,可以将此值的十进制表示形式放在system explorer中的Baud rate控件中。例如,对于32位值0xC4970032 ,请使用0d3298230322

当I/O模式为CAN FD+BRS时,system definition仅包含FD部分。 VeriStand将直接从数据库中使用正常的非FD波特率,并且不允许您在custom device中对其进行编辑。您必须将普通部分的自定义波特率直接输入到fibex文件的XML中,如下所示: