首页 > 其他分享 >使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真

时间:2023-05-17 16:32:45浏览次数:34  
标签:仿真 TSMaster 总线 LIN RBS 信号 节点

本文导读

RBS 全称是:residual bus simulation,也就是所谓的剩余总线仿真。主要是基于车载网络数据库,如 CAN/LIN/FlexRay/以太网数据库,仿真该网络内部各个节点的通讯行为。

本文主要讲解 TSMaster 中 LIN RBS 的操作流程。


本文目录:

一、硬件连接准备

二、TSMaster软件 LIN RBS 操作流程

1. 导入 LDF 文件

2. LIN 通道选择

3. 进行 LIN 总线仿真配置

3-1. LIN主从节点激活

3-2. 配置项说明

4. 修改 RBS 仿真节点的信号值

4-1. LIN 剩余总线仿真修改

4-2. 结合C脚本修改信号值

4-3. 结合面板修改信号值


一、硬件连接准备

首先连接同星 LIN 硬件,使用同星 LIN 硬件仿真主节点模式下,需要外部电源供电,为了保持 LIN 总线电平信号跟被测件一致,连接示意图如下:

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_控件

▲注意:如果使用 TC1012P、TC1016P 以及 TC1026P,为 USB 供电的型号,不需要外部供电。


二、TSMaster 软件 LIN RBS 操作流程

1. 导入 LDF 文件

通过【数据库】加载 ldf 文件,也可以直接将 ldf 文件拖入到 TSMaster 中。可以查看到 LDF 文件里的节点, 其中标红的为主节点,数据库中包含了节点调度表信息,报文和信号定义:

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_数据库_02


2. LIN 通道选择

在硬件栏的【通道选择】中选中 LIN,选择好【应用程序通道】数量,接着在通道选择处有下拉选项可以选择带有硬件名称和序列号的真实硬件通道(如图为 TC1016):

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_赋值_03


3. 进行 LIN 总线仿真配置

3.1 LIN 主从节点激活

通过【仿真】->【LIN 总线仿真】打开 LIN 总线仿真模块,在 LIN 剩余总线仿真中可以查看到已绑定数据库的通道有网络、节点、调度表和报文激活勾选选项。

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_控件_04


其中红色的节点为主节点如 HVAC,在此处勾选激活网络->节点->调度表后,就可以通过 RBS 来仿真该节点,启动仿真后,在报文信息窗口中可以查看到节点中的报文收发信息。

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_数据库_05

3.2 配置项说明

TSMaster 的 RBS 模块,主要包含如下的配置项:

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_控件_06

➢ 自动启动剩余总线仿真:如果使能,则在连接应用程序的时候,自动启动剩余总线仿真模块。

➢ 当信号被更改时自动发送信号所在报文:如果使能,则信号修改的时候立即发送该报文。


4. 修改 RBS 仿真节点的信号值

4.1  LIN 剩余总线仿真修改

勾选了需要仿真的网络节点及调度表后,展开调度表->报文->信号,在信号的数据字节栏可以看当当前仿真信号的信号值,在此处直接输入可更改仿真的信号值:

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_数据库_07

4.2 结合 C 脚本修改信号值

在 RBS 模块配置完之后,打开一个 c 小程序模块,可以看到有 LIN 相关的接收\发送\预发送事件,当前需要对总线仿真中的信号值进行赋值,步骤如下:

1)首先创建该报文的 LIN 发送事件和预发送事件,在 LIN 发送事件里定义需要赋值信号的报文,然后使用 transmit_lin_async 函数发送该报文,主要是为了触发LIN 预发送事件:

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_控件_08

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_赋值_09


2)触发了预发送事件之后,就可以在预发送事件里直接对信号赋值,赋值之后编译执行脚本,可以在报文消息窗口看到该信号的值已经更改:

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_赋值_10

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_数据库_11


4.3 结合面板修改信号值

1)先在【仿真】->【面板】创建一个面板,创建一个输入控件,此处使用选择器,双击控件选择 LIN 信号(图一),然后找到仿真节点下的发送报文的信号进行绑定(图二)。

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_控件_12

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_控件_13


