【问题记录】Twincat与ROS不同设备上的Ads通信
配置具体方法参照该博客,足够详细路由配置方面仅作些许补充→ TwinCAT3与ROS之间的ADS通信实现_sjtu_way的博客
环境信息 Ubuntu18.04 win10 twincat2/3都通信成功
【路由配置】
ubuntu在设置中写好静态ip,此处无图可参看顶部博客,足够详细,保证和windows处于同一网段
windows上在 按win+i打开设置→网络和Internet→以太网→更改适配器选项 找到对应的网口设置ipv4
→
Twincat2/3静态路由设置方法参照↓
【Ads库文件】
根据顶部博客配置好后,在github下载 Beckhoff/ADS: Beckhoff protocol to communicate with TwinCAT devices. (github.com)其文件库。
使用meson编译,unbuntu可直接用sudo apt-get install安装,需要以来ninja与python3.7+,但本机python3.6也正常完成编译,。
【ROS】参考github上的 lemanhtrung/twincat_talker: ROS interface for Beckhoff TwinCAT PLC (github.com)
根据自己的需求改写CMakeLists和库文件。
可能出现的问题
①port不对
AdsDevice route{remoteIpV4, remoteNetId, AMSPORT_R0_PLC_TC3}; //第三个参数通常TC3 AMSPORT_R0_PLC_TC3 对应port 851 ; TC2 AMSPORT_R0_PLC 对应801
②一直卡在上面这句代码,之后屏幕上输出 Socket connect fail, 关闭Windows的防火墙即可。
③Ads operation error code 1797 : template里的数据类型不对。如读写INT,需uint8_t ,uint32_t即会报错。具体原因带查询即可知道如何使用
④Ads operation error code 1808: 就是没找到你要操作的变量
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