JAKA通讯使用手册

介绍

为了帮助用户更好地使用JAKA的通讯功能,本手册介绍了节卡如何与市面上主流的PLC进行数据交互。本手册中的示例仅选用了部分型号,即使是同一厂商的PLC,由于通讯参数和设备版本的差异,使用方法不完全相同,因此本手册仅供初步使用参考,更进一步的使用请联系相应PLC品牌的本地供应商。

本次验证基于以下PLC型号,表中分别给出了使用的固件版本和上位机的软件版本,推荐在已经验证过功能的版本或更高版本使用。

PLC型号

固件版本

软件版本

罗克韦尔

5370 L3 1769-L33ER

20.18

RSLogix 5000 V20.00.00 (CPR 9 SR 5)

西门子

6ES7317-2EK14-0AB0

3.2.18

TIA Portal V16

三菱

CPU:FX5U-80MT/DSS

1.2450

GX Works3 Version 1.090UEtherNetIPConfiguration Tool for FX5-ENET IP V1.00A

扩展:FX5-ENET/IP

1.1

施耐德

TM241CE24R

5.1.10.10

EcoStruxure Mchine Expert Version 2.1

欧姆龙

CPU:CP1H-X40DT-D

1.3

CX-Programmer 9.50

扩展:CJ1W-EIP21

3.0

基恩士

CPU:KV-8000

2.602

KV STUDIO 11.62

扩展:KV-XLE02

1.400

台达

AS228T-A

1.12.50

ISPSoft Version 3.15COMMGR 1.12

汇川

Easy522‑0808TN

5.67.0.0

Autoshop V4.8.1.0

JAKA设备的EtherNet/IP支持作为Adapter使用,PROFINET支持作为Device使用,均为普遍意义上的从站,Modbus功能支持主从功能。由于Modbus RTU与Modbus TCP在使用流程上主要区别于连接参数,因此暂时仅对Modbus TCP进行验证,另外多数PLC厂商的Modbus主站通过梯形图触发通信,因此针对每家厂商未作重复验证。特定PLC型号未在教程中提及的通讯功能并不代表JAKA不支持,而是PLC并未集成此功能或验证困难。

环境搭建

节卡控制柜和PLC建立通讯后,PLC可以实时读取机器人的各项性能参数, 例如:机器人状态,各关节的角度、速度、温度,以及TCP的位置、速度和受力值,同时,PLC也能通过不同类型数据的寄存器与控制柜进行数据交互。

在使用PROFINET和EtherNet/IP前,需要下载如下文件:

备注

请联系JAKA技术服务人员获取

  • PROFINET标准版GSDML文件: GSDML-V2.41-JAKA-JAKARobot-20210722.xml

  • EtherNet/IP标准版EDS文件:

控制器版本 1.7.0_46~1.7.1_26_rc: JAKARobot.eds

控制器版本 1.7.1_27_rc~1.7.2_8_rc: JAKARobot.eds

控制器版本1.7.2_9_rc及之后版本,针对MiniCab进行了认证并更新了EDS文件,与标准柜EDS文件不兼容,需区分使用:
CabV2.1: JAKA_CAB.eds
MiniCab: JAKA_MiniCab.eds

注:

  • GSDML文件(General Station Description Markup Language)是用于描述PROFINET协议工业网络设备特性的文件格式。它通常用于配置和管理工业以太网设备。GSDML文件包含了设备的参数、功能和通信特性等信息,在使用JAKA的PROFINET功能前需要在主站导入此文件。

  • EDS文件(Electronic Data Sheet)是一种用于描述Ethernet/IP协议设备通信协议、对象字典和参数配置的文件格式。它通常用于配置现场总线设备。EDS文件提供了设备的详细描述,在使用JAKA的EtherNet/IP功能前需要在主站导入此文件。

设备间的简易连接示意如下,需要保证PLC、上位机和控制柜在同一网段内,下文所述的使用方法和步骤均基于三者之间可互相访问。

Illustration

节卡控制柜通讯功能建议使用控制柜的底部网口,JAKA Zu App(下文简称App)也可以通过底部网口与控制柜连接,但为了避免App与控制柜的数据传输影响通信功能,建议App使用面板上网口或WIFI与控制柜相连。

注:底部网口需要处于处于激活状态(连上电脑或路由器),才能使用相关通信功能。

使能EtherNet/IP,PROFINET

由于Ethernet/IP及PROFINET使能步骤基本一致,因此一并说明。

默认情况下,Ethernet/IP及PROFINET功能处于关闭状态,使能的具体步骤如下:

步骤一:打开最新版本JAKA Zu App,点击App右上角的”未连接“图标进入机器人连接界面。

Illustration

步骤二:点击想要连接的机器人并输入管理员密码(默认密码为jakazuadmin)使App与控制柜相连。

Illustration

