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来完成真值表的创建

  • 1
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车人——EEA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值