Announcement

Collapse
No announcement yet.

Proportional Control With no PID

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts


  • Proportional Control With no PID

    I am writing a program for a boil kettle that i want to run with proportional control without a PID loop. I just want to enter a time period for the heater cycle and then be able to run a user entered percentage of the time period for the heater to be on. Is this possible with the productivity 1000.
    Thanks
    Jason


  • #2
    https://accautomation.ca/productivit...d-instruction/
    I would still use the PID instruction and not set the I and D.
    The above thread will go through the steps required to set this up.

    https://accautomation.ca/series/productivity-1000-plc/
    I hope this helps you out.
    Regards,
    Garry

    Comment



    • #3
      Do I just leave these set to zero? Will the P represent the percentage of the time base?

      Comment



      • #4
        I don't know the Productivity instruction set, but the DoMore has a TIMEPROP instruction that would do what you want, if there isn't a similar instruction on the Productivity, one can always do it with a couple of timers.

        Comment



        • #5
          your first rung create a timer (not 'simple timer'). Choose a timebase, try milliseconds first, which will give at least 100 counts during your cycle. Choose the 'reset when timer reaches preset value' option. Make sure to provide a current value tag.

          In a math block calculate the on to off point in the cycle by using (CycleTime * PercentOnTime) / 100. Set the result as OnTime

          Finally create a rung which tests if the current value of the timer is less than the OnTime. If so turn on the output.

          I'm sure your program will be much more extensive than this but this should be a start. I'm having trouble saving a program in the Productivity package so sorry I can't provide a more detailed example.(Edit - found problem, had to delete 'god mode' control)
          Last edited by bcarlton; 07-10-2019, 11:44 PM.
          thePLCguy

          Bernie

          Comment



          • #6
            Nice work - as always, Garry!
            Is there any benefit to unchecking Use Structure in your example?
            I understand why you used the structure, just not following the reason for unchecking it after having it create/assign tags.
            Thank you.

            Comment



            • #7
              Originally posted by kewakl View Post
              Nice work - as always, Garry!
              Is there any benefit to unchecking Use Structure in your example?
              I understand why you used the structure, just not following the reason for unchecking it after having it create/assign tags.
              Thank you.
              from what i can see he wanted to change the process variable tag to the tag auto generated by the thermocouple input card.

              Comment



              • #8
                Will have to review the example again.
                Thx z##z##man!

                Comment



                • #9
                  If I were to do it, assuming is just a kettle that needs heating and when temperature reaches a set value heating needs to stop, I would keep it simple with a proportional controller.

                  Proportional control means you provide a response that is proportional to the difference between your set value and the process value. You donít need a time base for it. If you use a time base, that is not a proportional control anymore but an integral control (with a longer time) or differential( with a very short time base.

                  since proportional doesnít account for time, it doesnít have a determined effect in time. The means of proportional response is to react faster than derivative so for this reason proportional is inhibited when derivative is already high.

                  my point being that proportional only has effect at times when derivative can not be calculated: at start or at a sudden turn.

                  if you set a heating cycle time as base for your duty cycle, then every cycle you can have a proportional response. But if you compute the change of temperature between two cycles, you can also have the derivative. So you know not only how far you are from set value, but also how fast youíre moving and in which direction.


                  you may go one step forward as to compute the average level over 100 cycles, as well as the overall direction and change. so the level of complexity and detail in monitoring your process exceeds the simplistic interpretation of PID.

                  heating is hardly a linear process. You have times when you heat 100% and the temperature doesnít change and times when the heater is off and the temperature climbs fast. For this reason, you need to compute the amount of heat you have inserted and know that if your temperature reading doesnít verify the computed heat transfer, then the temperature reading must be wrong.

                  most heaters that overheat or enter opposite response cycles do that because they donít compute the heat transfer.

                  Comment



                  • #10
                    Maybe I'm missing something. The OP in his two posts did not mention a specific feedback, though some type of feedback is implied by using 'Proportional Control'. He mentioned a 'user entered percentage'. A 'user' to me implies manual control. I may be wrong but are we reading too much into his question?
                    thePLCguy

                    Bernie

                    Comment



                    • #11
                      Bernie you may have something there. It sounds like he just wants a crummy sort of stove-top control. Turn on this percentage.. Not hot enough? Turn it up some more. Too hot? Turn it down.

                      Not sure why you'd do this when you've gone to the expense of a PLC and one that has PID no less. Use the PID and use it as a PI controller to get to a setpoint fast (P) and then remove the inevitable offset (I).

                      Likely no temp sensor. Back to, 'why not if you have a PLC already'.

                      Comment



                      • #12
                        This is for a brewing boil kettle. I need to control how much the liquid boils. That is why I donít want to use the PID and just a percentage of a time. I currently do this with a solo controller connected to an HMI. I can put the solo in manual and give it a percentage of the heater in time and that will hold me at a boil. I may only want to run at 67% of a 6 second heater time.

                        Comment



                        • #13
                          Originally posted by z28z34man View Post

                          from what i can see he wanted to change the process variable tag to the tag auto generated by the thermocouple input card.
                          The Gain (P), Reset (I) and Rate (D) have been changed to a Float, 32Bit. This will allow the values to be more defined instead of being integers.

                          Just reviewed the post, sorry I didn't respond sooner.
                          Garry

                          Comment

                          Working...
                          X