跳至主要內容

JAKA通讯使用手册

JAKA大约 447 分钟

JAKA通讯使用手册

介绍

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

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

PLC型号固件版本软件版本
罗克韦尔5370 L3 1769-L33ER20.18RSLogix 5000 V20.00.00 (CPR 9 SR 5)
西门子6ES7317-2EK14-0AB03.2.18TIA Portal V16
三菱CPU:FX5U-80MT/DSS1.2450GX Works3 Version 1.090UEtherNetIPConfiguration Tool for FX5-ENET IP V1.00A
扩展:FX5-ENET/IP1.1
施耐德TM241CE24R5.1.10.10EcoStruxure Mchine Expert Version 2.1
欧姆龙CPU:CP1H-X40DT-D1.3CX-Programmer 9.50
扩展:CJ1W-EIP213.0
基恩士CPU:KV-80002.602KV STUDIO 11.62
扩展:KV-XLE021.400
台达AS228T-A1.12.50ISPSoft Version 3.15COMMGR 1.12
汇川Easy522‑0808TN5.67.0.0Autoshop 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前,需要下载如下文件:

控制器版本 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、上位机和控制柜在同一网段内,下文所述的使用方法和步骤均基于三者之间可互相访问。

image-20230220170602938
image-20230220170602938

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

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

使能EtherNet/IP,PROFINET

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

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

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

image-20230221094819134
image-20230221094819134

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

image-20230221094852245
image-20230221094852245

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

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

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

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

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

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

image-20230221094909935
image-20230221094909935

使能 Modbus TCP/IP,Modbus RTU

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

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

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

image-20230221094819134
image-20230221094819134

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

image-20230221094852245
image-20230221094852245

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

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

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

image-20230901094852245
image-20230901094852245

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 字节。

image-20230901170602938
image-20230901170602938

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。image-20230221093844646

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

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

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

  1. 打开RsLinx Classic Launch Panel软件, 点击Start。
image-20230221094002051
image-20230221094002051
  1. 点击菜单栏Tools,选择安装EDS文件,注册EDS文件, 一直点击下一步,直到完成配置。
image-20230221094022980
image-20230221094022980
image-20230221094036396
image-20230221094036396
  1. 打开RsLogix 5000软件,创建新项目。选择所使用的PLC型号,输入项目名称,浏览项目保存位置,点击确认。
image-20230221094054717
image-20230221094054717
  1. 在左侧栏右键点击以太网,选择新建module,在弹出的窗口中找到模块JAKA Ethernet/IP Adapter, 点击创建,输入模块名称,注意此处IP地址需要与控制柜的Ethernet/IP地址相同。
image-20230221094147644
image-20230221094147644
image-20230221094158456
image-20230221094158456
image-20230221094206931
image-20230221094206931
  1. 点击更改按钮,可设置数据的类型,为了便于数据显示,这里选择DINT类型。
image-20230221094219019
image-20230221094219019

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

PLC到EIP的输出ID为100

EIP到PLC的输入ID为101

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

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

  1. 点击网络节点,弹出活动页对话框,选择 PLC模块, 然后点击联机,弹出对话框,下载程序。
image-20230221094234010
image-20230221094234010
  1. 选择联机,使PLC处于运行模式,连接状态正常之后,右键点击控制器标签,选择监控Tag,可以看到PLC从机器人读取到了部分数据。
image-20230221094252406
image-20230221094252406
image-20230221094417189
image-20230221094417189
  1. 在App上打开Ethernet/IP数字输出DO1和DO2按钮,设置整数 AO1为123。
image-20230221094348426
image-20230221094348426
  1. 查看RsLogix 5000相应的数据,,I.Data[72]和I.Data[75]显示相应的数据正确。数据的地址可参考文件节卡机器人EthernetIP地址分配表确定。
image-20230221094452237
image-20230221094452237

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协议,需要通过其EtherNet\IP的以太网端口实现。

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

  1. 新建工程,选择MainRoutine,在右侧的空白区域点击右键选择Import Rungs
image-20230518092658960
image-20230518092658960
  1. 导入示例程序中的.L5X文件,可以修改程序内参数的名称,通过Tags标签的Final Name选项。

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

image-20230518092829622
image-20230518092829622
  1. 对于5370系列而言,LocalSlot的值为0,将其他条目如EtherNet/IP的端口地址、Modbus从站的ip地址和端口号按实际进行填写
image-20230518092950596
image-20230518092950596
  1. 回到MainRoutine选项,将inp_Enable置为1,代表启动Modbus Client功能,对于RSLogix 5000而言,同时需要将程序编译并下载到PLC,最后切换到运行状态
image-20230518093017397
image-20230518093017397
  1. 监控表可以设置Pollinterval(刷新时间)、Transtype(功能码)、Stationid(从站ID)、BeginAddress(起始地址)、Count(地址数量)等基本参数,此外还需要设置LocalAddress,此参数代表与Modbus Slave的起始地址对应的Modbus Client的起始地址。
image-20230518093037433
image-20230518093037433
  1. Modbus Client同样使用4个寄存器存放数据,完成起始地址的映射后,可以直接修改寄存器内的数据,如此处将Slave的起始地址设为了40,修改coils下的数据可以发现,成功更新到了控制器的内部
image-20230518093105083
image-20230518093105083

西门子 6ES7317-2EK14-0AB0

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

PROFINET

  1. 打开TIA Portal V15软件,点击创建新项目,弹出新建项目窗口后,更改项目名称(如jakaPNIO),然后点击浏览按钮,选择存储位置并确定,再点击创建,此时已经新建了一个项目并保存在了指定的路径下
image-20230518094544786
image-20230518094544786
  1. 在建立的项目窗口中,依次点击设备与网络->添加新设备->控制器, 选择PLC的型号,再点击添加image-20230518094635931

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

image-20230518102245415
image-20230518102245415
  1. 如果使用了PLC S7-300则需要修改IO地址映射的大小,使地址映射值大于688字节,IO地址映射小于此值可能会导致数据丢失,因为我们PROFINET IO的最大地址范围为0到688字节。
image-20230518104643528
image-20230518104643528
  1. 在菜单栏选项菜单中,点击管理通用站描述文件(GSD),弹出相应的窗口,点击浏览按钮,找到文件GSDML-V2.41-JAKA-JAKARobot-20210722.xml的路径,载入后选中该文件,然后安装, 等待安装完成,关闭窗口
image-20230518102831965
image-20230518102831965
image-20230518103105653
image-20230518103105653
  1. 在左侧栏双击设备和网络,在右侧栏硬件目录,点击其他现场设备,选择PROFINET IO, 找到JAKA_V1.0, 双击或直接拖到界面即可
image-20230518103207811
image-20230518103207811
  1. 点击PROFINET设备的未分配,选择PLC_1.PROFINET接口_1
image-20230518103927603
image-20230518103927603
  1. 单击PROFINET设备DP-NORM图标,在下方的菜单栏中选在以太网地址,修改PROFINET设备的IP地址。(注意,修改的是PROFINET设备的地址,对应的是JAKA的PROFINET虚拟设备,而非JAKA的控制柜底部网口地址,因此设置的IP必须是和控制柜在同一网段且不相同的地址)
image-20230518104002066
image-20230518104002066
  1. 点击IO周期,在更新时间的区块选择手动设置更新时间,在更新时间的下拉框中更选择PROFINET的数据更新时间,由于此设备的最小更新时间为8ms,所选择的数值应该大于或等于8ms。
