首页 > 其他分享 >车载测试系列:CANoe中环境变量和系统变量的区别

车载测试系列:CANoe中环境变量和系统变量的区别

时间:2023-05-18 17:56:31浏览次数:28  
标签:变量 CANoe 总线 报文 系统 车载 环境变量

环境变量和系统变量相同点:

都可以作为ECU、面板和CAPL程序相连接的媒介。例如,在CAPL程序中,通过改变或监控某一环境变量的值可以触发特定的动作,同样,环境变量的值也可以与面板上控制控件或显示控件相关联。

历史原因:

1、CANoe V6.0版本之前,只能采用环境变量传输软件仿真过程中的数据。

2、在CANoe V6.0版本之后,不仅仿真CAN网络,还支持LIN、FlexRay等其他类型总线的仿真。而环境变量一般通过DBC定义,但DBC一般仅用于CAN网络。在非CAN网络的配置工程中,也需要因此添加额外的DBC专门用于存储环境变量。为了变量的统一管理,引入系统变量,系统变量存储于CANoe配置工程(cfg文件)中,这意味着系统变量独立于任何一种总线及其数据库。

3、环境变量在CANoe V12.0版本之后不适用,不能再新建环境变量。

环境变量和系统变量不同点:

1、支持总线类型

  • 系统变量:任意总线类型
  • 环境变量:仅CAN总线

2、定义位置

  • 系统变量:Environment窗口-SysVar
  • 环境变量:DBC

3、保存位置

  • 系统变量:CANoe配置工程(cfg文件)、独立的外部XML
  • 环境变量:DBC文件

4、数据类型

  • 系统变量:有数组,有32位无/有符号整型
  • 环境变量:没有数组,无32位无符号整型

在脚本中使用:

1、系统变量

在系统变量被定义好了之后,相当于定义了一个全局变量。可以通过CAPL内自带的函数来完成使用。

// 处理系统变量svSwitch的响应
on sysvar sysvar::MyNamespace::svSwitch
{
  // 声明一个CAN报文变量,用于报文发送
  message Msg1 msg;
  // 读取当前的系统变量svSwitch的值,并赋值给报文的bsSwtich信号
  msg.bsSwitch = sysGetVariableInt(sysvar::MyNamespace::svSwitch);
  // 将报文输出到总线上
  output(msg);
  write("当前系统变量svSwitch=%d", @this);
}

2、环境变量

在环境变量被定义好之后,相当于定义了一个局部变量。可以通过CAPL内自带的函数来完成使用。

// 处理环境变量evSwitch的响应
on envvar evSwitch 
{
        // 声明一个CAN报文变量,用于报文发送
        message Controller msg;

        // 读取当前的环境变量evSwitch的值,并赋值给报文的Stop信号
        msg.Stop = getvalue(this);
        // 将报文输出到总线上
        output(msg);
}

标签:变量,CANoe,总线,报文,系统,车载,环境变量
From: https://www.cnblogs.com/laoluoits/p/17412746.html

相关文章

  • 车载测试系列:汽车ECU通信之时间同步测试验证
    时钟同步功能给车载系统提供统一的时间基准,在高级别智能驾驶、视音频时钟同步、数据上传分析等场景中发挥着越来越重要的作用。目前以太网时钟同步协议中,使用最多的为精准时钟同步协议(GeneralizedPrecisionTimeProtocol,gPTP),遵循IEEE802.1AS标准。在AUTOSAR中也有对应的......
  • java opencv配置环境变量
    javaopencv配置环境变量Windows开发环境:1、下载路径:opencv官网下载文件,解压,我这里用的版本是3.4.16。2、解压后opencv\build\java\x64目录下的opencv_java3416.dll文件拷到C盘的system32下,opencv\build\java下面的opencv-3416.jar文件复制到本地D盘,新建lib文件夹里面,可以直接通......
  • 在ubuntu中为path环境变量添加一个新路径
    1.查看原来的path环境变量的内容echo$PATH2.将路径 /home/sgj/.local/bin添加到path环境变量中#打开/etc/profile问价sudo/etc/profile3.在最后一行输入以下内容路径了。加上之后就是不要忘记原来的路径,最后的:$PATH不要忘记写,要不然你的path环境变量只有你添加的......
  • Oracle19c中环境变量ORACLE_PDB_SID对dbca和RU打补丁的影响
     Oracle19c中环境变量ORACLE_PDB_SID对dbca和RU打补丁的影响 假设需要dbca创建一个cdb为oemdb,pdb为empdbrepos。同时,环境变量已经设置了ORACLE_PDB_SID=empdbrepos的情况下进行dbca,会导致dbca报错如下:ORA-65118:operationaffectingapluggabledatabasecannotbeperfo......
  • Linux- 环境变量和自定义配置
    环境变量查看查看当前用户的全部环境变量:env,可以结合env|grep筛选信息查看当前系统的全部环境变量:export查看指定环境变量:printenv$env_name或者echo$env_name清除指定环境变量的值:unset$env_name常用环境变量PATH可执行程序的搜索目录,可执行程序包括Linux......
  • 手把手教你Tomcat配置环境变量以及验证方法
    场景现在要将Tomcat配置进环境变量。实现以win7为例,找到桌面计算机图表,右键属性。或者打开计算机,找到系统属性。然后找到高级系统设置找到环境变量点击系统变量下的新建找到Tomcat所在目录变量名为:CATALINA_BASE内容为Tomcat所在路径,这里是上面的路径如图:点击确定同理再新建系统变......
  • Xcode常用环境变量与常见使用场景
    在Xcode的工程配置中,与路径相关的都是使用环境变量,这样可以避免使用决定路径时项目移植性差的问题。Xcode常用宏__FILE__当前文件所在目录__DATE__编译日期的字符串,格式为“mmddyyyy”(例如:“Sep162015”)__FUNCTION__当前函数名称__LINE__当前语句在源......
  • Xcode中常见的环境变量
    为当前项目添加.pch文件新建.pch文件,pch文件的命名规则:“工程名字-Prefix.pch”,当然也可以不遵守这个规则随意命名指定pch文件所在的位置(既然我是新建的pch文件,Xcode为何不直接给我设置pch文件的路径,还要开发者做这件事,真是不人性化),在BuildSettings中搜索PrefixHeader,然后在该......
  • 车载充电器 3.3KW 车载充电机OBC方案 方案:PFC两相交
    车载充电器3.3KW车载充电机OBC方案方案:PFC两相交错并联,Dc全桥LLC,28035控制,CAN通信。文件内容:原理图Pcb关键磁件参数源代码实用范围:项目参考借鉴学习,不具备量产功能。ID:16146684069616387......
  • 国内汽车车载电源DCDC首家,硬件原理图,软件源码,3带上位机调试工具,资料完全配套
    国内汽车车载电源DCDC首家,硬件原理图,软件源码,3带上位机调试工具,资料完全配套YID:65450666521985563......