In this video, we’ll show you how to get the Internal PID up and running quickly in
the CFW500 drive. Remember – that’s the one that runs in the SoftPLC, not the drive.
You might be wondering, why would I use this instead of the drive’s built-in PID? After all,
the drive’s PID is a good solid basic PID implementation – right?
Well, there are a number of reasons why you might want to use the SoftPLC version.
I find the SoftPLC version is easier to work with because everything is in true engineering units.
It can use a second analog input that can be used to bias your process – that’s really handy when
you want this process to track another one. The SoftPLC version gives you more control over the
process variable, gives you control over the sample time – something you can’t specify at
all in the drive's version - and has high and low-level alarms. And I just like the
way the Remote HMI works better in the SoftPLC version. You actually see the units spelled out.
There are a lot of subtle differences between this SoftPLC PID implementation
and the one that’s in the drive so you can’t just take the drive's version
and copy it over to the SoftPLC version - what the manual calls the “Internal” PID version.
So, if you are thinking about using the SoftPLC version of PID,
it’s really worthwhile to take a few minutes to watch this video where I point
out all those differences and subtleties – it will save you a lot of headaches.
Here we go. I’m using the EXACT
same hardware that we used in the PID Quick Start video Part 1, which is interesting,
because the I/O card that comes with that drive only has 1 analog input. That’s important, if you
aren’t going to use the 2nd analog input that the Internal PID implementation has – which we
aren’t in this demo – then you don’t have to buy an I/O card with two analog inputs! I like that.
This is my configuration worksheet for this Internal SoftPLC version of PID.
And while at a quick glance it looks a lot like the drive’s version – once we have taken a closer
look you will realize it’s quite a bit different. This motor section is identical to the drive’s
version we used in the Quick Start videos so I’m not going to spend any time on that.
If you don’t know what the state of your SoftPLC is, then go ahead and reset it to
factory default by setting Parameter 204 to an 11. That doesn’t affect the drive parameters at all.
I’ll do that just so you know exactly where I am starting from.
The drive section has two differences. In the built-in PID, the frequency
reference came from analog input 1 into the drive – right? But, in the SoftPLC version,
the analog input feedback signal comes into the SoftPLC, and then the SoftPLC sends the frequency
to the drive. So instead of a 1 here, we put a 12. That’s one of those subtleties I mentioned.
Same thing for the Auto-Manual switch. The drive gets that from the SoftPLC’s internal
PID application. The PID application will see that these I/Os have been allocated for those functions
and pass them to the drive. All the yellow cells are gone, so that section is done.
We want that digital input to control this switch, so we set P1015 to a 2.
This also sets the bumpless mode. It’s important to note that the SoftPLC’s bumpless mode works in
both directions. When going from Manual to Auto or from Auto to Manual. The drive's PID only does
it in one direction from Manual to Auto. Another one of those subtle differences and yet another
reason to prefer this SoftPLC version of PID. It gives you more control over the transition.
We’re going to leave it off for this video to keep things simple. You can learn more about
Bumpless mode in this video which is on the WEG CFW300 drive, but the same concepts apply.
And while we are here, let’s set the manual setpoint to zero so we don’t get
any surprises when we turn this thing on. One of the things I like about the SoftPLC version is you can do everything in native engineering units. You don’t have
to enter a 60 with the implied decimal when you mean 6 for example. To do that,
you set up the units in Parameter 510 – we want psi – and the decimal point in Parameter 511.
We’ll use the default single decimal place. So now if we want to enter the set point by
going to Parameter 1011, uh-oh, there is no Parameter 1011. If I increment the
parameters, it skips from Parameter 1004 straight to Parameter 1. What’s going on?
if we go to Parameter 1000, we see it says No Application because we haven’t created a PLC App.
And since we don’t have a custom user program, there aren’t any parameters to go with it.
We want the built-in or Resident SoftPLC PID application,
so we go to Parameter P1003 and change it to a 1.
Now if we go to Parameter 1000, we see there is an application and it’s stopped.
It’s important to note that this is just like any PLC, the PID application has to be stopped
before making any changes. To do that just go to Parameter 1001 and change it from Run to Stop.
Also, the motor has to be stopped to stop or make changes to the SoftPLC.
Now we can go to Parameter 1011 where we can change the set point.
Again, notice that the set point shows up in PSI! We want 6 psi so that’s what we enter.
We don’t have to remember to add that implied decimal – the SoftPLC app does it for us.
For me, that’s a big advantage of the SoftPLC version of PID because it makes my life easier.
All of the PLC configuration stuff is in the upper left corner
to remind you to do that first before making changes to the SoftPLC’s PID application.
You may remember that in the drive's PID we had a filtering option here where we
could filter the analog input. The SoftPLC version doesn’t have that. Why not? Well,
because it’s redundant. The analog input already has filtering built-in. If you need
filtering on the analog input, just use that. Well, start with the same PID coefficients we
used in the Quick Start videos but notice that they go to the SoftPLC parameters, not the
drive parameter numbers. You can tell because the SoftPLC parameters are all greater than 1000.
And look at this! The SoftPLC version gives you control over the sample time. Which for some
applications can be real important. Knowing the sample time is critical when optimizing PID using
some of the techniques we outline in other videos. That’s yet another benefit of using the SoftPLC
version. Most of the time, the blue default value is fine. So that’s what we’ll use here.
The process variable is in Parameter 1013 and again, it’s in true engineering units.
Forward and reverse acting is a little different. Another subtle difference.
In the drive’s version, you simply chose forward or reverse. In the SoftPLC version,
this is where you disable PID or choose forward or reverse. We want forward or direct-acting.
This is where you specify how the second analog input reacts with the system.
You can add the two analog inputs, take the difference or take an
average. This is great for those times when you want to inject an
offset or even track another process. Another advantage of using the SoftPLC version of PID.
We aren’t using a 2nd analog input in this demo, so we just leave this at the default value.
We have two new parameters that the drive PID didn’t have – PV Min and PV Max. In the
Quick Start videos, we made a big deal out of figuring out what the min and max speeds were
that generate the min and max sensor outputs. These guys over here.
That assumed 0 to 100% for this horizontal axis. In the SoftPLC version, you specify
these numbers in engineering units. This is where the SoftPLC PID algorithm gets its scaling from.
Which is cool because maybe you have a minus 15 to plus 15 psi sensor. You just enter
those numbers in here and you are done. No fancy manipulation of the analog input to worry about.
Another subtle advantage of using the SoftPLC version of PID. We are using a zero to
15 psi sensor, so I’ll enter those values here. Again, in true engineering units without having
to worry about the implied decimal. So nice. Configuring the analog channel is almost
identical to the drive version except we need to tell Input 1 it is being used for the PID
feedback signal to the SoftPLC, not the drive. In the drive version that was done in Parameter 203.
And I’ll add a little filtering on the analog input. Again,
keep that small. Large values will reduce the responsiveness of the PID algorithm.
We are not using sleep mode in this demo, so let’s go to Parameter 1028 and set it to a zero to turn
it off so it doesn’t surprise us. You can learn how to use sleep mode in the sleep mode video.
Finally, we need to configure the display. It’s the same as the Quick Start video except
the set point comes from the SoftPLC setpoint, and the process variable comes from the Soft PLC process variable. Remember that we set the SoftPLC units back here.
Great! All the yellow cells are gone, and we are left with white values and blue defaults.
Which tells us we have a complete PID configuration.
I went ahead and entered all of these into the drive. In Parameter 1000 we see the SoftPLC
is still stopped so we go to Parameter 1001 and set it to a 1 to enable the SoftPLC and get it
running. Parameter 1000 tells us the SoftPLC is now running. Perfect. In Parameter 1002 we can
also see the scan time in milliseconds. Another thing you can’t do with the drive version.
Back up the display to main level. I love that the SoftPLC version of PID shows
clearly on the display exactly what the units are. Let’s start in manual mode which is this way.
Yeah, the SoftPLC uses the opposite contact definition relative to the drive’s built-in PID.
I’m going to overwrite the labels in the video to serve as an obvious reminder they are different.
Ok, we are in manual mode, and the manual set point in Parameter
1012 is at 0 percent of the motor speed. Switch to Run and the drive takes the motor
to the minimum speed we put in Parameter 133 which corresponds to this many RPMs. I’ll change it to
50%. Once I get past the min speed the motor responds as I scroll. Manual mode is a great
way to test out your system. In particular, you can use this to make sure the motor is
spinning in the right direction. Our pressure is increasing as the motor RPMs increase so we
are operating in the forward direction. Perfect. Save that and escape back to the main display.
We see the RPMs up here and the motor's current down here.
I’ll switch to auto mode and sure enough, PID automatically adjusts the motor’s speed to get
the system pressure to the 6 psi we asked for. But it’s taking a long time. Apparently, the
SoftPLC scales the PID coefficients differently than the drive’s PID does. If you’ve watched any
of the videos on how to tune a PID loop, then you will know I typically just double the P
coefficient until things oscillate then back off. If I go to Parameter 1017 I can adjust the gain in
real-time. Oops! Went too far and my system started to oscillate. Let’s try again of 3.
Open and close some valves. Yeah, that’s a lot more responsive. We can play with this all day,
but you get the idea. Watch this video to learn how to tune a PID loop.
If we change the system pressure to 5 psi,
PID automatically adjusts the motor speed to accommodate it. Perfect.
How about 7 psi. Yep, the drive tracks the new setting almost as fast as I can change it. Cool.
That ought to be enough to help you get up and running. I’ll put a link to the spreadsheet
configuration tool in the description below the video. Please just use that
as a guideline – I can’t guarantee everything in it is perfectly correct. Any questions? See
the manual. If you find an error please leave us a comment below so we can get it updated!
Click here to learn more about the WEG CFW500 variable frequency drive.
Click here to learn about AutomationDirect’s free award-winning support options and click here to
subscribe to our YouTube channel so you will be notified when we publish videos like this one.