SillyBoy

Solar Power Plant Generation Control

6 posts in this topic

Hello Everyone.

We have Schneider TM241 PLC Along with Citect SCADA System at 100MWp Solar Power Plant to monitor and control various equipments like Inverters, Switch-Yard, MFMs, Weather Monitoring Systems etc...

Government Authority here asked every solar plant to control the generation as per the instructions by Load Dispatch Center, for that we need to implement logic to control Generation as per requirement.

For that we are controlling generation from inverters by giving them generation setpoints calculated by PLC using PID function.

 

But we are facing one problem while using PID. (FB_PID of Toolbox Library)

 

Suppose we need to generate only 60MW out of 100MW.

So we set PID setpoint to 60MW and according to that we get PID output and according to that PID output value we provide generation setpoint to every inverters.

 

This system works very fine until the clouds comes into the picture.

 

Now suppose Setpoint of PID is 60MW and PV is also near about 60MW, and suddenly large cloud comes over plant and block solar radiation.

 

In this case generation comes down to 10MWp(or any value below 60MW), So output of PID will Increase and keep increasing and settle at the Maximum value.

but without solar radiation generation value stays very down then Setpoint.

 

Now suddenly Cloud moves and again solar radiation increase, but the PID output is maximum at that time so, Suddenly Generation goes from 10MW to near about maximum capacity (100MW) instead of 60MW, and then it will slowly comes down to 60MW.

 

We need to rectify this generation shoot up when cloud moves.

Anyone have idea how can we solve this problem or anyone have programmed PID in this kind of situation.

 

Is there any function block available to do this correctly like function block of PID with two Reference or something like that...

 

We are using TM241 which is CoDeSys based PLC.

Share this post


Link to post
Share on other sites

I have very little experience with Solar Systems, but some experience with Inverters and lots with PID Control circuits so I will try and suggest some ideas for your situation.  I am basing my suggestions on the concept that you have a Solar Cell Producing a DC Current/Voltage source proportional to Solar Radiation.  You are feeding this into an inverter or inverters to produce a given output of AC Current/Voltage.  Your problem is when the Supply Bus spikes you have see a spike in output because the PID is most likely tuned for PI performance.  IF you were to monitor the supply bus and apply either derivative or feed-forward control to the PID you might avoid the output spikes.  How exactly to accomplish that in your chosen PLC is outside my realm of knowledge.

Share this post


Link to post
Share on other sites
15 hours ago, BobLfoot said:

I have very little experience with Solar Systems, but some experience with Inverters and lots with PID Control circuits so I will try and suggest some ideas for your situation.  I am basing my suggestions on the concept that you have a Solar Cell Producing a DC Current/Voltage source proportional to Solar Radiation.  You are feeding this into an inverter or inverters to produce a given output of AC Current/Voltage.  Your problem is when the Supply Bus spikes you have see a spike in output because the PID is most likely tuned for PI performance.  IF you were to monitor the supply bus and apply either derivative or feed-forward control to the PID you might avoid the output spikes.  How exactly to accomplish that in your chosen PLC is outside my realm of knowledge.

Can you please explain me how to use Derivative in PID Control ? along with that please explain about Feed Forward, my plc have function block called PIDFF.

 

Solar Radiation value is also available in PLC if it is required to overcome this problem.

1 person likes this

Share this post


Link to post
Share on other sites

OK - I gave this some thought through the lunch hour.  What follows is a very crude but I think effective way of preventing what you describe.

Please refer to the attached Image.

If you measure the Solar Radiation with an AMP meter and scale it a 0 to 100% of possible current.

And feed the lesser value of Control Value or Available Current you'll control the output.

For Example:

Assume you hold CV at 100% and vary the incoming current from 10% to 100% producing the following outputs.

10 --> 15mW

30 --> 45 mW

60 --> 90mW

100 --> 150 mW.

SO while the CV is at 100% because of low Solar Radiation, you're only asking for 25% output because you know the Incoming Current isn't there.

As the Incoming Current Raises so does the output, but the CV may actually drop because you're getting closer to SP>

NO WARRANTY ON THIS IDEA.

Cascade PID Sample.PNG

Share this post


Link to post
Share on other sites
15 hours ago, BobLfoot said:

OK - I gave this some thought through the lunch hour.  What follows is a very crude but I think effective way of preventing what you describe.

Please refer to the attached Image.

If you measure the Solar Radiation with an AMP meter and scale it a 0 to 100% of possible current.

And feed the lesser value of Control Value or Available Current you'll control the output.

For Example:

Assume you hold CV at 100% and vary the incoming current from 10% to 100% producing the following outputs.

10 --> 15mW

30 --> 45 mW

60 --> 90mW

100 --> 150 mW.

SO while the CV is at 100% because of low Solar Radiation, you're only asking for 25% output because you know the Incoming Current isn't there.

As the Incoming Current Raises so does the output, but the CV may actually drop because you're getting closer to SP>

NO WARRANTY ON THIS IDEA.

Cascade PID Sample.PNG

Thanks, we will try to simulate PIDFF.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now