1. Set:对信号,系统变量,环境变量等赋值
1)对信号赋值
在CANoe里面执行结果的Trace如下:
为什么会发送三帧,每帧间隔50ms?
这个就是因为Set设置的信号会通过IL层发送其所在报文出去,IL层的发送规则在DBC中已经定义好:GenMsgCycleTimeFast=50,代表周期是50ms;GenMsgNrOfRepetition=3,代表发送3帧;GenSigSendType=OnWriteWithRepetition, 即触发时按照间隔50ms发3帧的规则发送(IL层介绍在:CANoe IL:Interaction Layer(交互层)的简单理解)
2)对系统变量,环境变量等进行赋值
2. Send:对CAN messages, FlexRay frames, PDUs等进行赋值
可以细化到signal,byte,DLC等
在CANoe里面执行结果的Trace如下:
从上面的执行结果可以发现:
1. Set发送信号会走IL层,Send发送信号不会走IL层
2. Set发送信号会保存所在报文其他信号上一轮值,Send发送信号不会保存所在报文其他信号上一轮值
其他注意点:
1. Set和Send命令后都需要加一个等待时间,命令发送到总线上出现报文需要时间,同时如果报文是周期发送,在命令发送时也需要等到下一帧周期报文发送时才会出现在总线上,这也需要时间
2. Set和Send都可以同时对多个信号进行赋值,信号也可以属于不同报文
以上如有问题,请指出,谢谢~~