New member with AOI editing question

baggesem

Member
Join Date
Apr 2019
Location
California
Posts
1
Hi, first off thanks for your time.

Inside an AOI in one of our programs is a TON. As far as I know I can not change the preset value of this timer while the program is running.



This is RSX5000, v 19? if I recall. My issue is I'm not allowed to make any changes and download to the controller without paperwork and approval, but am allowed to test something like this (changing timer value).

Any easy was it can be done?

Thanks
 
You should be able to change the preset value of the TON on the INDIVIDUAL instance of the AOI while in run mode.

While looking at the AOI's logic, there should be a dropdown menu on the right that lets you select the individual instance you want to look at.
 
In many cases, and I do it often, the timer's preset value is supplied as an Input Parameter to the AOI, sometimes as a literal parameter in the AOI instruction box, or sometimes as a passed tag reference. AOI code then MOVs that value into the timer PRE.

In either of these scenarios, even if you can change the timer's PRE in the AOI instance tag, it will get overwritten by the AOI code.

While viewing the AOI logic, use the drop-down menu to choose the instance of the AOI you want to change, and then try to change a timer's PRE. If it sticks, you're good to go, if it doesn't, then AOI code is overwriting it, and you will need to see where it it coming from, and change the source value.

It could indeed be being populated by AOI code with no supplied parameter, in which case you are stumped, you cannot change AOI code online
 
In many cases, and I do it often, the timer's preset value is supplied as an Input Parameter to the AOI, sometimes as a literal parameter in the AOI instruction box, or sometimes as a passed tag reference. AOI code then MOVs that value into the timer PRE.

In either of these scenarios, even if you can change the timer's PRE in the AOI instance tag, it will get overwritten by the AOI code.

While viewing the AOI logic, use the drop-down menu to choose the instance of the AOI you want to change, and then try to change a timer's PRE. If it sticks, you're good to go, if it doesn't, then AOI code is overwriting it, and you will need to see where it it coming from, and change the source value.

It could indeed be being populated by AOI code with no supplied parameter, in which case you are stumped, you cannot change AOI code online

While struggling to change an Energy Management timer inside an AOI, I came across this thread.

I've followed your above instructions. No luck so far.

It seems it's coming from somewhere else in the program. Any suggestions on where to look?

Brief description: Outside on the AOI block it's showing a TMR_PRE.
The value is editable, but changes right back to it's current value.
Inside the AOI, there's a MOV. Source: TMR_PRE. Dest: TMR_PRE.
There's also a TON which will not let me change the Preset.

I'm not able to change values in any of these.

🔨🔨🔨🔨🔨

Thanks in advance!
 
TMR_PRE could be an alias or MOV'd or MUL'd inside the AOI to the internal TMR.pre. I have done that to externally edit the local timer. Then I'll make a presets routine where I MOV PresetValue to AOI1.TMR_PRE, AOI2.TMR_PRE, AOI3.TMR_PRE, and so on so I have a single data point to edit for tuning all instances of the AOI. Cross reference your AOI.TMR_PRE to see if or where it's being written.
 
Last edited:
TMR_PRE could be an alias or MOV'd or MUL'd inside the AOI to the internal TMR.pre. I have done that to externally edit the local timer. Then I'll make a presets routine where I MOV PresetValue to AOI1.TMR_PRE, AOI2.TMR_PRE, AOI3.TMR_PRE, and so on so I have a single data point to edit for tuning all instances of the AOI. Cross reference your AOI.TMR_PRE to see if or where it's being written.

That's what it was! Thank you!!!

I owe you a beer if you're ever in SC! 🍻
 
Hey, MaintDude. I'm glad you got it sorted out.

I want to add something for anyone who finds this in the future. I always check that if the PresetValue is less than zero, make it a zero before populating timer presets to guard against future fat-fingers. A negative timer preset will fault the processor and could cause a really bad day.

Preset values in seconds MUL by 1000 instead of MOV. In this example TimerBridgeBreakPRE is an alias to the local timer preset in the conveyor AOI. That way I don't need to MOV it inside the AOI. I'm not usually a fan of aliases except for this.

Aside: I am a huge fan of UDTs such as this Presets one which I'll show since it's in the first example. Unless you have a HMI or something else that can't read them, they're great for keeping the list of tags clean.

Presets.JPG
PresetsTag.JPG
 

Similar Topics

Anyone ever used an AOI datatype member tag as an input to an AOI of the same datatype? To clarify what I mean... When you create an AOI, RSLogix...
Replies
2
Views
3,603
Is there a way to use the FAL instruction to do +=2 instead of +=1? I have an array that is organized with alternating "data" and "flag" values...
Replies
5
Views
121
Square D had a group that wanted to develop PLC compatible power monitoring. They worked out of the Cedar Rapids circuit breaker plant - before...
Replies
0
Views
823
Hi! Omron CP1L. CX Programmer. How do I fix so that a CNTRX(548) remembers the count it had before a power failure? I need to know how many...
Replies
3
Views
1,381
Hello all new member here. Have upgraded to supporting member status as I will likely be her asking help quite often. My situation is I just last...
Replies
15
Views
4,105
Back
Top Bottom