网关服务操作指南

1 环境配置

1.1 软硬件说明

(1) 硬件网关
电压:12V~24V
电流:0.5A~1A

(2) 博图软件
版本:TIA Portal V16

(3) GSD文件
GSDML-V2.41-AUBO-irj45-20230720.xml

(4) 硬件 PLC
S7-1200 CPU 1214C DC/DC/DC 6ES7 214-1AG

(5) 网关服务配置文件说明

ICM 服务进程配置文件默认存储在 /root/arcs_ws/config/aubo_icm.conf 中,里面包括一些网关使用过程的必要配置,使用前可对其进行设置,具体选项如下:

配置项说明:

配置项 描述 默认值 是否必需
protocolType 协议类型:1:Profinet,2:Ethernet/IP,3:EtherCAT; 1
littleEndian 数据存储格式:0:大端,1:小端; 0
ipAddr 网关模块 IP; 192.168.0.100
netmask 网关模块掩码; 255.255.255.0
gateway 网关模块网关; 192.168.0.1
port 网关模块端口; 505
protocolMode 协议模式:1 min mode,2 standard mode,3 custom mode; 2
pnCoilNumber 线圈数量; 64
pnRegisterNumber 寄存器数量; 32
controlRobot 控制机器人关键字: 0 不可控制, 1 可控制机器人工程开启、暂停等功能。控制工程启动时,需判断机械臂是否在准备点; 1
readyPointIO 机械臂是否在准备点; 0
portName 控制柜设备串口号: /dev/ttyS*(若通过 usb 连接控制柜,可通过命令 ls /dev/ttyU* 查看当前串口号); /dev/ttyS0
slaveId 从站编号; 1
baudrate 波特率; 115200
dataBit 数据位; 8
parity 奇偶校验; none
stopBit 停止位; 1
controlRobotInManualMode 是否在手动模式下控制机器人; 1

注意:上述网关的配置为默认设置,可根据实际情况修改设置,例如,Profinet 通讯的 IP 和站名一般由博图等软件进行设置,上述配置一般不用改动,可直接使用。

1.2 网关接线介绍

1.2.1 网关各硬件模块简介

各接口模块说明:

  • 模块1: 指示灯,蓝色表示连接成功;
  • 模块2: WLAN3,内部微控制器网口,预留;
  • 模块3: WLAN2,WLAN1,工业协议双端口,WLAN1连接 PLC,WLAN2连接博图软件所在电脑;
  • 模块4: 电源(DC,12V~24V);
  • 模块5: RS485 总线,与控制柜通信;
  • 模块6: CANFD,内部微控制器预留;

备注:该硬件模块支持 Profinet、Ethernet/IP、EtherCAT 三种工业协议,根据软件进行选择使用,参见【ICM 网关服务配置文件】。

1.2.2 硬件接线图

image-20240910182045282

(1) 电源线(红正黑负),图中直接从机械臂控制柜供电;
(2) usb 转 485 通讯线,现场使用需使用屏蔽线,金属外壳接地;
(3) 正确接线,通电后硬件网关的 绿灯 (如上图中的网关绿灯状态)亮起;网关与 PLC 连接成功,并可以正常通信,硬件网关的 蓝灯 亮起。

2 网关与 PLC 通信配置

此处的配置以 Profinet 协议为例,其它协议的配置类似;

2.1 PLC 新建 Profinet 工程

双击打开博图软件,进入主页面,选择【开始】->【创建新项目】,如下图所示,并按照步骤标注操作。

2.2 西门子型号与版本配置

在新建的工程下双击【添加新设备】->【控制器】/CPU/CPU 1214C DC/DC/DC 6ES7 214-1AG40-0XB0,如下图所示选择。核对信息后【确定】。

2.3 PLC 设置

搜索机械臂设备站 打开工程,【在线访问】->【电脑网卡名称】,双击【更新可访问的设备】,如下图所示:

2.4 网关 IP 与设备站配置

双击【在线和诊断】,如下图所示操作步骤,分别配置 IP 地址、设备站名称。

注:若显示的有默认 IP 地址和设备站名称,应该是之前进行过设置,查看 IP 和名称没有问题后,可跳过该步骤(2.4)继续往后操作;