image-20230518104602841
image-20230518104602841
  1. 双击名为jaka的PROFINET设备,切换到硬件设备概览的页面,在硬件目录的模块下能看到被定义的各IO数据块。将数据块拖入到对应的插槽中。
image-20230518104431792
image-20230518104431792
image-20230518104445644
image-20230518104445644

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

image-20230518104522946
image-20230518104522946
  1. 双击左侧栏在线和诊断,在线访问的配置如下,然后点击转至在线, 即可观察PLC与PROFINET连接情况,以及实现PLC和PROFINET实时数据传输的观察。
image-20230518104545379
image-20230518104545379
  1. 在左边菜单栏监控和强制列表下,新建监控表,根据PROFINET IO地址分配表,对DI、AI、DO和AO对应的地址进行操作,即可实现控制器和PLC之间的数据传输。
image-20230518104918585
image-20230518104918585

Modbus TCP

主站

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

  1. 在工艺对象内插入MB_PN_PARAM
image-20230518093906080
image-20230518093906080
  1. 进入组态进行连接设置,设定IP地址、端口号等参数
image-20230518093934377
image-20230518093934377
  1. 设置Modbus的数据区域
image-20230518105611813
image-20230518105611813
  1. 根据工艺对象的数据区域,添加4个区域块image-20230518105629778

  2. 创建数据块

image-20230518105705600
image-20230518105705600
  1. 调用通信指令,设置对应参数
image-20230518105726538
image-20230518105726538
image-20230518105736115
image-20230518105736115

后续操作与罗克韦尔类似,在指令中对参数进行更改,可以与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的配置文件
image-20230518105910148
image-20230518105910148
image-20230518105927689
image-20230518105927689
  1. 新建工程,选择对应型号的PLC
image-20230518105953323
image-20230518105953323
  1. 从信息模块中拖入FX5-ENET/IP,与FX5U完成拼接
image-20230518110033512
image-20230518110033512
  1. 打开三菱EtherNet/IP Configuration Tool for FX5-ENET/IP工具,点击Description中add添加配置模块并更改地址,注意与模块的ip地址保持同一网段。
image-20230518110108093
image-20230518110108093
  1. 选择device library添加eds文件。
image-20230518110127399
image-20230518110127399
  1. 将eds文件直接拖至TCP/IP下方,注意配置其IP与模块同网段。
image-20230518110154849
image-20230518110154849
  1. 可以使用配置界面的ping功能测试是否成功连接。
image-20230518110211474
image-20230518110211474
  1. 点击在线并将配置下载到模块
image-20230518110240349
image-20230518110240349
  1. 由于三菱模块需要通过程序运行,且需要功能块激活,因此配置下载完成后需要回到主界面编程触发EtherNet/IP功能,安装了FX5-ENET/IP的配置文件后,部件库出现了自带的标准功能块,选择添加模块标签
image-20230518110300653
image-20230518110300653
  1. 点击在线-当前连接目标进入连接界面
image-20230518110328253
image-20230518110328253
  1. 点击其他连接方法,打开连接目标指定画面
image-20230518110348372
image-20230518110348372
  1. 双击设备网络进行FX5U的IP设置
image-20230518110409610
image-20230518110409610
  1. 点击搜索,双击搜索出的设备并点击确认
image-20230518110426467
image-20230518110426467
  1. 点击通信测试,此时应显示已成功连接
image-20230518110443487
image-20230518110443487
  1. 添加M+FX5ENETIP_Class1SetOutputdata_01A模块测试发送数据功能,编写测试程序如下
image-20230518110510258
image-20230518110510258
  1. 此时EtherNet/IP Configuration Tool for FX5-ENET/IP已配置完成,点击全部转换并写入FX5U
image-20230518110529816
image-20230518110529816
  1. 全选并执行写入,然后重置PLC,可以通过断电的方式实现,注意此时网线应接入FX5U单元。
image-20230518110550181
image-20230518110550181
  1. 重启后将网线从FX5U拔下并接入FX5-ENET/IP,同样进入在线-当前连接目标确认与EIP模块的通信正常,然后打开监视
image-20230518110654282
image-20230518110654282
  1. 光标放在M1001开关,使用Shift+Enter改变输入信号触发此函数功能块
image-20230518110711675
image-20230518110711675
  1. 使用模块触发EIP功能后,此时App侧应显示成功连接主站
image-20230518110608603
image-20230518110608603
  1. 若在EtherNet/IP Configuration Tool for FX5-ENET/IP进行诊断,将显示设备正常在线
image-20230518110636975
image-20230518110636975
  1. 右键函数块,打开在线-软元件/缓冲存储器批量监视
image-20230518110726137
image-20230518110726137
  1. 监视D1015并更新,此时数据应更新到DI和AI
image-20230518110747795
image-20230518110747795
  1. 浮点数同理,可以通过监看窗口查看对应软元件的值,需要注意的是,软元件存储器以16位为单元存储数据,有符号整数和浮点数都需要高低位共同组成准确的32位数据
image-20230518110812748
image-20230518110812748
  1. 拖入M+FX5ENETIP_Class1Getinputdate_01A模块测试接收数据功能,编写测试程序如下,每次编译写入需要将网线插在CPU单元,即FX5U,而实际使用EIP功能时,需要将网线插回FX5-ENET/IP
image-20230518110832871
image-20230518110832871
  1. 在App修改DO和AO的值,观察值的更新
image-20230518110853851
image-20230518110853851
  1. 浮点数同理
image-20230518110910926
image-20230518110910926

Modbus TCP

从站
  1. 打开以太网设置下的Modbus/TCP设置,双击对象设备连接配置设置
image-20230518162141616
image-20230518162141616
  1. 将Modbus/TCP连接设备拖入网络拓扑中,反映设置并关闭
image-20230518111007916
image-20230518111007916
  1. 此时Modbus/TCP设置应显示使用,双击详细设置进入软元件分配,分配完成后点击确认,再点击应用
image-20230518111025673
image-20230518111025673
  1. 将修改后的模块参数写入PLC内,然后重置PLC
image-20230518111042541
image-20230518111042541
  1. App此时可以运行扩展IO模块,打开软元件缓冲区批量监视,查看值是否更新到对应地址
image-20230518111057725
image-20230518111057725
image-20230518111111202
image-20230518111111202
image-20230518111122339
image-20230518111122339
主站
  1. 点击模块参数的以太网端口,双击对象设备连接配置设置的详细设置进入配置页面,拖入Active连接设备,选择通信手段为通信协议,设定端口号和IP等信息,设置完成后反映设置并关闭,点击应用
image-20230518111135968
image-20230518111135968
  1. 点击工具-通讯协议支持功能
image-20230518111150850
image-20230518111150850
  1. 选择以太网,点击确定
image-20230518111203910
image-20230518111203910
  1. 点击添加,选择Modbus/TCP,并添加协议名。
image-20230518111220121
image-20230518111220121
  1. 可以多次添加协议名,最多支持64个协议号
image-20230518111236492
image-20230518111236492
  1. 如果不熟悉软元件的分配方法,可以直接自动分配数据包的软元件,右键空白区域,点击软元件批量设置
image-20230518111250414
image-20230518111250414
  1. 指定软元件的协议号范围和起始软元件号,点击确定
image-20230518111306694
image-20230518111306694
  1. 此时显示变量已设置,也可点击工具-设置软元件一览显示查看具体的分配方法
image-20230518111330610
image-20230518111330610
  1. 以功能码为15的分配规则,D304为连接编号,D305为模块ID,D306为起始地址,D307为写入长度,D308为可变长度,指定写入数据的字节长度,D309-D1292为写入的具体数据。
