Skip to main content

JAKA Communication Manual

JAKAAbout 353 min

JAKA Communication Manual

Introduction

In order to help users better use JAKA's communication function, the manual introduces the data interaction methods between JAKA and the mainstream PLC on the market. The contents in this manual only involve part of PLC models. Even the PLC from the same manufacturer, due to differences in communication parameters and equipment versions, the usage methods are not exactly the same. Therefore, this manual is only for preliminary use reference. For further use, please contact the corresponding local supplier of the PLC.

The contents in this manual is based on the following PLC models. The firmware version and the software version of the host computer can be seen in the table below. The version in the table or later is recommended.

PLC ModelFirmware VersionSoftware Version
Rockwell5370 L3 1769-L33ER20.18RSLogix 5000 V20.00.00 (CPR 9 SR 5)
Siemens6ES7317-2EK14-0AB03.2.18TIA Portal V16
Mitsubishi ElectricCPU:FX5U-80MT/DSS1.2450GX Works3 Version 1.090UEtherNetIPConfiguration Tool for FX5-ENET IP V1.00A
Expansion Unit: FX5-ENET/IP1.1
Schneider ElectricTM241CE24R5.1.10.10EcoStruxure Mchine Expert Version 2.1
OmronCPU:CP1H-X40DT-D1.3CX-Programmer 9.50
Expansion Unit:CJ1W-EIP213.0
KeyenceCPU:KV-80002.602KV STUDIO 11.62
Expansion Unit:KV-XLE021.400
DeltaAS228T-A1.12.50ISPSoft Version 3.15COMMGR 1.12
INOVANCEEasy522‑0808TN5.67.0.0Autoshop V4.8.1.0

For JAKA products, the EtherNet/IP can be used as Adapter, the PROFINET can be used as Device, which both are slaves. The Modbus can be used as both master station and slave station. The main difference between Modbus RTU and Modbus TCP in use is the connection parameters, so the manual only introduce the Modbus TCP. In addition, the Modbus master station of most PLC manufacturers triggers communication through the LAD, so no repeated introduction is made for each manufacturer. The fact that a communication function is not mentioned in the manual for a specific PLC model does not mean that JAKA does not support it, but that the PLC does not integrate this function or verification is difficult.

Setup

After the control cabinet of the JAKA robot and the PLC establish communication, the PLC can read the performance parameters of the robot in real time, such as: the status of the robot, the angle, speed, temperature of each joint, and the position, speed and force value of TCP. At the same time, the PLC can also exchange data with the control cabinet through registers of different types of data.

Before using PROFINET and EtherNet/IP, the following files need to be downloaded:

Robot Controller Version 1.7.0_46~1.7.1_26_rc: JAKARobot.eds

Robot Controller Version 1.7.1_27_rc~1.7.2_8_rc: JAKARobot.eds

Robot Controller Version 1.7.2_9_rc and later version, updated EDS file for MiniCab certification. EDS file for MiniCab is not compatible with standard cabinets' EDS file , and need to distinguish usage:
CabV2.1:JAKA_CAB.eds
MiniCab:JAKA_MiniCab.eds

Note:

  • The GSDML file (General Station Description Markup Language) is a file format used to describe the characteristics of industrial network devices for the PROFINET protocol. It is typically used for configuring and managing industrial Ethernet devices. The GSDML file contains information about device parameters, functions, and communication characteristics. Before using JAKA's PROFINET functionality, this file needs to be imported into the master station.
  • The EDS file (Electronic Data Sheet) is a file format used to describe the communication protocol, object dictionary, and parameter configuration of devices for the Ethernet/IP protocol. It is typically used for configuring fieldbus devices. The EDS file provides a detailed description of the device. Before using JAKA's EtherNet/IP functionality, this file needs to be imported into the master station.

The device connections are as follows: the PLC, upper computer and control cabinet should be in the same segment. The usage methods and steps described below are all based on mutual access between the three.

image-20230220170602938
image-20230220170602938

It is recommended to use the bottom network port of the control cabinet for communication function. The JAKA Zu App (hereinafter referred to as App) can also be connected to the control cabinet through the bottom network port. However, in order to avoid the data transmission between the App and the control cabinet from affecting the communication function, it is recommended that the App use the panel Internet port or Wi-Fi to connect with the control cabinet.

Note: The bottom network port needs to be activated (connected to a computer or router) to use the relevant communication functions.

Enable EtherNet/IP, PROFINET

Since the Ethernet/IP and PROFINET enable steps are basically the same, they are introduced together.

The Ethernet/IP function is turned off by default, and the specific steps to enable it are as follows:

Step 1: Open the latest version of the JAKA Zu App and click the “Disconnected” icon in the upper right corner of the App to open the robot connection page.

image-20230221094819134
image-20230221094819134

Step 2: Click the robot you want to connect and input the administrator password (jakazuadmin by default) to connect the robot.

image-20230221094852245
image-20230221094852245

Step 3: Click “Settings”→“Hardware & Communication”→“EtherNet/IP Settings”, turn on the “enable” by switch and restart the control cabinet. The steps of restart the control cabinet are as follows:

a. Back to homepage, click “Power off the robot” and “Off” button on the upper right corner to power off the control cabinet.

b. After the control cabinet is powered off, press the “Power on” button on the remote stick. After the buzzer sounds, the control cabinet is powered on;

c. Open the JAKA Zu App, reconnect the robot, see steps 1 and 2 for specific operations;

e. Enter the hompage, and click “Power on the robot”.

After reconnecting the control cabinet, check the status on the "EtherNet/IP Settings" or "PROFINET Settings" interface. When the status is “Disconnect to the master”, it means that EtherNet/IP has been enabled and is waiting for the master to connect.

image-20230221094909935
image-20230221094909935

Enable Modbus TCP/IP, Modbus RTU

Since the Modbus TCP/IP and Modbus RTU enable steps are basically the same, they are introduced together.

The Modbus TCP/IP and Modbus RTU function is turned on by default, and the specific steps to enable it are as follows:

Step 1: Open the latest version of the JAKA Zu App and click the “Disconnected” icon in the upper right corner of the App to open the robot connection page.

image-20230221094819134
image-20230221094819134

Step 2: Click the robot you want to connect and input the administrator password (jakazuadmin by default) to connect the robot.

image-20230221094852245
image-20230221094852245

Step 3: Click “Settings”→“Hardware & Communication”→“Modbus Settings”.

a. If you want to enable Modbus TCP/IP, please check the radio button before Modbus TCP/IP, enter the port number (0~ 65535), and click "Confirm";

b. If you want to enable Modbus RTU, check the radio button before Modbus RTU, enter the slave station node (1~ 128), select the baud rate, data bit length, stop bit length, and vertification method, and click "Confirm".

image-20230901094819134
image-20230901094819134

IO Quantity Configuration Instruction

EtherNet/IP

In the address assignment table, the data types are arranged in the order: DIO Boolean, AIO Integer, and AIO Float:

DIO: Boolean, accounting for 1 bit, every 8 DIOs form a byte, so the IO quantity configuration of DI and DO needs to be 8 * n, n is a positive integer, so that the length of the corresponding DI and DO data is an integer byte,

AIO: Both integer and float occupy 4 bytes.

According to the usage scenario, the number of IOs for EtherNet/IP is configurable. In usersettings, if Mode = 0, it means that the EIP uses the standard number of IOs, and if Mode = 1, it means that the number of IOs can be configured.

The scanner needs to import the eds file to match the adapter of the controller. Currently, JAKA provides the following eds files, the meaning and application scenarios are:

JAKARobot.eds

The standard version of the eds file, the parameters cannot be configured and cannot be modified, and are fixed values. The specific number of IO is defined in usersettings:

