NI Home > Community > NI Discussion Forums

Industrial Communications

Showing results for 
Search instead for 
Do you mean 
Reply
Active Participant
REDS
Posts: 265
0 Kudos
Accepted Solution

CIP connections for EthernetIP

Hi all,

 

I was wondering how many CIP connections for EthernetIP Tag Communications are there?

 

Also, I'd like to know how I can he read a subtag, like a program tag, using the EthernetIP Tag Read VI to read from a PLC.

Regards,
Daniel REDS
Applications Engineer

Help us grow.
If a post solves your question, mark it as The Solution.
If a post helps, give Kudos to it.
Active Participant
DirkW
Posts: 1,119

Re: CIP connections for EthernetIP

#1. We support up to a maximum of 128 simultaneous connections for both incoming and outgoing requests.

 

#2.

In general, the tag name is exactally what you see in RSLogix5000. Any controller tags

you create show up in the "Controller Tags" spreadsheet. My understanding is that the

only difference between program tags and controller tags is scope. Only controller tags

can be accessed externally from the PLC though.  If the datatype can be expanded then

RSLogix shows you the sytax for accessing the sub-elements.

If I add a controller tag called "TestArray" that is a DINT[3] array type in RSLogix, I

can access it the following ways:
-By "TestArray" - Gets/Set the array of 1-3 elements, depending on the count parameter
-By "TestArray[N]" (where N is an index) - Gets/Sets the array starting at offset N
-By "TestArray[N].0" - Gets/Sets an individual BOOL bit of the DINT at offset N

 

From my understanding, "program tags" are like local variables in a C program. They are

restricted to be accessed only from the scope they are declared in, which in this case

is a particular program. As far as I know there is no way to access these local

variables via the EtherNet/IP interface of the ControlLogix. If you declare them as

"controller tags" then they are like globals in C and can be accessed from other

programs on the PLC and externally from the PLC, such as via EtherNet/IP.

If you want to access data in local variables from outside of their limited scope,

perhaps their scope should not be declared as local to their program. If you are working

around existing code, my best guess is that you would have to mirror that data somehow.

I'd suggest adding a rung in your ladder logic to mirror whichever variables you need

into a controller tag or a data assembly on your LabVIEW system. From a simple

experiment I don't think RSLogix5000 lets you simply alias program tags into controller

tags (and this would defeat the purpose of limiting their scope in the first place...).

 

DirkW

Active Participant
REDS
Posts: 265
0 Kudos

Re: CIP connections for EthernetIP

Thanks a lot for the reply!

Regards,
Daniel REDS
Applications Engineer

Help us grow.
If a post solves your question, mark it as The Solution.
If a post helps, give Kudos to it.
Member
bbergdoll
Posts: 6
0 Kudos

Re: CIP connections for EthernetIP

Can you elaborate further on what the following means?


DirkW wrote:

#1. We support up to a maximum of 128 simultaneous connections for both incoming and outgoing requests.

 



Can only 128 tags be used at any one instance in x time?  For example, lets say I have two PLCs each with 128 tags.  I want to communicate with both in my program.  Is this possible?  Does it matter if I'm communicating to complex tags.  For example, I will have tags that have 5 strings and an array of 10 strings.  I'm using a read using dot notation (Tagname.substring) to read each of the strings.  Does this count as 1 or 5 connections? This is very concerning as we are using this in an application that we have tested with one PLC, but we will in the end have maybe dozens. Thanks.

Member
Chris.W
Posts: 82
0 Kudos

Re: CIP connections for EthernetIP

After double checking, it seems that the reading tag can only be performed one by one for a specific device.

 

There should be no limitation in terms of how many tag totally can be read -- since they are read one by one.

 

Thanks.

-Chris