image-20230518111347364
image-20230518111347364
  1. 分配完成后将此模块写入PLC,注意此处的设置为单独写入,从GX Works3主界面执行的写入并不会写入此模块的信息
image-20230518111403627
image-20230518111403627
  1. 写入完成后需要编写程序触发此通信协议,三菱PLC作为Modbus主站时主要用到三条指令,可以参考MELSEC iQ-F FX5用户手册(MODBUS通信篇),指令的详细含义可以按F1查看官方的指令帮助

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

image-20230518111430357
image-20230518111430357
  1. 对连接进行设置,主要依据上述的软元件分配表的地址
image-20230518111503241
image-20230518111503241
  1. 使用SP.ECPRTCL调用通信协议编号进行写入
image-20230518111517448
image-20230518111517448
  1. 使用SP.SOCCLOSE关闭连接
image-20230518111531756
image-20230518111531756
  1. 点击转换程序并写入PLC,此程序逻辑会循环使用通信协议编号1,由于SP.ECPRTCL不会打开关闭连接,因此使用时需要结合SP.SOCOPEN和SP.SOCCLOSE,点击监视并打开软元件/缓冲存储器批量监视
image-20230518111546412
image-20230518111546412
  1. 可以看到,值正确地更新到了对应的寄存器
image-20230518162249818
image-20230518162249818
  1. 针对02功能码,情况类似,确认软元件的分配并修改程序即可
image-20230518111616942
image-20230518111616942
  1. 主要需要将协议编号和连续读取编号修改为2
image-20230518111637363
image-20230518111637363
  1. 同样转换程序并下载到PLC,可以看到DO的值更新到了D1307中
image-20230518111657433
image-20230518111657433

施耐德 TM241CE24R

所需软件:Machine Expert,JAKA Zu App

EtherNet/IP

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

  1. 使用Machine Expert添加eds文件
image-20230518111842828
image-20230518111842828
image-20230518111916343
image-20230518111916343
image-20230518111927256
image-20230518111927256
  1. 双击控制器点击刷新可以看到当前连接设备,也可以通过网线直连修改外部设备的IP地址
image-20230518111942759
image-20230518111942759
  1. 修改时勾选永久保存
image-20230518111956473
image-20230518111956473
  1. 此时已经成功修改,将TM241CE24R连接在交换机,JAKA App与控制器也接入此交换机并保持均在同一网段
image-20230518112018441
image-20230518112018441
  1. 右键点击Ethernet_1添加设备
image-20230518112047746
image-20230518112047746
  1. 选择Modbus TCP下的Industrial Ethernet Manager
image-20230518112116359
image-20230518112116359
  1. 继续右键点击Industrial Ethernet Manager添加JAKA设备
image-20230518112139664
image-20230518112139664
  1. 编译并登录设备,如果提示安全相关,无视并按ALT+F8继续登录
image-20230518112153726
image-20230518112153726
  1. 改为始终使能后,点击开始
image-20230518112222107
image-20230518112222107
  1. 此时App侧应显示成功连接主站
image-20230518112233861
image-20230518112233861
  1. 修改DO和AO的值,可以看到对应的Input Exclusive owner[144]、[150]、[154]和发生了变化,这是由于从ROBOT到PLC的数据包含了ROBOT的状态数据,因此DO是从72开始的,JAKA的EtherNet/IP使用32位数据,而Machine Expert使用16位数据,因此最终DO的地址从144开始
image-20230518112249241
image-20230518112249241
  1. 在输出中使用ctrl+F7将值传递给机器人,值同样正常更新
image-20230518112303178
image-20230518112303178

Modbus TCP

主站
  1. 右键点击Ethernet_1添加modbus slave设备
image-20230518112326838
image-20230518112326838
  1. 设置主站的IP地址等信息
image-20230518112340540
image-20230518112340540
  1. 登录并开始,监视数据
image-20230518112355272
image-20230518112355272
  1. TM241CE24R支持的modbus从站的保持寄存器的功能码为03、06和16,而输入寄存器支持的功能码为17,JAKA机器人modbus主站暂不支持此功能码,使用前需要查阅官方文档

欧姆龙 CP1H-X40DT-D

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

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

image-20230518112534078
image-20230518112534078

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

EtherNet/IP

  1. 使用CX-Programmer作为上位机,新建工程
image-20230518112558888
image-20230518112558888
  1. PLC默认的地址为192.168.250.1,先使用网线直连,切换到在线模式并开启编程才能修改参数
image-20230518112611668
image-20230518112611668
  1. 创建IO表,初始化CPU总线
image-20230518112625082
image-20230518112625082
  1. 此时有了EIP模块
image-20230518112637340
image-20230518112637340
  1. 修改EIP21模块的IP地址后,将参数从PC传递至单元并重启,使用修改的IP地址连接PLC
image-20230518112648277
image-20230518112648277
  1. 启动专用的应用程序,继承启动
image-20230518112704443
image-20230518112704443
  1. 点击“Network Confihurator”进行EIP设定
image-20230518112716651
image-20230518112716651
  1. 点击“Install”安装eds文件
image-20230518112728140
image-20230518112728140
  1. 点击“Upload”
image-20230518112746186
image-20230518112746186
  1. 将导入的设备拖到总线,点击“Change Node Address…”修改IP地址
image-20230518112807626
image-20230518112807626
  1. 连接注册:点击“JAKA Robot Ethernet/IP Adapter”→“Connections”
image-20230518112818721
image-20230518112818721
  1. 进行变量的设置
image-20230518112841189
image-20230518112841189
  1. 设置完成后将参数修改到PLC
image-20230518112852640
image-20230518112852640
  1. 点击“Dowland”
image-20230518112907042
image-20230518112907042
  1. 无视警告并继续
image-20230518112920804
image-20230518112920804
  1. 下载完成后将重启PLC
image-20230518112933858
image-20230518112933858
  1. 此时App侧应显示成功连接主站,将PLC的工作模式切换为监视,可以实现值的传递
image-20230518112952130
image-20230518112952130
image-20230518113001361
image-20230518113001361

基恩士 KV-8000

所需软件:KV STUDIO,JAKA Zu App

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

EtherNet/IP

  1. 使用KV STUDIO新建工程,在初次使用以太网单元时,需要打开单元编辑器
image-20230518113104728
image-20230518113104728
  1. 拖动单元到KV-8000上,如果已经连接CPU单元,也可以选择直接从PLC读取单元组态
image-20230518113118159
image-20230518113118159
  1. 设置端口的协议为scanner,(此处如果不设置将不会显示EtherNet/IP设定),分别设置KV-8000和KV-XLE02的IP地址,最后应用设置。
image-20230518113139022
image-20230518113139022
  1. 回到KV-STUDIO,选择监视器/模拟器的通信设定,选择EtherNet/IP或USB进行扫描,需要将PC与PLC使用网线或USB连接。选择EtherNet/IP进行扫描时,选择网卡并执行,可以扫描出对应的设备,扫描到设备后点击选择设备。
image-20230518113151146
image-20230518113151146
  1. 点击转换到PLC,选择执行,执行后会将单元编辑器内的以太网设定也一并写入PLC,如果在单元编辑器内修改了KV-8000的IP地址和KV-XLE02的通信协议,写入完成后设备的网络参数也会发生改变。另外KV-XLE02的两个端口的网络部须保持不同。
image-20230518113205943
image-20230518113205943
  1. 导入JAKA的eds文件