分配网关 IP 地址

分配网关设备站名称

2.5 PLC 导入 gsd 文件

在博图软件菜单栏【选项】->【管理通用站描述文件(GSD)】,如下图所示:

注:GSD 文件由 AUBO 开发提供,可以找相关工程师获取较新版本。

安装成功如下图所示提示,安装成功后【关闭】即可,如下图:

2.6 PLC 组态

双击【设备组态】->点击【网络视图】->【其它现场设备】->【IO】->【AUBO Robot】-> 双击【AUBO_Module】,如下图所示:

添加成功如下图所示:

单击未分配,选择②,如下图所示:

组态成功如下图所示:

通信设置:
双击 AUBOIODEV1 中 Ethernet 端口,如下图标注:

槽模块添加:
双击【模块】中的各个槽,在界面右侧【模块】中,双击 1-6 个槽,添加到设备,如下图所示:

配置 AUBOIODev1 的 IP :
双击 Ethernet 端口,选择【以太网地址】,设置网关设备站IP 地址,设置设备站名称,如下图所示:

推荐 IO 周期设置:

PLC IP 配置:

单击【网络视图】->单击 PLC【Ethernet】端口,选择【以太网地址】,设置 PLC 的 IP 和设备名称,如下图所示:

2.7 保存项目 > 编译 > 下载 > 装载

所有配置完成,保存项目,操作①~⑤,编译 -> 下载,搜索设备,下载;如下图所示步骤:

注意:若步骤④【开始搜索】置灰,请检查 AUBO 机械臂站名设置是否一致。根据提示一步步操作,直到出现【装载】。

2.8 运行并转至在线

将 PLC 切换至运行模式,点击【转至在线】,如下图所示执行步骤:

PLC 与网关设备站连接成功,界面全部呈绿色连接状态,如下图所示:

3 PLC 与控制器通信

3.1 功能简介

硬件网关作为不同协议间转换的中转设备,一端通过 RS485 连接机器人控制器,一端连接 PLC 设备,使得 PLC 可以读取机器人 IO 状态、位姿信息、线圈和保持寄存器等数据内容,同时可以通过控制工程实现机器人工程的启动、暂停、继续、停止等功能。目前网关支持 Profinet、Ethernet/IP、EtherCAT 三种协议类型,本次测试使用 Profinet 协议类型。

通信示意图:

3.2 ICM 使用方法

3.2.1 ICM 启停

网关服务 ICM 作为后台进程与 PLC 进行数据交换,使用 ICM 需导入 OEM 包,安装方式请参考 如何安装OEM包 ,安装完成并重启设备后,会重新启动ICM,ICM实现了自启动功能,也可通过手动方式进行启动暂停,命令如下:

  • ICM 运行日志查看命令: tail -f /root/arcs_ws/log/icm/aubo_icm.log

  • ICM 通信日志查看命令: tail -f /root/arcs_ws/log/icm/icm_register.log

  • ICM 服务启动命令:systemctl start aubo_icm

  • ICM 服务停止命令:systemctl stop aubo_icm

  • ICM 服务重启命令:systemctl restart aubo_icm

  • ICM 状态查看指令:systemctl status aubo_icm

网关正常运行时,使用命令: systemctl status aubo_icm ,输出信息如下:

3.2.2 日志显示

(1) ICM 日志文件

ICM 服务程序日志系统用于记录程序执行的相关信息,默认存储在目录 root/arcs_ws/log/icm/ 中,日志包括两种:

  • aubo_icm.*.log 存放的是 ICM 的运行日志;
  • icm_register.*.log 存放的是 ICM 的通信日志;
(2) ICM 的运行日志

root/arcs_ws/log/icm/aubo_icm.log 内容如下:

运行日志解释说明:

  • 出现 ICM is Running 时,表示 ICM 服务进程启动成功;
  • 出现 Run program 时,表示 PLC 控制机器臂执行“开始程序”动作,其它动作的日志类似;
(3) ICM 的通信日志

root/arcs_ws/log/icm/icm_register.log 内容如下:

运行日志解释说明:

  • plc set bool input 0: 0 ==> 1 表示 PLC to Robot 使用 getBoolInput(0) 读取 PLC slot_5 起始地址第一个 bool 量, 原值为0,读取到的值为1;
  • plc set int16 register 0: 100 ==> 200 表示 PLC to Robot 使用 getInt16Register(0)读取 PLC slot_5 的第9个字节开始的第一个 word(16Bit) 量,原值为100,读取的值为200;
  • robot bool output 0 changed: 0 ==> 1 表示 Robot to PLC 使用 setBoolOutput(0,true),将 PLC slot_4 起始地址第一个 bool 量(原值为 false )置为 true;
  • robot int16 register 32 changed: 183 ==> 381 表示Robot to PLC 使用 setInt16Register(32,381),将 PLC slot_4 保持寄存器 ( slot_4 第9个字节作为保持寄存器起始地址) 第一个数据(原值为 183 )写入值381;

示教器日志显示

使用 PLC 控制工程的相关操作会把日志显示在示教器的日志界面中,目前支持上电、启动机器人、启动工程、暂停工程、继续工程、停止工程等,具体内容需要参考最新的协议;日志显示如下:

日志解释说明:

例如:Debug message signal: HoldingRedister addr:0 value:3 action: startup

表示控制器端在地址为0的保存寄存器中接收到 PLC 端传输的信号值“3”,触发了控制器端的上电动作;

注:当 PLC 读取数据失败时,可通过查看日志系统进行确认。

3.3 PLC 与 控制器通信示例

本次通信使用 Profinet 协议,PLC 与机械臂进行通信包括的内容有

  • 机械臂 IO 状态(slot_1)

  • 机械臂位姿(slot_2)

  • 机械臂关节电流电压温度(slot_3)

  • 线圈保持寄存器(slot_4、slot_5)

  • 控制工程(slot_6)

其中 slot_1、slot_2、slot_3 可通过 PLC 直接进行读取,slot_6可通过 PLC 直接进行写入,slot_4、slot_5 线圈和保持寄存器的内容, 通过 ARCS 系统脚本调用的方式实现,具体使用方法如下文;

注:协议会更新,请联系工程师获取最新的协议(Profinet、Ethernet/IP、EtherCAT );

线圈
slot_4、slot_5 中前8个字节作为线圈(bool量)使用,第9个字节开始作为保持寄存器使用
(1) PLC to Robot
bool0 = getBoolInput(0),读取 PLC slot_5 起始地址第一个 bool 量,并保存在变量 boll0 中

(2) Robot to PLC
setBoolOutput(0,true),将 PLC slot_4 起始地址第一个 bool 量置为 true。

保持寄存器
(1) PLC to Robot
tmp1 = getInt16Register(0),机器人读取 PLC slot_5 的第9个字节开始的第一个 word(16Bit) 量,并保存在变量tmp1 中。

(2) Robot to PLC
setInt16Register(32,3),将 PLC slot_4 保持寄存器 ( slot_4 第9个字节作为保持寄存器起始地址) 第一个数据写入值3,其中 setInt16Register 的起始地址为 32。

PLC 端读写数据

在博图软件中根据 Profinet 地址协议对 PLC 中的地址进行读操作和写操作,如下图示例:

注意:该图中监控的地址是测试时根据协议地址表随意填写的,实际应用中根据实际情况更改;

4 常见问题

4.1 通讯失败

(1)检查硬件接线是否正确,网线及串口线是否有松动,网关和 PLC 的电源线是否松动;
(2)查看能否 ping 通网关和 PLC,网关与 PLC 连接成功后,蓝灯亮起,PLC 无红灯亮起;
(3)查看 ICM 的运行日志,出现如下日志时,说明网关服务运行正常,否者,有问题;

(4)ICM 自动生成的配置文件不能直接用,需按照实际情况配置,配置参考如下:

4.2 通讯成功,读取数据错误

(1)数据变化,但是结果不正确,需要对配置文件 littleEndian 项进行修改,看看是否选错大小端;
(2)数据不变化,但是 ICM 服务进程正在执行,需重启 ARCS 软件,并观察日志最后一行,出现 AUBO-ICM is Running 代表服务已启动,并与网关正在进行数据传输;

results matching ""

    No results matching ""