Pid

poj101

Member
Join Date
Apr 2011
Location
Donegal
Posts
30
Hi all,
I am relatively new to PLC programming but getting there. I am currently working on a project using PID control and starting to struggle. Here is a quick overview of the set up:

I am upgraging an existing unit to incorporate some extra features. The original motot was controlled with a pot, I am using a micrologix 1100 and a variable speed drive to control the motor. The PLC also writes out to a printer with the rpm, time the motor ran for, etc when the cylce is finished.

To read the speed back I am using a proximity sensor which picks up on slots on the wheel as it rotates. The sensor comes back to a digital input on the PLC. I initially used the pulse train function on the PLC to set the speed, which worked fine until the motor had to take it maximum load. At its maximum load the drag caused the motor to sit on the lower acceptable rpm parameter. The pulse train function in micrologix 500 wont let me change the pulse train speed when the drive is in run. So it was back to the drawing board.

I have now bought an analog card, I'm using an analog output to control the speed of the drive, which works. I want to set up closed loop control with the PID function. I have used some maths functions to scale the feedback from the sensor to 0-16383, simulating an analog input.

Here is where I run into trouble. I have had a few stabs at tuning the controller, and can get it to function relatively well for one of my motor settings. ( I have a few different RPM setting that are selected when the user selects product information from the HMI) For a start I am not sure why the settings work :confused:. I followed the manual on tuning the controller, and away it went. I need to alter the setpoint depending on the HMI selection and when I enter a different setpoint the motor generally oscillates out of control if the parameters (PID) remain the same.

Is it possible to have one set of parameters to cover all my settings or will I have to tune each setting inpependantly and dump in the values when the settings are selected?

The motor runs between 150 and 600 rpm. There will also probably be a manual setting on the HMI which will allow the user to select any RPM within the range, which is likely to give me a major headache if I have to tune the PID for each setting.

Anyone out there able to give me a few pointers in the right direction? 🔨
 
PID can only be used on one load.
you will have to use different settings on different loads.
A PLC is not very fast in calcs, so if needed speed go for a microprocessor like an arduino)
You can incorporate your speedsetting in the Kd and Kp and Ki and same for the time.
like speed like Ki = 10+0.01*speed
 

Similar Topics

Hello, I have a motor that we are sending a RPM Speed Output from 0-100% to the VFD. However, the Motor HP needs to be limited to 6000 HP and the...
Replies
3
Views
85
I have S7 1512C controler for controlling 48 PID temperature loop, the output is PWM. Please I need the best, most efficient way to write the...
Replies
13
Views
591
Hi all, I'm having trouble solving a problem I've been working on for several months, and thought you might like a stab at it. The machine runs...
Replies
22
Views
925
How can I connect PID Output to a valve. In ladder logic program is there any logic do I want to add between valve and PID? PV=SP What will be the...
Replies
7
Views
409
I'm setting up a PID for a 50hp RO pump in a water treatment plant. When I go to manual mode on hmi I set the swm bit, I also ons the pid output%...
Replies
5
Views
573
Back
Top Bottom