步骤三:在App界面, 点击“设置”→“硬件与通讯”→“Ethernet/IP设置”或“PROFINET设置”, 开启使能开关,并点击“确定”,手动重启控制柜。重启控制柜步骤如下:

  1. 回到主界面,点击”关闭本体电源“→位于界面右上角的”关闭“按钮,关闭控制柜;

  2. 控制柜关闭后,短按手柄开机按钮,待蜂鸣器响后,控制柜开机;

  3. 打开JAKA Zu App,重新连接机器人,具体操作见步骤一和步骤二;

  4. 进入主界面,点击“打开本体电源”。

重新连接控制柜后可在“EtherNet/IP设置”或“PROFINET设置”界面查看状态。状态为“未成功连接主站”,则EtherNet/IP已成功使能,等待主站连接。

Illustration

使能 Modbus TCP/IP,Modbus RTU

由于Modbus TCP/IP及Modbus RTU使能步骤基本一致,因此一并说明。

默认情况下,Modbus TCP/IP及Modbus RTU功能处于开启状态,使能的具体步骤如下:

步骤一:打开最新版本JAKA Zu App,点击App右上角的”未连接“图标进入机器人连接界面。

Illustration

步骤二:点击想要连接的机器人并输入管理员密码(默认密码为jakazuadmin)使App与控制柜相连。

Illustration

步骤三:在App主页, 点击“设置”→“硬件与通讯”→“Modbus设置”。

  1. 若开启Modbus TCP/IP,则勾选Modbus TCP/IP前的单选按钮,输入端口号(0~65535),点击“确定”;

  2. 若开启Modbus RTU,则勾选Modbus RTU前的单选按钮,输入从站节点号(1~128),选择波特率、数据位长度、停止位长度、校验方式,点击“确定”。

Illustration

IO数量配置说明

EtherNet/IP

在地址分配表中,数据类型排列的顺序为:DIO布尔型、AIO整型和AIO浮点数型。其中:

DIO:布尔型,占1位(bit),每8个DIO组成一个字节,因此DI和DO的IO数量配置需为8*n个,n为正整数,使对应的DI和DO数据长度为整数字节,

AIO:整型和浮点数型均占4个字节(byte)。

按照使用场景,EtherNet/IP的IO数量是可配置的。在usersetting中,如果Mode = 0,代表EIP使用标准的IO数量,如果Mode = 1,代表可以配置IO数量。

scanner需要导入eds文件以与控制器的adapter匹配,目前JAKA提供以下eds文件,其含义和应用场景分别为:

JAKARobot.eds

标准版的eds文件,参数不可配置不可修改,为固定值,具体IO数量定义在usersetting中:

[EIP]

Enable = 1

Mode = 0

DI_NUM = 64

DO_NUM = 64

AI_INT_NUM = 24

AI_FLOAT_NUM = 24

AO_INT_NUM = 24

AO_FLOAT_NUM = 24

其中DO和AO输出的数据长度总和最大为204个字节, DI和AI输入的数据总长度总和最大为492个字节。

JAKARobotSetup.eds

定制版本的eds文件,IO数量可以配置,需要在控制器内将usersetting的mode改为1,再修改IO数量。

其中DO和AO输出的数据长度总和最大为492个字节, DI和AI输入的数据总长度总和最大为492个字节。

PROFINET

节卡机器人PROFINET IO数据传输操作,请参考节卡机器人地址分配表,由4个表组成,分别是表格说明、Robot2PLC、PLC2Robot以及脚本函数。在Robot2PLC和PLC2Robot表中定义的每个数据占4个字节,即0 ~ 31 位,重点内容如下:

传输类型: R->P (Robot->PLC)或者传输类型 P->R(PLC->Robot),表明了数据传输的方向;

单元模块(Unit Group): 表明了数据类型和所属模块,数据类型为:机器人状态、安全设置,属于第一个模块。比如:1_R->P_Robot_Safety, 代表数据模块编号为1,传输方向R->P (Robot->PLC),Robot表示机器人状态,Safety表示安全设置,32 字节为已使用地址,4 字节为预留地址。 其他的单元模块内容与此类似。

PLC设置: 包括各个单元模块对应的插槽、子插槽编号和PLC上地址,如1_R->P_Robot_Safety对应1号插槽,1号子插槽,PLC输入I地址为0 ~ 35 字节。

Illustration

PLC通讯实例

罗克韦尔5370 L3 1769-L33ER

所需软件:RsLinx Classic,BOOTP-DHCP Server,RsLinx Classic Launch Panel,RsLogix 5000,JAKA Zu App,Wireshark(非必须)

