各位大佬:现在有一块PCB上面采集到的数据(很多个单体电芯的电压,还有温度这些),然后通过CAN通讯可以通过上位机读取出来,我知道通讯协议,想用winform来制作一个仅仅显示数据的上位机去读取各个数据,没什么思路,帮帮忙,菜鸡勿喷!

解决方案 »

  1.   

    首先,你要确定can总线所有的设备,每个设备都应该有一个地址(在协议中),这样用于确定各个设备;
    第二,can总线的数据你怎么收发数据知道吧;()
    第三,你应该知道设备对can总线的控制权,假如各个设备都可以自动往can总线上写数据,那么设备肯定已经协调好can总线的使用顺序,你就不用担心了,只管处理数据就行;假如没有设备自动往can总线写数据,而需要去查询,你做到查询和收取数据完成就可以了。
    最后,就是对数据的处理了,解析协议的问题,自己解决。
      

  2.   

    你是还没有硬件连接设备吧,首先需要一个USB_CAN 硬件(CAN分析仪),将电脑与pcb通过CAN 总线连在一起。 
    然后,使用这个设备驱动就变成USB通信编程了,厂家往往还提供API,只用把协议的数据发送接收处理就可以了。
      

  3.   

    首先,消息接收,你可以使用你用的CAN卡的驱动库,看看例子就能明白;
    其次,如果你要从CAN消息中解析出具体的数据,那你要实现CAN消息的解析功能;当然了,如果你做的小系统,CAN协议是固定的,没有变更的,可以将解析的逻辑写死了
      

  4.   

    我这有 买过的 USBCAN,里面有自带上位机 的DEMO,包括C#.
      

  5.   

    电脑不带CAN总线,所以就要想办法转成电脑可以接收的形式,一般是USB转CAN,就是上面说的USBCAN,通过USB转CAN设备就可以通过设备提供的DLL里的接口读取CAN总线上的报文,具体的报文数据解析自己实现就行了