[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

Among them, the sum of the data lengths output by DO and AO is up to 204 bytes, and the sum of the total lengths of the data input by DI and AI is up to 492 bytes.

JAKARobotSetup.eds

For the customized version of the eds file, the number of IO can be configured. You need to change the mode of usersettings to 1 in the controller, and then modify the number of IO.

Among them, the sum of the data lengths output by DO and AO is up to 492 bytes, and the sum of the total lengths of the data input by DI and AI is up to 492 bytes.

PROFINET

For PROFINET IO data transfer operations, please refer to the address assignment table, which consists of 4 sheets, namely table description, Robot2PLC, PLC2Robot and script function. Each data defined in the Robot2PLC and PLC2Robot sheets occupies 4 bytes, that is, 0 to 31 bits. The key contents are as follows:

Transmission Type: R- > P (Robot- > PLC) or P- > R (PLC- > Robot), indicating the direction of data transmission;

Unit Group: Indicates the data type and the module it belongs to. The data type is: robot status, safety settings, and belongs to the first module. For example: 1_R - > P_Robot_Safety, indicating data module number is 1, the transmission direction is R- > P (Robot- > PLC), Robot represents the robot status, Safety represents the safety settings, 32 bytes are used addresses, and 4 bytes are reserved addresses. The content of other unit modules is similar.

PLC Settings: Including the slots corresponding to each unit group, the sub-slot number and the address on the PLC, such as 1_R - > P_Robot_Safety corresponds to the No. 1 slot, the No. 1 sub-slot, and the PLC input I address is 0 to 35 bytes.

image-20230901170602938
image-20230901170602938

PLC Communication Examples

Rockwell 5370 L3 1769-L33ER

Software needed: RsLinx Classic,BOOTP-DHCP Server,RsLinx Classic Launch Panel,RsLogix 5000,JAKA Zu App,Wireshark (opyional)

EtherNet/IP

  1. In the case of not knowing the current IP address of the PLC, use Wireshark to confirm the IP address of the PLC, and use the cmd tool of Windows to ping the device to test whether the PLC is in the network. If the PLC is not in the same network segment as the controller and the host computer, go to step 2 and try to change the IP address of the PLC; if it is already in the same network segment, go to step 4.

  2. Open RsLinx Classic, click “Configure Drivers”, select “Ethernet/IP Driver” in the popup, click “Add New”, configure by default and click “Ok” when done. image-20230221093844646

  3. Click the network node icon to pop up the WRWho session box. Click “ABETHIP_1”, the information of PLC and Ethernet/IP will be refreshed. The normal connection indicates that the network has been properly organized. Right-click the PLC to modify its IP address so that it is in the same subnetwork segment as the controller and the host computer.

image-20230221093902444
image-20230221093902444
  1. Open “BOOTP-DHCP Server”, and devices connected to the computer will be automatically searched.
image-20230221093943306
image-20230221093943306

Note: If the MAC address of the PLC is not found in the automatic search, please turn off the firewall of the computer and manually enter the MAC address. Check the IP address in the bottom half of the column and click “Disable BOOTP/DHCP”.

  1. Open RsLinx Classic Launch Panel and click “Start”.
image-20230221094002051
image-20230221094002051
  1. Click “Tools” on the menu bar, select install EDS file, register EDS file, and keep clicking “Next” until the configuration is complete.
image-20230221094022980
image-20230221094022980
image-20230221094036396
image-20230221094036396
  1. Open RsLogix 5000, and create a new program. Click the PLC model used, input the project name, browse the project storage location, and click “OK”.
image-20230221094054717
image-20230221094054717
  1. Right-click Ethernet in the left column, click “New module”, find the “JAKA Ethernet/IP Adapter” in the popup, click “Create”, input the module name. Note that the IP address here needs to be the same as the Ethernet/IP address of the control cabinet.
image-20230221094147644
image-20230221094147644
image-20230221094158456
image-20230221094158456
image-20230221094206931
image-20230221094206931
  1. Click the Change button to set the type of data. The DINT type is selected for ease of data display.
image-20230221094219019
image-20230221094219019

Note: If you are using a customized version and need to manually configure the modules of the EIP, the configuration is as follows:

PLC to EIP output ID is 100

EIP to PLC Input ID is 101

PLC outputs a maximum of 492 bytes

PLC Input a maximum of 492 bytes

  1. Click “Network Node” to pop up the “Who Active” Page, select PLC module, then click Online and the window pops up, then download the program.
image-20230221094234010
image-20230221094234010
  1. Click online to enable the PLC in running mode. After the connection state is normal, right-click the controller label and select Monitoring Tag. You can see that the PLC has read some data from the robot.
image-20230221094252406
image-20230221094252406
image-20230221094417189
image-20230221094417189
  1. Switch on the DO1 and DO2 of EtherNet/IP on the JAKA Zu App, set integer AO1 as 123.
image-20230221094348426
image-20230221094348426
  1. Check the data of RsLogix 5000, I.Data[72] andI.Data[75] show the data is correct. JAKA EtherNet/IP address table can be referred for data address.
image-20230221094452237
image-20230221094452237

Modbus TCP

Master Station

AB's PLC does not support Modbus TCP communication. Using AB PLC requires a third-party protocol conversion gateway to convert the ModBusTCP protocol to AB's own Ethernet/IP protocol. Therefore, Rockwell PLC must first have an Ethernet interface with EtherNet/IP protocol.

Sofware later than Logix5000 programming software version 15 (measured version 20 and above), for CompactLogix and Controllogix series PLCs, ModbusTCP protocol communication written using PLC programs is supported, and can communicate with other third-party devices as Master and Slave. The routines officially provided by AB are divided into two parts: Master and Slave, which can be used separately on demand. The Master function may occupy 200-230K of storage space in the PLC, and the Slave function may occupy 280-300K of the PLC.

As can be seen from the above, Rockwell does not support the native Modbus TCP protocol, which needs to be implemented through its EtherNet\ IP Ethernet port.

You can write your own PLC program to support Modbus, or you can download a sample program at Rockwell. Below is a brief verification of the example program given by the official website.

  1. Create a project, click “MainRoutine”, right-click “Import Rungs” in the blank area on the right.
image-20230518092658960
image-20230518092658960
  1. Import the .L5X file in the sample program, you can modify the name of the parameter in the program, through the Final Name option of the Tags tag.

    image-20230518092750982
    image-20230518092750982
  2. Click “Ok” to import, right-click in the Modbus TCP Client block, and click “Monitor”.

image-20230518092829622
image-20230518092829622
  1. For the 5370 series, the value of LocalSlot is 0, fill in values such as EtherNet/IP port address, Modbus slave IP address and port number as actual.
image-20230518092950596
image-20230518092950596
  1. Back to the MainRoutine, set the inp_Enable to 1, which means to start the Modbus Client function. For RSLogix 5000, you need to compile and download the program to the PLC, and finally switch to the running state.
image-20230518093017397
image-20230518093017397
  1. The monitoring table can set basic parameters such as Pollinterval (refresh time), Transtype (function code), Stationid (slave ID), BeginAddress (start address), Count (number of addresses), etc. In addition, LocalAddress needs to be set, which indicating the starting address of the Modbus Client corresponding to the starting address of the Modbus Slave.
image-20230518093037433
image-20230518093037433
  1. Modbus Client also uses 4 registers to store data. After completing the mapping of the starting address, the data in the register can be directly modified. For example, the starting address of the Slave is set to 40. Modifying the data under the coils can updated to the inside of the controller.
image-20230518093105083
image-20230518093105083

Siemens 6ES7317-2EK14-0AB0

Software needed: TIA Portal V15, JAKA App

PROFINET

  1. Open TIA Portal V15, Click “Create New Project”, modify the project name (such as jakaPNIO) after the new project window pops up, click ”browse” button, select the path and confirm, then click create again. A new project is created and saved in the specified path.
image-20230518094544786
image-20230518094544786
  1. In the created project window, click Devices & Networks - > Add new devices - > Controllers, select the model of the PLC, and then click Add.image-20230518094635931

  2. Double-click PLC Module, click Ethernet addresses under the general menu, and modify the IP address of the PLC.

image-20230518102245415
image-20230518102245415
  1. If the PLC S7-300 is used, you need to modify the size of the IO address mapping so that the address mapping value is greater than 688 bytes, and the IO address mapping smaller than this value may cause data loss, because the maximum address range of JAKA PROFINET IO is 0-688 bytes.
image-20230518104643528
image-20230518104643528
  1. Click Options in the menu bar, click Manage general station description files (GSD) will pop up a window, click the Browse button, find the path of the file GSDML-V2.41-JAKA-JAKARobot-20210722, select the file after loading, and then install. Close the window after the installation is completed.
image-20230518102831965
image-20230518102831965
image-20230518103105653
image-20230518103105653
  1. Double-click Devices & Networks in the left column, click Other field devices→PROFINET IO→I/O→JAKA→JAKARobot→ JAKA_V1.0 in the right column, double-click it or directly drag and drop it to the interface.
image-20230518103207811
image-20230518103207811
  1. Click Not assigned for PROFINET devices and select PLC_1. PROFINET interface _1.
image-20230518103927603
image-20230518103927603
  1. Click the DP-NORM icon of PROFINET device and select Ethernet address in the menu bar below to modify the IP address of the PROFINET device.(Note that the modified address is for the PROFINET device, which corresponds to JAKA's PROFINET virtual device, not JAKA's control cabinet bottom network port address. Therefore, the IP set must be in the same network segment as the control cabinet and a different address.)
image-20230518104002066
image-20230518104002066
  1. Click IO cycle, select Manually set the update time in the update time block, and select the data update time of PROFINET in the drop-down box of the update time. Since the minimum update time of this device is 8ms, the selected value should be greater than or equal to 8ms.
image-20230518104602841
image-20230518104602841
  1. Double-click the PROFINET device named jaka and switch to the page of Device Overview. You can see the defined IO data blocks under the module of the catalog. Drag the data block into the corresponding slot.
image-20230518104431792
image-20230518104431792
image-20230518104445644
image-20230518104445644

11. Switch to Device & networks interface, select PLC, and select the Compile and Download icons in turn.

image-20230518104522946
image-20230518104522946
  1. Double-click Online & diagnostics in the left column, the configuration of online access is as follows, and then click Online access to observe the connection and the real-time data transmission between PLC and PROFINET.
image-20230518104545379
image-20230518104545379
  1. Under the Monitoring and Enforcement List in the menu bar on the left, create a new monitoring table, and operate the addresses corresponding to DI, AI, DO and AO according to the PROFINET IO address assignment table, so that the data transmission between the controller and the PLC can be realized.
image-20230518104918585
image-20230518104918585

Modbus TCP

Master Station

Siemens also realizes the Modbus TCP protocol by programming, and the S7-300 can use the MODBUSPN module.

  1. Insert MB\ _PN\ _PARAM.
image-20230518093906080
image-20230518093906080
  1. Enter configuration to set connection, and set parameters such as IP address and port number.
image-20230518093934377
image-20230518093934377
  1. Set the data areas of Modbus
image-20230518105611813
image-20230518105611813
  1. Add 4 area blocks according to the data area of the process objectimage-20230518105629778

  2. Create data block

image-20230518105705600
image-20230518105705600
  1. Call the communication command and set the corresponding parameters
image-20230518105726538
image-20230518105726538
image-20230518105736115
image-20230518105736115

Subsequent operations are similar to Rockwell, modify parameters in commands to communicate with Modbus TCP, but this function requires Siemens' authorization key.

Mitsubishi Electric FX5U-80MT/DSS

Software needed: MELSOFT GX Works3,EtherNet/IP Configuration Tool for FX5-ENET/IP,JAKA Zu App

EtherNet/IP

The default IP of FX5U is 192.168.3.250;the default IP of FX5 ENET/IP is 192.168.3.251.

You need to use the expansion module FX5-ENT/IP to enable the EtherNet/IP function. This function requires the software EtherNet/IP Configuration Tool for FX5-ENET/IP, which can be obtained on the Mitsubishi official website or contact the supplier.

  1. Login to the Profile of FX5-ENET/IP using GX works3.
image-20230518105910148
image-20230518105910148
image-20230518105927689
image-20230518105927689
  1. Create a new project, select the corresponding type of PLC.
image-20230518105953323
image-20230518105953323
  1. Drag the FX5-ENET/IP from the information module and concatenate with the FX5U.
image-20230518110033512
image-20230518110033512
  1. Open the Mitsubishi EtherNet/IP Configuration Tool for FX5-ENET/IP, click “Add” under “Description” to add a configuration module and change the address. Note that the IP address of the module remains the same network segment.
image-20230518110108093
image-20230518110108093
  1. Click “Device Library” to add eds file.
image-20230518110127399
image-20230518110127399
  1. Drag the eds file directly under TCP/IP, and pay attention to configuring its IP and module with the same network segment.
image-20230518110154849
image-20230518110154849
  1. The Ping function on the configuration interface can be used to test whether it is connected.
image-20230518110211474
image-20230518110211474
  1. Click “Go Online” icon and download configuration.
image-20230518110240349
image-20230518110240349
  1. Since the Mitsubishi module needs to be run through the program and needs to be activated by function blocks, after the configuration download is completed, you need to go back to the homepage to program and trigger the EtherNet/IP function. After installing the configuration file of FX5-ENET/IP, the part library has its own standard function block, select Add Module Label.
image-20230518110300653
image-20230518110300653
  1. Click ”Online”→“Current Connection Destination...”.
image-20230518110328253
image-20230518110328253
  1. Click “Other Connection Method” to open the specify connection destination window.
image-20230518110348372
image-20230518110348372
  1. Double-click the device network to set the IP of the FX5U.
image-20230518110409610
image-20230518110409610
  1. Click Find, double-click the searched device and click OK.
image-20230518110426467
image-20230518110426467
  1. Click Connection Test, which should show Successfully connected with the FX5UCPU.
image-20230518110443487
image-20230518110443487
  1. Add M + FX5ENETIP_Class1SetOutputdata_01A module to test the function of sending data, and write the test program as follows.
image-20230518110510258
image-20230518110510258
  1. At this point, EtherNet/IP Configuration Tool for FX5-ENET/IP has been configured, click write to PLC and rebuild all icon.
image-20230518110529816
image-20230518110529816
  1. Click Select All→Execute, then reset the PLC, which can be realized by power off. Note that the network cable should be connected to the FX5U unit at this time.
image-20230518110550181
image-20230518110550181
  1. After restart, unplug the network cable from the FX5U and connect to the FX5-ENET/IP. Click “Online”→”Current Connection Destination...” to confirms that the communication with the EIP module is normal, and then turn on the monitoring.
image-20230518110654282
image-20230518110654282
  1. Place the cursor on the M1001 switch, press Shift + Enter to change the input signal to trigger this function.
image-20230518110711675
image-20230518110711675
  1. After using the module to trigger the EIP function, the App will display that the master station was successfully connected.
image-20230518110608603
image-20230518110608603
  1. Diagnostics in EtherNet/IP Configuration Tool for FX5-ENET/IP will show that the device is online.
image-20230518110636975
image-20230518110636975
  1. Right click the function block, then click Online→Device/Buffer Memory Batch Monitor.
image-20230518110726137
image-20230518110726137
  1. Monitor D1015 and update, at which point the data should be updated to DI and AI.
image-20230518110747795
image-20230518110747795
  1. Float is the same. You can view the device value through the monitor window. It should be noted that the device memory stores data in 16-bit units, and both signed integers and floats need high and low bits to form accurate 32-bit data.
image-20230518110812748
image-20230518110812748
  1. Drag in the M + FX5ENETIP_Class1Getinputdate_01A module to test the function of receiving data. Write the test program as follows. Each time you compile and write, you need to plug the network cable into the CPU unit, that is, FX5U, and when you actually use the EIP function, you need to plug the network cable back into FX5-ENET/IP.
image-20230518110832871
image-20230518110832871
  1. Modify the value of DO and AO in the JAKA Zu App, and check the update of value.
image-20230518110853851
image-20230518110853851
  1. Float is the same.
image-20230518110910926
image-20230518110910926

Modbus TCP

Slave Station
  1. Click MODBUS/TCP Settings under Basic Settings, and double-click the target device connection configuration settings.
image-20230518162141616
image-20230518162141616
  1. Drag a Modbus/TCP connection Module into the network topology, and click Close with Reflecting the Setting.
image-20230518111007916
image-20230518111007916
  1. The Modbus/TCP settings will display Used. Double-click Detailed Setting to enter the MODBUS Device Allocation, click OK, and then click Apply.
image-20230518111025673
image-20230518111025673
  1. Write the modified module parameters into the PLC, then reset the PLC.
image-20230518111042541
image-20230518111042541
  1. The App can run the extended IO module at this time, open Device/Buffer Memory Batch Monitor, and check whether the value is updated to the corresponding address.
image-20230518111057725
image-20230518111057725
image-20230518111111202
image-20230518111111202
image-20230518111122339
image-20230518111122339
Master Station
  1. Click Module Parameter→Ethernet Port, double-click connection configuration to enter Ethernet Configuration interface, set Communication Method as Predefined Protocol, set IP Address, Port No., after the setup is complete, click Close with Reflecting the Setting and click Apply.
image-20230518111135968
image-20230518111135968
  1. Click Tool→Predefined Protocol Support Function...
image-20230518111150850
image-20230518111150850
  1. Select Ethernet and click OK.
image-20230518111203910
image-20230518111203910
  1. Click Add, select MODBUS/TCP and add protocol name.
image-20230518111220121
image-20230518111220121
  1. Protocol names can be added multiple times, up to 64 protocol numbers are supported.
image-20230518111236492
image-20230518111236492
  1. If you are not familiar with the device allocation, you can directly and automatically assign the device data packet, right-click the blank area, and click Device Batch Setting...
image-20230518111250414
image-20230518111250414
  1. Set the Protocol No. Range and Start Device No., clcik OK.
image-20230518111306694
image-20230518111306694
  1. The Variable Set showed now, you can also click Tool→Setting Device List to check the specific allocation method.
image-20230518111330610
image-20230518111330610
  1. With the allocation rule with the function code of 15, D304 is the Transaction ID, D305 is the Module ID, D306 is Head coil number, D307 is Write points, D308 is device data, specifying the byte length of the written data, and D309-D1292 is the specific data written.
image-20230518111347364
image-20230518111347364
  1. Write this module to the PLC after the assignment is completed. Note that the setting here is to write separately. The writing performed from the homepage of GX Works3 will not write the information of this module.
image-20230518111403627
image-20230518111403627
  1. After the writing is completed, you need to write a program to trigger this communication protocol. Mitsubishi PLC mainly uses three commands as the Modbus master station. You can refer to the MELSEC iQ-F FX5 user manual (MODBUS communication). For the detailed meaning of the commands, you can press F1 to view the official commands help.

  2. Here is a communication method, you can modify the program according to your own logical requirements. First, use SP. SOCOPEN to connect.

image-20230518111430357
image-20230518111430357
  1. Set the connection, mainly according to the address of the above soft component allocation table.
image-20230518111503241
image-20230518111503241
  1. Use SP. ECPRTCL to call the communication protocol ID for writing.
image-20230518111517448
image-20230518111517448
  1. Disconnect by SP. SOCCLOSE.
image-20230518111531756
image-20230518111531756
  1. Click convert the program and write to the PLC. The program logic will recycle the communication protocol number 1. Since SP. ECPRTCL will not open and close the connection, it is necessary to combine SP. SOCOPEN and SP. SOCCLOSE when using it. Click Device/Buffer Memory Batch Monitor.
image-20230518111546412
image-20230518111546412
  1. Then the value will updated to the corresponding register.
image-20230518162249818
image-20230518162249818
  1. The 02 function code is similar. Confirm the device allocation and modify the program.
image-20230518111616942
image-20230518111616942
  1. Modify the protocol number and continuous read number to 2.
image-20230518111637363
image-20230518111637363
  1. Convert the program and download it to the PLC, the value of DO will update to D1307.
image-20230518111657433
image-20230518111657433

Schneider Electric TM241CE24R

Software needed: Machine Expert,JAKA Zu App

EtherNet/IP

First, ensure the firmware version of TM241CE24R is matches the Machine Expert. If the version is not correct, use the controller assistant to upgrade or downgrade the firmware version.

  1. Add eds file by Machine Expert.
image-20230518111842828
image-20230518111842828
image-20230518111916343
image-20230518111916343
image-20230518111927256
image-20230518111927256
  1. Double-click “MyController” to see devices connected now, the IP address of external devices can be modified by directly connecting the network cable.
image-20230518111942759
image-20230518111942759
  1. Check “Save settings permanently” when modifying.
image-20230518111956473
image-20230518111956473
  1. At this time, it has been successfully modified. Connect the TM241CE24R to the Ethernet switch. The JAKA App and the controller are also connected to the Ethernet switch and remain in the same network segment.
image-20230518112018441
image-20230518112018441
  1. Right click “Ethernet_1” to add device.
image-20230518112047746
image-20230518112047746
  1. Select “Industrial Ethernet Manager” under the “Modbus TCP”.
image-20230518112116359
image-20230518112116359
  1. Click “Industrial Ethernet Manager” to add JAKA devices.
image-20230518112139664
image-20230518112139664
  1. Compile and log in to the device. If prompted for safety, ignore and press ALT + F8 to continue logging in.
image-20230518112153726
image-20230518112153726
  1. After changing to always enabled, click “Start”.
image-20230518112222107
image-20230518112222107
  1. Then, the JAKA Zu App shows “successfully connect the master station”.
image-20230518112233861
image-20230518112233861
  1. Modify the values of DO and AO, and the corresponding Input Exclusive owner [144], [150], [154] will change, which because the data from ROBOT to PLC contains the data of ROBOT status. That’s why DO starts at 72. JAKA's EtherNet/IP uses 32-bit data, and Machine Expert uses 16-bit data, so the final DO address starts at 144.
image-20230518112249241
image-20230518112249241
  1. Use ctrl + F7 in the output to pass the value to the robot, and the value is also updated.
image-20230518112303178
image-20230518112303178

Modbus TCP

Master Station
  1. Right click “Ethernet_1” to add modbus slave device.
image-20230518112326838
image-20230518112326838
  1. Set IP address and other information of master station.
image-20230518112340540
image-20230518112340540
  1. Login and click “Start” to monitor data.
image-20230518112355272
image-20230518112355272
  1. The function codes of the hold register of the modbus slave supported by the TM241CE24R are 03, 06 and 16, while the function code supported by the input register is 17. The JAKA robot modbus master station does not support this function code for the time being. You need to check the official documentation before use.

Omron CP1H-X40DT-D

Software needed: CX-Programmer,JAKA Zu App

The CPU unit of CP1H does not have the function of EIP, so an expansion unit needs to be installed. Before that, you need to install a CJ1W-EXT01 expansion unit to support expansion. The installed product is as follows:

image-20230518112534078
image-20230518112534078

Since Omron's modbus is protocol-free communication, which means communication is realized through software, and additional optional hardware is required, such as CJ1W-ETN21 to support modbustcp and CP1W-CIF11 to support modbusrtu, they are not introduced here.

EtherNet/IP

  1. Use CX-Programmer as the host computer and create a new project.
image-20230518112558888
image-20230518112558888
  1. The default address of PLC is 192.168.250.1, click work online and program mode icon to switch to online mode and open the programming in order to modify parameters.
image-20230518112611668
image-20230518112611668
  1. Click IO Table and Unit Setup, and initialize the CPU bus.
image-20230518112625082
image-20230518112625082
  1. Now the EtherNet/IP unit is created.
image-20230518112637340
image-20230518112637340
  1. After modifying the IP address of EIP21, transfer the parameters from PC to unit, and use modified IP address to connect PLC.
image-20230518112648277
image-20230518112648277
  1. Click Start Special Application→Start with Settings Inherited.
image-20230518112704443
image-20230518112704443
  1. Click “Network Configurator” to set EIP.
image-20230518112716651
image-20230518112716651
  1. Click “Install” to install eds file.
image-20230518112728140
image-20230518112728140
  1. Click “Upload”.
image-20230518112746186
image-20230518112746186
  1. Drag the imported device onto the bus and click "Change Node Address..." to modify the IP address.
image-20230518112807626
image-20230518112807626
  1. Connect and register: Click "JAKA Robot Ethernet/IP Adapter" → "Connections”.
image-20230518112818721
image-20230518112818721
  1. Set variables.
image-20230518112841189
image-20230518112841189
  1. After the settings is completed, modify the parameters to PLC.
image-20230518112852640
image-20230518112852640
  1. Click “Download”.
image-20230518112907042
image-20230518112907042
  1. Ignore the warning and continue.
image-20230518112920804
image-20230518112920804
  1. The PLC will be restarted after the download is complete.
image-20230518112933858
image-20230518112933858
  1. At this time, the App shows that the master station is successfully connected, and the working mode of the PLC is switched to monitoring, which can realize the transmission of values.
image-20230518112952130
image-20230518112952130
image-20230518113001361
image-20230518113001361

Keyence KV-8000

Software needed: KV STUDIO,JAKA Zu App

This example uses KV-8000 as the CPU unit and KV-XLE02 as the expansion unit.

EtherNet/IP

  1. Create a new project by KV STUDIO, when using an Ethernet unit for the first time, you need to open the unit editor.
image-20230518113104728
image-20230518113104728
  1. Drag the unit to KV-8000, if the CPU unit is already connected, you can also choose to read the unit configuration directly from the PLC.
image-20230518113118159
image-20230518113118159
  1. Set the protocol of the port to scanner, (if it is not set here, the EtherNet/IP setting will not be displayed), set the IP address of KV-8000 and KV-XLE02 respectively, and finally apply the settings.
image-20230518113139022
image-20230518113139022
  1. Back to KV-STUDIO, select the communication settings of the monitor/emulator, select EtherNet/IP or USB to scan, and connect the PC and PLC using a network cable or USB. When selecting EtherNet/IP to scan, select the network interface card and execute it. The corresponding device can be scanned. After scanning to the device, click “Select”.
image-20230518113151146
image-20230518113151146
  1. Click transfer to PLC and click “Execute”. After execution, the Ethernet settings in the unit editor will also be written into the PLC. If the IP address of KV-8000 and the communication protocol of KV-XLE02 are modified in the unit editor, the network parameters of the device will also change after the writing is complete. In addition, the network of the two ports of KV-XLE02 must be kept different.
image-20230518113205943
image-20230518113205943
  1. Import eds file of JAKARobot.
image-20230518113220030
image-20230518113220030
  1. In this example, set the IP address of port 1 to 192.168.1.10, repeat the above steps to select the device, connect the network cable to KV-XLE02, select this device, go back to the unit editor, and click “EtherNet/IP Settings”.
image-20230518113234996
image-20230518113234996
  1. Set the IP address of the JAKA device to the same network segment as the PLC, the example is 192.168.1.20/24, change the setting to automatically scan the network topology.
image-20230518113247405
image-20230518113247405
  1. Back to KV STUDIO, download EtherNet/IP settings and unit editor to the PLC, and the JAKA App shows that the successfully connected master station.
image-20230518113301551
image-20230518113301551
  1. Back to EtherNet/IP settings, click “Edit” of Exclusive Owner, check “Auto assign”. The data types of communication data of EtherNet/IP devices defined by Keyence are bits and bytes, and the display of the data varies according to the type. For non-Keyence devices, use auto assign, and check “Word device”.
image-20230518113313000
image-20230518113313000
image-20230518113328040
image-20230518113328040
  1. Save settings, since the data of JAKA defaults to 32 bits, and the data type of KV-STUDIO defaults to WORD, accounting for 16 bits, when using the data type of WORD, JAKA's DI corresponds to PLC from IN_101 [144], DO starts from OUT_100 [0], open the monitor window.
image-20230518113348198
image-20230518113348198
  1. Modify the parameters in the JAKA App and KV STUDIO to check the values of each soft component and App. Since the default data type of KV STUDIO is WORD, it needs to be spliced with high and low bits when using it.
image-20230518113405110
image-20230518113405110

Modbus TCP

Slave Station
  1. When KV-XLE02 is used as a slave station, it is not necessary to send and receive the LAD program. Enter the unit editor and open the PROTOCOL STUDIO switch.
image-20230518113423247
image-20230518113423247
  1. Configure all relevant parameters of Modbus in the Modbus device ma setting, such as IP address, modbus TCP port number, coil and register address, etc. By default, read-only soft components (input/input registers) are set to the same as read-write soft components (coil/holding registers).
image-20230518113439809
image-20230518113439809
  1. Write the configuration of the unit editor into the PLC and enable the monitor mode. At this time, the slave station is successfully turned on, and the register address of the slave station is selected for monitoring. It should be noted that by default, the read-only soft component (input/input register) of KV-XLE02 is set to the same as the readable and writable soft component (coil/holding register), which can be assign by itself according to needs. A distinction is made here to distinguish.
image-20230518113452997
image-20230518113452997
  1. Enter the IO panel in the JAKA Zu App, click “Run”, modify the parameters, and then KV STUDIO reads and sends the parameters of the corresponding address, and the parameters are updated synchronously.
image-20230518113506874
image-20230518113506874

DELTA AS228T-A

Software needed: Delta ISPSoft,HWCONFIG,JAKA Zu App

EtherNet/IP

  1. For Delta AS series, you need to open the EIP BUILDER from HWCONFIG, otherwise there is no option for the AS series. If it is a newer version, you can directly complete the EIP configuration and network topology in HWCONFIG.

    Create a new project, double-click “HWCONFIG”.

image-20230518114351122
image-20230518114351122
  1. Install “Device Description File Manager”.
image-20230518114402845
image-20230518114402845
  1. Right click PLC device and click Communication Software→EtherNet/IP.
image-20230518114417537
image-20230518114417537
  1. Enter jaka in Product List to search JAKA Robot Ethernet/IP Adapter and drag it into the configuration network, and then double-click it to modify the IP Address.
image-20230518114434556
image-20230518114434556
  1. Click Fast Connect to connect devices within the same network, and download to the device.
image-20230518114538549
image-20230518114538549
  1. Click Data Exchange and set Scanner Start Address and click Download to download the data to PLC.
image-20230518114554764
image-20230518114554764
  1. Then, the JAKA Zu App shows “successfully connect the master station”.
image-20230518114606575
image-20230518114606575
  1. Close and save HWCONFIG, return to ISPSoft, click Online Mode, the item comparison does not match pops up, click OK to download.
image-20230518114622309
image-20230518114622309
  1. Click Device Monitor Table→Monitor Table→PLC→New Devices Table to create address variables.
image-20230518114636722
image-20230518114636722
  1. Monitor the changes of DO and AO, same for floats.
image-20230518114651737
image-20230518114651737
image-20230518114659624
image-20230518114659624
  1. Monitor the changes of DI and AI, the value of DI starts from D1000, same for floats.
image-20230518114717985
image-20230518114717985
image-20230518114731299
image-20230518114731299

Modbus TCP

Slave Station
  1. The official website can find the MODBUS address, and you can directly access these addresses to realize access to Delta PLC Modbus slaves. The default port number is 502, and the first bit of the MODBUS address represents the register type.

  2. Monitor data in the device monitoring table, taking access to Y, M, D as an example:

image-20230518114815951
image-20230518114815951
image-20230518114825506
image-20230518114825506
Master Station
  1. Double-click to enter HWCONFIG, double-click Hardware Configuration and device icon.
image-20230518114843299
image-20230518114843299
  1. Click Data Exchange, this represents the trigger mode of Modbus TCP port, modify it as Always Enable, it will always be enabled when the PLC is powered on, add the data exchange rules after the modification is completed, set the Remote Device Type as Standard Modbus Device, set the IP address, Local Start Address, Remote Start Address and the number, note that the remote start address is in hexadecimal, and then download the parameters to the device after the setup is completed.
image-20230518114859097
image-20230518114859097
  1. Close HWCONFIG, open the online option, monitor the data table, you can observe all the data update.
image-20230518114912260
image-20230518114912260
  1. Since the JAKA Modbus slave uses big-end display for floating point numbers, the high byte is stored in the low byte, according to Delta PLC's display rules as follows:
image-20230518114927755
image-20230518114927755

INOVANCE Easy522‑0808TN

Software needed: AutoShop,JAKA Zu App

EtherNet/IP

  1. Open AutoShop, create a project, select PLC Model and enter communication settings of tools.
image-20230518115022404
image-20230518115022404
  1. Click Search.
image-20230518115035421
image-20230518115035421
  1. Click Import EDS.
image-20230518115049518
image-20230518115049518
  1. Double-click JAKA Robot Ethernet/IP Adapter to add configuration
image-20230518115102151
image-20230518115102151
  1. Compile and download to the device, and switch the device to the running state.
image-20230518115114620
image-20230518115114620
  1. At this time, the device should show that it has successfully connected to the master station, and the EtherNet/IP display in the configuration is green.
image-20230518115128368
image-20230518115128368
  1. Using the DI and signed outputs, the PLC can be updated.
image-20230518115145588
image-20230518115145588
  1. Floats can also be updated.
image-20230518115220157
image-20230518115220157
  1. Output data from PLC to robot.
image-20230518115234702
image-20230518115234702
image-20230518115245433
image-20230518115245433

Modbus TCP

Slave Station
  1. When the Easy-522 is used as a slave, the Modbus slave function is enabled by setting the IP address, and there is no need to set up the communication protocol. Configure JAKA expansion IO and use port 502 to communicate with the Easy-522.
image-20230518115310208
image-20230518115310208
  1. The documentation of Easy-522 specifies the addresses that can be accessed by coils and registers, and the coils and registers share the same address.
image-20230518115327406
image-20230518115327406
image-20230518115338147
image-20230518115338147
Master Station
  1. Click Ethernet to open Modbus TCP Configuration window, enter JAKA’s IP address and port number.
image-20230518115355406
image-20230518115355406
  1. Right click to open and add the slave station number, configure it separately, assign the mapped address and click OK.
image-20230518115410000
image-20230518115410000
  1. Open the device table, monitor the values of D200-D240, and assign the addresses according to the above figure, the addresses are mapped as follows:

DO 0-9 : D200-209

DI 0-9 : D210-D219

AO 0-9 : D220-229

AI 0-9 : D230-D239

Use the read memory and write memory to observe the update of the values.

image-20230518115425621
image-20230518115425621

Codesys

EtherNet/IP

  1. After downloading and installing Codesys, CODESYS Gateway Systray -x64 and CODESYS Control Win Systray -x64 will appear in the background. The former is the switch of the gateway, and the latter is the switch of the virtual PLC. When using it, you need to ensure that both are running.
image-20230220181755889
image-20230220181755889
  1. Open Codesys and create a new project, click “Standard project”, the first time you use Codesys will prompt to create a user, and then you need to use this information to log in as a user when using PLC.
image-20230220183201360
image-20230220183201360
image-20230220182339657
image-20230220182339657
  1. Select CODESYS Control Win V3 x64 as the PLC model, and don’t need to change the second column.
image-20230220182401950
image-20230220182401950
  1. In the menu bar of Codesys, click “Tools”→“Device Repository”,click “Install” to import eds file. After that, a prompt will pops up, and the file will appear under the remote adapter of the EtherNet/IP bus.
image-20230220182205612
image-20230220182205612
image-20230220182610006
image-20230220182610006
  1. Add EtherNet->EtherNet_IP_Scanner in Codesys respectively.
image-20230220182807248
image-20230220182807248
  1. Double-click “Ethernet” to select the network port connected to the external device, and click “OK”. If there is already a JAKA controller matching the eds file in the network, and the EtherNet/IP function is enabled, right-click “EtherNet_IP_Scanner” to scan the device, you can see the eligible devices, and click “Copy All Devices to Project”; if the scan is unsuccessful, you can also manually add devices and configure their IP address.
image-20230220183555384
image-20230220183555384
image-20230220184201136
image-20230220184201136
  1. Click the login and run buttons in turn. When the scanner and adapter in the device bar turn green, it means that the device is successfully connected. At this time, the App will display the successful connection to the master station synchronously.
image-20230220184343914
image-20230220184343914
image-20230220184357323
image-20230220184357323
image-20230220184636633
image-20230220184636633
image-20230220184522233
image-20230220184522233
image-20230220184803673
image-20230220184803673
  1. Open the IO mapping of the jaka adapter and change “Always update variables” to “Enabled 1”. To modify this option, you need to log out of the PLC first. If you log in again, you can find that the data has been updated synchronously.
image-20230220185223933
image-20230220185223933
  1. From the controller to the PLC, modify the data of DO and AO respectively, the parameters corresponding to the address have been updated.image-20230220185334508
image-20230220185419800
image-20230220185419800
  1. From the PLC to the controller, modify the values of DI and AI in the prepared value, and press ctrl + F7 to submit the data at the same time. You can see that the corresponding data has been updated.
image-20230220185633320
image-20230220185633320
image-20230220185713370
image-20230220185713370

Summary

The verified PLC models and corresponding communication protocols are summarized as follows:

ModelManufactureModbus TCPEtherNet/IP (scanner)PROFINET (controller)
5370 L3 1769-L33ERRockwell
6ES7317-2EK14-0AB0Siemens
FX5U-80MT/DSSMitsubishi Electric
TM241CE24RSchneider Electric
CP1H-X40DT-DOmron
KV-8000Keyence
AS228T-ADelta
Easy522‑0808TNINOVANCE

For the PLC models measured above, the communication protocol is well compatible with the master and slave protocol currently supported by JAKA, and can be used normally. It should be noted that due to the regulations of each PLC manufacturer on the data type and length, it may not be fully compatible, and the data needs to be spliced and other processing.

Troubleshooting

If it cannot be connected or enabled, it can be preliminarily analyzed and processed according to the following items.

Check Whether the Devices are in the Same Network Segment

Check whether the device is in the same network segment, you can use wireshark to analysis, or you can test the network by ping to ensure that the communication between the devices is good.

Check EtherNet/IP Status from JAKA Zu App

After modifying the EtherNet/IP enable state and network state, you need to restart the controller to update the configuration. Similarly, PROFINET can check whether it is in the state of interacting with the master station and determine whether it is connected in the corresponding setting interface of the App.

Check Whether the Wiring is Normal

When connecting with the PLC, it is recommended to use the network port at the bottom of the control cabinet. At this time, the App should be connected through Wi-Fi or the network port on the front panel of the control cabinet to ensure the communication quality.

Check Status from PLC

Monitor the status of the PLC through the host computer software to ensure that it is in a running state and working normally. For example, the premise of Codesys data update is to open the "Enable 1" of the data mapping option.

Restart PLC

Certain PLC models require a cold restart to apply communication configurations or program updates. If persistent communication failure occurs, try performing a power cycle (complete power off and restart) of the PLC and attempt the operation again.

Check Print Information in Terminal Interface

Use the jkzuc command on the terminal interface to restart the controller, check the relevant print information of EtherNet/IP, including enable status, IO configuration mode, network interface card name, IP address, connection status with master, etc., to confirm whether the information matches or normal.

image-20230220190231581
image-20230220190231581

sidebarDepth: 2 pageAnchor: isDisabled: true anchorDepth: 2

Bus Address Distribution

Modbus Address Distribution

 

 Type
  (for PLC)
Name (CAB1.0)NameName (MiniCab)Data TypeFunction codeDescriptionUnitRegister Type
(CAB2.1)
8General Digital InputDO1DO1DO1BOOL02  Discrete input is readable but not writable
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
40General Digital OutputDI1DI1DI1BOOL01/05/15  Coil
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
96Analog InputAO01AO01AO01UINT1604  Input register
 Readable but not writable 
97AO02AO02AO02
98AO03AO03AO03
99AO04AO04AO04
111AO16AO16AO16
112AO17AO17AO17INT16
113AO18AO18AO18
114AO19AO19AO19
115AO20AO20AO20
127AO32AO32AO32
128AO33AO33AO33FLOAT32
 (big-endian display)
129
130AO34AO34AO34
131
190AO64AO64AO64
191
192-CAB AI1-UINT16
193-CAB AI2-
194TOOL AI1TOOL AI1TOOL AI1
195TOOL AI2TOOL AI2TOOL AI2
100Analog OutputAI01AI01AI01UINT1603/06/16  Maintenance registers
 Readable and writable
101AI02AI02AI02
102AI03AI03AI03
103AI04AI04AI04
115AI16AI16AI16
116AI17AI17AI18INT16
117AI18AI18AI18
118AI19AI19AI19
119AI20AI20AI20
131AI32AI32AI32
132AI33AI33AI33FLOAT32
 (big-endian display)
133
134AI34AI34AI34
135
194AI64AI64AI64
195
196-CAB AO1-UINT16
197-CAB AO2-
Robot Data Related (Big-endian Display)
300Robot DataServo Version No.:INT3204  Input register
 Readable but not writable 
302Robot Serial No.  
304Joint 1 VoltageFloat32Voltage for each jointV
306Joint 2 Voltage
308Joint 3 Voltage
310Joint 4 Voltage
312Joint 5 Voltage
314Joint 6 Voltage
316Joint 1 TemperatureFloat32Temperature of each joint°C
318Joint 2 Temperature
320Joint 3 Temperature
322Joint 4 Temperature
324Joint 5 Temperature
326Joint 6 Temperature
328Joint 1 servo error codeINT32Servo error code of each joint 
330Joint 2 servo error code
332Joint 3 servo error code
334Joint 4 servo error code
336Joint 5 servo error code
338Joint 6 servo error code
340Joint 1 Error StatusUINT16Current servo error status
 0 indicates no error  
 1 indicates errors
 
341Joint 2 Error Status
342Joint 3 Error Status
343Joint 4 Error Status
344Joint 5 Error Status
345Joint 6 Error Status
346Joint 1 Enabled statusUINT16Current servo enabling status
 0 indicates the disabled status
 1 indicates the enabled status
 
347Joint 2 Enabled status
348Joint 3 Enabled status
349Joint 4 Enabled status
350Joint 5 Enabled status
351Joint 6 Enabled status
352Joint 1 collision statusUINT16Current servo collision detection status
 0 indicates no impact
 1 indicates impact
 
353Joint 2 collision status
354Joint 3 collision status
355Joint 4 collision status
356Joint 5 collision status
357Joint 6 collision status
358Joint 1 CurrentFloat32Current of each jointA
360Joint 2 Current
362Joint 3 Current
364Joint 4 Current
366Joint 5 Current
368Joint 6 Current
370Sensor torque XFloat32Torque of force control sensorN
372Sensor torque Y
374Sensor torque Z
376Sensor torque RXNm
378sensor torque RY
380Sensor torque RZ
382Joint 1 PositionFloat32Position of each joint°
384Joint 2 Position
386Joint 3 Position
388Joint 4 Position
390Joint 5 Position
392Joint 6 Position
394Joint 1 SpeedFloat32Speed of each joint°/s
396Joint 2 Speed
398Joint 3 Speed
400Joint 4 Speed
402Joint 5 Speed
404Joint 6 Speed
406TCP Position XFloat32TCPmm
408TCP Position Y
410TCP Position Z
412TCP Position RX°
414TCP Position RY
416TCP Position RZ
418TCP Speed XFloat32TCP Speedmm/s
420TCP Speed Y
422TCP Speed Z
424TCP Speed RX°/s
426TCP Speed RY
428TCP Speed RZ
430TCP_OFFSET_XFloat32Tool coordinate systemmm
432TCP_OFFSET_Y
434TCP_OFFSET_Z
436TCP_OFFSET_RXFloat32Tool coordinate system°
438TCP_OFFSET_RY
440TCP_OFFSET_RZ
442BASE_OFFSET_XFloat32User coordinate systemmm
444BASE_OFFSET_Y
446BASE_OFFSET_Z
448BASE_OFFSET_RX°
450BASE_OFFSET_RY
452BASE_OFFSET_RZ
454COLLISION_PROTECTIVE_STOPUINT16Robot collision: 1
 No collision: 0 
 
455EMERGENCY_STOPUINT16Emergency stop 
456POWER_ONUINT16Power on 
457ROBOT_ENABLEUINT16Enabled 
458ON_SOFT_LIMITUINT16soft limit 
459INPOSUINT16Reach the target position 
460Movement modeUINT16Servo position mode: 4
 Admittance control mode: 2  
 Freedrive mode: 1
 Other modes (Jog, etc.): 0
 
461Percentage Mode LevelUINT16Level 1 Percentage: 1 Level 2 Percentage: 2 Protective Stop: 3 
462Speed MagnificationFLOAT32Speed Magnification 
464MOTION_ERRCODEINT32Error Code 
466CAB_TEMPERATUREFLOAT32Temperature of the control cabinet  
468CAB_AVERAGEPOWERPower of the control cabinet  
470CAB_AVERAGECURRENTCurrent of the control cabinet  
472UHI_PULESFLOAT32Conveyor pulse 
474UHI_SPEEDMovement speed of conveyor belts 
476UHI_DIRUINT16Movement direction of conveyor belts  
477UHI_ORIGIN_PULESINT32Original Pulse of conveyor belt  
479ERROR_TRIGGEREDBOOLRobot error: 1
 Robot did not report an error: 0
 
480TCP_LINEAR_SPEEDFLOAT32TCP linear speedmm/s
482CHECKSUMUINT16Robot checksum 
484TCP_ANGULAR_SPEEDFLOAT32TCP angular speed°/s
486REDUCE_MODERobot not in reduce mode: 0 Robot in reduce mode 1
487Reserved Reserved 
Reserved Reserved 
555Reserved Reserved 

Profinet Address Distribution

Description

Symbol description:

  1. Each data module is marked with data transmission direction. R - > P indicates that the robot sends data to the PLC, and P - > R indicates that the PLC sends data to the robot.
  2. DI represents digital input, DO represents digital output, AI represents analog input and AO represents analog output.

Table description:

  1. Row numbers represent bits, a total of 32 bits, 4 bytes, from 0 to 31 bits, and column numbers represent the total bits used.
  2. Each row has data type, number of digits and unit.
  3. In the data group section, the relevant data is grouped into a group, including the name of the data group, the group number, and the number of bytes occupied.
  4. The second table on the right shows the PLC settings, including the slot, subslot number, and starting position corresponding to each data group.

Robot2PLC

 

Transmission Type R->P Robot->PLCPLC Settings
BitDataData GroupSlotSubslotI - Input Address
0Robot serial number (int32)Robot status, safety settings
 1_R->P_Robot_Safety
 36 Bytes
110
32Servo version number (int32)4
64CAB_AVERAGECURRENT (float) [A]8
96CAB_AVERAGEPOWER (float) [W]12
128CAB_TEMPERATURE (float) []16
160POWER_ON20.0
160+1ROBOT_ENABLE20.1
160+2Reserved20.2
192MOTION_ERRCODE (int32)24
224Motion Model uint828
224+8Percentage Mode Level uint829
224+16EMERGENCY_STOP30.0
224+17COLLISION_PROTECTIVE_STOP30.1
224+18ON_SOFT_LIMIT30.2
224+19REDUCE_MODE30.3
224+20Reserved30.4
256CHECKSUMint3232
288Joint 1 Voltagefloat[V]Joint
 2_R->P_Joints
 172+48 Bytes
2136
320Joint 2 Voltagefloat[V]40
352Joint 3 Voltagefloat[V]44
384Joint 4 Voltagefloat[V]48
416Joint 5 Voltagefloat[V]52
448Joint 6 Voltagefloat[V]56
480Joint 1 Currentfloat[A]60
512Joint 2 Currentfloat[A]64
544Joint 3 Currentfloat[A]68
576Joint 4 Currentfloat[A]72
608Joint 5 Currentfloat[A]76
640Joint 6 Currentfloat[A]80
672Joint 1 Positionfloat[°]84
704Joint 2 Positionfloat[°]88
736Joint 3 Positionfloat[°]92
768Joint 4 Positionfloat[°]96
800Joint 5 Positionfloat[°]100
832Joint 6 Positionfloat[°]104
864Joint 1 Velocityfloat[°/s]108
896Joint 2 Velocityfloat[°/s]112
928Joint 3 Velocityfloat[°/s]116
960Joint 4 Velocityfloat[°/s]120
992Joint 5 Velocityfloat[°/s]124
1024Joint 6 Velocityfloat[°/s]128
1088Joint 1 Temperaturefloat[]132
1120Joint 2 Temperaturefloat[]136
1152Joint 3 Temperaturefloat[]140
1184Joint 4 Temperaturefloat[]144
1216Joint 5 Temperaturefloat[]148
1248Joint 6 Temperaturefloat[]152
1280Joint 1 Torquefloat[Nm]156
1312Joint 2 Torquefloat[Nm]160
1344Joint 3 Torquefloat[Nm]164
1376Joint 4 Torquefloat[Nm]168
1408Joint 5 Torquefloat[Nm]172
1440Joint 6 Torquefloat[Nm]176
1472Joint 1 Servo Error Codeint32180
1504Joint 2 Servo Error Codeint32184
1536Joint 3 Servo Error Codeint32188
1568Joint 4 Servo Error Codeint32192
1600Joint 5 Servo Error Codeint32196
1632Joint 6 Servo Error Codeint32200
1664Joint Error Status(0:No Error1Error) (uint8)204
1664+8Joint Enable State(0:Disable1Enable) (uint8)205
1664+16Joint Collision Status(0:No Collision1Collision) (uint8)206
1664+24Reserved207
1696Reserved float  48 Bytes208
2048TCP Position Xfloat[mm]TCP and BASE
 3_R->P_TCP_BASE
 104+40 Bytes
31256
2080TCP Position Yfloat[mm]260
2112TCP Position Zfloat[mm]264
2144TCP Position RXfloat[°]268
2176TCP Position RYfloat[°]272
2208TCP Position RZfloat[°]276
2240TCP Velocity Xfloat[mm/s]280
2272TCP Velocity Yfloat[mm/s]284
2304TCP Velocity Zfloat[mm/s]288
2336TCP Velocity RXfloat[°/s]292
2368TCP Velocity RYfloat[°/s]296
2400TCP Velocity 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 Linear Velocityfloat[mm/s]352
2848TCP Angular Velocityfloat[°/s]356
2880Reserved 40 Bytes360
3200Boolean Registers 0-31Boolean Output Registers DO 0~63
 4_R->P_DO
 8+4 Bytes
41400
3232Boolean Registers  32-63 404
3264Reserved 4 Bytes408
3296Integer Register 0Integer Output Registers
 AO 0~31
 5_R->P_AO_INT
 128 Bytes
51412
3328Integer Register 1416
3360Integer Register 2420
3392Integer Register 3424
3424Integer Register 4428
3456Integer Register 5432
3488Integer Register 6436
3520Integer Register 7440
3552Integer Register 8444
3584Integer Register 9448
3616Integer Register 10452
3648Integer Register 11456
3680Integer Register 12460
3712Integer Register 13464
3744Integer Register 14468
3776Integer Register 15472
3808Integer Register 16476
3840Integer Register 17480
3872Integer Register 18484
3904Integer Register 19488
3936Integer Register 20492
3968Integer Register 21496
4000Integer Register 22500
4032Integer Register 23504
4064Integer Register 24508
4096Integer Register 25512
4128Integer Register 26516
4160Integer Register 27520
4192Integer Register 28524
4224Integer Register 29528
4256Integer Register 30532
4288Integer Register 31536
4320Float Register 0Float Output Registers
 AO 0~31
 6_R->P_AO_FLOAT
 128 Bytes
61540
4352Float Register 1544
4384Float Register 2548
4416Float Register 3552
4448Float Register 4556
4480Float Register 5560
4512Float Register 6564
4544Float Register 7568
4576Float Register 8572
4608Float Register 9576
4640Float Register 10580
4672Float Register 11584
4704Float Register 12588
4736Float Register 13592
4768Float Register 14596
4800Float Register 15600
4832Float Register 16604
4864Float Register 17608
4896Float Register 18612
4928Float Register 19616
4960Float Register 20620
4992Float Register 21624
5024Float Register 22628
5056Float Register 23632
5088Float Register 24636
5120Float Register 25640
5152Float Register 26644
5184Float Register 27648
5216Float Register 28652
5248Float Register 29656
5280Float Register 30660
5312Float Register 31664

PLC2Robot

 

Transmission Type P->RPLC->RobotPLC Settings
BitDataData GroupSlotSubslotQ - Output Address
0Boolean Registers 0-31Boolean Input Registers DI 0~64
 7_P->R_DI
 8+4 Bytes
710
32Boolean Registers  32-63 4
64Reserved 4 Bytes8
96Integer Register 0Integer Input Registers AI 0~31
 8_P->R_AI_INT
 128 Bytes
8112
128Integer Register 116
160Integer Register 220
192Integer Register 324
224Integer Register 428
256Integer Register 532
288Integer Register 636
320Integer Register 740
352Integer Register 844
384Integer Register 948
416Integer Register 1052
448Integer Register 1156
480Integer Register 1260
512Integer Register 1364
544Integer Register 1468
576Integer Register 1572
608Integer Register 1676
640Integer Register 1780
672Integer Register 1884
704Integer Register 1988
736Integer Register 2092
768Integer Register 2196
800Integer Register 22100
832Integer Register 23104
864Integer Register 24108
896Integer Register 25112
928Integer Register 26116
960Integer Register 27120
992Integer Register 28124
1024Integer Register 29128
1056Integer Register 30132
1088Integer Register 31136
1120Float Register 0Float Input Registers AI 0~31
 9_P->R_AI_FLOAT
 128 Bytes
91140
1152Float Register 1144
1184Float Register 2148
1216Float Register 3152
1248Float Register 4156
1280Float Register 5160
1312Float Register 6164
1344Float Register 7168
1376Float Register 8172
1408Float Register 9176
1440Float Register 10180
1472Float Register 11184
1504Float Register 12188
1536Float Register 13192
1568Float Register 14196
1600Float Register 15200
1632Float Register 16204
1664Float Register 17208
1696Float Register 18212
1728Float Register 19216
1760Float Register 20220
1792Float Register 21224
1824Float Register 22228
1856Float Register 23232
1888Float Register 24236
1920Float Register 25240
1952Float Register 26244
1984Float Register 27248
2016Float Register 28252
2048Float Register 29256
2080Float Register 30260
2112Float Register 31264

Script Function

 

RegisterData TypeScript functionIndex (CAB 1.0 )Index (CAB2.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

 

RegisterData TypeScript functionIndex (CAB 1.0 )Index (CAB2.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 Address Distribution

Description

Symbol description:

  1. Each data module is marked with data transmission direction. R - > P indicates that the robot sends data to the PLC, and P - > R indicates that the PLC sends data to the robot.
  2. DI represents digital input, DO represents digital output, AI represents analog input and AO represents analog output.

Table description:

  1. Row numbers represent bits, a total of 32 bits, 4 bytes, from 0 to 31 bits, and column numbers represent the total bits used.
  2. Each row has data type, number of digits and unit.
  3. In the data group section, the relevant data is grouped into a group, including the name of the data group, the group number, and the number of bytes occupied.
  4. The second table on the right shows the PLC settings, including the slot, subslot number, and starting position corresponding to each data group.

Robot2PLC

 

 Transmission Type R->P Robot->PLCPLC Settings Total 492 Bytes
BitDataData GroupI - Input Address
0Robot serial number (int32)Robot status, safety settings
 1_R->P_Robot_Safety
 20 Bytes
0
32Servo version number (int32)4
64POWER_ON8.0
64+1ROBOT_ENABLE8.1
64+2Reserved8.2
96MOTION_ERRCODE (int32)12
128Motion Model uint816
128+8Percentage mode level uint817
128+16EMERGENCY_STOP18.0
128+17COLLISION_PROTECTIVE_STOP18.1
128+18ON_SOFT_LIMIT18.2
128+19REDUCE_MODE18.3
128+20Reserved18.4
160Joint 1 Currentfloat[A]Joint
 2_R->P_Joints
 128 Bytes + 16 Bytes
20
192Joint 2 Currentfloat[A]24
224Joint 3 Currentfloat[A]28
256Joint 4 Currentfloat[A]32
288Joint 5 Currentfloat[A]36
320Joint 6 Currentfloat[A]40
352Joint 1 Positionfloat[°]44
384Joint 2 Positionfloat[°]48
416Joint 3 Positionfloat[°]52
448Joint 4 Positionfloat[°]56
480Joint 5 Positionfloat[°]60
512Joint 6 Positionfloat[°]64
544Joint 1 Velocityfloat[°/s]68
576Joint 2 Velocityfloat[°/s]72
608Joint 3 Velocityfloat[°/s]76
640Joint 4 Velocityfloat[°/s]80
672Joint 5 Velocityfloat[°/s]84
704Joint 6 Velocityfloat[°/s]88
736Joint 1 Torquefloat[Nm]92
768Joint 2 Torquefloat[Nm]96
800Joint 3 Torquefloat[Nm]100
832Joint 4 Torquefloat[Nm]104
864Joint 5 Torquefloat[Nm]108
896Joint 6 Torquefloat[Nm]112
928Joint 1 Servo Error Codeint32116
960Joint 2 Servo Error Codeint32120
992Joint 3 Servo Error Codeint32124
1024Joint 4 Servo Error Codeint32128
1056Joint 5 Servo Error Codeint32132
1088Joint 6 Servo Error Codeint32136
1120Joint Error Status(0:No Error1Error) (uint8)140
1120+8Joint Enable State(0:Disable1Enable) (uint8)141
1120+16Joint Collision Status(0:No Collision1Collision) (uint8)142
1120+24Reserved143
1152CHECKSUMint32144
1184reserved 16 Bytes148
1312Sensor Torque xfloat[Nm]TCP
 3_R->P_TCP
 80 Bytes + 44 Bytes
164
1344Sensor Torque yfloat[Nm]168
1376Sensor Torque zfloat[Nm]172
1408Sensor Torque rxfloat[Nm]176
1440Sensor Torque ryfloat[Nm]180
1472Sensor Torque rzfloat[Nm]184
1504TCP Position Xfloat[mm]188
1536TCP Position Yfloat[mm]192
1568TCP Position Zfloat[mm]196
1600TCP Position RXfloat[°]200
1632TCP Position RYfloat[°]204
1664TCP Position 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 Linear Velocityfloat[mm/s]236
1920TCP Angular Velocityfloat[°/s]240
1952reserved 44 Bytes244
2304Boolean Registers 0-31Boolean Output Registers
 DO 0~63
 4_R->P_DO
 8+4 Bytes
288
2336Boolean Registers  32-63 292
2368Reserved 4 Bytes296
2400Integer Register 0Integer Output Registers  
 AO 0~23
 5_R->P_AO_INT
 96 Bytes
300
2432Integer Register 1304
2464Integer Register 2308
2496Integer Register 3312
2528Integer Register 4316
2560Integer Register 5320
2592Integer Register 6324
2624Integer Register 7328
2656Integer Register 8332
2688Integer Register 9336
2720Integer Register 10340
2752Integer Register 11344
2784Integer Register 12348
2816Integer Register 13352
2848Integer Register 14356
2880Integer Register 15360
2912Integer Register 16364
2944Integer Register 17368
2976Integer Register 18372
3008Integer Register 19376
3040Integer Register 20380
3072Integer Register 21384
3104Integer Register 22388
3136Integer Register 23392
3168Float Register 0Float Output Registers  
 AO 0~23
 6_R->P_AO_FLOAT
 96 Bytes
396
3200Float Register 1400
3232Float Register 2404
3264Float Register 3408
3296Float Register 4412
3328Float Register 5416
3360Float Register 6420
3392Float Register 7424
3424Float Register 8428
3456Float Register 9432
3488Float Register 10436
3520Float Register 11440
3552Float Register 12444
3584Float Register 13448
3616Float Register 14452
3648Float Register 15456
3680Float Register 16460
3712Float Register 17464
3744Float Register 18468
3776Float Register 19472
3808Float Register 20476
3840Float Register 21480
3872Float Register 22484
3904Float Register 23488

PLC2Robot

 

Transmission Type P->RPLC->RobotPLC Settings Total 492 Bytes
BitDataData GroupO - Output Address
0Boolean Registers 0-31Boolean Input Registers DI 0~63
 7_P->R_DI
 8+4 Bytes
0
32Boolean Registers  32-63 4
64Reserved 4 Bytes8
96Integer Register 0Integer Input Registers AI 0~23
 8_P->R_AI_INT
 96 Bytes
12
128Integer Register 116
160Integer Register 220
192Integer Register 324
224Integer Register 428
256Integer Register 532
288Integer Register 636
320Integer Register 740
352Integer Register 844
384Integer Register 948
416Integer Register 1052
448Integer Register 1156
480Integer Register 1260
512Integer Register 1364
544Integer Register 1468
576Integer Register 1572
608Integer Register 1676
640Integer Register 1780
672Integer Register 1884
704Integer Register 1988
736Integer Register 2092
768Integer Register 2196
800Integer Register 22100
832Integer Register 23104
864Float Register 0Float Input Registers AI 0~23
 9_P->R_AI_FLOAT
 96 Bytes
108
896Float Register 1112
928Float Register 2116
960Float Register 3120
992Float Register 4124
1024Float Register 5128
1056Float Register 6132
1088Float Register 7136
1120Float Register 8140
1152Float Register 9144
1184Float Register 10148
1216Float Register 11152
1248Float Register 12156
1280Float Register 13160
1312Float Register 14164
1344Float Register 15168
1376Float Register 16172
1408Float Register 17176
1440Float Register 18180
1472Float Register 19184
1504Float Register 20188
1536Float Register 21192
1568Float Register 22196
1600Float Register 23200
1632ReservedReserved 288 Bytes204
  
  
  
  
  
  
3904488

Script Function

 

RegisterData TypeScript functionIndex
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

 

RegisterData TypeScript functionIndex 
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
Last update: