虹科CANEasy的开发-VBA篇

如果想要在caneasy中实现自动化功能,那么最快的方式就是使用里面的vba功能。vba最常见的是在excel和word中被用于开发的宏。在caneasy中使用的方式和它们也差不多:我们需要在宏内,让变量匹配到软件中的对象,然后用代码去控制它们。 新建一个vba宏的方式,只要选择vba,然后右键菜单选择新建。这时候会弹出一个vb编译器的界面。
今天我们会做一个简单的实现crc和counter功能的代码,为了方便,我们可以先和硬件建立连接,并新建一个想要实现该功能的报文。具体的步骤可以来咨询虹科。
2
首先,我们在代码中新建ecu和can报文,然后把它们匹配到对应的object。这里我们按照编号来选择第一个channel和第一个control unit,因为这里我建立的对象都只有一个,可以直接匹配到想要的内容。除了像这样匹配序号:set ecu = canbus.controlunits(1)直接匹配名字也是没有问题的set ecu = canbus.controlunits(“ecu”)
在匹配can报文的时候,我选择利用for...each语句进行轮询,保证使用can id为0x123,这样以后新建报文也不会打乱这个顺序了。如果没有对应can id的报文,那么宏也无法执行成功。
  关于调用的顺序和能够使用的属性和方法,可以在帮助文档中找到。目前帮助文档的版本有些旧,我们会在后续推出用doxygen输出的帮助文档。

接下来只要把crc的算法放到vba的宏里即可。这里我选择调用message里的send方法,在宏里控制发送时间。
结果如下图:
4常用内溶
那么接下来讲一些常用的内容:make report方法可以把内容输出到caneasy的状态栏,比较常用例如:makereport connected to bus: + canbus.name, reporttypeinformation
caneasyapplication.sleep 10,它的含义是让程序等待10ms,这里我选择用它来控制报文循环发送的时间。当然,更合适的方式是用event功能,可以在每次报文发送前修改其中的内容。这部分可以参考帮助文档,这里就不做赘述了。不过需要注意的是,这时候需要在主页面提前设置好报文发送的循环时间。
另外,关于设置crc,我们也可以利用caneasy提供的插件,不过这个的详细使用方法就留到下期再说吧。
如果您想要了解更多相关信息,欢迎来电或留言咨询,我们将竭诚为您服务!
虹科汽车电子事业部
 虹科汽车电子事业部在汽车总线行业经验超过10年,与世界知名的can、lin总线供应商peak-system、lipowsky、ihr等合作10年之久,提供领域内顶尖水平的can/lin分析仪和测试方案,同时也提供汽车以太网,时间敏感网络(tsn)的仿真测试工具和方案。虹科自主研发的eol测试软硬件系统已经在业内完成多次安装和测试,事业部所有成员都受过国内外专业培训,并获得专业资格认证,工程师平均5年+技术经验和水平,一致赢得客户极好口碑。虹科车辆网络事业部致力于为您提供最专业的服务。 

教你如何选购性能优秀的扫地机器人
HDMI CABLE 高频线制作全过程
可穿戴设备将如何促进医疗保健
智能电视产业发展面临怎样的挑战?
简述进行​IC设计的方法和设计流程
虹科CANEasy的开发-VBA篇
与您一路同行:从代码质量到全面安全
水晶吊灯diy教程
箱包拉杆往复疲劳试验机的测试项目及参数的说明
REC Peak Energy新型太阳能组件
人工智能技术助力航司精准把握复工复产出行需求
麦当劳首家零能耗旗舰店落地,旨在提供可再生能源满足全部能源需求
台积电:7纳米已大量生产 5纳米将于2019大量生产
为什么手机运行内存越来越大?12G到底有没有必要
单结晶体管(双基极二极管)的工作原理
临界转速测量实验
模块电源散热面温度越低寿命越长越可靠吗
2012年全球大尺寸TFT LCD需求面积预估增加8.8%
嵌入式软件开发常用的开发模型介绍
网关和路由器的区别