RS Logix Cross ref vs Find all

Depends on the version of RSLogix. With 5 or 500 'find all' will list all of the occurrences of an address or text within a program. With 5000 not so much, the cross reference does a much better job locating all instances of a tag.

Hopefully Ron Beaufort will drop by soon because he can give the best explanation of them.
 
Depends on the version of RSLogix. With 5 or 500 'find all' will list all of the occurrences of an address or text within a program. With 5000 not so much, the cross reference does a much better job locating all instances of a tag.

Hopefully Ron Beaufort will drop by soon because he can give the best explanation of them.


but what is it doing that find all doesn't?
 
but what is it doing that find all doesn't?

the BASIC idea is that the Cross-Reference tool will identify how different tags are INTER-RELATED ... specifically, how the LOGIC involved with separate tags is "tied-together" ... a "Find All" search won't reveal how the program's logic is inter-related ...

in the example below, someone has incorrectly assigned the alias tagname ALARM_LAMP_RED to an existing tag ... the base tagname is Local:2:O.Data.7 ... that base tagname had already been correctly assigned the alias LO_PRESSURE_PUMP – and the pump had been working perfectly for years ...

but ...

when "Little Johnnie" the new programmer clicked to assign his new alias "ALARM_LAMP_RED" to the tag Local:2:O.Data.15, he accidentally aimed his mouse too high – and clicked on the pump's bit instead ... oops! ... this results in a "double-coil" arrangement when Johnnie tries to control his lamp in the ladder logic ...

the actual LO_PRESSURE_PUMP device in the field starts "acting funny" because of the "double-coil" arrangement which results ... specifically, two OTE instructions are now both fighting over the control of the tagname Local:2:O.Data.7 ...

doing a "Find All" search for the LO_PRESSURE_PUMP would NOT (I repeat - would NOT) be able to find this problem ... on the other hand, if properly done, a "Cross Reference" search WILL find the problem – because the "Cross Reference" tool can track down the inter-relationship of the control which is affecting the LO_PRESSURE_PUMP ...

going further: believe it or not, doing a "Find All" search for the base tagname "Local:2:O.Data.7" wouldn't find this problem either ... that's because the original programmer did NOT use the base tagname when he wrote the code to control the pump ... specifically, he used the alias tagname "LO_PRESSURE_PUMP" instead ... on the other hand, doing a "Cross Reference" for the tagname Local:2:O.Data.7 WOULD be able to find this problem – because the "Cross Reference" DOES indeed reveal the inter-relationship of the "alias" with the "base tagname" ...

background:

I get MANY technicians in my classes who have been working successfully with RSLogix5 and RSLogix500 for years – but who are now having a hard time troubleshooting problems in RSLogix5000 ... in the older software, each "symbol" (for example: PUMP) had to be tied to a particular address (for example: O:6.0/7) – and only ONE "symbol" was allowed for each particular address ...

but ...

in RSLogix5000 it is possible to have several different "aliases" tied to just ONE address ... (for example: the alias "ALARM_LAMP_RED" and the alias "LO_PRESSURE_PUMP" can BOTH be tied to just the ONE address "Local:2:O.Data.7") ...

so ...

in the older RSLogix5 and RSLogix500 software, the "Find All" search worked quite well – and many (most?) technicians never even used the Cross Reference tool ... now times have changed – and in RSLogix5000 the Cross Reference is an indispensable part of every successful technician's tool kit ...

and thank you, Mark, for the kind compliments ... you'll probably remember the exercise shown below from the class ...

.

Xref_for_Lo_Pressure_Pump.PNG
 
Last edited:


the BASIC idea is that the Cross-Reference tool will identify how different tags are INTER-RELATED ... specifically, how the LOGIC involved with separate tags is "tied-together" ... a "Find All" search won't reveal how the program's logic is inter-related ...

in the example below, someone has incorrectly assigned the alias tagname ALARM_LAMP_RED to an existing tag ... the base tagname is Local:2:O.Data.7 ... that base tagname had already been correctly assigned the alias LO_PRESSURE_PUMP – and the pump had been working perfectly for years ...

but ...

