一、启动ZCANPRP,打开设备管理页面,选择类型CANFDNET-200U-UDP,如图1
图1
二、打开设备,启动,在相应页面如图2,配置协议,CANFD 加速,本地端口,IP地址,工作端口。
图2
三、发送相应数据,如图
探究对应的二次开发页面
四、后台发送数据结构(参考来源周立功网站公开的二次开发源代码)如下
4.1CAN
public struct ZCAN_Transmit_Data
{
public can_frame frame;
public uint transmit_type;
};
public struct can_frame
{
public uint can_id; /* 32 bit MAKE_CAN_ID + EFF/RTR/ERR flags /
public byte can_dlc;
public byte __pad; / padding /
public byte __res0; / reserved / padding /
public byte __res1; / reserved / padding /
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 8)]
public byte[] data
};
接收端实际接收数据举例
4.2CANFD
public struct ZCAN_TransmitFD_Data
{
public canfd_frame frame;
public uint transmit_type;
};
public struct canfd_frame
{
public uint can_id; / MAKE_CAN_ID + EFF/RTR/ERR flags /
public byte len; / frame payload length in byte /
public byte flags; / additional flags for CAN FD,i.e error code /
public byte __res0; / reserved / padding /
public byte __res1; / reserved / padding */
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]
public byte[] data
};
接收端实际接收数据举例
五、数据对应位置研究
1、can发送方式
2、帧类型
3、协议
4、不同时段发送
以上分析:这4个字节代表不同时段,不同帧类型、发送方式、CANFD加速
5、CANFD比CAN数据差值:87-31=56;结构数据Size差值:64-8:56;
六、个人分析通过ZCAN工具发送UDP数据时,UDP接收并解析数据,只需关注第14-17Bypte 的4字节帧ID及22~29 8字节数据即可,其中第0Byte的55代表CANFDNET的UDP接收,第1Byte的0代表CAN协议,1代表CANFD协议。