Industrial Communications

cancel
Showing results for 
Search instead for 
Did you mean: 

CIP connections for EthernetIP

Solved!
Go to solution

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
RF Systems Engineer

Help us grow.
If a post solves your question, mark it as The Solution.
If a post helps, give Kudos to it.
0 Kudos
Message 1 of 7
(9,637 Views)
Solution
Accepted by REDS

#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

Message 2 of 7
(9,620 Views)

Thanks a lot for the reply!

Regards,
Daniel REDS
RF Systems Engineer

Help us grow.
If a post solves your question, mark it as The Solution.
If a post helps, give Kudos to it.
0 Kudos
Message 3 of 7
(9,615 Views)

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.

0 Kudos
Message 4 of 7
(9,541 Views)

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

0 Kudos
Message 5 of 7
(9,516 Views)

Program Tags can also be read from and written to. The path should contain the complete path.

Imagine your tag is in a program named myprog and the tag name is mytag. To access, use this path:

Program:myprog.mytag

 

 

 

0 Kudos
Message 6 of 7
(4,846 Views)

You can use Rslinx to find the local tags,

Yes there is a way to find the whole path of the local tags of the programs, I did in the past, and it worked,

but I don't remember on this moment,

 

finding the PATH of the local tags, you can use it to use ETHERNET IP in Labview,

 

ASAP I remember, I'll let you know,

 

Regards,

Victor T

0 Kudos
Message 7 of 7
(3,119 Views)