TSMaster新功能发布-如何实现checksum和rolling counter的本地化支持
前言TSMaster近日更新了五大模块的新功能主要包含网络仿真中的checksum和rolling counter的本地化支持、J1939多帧报文收发、MATLAB自动化控制模块等等。小编接下来将在之后推文中给大家以图文教程的形式一一讲解。今天介绍TSMaster的新功能—网络仿真中的checksum和rolling counter的本地化支持该功能可以轻松做到不写一行代码就可以实现带checksum和rc的网络仿真。一、旧版本 VS 新版本旧版本首先回顾一下旧的方法也就是使用小程序对每个信号进行模拟打开这个示例随后按F5启动仿真就可以看到不断递增的rolling counter也就是蓝色的这个三角波。我们展开trace从中把这个checksum拖到图形窗口中就可以观察checksum的实时曲线。再看我们的小程序代码在pretx的回调函数中需要写程序来直接控制checksum和rolling counter的信号倘若涉及到大型的网络仿真那么就需要花费大量的时间每个信号进行逐个处理容易出错同时也会带来效率的问题。新版本新功能则不需要手动处理每个信号我们来新建一个工程试一试。打开工程-工程目录找到TSMaster的安装包自带的示例数据库。例如powertrain我们将它拖入可以看到数据库已经载入。我们选择一帧报文以ABS data为例可以看到这个报文并没有checksum和rc我们需要修改数据库给他加上这两个信号点击编辑按钮打开数据库编辑器我们新建两个信号分别命名为ABS checksum。checksum一般是8位的无符号然后还有一个是ABS。rc一般是4位无符号再将这两个信号拖入ABS data这个报文里面随后我们打开这个报文的配置窗口将dlc改为8切换到layout。我们可以将我们新建的rc拖动到合适的位置接下去是设定checksum的位置这是我们新增的checksum信号由于checksum是保护报文的数据内容的一般位于报文的第一个字节或者是最后一个字节。在这里我们把这个信号拖到最后一个字节这意味着保护的范围是从0到6字节点击确定再点击保存再点击关闭。可以看到TSMaster会自动刷新所编辑的数据库。这时候我们展开报文选择abs data切换到布局窗口我们就可以看到我们新增的两个信号一个是rolling counter在52-55位之间另外一个是checksum在56-63之间。新增的checksum和rc已经按照我们的要求设置成功了。二、checksum和rc的本地化支持关闭数据库编辑器切换到仿真打开rbs窗口双击激活engine节点设置为自启动仿真随后按下F5启动仿真这就可以让rbs来仿真engine这个节点的所有报文。切换到分析打开trace窗口展开abs data报文可以看到我们新增的rc和checksum都是默认的0这时候就需要进行配置回到rbs窗口在rc信号上点击右键设置它为rolling counter信号设置将会立即生效可以看到rolling counter在变化。接着打开一个图形窗口把rc拖入图形就可以看到锯齿波说明rc已经生效接下来就要配置checksum。由于checksum涉及到crc算法库的安装和编辑这个信号是不能够实时的去配置它的所以我们先按F6停止仿真再在checksum信号上右击选择设为checksum信号那么第一次设置会看到系统会安装默认的crc的算法库并且在安装成功后会弹出crc算法列表。我们可以随便选一个算法比如说crc 8。这个时候我们就已经成功的将crc 8的算法和这个checksum信号产生了关联。此时还有一个配置项需要确认那就是这个checksum信号的保护范围默认是从0字节开始保护后面7个字节那么这是可以随时更改。我们可以点击右键选择编辑crc算法参数就可以看到已经配置过的crc信号表。那么双击这个表里面任何一个信号还可以继续修改他关联的crc算法这个时候我们先不修改算法我们只需要知道这个窗口是可以更改保护的字节起始以及保护的字节数就可以了。那么我们现在先点击确认然后我们再次按下F5启动仿真展开abs data报文我们就可以看到checksum已经在刷新了。我们把这个信号拖到图形窗口中就可以看到了checksum的实时曲线而一般情况下checksum的算法都是公司自定义的我们完全可以改写默认的crc的算法库来做到这一点。点击仿真-小程序库可以看到默认的crc的算法库也不过就是一个小程序库而已他提供了21个默认的算法。我们可以在c代码编辑器中找到这个算法库的源代码注意的是这个小程序是以库文件的方式提供的是没有独立的启动和停止按钮的我们在此制定一个crc算法。点右键添加自定义函数取名为mycrc参数表可以随便选一个copy然后我们可以把现有的算法的内容抄进来。比如说这个crc8然后在这个基础上进行修改我们可以随意的改比如说将这个poly 0x17如果要想把我们新的这个函数安装到系统中只需要编译这个算法库就可以当然编译的过程需要保证。首先要停止仿真因为当前的这个算法库依然在被rbs引擎使用此时我们再点击编译就可以看到编译成功并且已经自动安装到我们的系统中。三、如何实现实时曲线我们打开总线仿真在这个信号上点右键重新选择一下crc算法选择我们的mycrc就可以关联成功。然后我们按F5启动仿真切换到图形窗口就可以看到不一样的checksum的实时曲线这是因为这个整个报文里面就只有rolling counter的一个信号在变化所以这个checksum的信号的曲线具有一定的规律那么同时我们也可以让其他的信号也动起来这该怎么做呢1、手动设置方法最快的一种是使用发送窗口的信号生成器。我们可以首先在rbs窗口中将这个报文的周期改为0那这样的话rbs就不会自动发送这个报文然后我们切换到发送窗口点击添加来自数据库的报文选择我们的abs data我们点击发送然后切换到图形窗口就可以看到跟之前一样的曲线。这是新功能的强大之处也就是不管该报文在系统的哪个模块被发出只要rbs是激活状态报文的checksum和rolling counter就能够被正确配置。接下来我们可以激励其中的其他信号比如说carspeed这个信号我们可以将生成器选择为正弦波配置偏移量为150因为它的范围是0到300然后点击应用关闭点击启动生成这个时候就可以看到checksum发生了变化这时候我们把carspeed拖进来就可以看到所有信号的实时曲线。这时候的checksum就显示出了无规则的变化这是因为同时有了两个信号在变化那么以上就是checksum和rolling counter的手动设置方法。2、自动设置方法我们还可以通过小程序API来做到自动设置首先可以清空这两个信号的配置只要在上面点击右键选择设为普通信号那这两个信号就不再具有功能可以看到这两个信号就变成了默认的值然后我们可以打开自动化模块新增一个函数调用搜rc可以从中找到跟rolling counter有关的就是这个can rbs set rc Signal。他只有一个传入参数就是信号的数据库地址。接着我们到总线仿真里面把这个rc信号顶右键的数据库地址拷贝过来这样就实现了这个信号的设置。那么我们可以再增加一个函数调用按回车新建一个新的动作然后我们选择crc相关的函数那么可以看到这个函数名叫set crc Signal他有4个参数。第一个也是信号地址我们就如法炮制选择checksum的数据库地址填入后第二个就是算法的名称那这个名称其实就是刚才我们所选的mycrc那么在这个前面需要加上小程序的前缀所以是crc.mycrc。那么小程序可以看到他的名称是crc所以只需要把这个这个名称加上点再加上函数名抄过来就可以了然后他所保护的字节起始是从第0个字节开始往后保护7个字节那么这样就算设置完毕。

