PID loop update for ML1400

amitss_sam

Member
Join Date
Oct 2012
Location
Mumbai
Posts
25
May be my question is too childish, but can i get all the answers please?

For PID of ML1400, if I right loop update as 0.02 & time mode as STI. Also if I didnt right anything about STI anywhere & my PID instruction is in subroutine, then what will happen? I read the AB manuals, but they say, "When in STI mode, this value (loop update value) must equal the STI time interval value loaded in STI:0.SPM. The valid range is 0.01…10.24 seconds."
Also in manual,
In the STI mode its written as, "the instruction should be placed in an STI interrupt subroutine. It then updates its output every time the STI subroutine is scanned. The STI time interval and the PID loop update rate must be​
the same in order for the equation to execute properly"

As my PID instruction is in subroutine & I call this subroutine from main ladder then how can I find this time inerval which ideally should I write the same value to loop update.
Tell me if my thinking is wrong.

PS: I am working on the same project that was gone on hold for one month due to some reason.
 
Intention of asking above question is can I use PID instruction as a regular instruction in ladder. Or should I compulsorily keep PID instrction in selectable timed inturrupt. Easily I can keep it separate. But I want to keep it along with input scaling. To follow this then i must also keep all scaling together with PID nstruction. It means that the time will be higher to scan all the rungs in this STI (for scaling as well as PID instruction). To avoid this I will prefer to keep scaling in normal ladder & only PID in STI. But then question comes exactly after what STI will be scanned? as when STI time will come then other ladder logic will be in hold untill scanning of anything in STI will be completed. Thats where the idea came that can I use PID in normal ladder programme. But then what about loop update time?
If anybody can explain then thanks in advance.
 
I haven't done too much PID in RS500 (mainly RS5000), but from what I understand you can set it up so that the PID resides in the ladder file/subroutine that you designated in the STI file.

You don't have to put a JSR to this routine. It is called automatically at the pre-defined STI update time.

You then match the PID instructions loop update time, and put it on an unconditional rung.

See attached example.

untitled.jpg
 
the post linked below should answer most of your "what if" questions ...

http://www.plctalk.net/qanda/showthread.php?p=127129&postcount=6

as far as keeping the scaling and the PID together, I suggest that you try it with the PID in a separate STI file first - and see how that works ...

then move the scaling into the STI with the PID - and compare the operation with your earlier results ...

I'll bet more than pocket change that you won't be able to see ANY difference at all ... specifically, at the scan times that you're dealing with, the system PROBABLY won't be able to react quickly enough to make any difference in the response ...
 

Similar Topics

Hi all, splitting out from this thread because it's a somewhat different question to the original. I have to migrate some code from a Micrologix...
Replies
17
Views
3,995
Hi all, I've been tasked with migrating a standalone control box with a Micrologix 1100 into an existing 5380 Compact Logix controller. It has a...
Replies
9
Views
2,398
Today I upgraded an L55 processor with an L82, which ended up being the 2nd unsuccessful attempt but thats a different story. After starting the...
Replies
15
Views
4,419
Just tuned a heating application where my natural period was 250 seconds. Everything I've read says that the loop update time should be 5-10 times...
Replies
1
Views
1,618
Hi All, I want to know There is some relationship between SLC500 or PLC5, Controllogix watchdog time and PID loop update time. Does it need to set...
Replies
2
Views
5,238
Back
Top Bottom