采集busload数据

1、使用canoe记录busload的值

前提:组长跟我说让我找一下canoe能否记录busload的数据,类似log一样,这玩意,我刚学咋知道。只知道在Analysis----statistics----canstatistics有表格可以观察到相关数据。busload位置
分割线----------------------------------------

2、通过capl去实现此功能

有任务,完成任务。
有困难,克服困难。
于是查找了一点资料,并将其完善。(默认你是会用canoe的)

在此处右击插入insert program node插入------------------------------------------------------
双击新建的节点,重新生成一个.can文件
简单写一下
1、通过1s采集一次busload数据

/*@!Encoding:936*/
variables
{
  msTimer Timer1;//定义时间
  int Busload = 0;
  long time[9];
  char timeBuffer[64];

}

on start
{
  setTimer(Timer1,1000);
}
on timer Timer1
{
  {setTimer(Timer1,1000);}
  write("CAN1:BUS Load:%f",@sysvar::_Statistics::CAN1::Busload);//输出负载率
  getLocalTime(time);
  write("busload time on %02d/%02d/%02d %02d:%02d:%02d.%-3d",
	  time[5]-100, time[4]+1, time[3], time[3], time[2], time[1], time[0]);//输出当前时间
  write("      ");
}
on key 'A'
{
  cancelTimer(Timer1);//A键取消

分割线------------------------------------------------------------
2、通过指定报文采集,因为有些报文的周期不相同,可以采集该报文发送时的负载率。(我随便按照一个message去实施,on message 0x103,如果是针对所有的报文则是on message *)

/*@!Encoding:936*/
variables
{
  //msTimer Timer1;
  int Busload = 0;
  long time[9];
  char timeBuffer[64];

}
on message 0x103
{
  write("CAN1:BUS Load:%f",@sysvar::_Statistics::CAN1::Busload);
  getLocalTime(time);
  write("busload time on %02d/%02d/%02d %02d:%02d:%02d.%-3d",
	  time[5]-100, time[4]+1, time[3], time[3], time[2], time[1], time[0]);
  write("      ");
}

分割线------------------------------------------------
3、通过按键触发

/*@!Encoding:936*/
variables
{
  int Busload = 0;
  long time[9];
  char timeBuffer[64];

}
on key 'B'
{
  write("CAN1:BUS Load:%f",@sysvar::_Statistics::CAN1::Busload);//
  getLocalTime(time);
  write("busload time on %02d/%02d/%02d %02d:%02d:%02d.%-3d",
	  time[5]-100, time[4]+1, time[3], time[3], time[2], time[1], time[0]);//
  write("      ");
}

最后输出的内容以及点击红色框子导出txt文件
在这里插入图片描述

over

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值