‎02-02-2012 08:37 AM
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.
Solved! Go to Solution.
‎02-06-2012 02:07 PM
#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
‎02-06-2012 02:42 PM
Thanks a lot for the reply!
‎03-08-2012 09:00 AM
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.
‎03-13-2012 09:25 PM
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
‎06-20-2018 11:29 AM
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
‎12-08-2020 12:02 AM
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