Indirect addressing - RSLogix 500 doesn't always work

Originally posted by wildcatherder:

I think I made the distinction consistently clear.

Not really but that is a different discussion.


Originally posted by wildcatherder:

I found that it simply did not work.

Think of yourself as an auto mechanic. Someone calls you and says "My car doesn't work. But if I hop on the seat twice before I turn the key, it works. What's wrong with it?". Pretty hard to determine what this issue is, isn't it?

Does Logix500 prevent you from entering that element as an indirect? Does it let you enter the element but faults the processor when you download it? Does the processor operate on it but produce the incorrect value (leading you to believe the indirection is pointing to the wrong address)? Details, my good man. Details.

I'm not sure about this but I think the limitation on indexing in multi-element data types is artificial. The processor could handle the indexing. But what does it mean to the end user? Are you indexing at the element level or the sub-element level? But this doesn't apply to indirection. You are directly specifying the file number or element number and can't specify the sub-element. They are different from a user perspective. And none of this applies to using a file element or sub-element as a index or indirection.

Keith
 
I understand what they are saying.

I am only suggesting this restriction of types that can be used for indexed addressing may explain why indirect addressing does not work, repeat, does not work when using the POS element of a control, in the example I gave at the beginning of the thread.

I seem to have gotten responses about everything except what asked.
 
I believe Kamenges is correct. that the sub-element is the limitation. I suggested this might be the case but described the sub-element as an .xxx added to the element. (I'm still getting the hang of the vocabulary.

I find that this is a satisfactory answer and as much as I can hope for.
 
Well it seems the answer from those of us out there is that we have successfully used exactly what you are trying to use.

As the 1400 is still pretty new, we don't necessarily have one to try it on, but according to the manual, it should work just like all of the others.

Perhaps you could upload the code and we can take a look and see if there is anything we can see to explain what is happening.

Also, as to why Indexed addressing is not supposed to be used with timer, counter, control, etc.......

If you had an address of #T4:0 with a value of 2 in S:24, what address what that be?

OG
 
Originally posted by wildcatherder:

I seem to have gotten responses about everything except what asked.

That's because you still haven't told us what it is or is not doing. Unforunately 'It don't work' isn't enough to go on.

Keith
 
Please, isn't it enough that I credited kameges with giving me a satisfactory answer?

How could I have not given enough information, if I am satisfied with the answer?
 
But it isn't a satisfactory answer. The point about using indexed addressing into a control file is completely different than the issue you initially posted. AB won't let you do something like #R6:0.pos because it won't resolve the index through the control file correctly. This has nothing to do with what you were trying to do, which is use an integer sub-element as an indirection reference (N7:[R6:0.pos]), which should be perfectly valid.

So I will ask again. When you tried this, what happened? Would the rung not validate? Did it validate but fault the processor when you loaded the program? Did it validate and run but return a value inconsistent with what you believed to be in the address referenced by R6:0.pos? If the last is the case could you determine the address it WAS pointing to?

Keith
 
I am satisfied with the answer to my question.
Perhaps it would be better to start a new thread with your questions. Just a suggestion.
 
Last edited:
I think many here are interested to know why it didn't work for you. Did your rung assembled ok? It did for me offline. Did your cpu faulted out? It may be a 1400 problem. My guess would be post #4 by Doug.
 

Similar Topics

Hello, I'm very new to programming with absolutely zero schooling in this field and pretty hands off training in my new role, it's been fun...
Replies
4
Views
673
Hi there I'm currently converting an RSLogix500 program that I wrote 20 years ago into RSLogix5000 for an SLC to CompactLogix upgrade. The...
Replies
3
Views
2,217
I’m working with indirect addressing and trying to make an HMI where each Rectangle Object has a tag of “A[0-127]” with a correlating Push Button...
Replies
15
Views
4,221
Hello, I'm trying to create IO tags that will allow I/O to be changed via the HMI once the system is deployed, and without needing to connect via...
Replies
3
Views
2,802
when your pointer gets indexed, if your previous reference is true, and your current reference is true before getting indexed, will the...
Replies
13
Views
5,479
Back
Top Bottom