讨论

发那科机器人用上位机走以太网通讯,一般都用啥协议啊?

何国强
何国强
2026/05/19 15:41

刚干这行没多久,现在项目上要让发那科机器人和上位机(我们自己写的C#程序)通讯,主要是想实时读机器人的位置、状态,偶尔还要下发一些IO信号。看了两天手册有点懵,KAREL、PROFINET、EthernetIP、ModbusTCP这些到底用哪个?听说有的协议还要额外买授权?

另外上位机和机器人那边握手、掉线重连这些一般咋处理的,有没有踩过坑的兄弟说说经验,我们现场用的R-30iB Plus控制柜。

13 3

全部回复 (3)

诚信经营
诚信经营#1

看你实时性要求高不高。要求高就走PROFINET或者EtherNetIP,走标准的工业以太网,周期能到4ms甚至2ms,但发那科这边一般要加个ProfiNet Option或者EIP Scanner的板卡,那个是要单独花钱买的,一两千欧那种。

如果只是监控状态、下发IO这种,ModbusTCP最省事,控制柜自带以太网口,30分钟就能跑通demo。我们现在产线就用ModbusTCP轮询寄存器位置数据,刷新周期100ms,非高速场景够用了。掉线就TCP keepalive加心跳包,超过3秒没收到就当断线重连。

2026/05/19 21:45
肖威
肖威#2

你们C#程序是自己写的就直接走PC Developer Kit那套,基于套接字写,协议叫SRTP。控制器IP地址配好,端口默认18735还是18736忘了,反正在那附近。读位置用PC读取,发送程序用PC Write。这个免费的。

但是手册上写的那几个功能号一定要对清楚,错一个寄存器直接报错,别问我怎么知道的。

2026/05/20 14:55
小宋
小宋#3

上位机C#的话装个FANUC的PC SDK试试,里面有现成的类库,R-30iB Plus是支持的,搞起来比自己啃协议快得多。就是SDK版本要和机器人系统版本对应上,不然编译都过不了。

2026/05/24 03:54