As I said before, if you are using an indexed array as a tag for the AOI instruction data (which is perfectly valid) and given that you only have one window into the process (the AOI online instruction view) you would have to have a way to define what you want to look at if you want the data to make sense. I agree that AB's method of showing NOTHING seems a little interesting but nothing versus indeterminate information doesn't really seem more or less useful. Were you expecting a tabulated view of ALL possible instances?
So lets say I have a array of an AOI type "AOI_A" that is 10 long lets, the instance is called AOI_Inst[].
All data for the AOI instance is stored in AOI_Inst[0], AOI_Inst[1] etc.
AOI_A is a Type it defines how the data is structured and what logic is executed. It doesn't actually contain data values, when ever it appears in ladder or Structure text, you pass it the instance that you want to use, the logic executes, using the values contained in the instance.
If you call an AOI twice in a scan, using the same instance, it uses the same data twice. That is why it makes no sense to see 2 data contexts for the same instance, just because it is called twice. Give that fact it is even more strange that you can't see a data context that is executed dynamically.
So there is no technical reason that AB couldn't give you a list of all instances in data context. It seems they just never bothered. Which surprises me very little as they haven't had any new major features in years and years. There sales model is targeted at VPs that have no idea how to use any of there products. So they don't really need to waste money on things like Developers when they can just hire more sales guys.
Does that surprise you? It is a fixed instance.
Yes, as they are all fixed instances in regards to data,
There is no reason you WOULDN'T be able to get a data context in this case. Were you thinking the issue was that the instance data was part of an array?
Yes, initially
That isn't the issue. The issue is that the way the code is written (which, I say again, is not a problem) doesn't allow the development system THE WAY IT IS DESIGNED to display a specific instance in a cohesive manner. You would have to be able to tell the "window" (the online AOI view) which instance in the array it should be focused on in order to get reasonable data. The development environment doesn't currently have that capability.
Keith
In know I am not arguing that it does, I am saying that it should because it is not really technologically any harder to do it. They just didn't, most likely for reasons I listed above.
You are obviously comparing this to something. What is it?
umm Codesys...? It does this.
It also has Functions, Enums, Inheritance, Interfaces, References, Pointers, Function Block Methods, Multiple Routines in Function Blocks.. etc. You know Computer Science concepts that were developed 40 years ago to make programmers jobs easier.
Also you can pass String and Structs in and out of a Function block by value.... Which is really nice, because InOut doesn't always make sense.
Oh and the execute block that I used in the example is priceless.
Here is a video I just made.
https://drive.google.com/file/d/1ml2st-F9blwdPlpz0usJKp9Xeu7h2ChT/view?usp=sharing