CANoe——系统变量/环境变量创建

一、环境变量创建

(1)DBC中创建环境变量

参数的设置:

Name:环境变量的名称;

Value Type:数据类型;

Value Table:真值表;

初始值、最小值、最大值。

 (2)CAPL创建

/*方法一*/
on envvar Switch {          /*声明一个CAN报文要传递给Controller msg*/
message Controller msg;     /*读出开关的值*/
msg.Stop = getvalue(this);  /*赋值:分配给信号Stop*/
output(msg);                /*在总线上输出报文*/
}/*方法二*/
putValue(DiagData, dataBuf, 64);           /*将64字节的数据缓冲区拷贝到环境变量DiagData中*/
copiedBytes = getValue(NodeName, cBuf);    /*读取环境变量NodeName的值*/

 注:

环境变量的使用必须要以DBC的格式来使用,并且需要将DBC添加到CAN 网络中

二、创建系统变量

系统变量参数 :

Namespace:定义系统变量组的名称;

Name:系统变量的名称;

Data type:数据类型;

Location:该系统变量组存放的路径、名称和格式;

Values:初始值、最小值、最大值、单位、值表

$报文名称::信号 

@:读写赋值  等价于 putvalue()

/*方法一*/
on sysvar IO::DI_0     //系统变量:MyNameSpace::系统变量名称
{
$Gateway::IOValue = @this;  //系统变量赋值到报文信号中   $报文名称::信号
}/*方法二*/
intValue = @Namespace1::Parameter2;
@Debug::MotorValues::EngineSpeed = $EngineSpeed;on key 'b'
{double value;value = SysGetVariableFloat(sysvar::MyNamespace::FloatVar);write("Value of FloatVar is %g", value);
}

注:

1.系统变量相当于全局变量 

2.系统变量的初始值需要定义明确

3.自定义系统变量的真值表,选择custom来完成真值表的创建


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部