No announcement yet.

PID control on Productivity 1000 for Home Brewing

  • Filter
  • Time
  • Show
Clear All
new posts

  • littlecellar
    Thanks for the reply PSeries_Eng. I think I got it covered using your information and after looking back at the example in the help section of the controller. My ranges are all in degrees Fahrenheit since that is what is coming in out of my averaging rung for the process variable. I think this is correct. I tested it on my desk and it seams to be working. Do have a big overshoot when just heating up the RTD with my hand, but I need to play around with the gain and reset to work that out. Never tuned a PID, so that may be a challenge too.

    I was having a hard time inputting my set point from my HMI which was keeping me from testing this. I couldn't get the controller to let me manually input a Modbus address to the 3xxxx0's when setting the tags. The way I was reading the table, that is where you have to assign write addresses. It kept auto assigning 4xxxx0's to the tag. I finally read somewhere in that document that a 16-bit tag was read/writable in the 4xxxx0's. I was using the auto assigned tag which defaulted to 32-bit. Once I changed the tags I want to manually set from HMI to 16-bit, inputting set points works fine know.

    I am still a few weeks or more from having my kettles set up (still need to weld additional fittings in them), but hope to maybe start that this weekend if it warms up, so the tuning will be on hold for a little while. Main thing for me is to get the program set up and all the components purchased and know that they all talk for now.

    These are the rungs I wrote for the PID that include the timer functions for it (the top average rung is for something else). I didn't realize I had to link the PID with timers separately to make it work. Guess I always assumed they where built in somehow to the PID shortcut. Don't know if there is a simpler way.

    Click image for larger version

Name:	PID Rung.png
Views:	183
Size:	30.9 KB
ID:	110384

    Leave a comment:

  • PSeries_Eng
    When you set up the PID just use the value from the analog input ( or your scalled value if you like) as your Process Variable. If you want to use the HMI to enter the setpoint create an input object and direct it to an address in the plc. Then kust make sure you have values in your input and output range min and max values and upper and lower output limits and enable the pid and make sure it is in manual and do an auto tune from the PID tuning in the Application tools menu.

    I usually do the following steps to set one up quickly:

    1) Enter PID instruction
    2) Select Use Structure and give it a name such as PID.( Keeps you from having to enter all the fields manually.)
    3) uncheck use structure ( This will populate all the fields with structure tags)
    4) Enter a Loop name
    5) Replace the Setpoint field tag which is now PID.setpoint with teh tag I want to be the setpoint. So this is where you would put the tag you are changing in the HMI.
    6) Replace the Process Variable field tag with the tag I wish to use as my feedback. In your case it would be your scaled value from your analog input.)
    7) enter a constant for the input range max and input range min. Usually 100 and 0 for testing, but would ultimately be your max and min values you wish to set something.
    8) Enter a constant for the output range max and output range min. usually 100 and 0 for 100% and 0%
    9) Enter a constant for Output Upper limit and lower. Usually 100 and 0 for testing.

    You should then be able to down load and try doing a PID tuning.

    Leave a comment: