Ethernet/IP
Supported hardware and firmware
Cloud Logging via Ethernet/IP on Allen-Bradley devices is supported for the x500 in firmware 3.7 and up. For Omron devices this is supported for the x500 in firmware v3.14 and up. Please upgrade your firmware if you are running an older version.
Activate Cloud Logging
Please first activate Cloud Logging (or start the 30 day free trial) if you haven't already.
The Second step in Cloud Logging is setting up a data source. This is done by selecting a communication protocol and defining the variables. This article shows you how to do this for communication via Ethernet/IP.
- PLC setting
- Select a communication protocol
- Add variables
- Test variables
- Common error messages
- Manage variables
PLC setting
Allen-Bradley devices
Every variable in an Allen-Bradley PLC has an “External access”-attribute which determines whether an external device, like the x500, has access to that variable. The x500 will need access to the variables in the PLC.
- Set the “External access“-attribute of all relevant tags to “Read/write” or “Read only“.
Select a communication protocol
You first have to select a communication protocol. This is the protocol that the x500 will use to communicate with the PLC.
- Go to the Fleet Manager app, which is accessible from the Apps menu in the top right corner if you are currently in a different X4 Remote app.
- Open the Main menu, go to Devices, and select the concerning device.
- Click on the Add a service icon in the left menu, select [Data source], and then select [EtherNet/IP].
- Enter the requested information (details below) and click on [Add].
Field | Description |
---|---|
Name | Enter a name for the data source. |
Identifier | The identifier ensures that every data source remains unique, even if they share the same name. |
IP address | Enter the IP address of your PLC. |
Port | The port number will be entered automatically (Port 44818 for EtherNet/IP). |
CPU | Select the applicable CPU type. |
Rack and Slot | Rack and slot number of your PLC. The default rack number is 1, the default slot number is 0. |
Polling sleep time | To log data as accurately as possible, the x500 continuously asks the variables’ values from the PLC (this does not count towards your license’s dps/hr). While the x500 does wait for the PLC to reply before asking again, in very rare cases this may noticeably impact the PLC’s performance. In such a rare situation you may want to change this setting to 100ms or higher. In general “None” is recommended for Cloud Logging to be as accurately as possible. |
Add variables
Once you’ve added a data source and selected a communication protocol, you can start adding variables. You can do this by following the steps below:
- Expand the Data source service and go to [Variables].
You’ll need to know your variable’s data type and address. These differ per CPU type. Select your CPU:
- AB CompactLogix / ControlLogix / FlexLogix / Micro800, Omron NX / NJ / NY / NA
- AB MicroLogix
AB CompactLogix / ControlLogix / FlexLogix / Micro800, Omron NX / NJ / NY / NA
The following table shows an overview of all available data types.
Offline (PLC) | Online (X4 Remote) |
---|---|
BOOL | Bool |
REAL | Float32 |
SINT | Int8 |
INT | Int16 |
DINT | Int32 |
STRING | String |
Symbolic addressing is used for these CPU types. For atomic / base / global variables you simply enter the variable’s name inside the PLC as address on X4 Remote. If you’re using a variable that is part of a structure, you’ll need to enter the full name (including the struct names). If you’re using a program or local tag, then the variable name needs to be prefaced with “PROGRAM:ProgramName.”.
Take a look at the table below for an overview, including examples.
Tag type | Name (in PLC) | Address (in X4 Remote) |
---|---|---|
Atomic / base / global | MyTag | MyTag |
Structure | Struct.MyTag | Struct.MyTag |
Program / local | MyTag (in “MyProgram”) | PROGRAM:MyProgram.MyTag |
Now you have all the necessary information to add the variable to your data source and can now choose to:
- Manually add new variables
- Import variables from a file (or device)
Tip!
It is advisable to add variables in small batches and test them to verify their configuration.
AB MicroLogix
The following table shows an overview of all available data types.
Offline (PLC) | Online (X4 Remote) | |
---|---|---|
Memory type | Bit number | Data type |
S (status) | Int16 | |
S (status) | 0-15 | Bool |
B (binary) | Int16 | |
B (binary) | 0-15 | Bool |
T (timer) | Int16 | |
C (counter) | Int16 | |
N (integer) | Int16 | |
N (integer) | 0-15 | Bool |
F (float) | Float32 | |
L (long) | Int32 | |
ST (string) | String |
A specific address syntax is used for this type of CPU. The syntax is: MF:W/B (practical example: S2:30/7). Take a look at the table below for an overview of all available options.
Memory type (M) | File number (F) | Word number (W) | Bit number (B) | ||
---|---|---|---|---|---|
S | 2 | : | 0-255 | / | 0-15 |
B | 3, 9-255 | : | 0-255 | / | 0-15 |
T | 4, 9-255 | : | 0-255 | ||
C | 5, 9-255 | : | 0-255 | ||
N | 7, 9-255 | : | 0-255 | / | 0-15 |
F | 8, 9-255 | : | 0-255 | ||
L | 9-255 | : | 0-255 | ||
ST | 9-255 | : | 0-255 |
Now you have all the necessary information to add the variable to your data source and can now choose to:
- Manually add new variables
- Import variables from a file (or device)
Tip!
It is advisable to add variables in small batches and test them to verify their configuration.
Manually add new variables
- Click on [Add variable] in the bottom right corner.
- Enter the requested information (details below) and click on [Add].
Field | Description |
---|---|
Name | Enter a name for the variable. |
Identifier | The identifier ensures that every variable remains unique, even if they share the same name. |
Type | Select the variable’s data type using the translation tables shown earlier:
|
Length | (for String data types only) The String length. |
Address | Enter the variable’s address using the CPU-specific notation explained earlier:
|
Factor | Multiplies the value (leave empty if the data type is boolean). |
Unit | Displayed text behind the value. |
Temporary disconnect
After this next step, the config push, the device may temporarily disconnect and LAN communication may be temporarily interrupted while it's applying the new settings. This may take a minute.
You have now made the changes in X4 Remote, but these are not yet active in your device. You will need to push your changes to your device for them to take effect.
- Click [Push config to device] in the top right corner.
Next step
Now that you've added the variables, you can test if they're configured properly.
Import variables from a file (or device)
You can easily and effortlessly copy variables from one device to another by exporting the concerning variables (view the “Manage variables” part of this article) and then importing them in your new device. Alternatively, you can manually prepare your variables in the required CSV format to load them all at once into your configurator. The CSV file structure is explained in our Import variables article.
- Click on [Import from CSV-file] in the top right corner of the screen.
- Select a CSV file to import and click on [Open].
Temporary disconnect
After this next step, the config push, the device may temporarily disconnect and LAN communication may be temporarily interrupted while it's applying the new settings. This may take a minute.
You have now made the changes in X4 Remote, but these are not yet active in your device. You will need to push your changes to your device for them to take effect.
- Click [Push config to device] in the top right corner.
Next step
Now that you've added the variables, you can test if they're configured properly.
Test variables
The test utility is used to check if all the added variables are set correctly. It shows the communication status with the PLC and displays each variable’s current value if everything is configured correctly. If not, the values will stay empty. The test utility will attempt to update values every 0.5 seconds, regardless of how often it’s actually being logged (this does not count towards your license’s dps/hr). Please follow the steps below to test your variables.
- Expand the Data source service, go to [Variables], and click on [Run test] at the top.
A connection will now be set up to stream the data directly to your computer, using:
Port | Transport protocol | Application protocol |
---|---|---|
443 | TCP | WebSocket |
You will see live values of all variables, if the configuration is set up correctly.
Unexpected result?
If the test utility shows unexpected values, please check if the addresses and data types of all variables are entered correctly. If you get an error message, please check Common error messages for more info. If you get no data at all, please also check that the above listed port and protocols are not being blocked by your computer's or company's firewall.
Next step
Now that you've tested the variables, you can view our "Configure data tags" guide to start logging.
Common error messages
When testing with Ethernet/IP there are a few common error messages. Please take a look in the table below for common error messages and possible ways to resolve the error.
Error Message | Details |
PLC timeout | No reply from the PLC. Check if the IP address is correct and the PLC is connected and powered on. |
TCP connection denied | The PLC doesn’t support Ethernet/IP. Either enable EtherNet/IP or choose a different communication protocol. |
Too much data received. Ensure data structure element is requested | You requested the full structure, the tag name should be an element of the structure. |
Error 0x01 EXT STS 0x0311: Bad rack | Incorrect rack number, default is 1. |
Error 0x01 EXT STS 0x0312: Bad slot | Incorrect slot number, default is 0. |
Error 0x04 EXT STS 0x0000: Bad address for variable | Incorrect address or the address doesn’t exist. |
Error 0x05 EXT STS 0x0000: Path destination error for variable | Incorrect address or the address doesn’t exist. |
Error 0x08 EXT STS 0x0000: Service not supported for variable | The requested service was not implemented or was not defined for this object. |
Error 0x16 EXT STS 0x0000: Object does not exist for variable | The object specified does not exist in the device. |
Manage variables
You can view all defined variables on the variables page:
- Expand the Data source service and go to [Variables].
You can [Edit] individual variables, [Remove] individual or a selection of variables, and export all or a selection of variables.
Variables can be selected by clicking the checkbox on the left, or you can select them all by clicking the checkbox at the top.