基于PROFINET总线的FOXBOT机器人与西门子PLC的通信实现

2022-07-04 09:28张庆乐
武汉工程职业技术学院学报 2022年2期
关键词:网卡工作站链路

张庆乐

(武汉工程职业技术学院 湖北 武汉:430080)

0 引言

PROFINET是一项先进的工业通信技术,在全球得到了广泛的应用。PROFINET兼顾高性能和开放性,技术规范中的标准数据通道兼容TCP/IP、UDP/IP通信,并且能够保证至少50%的带宽,可用于工业网络中非实时数据通信。对于某机器人装配工作站,其中的FOXBOT-A1700机器人与S7-1200 PLC之间的通信实现是重要的内容之一,需要充分考虑通信中的约束条件与作业任务具体的工艺要求,其中最重要的一个指标是通信延迟小于1s。进行通信设计有两条路线多个方案进行选择:使用单网卡通信或双网卡通信,TCP通信链路连接成功后,数据传输可以双向进行,但是不能实时全双工通信,数据双向传输需要进行分时处理,同时还需要在PLC和机器人的作业程序间进行同步协调,由于网络延迟的影响,容易出现数据阻塞,严重的时候数据刷新延迟的时间高达几秒至数十秒,导致无法进行正常的调度协调,满足不了作业的工艺要求。使用单网卡进行双向通信需要需要较长的调整时间,稳定性也不好。双网卡通信方案可以比较好的规避双向传送时的数据阻塞问题,每个网卡建立一条通信链路实现单向数据传送。本文以工作站中的通信部分为研究对象,通过分析、设计与实践验证,探寻切实可行的解决方案。

1 工作站系统结构及通信环境

某机器人装配工作站的系统构成包括富士康FOXBOT-A1700机器人系统、迅捷智能视觉检测系统、可调速流水线输送链,各设备的控制系统基于PROFINET现场总线技术进行了互联,总控制柜使用了西门子S7-1200PLC进行集中控制调度,系统结构图见图1。工作站进行作业任务时,通过PROFINET-IO与变频器通信实现对流水线的控制;智能相机将采集到工件信息加工处理后,通过MODBUS-TCP通信将数据传送到总控PLC,总控PLC接收到工件位置数据二次处理后通过TCP通信发送到机器人,同时读取机器人的状态数据,并根据系统的状态信息进行决策调度。

图1 装配工作站系统组成

工作站在实现PLC与机器人的通信设计时使用了如表1所示的软硬件环境。

表1 软硬件环境及IP地址分配

2 机器人FOXBOT-A1700端通信设计与实现

2.1 机器人端通信配置选择

FOXBOT机器人控制系统配置了双网卡进行通信,型号分别为Intel 82567V-3 Gigabit Network(以下简写为NC1)和Intel 82583 Gigabit Network(以下简写为NC2),在通信功能上有所区别。本案例中在TCP通信策略上可以选择通过单网卡双工通信,也可以选择双网卡分别进行单工通信,下面以双网卡通信进行设计与实现。

型号A1700机器人的TCP通信节点有2个,0号节点可设置机器人作为通信客户端或服务器端,1号节点仅可将机器人设置为客户端。在与PLC进行TCP通信时,网卡与通信节点间的约束关系如表2所示。

表2 FOXBOT-A1700机器人与S71200-PLC 间TCP通信约束关系表

机器人与上位机(PLC)进行TCP通信连接时,若作为客户端,需要上位机(PLC)的TCP服务先行启动,否则容易出现连接中断后无法连接的情况出现;做通信服务器端时,则不受影响。工作站进行作业任务时,PLC发送到机器人的数据量大,通信的实时性、稳定性要求较高。根据以上需求,结合机器人的网络通信功能,得出机器人与PLC进行TCP通信的最优配置如表3所示。

表3 A1700机器人与S71200-PLC TCP通信时配置选择

2.2 机器人通信参数配置

(1)网卡IP地址的设置

通过机器人示教器进入“系统选项”,通过“网络线路设置”分别给2个网卡设置IP地址(见表1)和网络掩码(255.255.255.0)。

(2)通信节点的设置

通过机器人示教器新建工程项目,在“通信设置”选项窗口按表4输入参数,并通过“启用”按钮使得通信节点生效。

表4 FOXBOT-A1700通信节点参数设置

2.3 机器人作业任务程序中的通信处理

机器人作业程序的通信部分包括数据结构定义、通信指令应用、通信数据处理和应用,参考如下:

'说明:当使用TcpSendEx/TcpRecvEx指令进行通信时,需要自定义结构体数据类型的变量进行数据包的封装

Type WORKPIECE '定义工件信息结构体

GX As Integer

GY As Integer

GA As Integer

GNO As Integer

GWZ As Integer

GOF As Integer

PGD As Integer

PWZ As Integer

POF As Integer

PZP As Integer

CW As Integer

End Type

Type ROBOT '定义机器人状态信息结构体

SW As Integer

PG As Integer

End Type

Dim FXT As ROBOT '定义ROBOT结构体变量,用于接收PLC传送过来的数据

Dim PRT As WORKPIECE '定义WORKPIECE结构体变量,用于存放发送到PLC的数据

Sub Main

While True

FXT.SW = 0

FXT.PG = 0

TcpSendEx 1,FXT '向PLC发送数据

Delay 500

TcpRecvEx 0,PRT '接受来自PLC的数据

Delay 500

'...其他作业任务代码

Wend

End Sub

3 S7-1200 PLC端通信设计与实现

3.1 通信方式选择

S7-1200 PLC有十分强大的通信功能,支持串行通信、以太网通信、PROFINET 通信,在选择通信方式时,需要根据现场设备支持的通信协议及通信需求进行选择。本案例中FOXBOT-A1700机器人设备在西门子工控系统中属于第三方设备,基于PROFINET总线接入系统后需要使用S7-1200 CPU 以太网通信方式,其中OUC通信(开放式用户通信)服务适用于PLC与上位机或第三方设备进行通信。

OUC通信支持的连接类型有:

ISO-on-TCP(指令有TCON、TDISCON、TSEND、TRCV、TSEND_C、TRCV_C),最大通信字节数8192。

TCP(指令有TCON、TDISCON、TSEND、TRCV、TSEND_C、TRCV_C),最大通信字节数8192。

UDP(TCON、TUSEND、TURCV),最大通信字节数1472。

根据以上分析,选择TCP通信连接类型能满足需求,分别使用TSEND_C和TRCV_C建立2条通信链路进行双向数据传送,其中每条链路只执行单向数据传送,可有效降低数据阻塞的问题。

3.2 通信程序处理及连接参数配置

PLC与机器人单次通信传输的数据总量为26字节,发送到机器人22字节数据,从机器人接收4字节数据,通信程序的主模块见图2。通信指令参数的配置关系到通信链路是否能正常建立,设置为“主动建立连接”侧的单元为客户端,另外一侧为服务器端。TSEND_C用于PLC向机器人发送数据,连接参数配置见图3,TRCV_C用于接收机器人发送的数据,连接参数配置见图4。

图2 PLC与机器人通信程序主模块

图3 TSNED_C连接参数配置

图4 TRCV_C连接参数配置

4 结论

经过分析对比和实践验证,工作站的总控PLC与机器人之间使用单网卡实现TCP通信时,程序设计复杂,协同性要求高,网络延迟高。使用双网卡进行TCP通信时,程序设计相对简单,系统稳定性显著提升,网络延迟低,满足了作业任务工艺要求。

猜你喜欢
网卡工作站链路
左权浙理大 共建工作站
一种移动感知的混合FSO/RF 下行链路方案*
天空地一体化网络多中继链路自适应调度技术
联网全靠它 认识笔记本的无线网卡
戴尔Precision 5750移动工作站
浅析民航VHF系统射频链路的调整
Server 2016网卡组合模式
一种IS?IS网络中的链路异常检测方法、系统、装置、芯片
挑战Killer网卡Realtek网游专用Dragon网卡
德钧关爱工作站