相关新闻

华为云码道CodeArts深度评测:AI IDE的智能补全、Agent调试与避坑指南

华为云码道CodeArts深度评测:AI IDE的智能补全、Agent调试与避坑指南

1. 为什么我要认真聊聊华为云码道 CodeArts 这个 AI IDE这两年 AI IDE 的赛道卷得离谱。前脚 Cursor 刚把「对话式编程」带火,后脚各种带着 Agent、MCP、多模型切换的工具就一茬接一茬地冒出来。我自己从去年开始陆续试了七八款 AI 编程工具,从最早的 Co…

2026/10/5 5:47:22 阅读更多 →
WordPress.com 桌面应用 quit-to-background 机制解析:AppQuit 模块的设计与实现

WordPress.com 桌面应用 quit-to-background 机制解析:AppQuit 模块的设计与实现

前端CMS 【免费下载链接】wp-calypso The JavaScript and API powered WordPress.com 项目地址: https://gitcode.com/gh_mirrors/wp/wp-calypso 点击查看 免费下载 WordPress.com 桌面应用(wp-calypso 仓库 desktop/ 目录)是一款基于 Elect…

2026/10/1 14:37:08 阅读更多 →
Windows安全排查实战:从事件日志到Defender与驱动防护

Windows安全排查实战:从事件日志到Defender与驱动防护

