VXT文件解(二)

*爱你&永不变心* 提交于 2019-12-02 03:24:52

上次的解析没有描述清楚消息(message)、信号(signal)在这个xml格式中具体是如何定义的。

下面来详细分析一下。在这个路径下面有详细说明Test Feature Set » XML » Parameters

翻译过来就是:在checks定义中,变量(variable)、测试函数(test function)、控制函数(control function)、各种消息(message)、信号(signal)、环境变量(environment variable)是需要的。但是他们基本都是一样定义的。

<cansignal name="Signal name" msg="Message name" node="Node name" bus="Bus name">Value</cansignal>
<linsignal name="Signal name" msg="Message name" node="Node name" bus="Bus name">Value</linsignal>

相关消息的名称(name)、节点名称(node)、或总线名称(bus name)只有当无法唯一解析的时候才需要。即这些信息在相关联的dbc中只要有一个或两个就可以定位到这个 消息的时候,就不用把全部的信息列出来。

这个信号定义的Value可以使数字,变量或枚举值。还可以增加xml格式的元素来定义的更清楚。相应的语法见下面:

1、

<eq>number</eq>

信号的值(Value)必须等于这个值(number),浮点值不能用这个来进行测试。

2、

<ne>number</ne>

信号的值(Value)必须不等于这个值(number)

3、

<lt>number</lt>

信号的值(Value)必须小于这个值(number)

4、

<gt>number</gt>

信号的值(Value)必须大于这个值(number)

5、

<le>number</le>

信号的值(Value)必须小于等于这个值(number)

6、

<ge>number</ge>

信号的值(Value)必须大于等于这个值(number)

7、

<range>
   <from>number</from>
   <to>number</to>
</range>

信号的值(Value)必须在这两个值之间(number)

8、

<range>
   <base>...</base>
   <down_tolerance mode="absolute|relative">...</down_tolerance>
   <up_tolerance mode="absolute|relative">...</up_tolerance>
</range>

信号的值(value)必须在这个范围内(base - down_tolerance) <= value <= (base + up_tolerance).

mode为absolute时,就直接是值;mode为relative时,里面写的就是因数,不过当value是整数型时,base乘上因数后,要被cut掉小数点后的值。

9、

<one_of>
   Set of <eq> or <range> conditions
</one_of>

信号的值必须是满足下面条件(conditions)里的任何一数值。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!