EtherNet/IP

  1. 在不清楚PLC当前IP地址的情况下,可以使用Wireshark确认PLC的IP地址,使用windows自带的cmd工具ping设备以测试PLC是否处于组网中。如果与控制器和上位机不在同一网段内,请跳至步骤二,尝试修改PLC的IP地址;如果已经处于同一网段内,则至步骤四继续执行。

  2. 打开软件RsLinx Classic,点击Configure Drivers菜单,在弹出的对话框中, 选择Ethernet/IP Driver, 点击Add New,按照默认配置,完成后点击Ok。

    Illustration
  3. 点击网络节点图标,弹出WRWho对会话框。点击ABETHIP_1,会刷新出PLC和Ethernet/IP的模块信息,连接正常表示已正确组网。右键点击PLC可以修改其IP地址,使其与控制器和上位机处于同一子网段内。

Illustration
  1. 打开BOOTP-DHCP Server软件,将自动搜索与电脑连接的设备。

Illustration

注:如自动搜索未发现PLC的MAC地址,请关闭电脑的防火墙功能,手动输入MAC地址。在下半栏选中IP地址,然后点击Disable BOOTP/DHCP。

  1. 打开RsLinx Classic Launch Panel软件, 点击Start。

Illustration
  1. 点击菜单栏Tools,选择安装EDS文件,注册EDS文件, 一直点击下一步,直到完成配置。

Illustration Illustration
  1. 打开RsLogix 5000软件,创建新项目。选择所使用的PLC型号,输入项目名称,浏览项目保存位置,点击确认。

Illustration
  1. 在左侧栏右键点击以太网,选择新建module,在弹出的窗口中找到模块JAKA Ethernet/IP Adapter, 点击创建,输入模块名称,注意此处IP地址需要与控制柜的Ethernet/IP地址相同。

Illustration Illustration Illustration
  1. 点击更改按钮,可设置数据的类型,为了便于数据显示,这里选择DINT类型。

Illustration

注:如果使用定制版本,需要手动配置EIP的模块,则配置如下:

PLC到EIP的输出ID为100

EIP到PLC的输入ID为101

PLC输出最大字节数为492字节

PLC输入的最大字节数为492字节

  1. 点击网络节点,弹出活动页对话框,选择 PLC模块, 然后点击联机,弹出对话框,下载程序。

Illustration
  1. 选择联机,使PLC处于运行模式,连接状态正常之后,右键点击控制器标签,选择监控Tag,可以看到PLC从机器人读取到了部分数据。

Illustration Illustration
  1. 在App上打开Ethernet/IP数字输出DO1和DO2按钮,设置整数 AO1为123。

Illustration
  1. 查看RsLogix 5000相应的数据,,I.Data[72]和I.Data[75]显示相应的数据正确。数据的地址可参考文件节卡机器人EthernetIP地址分配表确定。

Illustration

Modbus TCP

主站

AB的PLC自身均不支持Modbus TCP通讯,使用AB PLC需要配第三方的协议转换网关将ModBusTCP协议转换为AB自己的Ethernet/IP协议。因此罗克韦尔PLC首先必须有具备EtherNet/IP协议的以太网接口。

从Logix5000编程软件15版本(实测20版本及以上)以后,对于CompactLogix和Controllogix系列的PLC,支持了使用PLC程序编写出来的ModbusTCP协议通讯,并且可作为Master和Slave与其他第三方设备进行通讯,AB官方提供的例程分为Master和Slave两部分,可按需分别使用。Master功能部分可能会占用PLC内200-230K的存储空间,Slave功能部分可能会占用PLC的280-300K空间

由上可知,罗克韦尔不支持原生的Modbus TCP协议,需要通过其EtherNetIP的以太网端口实现。

可以自行编写PLC程序来支持Modbus,也可在罗克韦尔下载示例程序,下面对官网给出的示例程序作简要验证。

  1. 新建工程,选择MainRoutine,在右侧的空白区域点击右键选择Import Rungs

Illustration
  1. 导入示例程序中的.L5X文件,可以修改程序内参数的名称,通过Tags标签的Final Name选项。

    Illustration
  2. 点击ok导入,在Modbus TCP Client块内右键点击,选择Monitor。

Illustration
  1. 对于5370系列而言,LocalSlot的值为0,将其他条目如EtherNet/IP的端口地址、Modbus从站的ip地址和端口号按实际进行填写

Illustration
  1. 回到MainRoutine选项,将inp_Enable置为1,代表启动Modbus Client功能,对于RSLogix 5000而言,同时需要将程序编译并下载到PLC,最后切换到运行状态

Illustration
  1. 监控表可以设置Pollinterval(刷新时间)、Transtype(功能码)、Stationid(从站ID)、BeginAddress(起始地址)、Count(地址数量)等基本参数,此外还需要设置LocalAddress,此参数代表与Modbus Slave的起始地址对应的Modbus Client的起始地址。

Illustration
  1. Modbus Client同样使用4个寄存器存放数据,完成起始地址的映射后,可以直接修改寄存器内的数据,如此处将Slave的起始地址设为了40,修改coils下的数据可以发现,成功更新到了控制器的内部

Illustration

西门子 6ES7317-2EK14-0AB0

所需软件:TIA Portal V15,JAKA Zu App