image-20230518113220030
image-20230518113220030
  1. 本例将port 1的IP地址设置为192.168.1.10,重复上述选择设备的步骤,将网线接入KV-XLE02,选择此设备,回到单元编辑器,点击EtherNet/IP设定
image-20230518113234996
image-20230518113234996
  1. 将JAKA设备的IP地址设置为与PLC同一网段,本例中为192.168.1.20/24,点击自动设定,将自动扫描网络拓扑
image-20230518113247405
image-20230518113247405
  1. 回到KV STUDIO,将EtherNet/IP设定和单元编辑器下载到PLC,此时App测应显示成功连接主站。
image-20230518113301551
image-20230518113301551
  1. 回到单元编辑器的EtherNet/IP设定,点击Exclusive Owner的Edit,可以选择自动分配软元件或手动分配,此处选择自动。基恩士定义的EtherNet/IP设备的通信数据的数据类型为位和字,数据的显示方式根据类型变化。针对非基恩士的设备,使用自动分配,选择字设备
image-20230518113313000
image-20230518113313000
image-20230518113328040
image-20230518113328040
  1. 保存设置,由于JAKA的数据默认占32位,而KV-STUDIO的数据类型默认为WORD,占16位,当使用WORD的数据类型时,JAKA的DI对应到PLC从IN_101[144]开始,DO从OUT_100[0]开始,打开监视窗口
image-20230518113348198
image-20230518113348198
  1. 在App和KV STUDIO修改参数,查看各软元件和App的值,由于KV STUDIO默认的数据类型为WORD,因此使用时需要进行高低位的拼接处理。
image-20230518113405110
image-20230518113405110

Modbus TCP

从站
  1. KV-XLE02作为从站时不需要发送接收用的梯形图程序,进入单元编辑器打开PROTOCOL STUDIO开关
image-20230518113423247
image-20230518113423247
  1. 在单元设置中对Modbus的所有相关参数进行配置,如IP地址、modbus TCP端口号、线圈和寄存器地址等。默认值中,只读软元件(输入/输入寄存器)被设定为与可读写软元件(线圈/保持寄存器)相同的分配。
image-20230518113439809
image-20230518113439809
  1. 将单元编辑器的配置写入PLC,启动监视模式,此时从站成功开启,选择从站的寄存器地址进行监视,需要注意的是,默认情况下KV-XLE02的只读软元件(输入/输入寄存器)被设定为与可读写软元件(线圈/保持寄存器)相同的分配,可以按照需求自行分配。此处为了区分做了一定区别。
image-20230518113452997
image-20230518113452997
  1. 打开JAKA扩展IO,点击运行,修改参数后再KV STUDIO读取和发送对应地址的参数,可以看到参数的同步更新
image-20230518113506874
image-20230518113506874

台达 AS228T-A

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

EtherNet/IP

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

    新建工程,双击HWCONFIG

image-20230518114351122
image-20230518114351122
  1. 安装设备描述文件管理工具
image-20230518114402845
image-20230518114402845
  1. 右键单击PLC设备,选择通讯软件的EtherNet/IP
image-20230518114417537
image-20230518114417537
  1. 搜索导入的jaka描述信息,将其拖拽到组态网络内,然后双击jaka设备修改IP地址
image-20230518114434556
image-20230518114434556
  1. 点击快速连线,将设备连接在同一网络内,然后下载到设备
image-20230518114538549
image-20230518114538549
  1. 点击显示数据交换,设置主站寄存器地址,最后将相关数据下载到PLC
image-20230518114554764
image-20230518114554764
  1. 下载完成后应显示成功连接主站
image-20230518114606575
image-20230518114606575
  1. 关闭并保存HWCONFIG,回到ISPSoft,点击联机模式,弹出项目比对不符,点击是执行下载
image-20230518114622309
image-20230518114622309
  1. 点击装置监控表,新建监控表,新建地址变量
image-20230518114636722
image-20230518114636722
  1. 监视DO和AO的变化,浮点数同理
image-20230518114651737
image-20230518114651737
image-20230518114659624
image-20230518114659624
  1. 监视DI和AI的值,根据设定,DI的值从D1000开始,浮点数同理
image-20230518114717985
image-20230518114717985
image-20230518114731299
image-20230518114731299

Modbus TCP

从站
  1. 官网可以找到设备标准MODBUS的地址,可以直接访问这些地址来实现对台达PLC Modbus从站的访问,端口号默认为502,其中MODBUS位址的第一位代表访问的寄存器类型
image-20230518114801539
image-20230518114801539
  1. 在装置监控表监控数据,以对Y、M、D的访问为例
image-20230518114815951
image-20230518114815951
image-20230518114825506
image-20230518114825506
主站
  1. 双击进入HWCONFIG,双击硬件配置,双击设备图标
image-20230518114843299
image-20230518114843299
  1. 进入数据交换的以太网,此处代表Modbus TCP端口的触发方式,修改为永久执行,当PLC上电时会始终启用,修改完成后添加数据交换规则,设置远程装置类型为标准Modbus设备,分别设置IP地址、本机起始地址、远程起始地址和数量,注意远程起始地址使用十六进制,设置完成后将参数下载到设备
image-20230518114859097
image-20230518114859097
  1. 关闭HWCONFIG,打开联机选项,监控数据表,可以观察到所有数据的更新
image-20230518114912260
image-20230518114912260
  1. 由于JAKA Modbus从站对浮点数采用的是大端显示,因此高位字节被存储在地位字节,按照台达PLC的显示规则为
image-20230518114927755
image-20230518114927755

汇川 Easy522‑0808TN

所需软件:AutoShop,JAKA Zu App

EtherNet/IP

  1. 打开AutoShop,新建工程,选择PLC型号,进入工具的通讯设置
image-20230518115022404
image-20230518115022404
  1. 点击搜索设备
image-20230518115035421
image-20230518115035421
  1. 选择导入eds文件
image-20230518115049518
image-20230518115049518
  1. 导入成功后双击设备添加组态
image-20230518115102151
image-20230518115102151
  1. 编译后下载到设备,并将设备切换到运行状态
image-20230518115114620
image-20230518115114620
  1. 此时设备应显示成功连接主站,并且配置中的EtherNet/IP显示的都是绿色
image-20230518115128368
image-20230518115128368
  1. 使用数字输出和有符号输出,可以正常更新到PLC
image-20230518115145588
image-20230518115145588
  1. 浮点数也可以正常更新
image-20230518115220157
image-20230518115220157
  1. 从PLC输出数据到机器人
image-20230518115234702
image-20230518115234702
image-20230518115245433
image-20230518115245433

Modbus TCP

从站
  1. Easy-522作为从站时,设置IP地址即开启了Modbus从站功能,无需设置通信协议,配置JAKA的扩展IO,使用502端口即可和Easy-522通信
image-20230518115310208
image-20230518115310208
  1. Easy-522的文档规定了线圈和寄存器可以访问的地址,线圈和寄存器共用地址。
image-20230518115327406
image-20230518115327406
image-20230518115338147
image-20230518115338147
主站
  1. Easy-522作为主站,添加以太网配置,参数为JAKA机器人的地址和Modbus端口
image-20230518115355406
image-20230518115355406
  1. 右键打开并新增从站站号,分别进行配置,分配映射地址后点击确认
image-20230518115410000
image-20230518115410000
  1. 打开软元件表,监视D200-D240的值,按照上图的分配,地址映射如下:

DO 0-9 : D200-209

DI 0-9 : D210-D219

AO 0-9 : D220-229

AI 0-9 : D230-D239

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

