I am not clear on how to read the data on the Ethernet/IP network. My desire would be to simply read the global tag. But, it’s not clear that any tags are created when setting up the transactions for the modbus clients.
The AB9006 is set for an Ethernet IP Scanner to connect to the AB9006 to read Modbus Data from a Modbus Slave end device. The Ethernet IP Interface on the AB9006 is an Ethernet IP adapter. It will not generate any tags, as the only configuration is that is done is the networking to connect the Adapter interface to the Scanner.
Are you looking to have a Modbus Master device pull data from an Ethernet IP server device?
So, I guess I will lay out the data flow. I have a modbus TCP/IP device which is the Modbus card on a Siemens PLC. The modbus registers on the PLC will be set up as “transactions”. I have a Delta V controller that will be using Ethernet/IP protocol to communicate. So, i need to know how the AB9006 exposes or makes those modbus registers available on the Ethernet/IP network.
The Modbus Client will pull data from the Modbus Server. The data is then placed to the Input/Output area of the Communicator (Dependent upon the type of transaction). The data from the Modbus IO Area is then transferred to the Ethernet IP IO area.
The Ethernet IP Scanner will then pull the IO data from the Ethernet IP Interface of the communicator.
6.5.3 Mapping Overview
This page provides a description of all data resulting from the transactions of the currently applied configuration. It is divided into two parts. The first part describes the X-gateway interface to the EtherNet/
IP network, and the second part all applied transactions on the Modbus-TCP network.
If needed, it is possible to print the configuration to paper. Click the printer symbol to the right on the
mapping overview page to access a printer friendly version of the mapping overview.
The I/O mapped data will always be presented according to the following priority order:
• Input data
Data from the Modbus-TCP network to the EtherNet/IP network.
- Status word (optional)
- Live list (optional)
- Input data (bit transactions will always be mapped first)
• Output data
Data from the EtherNet/IP network to the Modbus-TCP network.
- Control word (optional)
- Output data (bit transactions will always be mapped first)
The parameter section data presents a detailed list of all data, including both the I/O mapped and the
not I/O mapped data, available acyclically from the X-gateway to the EtherNet/IP network. This list
also includes the transaction status and exception code lists, available for error identification.
- “Exception Code List” on page 16
- “Transaction Status List” on page 15
A detailed list of all Modbus servers and transactions in the configuration.
There is an example of the Mapping overview in the User Manual of 6.5.4.
If you need more information on Modbus, I highly suggest Simply Modbus. A great resource to explain the Modbus Protocol.
The modbus protocol is not the issue. I’m well versed there. It’s the Ethernet/IP side of things. So, since i have my DCS device setup, I will ask more directly. I also did not see the modbus map showing the instances and such, which is starting to refresh my memory of CIP. Dealt mostly with DeviceNet in the past. Anyways…
When i set up my logical device in my DCS (DeltaV). I have the option of using 4 messaging Classes: Class 1 Implicit, Class 3 Explicit, Class 3 with PCCC, UCMM with Logix Tags.
So, it seems we are limited Class 1 or Class 3. Now, looking at the overview on page 40 I want to relate this info to my DCS configuration. My options when selecting Class 1 Implicit are as follows:
Input size in bytes:
Output size in bytes:
Input Assembly Instance:
Output Assembly Instance:
Configuration Assembly Instance:
I believe that this is referring to the Control and Status word? So instance 256 and 257? Not sure what the Configuration instance is. But, how do i read the data in New_trans1.
What seems more transparent to me is the option of Class 3 Explicit. My options here are:
Then each signal has a byte offset which I would define of course based on the correlated modbus register depending on size. Also asks for Attribute ID:5.
Do i seem to be on track?
My customer is having the same exact issue with a M 262 Schneider PLC.
It is not clear from the Anybus documentation, how to set up the AB9006 for anything other than an Allen Bradley PLC.
The EDS file does not seem to work out-of-the-box for other PLC systems.
Does the EDS file and/or any configuration need to be customized depending on how one sets up the EthernetIP-Modbus mapping/transactions?
Or is the EDS file supposed to be generic for the Anybus device?
How do I go about translating what I see on the “Mapping Overview” to the settings I need to configure on the M262 PLC to get the EthernetIP configurations to match between the Anybus and the PLC?
This is basically the same question that @tbuechler is asking.
It should work with any Ethernet/IP Scanner (master).
No, the EDS file does not need to be changed. The Modbus transactions you create will create the IO space that is read from the Eth/IP scanner. For example, if you create a read holding registers transaction for 10 registers, that will create 20 bytes of input data on the Ethernet/IP network. You can view this IO area in the ‘Data Mapping Overview’:
You will add the Anybus to your Ethernet/IP network, either by using the EDS file or manually setting the connection points with the correct input and output sizes:
Input 100 size (depends on config)
Output 150 (depends on config)
Config 1 size 0
You will add the Anybus to your Ethernet/IP network, either by using the EDS file or manually setting the connection points with the correct input and output sizes
Ok, so to clarify, the EDS file is such that it works no matter how I configure the Modbus transactions, in other words the Ethernet/IP scanner is able to automatically understand the input and output sizes when it connects to the Anybus Ethernet/IP side?
No, the Input and Output sizes must also match in the Scanner, or the Ethernet/IP connection will fail.
Ok. So the EDS file is just a starting point. But after loading it, I still need to go and change the Input and Output sizes of the “Anybus device” (from my ethernet scanner, i.e. PLC program) based on the specific “Mapping” that I have created.
Correct me if I’m wrong - for the example screenshot you posted, the input size would be 29 bytes and the output size would be 17 bytes? Is that how I’m supposed to read it?
It would actually be 30 bytes and 18 bytes in this case, since the addresses start at byte 0. Other than that you are correct, you can look at the mapping page to see the data sizes coming in and going out.