MarBa
Member
I have been doing some reading on this site and a few other on PID. I am doing research for a current project and am not certain if I should use a PID or not. (If so I have a few lingering questions as to how to handle the I/O of the PID.) I've never used PID before but am learning all I can before comitting to use/not use it. A person can only read so much before they need input from experience to make sense of it all.
Here is what I've got and what I'm planning:
I've got a steam boiler connected to a 200gal mixing tank with an air actuated valve on the steam inlet to the tank. The tranducer is 4-20mA. I'm using a 100ohm RTD to get my temp reading from the tank back to my PLC. The PLC is AB MicroLogix 1500 24AWA with CompactI/O RTD module. I'm using RSLogix500 Standard for the ladder. I've also got a touch panel for HMI.
We are going to make frosting and then package it for shipping with our main product. The process is fairly simple-> add ingredients, start mixing and heat. Bring to boil for 3 minutes then reduce heat and add another ingredient before mixing for 10 minutes then dump the batch to the packing machine and start a new batch of the same. All ingredients (mostly water) will be put into the tank manually.
Here is why I wonder about if PID fits this, I could shut off the heat for the last ingredient and mix time, then turn it on again for the next batch. The arguments for PID right now is that I run risk of burning the mix (lots of sugar in frosting!)with just on and off heat where PID is letting me set a goal temp and automating the 3min boil timer more easily I think. What do you think??
I currently have a few rungs done trying to use PID block and have some question on what is acceptable methods. I wonder if I can use my RTD input address in the PV and the tranducer output address in the CV? I've seen only examples using integer data files and then moving the data from and to the Inputs and Outputs. If it is not acceptable practice to use I/O addresses in the PID block can I use BTR and BTW instead of a series of MOVs to accomplish this? What happens when I finish my 3 min timer and set the PID rung false? won't that keep the CV at current and I would in effect stay at the same output pressure? I can switch AM bit in the PID Block instead of going false rung state, but do I gain anything by doing it that way?
Well you can see that I know just enough here to be pretty dangerous with the PID. I'm not looking for to solve the program or write it but I'd really like to see examples of code using PID in similar fashion to what I'm trying. Most of what I've seen are for very fast updates to the loop or presetting how long the loop runs based only on time for motion control. I'll deal with the tuning later as there is a TON of info on how to out there, and the steam boiler folks will help us do that. I know there are some real experts who participate here, so I am looking forward to their replies and am thankful for their help in advance!
If I'm not clear on something it may be ignorance on my part as I'm still learning everyday, just ask for it and I'll TRY to clearify.
Thanks again.
Here is what I've got and what I'm planning:
I've got a steam boiler connected to a 200gal mixing tank with an air actuated valve on the steam inlet to the tank. The tranducer is 4-20mA. I'm using a 100ohm RTD to get my temp reading from the tank back to my PLC. The PLC is AB MicroLogix 1500 24AWA with CompactI/O RTD module. I'm using RSLogix500 Standard for the ladder. I've also got a touch panel for HMI.
We are going to make frosting and then package it for shipping with our main product. The process is fairly simple-> add ingredients, start mixing and heat. Bring to boil for 3 minutes then reduce heat and add another ingredient before mixing for 10 minutes then dump the batch to the packing machine and start a new batch of the same. All ingredients (mostly water) will be put into the tank manually.
Here is why I wonder about if PID fits this, I could shut off the heat for the last ingredient and mix time, then turn it on again for the next batch. The arguments for PID right now is that I run risk of burning the mix (lots of sugar in frosting!)with just on and off heat where PID is letting me set a goal temp and automating the 3min boil timer more easily I think. What do you think??
I currently have a few rungs done trying to use PID block and have some question on what is acceptable methods. I wonder if I can use my RTD input address in the PV and the tranducer output address in the CV? I've seen only examples using integer data files and then moving the data from and to the Inputs and Outputs. If it is not acceptable practice to use I/O addresses in the PID block can I use BTR and BTW instead of a series of MOVs to accomplish this? What happens when I finish my 3 min timer and set the PID rung false? won't that keep the CV at current and I would in effect stay at the same output pressure? I can switch AM bit in the PID Block instead of going false rung state, but do I gain anything by doing it that way?
Well you can see that I know just enough here to be pretty dangerous with the PID. I'm not looking for to solve the program or write it but I'd really like to see examples of code using PID in similar fashion to what I'm trying. Most of what I've seen are for very fast updates to the loop or presetting how long the loop runs based only on time for motion control. I'll deal with the tuning later as there is a TON of info on how to out there, and the steam boiler folks will help us do that. I know there are some real experts who participate here, so I am looking forward to their replies and am thankful for their help in advance!
If I'm not clear on something it may be ignorance on my part as I'm still learning everyday, just ask for it and I'll TRY to clearify.
Thanks again.