1. Fanuc机器人Socket通信基础配置
第一次接触Fanuc机器人的Socket通信时,我也被那一堆系统变量和菜单选项搞得晕头转向。经过几个项目的实战,我发现只要掌握几个关键配置点,就能快速搭建起机器人与上位机的通信桥梁。先说说最基础的环境配置,这是整个通信链路能否正常工作的前提。
在ROBOGUIDE仿真环境或真实控制器上,首先要确保Karel编程环境已经启用。这个设置藏在系统变量里,路径是MENU > SYSTEM > Variables。找到$KERAL_ENB这个变量,把它设置为1。这个步骤很多新手容易忽略,结果后面写好的程序死活运行不起来。记得有次我在客户现场调试,花了两个小时才发现是这个开关没开,那叫一个尴尬。
IP地址配置是另一个容易出问题的环节。在MENU > SETUP > Host Comm路径下,按F3进入DETAIL界面。这里有个细节特别重要:F3【PORT】可以切换物理网口,一定要选择和实际接线一致的端口。我有次把网线插在Port#2上,却在软件里配置了Port#1,排查了半天才发现问题。IP地址要和上位机在同一网段但不同地址,比如机器人设192.168.1.111,上位机可以用192.168.1.100。如果是ROBOGUIDE仿真,IP地址要和电脑网卡保持一致。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. TCP服务器模式详细配置
当机器人需要作为服务器等待上位机连接时,配置稍微复杂些。还是在Host Comm界面,按F4【SHOW】选择3进入SERVER设置。这里会看到S1、S2默认用于FTP服务,我们可以从S3开始配置自己的TCP服务器。
选择空闲的服务器槽位(比如S4),按F3【DETAIL】进入详细设置。Protocol要选SM(Socket Messaging),这个选项决定了通信协议的类型。Startup State建议先设为DEFINE,等所有参数确认无误后再改为START。Server IP/Hostname这里要填上位机的IP地址,这个容易搞反 - 是填连接方的地址而不是机器人自己的地址。
端口号设置有两个方法,我一般推荐直接在Karel程序里用SET_VAR函数动态设置,这样更灵活。例如设置S3的端口为59002:
karel复制SET_VAR(entry, '*SYSTEM*','$HOSTS_CFG[3].$SE
