紧急求助

ros2 foxy想跟西门子1200走TCP,节点写C++还是用现成包?

老叶
老叶
2026/07/06 12:26

刚接触ros2 foxy,做的项目要跟现场一台1200走通讯,主要是周期性读几个寄存器的状态,偶尔写一两个。网上搜了一圈说法挺乱,有的说直接写socket节点自己拼协议,有的说用snap7这种库跨平台省事,还有的让上opc ua再转一圈。

我们这边就一台plc、点位也不多,延迟要求大概100ms以内就行。有没有实际跑过foxy+1200的兄弟,节点用C++还是Python写?要不要上ros2_control那一套,还是直接走话题发布就行?

68 4

全部回复 (4)

蔡鹏
蔡鹏#1

你这延迟要求,话题周期设50ms完全没问题。1200那边TSEND_C配好就行,别想太复杂。

2026/07/08 11:54
小赵
小赵#2

snap7在foxy上踩过坑,依赖老版本libsnap7,arm平台编译要改CMake。你就一个plc别折腾了。

2026/07/08 12:01
aa884862
aa884862#3

才几个寄存器就别上ros2_control了,浪费。直接c++写个节点定时发请求,标准socket就够,100ms随便打。

2026/07/12 22:23
aa371195
aa371195#4

为啥不问问plc那边支不支持opc ua?1200加个license就能当server,比自己写协议稳。

2026/07/14 07:42