indirect addressing

1st...."how many bottles are in your idea of a "case"?" A few days worth..or hrs depending on the day.


next..

indirect.gif

are you saying that this in not what they claim? that this is really "Direct or Indexed Addressing"??? or that it is NOT true indirect addressing?

.
 
BTW..jjm, what type of processor do you have?..Terry likes to give generic answers (for all PLC's) but some others want to give more specific help...but its all good help
 
Terry Woods said:
I can certainly see that it is beneficial to keep children from playing with sharp knives and such. However, wouldn't we be hard-put if the same rule applied to surgeons. Are "we" surgeons? Well, in terms of Process Controls, I think a hell of a lot of us are a heck of a lot closer to being surgeons than we are to being children!
In software terms the plant people are babes in the woods without adequate tools.
 
Just as I said...

That is NOT Indirect Addressing! What you show is Indexed Addressing.

In your post...

"PURPOSE - This routine will... In ControlLogix, Indirect Addressing is just a matter of indexing through... array..."

Doesn't that indicate that they are using Indexing rather than Indirect?

This is exactly what I was talking about when I referred to AB "redefining" logical concepts!

If you have read my looong beer story down to the part where I describe Indirect Addressing... you will have seen that the purpose of Indirect Addressing is to pass an "address", not an Offset... an address that has nothing, whatsoever, to do with the current address! There is no relative relationship between the current address and the subsequent address that is being revealed.

If I knew that your brother lived two doors down from my brother, I could go to my brother's house and then go down two doors to visit your brother. That would be Indexed Addressing... an Address, my brother's address, plus an Offset, an Offset from my brother's house to your brother's house.

However, if I had no idea, whatsoever, where your brother lived... I would have to go to you and GET the address FROM you! If I want to know where your brother lives, the address, then I have to go to you first! THAT is Indirect Addressing!
 
Peter said...

"In software terms the plant people are babes in the woods without adequate tools."

Well... I can't disagree with that entirely. However, there is a responsibility on the part of the programmer to provide a reasonable and adequate description of what is happening.

At the same time, "plant-people" simply have to keep pushing themselves to get more up to speed! In this day and age, they are being left behind!

Management wants efficiency in their process! If the process has to be kept "dumbed-down" because the work force is not able to keep up... then, it would be my guess that management would be more interested in keeping the efficiency and then finding people that can indeed keep up with the code necessary to maintain that efficiency.

That's just the way it's gonna be!

HOWEVER... there are other things that the programmer can do to help the "plant-people" keep the process running.

The first is to develop SOLID CODE! It is NOT impossible to develop solid code! It just takes time, vision, and effort!

The second is to recognize that, if the code is reasonably solid, failures and faults are typically associated with the Inputs and Outputs. The programmer would do well to design the program to "baby-sit" all of the I/O activity and subsequent responses related to those activities. Then, provide fault status that indicates the "probable cause(s)" of the faults or failures.

If the operator tries to perform a manual function, and the function does not occur, then the HMI should say...

"I know what you are trying to do... however, here are the reasons that you can't do that."

Followed by the particular conditions that are preventing the action from occurring. The list of causes might be displayed, one at a time, in order of priority, thus allowing the operator to recover and proceed in a manner that is acceptable to the program! (I am using both methods.)

There are many things that the programmer can do to help the "plant-people" help themselves... and keep management happy at the same time.

One of the things that many programmers do is to design the HMI to be nothing more than a replacement for control console. There is an image of the process devices with Start/Stop buttons and maybe a Fault indicator. That is using the HMI at its' lowest level of capability!

The HMI can and should be designed to... "talk" to the operator (like HAL, except in displayed messages). It should help the operator through tough times... help the operator properly start a process, properly shut-down a process, and recover from problems!

When a problem occurs, the screen should jump up and say...
"YIKES! Look at this!"
 
Actually, Git...

If you are talking about AB... you don't have much to consume.

AB has made your life easier by eliminating the need to learn the relatively complicated concept of one of the most powerful tools in programming... Indirect Addressing.

All you have to learn is the far simpler concept of Indexed Addressing.

And for those that have never experienced Indirect Addressing... well, you'll never miss it, having never used it... until that day when you wish there was a way to determine the address of a particular variable... which might be located in one, or more, of any number of arrays! That is, you want to dynamically determine the particular array without developing a Case-by-Case handler. Then what are you gonna do?
 
jjm said:
5/04, 5/05 and L555


Good then that means that this thread wasn't for-not, welcome to the forum...I hope you learned with the rest of us...


Terry said:
Actually, Git...

If you are talking about AB... you don't have much to consume.

Fortunately Terry I have, Siemens, AB, AD and Mitsubishi...I say fortunately because I believe that I am lucky to be able to have the chance to be diverse, it’s a lot to consume but I would have it no other way...
 
Last edited:
It was an interesting discussion. Especially since beer was used as an illustration.
 
Terry Woods said:
Apparently there is a force in the universe more powerful than the urge to edit someone else's work... and that would be the urge to give hints that are so transparent that you might as well do what Gerry did... give away the answer!

Booo on you Gerry! (spoil-sport!)
Booo on all of you that couldn't sit on your hands for just a bit.

Yeah, Git, he's right. It's that simple.

So, so sorry to spoil your quirky little game...yeah, right.

Back on topic
Terry Woods said:
With respect to Indirect Addressing...

I see then that AB has corrupted yet another basic logical concept for its' own use.
I guess you were just baiting us and not really seeking information.

If we're going to be strict about the definitions, then I would say that indirect addressing is absent not only from ControlLogix, but the PLC5 and SLC families as well. A true indirect address is complete. The N12:[N7:1] nomenclature is possibly best described as an indirect index.

To use the beer truck analogy, go to N7:1's house to find out how many houses down the street from N12's house to deliver the keg.

For the record, the only AB PLC that I know of that supported true indirect addressing was the PLC-3 (to multiple levels).

...and of course, indirect indexing is totally different from indexed indirection.
 
Now answer these questions/observations...
Why do I never see you logged in??? I see your post but never your name stating that you are online??


Your forum profile has the option to show you as logged in or not... Terry just picks not.....
 
And so, Gerry...

Do you not find that you are agreeing with me?

Gerry said...
"I guess you were just baiting us and not really seeking information."

Gerry, I did not initiate this thread. I did not post a question, other than, perhaps, a rhetorical question... (maybe, I didn't check), which does not require an answer.

I think that one of the points I was trying to make was that AB does NOT, in fact, use INDIRECT ADDRESSING! Yes, there was a time... but no more.

So... what are you disagreeing with???

And, by the way... there is indeed LIFE beyond... or maybe better said, LIFE aside from, or without, AB!

Yeah... so, I might be pi$$ing up a rope... so what? So let me pi$$!

Oh... and by the way, Gerry... I've been here for several years. And in that time, I guess I might have asked three... maybe four, process-specific questions. (I think it's more like two or three... whatever, it ain't much.)

I'm not on the question-side of this equation... I am, and always have been, on the answer-side.

It's not a brag... it is a simple, logical, fact.

Get over it.
 
Terry,

No it is you who is baiting us. You are an intelligent person and you must know perfectly well that the Indexed Addressing that AB use in the PLC/SLC/CLX systems is an entirely adequate tool to achieve the indirection needs of almost all practical applications.

The rest is just your usual thinly disguised anti-AB ranting. How about getting over the fact that Seimens rolled TI?
 

Similar Topics

Howdy folks, I am an Allen Bradley guy currently living in an Emerson world. Working with Rx3i on PacSystems Machine Edition v. 9.6? i think...
Replies
3
Views
578
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
649
Hello Friends, I am trying to index M Bits, however GX Works2 is not allowing it with following message. https://ibb.co/zPcqj6M...
Replies
3
Views
1,299
Hi All, which the best way to do the indirect addressing in an optimize DB? Ccurrently this is my partial code inside an FB...
Replies
7
Views
2,252
Hey everyone, Just used the PLC5/Logix migration utility to convert a program, and while addressing the PCEs, I noticed a lot of errors for "XIC...
Replies
12
Views
1,903
Back
Top Bottom