pid control configuration

Ed Tanous ed.tanous at intel.com
Thu May 2 09:05:27 AEST 2019


On 5/1/19 3:53 PM, Vijay Khemka wrote:
> Hi Patrick/James,
> 
> I am not understanding how to get these following data for configuration
> file for pid. I only had p(proportional), i(integral) and
> d(differential) values from my thermal team. But unable to maop these to
> required parameter.
> 
>  
> 
>     "required": [
> 
>         "Class",
This will be PIDController in the case of PID, and is part of how entity
manager divides up the config information to the various components.
> 
>         "FFGainCoefficient",
> 
>         "FFOffCoefficient",
In your case, both of these FF variables would be 0.0
> 
>         "ICoefficient",
Would be the I value from your thermal team.

> 
>         "ILimitMax",
> 
>         "ILimitMin",

These sets the limits to the integral coefficient to prevent integral
runaway in the case where the controller cannot ever reach the target
temperature.  If you don't want to use these at all (which I wouldn't
recommend from a control perspective) you can set them to unreasonably
large and unreasonably small values, and they will have no effect.

> 
>         "Inputs",

The sensors you want to control, by name.

> 
>         "Name",
This is the "pretty" name for this controller, and can be whatever you
want.  The controller will show up in DBus and Redfish under this name.

> 
>         "OutLimitMax",
> 
>         "OutLimitMin",
> 

I believe both of these are in % of fan speed these days, so setting
them to 100 and 0% respectively will probably give you the behavior you
want if you don't have other data from your thermal team around limits.

>         "PCoefficient",
Your P value from your thermal team.

> 
>         "SlewNeg",
> 
>         "SlewPos",

These two reflect the D values from your thermal team.  If they only
gave you one D value, there are two things here.  1. It could use the
same coefficients for both positive and negative derivative values.  Or
2. It only applies to Positive slew rates, and negative is zero.  You
would need to talk to your team to understand what they intended.

> 
>         "Type",
The Entity manager type, which I believe it PIDController, but I don't
have the examples in front of me.

> 
>         "Zones"
Fan zones in which this controller applies to.  For Tioga pass I would
expect you to only have a single fan zone for the whole node.

> 
>     ]
> 
>  
> 
>  
> 
> Also we have a requirement of stepwise and pid together for some
> sensors, is it possible to configure same sensor for both types.Yes, you can declare multiple controllers.  Whichever controller
requests the high fan speed will be the one that's used for the PWM output.


More information about the openbmc mailing list