PROFINET

  1. 打开TIA Portal V15软件,点击创建新项目,弹出新建项目窗口后,更改项目名称(如jakaPNIO),然后点击浏览按钮,选择存储位置并确定,再点击创建,此时已经新建了一个项目并保存在了指定的路径下

Illustration
  1. 在建立的项目窗口中,依次点击设备与网络->添加新设备->控制器, 选择PLC的型号,再点击添加

    Illustration
  2. 双击PLC模块,在常规的菜单下点击以太网地址,修改PLC的IP地址

Illustration
  1. 如果使用了PLC S7-300则需要修改IO地址映射的大小,使地址映射值大于688字节,IO地址映射小于此值可能会导致数据丢失,因为我们PROFINET IO的最大地址范围为0到688字节。

Illustration
  1. 在菜单栏选项菜单中,点击管理通用站描述文件(GSD),弹出相应的窗口,点击浏览按钮,找到文件GSDML-V2.41-JAKA-JAKARobot-20210722.xml的路径,载入后选中该文件,然后安装, 等待安装完成,关闭窗口

Illustration Illustration
  1. 在左侧栏双击设备和网络,在右侧栏硬件目录,点击其他现场设备,选择PROFINET IO, 找到JAKA_V1.0, 双击或直接拖到界面即可

Illustration
  1. 点击PROFINET设备的未分配,选择PLC_1.PROFINET接口_1

Illustration
  1. 单击PROFINET设备DP-NORM图标,在下方的菜单栏中选在以太网地址,修改PROFINET设备的IP地址。(注意,修改的是PROFINET设备的地址,对应的是JAKA的PROFINET虚拟设备,而非JAKA的控制柜底部网口地址,因此设置的IP必须是和控制柜在同一网段且不相同的地址)

Illustration
  1. 点击IO周期,在更新时间的区块选择手动设置更新时间,在更新时间的下拉框中更选择PROFINET的数据更新时间,由于此设备的最小更新时间为8ms,所选择的数值应该大于或等于8ms。

Illustration
  1. 双击名为jaka的PROFINET设备,切换到硬件设备概览的页面,在硬件目录的模块下能看到被定义的各IO数据块。将数据块拖入到对应的插槽中。

Illustration Illustration

11.切换到设备和网络界面,选中PLC,依次选择编译和下载的图标。

Illustration
  1. 双击左侧栏在线和诊断,在线访问的配置如下,然后点击转至在线, 即可观察PLC与PROFINET连接情况,以及实现PLC和PROFINET实时数据传输的观察。

Illustration
  1. 在左边菜单栏监控和强制列表下,新建监控表,根据PROFINET IO地址分配表,对DI、AI、DO和AO对应的地址进行操作,即可实现控制器和PLC之间的数据传输。

Illustration

Modbus TCP

主站

西门子同样通过编程实现Modbus TCP协议,S7-300可以使用MODBUSPN模块

  1. 在工艺对象内插入MB_PN_PARAM

Illustration
  1. 进入组态进行连接设置,设定IP地址、端口号等参数

Illustration
  1. 设置Modbus的数据区域

Illustration
  1. 根据工艺对象的数据区域,添加4个区域块

    Illustration
  2. 创建数据块

Illustration
  1. 调用通信指令,设置对应参数

Illustration Illustration

后续操作与罗克韦尔类似,在指令中对参数进行更改,可以与Modbus TCP通信,但此功能需要西门子的授权密钥

三菱 FX5U-80MT/DSS

所需软件:MELSOFT GX Works3,EtherNet/IP Configuration Tool for FX5-ENET/IP,JAKA Zu App

EtherNet/IP

FX5U默认ip为192.168.3.250;FX5 ENET/IP默认IP为192.168.3.251

需要使用扩展模块FX5-ENT/IP开启EtherNet/IP功能,此功能需要软件EtherNet/IP Configuration Tool for FX5-ENET/IP,可在三菱官网或联系供应商获取

  1. 使用GX works3登录FX5-ENET/IP的配置文件

Illustration Illustration
  1. 新建工程,选择对应型号的PLC

Illustration
  1. 从信息模块中拖入FX5-ENET/IP,与FX5U完成拼接

Illustration
  1. 打开三菱EtherNet/IP Configuration Tool for FX5-ENET/IP工具,点击Description中add添加配置模块并更改地址,注意与模块的ip地址保持同一网段。

Illustration
  1. 选择device library添加eds文件。

Illustration
  1. 将eds文件直接拖至TCP/IP下方,注意配置其IP与模块同网段。

Illustration
  1. 可以使用配置界面的ping功能测试是否成功连接。

Illustration
  1. 点击在线并将配置下载到模块

Illustration
  1. 由于三菱模块需要通过程序运行,且需要功能块激活,因此配置下载完成后需要回到主界面编程触发EtherNet/IP功能,安装了FX5-ENET/IP的配置文件后,部件库出现了自带的标准功能块,选择添加模块标签

Illustration
  1. 点击在线-当前连接目标进入连接界面

Illustration
  1. 点击其他连接方法,打开连接目标指定画面

Illustration
  1. 双击设备网络进行FX5U的IP设置

Illustration
  1. 点击搜索,双击搜索出的设备并点击确认

Illustration
  1. 点击通信测试,此时应显示已成功连接

Illustration
  1. 添加M+FX5ENETIP_Class1SetOutputdata_01A模块测试发送数据功能,编写测试程序如下

Illustration
  1. 此时EtherNet/IP Configuration Tool for FX5-ENET/IP已配置完成,点击全部转换并写入FX5U

Illustration
  1. 全选并执行写入,然后重置PLC,可以通过断电的方式实现,注意此时网线应接入FX5U单元。

Illustration
  1. 重启后将网线从FX5U拔下并接入FX5-ENET/IP,同样进入在线-当前连接目标确认与EIP模块的通信正常,然后打开监视

Illustration
  1. 光标放在M1001开关,使用Shift+Enter改变输入信号触发此函数功能块

Illustration
  1. 使用模块触发EIP功能后,此时App侧应显示成功连接主站

Illustration
  1. 若在EtherNet/IP Configuration Tool for FX5-ENET/IP进行诊断,将显示设备正常在线

Illustration
  1. 右键函数块,打开在线-软元件/缓冲存储器批量监视

Illustration
  1. 监视D1015并更新,此时数据应更新到DI和AI

Illustration
  1. 浮点数同理,可以通过监看窗口查看对应软元件的值,需要注意的是,软元件存储器以16位为单元存储数据,有符号整数和浮点数都需要高低位共同组成准确的32位数据

Illustration
  1. 拖入M+FX5ENETIP_Class1Getinputdate_01A模块测试接收数据功能,编写测试程序如下,每次编译写入需要将网线插在CPU单元,即FX5U,而实际使用EIP功能时,需要将网线插回FX5-ENET/IP

Illustration
  1. 在App修改DO和AO的值,观察值的更新

Illustration
  1. 浮点数同理

Illustration

Modbus TCP

从站

  1. 打开以太网设置下的Modbus/TCP设置,双击对象设备连接配置设置

Illustration
  1. 将Modbus/TCP连接设备拖入网络拓扑中,反映设置并关闭

Illustration
  1. 此时Modbus/TCP设置应显示使用,双击详细设置进入软元件分配,分配完成后点击确认,再点击应用

Illustration
  1. 将修改后的模块参数写入PLC内,然后重置PLC

Illustration
  1. App此时可以运行扩展IO模块,打开软元件缓冲区批量监视,查看值是否更新到对应地址

Illustration Illustration Illustration

主站

  1. 点击模块参数的以太网端口,双击对象设备连接配置设置的详细设置进入配置页面,拖入Active连接设备,选择通信手段为通信协议,设定端口号和IP等信息,设置完成后反映设置并关闭,点击应用

Illustration
  1. 点击工具-通讯协议支持功能

Illustration
  1. 选择以太网,点击确定

Illustration
  1. 点击添加,选择Modbus/TCP,并添加协议名。

Illustration
  1. 可以多次添加协议名,最多支持64个协议号

Illustration
  1. 如果不熟悉软元件的分配方法,可以直接自动分配数据包的软元件,右键空白区域,点击软元件批量设置

Illustration
  1. 指定软元件的协议号范围和起始软元件号,点击确定

Illustration
  1. 此时显示变量已设置,也可点击工具-设置软元件一览显示查看具体的分配方法

Illustration
  1. 以功能码为15的分配规则,D304为连接编号,D305为模块ID,D306为起始地址,D307为写入长度,D308为可变长度,指定写入数据的字节长度,D309-D1292为写入的具体数据。

Illustration
  1. 分配完成后将此模块写入PLC,注意此处的设置为单独写入,从GX Works3主界面执行的写入并不会写入此模块的信息

Illustration
  1. 写入完成后需要编写程序触发此通信协议,三菱PLC作为Modbus主站时主要用到三条指令,可以参考MELSEC iQ-F FX5用户手册(MODBUS通信篇),指令的详细含义可以按F1查看官方的指令帮助

  2. 此处介绍一种通信方法,可根据自己的逻辑需求修改程序,使用SP.SOCOPEN打开连接

Illustration
  1. 对连接进行设置,主要依据上述的软元件分配表的地址

Illustration
  1. 使用SP.ECPRTCL调用通信协议编号进行写入

Illustration
  1. 使用SP.SOCCLOSE关闭连接

Illustration
  1. 点击转换程序并写入PLC,此程序逻辑会循环使用通信协议编号1,由于SP.ECPRTCL不会打开关闭连接,因此使用时需要结合SP.SOCOPEN和SP.SOCCLOSE,点击监视并打开软元件/缓冲存储器批量监视

Illustration
  1. 可以看到,值正确地更新到了对应的寄存器

Illustration
  1. 针对02功能码,情况类似,确认软元件的分配并修改程序即可

Illustration
  1. 主要需要将协议编号和连续读取编号修改为2

Illustration
  1. 同样转换程序并下载到PLC,可以看到DO的值更新到了D1307中

Illustration

施耐德 TM241CE24R

所需软件:Machine Expert,JAKA Zu App

EtherNet/IP

首先需要确保TM241CE24R的固件版本与Machine Expert匹配,否则无法正常使用,如果版本不对使用controller assistant升降级固件版本。

  1. 使用Machine Expert添加eds文件

Illustration Illustration Illustration
  1. 双击控制器点击刷新可以看到当前连接设备,也可以通过网线直连修改外部设备的IP地址

Illustration
  1. 修改时勾选永久保存

Illustration
  1. 此时已经成功修改,将TM241CE24R连接在交换机,JAKA App与控制器也接入此交换机并保持均在同一网段

Illustration
  1. 右键点击Ethernet_1添加设备

Illustration
  1. 选择Modbus TCP下的Industrial Ethernet Manager

Illustration
  1. 继续右键点击Industrial Ethernet Manager添加JAKA设备

Illustration
  1. 编译并登录设备,如果提示安全相关,无视并按ALT+F8继续登录

Illustration
  1. 改为始终使能后,点击开始

Illustration
  1. 此时App侧应显示成功连接主站

Illustration
  1. 修改DO和AO的值,可以看到对应的Input Exclusive owner[144]、[150]、[154]和发生了变化,这是由于从ROBOT到PLC的数据包含了ROBOT的状态数据,因此DO是从72开始的,JAKA的EtherNet/IP使用32位数据,而Machine Expert使用16位数据,因此最终DO的地址从144开始

Illustration
  1. 在输出中使用ctrl+F7将值传递给机器人,值同样正常更新

Illustration

Modbus TCP

主站

  1. 右键点击Ethernet_1添加modbus slave设备

Illustration
  1. 设置主站的IP地址等信息

Illustration
  1. 登录并开始,监视数据

Illustration
  1. TM241CE24R支持的modbus从站的保持寄存器的功能码为03、06和16,而输入寄存器支持的功能码为17,JAKA机器人modbus主站暂不支持此功能码,使用前需要查阅官方文档

欧姆龙 CP1H-X40DT-D

所需软件:CX-Programmer,JAKA Zu App

CP1H的CPU单元本身不带EIP的功能,因此需要装扩展单元,在此之前需要先再装一个CJ1W-EXT01扩展单元以支持扩展,安装后的产品如图:

Illustration

由于欧姆龙的modbus均属于无协议通讯,也即通过软件实现其通信,而且需要额外选装硬件,如需要CJ1W-ETN21支持modbustcp和 CP1W-CIF11支持modbusrtu,因此不对其做验证。

EtherNet/IP

  1. 使用CX-Programmer作为上位机,新建工程

Illustration
  1. PLC默认的地址为192.168.250.1,先使用网线直连,切换到在线模式并开启编程才能修改参数

Illustration
  1. 创建IO表,初始化CPU总线

Illustration
  1. 此时有了EIP模块

Illustration
  1. 修改EIP21模块的IP地址后,将参数从PC传递至单元并重启,使用修改的IP地址连接PLC

Illustration
  1. 启动专用的应用程序,继承启动

Illustration
  1. 点击“Network Confihurator”进行EIP设定

Illustration
  1. 点击“Install”安装eds文件

Illustration
  1. 点击“Upload”

Illustration
  1. 将导入的设备拖到总线,点击“Change Node Address…”修改IP地址

Illustration
  1. 连接注册:点击“JAKA Robot Ethernet/IP Adapter”→“Connections”

Illustration
  1. 进行变量的设置

Illustration
  1. 设置完成后将参数修改到PLC

Illustration
  1. 点击“Dowland”

Illustration
  1. 无视警告并继续

Illustration
  1. 下载完成后将重启PLC

Illustration
  1. 此时App侧应显示成功连接主站,将PLC的工作模式切换为监视,可以实现值的传递

Illustration Illustration

基恩士 KV-8000

所需软件:KV STUDIO,JAKA Zu App

本例采用KV-8000作为CPU单元,KV-XLE02作为扩展单元

EtherNet/IP

  1. 使用KV STUDIO新建工程,在初次使用以太网单元时,需要打开单元编辑器

Illustration
  1. 拖动单元到KV-8000上,如果已经连接CPU单元,也可以选择直接从PLC读取单元组态

Illustration
  1. 设置端口的协议为scanner,(此处如果不设置将不会显示EtherNet/IP设定),分别设置KV-8000和KV-XLE02的IP地址,最后应用设置。

Illustration
  1. 回到KV-STUDIO,选择监视器/模拟器的通信设定,选择EtherNet/IP或USB进行扫描,需要将PC与PLC使用网线或USB连接。选择EtherNet/IP进行扫描时,选择网卡并执行,可以扫描出对应的设备,扫描到设备后点击选择设备。

Illustration
  1. 点击转换到PLC,选择执行,执行后会将单元编辑器内的以太网设定也一并写入PLC,如果在单元编辑器内修改了KV-8000的IP地址和KV-XLE02的通信协议,写入完成后设备的网络参数也会发生改变。另外KV-XLE02的两个端口的网络部须保持不同。

Illustration
  1. 导入JAKA的eds文件

Illustration
  1. 本例将port 1的IP地址设置为192.168.1.10,重复上述选择设备的步骤,将网线接入KV-XLE02,选择此设备,回到单元编辑器,点击EtherNet/IP设定

Illustration
  1. 将JAKA设备的IP地址设置为与PLC同一网段,本例中为192.168.1.20/24,点击自动设定,将自动扫描网络拓扑

Illustration
  1. 回到KV STUDIO,将EtherNet/IP设定和单元编辑器下载到PLC,此时App测应显示成功连接主站。

Illustration
  1. 回到单元编辑器的EtherNet/IP设定,点击Exclusive Owner的Edit,可以选择自动分配软元件或手动分配,此处选择自动。基恩士定义的EtherNet/IP设备的通信数据的数据类型为位和字,数据的显示方式根据类型变化。针对非基恩士的设备,使用自动分配,选择字设备

Illustration Illustration
  1. 保存设置,由于JAKA的数据默认占32位,而KV-STUDIO的数据类型默认为WORD,占16位,当使用WORD的数据类型时,JAKA的DI对应到PLC从IN_101[144]开始,DO从OUT_100[0]开始,打开监视窗口

Illustration
  1. 在App和KV STUDIO修改参数,查看各软元件和App的值,由于KV STUDIO默认的数据类型为WORD,因此使用时需要进行高低位的拼接处理。

Illustration

Modbus TCP

从站

  1. KV-XLE02作为从站时不需要发送接收用的梯形图程序,进入单元编辑器打开PROTOCOL STUDIO开关

Illustration
  1. 在单元设置中对Modbus的所有相关参数进行配置,如IP地址、modbus TCP端口号、线圈和寄存器地址等。默认值中,只读软元件(输入/输入寄存器)被设定为与可读写软元件(线圈/保持寄存器)相同的分配。

Illustration
  1. 将单元编辑器的配置写入PLC,启动监视模式,此时从站成功开启,选择从站的寄存器地址进行监视,需要注意的是,默认情况下KV-XLE02的只读软元件(输入/输入寄存器)被设定为与可读写软元件(线圈/保持寄存器)相同的分配,可以按照需求自行分配。此处为了区分做了一定区别。

Illustration
  1. 打开JAKA扩展IO,点击运行,修改参数后再KV STUDIO读取和发送对应地址的参数,可以看到参数的同步更新

Illustration

台达 AS228T-A

所需软件:Delta ISPSoft,HWCONFIG,JAKA Zu App

EtherNet/IP

  1. 针对台达的AS系列,需要从HWCONFIG打开EIP BUILDER,否则没有AS系列的选项,如果是更新的版本,可以直接在HWCONFIG完成EIP的配置和网络拓扑

    新建工程,双击HWCONFIG

Illustration
  1. 安装设备描述文件管理工具

Illustration
  1. 右键单击PLC设备,选择通讯软件的EtherNet/IP

Illustration
  1. 搜索导入的jaka描述信息,将其拖拽到组态网络内,然后双击jaka设备修改IP地址

Illustration
  1. 点击快速连线,将设备连接在同一网络内,然后下载到设备

Illustration
  1. 点击显示数据交换,设置主站寄存器地址,最后将相关数据下载到PLC

Illustration
  1. 下载完成后应显示成功连接主站

Illustration
  1. 关闭并保存HWCONFIG,回到ISPSoft,点击联机模式,弹出项目比对不符,点击是执行下载

Illustration
  1. 点击装置监控表,新建监控表,新建地址变量

Illustration
  1. 监视DO和AO的变化,浮点数同理

Illustration Illustration
  1. 监视DI和AI的值,根据设定,DI的值从D1000开始,浮点数同理

Illustration Illustration

Modbus TCP

从站

  1. 官网可以找到设备标准MODBUS的地址,可以直接访问这些地址来实现对台达PLC Modbus从站的访问,端口号默认为502,其中MODBUS位址的第一位代表访问的寄存器类型

Illustration
  1. 在装置监控表监控数据,以对Y、M、D的访问为例

Illustration Illustration

主站

  1. 双击进入HWCONFIG,双击硬件配置,双击设备图标

Illustration
  1. 进入数据交换的以太网,此处代表Modbus TCP端口的触发方式,修改为永久执行,当PLC上电时会始终启用,修改完成后添加数据交换规则,设置远程装置类型为标准Modbus设备,分别设置IP地址、本机起始地址、远程起始地址和数量,注意远程起始地址使用十六进制,设置完成后将参数下载到设备