image-20230518115425621
image-20230518115425621

Codesys

EtherNet/IP

  1. 下载并安装codesys后,会在后台出现CODESYS Gateway Systray -x64和CODESYS Control Win Systray -x64,前者是网关的开关,后者为虚拟PLC的开关,使用时需要确保二者都处于运行状态。
image-20230220181755889
image-20230220181755889
  1. 打开Codesys并新建工程,选择standard project,首次使用codesys会提示创建用户,之后使用plc时均需要使用此信息进行用户登录。
image-20230220183201360
image-20230220183201360
image-20230220182339657
image-20230220182339657
  1. 选择CODESYS Control Win V3 x64作为PLC型号,第二栏默认即可。
image-20230220182401950
image-20230220182401950
  1. 在Codesys 菜单栏-工具-设备存储库,点击“安装”导入eds文件。导入后会出现提示,同时文件会出现在EthernetIP总线的远程适配器下。
image-20230220182205612
image-20230220182205612
image-20230220182610006
image-20230220182610006
  1. 在Codesys中分别逐级添加EtherNet->EtherNet_IP_Scanner。
image-20230220182807248
image-20230220182807248
  1. 双击EtherNet选择与外部设备相连的网口,点击ok。如果组网中已有匹配该eds文件的JAKA控制器,并且使能了EtherNet/IP功能,右键单击EtherNet_IP_Scanner进行设备扫描,可以看到符合条件的设备,单击复制到工程;如果未成功扫描,也可以手动添加设备并配置其IP地址。
image-20230220183555384
image-20230220183555384
image-20230220184201136
image-20230220184201136
  1. 依次点击登录和运行按钮,当设备栏的scanner和adapter均变为绿色后,代表设备成功连接,此时App侧应同步显示成功连接主站。
image-20230220184343914
image-20230220184343914
image-20230220184357323
image-20230220184357323
image-20230220184636633
image-20230220184636633
image-20230220184522233
image-20230220184522233
image-20230220184803673
image-20230220184803673
  1. 打开jaka adapter的IO映射将总是更新处改为使能1,修改此选项需要先退出PLC登录。再次登录可以发现,数据已经开始同步更新。
image-20230220185223933
image-20230220185223933
  1. 从控制器到PLC,分别修改DO和AO的数据,可以看到,对应地址的参数发生了更新。image-20230220185334508
image-20230220185419800
image-20230220185419800
  1. 从PLC到控制器,分别在预备值栏修改DI和AI的值,并同时按下ctrl+F7将数据提交,可以看到对应的数据发生了更新。
image-20230220185633320
image-20230220185633320
image-20230220185713370
image-20230220185713370

总结

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

型号厂商Modbus TCPEtherNet/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厂家对数据类型和长度的规定,可能无法做到完全兼容,需要对数据做拼接等处理。

问题排查

出现无法连接或无法使能的情况,可以按以下条目进行初步分析和处理。

检查设备网段是否相同

检查设备是否处于同一网段,可以使用wireshark抓包分析,也可以使用ping对网络进行测试,确保设备之间通信状况良好。

从App确认EtherNet/IP的状态

修改EtherNet/IP使能状态和网络状态后,需要重启控制器以更新配置,PROFINET同理,可以在App相应设置界面查看是否处在与主站交互的状态,并是否判断连接。

检查接线是否正常

与PLC连接时,推荐使用控制柜底部网口,此时App应通过Wi-Fi或控制柜前面板网口连接,以保证通信质量。

从PLC查看状态

通过上位机软件监测PLC的状态,确认其处于运行状态并且正常工作,如Codesys数据更新的前提是打开数据映射选项的”使能1“。

重新启动PLC

部分PLC型号需要冷启动以写入通信配置或程序,如果始终无法通信,可以尝试断电重启PLC后重试。

查看终端界面打印信息

在终端界面上使用jkzuc命令重启控制器,查看EtherNet/IP的相关打印信息,包括使能状态、IO配置模式、网卡名称、IP地址、与master连接状态等,确认信息是否匹配或正常。

image-20230220190231581
image-20230220190231581

总线地址表

Modbus地址表

 

 类型
 
(PLC)
名称(CAB1.0)名称名称(MiniCab)数据类型功能码说明单位寄存器类型
(CAB2.1)
8通用数字输入DO1DO1DO1BOOL02  离散输入可读不可写
9DO2DO2DO2
10DO3DO3DO3
11DO4DO4DO4
135DO128DO128DO128
136-CAB DI1CAB DI1
-
-
142-CAB DI7CAB DI7
143-CAB DI8-
--
--
151-CAB DI16-
152TOOL DI1TOOL DI1TOOL DI1
153TOOL DI2TOOL DI2TOOL DI2
40通用数字输出DI1DI1DI1BOOL01/05/15  线圈
41DI2DI2DI2
42DI3DI3DI3
43DI4DI4DI4
167DI128DI128DI128
168-CAB DO1CAB DO1
-
-
174-CAB DO7CAB DO7
175-CAB DO8-
--
--
183-CAB DO16-
184TOOL DO1TOOL DO1TOOL DO1
185TOOL DO2TOOL DO2TOOL DO2
96模拟输入AO01AO01AO01UINT1604  输入寄存器
 可读不可写
97AO02AO02AO02
98AO03AO03AO03
99AO04AO04AO04
111AO16AO16AO16
112AO17AO17AO17INT16
113AO18AO18AO18
114AO19AO19AO19
115AO20AO20AO20
127AO32AO32AO32
128AO33AO33AO33FLOAT32
(大端显示)
129
130AO34AO34AO34
131
190AO64AO64AO64
191
192-CAB AI1-UINT16
193-CAB AI2-
194TOOL AI1TOOL AI1TOOL AI1
195TOOL AI2TOOL AI2TOOL AI2
100模拟输出AI01AI01AI01UINT1603/06/16  保持寄存器
 可读可写
101AI02AI02AI02
102AI03AI03AI03
103AI04AI04AI04
115AI16AI16AI16
116AI17AI17AI18INT16
117AI18AI18AI18
118AI19AI19AI19
119AI20AI20AI20
131AI32AI32AI32
132AI33AI33AI33FLOAT32
(大端显示)
133
134AI34AI34AI34
135
194AI64AI64AI64
195
196-CAB AO1-UINT16
197-CAB AO2-
机器人数据相关(大端显示)
300机器人数据伺服版本号INT3204  输入寄存器
 可读不可写
302机器人序列号  
304关节1电压Float32各个关节的电压V
306关节2电压
308关节3电压
310关节4电压
312关节5电压
314关节6电压
316关节1温度Float32各个关节的温度°C
318关节2温度
320关节3温度
322关节4温度
324关节5温度
326关节6温度
328关节1伺服错误码INT32各关节的伺服错误码 
330关节2伺服错误码
332关节3伺服错误码
334关节4伺服错误码
336关节5伺服错误码
338关节6伺服错误码
340关节1错误状态UINT16当前伺服错误状态 
 0
表示无错误
 
1代表有错误
 
341关节2错误状态
342关节3错误状态
343关节4错误状态
344关节5错误状态
345关节6错误状态
346关节1使能状态UINT16当前伺服使能状态
 
 0表示未使能
 
1代表使能
 
347关节2使能状态
348关节3使能状态
349关节4使能状态
350关节5使能状态
351关节6使能状态
352关节1碰撞状态UINT16当前伺服碰撞检测状态 
 0
表示无碰撞
 
1代表碰撞
 
