AB Socket Messaging - Class/Instance not supported

Horseshoe00

Member
Join Date
Aug 2022
Location
Missouri
Posts
6
I'm working on getting a handful of devices hooked up to an EWEB card on an Allen-Bradley 1756 PLC using the Ethernet/IP socket interface, and I've run into a real stumper of an issue.

When setting up my MSG instructions as per the AB EtherNet/IP Socket Interface manual, I am able to create a socket without a problem, but the Open Connection command throws me an error that doesn't make any sense. The error code is 16#0005, "Class or Instance not supported." I am not given an extended error code.

When going down the error code description in the manual, none of the listed causes line up with the problem.
The ethernet module does support Logix Sockets, as the Create Socket MSG instruction executes without errors and the socket shows up on the diagnostic webpage.
The socket number which I am attempting to open matches the created socket shown on the diagnostic web page, and the web page displays the socket as created (until it times out and closes) so the instance should, it seems, exist.

I've even parked a packet sniffer on the network, and still haven't heard a peep from the EWEB card. So, I'm pretty certain the issue is somewhere between my brain and the EWEB's ethernet port.

I must admit, I don't have much experience with MSG instructions, but as I'm working directly out of AB's manual and also mirroring old rungs that we know worked from one of our projects a few years back, I'm pretty stumped. Does this sound like something any of you recognize? I'd be happy to try to answer any questions if you need more information, and hope someone here can give me some advice. And if you made it this far, thanks for reading.
 
I guess is that you are not setting MSG path or Instance number correctly.
You need to copy instance number returned by the Create message to the Connect message
I would recommend to use Technote AID 32962 that has working sample code.
Then you can adopt it to your application
 
Last edited:
I guess is that you are not setting MSG path or Instance number correctly.
You need to copy instance number returned by the Create message to the Connect message
I would recommend to use Technote AID 32962 that has working sample code.
Then you can adopt it to your application

I do have the rungs set to copy the instance number over, but I hadn't come across that sample application before. Thanks for pointing me at it, I'll give it a shot.
 
A couple things to check: (1) the Socket Create was successful, (2) the Instance Number returned in Destination Element is the value supplied to the Open connection, and (3) there was not an inactivity timeout between the Create and Open Connection that deleted the socket. I think the default is 5 minutes if not changed by a Set Attribute message.
 
Alright, to wrap this up for any future readers, Allen-Bradley Technote AID 32962 worked perfectly, and was enough for me to get my program working.

Funny enough, the technote's functioning example has a UDT for the Write Socket and Read Socket commands that doesn't match what the Allen Bradley EtherNet/IP Socket Interface manual (ENET-AT002D-EN-P - October 2020) instructs the reader to implement.

Attached is a screenshot displaying the UDT format that the technote provides and is now functioning properly, and the format that the manual shows is on page 35 of the manual.

Thanks for your help, everyone.

ReadUDTCapture.PNG
 
technote's functioning example has a UDT for the Write Socket and Read Socket commands that doesn't match what the Allen Bradley EtherNet/IP Socket Interface manual (ENET-AT002D-EN-P - October 2020) instructs the reader to implement.
Table 10 (and 11) structure in the manual is the same as one you pointed.
It uses the same byte order, however, buffer is in a separate UDT that makes no difference in functionality, both ways work fine.

Table10.PNG
 

Similar Topics

I have a bit of an odd situation. I'm having trouble sending ASCII commands over an open TCP socket. The problem is that I have a device that my...
Replies
9
Views
3,485
Hello! I'm looking into sending various command strings to an ABB Robot via an Ethernet connection using socket messaging from an S7...
Replies
29
Views
17,658
Hi Everybody, newbie here with PLCs, using a B&R plc. I'm playing with a printer and its tcp socket communication. Connection works fine if...
Replies
3
Views
152
Hi all, I have two questions I am hoping someone might have some information on. 1. I remembered reading somewhere on this forum that you could...
Replies
5
Views
192
Hello, I'm trying to setup a TCP connection from a Compactlogix 5069-L306ER to a TDI checkweigher to receive real-time weight data of the...
Replies
6
Views
323
Back
Top Bottom