AOIs

wrcaston

Member
Join Date
Feb 2021
Location
Florida
Posts
3
Hi folks,

I have programmed an AOI which is fairly long and led to loads on input and output parameters. This block will be used multiple times but most of these parameters are common to all the instances. I can't seem to find a way to "hard wire" these into the AOI, instead the AOIs calls look virtually the same with a few differences.

What would be perfect is it I could use controller tags within the AOI, is the way I could achieve this and cut down the space taken up by the AOI calls?

Thanks in advance.
 
Why not create a UDT for common or configuration parameters and instead pass the entire UDT (one parameter) instead of all of them separate?



You could also copy the UDT into a local variable on PLC start or trigger to have more control of localised changes to the program. I'd use it on a trigger personally, but am assuming it's something that could create issues.
 
I thought about a UDT but I’ve still got to pass the info to the UDT so all I’m achieving is a smaller AOI. Any way without a UDT? I’m guessing not!
 
Maybe I'm not understanding this, but if this information is now in separate tags, you'd create a UDT to hold the same information. You wouldn't keep two copies and move them in the software onto the UDT. So I don't see what's different or more work.
 
I've got the same situation with a Schneider project I am doing. Haven't found a clean answer to it yet since the stuff is all arrays that are scattered for communications reasons.

Hope you find something that works well for you.
 
Hmmmm... way I see it is I not have two AOIs for example. AOI1 has tags a, b, c, d and AOI2 has tags z, b, c, d. B, c and d are common to both. If I create a UDT and map tags b, c and d to the UDT members, the AOIs will be a, UDT and z, UDT. Thats great but I’ll need to map loads of tags.
 
You don't have to use all the members of a UDT in your AOI...



A machine I worked in Siemens was developed like this. A DB held all the configuration data and was passed onto different FBs and each used the data that was relevant to it. To simplify it was all under one block.



Granted, it may hinder the future development of the application, but then again, if that's a concern AOI's wouldn't have been used to begin with.
 
one solution may be to put you inputs and outputs into arrays
us the arrays as you inputs and outputs In/out type
then you install the first AOI populate the arrays with your values
then just copy the array tag and past with new name for each AOI
it will copy the tag values and clean up you AOI faceplate
 
I always thought an AOI that has too many IO points is probably too much code to put into an AOI. Maybe your trying to cram too many functions into 1 AOI.

Maybe break up the AOI into simpler functions?
 
AOI's - Hmmm - Overuse?

We use AOI's only when we are sure that we have repetitive application use.

Remember, the customer garners no value from an AOI.

An AOI is a programmers self-declared "my code is flawless, and valuable to all"

We have inherited responsibility to support dozens of critical machines across a handful of our manufacturing facilities due to a retired self proclaimed programming coder. All of his AOI's are locked. What a dou__ bag.

An AOI is akin to installing a black box with a sole purpose.

Remember an AOI is a purely optional choice to deploy.

We have programmed hundreds of machines successfully without ten use of a single AOI.

Lastly, remember what the acronym PLC means, Programmable Logic Controller. An AOI is a FLC Fixed Logic Controller.

Thanks for tolerating my rant.
 
Lastly, remember what the acronym PLC means, Programmable Logic Controller. An AOI is a FLC Fixed Logic Controller.

Maybe in AB land, but in many other systems the equivalent of an AOI can be edited online. The power of that is, should the "perfect" programmer find a bug in his code, he can fix it easily without needing to change in multiple places.

Or, if the client wants a different behavior for say, the motor fault reset functionality of my VSD control DFB (Schneider land AOI), i make one edit and then my 100+ VSD controls are updated. That is a huge cost saving for my client... a 30 min charge instead of several hours to work through those 100 motors.

I do agree that you can end up very far down the rabbit hole if you get carried away with abstracting everything and building huge AOIs to try and cater for every eventuality.
 
Hi folks,

I have programmed an AOI which is fairly long and led to loads on input and output parameters. This block will be used multiple times but most of these parameters are common to all the instances. I can't seem to find a way to "hard wire" these into the AOI, instead the AOIs calls look virtually the same with a few differences.

What would be perfect is it I could use controller tags within the AOI, is the way I could achieve this and cut down the space taken up by the AOI calls?

Thanks in advance.


I would use hard-wired inputs and outputs in s simple subroutine, use parameters passed in and out for the stuff that changes.



Easy and simple, but make sure you pay attention!



Calling a subroutine with parameters of the wrong type or the wrong quantity can fault the processor. Which is BAD :(


*ALL* of our consultants think this method is very bad programming practice. AOIs just didn't work for us. So maybe DOCUMENT THE HECK OUT OF IT
 
I think what Wrcraston means here that for example if you have an AOI to control an oven and in that AOI you also use like say outside temperature ( common parameter) then with Siemens you can acces that parameter directly into the FB , you don,t have to pass it but in Rockwell as far as I know this is not possible in a AOI.

Kind regards
Henny
 
I thought the idea of global tags they were exposed to all routines, I have not used CLX for some years but in Siemens & Mitsubishi global tags can be used in FB's FC's (equivalent of an AOI).
 

Similar Topics

Hello all, I am beginning my travels in designing a system with compact guardlogix controller and a planelview plus 7 standard HMI. I have 3...
Replies
20
Views
2,000
Hello, Say I am using an AOI with a default value of 1. Now I want the default value for the same AOI to be 2. Is there a way to update all...
Replies
4
Views
1,945
Processor: 1769-L30ER; Logix 5000: v32.02 I have an AOI that's been used in previous applications without issue, and have added a TON...
Replies
6
Views
2,755
I am using Studio 5000. I know the AOIs are being called and setup properly but when I open the AOI the green bar on the left and right that show...
Replies
9
Views
3,381
Hi all, Short story: My company is very soon beginning to ship Studio 5k code in the form of AOIs that needs to be both source and execution...
Replies
14
Views
3,944
Back
Top Bottom