You are correct, not available outside of Logix5000. The easiest way around this in my opinion is to create an alias tag to each I/O port. The alias is automatically assigned the correct data type and can be read or written with EthernetIP drivers. I've verified this works.
I want to try to get a better understanding of assemblies. I am wanting to try to communicate between a servo drive (Emerson EP-P) and Labview directly (not using a PLC). The Emerson has Ethernet IP and allows you to create these type of assemblies (they call it polled I/O at one point). If I understand correctly, this is just a memory area setup to handle data transfer if someone (like a PLC) requests it. I didn't see any connection info or IP address information in the demo application "Demo EIP Adapter.zip", so by itself it doesn't do anything I guess. It just sits there waiting for somebody else to come asking for this info? Am I correct?
So my real question is how can I use Labview through this EIP driver talk to a device that has these assemblies setup already (like my drive)? The other "method" of use I've successfully investigated using this driver is the messaging tag read block, but this only works going to a PLC I think (how I tried it) because it asks for tagnames, and I don't think tagnames play any roll in assemblies. So, I didn't think I could use the messaging tag read or block to do the communication to the drive.
I realize the drive I'm using also has Modbus TCP built-in, and Labview has Modbus TCP blocks, so I can also try it that way, but I'm interested to figure out if this communication can work at all with my drive using EIP.
I'd have to see a manual for your device to be able to know for certain whether or not it would be accessible with our driver in some way. Basically we support Class 3 messaging and Class 1 Adapter support. Class 1 Adapter communication is what the data assemblies use. The PLC generally assumes the "scanner" role and talks to one or more adapters. Most stand-alone I/O devices are adapters. Two adapters can not usually transfer data unless they support being a message client and target and can send explicit class 3 messages instead We do not currently support in our driver taking on the scanner role.
As an adapter, our driver essentially hosts the assemblies and expects the scanner to connect to them and arrange a continuous data flow (usually on 1-10ms intervals, configured by the PLC). Once this connection is arranged the data is then transferred automatically between the two components at that update interval. This data transfer is not polled, rather it is sent automatically (usually by UDP multicasting).
The Ethernet IP connectivity information for my drive is given by the following document...
In there they show how to setup the I/O assemblies, plus also they have explicit transfers where you have to specify the IP address, the class, instance, and attribute. I am guessing that these items will then send values to the Labview EIP get/set blocks. If you have any input on this let me know. I'll be receiving my drives in about a week and I can then try some things. Modbus TCP is my backup.
It does look like the device can both originate (pg 12-15) and recieve explicit messages (pg 31-32). This means that you should be able to send an explicit message to the device and control parameters. However, the mechanism it supports is only via the most generic CIP message types like Get/Set Attribute Single. Unfortunately our driver does not have any mechanisms exposed for generating such messages. For expicit messaging we only currently support data table read/writes (ControlLogix) and PCCC messages (SLC500/MicroLogix). Also, currently our driver cannot be the target of an explicit message so having the device originate them won't work either. We might be able to add those features for a future release though if there is enough feedback saying that they would be useful.
I would like to communicate with an Allen Bradley PLC5. Is this possible? It doesn't really have tagnames, but addresses (e.g., N10:184). I have names associated with the addresses, but I believe they live in the software and not the PLC itself.
In the second release of the driver we added support for SLC500-style messaging. I'd expect this format of message to work with the PLC5 as well, but I have not been able to test it. You would use the VI something like this:
Please let us know if it works for your PLC or what errors you get if it doesn't.
Its possible you may have an older PLC5 that doesn't support EtherNet/IP. According to Rockwell's documentation:
The PLC5E added EIP support in early 1999. There are several hardware platforms being supported (Ser. C, D, and E) with
firmware upgrades for each. Although not currently the latest revision, the first PLC5E revisions to support IP were:
Series C, Revision N.1
Series D, Revision E.1
Series E, Revision D.1
The PLC5 "sidecar" module first supported EIP at Series B, Revision A.
If you have an older model I believe it only supports encapsulating the PCCC commands onto the legacy CSP protocol rather than EtherNet/IP. Can you confirm what version you have?
I will have to get back to you on the series, but I know we have an Ethernet PLC. I looked at the configuration, and we use channel 2 which is for Ethernet PLC-5 communication; channel 3A is for Ethernet sidecar communication.