overview前言
今天给大家介绍TSMaster小功能之总线负载率如何在图形里绘制曲线,想要实现这个功能,需要借助TSMaster中的统计、图形/面板功能来实现。
步骤一
在C脚本启动事件里添加上com.enable_bus_statistics(true),其作用是启用总线统计计时器以计算总线统计。
步骤二
运行C脚本后,在系统变量-内部变量就可以找到当前总线负载率变量。
为什么需要进行这一操作呢?这是因为内生系统变量是跟随系统自动生成,自动释放的。
以设备统计信息为例,如果添加了 CAN1 备,才会动态生成 StaticsCAN1 相关的统计信息;如果删除 CAN1 设备,那么这些统计信息会消失。这也就意味着统计模块默认下是跟着TSMaster一起启动的,如果在没有启动TSMaster应用程序则统计模块就不会启动,此时就无法在系统变量中看到有关统计的系统变量。我们可以通过C小程序的API来启动统计模块,这样就可以在不启动工程的前提下获取到统计设备信息相关的系统变量。
步骤三
在图形窗口中添加总线负载率的系统变量来观察图形,同时加载DBC中的EngSpeed信号。
步骤四
1. 在面板中添加图形、输入输出框、图像按钮控件;将图形控件的信号数量设置为2,并且与输入输出框控件一起绑定通道二的总线负载率变量;将图形第二个信号绑定为DBC中的EngSpeed信号。
2. 设置图像按钮控件的图形数量为3,对应的Value分别为1、2、3,绑定C小程序中创建的变量Bus_load_status,同时再使用对应的图片(Image)通过该控件来表示总线负载的状态。
3. 在C小程序中通过CAN接收事件读取系统变量总线负载率的值来进行状态值的判断,发送事件会在每一次报文发送成功后触发,同时在负载率超过80%时捕捉EngSpeed下降沿,在下降沿时刻留下一些注释,实现代码如下。