Jump to content


Photo

really I need a Help


  • Please log in to reply
5 replies to this topic

#1 mazona

mazona

    Junior Member

  • Members
  • PipPip
  • 9 posts

Posted 27 December 2005 - 12:05 PM

hello all...

I`m controlling an induction motor using Siemens Micromaster drive 420 and s7-300 plc......
and i`m using the pid controller of the s7-300 to control the motor speed where the pid do its calculation and send its output ( which is the speed set point to the drive ) througth a Profibus Network ...

the problem is as the speed of the motor reach the set point speed where the error = 0 , the output from the pid become zero and so zero speed is sent to the drive and so motor will coast down ....till the error increase again and output from pid return to have a value and so on ......

and so the speed of the motor is oscillating betwwen a max and min value....

so what can i do ...

should i increase the pid gain so as to prevent error to reach zero...

or should i put an off set for the pid output so as to prevent the pid output from reaching zero ...????

please answer me as quick as possible....

#2 marke

marke

    Posting Freak

  • Moderator
  • PipPipPipPipPipPip
  • 2,651 posts
  • Gender:Male
  • Location:Christchurch, New Zealand

Posted 27 December 2005 - 08:39 PM

Hello mazona

If the integral section of the PIDS controller is operating correctly, the output should stop changing when the set point is reached, but not go to zero. For the output to go to zero when the set point is reached sounds like a proportional control only system.
I would suggerst that you check the settings for the integral section of the PID.

Best regards,

#3 mazona

mazona

    Junior Member

  • Members
  • PipPip
  • 9 posts

Posted 28 December 2005 - 01:46 PM

Hello Marke...


so u mean that incase of using the integeral section besides the proportional section , so when the process the speed reach the setpoint so the output of the pid isn`t zero althoug the error= 0 !!??

#4 marke

marke

    Posting Freak

  • Moderator
  • PipPipPipPipPipPip
  • 2,651 posts
  • Gender:Male
  • Location:Christchurch, New Zealand

Posted 28 December 2005 - 05:54 PM

Hello mazona

Yes, that is correct.
When there is an error, the integral term will keep integrating that error. When that error reaches zero, the interagl term will continue to add zero which meant that it will not change. If the integral term was at say 2 volts immediately before the error reached zero, then the integral term will stay at zero and needs the opposite error polarity to drive it back down towards zero.
The derivative term creates an output which is proportional to the rate of change of the error, so while the error is zero, the derivative term is also zero.

Many drives these days have the PID controller buitl in. Why don't you use the PID controller in the drive?

Best regards,

#5 Guest__*

Guest__*
  • Guests

Posted 28 December 2005 - 09:46 PM

Hello marke ........thanks for your time .....

the story is ...our company is desgining a new production line for phosphate in a fertilizers factory , so i have a conveyor with load cells fitted to it where the phosphate is being weigthed and the phosphate flow rate is being determined , and the control panel has a Siemens HMI Panel by which the operator will put the setpoint for the phosphate.., and here comes my desgin part where i have the belt of the conveyor is being driven by an induction motor , and this motor is controlled by Siemens Micromaster Drive which in turn connected to a Siemens PLC ( CPU 315 - 2DP) througth a Profibus Network... also there is a weigthing integerator BW500 which take signals form the load cells and send the phosphate flow rate to the PLC also througth Profibus........so to control the phospahte flow rate , this will be done by controlling the motor speed by the drive and the PID controller of the PLC ( we only Use the PID as a PI controller only ) , so the setpoint of the pid is the phospahte flow rate setpoint which the operator will enter from the HMI , and the pid actual process value is reading of the bw500...and i set the pid output form 0 to 100 % , so that if the pid ouput is 100% so the drive will run the motor at is rated speed ( 50 Hz ) , and when the pid output is 0% , the drive willn`t run the motor and motor ccoasts down , and i set the sampling time of pid=200ms and integeral time =500ms and pid gain =0.9 , and in commissioning the actual flow rate was oscillatin between max and min values.....

#6 marke

marke

    Posting Freak

  • Moderator
  • PipPipPipPipPipPip
  • 2,651 posts
  • Gender:Male
  • Location:Christchurch, New Zealand

Posted 28 December 2005 - 11:21 PM

Hello Mazona

You could still use the internal PID on the drive if you wanted to and justuse the PLC to upload the actual measured values and required set point. Either way will work, but the problem that you have is the process response time. If you alter the speed of the drive, it will take quite a long time to show up as an increase in weight. If your integral time is too short and you have a long delay, you will have an oscillating output as you describe. You need to set the integral time to a very long time to enable the increase in material to be weighed before any change is made. I would suggest that you start by setting the integral time to something like 30 seconds and then once the system is stable and operating correctly, you can begin to reduce this time for maximum response without oscillations.

Best regards,




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users