技术干货

abb机器人视觉抓取,Socket通讯那块到底咋配的?

2801209588
2801209588
2026/03/29 12:53

手上有个活,abb 1200配的海康威视相机做视觉抓取,PLC走Profinet,相机结果想直接发给机器人走动作。用的是标准的Socket通讯那套,robotstudio里pcinterface已经装好了,示教器这边flexpendant端socket的指令也写过,但是相机那边发过来的字符串格式老是对不上,要么头几个字节丢了要么直接报错。视觉那边供应商说他们只负责发x y z r的坐标,别的他们不管。

想问下各位走过的兄弟,abb这边socket的server端具体怎么配?send receive那几条指令的timeout一般给多少合适?还有就是数据包的结尾符,abb默认是哪种?有人用C写的发,0x0D0A结尾,我这边死活收不全。

15 3

全部回复 (3)

chl1998
chl1998#1

Socket那块我上个月刚调完一台abb 6700配巴斯勒相机的项目,套路跟你说下。RobotStudio里PC Interface装完,示教器进FlexPendant → ABB → Communication → 那个Transmission Protocol一定要选RAW,千万别选默认的,选用ASCII或者二进制都不行,那个会把你发的每一个字节前面加一堆乱七八糟的协议头。然后主程序里就直接用SocketOpen打开,端口一般2000或者5000都行,server端用SocketReceive自己起个长连接循环,timeout给5秒就够,别给1秒太快了相机那边响应慢。结尾符最稳的方案是0x0D0A也就是\r\n,C端用write的时候记得flush,不然缓冲区内核没给发出去,机器人这边就一直卡在SocketReceive。你说的丢头几个字节大概率就是timeout给太短,相机刚连上机器人的时候三握手的第一个包确实容易超时被丢。

2026/03/29 19:47
生意兴隆
生意兴隆#2

我就想问一下,你那台abb 1200的控制器是OmniCore的还是IRC5的?这两个做socket完全两码事,OmniCore那套新系统要装616-1那个PC Interface授权,贵得要死,不装的话你示教器里根本找不到Socket那几个指令。IRC5的话直接装标配的PC Interface就行。如果你那边已经装好了能进那个菜单,那基本就是配置问题;进不去的话先回去看硬件型号再折腾别的,免得白调半天。

2026/03/30 06:15
老吕
老吕#3

我们厂里去年做了四台abb 1410视觉抓取,相机是基恩士的,说真的基恩士和abb配合是真的省心,它有个专门的机器人通讯协议直接吐xyzr加一个Done位,比啥socket省事多了。你这个海康的硬要自己做socket挺费劲的,要不让他们写一个c#的中转小工具,跑在机器人控制柜旁边那个工控机上,工控机和机器人再走socket,工控机负责把海康的SDK数据解出来再按abb的格式发过去。我司那两台混线视觉抓取就是这么干的,稳跑了快一年没出过问题。

2026/03/30 07:34