353关节2碰撞状态
354关节3碰撞状态
355关节4碰撞状态
356关节5碰撞状态
357关节6碰撞状态
358关节1电流Float32各关节的电流A
360关节2电流
362关节3电流
364关节4电流
366关节5电流
368关节6电流
370传感器力矩XFloat32力控传感器的力矩N
372传感器力矩Y
374传感器力矩Z
376传感器力矩RXNm
378传感器力矩RY
380传感器力矩RZ
382关节1位置Float32各关节的位置°
384关节2位置
386关节3位置
388关节4位置
390关节5位置
392关节6位置
394关节1速度Float32各关节的速度°/s
396关节2速度
398关节3速度
400关节4速度
402关节5速度
404关节6速度
406TCP位置XFloat32TCPmm
408TCP位置Y
410TCP位置Z
412TCP位置RX°
414TCP位置RY
416TCP位置RZ
418TCP速度XFloat32TCP速度mm/s
420TCP速度Y
422TCP速度Z
424TCP速度RX°/s
426TCP速度RY
428TCP速度RZ
430TCP_OFFSET_XFloat32工具坐标系mm
432TCP_OFFSET_Y
434TCP_OFFSET_Z
436TCP_OFFSET_RXFloat32工具坐标系°
438TCP_OFFSET_RY
440TCP_OFFSET_RZ
442BASE_OFFSET_XFloat32用户坐标系mm
444BASE_OFFSET_Y
446BASE_OFFSET_Z
448BASE_OFFSET_RX°
450BASE_OFFSET_RY
452BASE_OFFSET_RZ
454COLLISION_PROTECTIVE_STOPUINT16机器人碰撞:1
 
机器人未碰撞:0
 
455EMERGENCY_STOPUINT16急停 
456POWER_ONUINT16上电 
457ROBOT_ENABLEUINT16上使能 
458ON_SOFT_LIMITUINT16软限位 
459INPOSUINT16到达目标位置 
460运动模式UINT16伺服位置模式:4
 
导纳控制模式:2
 
拖拽模式:1
 
其它模式(Jog等操作) 0
 
461倍率模式等级UINT16一级倍率:1
 
二级倍率:2
 
保护性停止:
 
462速度倍率FLOAT32速度倍率 
464MOTION_ERRCODEINT32错误码 
466CAB_TEMPERATUREFLOAT32控制柜温度 
468CAB_AVERAGEPOWER控制柜功率 
470CAB_AVERAGECURRENT控制柜电流 
472UHI_PULESINT32传送带脉冲 
474UHI_SPEED传送带运动速度 
476UHI_DIRUINT16传送带运动方向 
477UHI_ORIGIN_PULESINT32传送带原始脉冲 
479ERROR_TRIGGEREDBOOL机器人报错:1
 
机器人未报错:0
 
480TCP线速度FLOAT32机器人TCP线速度mm/s 
482CHECKSUMUINT16机器人安全参数校验和 
484TCP角速度FLOAT32机器人TCP角速度°/s
486REDUCE_MODE机器人未处于缩减模式: 0 机器人处于缩减模式:1
487Reserved 保留 
Reserved 保留 
555Reserved 保留 

Profinet地址表

说明

符号说明:

  1. 每个数据模块都有数据传输方向标识,R->P表示机器人向PLC发送数据, P->R表示PLC向机器人发送数据。
  2. DI表示数字量输入,DO表示数字量输出, AI表示模拟量输入, AO表示模拟量输出。

表格说明:

  1. 行数字代表BIT位,总共32位, 4个字节,从0到31 Bit, 列数字表示总共使用的BIT位。
  2. 每一行有数据的类型,所占位数,单位。
  3. 在单元模块的部分,将相关的数据归纳为一个数据模块, 包含数据模块的名称, 模块代号,字节数。
  4. 右边第二个表格展示了PLC的设置,包含每个数据模块对应的主槽,子槽编号,起始位置。

Robot2PLC

 

传输类型 R->P Robot->PLCPLC设置
Bit数据单元模块插槽子插槽I输入地址
0机器人序列号 (int32)机器人状态、 安全设置
 
1_R->P_Robot_Safety
 36 Bytes