Illustration
  1. 关闭HWCONFIG,打开联机选项,监控数据表,可以观察到所有数据的更新

Illustration
  1. 由于JAKA Modbus从站对浮点数采用的是大端显示,因此高位字节被存储在地位字节,按照台达PLC的显示规则为

Illustration

汇川 Easy522‑0808TN

所需软件:AutoShop,JAKA Zu App

EtherNet/IP

  1. 打开AutoShop,新建工程,选择PLC型号,进入工具的通讯设置

Illustration
  1. 点击搜索设备

Illustration
  1. 选择导入eds文件

Illustration
  1. 导入成功后双击设备添加组态

Illustration
  1. 编译后下载到设备,并将设备切换到运行状态

Illustration
  1. 此时设备应显示成功连接主站,并且配置中的EtherNet/IP显示的都是绿色

Illustration
  1. 使用数字输出和有符号输出,可以正常更新到PLC

Illustration
  1. 浮点数也可以正常更新

Illustration
  1. 从PLC输出数据到机器人

Illustration Illustration

Modbus TCP

从站

  1. Easy-522作为从站时,设置IP地址即开启了Modbus从站功能,无需设置通信协议,配置JAKA的扩展IO,使用502端口即可和Easy-522通信

Illustration
  1. Easy-522的文档规定了线圈和寄存器可以访问的地址,线圈和寄存器共用地址。

Illustration Illustration

主站

  1. Easy-522作为主站,添加以太网配置,参数为JAKA机器人的地址和Modbus端口

Illustration
  1. 右键打开并新增从站站号,分别进行配置,分配映射地址后点击确认

Illustration
  1. 打开软元件表,监视D200-D240的值,按照上图的分配,地址映射如下:

DO 0-9 : D200-209

DI 0-9 : D210-D219

AO 0-9 : D220-229

AI 0-9 : D230-D239

分别使用读取内存和写入内存可以观察值的更新

Illustration

Codesys

EtherNet/IP

  1. 下载并安装codesys后,会在后台出现CODESYS Gateway Systray -x64和CODESYS Control Win Systray -x64,前者是网关的开关,后者为虚拟PLC的开关,使用时需要确保二者都处于运行状态。

Illustration
  1. 打开Codesys并新建工程,选择standard project,首次使用codesys会提示创建用户,之后使用plc时均需要使用此信息进行用户登录。

Illustration Illustration
  1. 选择CODESYS Control Win V3 x64作为PLC型号,第二栏默认即可。

Illustration
  1. 在Codesys 菜单栏-工具-设备存储库,点击“安装”导入eds文件。导入后会出现提示,同时文件会出现在EthernetIP总线的远程适配器下。

Illustration Illustration
  1. 在Codesys中分别逐级添加EtherNet->EtherNet_IP_Scanner。

Illustration
  1. 双击EtherNet选择与外部设备相连的网口,点击ok。如果组网中已有匹配该eds文件的JAKA控制器,并且使能了EtherNet/IP功能,右键单击EtherNet_IP_Scanner进行设备扫描,可以看到符合条件的设备,单击复制到工程;如果未成功扫描,也可以手动添加设备并配置其IP地址。

Illustration Illustration
  1. 依次点击登录和运行按钮,当设备栏的scanner和adapter均变为绿色后,代表设备成功连接,此时App侧应同步显示成功连接主站。

Illustration Illustration Illustration Illustration Illustration
  1. 打开jaka adapter的IO映射将总是更新处改为使能1,修改此选项需要先退出PLC登录。再次登录可以发现,数据已经开始同步更新。

Illustration Illustration
  1. 从控制器到PLC,分别修改DO和AO的数据,可以看到,对应地址的参数发生了更新。

    Illustration
Illustration
  1. 从PLC到控制器,分别在预备值栏修改DI和AI的值,并同时按下ctrl+F7将数据提交,可以看到对应的数据发生了更新。

Illustration Illustration

总结

目前已验证的PLC型号与对应的通讯协议汇总如下:

型号

厂商

Modbus TCP

EtherNet/IP (scanner)

PROFINET (controller)

5370 L3 1769-L33ER

罗克韦尔

√

√

6ES7317-2EK14-0AB0

西门子

√

√

√

FX5U-80MT/DSS

三菱

√

√

TM241CE24R

施耐德

√

√

CP1H-X40DT-D

欧姆龙

√

KV-8000

基恩士

√

√

AS228T-A

台达

√

√

Easy522‑0808TN

汇川

√

√

针对上述测定的PLC型号,通讯协议与节卡目前所支持的主从协议均良好兼容,可以正常使用。需要注意的是,由于各PLC厂家对数据类型和长度的规定,可能无法做到完全兼容,需要对数据做拼接等处理。