AutomationTechBrian
Lifetime Supporting Member
Exposing shades of “newbie”…. I haven’t used arrays much, and I think using one for multi-zone temperature control is probably the solution I need. But my Studio 5000 programming experience is limited, and it would sure be nice to get experienced input before dedicating a chunk of limited time to explore how to make it work.
I’m working on a plastic sheet extruder project… my 3rd in 11 years. But this time, because of the supply issues, I decided to skip the dedicated Eurotherm temperature controllers and utilize the ControlLogix L71S to control all 44 zones. I’ve been working through the learning curve of that decision. First thing I found is that the PV response time to a change in CV was so slow that trying to use the standard PIDE block wouldn’t successfully complete a tune cycle… and that’s after finding out the hard way that PIDE was an add-on feature after v.32. Fortunately, someone else knew about the slow response time issues for barrel zone control and created an AOI to share on the Rockwell site. I flashed the controller back to v.32 and installed the AOIs, one for heat only, and one for heat and cool.
I tested the heat-cool AOI with the first barrel zone, and after learning the quirks of things like task execution time vs. algorithm execution time, I got great results on that first heat-cool zone. It was a huge game changer… a perfect “S” shape heating up to setpoint. But holy smokes… the AOI seems excessively large for adding 44 instances in the program. I just finished adding the first 7 zones and tuning them. My total memory is just over 2MB, and I’ve already used .9. It’s obvious that I need a different strategy.
I remember troubleshooting a machine once that seemed like it used an array, and one instance of an AOI, incrementing through the array with each scan. I didn’t watch that part of the program run, so I can’t confirm that was how it worked. But the array size was about 99, and they certainly didn’t have that many AOI instances in the program. It sure seems logical and probable. I just need someone with more experience to share their thoughts. I’m about to move on to a 23-zone, heat-only part of the extruder, and I thought this might be a good time to figure out my path before going further.
Is incrementally cycling through arrays with each scan a common thing? Are there any “gotchas”? Seems to me there might be a need to load the variables on one scan, and compute on the next scan before incrementing to the next set. (Btw… scan time for the AOI tasks individually is 200ms. 200ms to 500ms is common for the PID calculation on an extruder. A 20ms task is used for the IO output for each zone, using a STRP function block.)
Thoughts?
I’m working on a plastic sheet extruder project… my 3rd in 11 years. But this time, because of the supply issues, I decided to skip the dedicated Eurotherm temperature controllers and utilize the ControlLogix L71S to control all 44 zones. I’ve been working through the learning curve of that decision. First thing I found is that the PV response time to a change in CV was so slow that trying to use the standard PIDE block wouldn’t successfully complete a tune cycle… and that’s after finding out the hard way that PIDE was an add-on feature after v.32. Fortunately, someone else knew about the slow response time issues for barrel zone control and created an AOI to share on the Rockwell site. I flashed the controller back to v.32 and installed the AOIs, one for heat only, and one for heat and cool.
I tested the heat-cool AOI with the first barrel zone, and after learning the quirks of things like task execution time vs. algorithm execution time, I got great results on that first heat-cool zone. It was a huge game changer… a perfect “S” shape heating up to setpoint. But holy smokes… the AOI seems excessively large for adding 44 instances in the program. I just finished adding the first 7 zones and tuning them. My total memory is just over 2MB, and I’ve already used .9. It’s obvious that I need a different strategy.
I remember troubleshooting a machine once that seemed like it used an array, and one instance of an AOI, incrementing through the array with each scan. I didn’t watch that part of the program run, so I can’t confirm that was how it worked. But the array size was about 99, and they certainly didn’t have that many AOI instances in the program. It sure seems logical and probable. I just need someone with more experience to share their thoughts. I’m about to move on to a 23-zone, heat-only part of the extruder, and I thought this might be a good time to figure out my path before going further.
Is incrementally cycling through arrays with each scan a common thing? Are there any “gotchas”? Seems to me there might be a need to load the variables on one scan, and compute on the next scan before incrementing to the next set. (Btw… scan time for the AOI tasks individually is 200ms. 200ms to 500ms is common for the PID calculation on an extruder. A 20ms task is used for the IO output for each zone, using a STRP function block.)
Thoughts?