110
32伺服版本号 (int32)4
64CAB_AVERAGECURRENT (float) [A]8
96CAB_AVERAGEPOWER (float) [W]12
128CAB_TEMPERATURE (float) []16
160POWER_ON20.0
160+1ROBOT_ENABLE20.1
160+2预留20.2
192MOTION_ERRCODE (int32)24
224运动模式 uint828
224+8倍率模式等级 uint829
224+16EMERGENCY_STOP30.0
224+17COLLISION_PROTECTIVE_STOP30.1
224+18ON_SOFT_LIMIT30.2
224+19REDUCE_MODE30.3
224+20预留30.4
256机器人安全参数校验和int3232
288关节1电压(float[V]Joint参数
 
2_R->P_Joints
 172+48 Bytes
2136
320关节2电压(float[V]40
352关节3电压(float[V]44
384关节4电压(float[V]48
416关节5电压(float[V]52
448关节6电压(float[V]56
480关节1电流(float[A]60
512关节2电流(float[A]64
544关节3电流(float[A]68
576关节4电流(float[A]72
608关节5电流(float[A]76
640关节6电流(float[A]80
672关节1位置(float[°]84
704关节2位置(float[°]88
736关节3位置(float[°]92
768关节4位置(float[°]96
800关节5位置(float[°]100
832关节6位置(float[°]104
864关节1速度(float[°/s]108
896关节2速度(float[°/s]112
928关节3速度(float[°/s]116
960关节4速度(float[°/s]120
992关节5速度(float[°/s]124
1024关节6速度(float[°/s]128
1088关节1温度(float[]132
1120关节2温度(float[]136
1152关节3温度(float[]140
1184关节4温度(float[]144
1216关节5温度(float[]148
1248关节6温度(float[]152
1280关节1力矩(float[Nm]156
1312关节2力矩(float[Nm]160
1344关节3力矩(float[Nm]164
1376关节4力矩(float[Nm]168
1408关节5力矩(float[Nm]172
1440关节6力矩(float[Nm]176
1472关节1伺服错误码(int32180
1504关节2伺服错误码(int32184
1536关节3伺服错误码(int32188
1568关节4伺服错误码(int32192
1600关节5伺服错误码(int32196
1632关节6伺服错误码(int32200
1664关节错误状态(0:无错误,1:有错误) (uint8)204
1664+8关节使能状态(0:未使能,1:使能) (uint8)205
1664+16关节碰撞状态(0:未碰撞,1:碰撞) (uint8)206
1664+24预留207
1696预留 float    48 Bytes208
2048TCP位置Xfloat[mm]TCPBASE参数
 
3_R->P_TCP_BASE
 104+40 Bytes
31256
2080TCP位置Yfloat[mm]260
2112TCP位置Zfloat[mm]264
2144TCP位置RXfloat[°]268
2176TCP位置RYfloat[°]272
2208TCP位置RZfloat[°]276
2240TCP速度Xfloat[mm/s]280
2272TCP速度Yfloat[mm/s]284
2304TCP速度Zfloat[mm/s]288
2336TCP速度RXfloat[°/s]292
2368TCP速度RYfloat[°/s]296
2400TCP速度RZfloat[°/s]300
2432TCP_OFFSET_Xfloat[mm]304
2464TCP_OFFSET_Yfloat[mm]308
2496TCP_OFFSET_Zfloat[mm]312
2528TCP_OFFSET_RXfloat[°]316
2560TCP_OFFSET_RYfloat[°]320
2592TCP_OFFSET_RZfloat[°]324
2624BASE_OFFSET_Xfloat[mm]328
2656BASE_OFFSET_Yfloat[mm]332
2688BASE_OFFSET_Zfloat[mm]336
2720BASE_OFFSET_RXfloat[°]340
2752BASE_OFFSET_RYfloat[°]344
2784BASE_OFFSET_RZfloat[°]348
2816TCP线速度float[mm/s]352
2848TCP角速度float[°/s]356
2880预留 40 Bytes360
3200布尔寄存器 0-31布尔输出寄存器 DO 0~63
 4_R->P_DO
 8+4 Bytes
41400
3232布尔寄存器  32-63 404
3264预留 4 Bytes408
3296整数寄存器 0整数输出寄存器 AO 0~31
 5_R->P_AO_INT
 128 Bytes
51412
3328整数寄存器 1416
3360整数寄存器 2420
3392整数寄存器 3424
3424整数寄存器 4428
3456整数寄存器 5432
3488整数寄存器 6436
3520整数寄存器 7440
3552整数寄存器 8444
3584整数寄存器 9448
3616整数寄存器 10452
3648整数寄存器 11456
3680整数寄存器 12460
3712整数寄存器 13464
3744整数寄存器 14468
3776整数寄存器 15472
3808整数寄存器 16476
3840整数寄存器 17480
3872整数寄存器 18484
3904整数寄存器 19488
3936整数寄存器 20492
3968整数寄存器 21496
4000整数寄存器 22500
4032整数寄存器 23504
4064整数寄存器 24508
4096整数寄存器 25512
4128整数寄存器 26516
4160整数寄存器 27520
4192整数寄存器 28524
4224整数寄存器 29528
4256整数寄存器 30532
4288整数寄存器 31536
4320浮点数寄存器 0浮点数输出寄存器 AO 0~31
 6_R->P_AO_FLOAT
 128 Bytes
61540
4352浮点数寄存器 1544
4384浮点数寄存器 2548
4416浮点数寄存器 3552
4448浮点数寄存器 4556
4480浮点数寄存器 5560
4512浮点数寄存器 6564
4544浮点数寄存器 7568
4576浮点数寄存器 8572
4608浮点数寄存器 9576
4640浮点数寄存器 10580
4672浮点数寄存器 11584
4704浮点数寄存器 12588
4736浮点数寄存器 13592
4768浮点数寄存器 14596
4800浮点数寄存器 15600
4832浮点数寄存器 16604
4864浮点数寄存器 17608
4896浮点数寄存器 18612
4928浮点数寄存器 19616
4960浮点数寄存器 20620
4992浮点数寄存器 21624
5024浮点数寄存器 22628
5056浮点数寄存器 23632
5088浮点数寄存器 24636
5120浮点数寄存器 25640
5152浮点数寄存器 26644
5184浮点数寄存器 27648
5216浮点数寄存器 28652
5248浮点数寄存器 29656
5280浮点数寄存器 30660
5312浮点数寄存器 31664

PLC2Robot

 

 传输类型 P->RPLC->RobotPLC设置
Bit数据单元模块插槽子插槽Q输出地址
0布尔寄存器 0-31布尔输入寄存器 DI 0~64
 7_P->R_DI
 8+4 Bytes
710
32布尔寄存器  32-63 4
64预留 4 Bytes8
96整数寄存器 0整数输入寄存器 AI 0~31
 8_P->R_AI_INT
 128 Bytes
 
8112
128整数寄存器 116
160整数寄存器 220
192整数寄存器 324
224整数寄存器 428
256整数寄存器 532
288整数寄存器 636
320整数寄存器 740
352整数寄存器 844
384整数寄存器 948
416整数寄存器 1052
448整数寄存器 1156
480整数寄存器 1260
512整数寄存器 1364
544整数寄存器 1468
576整数寄存器 1572
608整数寄存器 1676
640整数寄存器 1780
672整数寄存器 1884
704整数寄存器 1988
736整数寄存器 2092
768整数寄存器 2196
800整数寄存器 22100
832整数寄存器 23104
864整数寄存器 24108
896整数寄存器 25112
928整数寄存器 26116
960整数寄存器 27120
992整数寄存器 28124
1024整数寄存器 29128
1056整数寄存器 30132
1088整数寄存器 31136
1120浮点数寄存器 0浮点数输入寄存器 AI 0~31
 9_P->R_AI_FLOAT
 128 Bytes
91140
1152浮点数寄存器 1144
1184浮点数寄存器 2148
1216浮点数寄存器 3152
1248浮点数寄存器 4156
1280浮点数寄存器 5160
1312浮点数寄存器 6164
1344浮点数寄存器 7168
1376浮点数寄存器 8172
1408浮点数寄存器 9176
1440浮点数寄存器 10180
1472浮点数寄存器 11184
1504浮点数寄存器 12188
1536浮点数寄存器 13192
1568浮点数寄存器 14196
1600浮点数寄存器 15200
1632浮点数寄存器 16204
1664浮点数寄存器 17208
1696浮点数寄存器 18212
1728浮点数寄存器 19216
1760浮点数寄存器 20220
1792浮点数寄存器 21224
1824浮点数寄存器 22228
1856浮点数寄存器 23232
1888浮点数寄存器 24236
1920浮点数寄存器 25240
1952浮点数寄存器 26244
1984浮点数寄存器 27248
2016浮点数寄存器 28252
2048浮点数寄存器 29256
2080浮点数寄存器 30260
2112浮点数寄存器 31264

脚本函数

 

寄存器数据类型脚本函数Index
  (CAB 1.0 )
Index
  (CAB 2.1) 
Index
  (Mini CAB) 
DO 0-63booleanget_digital_output(type, index)
 set_digital_output(type, index, tarState, immed)
136 - 199144 - 207135 - 198
AO 0-31intget_analog_output( type, index)
 set_analog_output(type, index, tarValue, immed)
64 - 9566 - 9765 - 96
AO 32-63floatget_analog_output( type, index)
 set_analog_output(type, index, tarValue, immed)
96 - 12798 - 12997 - 128

 

寄存器数据类型脚本函数Index
  (CAB 1.0 )
Index
  (CAB 2.1) 
Index
  (Mini CAB) 
DI 0-63booleanget_digital_input( type, index)136 - 199144 - 207135 - 198
AI 0-31intget_analog_input( type, index)72 - 10366 - 9764 - 95
AI 32-63floatget_analog_input( type, index)104 - 13598 - 12996 - 127

EtherNet/IP地址表

说明

符号说明:

  1. 每个数据模块都有数据传输方向标识,R->P表示机器人向PLC发送数据, P->R表示PLC向机器人发送数据。
  2. DI表示数字量输入,DO表示数字量输出, AI表示模拟量输入, AO表示模拟量输出。

表格说明:

  1. 行数字代表BIT位,总共32位, 4个字节,从0到31 Bit, 列数字表示总共使用的BIT位。
  2. 每一行有数据的类型,所占位数,单位。
  3. 在单元模块的部分,将相关的数据归纳为一个数据模块, 包含数据模块的名称, 模块代号,字节数。

Robot2PLC

 

传输类型 R->P Robot->PLCPLC设置 总共492字节
Bit数据单元模块I输入地址
0机器人序列号 (int32)机器人状态、 安全设置
 
1_R->P_Robot_Safety
 20 Bytes
0
32伺服版本号 (int32)4
64POWER_ON8.0
64+1ROBOT_ENABLE8.1
64+2预留8.2
96MOTION_ERRCODE (int32)12
128运动模式 uint816
128+8倍率模式等级 uint817
128+16EMERGENCY_STOP18.0
128+17COLLISION_PROTECTIVE_STOP18.1
128+18ON_SOFT_LIMIT18.2
128+19REDUCE_MODE18.3
128+20预留18.4
160关节1电流(float[A]Joint参数
 
2_R->P_Joints
 128 Bytes + 16 Bytes
20
192关节2电流(float[A]24
224关节3电流(float[A]28
256关节4电流(float[A]32
288关节5电流(float[A]36
320关节6电流(float[A]40
352关节1位置(float[°]44
384关节2位置(float[°]48
416关节3位置(float[°]52
448关节4位置(float[°]56
480关节5位置(float[°]60
512关节6位置(float[°]64
544关节1速度(float[°/s]68
576关节2速度(float[°/s]72
608关节3速度(float[°/s]76
640关节4速度(float[°/s]80
672关节5速度(float[°/s]84
704关节6速度(float[°/s]88
736关节1力矩(float[Nm]92
768关节2力矩(float[Nm]96
800关节3力矩(float[Nm]100
832关节4力矩(float[Nm]104
864关节5力矩(float[Nm]108
896关节6力矩(float[Nm]112
928关节1伺服错误码(int32116
960关节2伺服错误码(int32120
992关节3伺服错误码(int32124
1024关节4伺服错误码(int32128
1056关节5伺服错误码(int32132
1088关节6伺服错误码(int32136
1120关节错误状态(0:无错误,1:有错误) (uint8)140
1120+8关节使能状态(0:未使能,1:使能) (uint8)141
1120+16关节碰撞状态(0:未碰撞,1:碰撞) (uint8)142
1120+24预留143
1152机器人安全参数校验和int32144
1184reserved 16 Bytes148
1312传感器力矩xfloat[Nm]TCP参数
 
3_R->P_TCP
 80 Bytes + 44 Bytes
164
1344传感器力矩yfloat[Nm]168
1376传感器力矩zfloat[Nm]172
1408传感器力矩rxfloat[Nm]176
1440传感器力矩ryfloat[Nm]180
1472传感器力矩rzfloat[Nm]184
1504TCP位置Xfloat[mm]188
1536TCP位置Yfloat[mm]192
1568TCP位置Zfloat[mm]196
1600TCP位置RXfloat[°]200
1632TCP位置RYfloat[°]204
1664TCP位置RZfloat[°]208
1696TCP_OFFSET_Xfloat[mm]212
1728TCP_OFFSET_Yfloat[mm]216
1760TCP_OFFSET_Zfloat[mm]220
1792TCP_OFFSET_RXfloat[°]224
1824TCP_OFFSET_RYfloat[°]228
1856TCP_OFFSET_RZfloat[°]232
1888TCP线速度float[mm/s]236
1920TCP角速度float[°/s]240
1952reserved 44 Bytes244
2304布尔寄存器 0-31布尔输出寄存器 DO 0~63
 4_R->P_DO
 8+4 Bytes
288
2336布尔寄存器  32-63 292
2368预留 4 Bytes296
2400整数寄存器 0整数输出寄存器 AO 0~23
 5_R->P_AO_INT
 96 Bytes
300
2432整数寄存器 1304
2464整数寄存器 2308
2496整数寄存器 3312
2528整数寄存器 4316
2560整数寄存器 5320
2592整数寄存器 6324
2624整数寄存器 7328
2656整数寄存器 8332
2688整数寄存器 9336
2720整数寄存器 10340
2752整数寄存器 11344
2784整数寄存器 12348
2816整数寄存器 13352
2848整数寄存器 14356
2880整数寄存器 15360
2912整数寄存器 16364
2944整数寄存器 17368
2976整数寄存器 18372
3008整数寄存器 19376
3040整数寄存器 20380
3072整数寄存器 21384
3104整数寄存器 22388
3136整数寄存器 23392
3168浮点数寄存器 0浮点数输出寄存器 AO 0~23
 6_R->P_AO_FLOAT
 96 Bytes
396
3200浮点数寄存器 1400
3232浮点数寄存器 2404
3264浮点数寄存器 3408
3296浮点数寄存器 4412
3328浮点数寄存器 5416
3360浮点数寄存器 6420
3392浮点数寄存器 7424
3424浮点数寄存器 8428
3456浮点数寄存器 9432
3488浮点数寄存器 10436
3520浮点数寄存器 11440
3552浮点数寄存器 12444
3584浮点数寄存器 13448
3616浮点数寄存器 14452
3648浮点数寄存器 15456
3680浮点数寄存器 16460
3712浮点数寄存器 17464
3744浮点数寄存器 18468
3776浮点数寄存器 19472
3808浮点数寄存器 20476
3840浮点数寄存器 21480
3872浮点数寄存器 22484
3904浮点数寄存器 23488

PLC2Robot

 

传输类型 P->RPLC->RobotPLC设置 总共:492字节
Bit数据单元模块(Data GroupQ输出地址
0布尔寄存器 0-31布尔输入寄存器 DI 0~63
 7_P->R_DI
 8+4 Bytes
0
32布尔寄存器  32-63 4
64预留 4 Bytes8
96整数寄存器 0整数输入寄存器 AI 0~23
 8_P->R_AI_INT
 96 Bytes
 
12
128整数寄存器 116
160整数寄存器 220
192整数寄存器 324
224整数寄存器 428
256整数寄存器 532
288整数寄存器 636
320整数寄存器 740
352整数寄存器 844
384整数寄存器 948
416整数寄存器 1052
448整数寄存器 1156
480整数寄存器 1260
512整数寄存器 1364
544整数寄存器 1468
576整数寄存器 1572
608整数寄存器 1676
640整数寄存器 1780
672整数寄存器 1884
704整数寄存器 1988
736整数寄存器 2092
768整数寄存器 2196
800整数寄存器 22100
832整数寄存器 23104
864浮点数寄存器 0浮点数输入寄存器 AI 0~23
 9_P->R_AI_FLOAT
 96 Bytes
108
896浮点数寄存器 1112
928浮点数寄存器 2116
960浮点数寄存器 3120
992浮点数寄存器 4124
1024浮点数寄存器 5128
1056浮点数寄存器 6132
1088浮点数寄存器 7136
1120浮点数寄存器 8140
1152浮点数寄存器 9144
1184浮点数寄存器 10148
1216浮点数寄存器 11152
1248浮点数寄存器 12156
1280浮点数寄存器 13160
1312浮点数寄存器 14164
1344浮点数寄存器 15168
1376浮点数寄存器 16172
1408浮点数寄存器 17176
1440浮点数寄存器 18180
1472浮点数寄存器 19184
1504浮点数寄存器 20188
1536浮点数寄存器 21192
1568浮点数寄存器 22196
1600浮点数寄存器 23200
1632预留预留 288 Bytes204
  
  
  
  
  
  
3904488

脚本函数

 

寄存器数据类型脚本函数Index
DO 0-63booleanget_digital_output(type, index)
 set_digital_output(type, index, tarState, immed)
0-63
AO 0-23intget_analog_output( type, index)
 set_analog_output(type, index, tarValue, immed)
0-23
AO 24-47floatget_analog_output( type, index)
 set_analog_output(type, index, tarValue, immed)
24-47

 

寄存器数据类型脚本函数Index 
DI 0-63booleanget_digital_input( type, index)0-63
AI 0-23intget_analog_input( type, index)0-23
AI 24-47floatget_analog_input( type, index)24-47
上次编辑于: