AGV调度系统需要与MES、WMS、ERP等外部系统实时交换数据。选择合适的接口协议直接影响系统的响应速度、可靠性和开发成本。本文对比HTTP、MQTT、TCP/IP三种协议,提供选型决策依据,每部分均包含技术参数和适用场景分析。
一、HTTP/RESTful API:简单易用,适合低频非实时任务
HTTP协议基于请求-响应模式,RESTful API是当前最流行的Web服务接口。特点:使用JSON格式(轻量,易解析),开发简单(各种编程语言均有成熟库),跨平台,防火墙友好(默认端口80/443)。实时性:请求响应延迟通常在100-500ms(取决于网络和服务器负载),不适合毫秒级要求的场景。适用场景:任务下发(MES下发工单到RCS,频率每秒10-20次)、状态查询(查询AGV位置、电量,每5秒轮询一次)、历史数据上传(作业日志,每分钟批量上报)。安全性:支持HTTPS加密(TLS1.2/1.3),Token认证(JWT或OAuth2.0)。典型交互示例:MES调用RCS的POST /api/v1/tasks接口创建搬运任务,请求体包含{"task_id":"T001","from":"A01","to":"B02"};RCS返回{"code":200,"task_id":"T001","status":"accepted"};MES可定时轮询GET /api/v1/tasks/T001获取任务状态。优点:开发成本低(2-3人天即可完成对接),调试方便(可用Postman测试)。缺点:实时性差(需轮询),轮询增加服务器负载。成都蓉希智能的RCS提供完整RESTful API文档(100+接口),支持Swagger在线测试。
二、MQTT:轻量级发布订阅,适合实时数据推送
MQTT是物联网常用协议,基于发布订阅模式,代理(Broker)转发消息。特点:协议轻量(头部仅2字节),支持QoS0/1/2(最多一次、至少一次、恰好一次),确保消息不丢失。实时性高(毫秒级,端到端延迟通常10-50ms)。适用场景:AGV实时位置上报(每100ms发布一次位置坐标)、任务状态推送(完成、异常、取消等事件)、报警通知(急停、碰撞、低电量)。发布订阅模式:AGV作为客户端发布状态到主题(如/agv/001/position),MES/WMS订阅该主题,实时接收。QoS配置:位置上报可用QoS0(允许丢失),任务状态用QoS1(确保送达)。Broker选型:EMQX(开源,支持10万并发连接)或Mosquitto(轻量)。优点:实时性好,带宽占用小(每个位置消息约50字节)。缺点:需要维护Broker(增加一个组件),调试相对复杂(需订阅主题)。成都蓉希智能的RCS内置MQTT Broker(基于EMQX),可配置主题和QoS,并提供订阅示例代码。
三、TCP/IP自定义协议:高性能、低延迟,适合实时控制
TCP/IP自定义协议是指直接基于Socket开发二进制协议,实时性最高。特点:开发者自定义报文格式,通常包含帧头(2字节0x55AA)、命令字(1字节)、数据长度(2字节)、数据体(自定义)、校验(1字节异或或CRC16)。实时性:延迟可低至10-50ms(同一局域网内)。适用场景:AGV与RCS之间的实时控制指令(如急停、速度设置、路径切换)、高频数据交换(每10ms交换一次)。优点:实时性最强(无协议栈开销),可定制性高,带宽利用率高(二进制比JSON小3-5倍)。缺点:开发工作量大(需处理粘包、拆包、心跳),调试困难(需用Wireshark抓包),扩展性差(修改协议需双方同步)。适用规模:大型AGV集群(>50台)或对实时性要求极高的场景(如汽车总装线同步)。成都蓉希智能的RCS与AGV之间采用自定义TCP协议,心跳间隔3秒,命令响应时间<20ms。
四、协议选型决策矩阵
选型建议:与第三方系统(MES/WMS)对接,推荐HTTP/RESTful(简单标准,适合90%场景)或MQTT(需要实时推送时)。RCS与AGV之间通信,推荐TCP/IP自定义协议(实时性高)。混合使用架构:外部接口用HTTP/MQTT,内部RCS-AGV用TCP。安全性:内网使用可不加密,外网需HTTPS或TLS(TCP可加TLS)。实时性要求:任务下发可接受秒级延迟选HTTP;位置监控需毫秒级选MQTT或TCP。开发资源:资源有限选HTTP;有专业嵌入式团队可选TCP。成都蓉希智能的RCS同时支持三种协议,可根据客户需求灵活配置,并提供对接示例代码和联调支持。
五、实施案例与集成要点
案例:某汽车工厂MES与RCS集成,使用HTTP下发任务(每天5000次,峰值每分钟100次),MQTT接收任务完成状态。MES调用RESTful接口创建搬运任务(平均耗时120ms),RCS完成后通过MQTT推送结果(延迟30-50ms),实现秒级响应。集成要点:设计心跳机制(HTTP可无心跳,MQTT需KeepAlive=60秒),检测连接状态;实现重连和消息补发(MQTT自动重连,任务状态本地缓存);定义统一的数据格式(时间戳ISO8601、任务ID UUID、状态码自定义)。安全要点:HTTP使用HTTPS+API Key;MQTT使用用户名/密码+TLS;内网部署可简化。成都蓉希智能提供接口开发培训(2天)和联调支持,确保系统稳定对接,已有50+成功集成案例。