当“Windows 安全”这几个字出现在你面前的时候,通常不是什么友好的提示,而是一个让人烦躁的弹窗:安全中心显示有风险、某个驱动被判定为易受攻击、安全更新怎么都卸载不掉、打开网页被安全策略拦了一道。这些场景我几乎每个月都会遇到。说实…

2026/9/30 21:57:38 阅读更多 →

最新新闻

基于HPM5E00的EtherCAT从站开发实战:从硬件到协议栈全解析

基于HPM5E00的EtherCAT从站开发实战:从硬件到协议栈全解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 5:46:58 阅读更多 →
Ardupilot姿态控制调参实战:从串级PID到MAVLink工具链

Ardupilot姿态控制调参实战:从串级PID到MAVLink工具链

很多搞飞控的朋友做完了传感器校准、电调油门行程校准、解锁自检之后,往往会卡在同一道坎上——飞机第一次离地就天旋地转,或者明明能飞但手感稀碎,悬停时像喝醉了酒。其实这些问题的根源基本都在同一个地方:Ardupilot的姿态控制没…

2026/10/5 5:46:58 阅读更多 →
水彩边缘渗透效果:用 CSS 混合模式 mix-blend-mode 还原真实手绘感

水彩边缘渗透效果:用 CSS 混合模式 mix-blend-mode 还原真实手绘感

水彩边缘渗透效果:用 CSS 混合模式 mix-blend-mode 还原真实手绘感十月四日的傍晚,天边泛起一层粉紫色的晚霞。 我从书架上翻出大学时画水彩用的一本获多福水彩纸。手指轻轻拂过纸面,能清晰摸到棉浆纸表面凹凸不平的细密纹理。拿毛笔蘸饱了掺…

2026/10/5 5:46:58 阅读更多 →
具有生命力的微晃动:纯 CSS 晃动关键帧与多轴物理阻尼模拟悬挂风铃

具有生命力的微晃动:纯 CSS 晃动关键帧与多轴物理阻尼模拟悬挂风铃

具有生命力的微晃动:纯 CSS 晃动关键帧与多轴物理阻尼模拟悬挂风铃在制作带有手作质感与治愈氛围的前端界面时,那些挂在界面角落的微小物件——比如侧边栏上悬挂的一串小铜风铃、手账本脊柱上垂下的编织书签丝带、或是窗棂前挂着的一颗小松果——往往是整…

2026/10/5 5:46:58 阅读更多 →
网卡多队列 RSS 与 CPU 软中断亲和性绑定实战:彻底解决单核中断打满瓶颈

网卡多队列 RSS 与 CPU 软中断亲和性绑定实战:彻底解决单核中断打满瓶颈

网卡多队列 RSS 与 CPU 软中断亲和性绑定实战:彻底解决单核中断打满瓶颈在很多配置了万兆网卡与上百物理核心的高性能服务器上,经常上演一幕极其荒诞的性能灾难:用监控工具查看,整机平均 CPU 利用率只有微不足道的 3% 到 5%&#…

2026/10/5 5:46:58 阅读更多 →
Paperclip 实战:Node.js + React 构建 AI Agent 智能体

Paperclip 实战:Node.js + React 构建 AI Agent 智能体

1. 从“paperclip”这个名字说起:它到底想解决什么问题第一次看到“paperclip”这个项目名,我脑子里蹦出来的画面就是那个经典的曲别针助手——一个看起来不起眼、但总能在关键时刻帮你把散落文件归拢到一起的小工具。放到 AI agent 的语境里&#xff0c…

2026/10/5 5:45:58 阅读更多 →

日新闻

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

马斯克杀回智能体战场,Grok 4.5万亿参数撑腰,Cursor接手数字白领项目:用TaoToken统一Key跑通多模型Agent工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:22 阅读更多 →
AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

AI编程工具插件机制详解:plugin.json配置与加载失败排查指南

1. 从“plugins”这个词说起:它到底在解决什么问题如果你最近在折腾 AI 编程工具,尤其是 Cursor、Codex CLI、Claude Code 这类带 CLI 的编辑器或命令行助手,那你大概率绕不开一个词——plugins。这个词本身不新鲜,从浏览器到 IDE…

2026/10/5 0:00:23 阅读更多 →
第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

第26课:OpenClaw|日志审计与问题诊断:把日志链路改到 TaoToken 的排查清单

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 0:00:23 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 5:06:42 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 1:10:22 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/5 3:06:17 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:14:29 阅读更多 →