跳到主要内容

202507 海康机器人标准机滚筒上装改造

· 阅读需 4 分钟

本项目基于海康机器人标准机进行改造,在车体上层加装滚筒机构,并由 PLC 控制滚筒动作。滚筒机构带升降功能,用于智能货柜取放货与机台对接。项目使用海康 4.2.8 版本。

路由

AGV路由

AGV使用海康标准车,外加PLC和工业路由器,工业路由器配置(Client-Router)模式,Client接收客户生产网络,Router连接AGV内部PLC。PLC使用汇川easy321。

增加端口映射,将内部PLC的502端口映射到工业路由器的502端口。

机台路由

机台由上位机和PLC组成,机台有生产网络,PLC与上位机由交换机相连使用内部局域网。

有两个方案,一种是上位机程序中转PLC(WebApi),另一种是AGV直接与PLC对接。

这里使用AGV直接与PLC对接。使用windows作为路由方式。比较便捷

netsh

netsh interface portproxy 创建一个策略,使 Windows 监听指定的 IP 地址和端口,并将所有传入的 TCP 连接转发到另一个目标 IP 地址和端口。

确保 "IP Helper" 服务正在运行。你可以在 "服务" (services.msc) 中检查并启动它

netsh interface portproxy add v4tov4 listenaddress=[监听IP] listenport=[监听端口] connectaddress=[目标IP] connectport=[目标端口]
  • listenaddress: 你希望接收外部请求的那个网卡的 IP 地址。
  • listenport: 在该网卡上监听的端口。
  • connectaddress: 你希望将流量转发到的目标网卡的 IP 地址。
  • connectport: 目标服务实际监听的端口。

一个 TCP 服务运行在 10.0.0.2 的 502 端口上。 您希望将所有访问 192.168.1.100 的 502 端口的流量,都转发给 10.0.0.2 的 502 端口。命令如下:

netsh interface portproxy add v4tov4 listenaddress=192.168.1.100 listenport=502 connectaddress=10.0.0.2 connectport=502

其他常用命令

查看所有转发规则:

netsh interface portproxy show all

删除指定的转发规则:

netsh interface portproxy delete v4tov4 listenaddress=192.168.1.100 listenport=80

重置所有端口代理规则:

netsh interface portproxy reset

流程

机台分为上料机和下料机,上料机送满料,取空盘,下料机送空盘,取满料。

智能货柜有10个仓位,每个仓位存储3个货物。人为定义4空6满。

流程

输送线对接

对接流程可以参考 输送线对接

AGV上装PLC,是一个可升降的输送线。 AGV上下料时,AGV先提升到对接高度,然后再输送线对接。

Wcs配置

智能货柜

马达机台

AGV输送线

任务编排

任务编排

首先将系统注册到海康Rcs应用中。

从这张编排图看,这个子流程实际是 3 个节点串起来:空车移动 -> 空车移动 -> SDK解锁车。中间两个“继续执行消息事件”只是把前一个移动节点的车号继续传给后一个节点,不额外承担业务动作。

因此,下面这段流程更准确:

  1. 第一个 空车移动 节点负责取第一个点位,并在这里锁车。 这个点位直接从目标料箱库位反查站点,表达式可以写成:

    ${binSdk.getSite('BIN',submitParam.targetRoute[0].code).siteCode}
  2. 第二个 空车移动 节点负责把同一台车继续移动到第二个点位。 这个点位按现场需要配置,可以是回退点、对接点或者下一个缓存点;AMR 车号沿用上一个节点传下来的锁定车辆。

  3. 最后使用 SDK解锁车 节点释放车辆。 这一步不能省,否则这台车在两个移动节点执行完后仍然会保持锁定状态,后续任务无法继续分配。

待优化点

  1. 海康RCS系统没有根据任务状态查询任务的接口,所以需要查询机台正在执行任务的时候,只能系统创建一个副本任务,查询副本任务的状态。