RSLogix 5000 tag shows ??

Tango7

Member
Join Date
Nov 2008
Location
Gainesville, GA
Posts
12
I am not exactly new to PLCs but I haven't seen this one before. One of my indirectly addressed tags is showing a ?? when seen in the ladder logic, but if I monitor the tag in the Program Tags tab, it shows the actual data that I am looking for.

I have tried to overwrite the data in the ladder logic viewer, and it will not allow me to do so. The ??(double question marks) remain.

Has anybody else seen this, and what do I do to remedy the situation??

Thanks
 
An example would be helpful, but I'm going to guess at it anyway...

If you program a TON for instance using an array of TON tags with the index specified as a variable, then the preset and accumulator will show as ??.

This is because there is no one value that is correct for the instruction. These values do exist in the array of TON tags.

If this isn't it, perhaps you could provide an example showing the issue?
 
Are you resetting "ProductIDPointerValue"? Maybe it is getting set to a number that refers to an invalid "PCData" array element.

But then it gets set to a vaild number before the rung is 'True' and the NEQ is evaluated. Then gets reset back to an invalid number so all you ever see is the '??'.

That is my guess.
 
That is what you would think, but it's valid and the rung works. I ended up re-writing some logic to get rid of the indirect address and just use the tag "ProductIDPointerValue" in the compare along with another DINT.

My intention was not to thread jack, but to maybe show others what the OP's issue looked like since I have seen the same thing.
 
Bump ... anyone solve this or know anything about it ?

I have the same thing occurring in a PLC... PLC been acting a little strange since I flashed it...

Kept going into major fault mode and had to change the parameters in the non volatile memory to get that to stop.

Some values are ok but for example where I have array values eg alarmstimers.[1].Pre Its values only show ?? instead of 4000ms

Weird.
 
just a GUESS - but are you sure that the indirect address is valid? ... specifically, if the tag value located inside the [square brackets] aims the instruction at an INVALID/NON-EXISTENT location, then I'm fairly certain that the ?? signal will rear its ugly head ...
 
Sorry I should of said,

My problem is only by the looks of it from when I have used an array of String or Timers...

I am not actually indirectly addressing the tags but still seeing the ''??''

I think it must be a faulty controller now as it keep crashing and throwing me offline and when I go back online it needs a major fault clear and download as its not got the code in there.

Major Fault Log

1/1/1998 12:00:03 AM
(Type 01) Power-up Fault
(Code 60) Non-recoverable Fault.
Fault Information Dump:
Info[0]: f104a82c
Info[1]: 000000ea
Info[2]: 000000a5
Info[3]: 00000000



Thanks

Tom
 
My take on this ....

The ladder display cannot resolve indirection, it does not keep a track of what tags hold what values.

So, an indirect address either :-

a: uses the value of another tag, in which case the data in the indirectly addressed tag acnnot be ascertained

or

b: the indirection is calculated from the expression within the square brackets.

RSLogix/Studio5000 can display directly referenced tag elements, e.g. MyTimers[56].ACC, but cannot display an indirectly referenced tag element, e.g. MyTimers[Pointer_into_MyTimers].ACC


However, if you go into the tag database and drill down to the indirectly referenced data, sure enough, you will see it there, but don't forget, you are doing the "decoding" or evaluating the array index to be able to "look" at the specific data.


EDIT : @taward31 : you say you have flashed your controller : what is the model number, and what revision did you flash it to ?
 
My take on this ....

The ladder display cannot resolve indirection, it does not keep a track of what tags hold what values.

So, an indirect address either :-

a: uses the value of another tag, in which case the data in the indirectly addressed tag acnnot be ascertained

or

b: the indirection is calculated from the expression within the square brackets.

RSLogix/Studio5000 can display directly referenced tag elements, e.g. MyTimers[56].ACC, but cannot display an indirectly referenced tag element, e.g. MyTimers[Pointer_into_MyTimers].ACC


However, if you go into the tag database and drill down to the indirectly referenced data, sure enough, you will see it there, but don't forget, you are doing the "decoding" or evaluating the array index to be able to "look" at the specific data.


EDIT : @taward31 : you say you have flashed your controller : what is the model number, and what revision did you flash it to ?

It can resolve indirect addresses, just not when you indirectly access strings. For some silly reason, it displays ?? on strings.

Edit: Seems like something else is going on for taward31 compared to the OP

Edit2: daba, your timer example will in fact display the ACC in both cases.
 
Last edited:
It can resolve indirect addresses, just not when you indirectly access strings. For some silly reason, it displays ?? on strings.

Edit: Seems like something else is going on for taward31 compared to the OP

Edit2: daba, your timer example will in fact display the ACC in both cases.

Perhaps it will display what the ACC value was for the indirectly addressed timer at the moment that RSLinx fetched the data half a second earlier. What if that indirection tag is being used all over the code (yes, I've seen it done, many times).

You also have to remember that the ladder view is totally asynchronous, and updated at a hugely slower rate than the PLC code can execute. You simply cannot guarantee that what you see on the ladder display in RSLogix/Studio5000 is actually happening when the code is executed.

When I train I demonstrate the effects of rung order, placement, etc., by introducing huge FOR loops at strategic places to simulate a real program.

I will have a play tomorrow and see what I can come up with as a better answer, perhaps it is just a quirk of the visualisation software (for indirectly addressed STRING data), and we must remember that is all it is, a "snapshot" taken about every half a second, into an ever-changing world ....

One of the greatest features of the SLC500 platform were the debugging modes, single scan etc.......
 
Perhaps it will display what the ACC value was for the indirectly addressed timer at the moment that RSLinx fetched the data half a second earlier. What if that indirection tag is being used all over the code (yes, I've seen it done, many times).

You also have to remember that the ladder view is totally asynchronous, and updated at a hugely slower rate than the PLC code can execute. You simply cannot guarantee that what you see on the ladder display in RSLogix/Studio5000 is actually happening when the code is executed.

I wasn't really commenting on functionality, only that integers display properly when indirectly addressed, strings to not.
 

Similar Topics

I want to ask about this tag that is in RSLogix 5000: datatype: AB:PowerFlex525V_EENET_Drive:I:0 and I want to create a new tag(instance of...
Replies
10
Views
2,364
Has anyone experienced the following issue on RSLogix5000 (currently on V16) I have a PLC program that has been running on a site for a number...
Replies
5
Views
1,610
Hello, What is the Problem: I have an old version of projects with all the tags' descriptions and a new one without them. I know how to...
Replies
6
Views
3,165
Hi I have offline project and I want to copy a tag (the name and the vaule) to a online project is it posiable ?
Replies
2
Views
1,459
Hi,Guys: we want to monitor a tag (PF525 drive output current) when drive output current is over the threat point at what exact time, we can use...
Replies
10
Views
2,776
Back
Top Bottom