Making a short AOI

hecti.brown

Member
Join Date
Jun 2017
Location
Montreal
Posts
8
Hi, this is my first post, and I am starting to work with writing my own AOIs. I have been trying out a couple of things but I do not seem to be getting anywhere.

The picture is a routine for raising and lowering pin-stops. B6_PS.Extend and B6_PS.Retract are triggered in other sequences to raise and lower the pin-stops. Each of these triggers an output on an IO block, and at the bottom I have the raised and lowered reed switch inputs.

A little help would be greatly appreciated.

Thanks!

Edit:
Imgur link for the picture: http://imgur.com/VcaQnRO

PinStop_AOI.jpg
 
Last edited:
Make the AOI in a routine before putting it in an AOI and see if it works (debug and make the code work at this point), it'll make troubleshooting the AOI a whole lot easier.
 
Make the AOI in a routine before putting it in an AOI and see if it works (debug and make the code work at this point), it'll make troubleshooting the AOI a whole lot easier.

Okay, the routine works, and has worked for a while now with no issues. Where I believe I need help is after I create the AOI, when I sent up the tags within the AOI so that I can direct the "raise" and "lower" tags to an output on my IO block.
 
You should set up your inputs and outputs for the AOI and mark them as visible and required. The AOI routine just houses the logic.

When you call the AOI, you map the real world inputs and outputs to the actual AOI where is appears on the rung you are calling.

Controller Tags stay outside the AOI, which only uses its internal local tags. You map them together outside the AOI.
 
You AOI should not have any hard IO addresses in it. If you do, you can't reuse that AOI and it is kind of pointless if you can only use it once.

Rewrite it with the following inputs:
ExtendCmd
RetractCmd
ExtendLimit
RetractLimit
And the following outputs:
ExtendOut
RetractOut

Your real IO gets connected outside the AOI and is going to look something like this:

Your AOI on a rung by itself followed by additional rungs or branches with your IO mapping.
XIC RealIO:I.Data[0].0 OTE Machine1.ExtendLimit
XIC RealIO:I.Data[0].1 OTE Machine1.RetractLimit
XIC Machine1.ExtendOut OTE RealIO:O.Data[1].0
XIC Machine1.RetractOut OTE RealIO:O.Data[1].1

Your program can use the tags Machine1.ExtendCmd and Machine1.RetractCmd to control "Machine1".
 
You AOI should not have any hard IO addresses in it. If you do, you can't reuse that AOI and it is kind of pointless if you can only use it once.

Rewrite it with the following inputs:
ExtendCmd
RetractCmd
ExtendLimit
RetractLimit
And the following outputs:
ExtendOut
RetractOut

Your real IO gets connected outside the AOI and is going to look something like this:

Your AOI on a rung by itself followed by additional rungs or branches with your IO mapping.
XIC RealIO:I.Data[0].0 OTE Machine1.ExtendLimit
XIC RealIO:I.Data[0].1 OTE Machine1.RetractLimit
XIC Machine1.ExtendOut OTE RealIO:O.Data[1].0
XIC Machine1.RetractOut OTE RealIO:O.Data[1].1

Your program can use the tags Machine1.ExtendCmd and Machine1.RetractCmd to control "Machine1".

Thanks! I will try this on monday and report results.
 

Similar Topics

Hi, I have seen a few post with similar topics and I have tried contacting the authors however I have not had any luck so I am posting this new...
Replies
14
Views
1,010
Hi everyone I've created an FC that includes the blocks TCON, TDISCON, TSEND and TRCV. This block has to be as generic as possible across...
Replies
15
Views
1,511
Hi all, I have been working on a tool for my company that handles a specific task our company runs into often related to PLC's. This is a tool I...
Replies
15
Views
2,874
Hi, i need to make: 1- A PLC Program on Omron PLC CP2E-N using high speed counter E6C3-AG5B 360P/R 2M(Absolute) ,to Reject bottles on Conveyor...
Replies
4
Views
877
I was taught to go to Combined > Make Change > go to Offline > will prompt to save > Save > Exit out of program > will prompt to save again >...
Replies
0
Views
678
Back
Top Bottom