企业网站建设视频,网站开发及app开发公司,网站建设过程论文,怎么登录住建局官网CANdb数据库操作 创建工程结构文件夹新建数据库总线描述节点设置节点创建配置Message属性信号设置节点收发信号 环境变量配置一致性检验数据库工程XVehicle.dbc导入工程文件总结 创建工程结构文件夹
在文件夹X-Vehicle-1下#xff0c;建立工程目录文件夹CANdb#xff0… CANdb数据库操作 创建工程结构文件夹新建数据库总线描述节点设置节点创建配置Message属性信号设置节点收发信号 环境变量配置一致性检验数据库工程XVehicle.dbc导入工程文件总结 创建工程结构文件夹
在文件夹X-Vehicle-1下建立工程目录文件夹CANdbNodesPanels
新建数据库总线描述
基于CAN模板新建数据库Tools-CANdb Editor——File——CreateDatabase——根据功能选总线模板这里选了Vector IL Basic Template.dbc——创建数据库工程XVehicle.dbc】 基于模板新建完成后CANdbEditor的导航区会显示网络中所有对象之间的关系包含Networks、ECUs、Network nodes、Environment variables、Messages和Signals。 总线描述——Networks配置总线名称类型。
节点设置
节点创建
创建Network Nodes节点设置节点属性 在ECUs电子控制单元项下列出了当前网络中所含的电控单元它们之间通过网络节点Network Nodes实现信息的交互。通常情况下ECU与网络节点是一一对应 的。当ECU作为网关时一个ECU可以包含多个网络节点。在CAN数据库中双击某 个ECU可以查看该ECU所对应的网络节点以及环境变量等信息。 需要提醒的是在CAN数据库中并不能直接创建ECUCANdb会在创建网络节点——Network Nodes的同时创建一个名称相同的ECU。 因此我们通过创建Network Nodes来创建控制面板节点系统则自动创建panel对应的仿真节点。 Network Nodes网络节点是ECUs的通信接口各ECU通过Network Nodes实现 总线上信息的发送和接收每个Network Nodes包含对应的名称和地址。 在导航区右击Network Nodes在快捷菜单中选择新建一个名为Engine的网络节点 并且将节点的地址设为0x1如图所示。
用同样的方法再创建一个名称为Door的节点地址为Ox2和一个名称为Display 的节点地址为0x3。 创建完成后可以看到系统自动生成对应的ECU节点分别在NetWorks和ECUs中都有展示。
配置Message属性
X-Vehicle-1工程中有两种报文DoorStateEngineState。分别创建报文并设置对应属性 报文——Message——CAN上传播的数据Messages报文是总线上节点相互通信的数据。 数据库中每个报文应包含下列属性 本实例中所用报文均为CAN规范文档中所定义的CAN2.0A标准CAN。 可以按下面4中分类理解记忆 【报文结构】Name报文名称 CAN IDCAN标识符 DLCData Length Code,数据长度 Type传输类型 Cycle Time周期 【包含的内容】Signals信号 【收发节点】Transmitters发送节点 Receivers接收节点 【其他】 Layout布局 Attributes通用属性 Comment说明 DoorState EngineState
信号设置 Signal信号是总线通信的最小单元数据库中一个信号由下列属性组成。 【信号格式】Name信号名称 Length[Bits]信号长度 Byte Order字节顺序Value Type数据类型 Unit物理单位 【值设置】Init.Value初始值 Factor加权Maximum最大值 Minimum最小值 【值含义说明】Value Table数值表 【关联哪条报文】Messages报文 【收发节点】Receivers接收节点 【其他】Attributes通用属性 ·Value Descriptions数值描述 ·Comment说明 X-Vehicle中有4个信号引擎速度EngineSpeed、引擎状态OnOff、左车门开关状态Door_L)和右车门开关状态Door_R)。 创建EngineSpeed为例
创建信号Enginespeed(引擎速度〕Length为15bByteOrder为Intel,Unit为r.p.m,ValueType为Signed,Maximum为5500其它设置使用默认值
在 Message 选 项 卡 中 单 击 Add 按 钮 将 该 信 号 关 联 到 报 文 Enginestate 中
将 Enginespeed 信 号 的 Startbit 〔 开 始 位 〕 设 置 为 0 2. 创建信号OnOff引擎状态〕Length为1b,ByteOrder为Intel,ValueType为UnsignedMaximum为1Startbit为15Message为Enginestate’其它设置使用默认值 3. 创建信号Door一L左车门开关状态〕Length为1b,ByteOrder为Intel,ValueType为UnsignedMaximum为1Startbit为0Message为Doorstate’其它设置使用默认值 4. 创建信号DoorR〔右车门开关状态〕Length为1b,ByteOrder为Intel,ValueType为UnsignedMaximum为1Startbit为2Message为Doorstate’其它设置使用默认值 Signal 属性解释 Factor和Offset定义了raw value与physical value之间的关系。 raw value是CAN报文发到 总线上的十六进制数据 physical value是信号所代表的物理量的值例如车速、转速、 温度等。 Init.Value、Minimum和Maximum均为physical value。 raw value 与physical value 之 间的 关系为 physical value([raw value]×[Factor])[Offset]。Byte Order 数据库中信号Byte Order字节顺序分为Motorola和Intel两种数据格式也称为大 端模式和小端模式两种格式介绍如下 2.1. Motorola字节顺序也被称为大端模式它将最高有效字节存储在内存的最低有效地址处而最低有效字节存储在内存的最高有效地址处。这意味着在存储多字节数据时最高有效字节先存储然后是次高有效字节以此类推最低有效字节最后存储。 2.2. Intel字节顺序也被称为小端模式它将最低有效字节存储在内存的最低有效地址处而最高有效字节存储在内存的最高有效地址处。这意味着在存储多字节数据时最低有效字节先存储然后是次低有效字节以此类推最高有效字节最后存储。 大端模式和小端模式的区别在于字节的存储顺序。在同一个多字节数据类型中大端模式和小端模式的字节顺序是相反的。例如整数值0x12345678在大端模式下的存储顺序是0x12 0x34 0x56 0x78而在小端模式下的存储顺序是0x78 0x56 0x34 0x12。 不同的计算机架构可能使用不同的字节顺序。大多数计算机和操作系统例如x86架构和Windows操作系统使用小端模式而一些嵌入式系统和网络协议例如ARM架构和IP协议使用大端模式。 在处理跨平台数据交换时字节顺序变得非常重要。可以使用字节序转换函数将字节顺序从一种格式转换为另一种格式以确保数据在不同平台之间正确解释。 节点收发信号
设置网络节点的发送信号和接收信号
网络节点DisplayMappedRxSig 〔接收信号〕Door_LDoor_R,EngineSpeed,OnOffMappedTxSig 〔发送信号〕无 在NetworkNodes右击DisplayEditNode,在弹出的对话框中选择MappedRxSig单击Add按钮将Door_LDoorR,EngineSpeed,OnOff添加进去 网络节点Door MappedRxSig〔接收信号〕EngineSpeed,OnOff MappedTxSig〔发送信号〕DoorLDoorR网络节点Engine MappedRxSig〔接收信号〕无 MappedTxSig〔发送信号〕EngineSpeed,OnOff
环境变量配置 ValueTable数值表用来文字化地指定信号或环境变量的值所代表的含义例如前面创建的信号OnOff0代表Off状态1代表On状态。 signal和Environment Variables都有这个属性。 环境变量Environment Variables Environment Variable环境变量是ECU、面板和CAPL程序相连接的媒介。 例如在CAPL程序中通过改变或监控某一环境变量的值可以触发特定的动作同样环境变量的值也可以与面板上控制控件或显示控件相关联。 与系统变量相比环境变量仅在CANdb中定义。本实例使用的DBC模板会自动创建两个环境变量EnvKlemmel5和EnvKlemme30,不需要可以直接删除。 环境变量配置 X-Vehicle中有1个环境变量EnvDoorState。按下图配置 环境变量的ValueTabe配置 Value Table数值表是用来文字化地指定信号值所代表的含义如信号On0ff,0代表Off状态1代表On状态
创建VtSig-Eng-Status数值表 name:VtSig_Eng_Status ValueDescription: Ox0:Off 0x1On 关联信号On0ff
在CANdb工具栏上单击valueTables右键-New 编辑VtSig-Eng-Status value表 双击编辑信号关联value table 2. 创建VtSig-Door-Status数值表 name:VtSig_DoorStatus ValueDescription: Ox0:Close Oxl:Open 关联信号Door_LDoor_R 3. 创建VtEnv_Door_Status数值表 name:VtenvDoorStatus ValueDescription: Ox0: BothDoorClose Oxl:LeftDoorOpen 0x2RightDoorOpen Ox3:BothDoorOpen 关联信号EnvDoorState
一致性检验
如果通过一致性检验没有告警或报错那么就完成了数据库的设计。
数据库工程XVehicle.dbc导入工程文件
CAN数据库创建完成后就可以将其导入已经创建的项目文件中。下面将该XVehicle数据库导入前面已创建的项目中。在Simulation Setup的系统视图中右击Database 选择Import Wizard命令在弹出的 对话框中选择XVehicle数据库并将节点Display、Door和Engine添加到Assigned nodes 中如图8.24所示。 发现三个仿真节点加入进来了
总结
在CANdb设计中message是CAN网络中信息的基本单元它包含了一个或多个信号。每个信号代表了一个特定的数据值例如温度、速度等。节点可以通过接收和发送message来进行通信。
在这个过程中信号的具体值是通过环境变量来确定的。环境变量是一组参数可以影响信号的值。例如可能有一个环境变量来表示温度当发送一个带有温度信号的message时可以根据环境变量的值来确定信号的具体温度值。
因此节点根据环境变量来发送和接收带有信号的message以实现适应不同环境的通信需求