when "Little Johnnie" the new programmer clicked to assign his new alias "ALARM_LAMP_RED" to the tag Local:2:O.Data.15, he accidentally aimed his mouse too high – and clicked on the pump's bit instead ... oops! ... this results in a "double-coil" arrangement when Johnnie tries to control his lamp in the ladder logic ...

the actual LO_PRESSURE_PUMP device in the field starts "acting funny" because of the "double-coil" arrangement which results ... specifically, two OTE instructions are now both fighting over the control of the tagname Local:2:O.Data.7 ...

doing a "Find All" search for the LO_PRESSURE_PUMP would NOT (I repeat - would NOT) be able to find this problem ... on the other hand, if properly done, a "Cross Reference" search WILL find the problem – because the "Cross Reference" tool can track down the inter-relationship of the control which is affecting the LO_PRESSURE_PUMP ...

going further: believe it or not, doing a "Find All" search for the base tagname "Local:2:O.Data.7" wouldn't find this problem either ... that's because the original programmer did NOT use the base tagname when he wrote the code to control the pump ... specifically, he used the alias tagname "LO_PRESSURE_PUMP" instead ... on the other hand, doing a "Cross Reference" for the tagname Local:2:O.Data.7 WOULD be able to find this problem – because the "Cross Reference" DOES indeed reveal the inter-relationship of the "alias" with the "base tagname" ...

background:

I get MANY technicians in my classes who have been working successfully with RSLogix5 and RSLogix500 for years – but who are now having a hard time troubleshooting problems in RSLogix5000 ... in the older software, each "symbol" (for example: PUMP) had to be tied to a particular address (for example: O:6.0/7) – and only ONE "symbol" was allowed for each particular address ...

but ...

in RSLogix5000 it is possible to have several different "aliases" tied to just ONE address ... (for example: the alias "ALARM_LAMP_RED" and the alias "LO_PRESSURE_PUMP" can BOTH be tied to just the ONE address "Local:2:O.Data.7") ...

so ...

in the older RSLogix5 and RSLogix500 software, the "Find All" search worked quite well – and many (most?) technicians never even used the Cross Reference tool ... now times have changed – and the Cross Reference is an indispensable part of every successful technician's tool kit ...

and thank you, Mark, for the kind compliments ... you'll probably remember the exercise shown below from the class ...

.



Thanks allot,
It makes more sense now. Im using 500 and 5 more then 5000.
 
Going even further....

If you perform a Find All on a Timer done bit all that it will find will be all occurrences of that done bit. But a cross-reference will locate the timer itself which is probably what you are really after.

You can also cross-reference a module to see all of the tags and alias associated with that module.

Or one that I really like, cross-reference a routine to locate the JSR that calls that routine.

As Ron stated, it is an indispensable tool within the 5000 software.

That said....the search (Find) is also very useful since it allows you to search for part of a tag name or text within descriptions. There is certainly some overlap in the two functions. I usually told PLC-5 or SLC 500 users to stick with Find All and they could mostly ignore the cross reference. In the 5000 both tools are very useful.

OG
 
I'm new here but I will add my $0.02 about the cross reference feature. If you do a lot of scripting with indexed controller tags, i.e. tag[x].example[y], where you pass in the x or y, cross reference becomes useless since the tags aren't referenced explicitly. You will have to use the "find in routines" dialog to search for where they appear.
 

Similar Topics

I have multiple programs defined inside a single continuous task. I have an ONS defined in the very first program that is used throughout multiple...
Replies
68
Views
5,238
Hello brothers and sisters of PLCTalk.net, I am working with a PLC5/40 program which uses RSLogix 5, and am wondering if there is a way to export...
Replies
1
Views
1,327
I have a UDT tag that has about 30 members. I want to cross reference just one member of it. When I right click on a specific tag member to...
Replies
4
Views
2,744
Hi all, I have a concept I have implemented with other PLCs whereby I use alias variables in the PLC to expose cross-reference information to the...
Replies
3
Views
3,538
Hi all, I have a program running on Rslogix 500 and whenever I try to do online cross reference, it freezes the program. I have to close RSlogix...
Replies
0
Views
1,572
Back
Top Bottom