Hello All,
I’m afraid that I’m new to PID control but what I have read on the subject so far leads me down the following path.....
I am programming an application to control the water level of a tank.
To achieve this I am using a PID loop to control a pump via a variable speed drive that is controlled by an Analogue Output 4-20mA.
The value that I write to the Analogue Output will be derived from a Siemens PID Data Block DB201 CONT_C after being “unscaled” to give the appropriate analogue speed signal to the drive.
I also think that I need the following values inputted into DB201 to allow for the control of the drive:
Update Time (seconds) – CYCLE
Control Level (metres) – SP_INT
Actual Water Level (metres) – PV_IN
Gain – GAIN
Integral Time (seconds) – TI
DeadBand (metres) – DEADB_W
Can anyone give their opinion on whether or not I’m on the right track or if I am missing further variable/bits that need to be written to the DB in order for the PID loop to produce an output?
Any advice on this matter will be greatly appreciated.
As I say, I am new to the whole PID philosophy and although I can appreciate what the overall outcome will be, I’m not overly sure of all the components that are needed to/from Data Block 201 to achieve this. That's if 201 is the right Data Block to use?
Many Thanks
Qee.
I’m afraid that I’m new to PID control but what I have read on the subject so far leads me down the following path.....
I am programming an application to control the water level of a tank.
To achieve this I am using a PID loop to control a pump via a variable speed drive that is controlled by an Analogue Output 4-20mA.
The value that I write to the Analogue Output will be derived from a Siemens PID Data Block DB201 CONT_C after being “unscaled” to give the appropriate analogue speed signal to the drive.
I also think that I need the following values inputted into DB201 to allow for the control of the drive:
Update Time (seconds) – CYCLE
Control Level (metres) – SP_INT
Actual Water Level (metres) – PV_IN
Gain – GAIN
Integral Time (seconds) – TI
DeadBand (metres) – DEADB_W
Can anyone give their opinion on whether or not I’m on the right track or if I am missing further variable/bits that need to be written to the DB in order for the PID loop to produce an output?
Any advice on this matter will be greatly appreciated.
As I say, I am new to the whole PID philosophy and although I can appreciate what the overall outcome will be, I’m not overly sure of all the components that are needed to/from Data Block 201 to achieve this. That's if 201 is the right Data Block to use?
Many Thanks
Qee.