2)在面板选中控件在属性出可以更改控件的值(图一),然后启动仿真,使用选择器控件即可修改仿真信号的信号值(图二)。

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_数据库_14

使用教程 | 基于TSMaster如何实现LIN RBS 剩余总线仿真_赋值_15

标签:仿真,TSMaster,总线,LIN,RBS,信号,节点
From: https://blog.51cto.com/u_15714299/6292250

相关文章

  • 山东算法赛网格事件智能分类topline
    赛题链接:http://data.sd.gov.cn/cmpt/cmptDetail.html?id=67baseline:https://aistudio.baidu.com/aistudio/projectdetail/3371314?contributionType=1分数:0.749+ 任务(1)赛题任务基于网格事件数据,对网格中的事件内容进行提取分析,对事件的类别进行划分,具体为根据提供的事件描述,......
  • linux下查看局域网内所有存活主机和MAC进址
    linux下查看局域网内所有存活主机和MAC进址安装nmap软件yuminstallnmap-y1.常用,探测网络上的存活主机,可以简单判断主机的类型nmap-sP192.168.1.0/24nmap-sP172.27.20.0/242.常用,探测指定网络上的存活主机及其开放的端口nmap-sS192.168.1.0/24nmap-PU192.168.1.......
  • linux-cmd-kill
    kill命令介绍kill命令用了关闭执行中的进程。是通过向进程id发送信号来工作。默认的信号为SIGTERM(15),通知进程关闭。语法参数语法:kill[-ssignal|-p][--]pid...kill-l[signal]常用参数:-l<信息名或数字>:默认-l参数会列出全部的信号名称,指定信......
  • AMD Xilinx AXI Interrupt Controller 中断优先级
    中断优先级AXIInterruptController支持中断优先级。在VivadoBlockDesign中,bit-0连接的中断优先级最高,越靠近bit-0的中断优先级最高。AXIInterruptController的手册pg099中的描述如下:Prioritybetweeninterruptrequestsisdeterminedbyvectorposition.Theleas......
  • Linux安装Kafka
    1.Kafka简介Kafka也是开源与Apache开源基金会的项目,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统。在百度百科是这样介绍的:Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处......
  • SpringBoot项目预加载数据——ApplicationRunner、CommandLineRunner、InitializingBe
    0、参考、业务需求参考:https://www.cnblogs.com/java-chen-hao/p/11835120.html#_label1https://zhuanlan.zhihu.com/p/541268993业务需求:缓存数据字典数据、初始化线程池、提前加载好加密证书1、方式实现ApplicationRunner接口实现CommandLineRunner接口实现In......
  • linux-cmd-nc端口测试
    nc命令检测端口监听TCP端口33333nc-l33333检测TCP端口连通性172.20.0.1端口33333nc-vz172.20.0.133333检测UDP端口连通性172.20.0.1端口40001nc-vzu127.0.0.140001......
  • Linux 操作系统安全加固措施
    #Linux操作系统安全加固措施1.定期更新系统和软件包定期更新操作系统和软件包可以保持系统最新,以修复已知的安全漏洞和弱点。您可以使用以下命令在CentOS上更新软件包:sudoyumupdate2.禁用不必要的服务禁用不必要的服务可以减少系统暴露在攻击风险之下的机会。您可以使......
  • linux 替换^M字符的方法
    linux替换^M字符方法在Linux下使用vi来查看一些在Windows下创建的文本文件,有时会发现在行尾有一些“^M”。有几种方法可以处理。1.使用dos2unix命令去掉行尾的^Mdos2unixmyfile.txt2.使用vi的替换功能:%s/^M$//g#去掉行尾的^M。:%s/^M//g#去掉所有的^M。:%s/^M/[ct......
  • Leetcode-Easy 806. Number of Lines To Write String
    题目描述给一个字符串S,从左到右将它们排列行,每行最大长度为100,,同时给定一个数组withds,widths[0]对应着a的宽度,widths[1]对应着b的宽度,...,widths[25]对应着z的宽度。求:至少需要多少行以及最后一行的长度下面是一个实例:Example:Input:widths=[10,10,10,10,10,10,1......