Anybus ABC-EIP to CompactLogix.

Tharon

Member
Join Date
Jan 2007
Location
Other
Posts
1,430
I have a CompactLogix PLC, 1769-L27ERM-QBFC1B
I have an Anybus ABC-EIP AB7007-B, Ascii Serial to EIP device.

I'm trying to setup the device to communicate to the PLC, and am having issues. Something I'm missing but I don't know what.

I have the serial device working connected to the ABC, I can use the serial device and it populates the Node Monitor in the ABC monitoring software, but the PLC is generating an error:

(Code 16#0109) Connection Request Error: Invalid Connection Size.
Tag: BADGE_SCANNER:I

(BADGE_SCANNER is the name of the module, and the input tags generated by it).

Here's a link to the configuration of the ABC and the Module Properites in Studio5000. http://imgur.com/a/jq1hl Everything looks right to me. 32 Bytes for the Data on the module, 32 SINTs for the input size on the PLC configuration.

I've tried a few thing like varying the data type (SINT, INT, DINT). But no luck. The PLC can see the device, but can't establish a connection because something is wrong with my configuration.

Thanks in advance.
 
Do you have the Status and Control words enabled ?

These would add two bytes to the Input Connection and two bytes to the Output connection, making them 34 and 2 bytes in size, respectively.

If you really don't have any Output dat initialized, the size of the Output data connection should be zero.
 
I really wish that Studio 5000 would give you "Expected X, Received Y" instead of simply "there was a mismatch".

If you can capture the traffic between the CompactLogix and the Anybus Communicator with Wireshark, you'll see the transaction and you can read out the Connection Request size and the Connection Established size and see what the difference is.
 
I currently have the Control/Status Word disabled. Statistics also disabled.

I tried setting the Output size to zero previously, but RSLogix won't allow a 0 sized output (gives me a warning).

Edit:
I have never used Wireshark. I will have to look into that.
 
Last edited:
Try re-creating the Ethernet Module object with the data connection type configured for "Input Data - SINT". That will gray out the Output Data size and allow you to specify Assembly 150 but not put in a size.

Or, enable status/command and add 2 bytes.
 
Tried Input Data SINT, with similar results. Also tried turning on the Status/Control and adding to the sizes, but still get the invalid size.

I did download and install Wireshark, but oddly enough I see no packets between 10.0.111.155 (the PLC) and 10.0.111.100 (the ABC device). Very possible I am misusing the software though, as I've never used it before. Going to have to read through some of these help files and see if I have this setup right for the wireshark.

Edit:
looks like I'm not seeing anything other than the data going to and from my laptop. Must be a setting somewhere I'm missing then. Cause I know there is a lot more data going on on this network between the PLC and other working devices.
 
Last edited:
In general, Ethernet switches just send data from the source port to the destination port, so you won't see it on any other port.

While ControlLogix I/O can be done with Multicast, in general most people choose Unicast now, which will also go to and from the necessary ports only.

To capture with Wireshark, you generally need a switch with the ability to "mirror" data from the port you want to diagnose to the port that your computer is connected to.
 
Well, that makes sense. I just have a simple unmanaged Stratix switch on this machine. And a few daisy chained Kinetix drives.

That and the device in question is connected directly to the second Ethernet port (switched) on the PLC. So even if my switch was able to mirror, looks like I'd be missing out on that particular node anyway.
 
Well, I played around with the settings a bit. Turned on Status/Control, changed the allocated sizes, (34 and 2) and redid the module properties again to reflect, and it is now connected.

But somewhere along the line I messed up the settings of the subnetwork, and while I am connecting and reading, I'm reading all zeros. The serial no longer populates the node monitor on the device.

So, one issue down, created another. But this one is either because I messed up a setting, or now that I have the Control/Status, I have to enable or reset something from the PLC IO now.

Edit:
Ok, definitely related to the turning on/off of the Control/Status bytes. So with the option off, it works, with the option on, it doesn't work. I imagine it's waiting for control from my PLC to make it work (I don't want that).

But I also learned that even though it was the I tag being spelled out in the error, the problem is actually the Output Size. I left it 34 and 2, and it's faulted out again the same fault, because my module is 34 and 0. And apparently the device doesn't like the Input-Only option.

So I guess the question now is how to I force it to define at least 1 Output byte without turning on Control/Status.
 
Last edited:
the device in question is connected directly to the second Ethernet port (switched) on the PLC

I'm curious about how you're describing the networking of this controller.

The 1769-L27ERM has two Ethernet ports on it, which can be used in a Device-Level Ring network. They aren't really independent; they have different MAC IDs but the same IP address.

You described "daisy-chained" Kinetix drives, and an unmanaged Ethernet switch.

So it sounds like you have an incomplete Device-Level Ring network.

That's probably not part of why your Anybus unit doesn't work, but it might mean that you don't get the performance you want or expect from the network.
 
Well, I solved the problem.

All I had to do was go into the configuration of the ABC device and added at least one produced byte to act as the Output byte. So now that 1 Output byte actually exists and it's happy, sending the information.
 
Oh, as for my network, it's a very small machine.

I have 1 5 port Stratix switch.

One port on the PLC is connected to the Switch port 1

Switch port 2 is connected to the first Kinetix drive, and then from that Kinetix drive, it's continued to the second Kinetix drive. From the second port on the second Kinetix drive, it goes on to a Cognex Camera

Switch port 3 is an HMI device
Switch port 4 is another HMI device
Switch port 5 is a thru panel port for programming

So this added ABC device is now just connected to the second port on the PLC (Only open port in the panel)

I was under the impression that the dual ports were little more than a built in switch.

It's a very small machine, and I didn't implement the DLR, I'm just using them as switches to give me more ports to connect and reduce the number/length of ethernet cables moving around inside my panel.
 
http://imgur.com/a/b3Aat

Here's a couple screenshots of the configuration now. I left it as 34 and 2 for the testing cause I didn't want to readdress all the settings for my consumed data and triggers. Or reconfigure and download a project

But when I redo it permanently I will reduce it to 32 and 1 as initially thought, by just adding only one byte of produced "filler" data.

Thanks for the help.
 

Similar Topics

Hello all and happy Friday, I'm curious if anyone here has experience sending data over an Anybus Bolt II (HMS AWB6001-A) using a Compact Logix...
Replies
4
Views
782
We have a keg check weigher that that lost a fight to a forklift. The scale was previously a Systec IT3000, which was the only PROFIBUS slave...
Replies
5
Views
683
Complete novice trying to integrate an industrial fluid filling process into MES using an anybus communicator Hardware: Anybus Communicator...
Replies
3
Views
1,598
Hi, does anyone here sell the cable for the classic Anybus "PC connector"? I have a customer who has an old machine and he would like to retrieve...
Replies
5
Views
1,846
We have been using ProfiBus Gateways to connect to a piece of equipment. The equipment interface is through a PB/PB adapter that we connect...
Replies
2
Views
1,821
Back
Top Bottom