TCNOpen实现TRDP通信协议(源码编译运行测试)

概述

本文介绍了通过TCNOpen开源源码实现TRDP通信,包括源码下载,开发环境搭建,编译运行,测试。

Linux环境下编译运行TRDP

(一) 下载CANOpen源码。
下载地址:https://sourceforge.net/p/tcnopen/trdp/HEAD/tree/
TCNOpen实现TRDP通信协议(源码编译运行测试)

(二) 源码编译
下载源码解压过后,在根目录文件readme-makefile.txt有介绍源码的配置和编译方法。
TCNOpen实现TRDP通信协议(源码编译运行测试)

在trdp/config目录下可以看到包含在linux环境下的编译配置文件LINUX_config;执行”make LINUX_config”,生成目标配置文件config.mk。执行”make”开始编译。
TCNOpen实现TRDP通信协议(源码编译运行测试)

编译完成过后,在bld/output/linux-rel/目录下生成很多测试程序,可以运行sendHello测试TRDP的发送。
TCNOpen实现TRDP通信协议(源码编译运行测试)

sendHello的使用方法如下图。
./sendHello -o 192.168.20.185 -t 192.168.20.166 -c 0 -s 1000000 -e -d “Hello World”
-o 是本机的 ip -t 目标机 IP
-m 是 组播地址 (范围:224.0.0.0~239.255.255.255)
TCNOpen实现TRDP通信协议(源码编译运行测试)

运行测试

使用抓包工具wireshark查看sendHello内容。
wireshark安装TRDP插件。在下载的TRDP源码中,/trdp/spy/plugins/3.0/epan中包含trdp_spy.dll插件,把trdp_spy.dll拷贝到wireshark安装目录的plugins里面。
TCNOpen实现TRDP通信协议(源码编译运行测试)

打开wireshark软件,在”编辑”->”首选项”->“protocols”,可以看到多了TRDP协议。
TCNOpen实现TRDP通信协议(源码编译运行测试)
TCNOpen实现TRDP通信协议(源码编译运行测试)

当收到发送过来的TRDP协议数据中,可以看到过程数据PD为“hello world”
TCNOpen实现TRDP通信协议(源码编译运行测试)

TCNOpen实现TRDP通信协议(源码编译运行测试)

在过滤栏中,输入TRDP进行协议过滤。
TCNOpen实现TRDP通信协议(源码编译运行测试)